Skip to content

Commit 01a0f2f

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 Reviewed-by: Evgeniy Temirgaleev <e.temirgaleev@tarantool.org> Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>
1 parent 2f7f0ba commit 01a0f2f

2 files changed

Lines changed: 1574 additions & 11 deletions

File tree

0 commit comments

Comments
 (0)