diff options
author | Damien George <damien.p.george@gmail.com> | 2014-05-10 18:16:21 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-05-10 18:16:21 +0100 |
commit | 0fb80c303a2685372fe93ff23cecad9f7dfc67fe (patch) | |
tree | aee53be5aeede7dff6a27e21a1192cd9f44046a8 | |
parent | 9597771fe4c0aa42f20514d7315e706bf6dc51cf (diff) | |
download | micropython-0fb80c303a2685372fe93ff23cecad9f7dfc67fe.tar.gz micropython-0fb80c303a2685372fe93ff23cecad9f7dfc67fe.zip |
py: Compress a little the bytecode emitter structure.
-rw-r--r-- | py/emitbc.c | 7 | ||||
-rw-r--r-- | py/gc.c | 2 |
2 files changed, 5 insertions, 4 deletions
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); @@ -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 |