various utility changes
This commit is contained in:
parent
529d2abae4
commit
702d4e979d
@ -8,9 +8,9 @@ Value* heap_curr;
|
||||
void heapVerify_checkFn(Value* v) {
|
||||
if (v->refc!=0) {
|
||||
#ifdef OBJ_COUNTER
|
||||
printf("delta %d for %s, uid "N64d": ", v->refc, type_repr(v->type), v->uid);
|
||||
printf("delta %d for %s @ %p, uid "N64d": ", v->refc, type_repr(v->type), v, v->uid);
|
||||
#else
|
||||
printf("delta %d for %s: ", (i32)v->refc, type_repr(v->type));
|
||||
printf("delta %d for %s @ %p: ", (i32)v->refc, type_repr(v->type), v);
|
||||
#endif
|
||||
heap_observed = v;
|
||||
print(tag(v,OBJ_TAG)); putchar('\n');
|
||||
|
||||
1
src/h.h
1
src/h.h
@ -125,6 +125,7 @@ typedef double f64;
|
||||
#define U8_MAX ((u8 )~(u8 )0)
|
||||
#define U16_MAX ((u16)~(u16)0)
|
||||
#define U32_MAX ((u32)~(u32)0)
|
||||
#define U64_MAX ((u64)~(u64)0)
|
||||
#define NOINLINE __attribute__((noinline))
|
||||
#define FORCE_INLINE __attribute__((always_inline)) static inline
|
||||
#define NORETURN __attribute__((noreturn))
|
||||
|
||||
@ -389,7 +389,7 @@ static OptRes opt(u32* bc0) {
|
||||
default: defIns:;
|
||||
TSSIZE(stk)-= stackConsumed(sbc);
|
||||
i32 added = stackAdded(sbc);
|
||||
for (i32 i = 0; i < added; i++) TSADD(stk, SREF(bi_optOut, -1))
|
||||
for (i32 i = 0; i < added; i++) TSADD(stk, SREF(bi_optOut, -1));
|
||||
}
|
||||
#undef S
|
||||
#undef L64
|
||||
|
||||
@ -29,11 +29,11 @@ typedef struct TStack {
|
||||
#define TSALLOC(T,N,I) usz N##_dc=(I); u32 N##_e=sizeof(T); TStack* N##_o = (TStack*)mm_alloc(sizeof(TStack)+N##_e*N##_dc, t_temp); N##_o->size=0; N##_o->cap=N##_dc; T* N = (T*)N##_o->data;
|
||||
#define TSFREE(N) mm_free((Value*)N##_o);
|
||||
#define TSUPD(N,AM) { N##_o = ts_e(N##_o, N##_e, AM); N = (void*)N##_o->data; }
|
||||
#define TSADD(N,X) { if (N##_o->size==N##_o->cap) TSUPD(N, 1); N[N##_o->size++] = X; }
|
||||
#define TSADD(N,X) ({ if (N##_o->size==N##_o->cap) TSUPD(N, 1); N[N##_o->size++] = X; })
|
||||
#define TSADDA(N,P,AM) { u64 n_=(AM); if(N##_o->size+n_>N##_o->cap) TSUPD(N, n_); memcpy(N+N##_o->size,P,n_*N##_e); N##_o->size+= n_; }
|
||||
#define TSADDAU(N,AM) { u64 n_=(AM); if(N##_o->size+n_>N##_o->cap) TSUPD(N, n_); N##_o->size+= n_; }
|
||||
#define TSFREEP(N) mm_free((void*)RFLD(N, TStack, data));
|
||||
#define TSSIZE(N) (N##_o->size)
|
||||
TStack* ts_e(TStack* o, u32 elsz, u64 am);
|
||||
|
||||
#define ARBOBJ(SZ) (TAlloc*)mm_alloc(sizeof(TAlloc)+(SZ), t_arbObj)
|
||||
#define ARBOBJ(SZ) ((TAlloc*)mm_alloc(sizeof(TAlloc)+(SZ), t_arbObj))
|
||||
|
||||
@ -7,7 +7,7 @@ testShared: buildShared
|
||||
@diff --color -su shared.expected shared.got
|
||||
|
||||
buildShared:
|
||||
$(CC) sharedTest.c -o sharedTest -L../.. -lcbqn
|
||||
$(CC) -g sharedTest.c -o sharedTest -L../.. -lcbqn
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user