aboutsummaryrefslogtreecommitdiffstats
path: root/yjit/src/asm/x86_64
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2022-06-21 19:41:06 -0400
committerTakashi Kokubun <takashikkbn@gmail.com>2022-08-29 08:46:58 -0700
commitd9163280782086b57119abc9478580a6b3efd2c3 (patch)
tree0f12b0579b6a4567e073b7d0068d065a0ba31933 /yjit/src/asm/x86_64
parent0a96a3918970f1852e1bd691c826c904bccd60b8 (diff)
downloadruby-d9163280782086b57119abc9478580a6b3efd2c3.tar.gz
Conscise IR disassembly (https://github.com/Shopify/ruby/pull/302)
The output from `dbg!` was too verbose. For `test_jo` the output went from 37 lines to 5 lines. The added index helps parsing InsnOut indicies. Samples: ``` test backend::tests::test_jo ... [src/backend/ir.rs:589] &self = Assembler 000 Load(Mem64[Reg(3) + 8]) -> Out64(0) 001 Sub(Out64(0), 1_i64) -> Out64(1) 002 Load(Out64(1)) -> Out64(2) 003 Add(Out64(2), Mem64[Reg(3)]) -> Out64(3) 004 Jo() target=CodePtr(CodePtr(0x5)) -> Out64(4) 005 Mov(Mem64[Reg(3)], Out64(3)) -> Out64(5) test backend::tests::test_reuse_reg ... [src/backend/ir.rs:589] &self = Assembler 000 Load(Mem64[Reg(3)]) -> Out64(0) 001 Add(Out64(0), 1_u64) -> Out64(1) 002 Load(Mem64[Reg(3) + 8]) -> Out64(2) 003 Add(Out64(2), 1_u64) -> Out64(3) 004 Add(Out64(1), 1_u64) -> Out64(4) 005 Add(Out64(1), Out64(4)) -> Out64(5) 006 Store(Mem64[Reg(3)], Out64(4)) -> Out64(6) 007 Store(Mem64[Reg(3) + 8], Out64(5)) -> Out64(7) ```
Diffstat (limited to 'yjit/src/asm/x86_64')
0 files changed, 0 insertions, 0 deletions