normalize tag whitespace
This commit is contained in:
parent
ebb010ea34
commit
b38e8c9aeb
@ -453,7 +453,7 @@ B reBQN_c1(B t, B x) {
|
|||||||
scVal = bi_N;
|
scVal = bi_N;
|
||||||
} else {
|
} else {
|
||||||
Scope* sc = m_scope(initBlock->bodies[0], NULL, 0, 0, NULL);
|
Scope* sc = m_scope(initBlock->bodies[0], NULL, 0, 0, NULL);
|
||||||
scVal = tag(sc, OBJ_TAG);
|
scVal = tag(sc,OBJ_TAG);
|
||||||
}
|
}
|
||||||
ptr_dec(initBlock);
|
ptr_dec(initBlock);
|
||||||
return m_nfn(reBQNDesc, m_v2(m_f64(replVal), scVal));
|
return m_nfn(reBQNDesc, m_v2(m_f64(replVal), scVal));
|
||||||
|
|||||||
14
src/h.h
14
src/h.h
@ -157,7 +157,7 @@ static const u16 ARR_TAG = 0b1111111111110111; // FFF7 1111111111110111ppppppppp
|
|||||||
static const u16 VAL_TAG = 0b1111111111110 ; // FFF. 1111111111110................................................... pointer to Value, needs refcounting
|
static const u16 VAL_TAG = 0b1111111111110 ; // FFF. 1111111111110................................................... pointer to Value, needs refcounting
|
||||||
#define ftag(X) ((u64)(X) << 48)
|
#define ftag(X) ((u64)(X) << 48)
|
||||||
#define tag(V, T) b(((u64)(V)) | ftag(T))
|
#define tag(V, T) b(((u64)(V)) | ftag(T))
|
||||||
#define taga(V) tag(V, ARR_TAG)
|
#define taga(V) tag(V,ARR_TAG)
|
||||||
|
|
||||||
void cbqn_init(void);
|
void cbqn_init(void);
|
||||||
|
|
||||||
@ -249,11 +249,11 @@ void gc_forceGC(void); // force a gc; who knows what happens if gc is disabled (
|
|||||||
void gc_visitRoots(void);
|
void gc_visitRoots(void);
|
||||||
|
|
||||||
// some primitive actions
|
// some primitive actions
|
||||||
static const B bi_N = b((u64)0x7FF2000000000000ull); // tag(0, TAG_TAG); // make gcc happy
|
static const B bi_N = b((u64)0x7FF2000000000000ull); // tag(0,TAG_TAG); // make gcc happy
|
||||||
static const B bi_noVar = b((u64)0x7FF2000000000001ull); // tag(1, TAG_TAG);
|
static const B bi_noVar = b((u64)0x7FF2000000000001ull); // tag(1,TAG_TAG);
|
||||||
static const B bi_okHdr = b((u64)0x7FF2000000000002ull); // tag(2, TAG_TAG);
|
static const B bi_okHdr = b((u64)0x7FF2000000000002ull); // tag(2,TAG_TAG);
|
||||||
static const B bi_optOut = b((u64)0x7FF2000000000003ull); // tag(3, TAG_TAG);
|
static const B bi_optOut = b((u64)0x7FF2000000000003ull); // tag(3,TAG_TAG);
|
||||||
static const B bi_noFill = b((u64)0x7FF2000000000005ull); // tag(5, TAG_TAG);
|
static const B bi_noFill = b((u64)0x7FF2000000000005ull); // tag(5,TAG_TAG);
|
||||||
extern B bi_emptyHVec, bi_emptyIVec, bi_emptyCVec, bi_emptySVec;
|
extern B bi_emptyHVec, bi_emptyIVec, bi_emptyCVec, bi_emptySVec;
|
||||||
#define emptyHVec() incG(bi_emptyHVec)
|
#define emptyHVec() incG(bi_emptyHVec)
|
||||||
#define emptyIVec() incG(bi_emptyIVec)
|
#define emptyIVec() incG(bi_emptyIVec)
|
||||||
@ -343,7 +343,7 @@ static inline bool isPrim(B x) { return isCallable(x) && v(x)->flags; }
|
|||||||
|
|
||||||
// make objects
|
// make objects
|
||||||
static B m_f64(f64 n) { assert(isF64(b(n))); return b(n); } // assert just to make sure we're actually creating a float
|
static B m_f64(f64 n) { assert(isF64(b(n))); return b(n); } // assert just to make sure we're actually creating a float
|
||||||
static B m_c32(u32 n) { return tag(n, C32_TAG); } // TODO check validity?
|
static B m_c32(u32 n) { return tag(n,C32_TAG); } // TODO check validity?
|
||||||
static B m_i32(i32 n) { return m_f64(n); }
|
static B m_i32(i32 n) { return m_f64(n); }
|
||||||
static B m_usz(usz n) { return n<I32_MAX? m_i32((i32)n) : m_f64(n); }
|
static B m_usz(usz n) { return n<I32_MAX? m_i32((i32)n) : m_f64(n); }
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@ NFnDesc* registerNFn(B name, BB2B c1, BBB2B c2) {
|
|||||||
r->c1 = c1;
|
r->c1 = c1;
|
||||||
r->c2 = c2;
|
r->c2 = c2;
|
||||||
r->name = name;
|
r->name = name;
|
||||||
nfn_list = vec_add(nfn_list, tag(r, OBJ_TAG));
|
nfn_list = vec_add(nfn_list, tag(r,OBJ_TAG));
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
B m_nfn(NFnDesc* desc, B obj) {
|
B m_nfn(NFnDesc* desc, B obj) {
|
||||||
|
|||||||
2
src/ns.c
2
src/ns.c
@ -35,7 +35,7 @@ B m_ns(Scope* sc, NSDesc* desc) { // consumes both
|
|||||||
r->desc = desc;
|
r->desc = desc;
|
||||||
r->nameList = r->desc->nameList;
|
r->nameList = r->desc->nameList;
|
||||||
r->sc = sc;
|
r->sc = sc;
|
||||||
return tag(r, NSP_TAG);
|
return tag(r,NSP_TAG);
|
||||||
}
|
}
|
||||||
|
|
||||||
B ns_getU(B ns, B cNL, i32 nameID) { VTY(ns, t_ns);
|
B ns_getU(B ns, B cNL, i32 nameID) { VTY(ns, t_ns);
|
||||||
|
|||||||
@ -35,7 +35,7 @@ static void* BN(allocL)(i64 bucket, u8 type) {
|
|||||||
u64* p = (u64*)x;
|
u64* p = (u64*)x;
|
||||||
u64* s = p + sizeof(Value)/8;
|
u64* s = p + sizeof(Value)/8;
|
||||||
u64* e = p + BSZ(bucket)/8;
|
u64* e = p + BSZ(bucket)/8;
|
||||||
while(s<e) *s++ = tag(NULL, OBJ_TAG).u;
|
while(s<e) *s++ = tag(NULL,OBJ_TAG).u;
|
||||||
#endif
|
#endif
|
||||||
#ifdef OBJ_COUNTER
|
#ifdef OBJ_COUNTER
|
||||||
x->uid = currObjCounter++;
|
x->uid = currObjCounter++;
|
||||||
|
|||||||
@ -167,7 +167,7 @@ B rtWrap_wrap(B t) {
|
|||||||
r->c1t = 0; r->c1a = 0;
|
r->c1t = 0; r->c1a = 0;
|
||||||
r->c2t = 0; r->c2a = 0;
|
r->c2t = 0; r->c2a = 0;
|
||||||
#endif
|
#endif
|
||||||
return tag(r, FUN_TAG);
|
return tag(r,FUN_TAG);
|
||||||
}
|
}
|
||||||
#ifdef RT_PERF
|
#ifdef RT_PERF
|
||||||
if (isMd1(t)) {
|
if (isMd1(t)) {
|
||||||
@ -181,7 +181,7 @@ B rtWrap_wrap(B t) {
|
|||||||
lastWM1 = r;
|
lastWM1 = r;
|
||||||
r->c1a = 0; r->c2a = 0;
|
r->c1a = 0; r->c2a = 0;
|
||||||
r->c1t = 0; r->c2t = 0;
|
r->c1t = 0; r->c2t = 0;
|
||||||
return tag(r, MD1_TAG);
|
return tag(r,MD1_TAG);
|
||||||
}
|
}
|
||||||
if (isMd2(t)) {
|
if (isMd2(t)) {
|
||||||
Md2* fc = c(Md2,t);
|
Md2* fc = c(Md2,t);
|
||||||
@ -195,7 +195,7 @@ B rtWrap_wrap(B t) {
|
|||||||
lastWM2 = r;
|
lastWM2 = r;
|
||||||
r->c1a = 0; r->c2a = 0;
|
r->c1a = 0; r->c2a = 0;
|
||||||
r->c1t = 0; r->c2t = 0;
|
r->c1t = 0; r->c2t = 0;
|
||||||
return tag(r, MD2_TAG);
|
return tag(r,MD2_TAG);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return t;
|
return t;
|
||||||
|
|||||||
6
src/vm.c
6
src/vm.c
@ -806,7 +806,7 @@ B m_funBlock(Block* bl, Scope* psc) { // doesn't consume anything
|
|||||||
r->sc = psc; ptr_inc(psc);
|
r->sc = psc; ptr_inc(psc);
|
||||||
r->c1 = funBl_c1;
|
r->c1 = funBl_c1;
|
||||||
r->c2 = funBl_c2;
|
r->c2 = funBl_c2;
|
||||||
return tag(r, FUN_TAG);
|
return tag(r,FUN_TAG);
|
||||||
}
|
}
|
||||||
B m_md1Block(Block* bl, Scope* psc) {
|
B m_md1Block(Block* bl, Scope* psc) {
|
||||||
Md1Block* r = mm_alloc(sizeof(Md1Block), t_md1_block);
|
Md1Block* r = mm_alloc(sizeof(Md1Block), t_md1_block);
|
||||||
@ -814,7 +814,7 @@ B m_md1Block(Block* bl, Scope* psc) {
|
|||||||
r->sc = psc; ptr_inc(psc);
|
r->sc = psc; ptr_inc(psc);
|
||||||
r->c1 = md1Bl_c1;
|
r->c1 = md1Bl_c1;
|
||||||
r->c2 = md1Bl_c2;
|
r->c2 = md1Bl_c2;
|
||||||
return tag(r, MD1_TAG);
|
return tag(r,MD1_TAG);
|
||||||
}
|
}
|
||||||
B m_md2Block(Block* bl, Scope* psc) {
|
B m_md2Block(Block* bl, Scope* psc) {
|
||||||
Md2Block* r = mm_alloc(sizeof(Md2Block), t_md2_block);
|
Md2Block* r = mm_alloc(sizeof(Md2Block), t_md2_block);
|
||||||
@ -822,7 +822,7 @@ B m_md2Block(Block* bl, Scope* psc) {
|
|||||||
r->sc = psc; ptr_inc(psc);
|
r->sc = psc; ptr_inc(psc);
|
||||||
r->c1 = md2Bl_c1;
|
r->c1 = md2Bl_c1;
|
||||||
r->c2 = md2Bl_c2;
|
r->c2 = md2Bl_c2;
|
||||||
return tag(r, MD2_TAG);
|
return tag(r,MD2_TAG);
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_FREE(scope) {
|
DEF_FREE(scope) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user