I've now split the various debug and trace settings a bit. We now have:
-d, --imcc-debug
-D, --parrot-debug op debug(in $1)
-t, --trace op trace(in $1)
All of the options take an optional hex-digit. A summary of the
individual bits can be obtained by invoking:
parrot --help-debug
The debug flags are in the interpreter structure, the trace flags in the
context. A "trace 1" in some subroutine should therefore have no effect
in the caller of the sub.
This causes some changes in the API too. See include/parrot/embed.h for
functions to set/clear/test these flags and include/parrot/interpreter.h
for the flags enumerations.
At runtime the flag bits are available in runtime/include/interp*.pasm.
leo