mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 11:40:18 +01:00
py: Fix bugs with debugging output.
show_bc now decodes the prelude correctly. Moved WRITE_FILE stuff from runtime.c to emitglue.c. Addresses issue #385.
This commit is contained in:
11
py/showbc.c
11
py/showbc.c
@@ -30,7 +30,16 @@ void mp_byte_code_print(const byte *ip, int len) {
|
||||
machine_uint_t code_info_size = ip[0] | (ip[1] << 8) | (ip[2] << 16) | (ip[3] << 24);
|
||||
ip += code_info_size;
|
||||
|
||||
// decode prelude
|
||||
// bytecode prelude: state size and exception stack size; 16 bit uints
|
||||
{
|
||||
uint n_state = ip[0] | (ip[1] << 8);
|
||||
uint n_exc_stack = ip[2] | (ip[3] << 8);
|
||||
ip += 4;
|
||||
printf("(N_STATE %u)\n", n_state);
|
||||
printf("(N_EXC_STACK %u)\n", n_exc_stack);
|
||||
}
|
||||
|
||||
// bytecode prelude: initialise closed over variables
|
||||
{
|
||||
uint n_local = *ip++;
|
||||
printf("(NUM_LOCAL %u)\n", n_local);
|
||||
|
||||
Reference in New Issue
Block a user