diff options
author | Damien George <damien@micropython.org> | 2021-03-17 10:22:03 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2021-03-17 12:13:53 +1100 |
commit | 42cf77f48bcb24b0515b4ce604736f10267d87bd (patch) | |
tree | 9d2ae3ae4f198f23155abbdb849997a69026349c /py/vm.c | |
parent | 6e5aea08a9916c5acc6893e4829bba25fbab32ba (diff) |
py/vm: For tracing use mp_printf, and print state when thread enabled.
mp_printf should be used to print the prefix because it's also used in
mp_bytecode_print2 (otherwise, depending on the system, different output
streams may be used).
Also print the current thread state when threading is enabled to easily see
which thread executes what opcode.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py/vm.c')
-rw-r--r-- | py/vm.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -39,7 +39,12 @@ // *FORMAT-OFF* #if 0 -#define TRACE(ip) printf("sp=%d ", (int)(sp - &code_state->state[0] + 1)); mp_bytecode_print2(&mp_plat_print, ip, 1, code_state->fun_bc->const_table); +#if MICROPY_PY_THREAD +#define TRACE_PREFIX mp_printf(&mp_plat_print, "ts=%p sp=%d ", mp_thread_get_state(), (int)(sp - &code_state->state[0] + 1)) +#else +#define TRACE_PREFIX mp_printf(&mp_plat_print, "sp=%d ", (int)(sp - &code_state->state[0] + 1)) +#endif +#define TRACE(ip) TRACE_PREFIX; mp_bytecode_print2(&mp_plat_print, ip, 1, code_state->fun_bc->const_table); #else #define TRACE(ip) #endif |