diff --git a/py/emitbc.c b/py/emitbc.c index bfd378b5e5..06f63b6f6c 100644 --- a/py/emitbc.c +++ b/py/emitbc.c @@ -48,9 +48,11 @@ #define DUMMY_DATA_SIZE (BYTES_FOR_INT) struct _emit_t { - pass_kind_t pass; + pass_kind_t pass : 8; + uint last_emit_was_return_value : 8; + byte dummy_data[DUMMY_DATA_SIZE]; + int stack_size; - bool last_emit_was_return_value; scope_t *scope; @@ -65,7 +67,6 @@ struct _emit_t { uint bytecode_offset; uint bytecode_size; byte *code_base; // stores both byte code and code info - byte dummy_data[DUMMY_DATA_SIZE]; }; STATIC void emit_bc_rot_two(emit_t *emit); diff --git a/py/gc.c b/py/gc.c index b646e8cbdf..87c458f82c 100644 --- a/py/gc.c +++ b/py/gc.c @@ -113,7 +113,7 @@ STATIC machine_uint_t gc_lock_depth; void gc_init(void *start, void *end) { // align end pointer on block boundary end = (void*)((machine_uint_t)end & (~(BYTES_PER_BLOCK - 1))); - DEBUG_printf("Initializing GC heap: %p..%p = %ld bytes\n", start, end, end - start); + DEBUG_printf("Initializing GC heap: %p..%p = " UINT_FMT " bytes\n", start, end, end - start); // calculate parameters for GC (T=total, A=alloc table, F=finaliser table, P=pool; all in bytes): // T = A + F + P