aboutsummaryrefslogtreecommitdiff
path: root/py/vm.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-03-17 10:22:03 +1100
committerDamien George <damien@micropython.org>2021-03-17 12:13:53 +1100
commit42cf77f48bcb24b0515b4ce604736f10267d87bd (patch)
tree9d2ae3ae4f198f23155abbdb849997a69026349c /py/vm.c
parent6e5aea08a9916c5acc6893e4829bba25fbab32ba (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.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/py/vm.c b/py/vm.c
index 393a2bbbd..c97070b78 100644
--- a/py/vm.c
+++ b/py/vm.c
@@ -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