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

Reply via email to