Skip to content

Commit f0d3b1b

Browse files
committed
dbg: introduce lj-ir, lj-jslots, lj-trace dumpers
This patch adds dumpers for a single IR instruction (`lj-ir`), as well as for all bytecodes inside one trace (`lj-trace`). Its dump is quite similar to the -jdump flag but also reports types of register operands (`ref`, `lit`, `cst`) and operation mode (`N`, `A`, `W`, etc.). The `lj-trace` command accepts optional /rs flags to dump registers associated with IR and snapshots for the trace correspondingly. The `lj-ir` command can be used for dumping IR constants as well. The `lj-jslots` command dumps the content of `J->slot`. It is useful to simplify debugging of `rec_check_slots()` assertion failures. For LLDB value, the `__getitem__` metamethod now accepts bool keys. Also, `__index__` is set to allow lldb.value to be used as an index without explicit conversion to int. Old GDB versions (below 7.12) are not supported because of the gdb.Value lacks the `__index__` metamethod and can't be monkey-patched. The support for these versions may be added by demand. Part of tarantool/tarantool#4808
1 parent 24f5227 commit f0d3b1b

2 files changed

Lines changed: 1570 additions & 11 deletions

File tree

0 commit comments

Comments
 (0)