various utility changes

This commit is contained in:
dzaima 2022-10-08 19:03:35 +03:00
parent 529d2abae4
commit 702d4e979d
5 changed files with 7 additions and 6 deletions

View File

@ -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');

View File

@ -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))

View File

@ -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

View File

@ -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))

View File

@ -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