Commit b52cb82
authored
ZJIT: Format negative offsets as small negative hex values (ruby#16248)
Before:
Optimized HIR:
fn block in <main>@benchmarks/setivar.rb:40:
bb1():
EntryPoint interpreter
v1:BasicObject = LoadSelf
Jump bb3(v1)
bb2():
EntryPoint JIT(0)
v4:BasicObject = LoadArg :self@0
Jump bb3(v4)
bb3(v6:BasicObject):
v10:CPtr = GetEP 1
v11:BasicObject = LoadField v10, :obj@0xffffffffffffffe8 <=
PatchPoint NoSingletonClass(TheClass@0x1037633c0)
PatchPoint MethodRedefined(TheClass@0x1037633c0, set_value_loop@0xf5f1, cme:0x103a14650)
v21:HeapObject[class_exact:TheClass] = GuardType v11, HeapObject[class_exact:TheClass]
v22:BasicObject = SendDirect v21, 0x16cf41630, :set_value_loop (0x16cf41670)
CheckInterrupts
Return v22
After:
Optimized HIR:
fn block in <main>@benchmarks/setivar.rb:40:
bb1():
EntryPoint interpreter
v1:BasicObject = LoadSelf
Jump bb3(v1)
bb2():
EntryPoint JIT(0)
v4:BasicObject = LoadArg :self@0
Jump bb3(v4)
bb3(v6:BasicObject):
v10:CPtr = GetEP 1
v11:BasicObject = LoadField v10, :obj@-0x18 <=
PatchPoint NoSingletonClass(TheClass@0x102bc3420)
PatchPoint MethodRedefined(TheClass@0x102bc3420, set_value_loop@0xf5f1, cme:0x102e945f0)
v21:HeapObject[class_exact:TheClass] = GuardType v11, HeapObject[class_exact:TheClass]
v22:BasicObject = SendDirect v21, 0x16dadd630, :set_value_loop (0x16dadd670)
CheckInterrupts
Return v221 parent 0271319 commit b52cb82
1 file changed
Lines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
434 | 444 | | |
435 | 445 | | |
436 | 446 | | |
| |||
467 | 477 | | |
468 | 478 | | |
469 | 479 | | |
470 | | - | |
471 | | - | |
| 480 | + | |
| 481 | + | |
472 | 482 | | |
473 | 483 | | |
474 | 484 | | |
| |||
1644 | 1654 | | |
1645 | 1655 | | |
1646 | 1656 | | |
1647 | | - | |
1648 | | - | |
| 1657 | + | |
| 1658 | + | |
1649 | 1659 | | |
1650 | 1660 | | |
1651 | 1661 | | |
| |||
0 commit comments