py: Update showbc to decode ptrs for MAKE_FUNCTION ops.
This commit is contained in:
parent
0aab675108
commit
3d484d9ad4
13
py/showbc.c
13
py/showbc.c
@ -22,6 +22,11 @@
|
||||
qstr = (qstr << 7) + (*ip & 0x7f); \
|
||||
} while ((*ip++ & 0x80) != 0); \
|
||||
}
|
||||
#define DECODE_PTR do { \
|
||||
ip = (byte*)(((machine_uint_t)ip + sizeof(machine_uint_t) - 1) & (~(sizeof(machine_uint_t) - 1))); /* align ip */ \
|
||||
unum = *(machine_uint_t*)ip; \
|
||||
ip += sizeof(machine_uint_t); \
|
||||
} while (0)
|
||||
|
||||
void mp_byte_code_print(const byte *ip, int len) {
|
||||
const byte *ip_start = ip;
|
||||
@ -389,22 +394,22 @@ void mp_byte_code_print(const byte *ip, int len) {
|
||||
break;
|
||||
|
||||
case MP_BC_MAKE_FUNCTION:
|
||||
DECODE_UINT;
|
||||
DECODE_PTR;
|
||||
printf("MAKE_FUNCTION " UINT_FMT, unum);
|
||||
break;
|
||||
|
||||
case MP_BC_MAKE_FUNCTION_DEFARGS:
|
||||
DECODE_UINT;
|
||||
DECODE_PTR;
|
||||
printf("MAKE_FUNCTION_DEFARGS " UINT_FMT, unum);
|
||||
break;
|
||||
|
||||
case MP_BC_MAKE_CLOSURE:
|
||||
DECODE_UINT;
|
||||
DECODE_PTR;
|
||||
printf("MAKE_CLOSURE " UINT_FMT, unum);
|
||||
break;
|
||||
|
||||
case MP_BC_MAKE_CLOSURE_DEFARGS:
|
||||
DECODE_UINT;
|
||||
DECODE_PTR;
|
||||
printf("MAKE_CLOSURE_DEFARGS " UINT_FMT, unum);
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user