Project

General

Profile

Bug #21772 ยป session_blocks.log

gearoiddc (Gearoid de Cleir), 12/11/2025 03:29 PM

 
0x704887438d17: e9 0f b3 bb ff
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:20 
# reg_mapping: [None, None, Some(Local(0)), Some(Local(1)), Some(Local(2))]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [Some(Stack(0)), None, Some(Local(0)), Some(Local(1)), Some(Local(2))]
0x704887436b42: 49 8b 75 18
# Insn: 0001 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x704887436b46: e9 a5 21 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [None, None, None, None, None]
0x704887438d1c: 48 89 33 4c 89 43 c0 4c 89 4b c8 4c 89 53 d0
0x704887438d2b: 48 8d 43 08 49 89 45 08 48 b8 b8 6f 03 3f f8
0x704887438d3a: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887438d49: 00 00 c3
# branch stub hit
0x704887438d4c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [None, None, None, None, None]
0x704887438d55: 48 89 33 48 89 7b 08 4c 89 43 c0 4c 89 4b c8
0x704887438d64: 4c 89 53 d0 48 bf b0 c3 08 60 48 70 00 00 be
0x704887438d73: 00 00 00 00 e9 af b2 bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:20 
# reg_mapping: [Some(Stack(0)), None, Some(Local(0)), Some(Local(1)), Some(Local(2))]
# Insn: 0001 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))]
0x704887436b46: 4c 89 cf
# Insn: 0003 opt_send_without_block (stack_size: 2)
0x704887436b49: 66 90
# defer_compilation
0x704887436b4b: e9 fc 21 00 00
# branch stub hit
0x704887438d7c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [None, None, None, None, None]
0x704887438d85: 48 89 33 48 89 7b 08 4c 89 43 c0 4c 89 4b c8
0x704887438d94: 4c 89 53 d0 48 bf 30 f5 08 60 48 70 00 00 be
0x704887438da3: 00 00 00 00 e9 7f b2 bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [None, None, None, None, None]
0x704887438dac: 48 89 33 48 89 7b 08 4c 89 43 c0 4c 89 4b c8
0x704887438dbb: 4c 89 53 d0 48 8d 43 10 49 89 45 08 48 b8 c8
0x704887438dca: 6f 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x704887438dd9: 5d b8 24 00 00 00 c3
# branch stub hit
0x704887438de0: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887438de4: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887438df0: 48 89 33 48 bf c0 e3 08 60 48 70 00 00 be 00
0x704887438dff: 00 00 00 e9 24 b2 bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:20 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))]
# Insn: 0003 opt_send_without_block (stack_size: 2)
# call to Class#find
# guard known object with singleton class
0x704887436b4b: 48 b8 80 20 20 86 48 70 00 00 48 39 c6 0f 85
0x704887436b5a: 1e 22 00 00
# stack overflow check
0x704887436b5e: 48 8d 83 98 00 00 00 49 39 c5 0f 86 3e 22 00
0x704887436b6d: 00
# store caller sp
0x704887436b6e: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887436b75: 48 b8 d8 6f 03 3f f8 58 00 00 49 89 45 00 48
0x704887436b84: 8d 43 28
# push cme, specval, frame type
0x704887436b87: 48 b9 60 bc 1c 86 48 70 00 00 48 89 48 e8 48
0x704887436b96: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887436ba5: 49 89 45 d0 48 b9 d8 b4 1f 86 48 70 00 00 49
0x704887436bb4: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887436bc3: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(0)), Some(Local(1)), Some(Local(2))] -> [None, Some(Stack(1)), None, None, None]
0x704887436bce: 48 89 33 4c 89 43 c0 4c 89 4b c8 4c 89 53 d0
0x704887436bdd: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887436be0: 48 b8 e0 8d 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887436bee: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x704887438e07: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887438e10: 48 89 7b e0 48 bf 00 f7 08 60 48 70 00 00 be
0x704887438e1f: 00 00 00 00 e9 03 b2 bb ff
# gen_direct_jmp: fallthrough
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:36 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x704887436bf7: e9 0b 22 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887438e28: 48 89 7b e0 48 b8 c0 a7 1e 3f f8 58 00 00 49
0x704887438e37: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:36 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x704887436bf7: 48 89 fe
# gen_direct_jmp: fallthrough
0x704887436bfa: 66 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887438e45: 48 89 33 48 89 7b e0 48 8d 43 08 49 89 45 08
0x704887438e54: 48 b8 d0 a7 1e 3f f8 58 00 00 49 89 45 00 5b
0x704887438e63: 41 5c 41 5d b8 24 00 00 00 c3
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:36 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0002 opt_getconstant_path (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
0x704887436bfc: 48 b8 30 a8 fb 86 48 70 00 00 49 89 c0
# branch stub hit
0x704887438e6d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887438e76: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf b0 24
0x704887438e85: 09 60 48 70 00 00 be 00 00 00 00 e9 96 b1 bb
0x704887438e94: ff
# gen_direct_jmp: fallthrough
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:36 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0004 opt_send_without_block (stack_size: 2)
# defer_compilation
0x704887436c09: e9 5f 22 00 00
# branch stub hit
0x704887438e95: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887438e9e: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 70 e8
0x704887438ead: 08 60 48 70 00 00 be 00 00 00 00 e9 6e b1 bb
0x704887438ebc: ff
# branch stub hit
0x704887438ebd: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887438ec6: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 90 3a
0x704887438ed5: 09 60 48 70 00 00 be 00 00 00 00 e9 46 b1 bb
0x704887438ee4: ff
# branch stub hit
0x704887438ee5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887438eee: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 10 23
0x704887438efd: 09 60 48 70 00 00 be 00 00 00 00 e9 1e b1 bb
0x704887438f0c: ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887438f0d: 48 89 33 4c 89 43 08 48 89 7b e0 48 8d 43 10
0x704887438f1c: 49 89 45 08 48 b8 e0 a7 1e 3f f8 58 00 00 49
0x704887438f2b: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887438f39: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, Some(Stack(1)), None, None]
0x704887438f3d: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887438f49: 48 89 33 48 bf 50 51 09 60 48 70 00 00 be 00
0x704887438f58: 00 00 00 e9 cb b0 bb ff
# regenerate_branch
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:36 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0004 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Request#get_header
# guard not immediate
0x704887436c09: 40 f6 c6 07 0f 85 82 22 00 00 48 83 fe 00 0f
0x704887436c18: 84 a0 22 00 00 48 89 f0
# guard known class
0x704887436c20: 48 b9 e0 47 20 86 48 70 00 00 48 39 48 08 0f
0x704887436c2f: 85 b1 22 00 00
# stack overflow check
0x704887436c34: 48 8d 83 98 00 00 00 49 39 c5 0f 86 c9 22 00
0x704887436c43: 00
# store caller sp
0x704887436c44: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887436c4b: 48 b8 f0 a7 1e 3f f8 58 00 00 49 89 45 00 48
0x704887436c5a: 8d 43 28
# push cme, specval, frame type
0x704887436c5d: 48 b9 18 a2 cd 78 48 70 00 00 48 89 48 e8 48
0x704887436c6c: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887436c7b: 49 89 45 d0 48 b9 88 8f 21 86 48 70 00 00 49
0x704887436c8a: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887436c99: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, Some(Local(0)), None, None]
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, Some(Stack(1)), None, None]
0x704887436ca4: 48 89 33 48 89 7b e0
# reuse maps: [None, None, Some(Local(0)), None, None] -> [None, None, None, None, None]
0x704887436cab: 4c 89 43 08 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887436cb2: 48 b8 39 8f 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887436cc0: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x704887436cc9: e9 1b 3a e7 ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887438f60: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f0 a7
0x704887438f6f: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887438f7e: b8 24 00 00 00 c3
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:37 
# reg_mapping: [None, None, Some(Stack(1)), None, None]
0x704887436cce: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, Some(Stack(1)), None, None]
0x704887436cd2: 48 89 c6
# Insn: 0006 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887436cd5: 41 8b 44 24 20 85 c0 0f 85 7e 22 00 00
# pop stack frame
0x704887436ce2: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887436cf1: f8
# regenerate_branch
# update cfp->jit_return
0x704887436cb2: 48 b8 ce 6c 43 87 48 70 00 00 49 89 45 f8
# exit to interpreter on setlocal_WC_0
0x704887438f84: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887438f88: 48 89 c6
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887438f8b: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 6f
0x704887438f9a: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887438fa9: b8 24 00 00 00 c3
# branch stub hit
0x704887438faf: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887438fb8: 48 89 33 48 89 7b d8 48 bf e0 46 09 60 48 70
0x704887438fc7: 00 00 be 00 00 00 00 e9 58 b0 bb ff
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:20 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x704887436cf2: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887436cf6: 48 89 c6
# Insn: 0005 setlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Local(3)), None, None, None]
0x704887436cf9: f6 43 f8 08 0f 85 ac 22 00 00 48 89 f7
# exit to interpreter on opt_getconstant_path
# reg_mapping: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, Some(Local(3)), None, None, None]
# spill_regs: [None, Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887438fd3: 48 89 7b d8 48 b8 e8 6f 03 3f f8 58 00 00 49
0x704887438fe2: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), Some(Local(3)), None, None, None]
# Insn: 0007 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, Some(Local(3)), None, None, None] -> [Some(Stack(0)), Some(Local(3)), None, None, None]
0x704887436d06: 48 b8 80 20 20 86 48 70 00 00 48 89 c6
# branch stub hit
0x704887438ff0: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887438ff9: 48 89 33 48 89 7b d8 48 bf 40 88 09 60 48 70
0x704887439008: 00 00 be 00 00 00 00 e9 17 b0 bb ff
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), Some(Local(3)), None, None, None]
# Insn: 0009 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x704887436d13: e9 d8 22 00 00
# regenerate_branch
# update cfp->jit_return
0x704887436be0: 48 b8 f2 6c 43 87 48 70 00 00 49 89 45 f8
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887439014: 48 89 33 48 89 7b d8 48 8d 43 08 49 89 45 08
0x704887439023: 48 b8 f8 6f 03 3f f8 58 00 00 49 89 45 00 5b
0x704887439032: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x70488743903c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887439045: 48 89 33 4c 89 43 08 48 89 7b d8 48 bf 90 07
0x704887439054: 09 60 48 70 00 00 be 00 00 00 00 e9 c7 af bb
0x704887439063: ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), Some(Local(3)), None, None, None]
# Insn: 0009 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None]
0x704887436d13: 4c 8b 43 c0
# Insn: 0011 getlocal_WC_0 (stack_size: 2)
0x704887436d17: 90
# defer_compilation
0x704887436d18: e9 1f 23 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887439064: 48 89 33 4c 89 43 08 48 89 7b d8 48 8d 43 10
0x704887439073: 49 89 45 08 48 b8 08 70 03 3f f8 58 00 00 49
0x704887439082: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887439090: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439099: 48 89 33 4c 89 43 08 4c 89 4b 10 48 89 7b d8
0x7048874390a8: 48 bf 40 ad 09 60 48 70 00 00 be 00 00 00 00
0x7048874390b7: e9 6f af bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None]
# Insn: 0011 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None] -> [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None]
0x704887436d18: 4c 8b 4b c8
# Insn: 0013 opt_send_without_block (stack_size: 3)
0x704887436d1c: 90
# defer_compilation
0x704887436d1d: e9 6e 23 00 00
# branch stub hit
0x7048874390bc: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x7048874390c5: 48 89 33 4c 89 43 08 4c 89 4b 10 48 89 7b d8
0x7048874390d4: 48 bf 10 b9 09 60 48 70 00 00 be 00 00 00 00
0x7048874390e3: e9 43 af bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x7048874390e8: 48 89 33 4c 89 43 08 4c 89 4b 10 48 89 7b d8
0x7048874390f7: 48 8d 43 18 49 89 45 08 48 b8 18 70 03 3f f8
0x704887439106: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887439115: 00 00 c3
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None]
# Insn: 0013 opt_send_without_block (stack_size: 3)
# call to Class#new
# guard known object with singleton class
0x704887436d1d: 48 b8 80 20 20 86 48 70 00 00 48 39 c6 0f 85
0x704887436d2c: 8c 23 00 00
# RUBY_VM_CHECK_INTS(ec)
0x704887436d30: 41 8b 44 24 20 85 c0 0f 85 ab 23 00 00
# stack overflow check
0x704887436d3d: 48 8d 83 a8 00 00 00 49 39 c5 0f 86 9b 23 00
0x704887436d4c: 00
# save PC to CFP
0x704887436d4d: 48 b8 28 70 03 3f f8 58 00 00 49 89 45 00 48
0x704887436d5c: 8d 43 30
# push cme, specval, frame type
0x704887436d5f: 48 b9 00 ad c4 7a 48 70 00 00 48 89 48 e8 48
0x704887436d6e: c7 40 f0 00 00 00 00 48 c7 40 f8 83 00 55 55
# push callee control frame
0x704887436d7d: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x704887436d8c: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x704887436d9b: 45 e8
# set ec->cfp
0x704887436d9d: 49 8d 45 c8 49 89 44 24 10 48 8d 43 08
# call C function
# spill_regs: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887436daa: 48 89 33 4c 89 43 08 4c 89 4b 10 48 89 7b d8
0x704887436db9: bf 02 00 00 00 48 89 f2 48 89 c6 e8 f7 22 db
0x704887436dc8: 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887436dc9: 48 89 c6 4d 89 6c 24 10
# branch stub hit
0x704887439118: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439121: 48 89 33 48 bf d0 bd 09 60 48 70 00 00 be 00
0x704887439130: 00 00 00 e9 f3 ae bb ff
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0015 setlocal_WC_0 (stack_size: 1)
# defer_compilation
0x704887436dd1: e9 42 23 00 00
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439138: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 28 70
0x704887439147: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439156: b8 24 00 00 00 c3
# branch stub hit
0x70488743915c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439165: 48 89 33 4c 89 53 e0 48 bf 90 c9 09 60 48 70
0x704887439174: 00 00 be 00 00 00 00 e9 ab ae bb ff
# branch stub hit
0x704887439180: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439189: 4c 89 53 e0 48 bf 10 cc 09 60 48 70 00 00 be
0x704887439198: 00 00 00 00 e9 8a ae bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:21 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0015 setlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), None, None, None, Some(Local(4))]
0x704887436dd1: f6 43 f8 08 0f 85 81 23 00 00 49 89 f2
# Insn: 0017 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x704887436dde: e9 9d 23 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874391a1: 4c 89 53 e0 48 b8 38 70 03 3f f8 58 00 00 49
0x7048874391b0: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048874391be: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [None, None, None, None, Some(Local(4))]
# spill_regs: [None, None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874391c7: 4c 89 53 e0 48 bf 30 bd 09 60 48 70 00 00 be
0x7048874391d6: 00 00 00 00 e9 4c ae bb ff
# branch stub hit
0x7048874391df: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [None, None, None, None, Some(Local(4))]
# spill_regs: [None, None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874391e8: 4c 89 53 e0 48 bf 30 bd 09 60 48 70 00 00 be
0x7048874391f7: 01 00 00 00 e9 2b ae bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:22 
# reg_mapping: [None, None, None, None, Some(Local(4))]
# Insn: 0017 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, Some(Local(4))] -> [Some(Stack(0)), None, None, None, Some(Local(4))]
0x704887436dde: 48 8b 73 d8
# Insn: 0019 branchunless (stack_size: 1)
0x704887436de2: 48 f7 c6 fb ff ff ff 0f 84 cf 23 00 00 e9 eb
0x704887436df1: 23 00 00
# regenerate_branch
0x704887436de9: 0f 85 f0 23 00 00
# branch stub hit
0x704887439200: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439209: 48 89 33 4c 89 53 e0 48 bf e0 8c 09 60 48 70
0x704887439218: 00 00 be 00 00 00 00 e9 07 ae bb ff
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:24 
# reg_mapping: [Some(Stack(0)), None, None, None, Some(Local(4))]
# Insn: 0028 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, Some(Local(4))] -> [Some(Stack(0)), None, None, None, Some(Local(4))]
0x704887436def: 49 8b 75 18
# Insn: 0029 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x704887436df3: e9 08 24 00 00
# regenerate_branch
0x704887436de9: 0f 85 f0 23 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439224: 48 89 33 4c 89 53 e0 48 8d 43 08 49 89 45 08
0x704887439233: 48 b8 98 70 03 3f f8 58 00 00 49 89 45 00 5b
0x704887439242: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x70488743924c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439255: 48 89 33 48 89 7b 08 4c 89 53 e0 48 bf a0 f2
0x704887439264: 09 60 48 70 00 00 be 00 00 00 00 e9 b7 ad bb
0x704887439273: ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:24 
# reg_mapping: [Some(Stack(0)), None, None, None, Some(Local(4))]
# Insn: 0029 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, Some(Local(4))] -> [Some(Stack(0)), Some(Stack(1)), None, None, Some(Local(4))]
0x704887436df3: 48 8b 7b c8
# Insn: 0031 getlocal_WC_0 (stack_size: 2)
0x704887436df7: 90
# defer_compilation
0x704887436df8: e9 4f 24 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, Some(Local(4))] -> [None, None, None, None, None]
0x704887439274: 48 89 33 48 89 7b 08 4c 89 53 e0 48 8d 43 10
0x704887439283: 49 89 45 08 48 b8 a8 70 03 3f f8 58 00 00 49
0x704887439292: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048874392a0: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874392a9: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 53 e0
0x7048874392b8: 48 bf 90 17 0a 60 48 70 00 00 be 00 00 00 00
0x7048874392c7: e9 5f ad bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:24 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, Some(Local(4))]
# Insn: 0031 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, Some(Local(4))] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))]
0x704887436df8: 4d 89 d0
# Insn: 0033 opt_send_without_block (stack_size: 3)
0x704887436dfb: 66 90
# defer_compilation
0x704887436dfd: e9 9e 24 00 00
# branch stub hit
0x7048874392cc: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874392d5: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 53 e0
0x7048874392e4: 48 bf 20 83 0a 60 48 70 00 00 be 00 00 00 00
0x7048874392f3: e9 33 ad bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))] -> [None, None, None, None, None]
0x7048874392f8: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 53 e0
0x704887439307: 48 8d 43 18 49 89 45 08 48 b8 b8 70 03 3f f8
0x704887439316: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887439325: 00 00 c3
# branch stub hit
0x704887439328: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x70488743932c: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439338: 48 89 33 48 bf 90 26 0a 60 48 70 00 00 be 00
0x704887439347: 00 00 00 e9 dc ac bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:24 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))]
# Insn: 0033 opt_send_without_block (stack_size: 3)
# call to Class#set
# guard known object with singleton class
0x704887436dfd: 48 b8 80 20 20 86 48 70 00 00 48 39 c6 0f 85
0x704887436e0c: bc 24 00 00
# stack overflow check
0x704887436e10: 48 8d 83 b0 00 00 00 49 39 c5 0f 86 d8 24 00
0x704887436e1f: 00
# store caller sp
0x704887436e20: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887436e27: 48 b8 c8 70 03 3f f8 58 00 00 49 89 45 00 48
0x704887436e36: 8d 43 30
# push cme, specval, frame type
0x704887436e39: 48 b9 38 bc 1c 86 48 70 00 00 48 89 48 e8 48
0x704887436e48: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887436e57: 49 89 45 d0 48 b9 60 b4 1f 86 48 70 00 00 49
0x704887436e66: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887436e75: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), Some(Local(1)), None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, Some(Local(4))] -> [None, Some(Stack(1)), Some(Stack(2)), None, None]
0x704887436e80: 48 89 33 4c 89 53 e0 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887436e8a: 48 b8 28 93 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887436e98: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x70488743934f: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439358: 48 89 7b d8 4c 89 43 e0 48 bf 50 1e 0a 60 48
0x704887439367: 70 00 00 be 00 00 00 00 e9 b7 ac bb ff
# gen_direct_jmp: fallthrough
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [None, Some(Local(0)), Some(Local(1)), None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x704887436ea1: e9 a9 24 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, Some(Local(0)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439374: 48 89 7b d8 4c 89 43 e0 48 b8 40 27 1a 3f f8
0x704887439383: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887439392: 00 00 c3
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [None, Some(Local(0)), Some(Local(1)), None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None]
0x704887436ea1: 48 89 fe
# gen_direct_jmp: fallthrough
0x704887436ea4: 66 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439395: 48 89 33 48 89 7b d8 4c 89 43 e0 48 8d 43 08
0x7048874393a4: 49 89 45 08 48 b8 50 27 1a 3f f8 58 00 00 49
0x7048874393b3: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None]
# Insn: 0002 opt_getconstant_path (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
0x704887436ea6: 48 b8 30 a8 fb 86 48 70 00 00 49 89 c1
# branch stub hit
0x7048874393c1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [None, None, None, None, None]
0x7048874393ca: 48 89 33 4c 89 4b 08 48 89 7b d8 4c 89 43 e0
0x7048874393d9: 48 bf 70 3b 0a 60 48 70 00 00 be 00 00 00 00
0x7048874393e8: e9 3e ac bb ff
# gen_direct_jmp: fallthrough
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# defer_compilation
0x704887436eb3: e9 09 25 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [None, None, None, None, None]
0x7048874393ed: 48 89 33 4c 89 4b 08 48 89 7b d8 4c 89 43 e0
0x7048874393fc: 48 8d 43 10 49 89 45 08 48 b8 60 27 1a 3f f8
0x70488743940b: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x70488743941a: 00 00 c3
# branch stub hit
0x70488743941d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x704887439426: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x704887439435: 4c 89 43 e0 48 bf c0 1d 0a 60 48 70 00 00 be
0x704887439444: 00 00 00 00 e9 de ab bb ff
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))]
0x704887436eb3: 4d 89 c2
# Insn: 0006 opt_send_without_block (stack_size: 3)
0x704887436eb6: 66 90
# defer_compilation
0x704887436eb8: e9 60 25 00 00
# branch stub hit
0x70488743944d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x704887439456: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x704887439465: 4c 89 43 e0 48 bf 90 4e 0a 60 48 70 00 00 be
0x704887439474: 00 00 00 00 e9 ae ab bb ff
# branch stub hit
0x70488743947d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x704887439486: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x704887439495: 4c 89 43 e0 48 bf 30 4f 0a 60 48 70 00 00 be
0x7048874394a4: 00 00 00 00 e9 7e ab bb ff
# branch stub hit
0x7048874394ad: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048874394b6: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048874394c5: 4c 89 43 e0 48 bf 00 01 0a 60 48 70 00 00 be
0x7048874394d4: 00 00 00 00 e9 4e ab bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048874394dd: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048874394ec: 4c 89 43 e0 48 8d 43 18 49 89 45 08 48 b8 70
0x7048874394fb: 27 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x70488743950a: 5d b8 24 00 00 00 c3
# branch stub hit
0x704887439511: 49 8b 5d 08
# reg_mapping: [None, None, None, Some(Stack(1)), Some(Stack(2))] -> [Some(Stack(0)), None, None, Some(Stack(1)), Some(Stack(2))]
0x704887439515: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, Some(Stack(1)), Some(Stack(2))] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439521: 48 89 33 48 bf a0 6b 0a 60 48 70 00 00 be 00
0x704887439530: 00 00 00 e9 f3 aa bb ff
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:40 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))]
# Insn: 0006 opt_send_without_block (stack_size: 3)
# call to ActionDispatch::Request#set_header
# guard not immediate
0x704887436eb8: 40 f6 c6 07 0f 85 8b 25 00 00 48 83 fe 00 0f
0x704887436ec7: 84 b1 25 00 00 48 89 f0
# guard known class
0x704887436ecf: 48 b9 e0 47 20 86 48 70 00 00 48 39 48 08 0f
0x704887436ede: 85 ca 25 00 00
# stack overflow check
0x704887436ee3: 48 8d 83 b8 00 00 00 49 39 c5 0f 86 ea 25 00
0x704887436ef2: 00
# store caller sp
0x704887436ef3: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887436efa: 48 b8 80 27 1a 3f f8 58 00 00 49 89 45 00 48
0x704887436f09: 8d 43 30
# push cme, specval, frame type
0x704887436f0c: 48 b9 e0 a2 cd 78 48 70 00 00 48 89 48 e8 48
0x704887436f1b: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887436f2a: 49 89 45 d0 48 b9 20 8e 21 86 48 70 00 00 49
0x704887436f39: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887436f48: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, Some(Local(0)), Some(Local(1))]
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, Some(Stack(1)), Some(Stack(2))]
0x704887436f53: 48 89 33 48 89 7b d8 4c 89 43 e0 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887436f61: 48 b8 11 95 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887436f6f: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x704887439538: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x704887439541: 48 89 33 4c 89 4b d8 4c 89 53 e0 48 bf 60 63
0x704887439550: 0a 60 48 70 00 00 be 00 00 00 00 e9 cb aa bb
0x70488743955f: ff
# gen_direct_jmp: fallthrough
# Block: set_header@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/request.rb:79 
# reg_mapping: [None, None, None, Some(Local(0)), Some(Local(1))]
# Insn: 0000 putnil (stack_size: 0)
# reg_mapping: [None, None, None, Some(Local(0)), Some(Local(1))] -> [Some(Stack(0)), None, None, Some(Local(0)), Some(Local(1))]
0x704887436f78: be 04 00 00 00
# Insn: 0001 getinstancevariable (stack_size: 1)
# defer_compilation
0x704887436f7d: e9 b6 25 00 00
# branch stub hit
0x704887439560: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x704887439569: 48 89 33 4c 89 4b d8 4c 89 53 e0 48 bf 30 85
0x704887439578: 0a 60 48 70 00 00 be 00 00 00 00 e9 a3 aa bb
0x704887439587: ff
# regenerate_branch
# Block: set_header@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/request.rb:79 
# reg_mapping: [Some(Stack(0)), None, None, Some(Local(0)), Some(Local(1))]
# Insn: 0001 getinstancevariable (stack_size: 1)
0x704887436f7d: 49 8b 45 18
# guard shape
0x704887436f81: 81 78 04 f1 0f 00 00 0f 85 d2 25 00 00
# reg_mapping: [Some(Stack(0)), None, None, Some(Local(0)), Some(Local(1))] -> [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))]
0x704887436f8e: 48 8b 78 10
# branch stub hit
0x704887439588: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x704887439591: 48 89 33 48 89 7b 08 4c 89 4b d8 4c 89 53 e0
0x7048874395a0: 48 bf 80 88 0a 60 48 70 00 00 be 00 00 00 00
0x7048874395af: e9 77 aa bb ff
# gen_direct_jmp: fallthrough
# Block: set_header@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/request.rb:79 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# defer_compilation
0x704887436f92: e9 f1 25 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x7048874395b4: 48 89 33 48 89 7b 08 4c 89 4b d8 4c 89 53 e0
0x7048874395c3: 48 8d 43 10 49 89 45 08 48 b8 c0 78 16 3f f8
0x7048874395d2: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x7048874395e1: 00 00 c3
# branch stub hit
0x7048874395e4: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x7048874395ed: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b d8
0x7048874395fc: 4c 89 53 e0 48 bf 00 9a 0a 60 48 70 00 00 be
0x70488743960b: 00 00 00 00 e9 17 aa bb ff
# regenerate_branch
# Block: set_header@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/request.rb:79 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, Some(Local(0)), Some(Local(1))] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Local(0)), Some(Local(1))]
0x704887436f92: 4d 89 c8
# Insn: 0006 getlocal_WC_0 (stack_size: 3)
0x704887436f95: 66 90
# defer_compilation
0x704887436f97: e9 48 26 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Local(0)), Some(Local(1))] -> [None, None, None, None, None]
0x704887439614: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b d8
0x704887439623: 4c 89 53 e0 48 8d 43 18 49 89 45 08 48 b8 d0
--
0x70488743975d: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x70488743976c: b8 24 00 00 00 c3
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:41 
# reg_mapping: [None, None, None, Some(Stack(1)), Some(Stack(2))]
0x704887437021: 49 8b 5d 08
# reg_mapping: [None, None, None, Some(Stack(1)), Some(Stack(2))] -> [Some(Stack(0)), None, None, Some(Stack(1)), Some(Stack(2))]
0x704887437025: 48 89 c6
# Insn: 0008 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887437028: 41 8b 44 24 20 85 c0 0f 85 19 27 00 00
# pop stack frame
0x704887437035: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887437044: f8
# regenerate_branch
# update cfp->jit_return
0x704887436f61: 48 b8 21 70 43 87 48 70 00 00 49 89 45 f8
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:24 
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None]
0x704887437045: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x704887437049: 48 89 c6
# exit to interpreter on opt_getconstant_path
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439772: 48 b8 d0 70 03 3f f8 58 00 00 49 89 45 00 5b
0x704887439781: 41 5c 41 5d b8 24 00 00 00 c3
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488743978b: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 e0 70
0x70488743979a: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874397a9: b8 24 00 00 00 c3
# Insn: 0035 pop (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0036 opt_getconstant_path (stack_size: 0)
# save PC to CFP
0x70488743704c: 48 b8 e0 70 03 3f f8 58 00 00 49 89 45 00
# clear local variable types
0x70488743705a: 4c 89 e7 4c 89 ee 48 ba 10 81 1d 3f f8 58 00
0x704887437069: 00 e8 31 2a ef 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x70488743706f: 48 89 c6
# branch stub hit
0x7048874397af: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874397b8: 48 89 33 48 bf 40 d4 0a 60 48 70 00 00 be 00
0x7048874397c7: 00 00 00 e9 5c a8 bb ff
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0038 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x704887437072: e9 38 27 00 00
# regenerate_branch
# update cfp->jit_return
0x704887436e8a: 48 b8 45 70 43 87 48 70 00 00 49 89 45 f8
# Insn: 0035 pop (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0036 opt_getconstant_path (stack_size: 0)
# save PC to CFP
0x70488743704c: e9 21 27 00 00
# branch stub hit
0x7048874397cf: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874397d8: 48 bf 10 35 0a 60 48 70 00 00 be 00 00 00 00
0x7048874397e7: e9 3f a8 bb ff
# Insn: 0035 pop (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0036 opt_getconstant_path (stack_size: 0)
# save PC to CFP
# regenerate_branch
0x70488743704c: e9 7e 27 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874397ec: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 e0 70
0x7048874397fb: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x70488743980a: b8 24 00 00 00 c3
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0038 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887437072: 48 8b 7b c8
# gen_direct_jmp: fallthrough
0x704887437076: 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439810: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x70488743981f: 48 b8 f0 70 03 3f f8 58 00 00 49 89 45 00 5b
0x70488743982e: 41 5c 41 5d b8 24 00 00 00 c3
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x704887439838: 4c 89 03 48 8d 43 08 49 89 45 08 48 b8 00 71
0x704887439847: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439856: b8 24 00 00 00 c3
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0040 opt_getconstant_path (stack_size: 2)
# save PC to CFP
0x704887437077: 48 b8 00 71 03 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x704887437085: 48 8d 5b 10 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x70488743708d: 48 89 73 f0 48 89 7b f8 4c 89 e7 4c 89 ee 48
0x70488743709c: ba 20 81 1d 3f f8 58 00 00 e8 f6 29 ef 23
# reg_mapping: [None, None, None, None, None] -> [None, None, Some(Stack(2)), None, None]
0x7048874370aa: 49 89 c0
# branch stub hit
0x70488743985c: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x704887439865: 4c 89 03 48 bf b0 fd 0a 60 48 70 00 00 be 00
0x704887439874: 00 00 00 e9 af a7 bb ff
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), None, None]
# Insn: 0042 getlocal_WC_0 (stack_size: 3)
# defer_compilation
0x7048874370ad: e9 aa 27 00 00
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0040 opt_getconstant_path (stack_size: 2)
# save PC to CFP
0x704887437077: e9 94 27 00 00
# branch stub hit
0x70488743987c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439885: 48 89 33 48 89 7b 08 48 bf 30 cb 0a 60 48 70
0x704887439894: 00 00 be 00 00 00 00 e9 8b a7 bb ff
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874398a0: 4c 89 03 48 8d 43 08 49 89 45 08 48 b8 00 71
0x7048874398af: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874398be: b8 24 00 00 00 c3
# branch stub hit
0x7048874398c4: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), None] -> [None, None, None, None, None]
0x7048874398cd: 4c 89 03 4c 89 4b 08 48 bf 40 67 0b 60 48 70
0x7048874398dc: 00 00 be 00 00 00 00 e9 43 a7 bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), None, None]
# Insn: 0042 getlocal_WC_0 (stack_size: 3)
# reg_mapping: [None, None, Some(Stack(2)), None, None] -> [None, None, Some(Stack(2)), Some(Stack(3)), None]
0x7048874370ad: 4c 8b 4b b0
# Insn: 0044 getlocal_WC_0 (stack_size: 4)
0x7048874370b1: 90
# defer_compilation
0x7048874370b2: e9 0d 28 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), None] -> [None, None, None, None, None]
0x7048874398e8: 4c 89 03 4c 89 4b 08 48 8d 43 10 49 89 45 08
0x7048874398f7: 48 b8 10 71 03 3f f8 58 00 00 49 89 45 00 5b
0x704887439906: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887439910: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))] -> [None, None, None, None, None]
0x704887439919: 4c 89 03 4c 89 4b 08 4c 89 53 10 48 bf 60 0c
0x704887439928: 0b 60 48 70 00 00 be 00 00 00 00 e9 f3 a6 bb
0x704887439937: ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), Some(Stack(3)), None]
# Insn: 0044 getlocal_WC_0 (stack_size: 4)
# reg_mapping: [None, None, Some(Stack(2)), Some(Stack(3)), None] -> [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))]
0x7048874370b2: 4c 8b 53 c0
# Insn: 0046 opt_send_without_block (stack_size: 5)
0x7048874370b6: 90
# defer_compilation
0x7048874370b7: e9 54 28 00 00
# branch stub hit
0x704887439938: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))] -> [None, None, None, None, None]
0x704887439941: 4c 89 03 4c 89 4b 08 4c 89 53 10 48 bf 30 12
0x704887439950: 0b 60 48 70 00 00 be 00 00 00 00 e9 cb a6 bb
0x70488743995f: ff
# exit to interpreter on opt_send_without_block
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))] -> [None, None, None, None, None]
0x704887439960: 4c 89 03 4c 89 4b 08 4c 89 53 10 48 8d 43 18
0x70488743996f: 49 89 45 08 48 b8 20 71 03 3f f8 58 00 00 49
0x70488743997e: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))]
# Insn: 0046 opt_send_without_block (stack_size: 5)
# call to Class#new
# guard known object with singleton class
0x7048874370b7: 48 b8 c0 1c 20 86 48 70 00 00 49 39 c0 0f 85
0x7048874370c6: 6e 28 00 00
# RUBY_VM_CHECK_INTS(ec)
0x7048874370ca: 41 8b 44 24 20 85 c0 0f 85 89 28 00 00
# stack overflow check
0x7048874370d7: 48 8d 83 a8 00 00 00 49 39 c5 0f 86 79 28 00
0x7048874370e6: 00
# save PC to CFP
0x7048874370e7: 48 b8 30 71 03 3f f8 58 00 00 49 89 45 00 48
0x7048874370f6: 8d 43 30
# push cme, specval, frame type
0x7048874370f9: 48 b9 00 ad c4 7a 48 70 00 00 48 89 48 e8 48
0x704887437108: c7 40 f0 00 00 00 00 48 c7 40 f8 83 00 55 55
# push callee control frame
0x704887437117: 49 89 45 d0 49 c7 45 d8 00 00 00 00 4d 89 45
0x704887437126: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x704887437135: 45 e8
# set ec->cfp
0x704887437137: 49 8d 45 c8 49 89 44 24 10 48 8d 43 08
# call C function
# spill_regs: [None, None, Some(Stack(2)), Some(Stack(3)), Some(Stack(4))] -> [None, None, None, None, None]
0x704887437144: 4c 89 03 4c 89 4b 08 4c 89 53 10 bf 02 00 00
0x704887437153: 00 48 89 c6 4c 89 c2 e8 61 1f db 23
# reg_mapping: [None, None, None, None, None] -> [None, None, Some(Stack(2)), None, None]
0x70488743715f: 49 89 c0 4d 89 6c 24 10
# branch stub hit
0x70488743998c: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x704887439995: 4c 89 03 48 bf 50 1b 0b 60 48 70 00 00 be 00
0x7048874399a4: 00 00 00 e9 7f a6 bb ff
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), None, None]
# Insn: 0048 opt_send_without_block (stack_size: 3)
# defer_compilation
0x704887437167: e9 20 28 00 00
# branch stub hit
0x7048874399ac: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874399b5: 4c 89 03 48 bf 00 12 0b 60 48 70 00 00 be 00
0x7048874399c4: 00 00 00 e9 5f a6 bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [None, None, Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874399cc: 4c 89 03 48 8d 43 08 49 89 45 08 48 b8 30 71
0x7048874399db: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874399ea: b8 24 00 00 00 c3
# branch stub hit
0x7048874399f0: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(2)), None, None] -> [Some(Stack(0)), None, Some(Stack(2)), None, None]
0x7048874399f4: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, Some(Stack(2)), None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439a00: 48 89 33 48 bf 60 1a 0b 60 48 70 00 00 be 00
0x704887439a0f: 00 00 00 e9 14 a6 bb ff
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), None, None]
# Insn: 0048 opt_send_without_block (stack_size: 3)
# call to Class#set
# guard known object with singleton class
0x704887437167: 48 b8 c0 1c 20 86 48 70 00 00 48 39 43 f0 0f
0x704887437176: 85 31 28 00 00
# stack overflow check
0x70488743717b: 48 8d 83 a0 00 00 00 49 39 c5 0f 86 41 28 00
0x70488743718a: 00
# store caller sp
0x70488743718b: 48 8d 43 f0 49 89 45 08
# save PC to CFP
0x704887437193: 48 b8 40 71 03 3f f8 58 00 00 49 89 45 00 48
0x7048874371a2: 8d 43 20
# push cme, specval, frame type
0x7048874371a5: 48 b9 c0 bb 1c 86 48 70 00 00 48 89 48 e8 48
0x7048874371b4: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048874371c3: 49 89 45 d0 48 b9 20 b3 1f 86 48 70 00 00 49
0x7048874371d2: 89 4d d8 48 8b 4b f0 49 89 4d e0 49 c7 45 f0
0x7048874371e1: 00 00 00 00 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, Some(Local(1)), None, None]
0x7048874371f0: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048874371f3: 48 b8 f0 99 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887437201: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x704887439a17: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, None, Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439a20: 4c 89 43 e0 48 bf 00 32 0b 60 48 70 00 00 be
0x704887439a2f: 00 00 00 00 e9 f3 a5 bb ff
# gen_direct_jmp: fallthrough
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [None, None, Some(Local(1)), None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x70488743720a: e9 08 28 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, None, Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439a38: 4c 89 43 e0 48 b8 20 d5 1c 3f f8 58 00 00 49
0x704887439a47: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [None, None, Some(Local(1)), None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, Some(Local(1)), None, None] -> [Some(Stack(0)), None, Some(Local(1)), None, None]
0x70488743720a: 48 8b 73 d8
# gen_direct_jmp: fallthrough
0x70488743720e: 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), None, Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439a55: 48 89 33 4c 89 43 e0 48 8d 43 08 49 89 45 08
0x704887439a64: 48 b8 30 d5 1c 3f f8 58 00 00 49 89 45 00 5b
0x704887439a73: 41 5c 41 5d b8 24 00 00 00 c3
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [Some(Stack(0)), None, Some(Local(1)), None, None]
# Insn: 0002 opt_getconstant_path (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None]
0x70488743720f: 48 b8 e0 a7 fb 86 48 70 00 00 48 89 c7
# branch stub hit
0x704887439a7d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439a86: 48 89 33 48 89 7b 08 4c 89 43 e0 48 bf 10 59
0x704887439a95: 0b 60 48 70 00 00 be 00 00 00 00 e9 86 a5 bb
0x704887439aa4: ff
# gen_direct_jmp: fallthrough
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# defer_compilation
0x70488743721c: e9 5c 28 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x704887439aa5: 48 89 33 48 89 7b 08 4c 89 43 e0 48 8d 43 10
0x704887439ab4: 49 89 45 08 48 b8 40 d5 1c 3f f8 58 00 00 49
0x704887439ac3: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887439ad1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439ada: 48 89 33 48 89 7b 08 4c 89 4b 10 4c 89 43 e0
0x704887439ae9: 48 bf b0 5b 0b 60 48 70 00 00 be 00 00 00 00
0x704887439af8: e9 2e a5 bb ff
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None]
0x70488743721c: 4d 89 c1
# Insn: 0006 opt_send_without_block (stack_size: 3)
0x70488743721f: 66 90
# defer_compilation
0x704887437221: e9 ab 28 00 00
# branch stub hit
0x704887439afd: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439b06: 48 89 33 48 89 7b 08 4c 89 4b 10 4c 89 43 e0
0x704887439b15: 48 bf 80 59 0b 60 48 70 00 00 be 00 00 00 00
0x704887439b24: e9 02 a5 bb ff
# branch stub hit
0x704887439b29: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439b32: 48 89 33 48 89 7b 08 4c 89 4b 10 4c 89 43 e0
0x704887439b41: 48 bf 60 58 0b 60 48 70 00 00 be 00 00 00 00
0x704887439b50: e9 d6 a4 bb ff
# branch stub hit
0x704887439b55: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439b5e: 48 89 33 48 89 7b 08 4c 89 4b 10 4c 89 43 e0
0x704887439b6d: 48 bf 00 5c 0b 60 48 70 00 00 be 00 00 00 00
0x704887439b7c: e9 aa a4 bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, None, None, None, None]
0x704887439b81: 48 89 33 48 89 7b 08 4c 89 4b 10 4c 89 43 e0
0x704887439b90: 48 8d 43 18 49 89 45 08 48 b8 50 d5 1c 3f f8
0x704887439b9f: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887439bae: 00 00 c3
# branch stub hit
0x704887439bb1: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, Some(Stack(2)), None] -> [Some(Stack(0)), Some(Stack(1)), None, Some(Stack(2)), None]
0x704887439bb5: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, Some(Stack(2)), None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439bc1: 48 89 33 48 bf e0 e5 0b 60 48 70 00 00 be 00
0x704887439bd0: 00 00 00 e9 53 a4 bb ff
# regenerate_branch
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:49 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None]
# Insn: 0006 opt_send_without_block (stack_size: 3)
# call to ActionDispatch::Request#set_header
# guard not immediate
0x704887437221: 40 f6 c6 07 0f 85 d2 28 00 00 48 83 fe 00 0f
0x704887437230: 84 f4 28 00 00 48 89 f0
# guard known class
0x704887437238: 48 b9 e0 47 20 86 48 70 00 00 48 39 48 08 0f
0x704887437247: 85 09 29 00 00
# stack overflow check
0x70488743724c: 48 8d 83 b8 00 00 00 49 39 c5 0f 86 25 29 00
0x70488743725b: 00
# store caller sp
0x70488743725c: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887437263: 48 b8 60 d5 1c 3f f8 58 00 00 49 89 45 00 48
0x704887437272: 8d 43 30
# push cme, specval, frame type
0x704887437275: 48 b9 e0 a2 cd 78 48 70 00 00 48 89 48 e8 48
0x704887437284: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887437293: 49 89 45 d0 48 b9 20 8e 21 86 48 70 00 00 49
0x7048874372a2: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048874372b1: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), None, Some(Local(1)), None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(1)), Some(Stack(2)), None] -> [None, Some(Stack(1)), None, Some(Stack(2)), None]
0x7048874372bc: 48 89 33 4c 89 43 e0
# reuse maps: [None, Some(Local(0)), None, Some(Local(1)), None] -> [None, None, None, Some(Local(0)), Some(Local(1))]
0x7048874372c3: 4d 89 ca 49 89 f9 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048874372cc: 48 b8 b1 9b 43 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048874372da: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048874372e3: e9 90 fc ff ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439bd8: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 60 d5
0x704887439be7: 1c 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439bf6: b8 24 00 00 00 c3
# Block: set@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:50 
# reg_mapping: [None, Some(Stack(1)), None, Some(Stack(2)), None]
0x7048874372e8: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, Some(Stack(2)), None] -> [Some(Stack(0)), Some(Stack(1)), None, Some(Stack(2)), None]
0x7048874372ec: 48 89 c6
# Insn: 0008 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048874372ef: 41 8b 44 24 20 85 c0 0f 85 dc 28 00 00
# pop stack frame
0x7048874372fc: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x70488743730b: f8
# regenerate_branch
# update cfp->jit_return
0x7048874372cc: 48 b8 e8 72 43 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887439bfc: 56 57 41 50 41 51 41 52 50 48 bf 90 77 0b 60
0x704887439c0b: 48 70 00 00 be 00 00 00 00 e9 12 a4 bb ff
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [None, None, Some(Stack(2)), None, None]
0x70488743730c: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(2)), None, None] -> [Some(Stack(0)), None, Some(Stack(2)), None, None]
0x704887437310: 48 89 c6
# Insn: 0050 pop (stack_size: 1)
# Insn: 0051 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x704887437313: e9 e4 28 00 00
# regenerate_branch
# update cfp->jit_return
0x7048874371f3: 48 b8 0c 73 43 87 48 70 00 00 49 89 45 f8
# exit to interpreter on getlocal_WC_0
0x704887439c19: 48 b8 48 71 03 3f f8 58 00 00 49 89 45 00 5b
0x704887439c28: 41 5c 41 5d b8 24 00 00 00 c3
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439c32: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 58 71
0x704887439c41: 03 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439c50: b8 24 00 00 00 c3
# regenerate_branch
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:26 
# reg_mapping: [None, None, None, None, None]
# Insn: 0051 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887437313: 48 8b 73 e0
# Insn: 0053 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887437317: 41 8b 44 24 20 85 c0 0f 85 0e 29 00 00
# pop stack frame
0x704887437324: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887437333: f8
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439c56: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 a0 4c
0x704887439c65: 06 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439c74: b8 24 00 00 00 c3
# Block: prepare_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/middleware/session/abstract_store.rb:79 
# reg_mapping: [None, None, Some(Stack(1)), Some(Stack(2)), Some(Stack(3))]
0x704887437334: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(1)), Some(Stack(2)), Some(Stack(3))] -> [Some(Stack(0)), None, Some(Stack(1)), Some(Stack(2)), Some(Stack(3))]
0x704887437338: 48 89 c6
# Insn: 0010 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x70488743733b: 41 8b 44 24 20 85 c0 0f 85 0e 29 00 00
# pop stack frame
0x704887437348: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887437357: f8
# regenerate_branch
# update cfp->jit_return
0x704887436b2b: 48 b8 34 73 43 87 48 70 00 00 49 89 45 f8
# exit to interpreter on pop
0x704887439c7a: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887439c7e: 48 89 c6
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887439c81: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 38 37
0x704887439c90: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887439c9f: b8 24 00 00 00 c3
# branch stub hit
0x704887439ca5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439cae: 48 89 33 48 89 7b 08 48 bf 00 ab 0b 60 48 70
0x704887439cbd: 00 00 be 00 00 00 00 e9 62 a3 bb ff
# Block: context@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:265 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x704887437358: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488743735c: 48 89 c6
# Insn: 0017 pop (stack_size: 1)
# Insn: 0018 getlocal_WC_0 (stack_size: 0)
0x70488743735f: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887437363: 48 8b 70 c0
# Insn: 0020 getlocal_WC_0 (stack_size: 1)
0x704887437367: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488743736b: 48 8b 78 c8
# Insn: 0022 opt_send_without_block (stack_size: 2)
# defer_compilation
0x70488743736f: e9 31 29 00 00
# regenerate_branch
# update cfp->jit_return
0x704887436a4c: 48 b8 58 73 43 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887439cc9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439cd2: 48 89 33 48 89 7b 08 48 bf 90 b6 0b 60 48 70
0x704887439ce1: 00 00 be 00 00 00 00 e9 3e a3 bb ff
# branch stub hit
0x704887439ced: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439cf6: 48 89 33 48 89 7b 08 48 bf 70 b8 0b 60 48 70
0x704887439d05: 00 00 be 00 00 00 00 e9 1a a3 bb ff
# branch stub hit
0x704887439d11: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439d1a: 48 89 33 48 89 7b 08 48 bf e0 bc 0b 60 48 70
0x704887439d29: 00 00 be 00 00 00 00 e9 f6 a2 bb ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439d35: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x704887439d44: 48 b8 60 37 19 3f f8 58 00 00 49 89 45 00 5b
0x704887439d53: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887439d5d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887439d66: 48 89 33 48 89 7b 08 48 bf 80 c1 0b 60 48 70
0x704887439d75: 00 00 be 00 00 00 00 e9 aa a2 bb ff
# regenerate_branch
# Block: context@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:266 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0022 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Request#env
# guard not immediate
0x70488743736f: 40 f6 c7 07 0f 85 50 29 00 00 48 83 ff 00 0f
0x70488743737e: 84 6a 29 00 00 48 89 f8
# guard known class
0x704887437386: 48 b9 e0 47 20 86 48 70 00 00 48 39 48 08 0f
0x704887437395: 85 77 29 00 00 48 89 f8
# guard shape
--
0x7048874857bc: 41 5c 41 5d b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874830fb: 48 b8 c0 1c 20 86 48 70 00 00 48 89 c6
# branch stub hit
0x7048874857c6: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874857cf: 48 89 33 48 bf 50 41 9f 60 48 70 00 00 be 00
0x7048874857de: 00 00 00 e9 45 e8 b6 ff
# gen_direct_jmp: fallthrough
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 getinstancevariable (stack_size: 1)
# defer_compilation
0x704887483108: e9 b9 26 00 00
# branch stub hit
0x7048874857e6: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874857ef: 48 89 33 48 bf 50 5f 9f 60 48 70 00 00 be 00
0x7048874857fe: 00 00 00 e9 25 e8 b6 ff
# regenerate_branch
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 getinstancevariable (stack_size: 1)
0x704887483108: 49 8b 45 18
# guard shape
0x70488748310c: 81 78 04 ce 10 00 00 0f 85 cd 26 00 00
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887483119: 48 8b 78 18
# branch stub hit
0x704887485806: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x70488748580f: 48 89 33 48 89 7b 08 48 bf d0 91 a0 60 48 70
0x70488748581e: 00 00 be 00 00 00 00 e9 01 e8 b6 ff
# gen_direct_jmp: fallthrough
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0005 opt_send_without_block (stack_size: 2)
# defer_compilation
0x70488748311d: e9 e4 26 00 00
# branch stub hit
0x70488748582a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485833: 48 89 33 48 89 7b 08 48 bf 10 5e 9f 60 48 70
0x704887485842: 00 00 be 00 00 00 00 e9 dd e7 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x70488748584e: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x70488748585d: 48 b8 68 e5 1e 3f f8 58 00 00 49 89 45 00 5b
0x70488748586c: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485876: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488748587a: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485886: 48 89 33 48 bf 50 8b a0 60 48 70 00 00 be 00
0x704887485895: 00 00 00 e9 8e e7 b6 ff
# regenerate_branch
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0005 opt_send_without_block (stack_size: 2)
# call to Class#find
# guard known object with singleton class
0x70488748311d: 48 b8 c0 1c 20 86 48 70 00 00 48 39 c6 0f 85
0x70488748312c: fa 26 00 00
# stack overflow check
0x704887483130: 48 8d 83 98 00 00 00 49 39 c5 0f 86 0e 27 00
0x70488748313f: 00
# store caller sp
0x704887483140: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887483147: 48 b8 78 e5 1e 3f f8 58 00 00 49 89 45 00 48
0x704887483156: 8d 43 28
# push cme, specval, frame type
0x704887483159: 48 b9 70 bb 1c 86 48 70 00 00 48 89 48 e8 48
0x704887483168: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887483177: 49 89 45 d0 48 b9 a8 b2 1f 86 48 70 00 00 49
0x704887483186: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887483195: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048874831a0: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048874831a6: 48 b8 76 58 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048874831b4: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x70488748589d: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048874858a6: 48 89 7b e0 48 bf 10 a3 a0 60 48 70 00 00 be
0x7048874858b5: 00 00 00 00 e9 6d e7 b6 ff
# gen_direct_jmp: fallthrough
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:53 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x7048874831bd: e9 db 26 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048874858be: 48 89 7b e0 48 b8 d0 ba 1e 3f f8 58 00 00 49
0x7048874858cd: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:53 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x7048874831bd: 48 89 fe
# gen_direct_jmp: fallthrough
0x7048874831c0: 66 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048874858db: 48 89 33 48 89 7b e0 48 8d 43 08 49 89 45 08
0x7048874858ea: 48 b8 e0 ba 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048874858f9: 41 5c 41 5d b8 24 00 00 00 c3
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:53 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0002 opt_getconstant_path (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
0x7048874831c2: 48 b8 e0 a7 fb 86 48 70 00 00 49 89 c0
# branch stub hit
0x704887485903: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x70488748590c: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 20 bc
0x70488748591b: a0 60 48 70 00 00 be 00 00 00 00 e9 00 e7 b6
0x70488748592a: ff
# gen_direct_jmp: fallthrough
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:53 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0004 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048874831cf: e9 2f 27 00 00
# branch stub hit
0x70488748592b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485934: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf f0 5e
0x704887485943: 9f 60 48 70 00 00 be 00 00 00 00 e9 d8 e6 b6
0x704887485952: ff
# branch stub hit
0x704887485953: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x70488748595c: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 50 64
0x70488748596b: a0 60 48 70 00 00 be 00 00 00 00 e9 b0 e6 b6
0x70488748597a: ff
# branch stub hit
0x70488748597b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485984: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf f0 7d
0x704887485993: a0 60 48 70 00 00 be 00 00 00 00 e9 88 e6 b6
0x7048874859a2: ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x7048874859a3: 48 89 33 4c 89 43 08 48 89 7b e0 48 8d 43 10
0x7048874859b2: 49 89 45 08 48 b8 f0 ba 1e 3f f8 58 00 00 49
0x7048874859c1: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048874859cf: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, Some(Stack(1)), None, None]
0x7048874859d3: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874859df: 48 89 33 48 bf 50 fe 9f 60 48 70 00 00 be 00
0x7048874859ee: 00 00 00 e9 35 e6 b6 ff
# regenerate_branch
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:53 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0004 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Request#get_header
# guard not immediate
0x7048874831cf: 40 f6 c6 07 0f 85 52 27 00 00 48 83 fe 00 0f
0x7048874831de: 84 70 27 00 00 48 89 f0
# guard known class
0x7048874831e6: 48 b9 e0 47 20 86 48 70 00 00 48 39 48 08 0f
0x7048874831f5: 85 81 27 00 00
# stack overflow check
0x7048874831fa: 48 8d 83 98 00 00 00 49 39 c5 0f 86 99 27 00
0x704887483209: 00
# store caller sp
0x70488748320a: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887483211: 48 b8 00 bb 1e 3f f8 58 00 00 49 89 45 00 48
0x704887483220: 8d 43 28
# push cme, specval, frame type
0x704887483223: 48 b9 18 a2 cd 78 48 70 00 00 48 89 48 e8 48
0x704887483232: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887483241: 49 89 45 d0 48 b9 88 8f 21 86 48 70 00 00 49
0x704887483250: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x70488748325f: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, Some(Local(0)), None, None]
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, Some(Stack(1)), None, None]
0x70488748326a: 48 89 33 48 89 7b e0
# reuse maps: [None, None, Some(Local(0)), None, None] -> [None, None, None, None, None]
0x704887483271: 4c 89 43 08 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887483278: 48 b8 cf 59 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887483286: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x70488748328f: e9 55 74 e2 ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874859f6: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 00 bb
0x704887485a05: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887485a14: b8 24 00 00 00 c3
# Block: find@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:54 
# reg_mapping: [None, None, Some(Stack(1)), None, None]
0x704887483294: 49 8b 5d 08
# reg_mapping: [None, None, Some(Stack(1)), None, None] -> [Some(Stack(0)), None, Some(Stack(1)), None, None]
0x704887483298: 48 89 c6
# Insn: 0006 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x70488748329b: 41 8b 44 24 20 85 c0 0f 85 4e 27 00 00
# pop stack frame
0x7048874832a8: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048874832b7: f8
# regenerate_branch
# update cfp->jit_return
0x704887483278: 48 b8 94 32 48 87 48 70 00 00 49 89 45 f8
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485a1a: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 78 e5
0x704887485a29: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887485a38: b8 24 00 00 00 c3
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:97 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x7048874832b8: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048874832bc: 48 89 c6
# Insn: 0007 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048874832bf: 41 8b 44 24 20 85 c0 0f 85 4e 27 00 00
# pop stack frame
0x7048874832cc: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048874832db: f8
# regenerate_branch
# update cfp->jit_return
0x7048874831a6: 48 b8 b8 32 48 87 48 70 00 00 49 89 45 f8
# exit to interpreter on setlocal_WC_0
0x704887485a3e: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887485a42: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485a45: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 85
0x704887485a54: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887485a63: b8 24 00 00 00 c3
# branch stub hit
0x704887485a69: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485a72: 48 89 33 48 bf 90 0c a0 60 48 70 00 00 be 00
0x704887485a81: 00 00 00 e9 a2 e5 b6 ff
# branch stub hit
0x704887485a89: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485a92: 48 89 33 48 89 7b 08 48 bf 60 0e a0 60 48 70
0x704887485aa1: 00 00 be 00 00 00 00 e9 7e e5 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:375 
# reg_mapping: [None, None, None, None, None]
0x7048874832dc: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874832e0: 48 89 c6
# Insn: 0012 setlocal_WC_0 (stack_size: 1)
0x7048874832e3: 49 8b 45 20 f6 00 08 0f 85 79 27 00 00 48 89
0x7048874832f2: 70 c8
# Insn: 0014 getlocal_WC_0 (stack_size: 0)
0x7048874832f4: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874832f8: 48 8b 70 c8
# Insn: 0016 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048874832fc: bf 0c 01 18 00
# Insn: 0018 opt_aref (stack_size: 2)
# defer_compilation
0x704887483301: e9 83 27 00 00
# regenerate_branch
# update cfp->jit_return
0x7048874830e4: 48 b8 dc 32 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887485aad: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485ab6: 48 89 33 48 89 7b 08 48 bf 20 82 a0 60 48 70
0x704887485ac5: 00 00 be 00 00 00 00 e9 5a e5 b6 ff
# branch stub hit
0x704887485ad1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485ada: 48 89 33 48 89 7b 08 48 bf 90 b1 a0 60 48 70
0x704887485ae9: 00 00 be 00 00 00 00 e9 36 e5 b6 ff
# branch stub hit
0x704887485af5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485afe: 48 89 33 48 89 7b 08 48 bf 80 b5 a0 60 48 70
0x704887485b0d: 00 00 be 00 00 00 00 e9 12 e5 b6 ff
# exit to interpreter on opt_aref
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485b19: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x704887485b28: 48 b8 80 85 19 3f f8 58 00 00 49 89 45 00 5b
0x704887485b37: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485b41: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887485b45: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485b51: 48 89 33 48 bf f0 29 a0 60 48 70 00 00 be 00
0x704887485b60: 00 00 00 e9 c3 e4 b6 ff
# regenerate_branch
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:377 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0018 opt_aref (stack_size: 2)
# call to ActionDispatch::Request::Session::Options#[]
# guard not immediate
0x704887483301: 40 f6 c6 07 0f 85 a2 27 00 00 48 83 fe 00 0f
0x704887483310: 84 bc 27 00 00 48 89 f0
# guard known class
0x704887483318: 48 b9 c0 1c 20 86 48 70 00 00 48 39 48 08 0f
0x704887483327: 85 c9 27 00 00
# stack overflow check
0x70488748332c: 48 8d 83 98 00 00 00 49 39 c5 0f 86 dd 27 00
0x70488748333b: 00
# store caller sp
0x70488748333c: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887483343: 48 b8 90 85 19 3f f8 58 00 00 49 89 45 00 48
0x704887483352: 8d 43 28
# push cme, specval, frame type
--
0x704887485b80: 00 00 00 00 e9 a2 e4 b6 ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
# defer_compilation
0x7048874833b9: e9 aa 27 00 00
# branch stub hit
0x704887485b89: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887485b92: 48 89 7b e0 48 bf 50 62 a0 60 48 70 00 00 be
0x704887485ba1: 00 00 00 00 e9 81 e4 b6 ff
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x7048874833b9: 49 8b 45 18
# guard shape
0x7048874833bd: 81 78 04 d0 10 00 00 0f 85 bf 27 00 00
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x7048874833ca: 48 8b 70 18
# branch stub hit
0x704887485baa: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887485bb3: 48 89 33 48 89 7b e0 48 bf 50 45 a0 60 48 70
0x704887485bc2: 00 00 be 00 00 00 00 e9 5d e4 b6 ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0003 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048874833ce: e9 d7 27 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887485bce: 48 89 33 48 89 7b e0 48 8d 43 08 49 89 45 08
0x704887485bdd: 48 b8 a8 c2 1e 3f f8 58 00 00 49 89 45 00 5b
0x704887485bec: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485bf6: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485bff: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 80 5a
0x704887485c0e: 9f 60 48 70 00 00 be 00 00 00 00 e9 0d e4 b6
0x704887485c1d: ff
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0003 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
0x7048874833ce: 49 89 f8
# Insn: 0005 opt_aref (stack_size: 2)
0x7048874833d1: 66 90
# defer_compilation
0x7048874833d3: e9 1e 28 00 00
# exit to interpreter on opt_aref
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485c1e: 48 89 33 4c 89 43 08 48 89 7b e0 48 8d 43 10
0x704887485c2d: 49 89 45 08 48 b8 b8 c2 1e 3f f8 58 00 00 49
0x704887485c3c: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485c4a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485c53: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 60 50
0x704887485c62: a0 60 48 70 00 00 be 00 00 00 00 e9 b9 e3 b6
0x704887485c71: ff
# branch stub hit
0x704887485c72: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485c7b: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf c0 53
0x704887485c8a: a0 60 48 70 00 00 be 00 00 00 00 e9 91 e3 b6
0x704887485c99: ff
# branch stub hit
0x704887485c9a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887485ca3: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 60 c8
0x704887485cb2: a0 60 48 70 00 00 be 00 00 00 00 e9 69 e3 b6
0x704887485cc1: ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485cc2: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 c8
0x704887485cd1: c2 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x704887485ce0: 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0005 opt_aref (stack_size: 2)
# guard not immediate
0x7048874833d3: 40 f6 c6 07 0f 85 6d 28 00 00 48 83 fe 00 0f
0x7048874833e2: 84 8b 28 00 00 48 89 f0
# guard known class
0x7048874833ea: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048874833f9: 85 9c 28 00 00
# save PC to CFP
0x7048874833fe: 48 b8 c8 c2 1e 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x70488748340c: 48 8d 5b 10 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887483414: 48 89 73 f0 4c 89 43 f8 48 89 7b d0 48 89 f7
0x704887483423: 4c 89 c6 e8 15 88 cf 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x70488748342b: 48 89 c6
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485ce7: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 c8
0x704887485cf6: c2 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x704887485d05: 5d b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:63 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0007 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x70488748342e: 41 8b 44 24 20 85 c0 0f 85 ac 28 00 00
# pop stack frame
0x70488748343b: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x70488748344a: f8
# branch stub hit
0x704887485d0c: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485d15: 48 bf 00 3c a0 60 48 70 00 00 be 00 00 00 00
0x704887485d24: e9 02 e3 b6 ff
# branch stub hit
0x704887485d29: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485d32: 48 bf 00 3c a0 60 48 70 00 00 be 01 00 00 00
0x704887485d41: e9 e5 e2 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:377 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x70488748344b: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488748344f: 48 89 c6
# Insn: 0020 branchif (stack_size: 1)
0x704887483452: 48 f7 c6 fb ff ff ff 0f 85 ad 28 00 00 e9 c5
0x704887483461: 28 00 00
# regenerate_branch
# update cfp->jit_return
0x7048874833a2: 48 b8 4b 34 48 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x704887483459: 0f 85 ad 28 00 00
# exit to interpreter on getlocal_WC_0
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485d46: 48 b8 a0 85 19 3f f8 58 00 00 49 89 45 00 5b
0x704887485d55: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485d5f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485d68: 48 89 33 48 89 7b 08 48 bf 40 de a0 60 48 70
0x704887485d77: 00 00 be 00 00 00 00 e9 a8 e2 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:377 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0022 getlocal_WC_0 (stack_size: 0)
0x70488748345f: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887483463: 48 8b 70 c8
# Insn: 0024 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887483467: bf 0c 01 98 04
# Insn: 0026 opt_aref (stack_size: 2)
# defer_compilation
0x70488748346c: e9 ee 28 00 00
# regenerate_branch
0x704887483459: 0f 85 ad 28 00 00
# branch stub hit
0x704887485d83: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485d8c: 48 89 33 48 89 7b 08 48 bf 40 e3 a0 60 48 70
0x704887485d9b: 00 00 be 00 00 00 00 e9 84 e2 b6 ff
# branch stub hit
0x704887485da7: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485db0: 48 89 33 48 89 7b 08 48 bf a0 e4 a0 60 48 70
0x704887485dbf: 00 00 be 00 00 00 00 e9 60 e2 b6 ff
# branch stub hit
0x704887485dcb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485dd4: 48 89 33 48 89 7b 08 48 bf 00 ea a0 60 48 70
0x704887485de3: 00 00 be 00 00 00 00 e9 3c e2 b6 ff
# exit to interpreter on opt_aref
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887485def: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x704887485dfe: 48 b8 c0 85 19 3f f8 58 00 00 49 89 45 00 5b
0x704887485e0d: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485e17: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887485e1b: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485e27: 48 89 33 48 bf 50 fb a0 60 48 70 00 00 be 00
0x704887485e36: 00 00 00 e9 ed e1 b6 ff
# regenerate_branch
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:377 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0026 opt_aref (stack_size: 2)
# call to ActionDispatch::Request::Session::Options#[]
# guard not immediate
0x70488748346c: 40 f6 c6 07 0f 85 0d 29 00 00 48 83 fe 00 0f
0x70488748347b: 84 27 29 00 00 48 89 f0
# guard known class
0x704887483483: 48 b9 c0 1c 20 86 48 70 00 00 48 39 48 08 0f
0x704887483492: 85 34 29 00 00
# stack overflow check
0x704887483497: 48 8d 83 98 00 00 00 49 39 c5 0f 86 48 29 00
0x7048874834a6: 00
# store caller sp
0x7048874834a7: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048874834ae: 48 b8 d0 85 19 3f f8 58 00 00 49 89 45 00 48
0x7048874834bd: 8d 43 28
--
0x70488748351b: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
# defer_compilation
0x704887483524: e9 90 fe ff ff
# branch stub hit
0x704887485e3e: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485e47: 48 bf e0 5b 9f 60 48 70 00 00 be 00 00 00 00
0x704887485e56: e9 d0 e1 b6 ff
# branch stub hit
0x704887485e5b: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485e64: 48 bf e0 5b 9f 60 48 70 00 00 be 01 00 00 00
0x704887485e73: e9 b3 e1 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:377 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x704887483529: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488748352d: 48 89 c6
# Insn: 0028 branchunless (stack_size: 1)
0x704887483530: 48 f7 c6 fb ff ff ff 0f 84 01 29 00 00 e9 19
0x70488748353f: 29 00 00
# regenerate_branch
# update cfp->jit_return
0x70488748350d: 48 b8 29 35 48 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x704887483537: 0f 85 1e 29 00 00
# exit to interpreter on putself
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485e78: 48 b8 b0 86 19 3f f8 58 00 00 49 89 45 00 5b
0x704887485e87: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887485e91: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None] -> [None, None, None, None, None]
0x704887485e9a: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b 18
0x704887485ea9: 48 bf 60 d0 a0 60 48 70 00 00 be 00 00 00 00
0x704887485eb8: e9 6e e1 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:382 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0056 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x70488748353d: 49 8b 75 18
# Insn: 0057 getlocal_WC_0 (stack_size: 1)
0x704887483541: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887483545: 48 8b 78 b0
# Insn: 0059 getlocal_WC_0 (stack_size: 2)
0x704887483549: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x70488748354d: 4c 8b 40 c0
# Insn: 0061 getlocal_WC_0 (stack_size: 3)
0x704887483551: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None]
0x704887483555: 4c 8b 48 c8
# Insn: 0063 opt_send_without_block (stack_size: 4)
# defer_compilation
0x704887483559: e9 33 29 00 00
# regenerate_branch
0x704887483537: 0f 85 1e 29 00 00
# branch stub hit
0x704887485ebd: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None] -> [None, None, None, None, None]
0x704887485ec6: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b 18
0x704887485ed5: 48 bf b0 d1 a0 60 48 70 00 00 be 00 00 00 00
0x704887485ee4: e9 42 e1 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None] -> [None, None, None, None, None]
0x704887485ee9: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b 18
0x704887485ef8: 48 8d 43 20 49 89 45 08 48 b8 e8 86 19 3f f8
0x704887485f07: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x704887485f16: 00 00 c3
# branch stub hit
0x704887485f19: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None]
0x704887485f1d: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887485f29: 48 89 33 48 bf 60 20 a0 60 48 70 00 00 be 00
0x704887485f38: 00 00 00 e9 eb e0 b6 ff
# regenerate_branch
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:382 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), None]
# Insn: 0063 opt_send_without_block (stack_size: 4)
# call to ActionDispatch::Session::ActiveRecordStore#commit_session?
0x704887483559: 48 89 f0
# guard known class
0x70488748355c: 48 b9 80 11 20 86 48 70 00 00 48 39 48 08 0f
0x70488748356b: 85 4d 29 00 00
# stack overflow check
0x704887483570: 48 8d 83 c8 00 00 00 49 39 c5 0f 86 69 29 00
0x70488748357f: 00
# nil-initialize locals
0x704887483580: 48 c7 43 20 04 00 00 00
# store caller sp
0x704887483588: 48 8d 03 49 89 45 08
# save PC to CFP
0x70488748358f: 48 b8 f8 86 19 3f f8 58 00 00 49 89 45 00 48
0x70488748359e: 8d 43 40
# push cme, specval, frame type
0x7048874835a1: 48 b9 50 09 21 86 48 70 00 00 48 89 48 e8 48
--
0x704887488426: 48 70 00 00 be 00 00 00 00 e9 f7 bb b6 ff
# gen_direct_jmp: fallthrough
# Block: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:236 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
# defer_compilation
0x704887486297: e9 7b 21 00 00
# branch stub hit
0x704887488434: 56 57 41 50 41 51 41 52 50 48 bf 00 59 a1 60
0x704887488443: 48 70 00 00 be 00 00 00 00 e9 da bb b6 ff
# regenerate_branch
# Block: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:236 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x704887486297: 49 8b 45 18
# guard shape
0x70488748629b: 81 78 04 ce 10 00 00 0f 85 8c 21 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874862a8: 48 8b 70 28
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488451: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 38 1b
0x704887488460: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x70488748846f: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:237 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048874862ac: 41 8b 44 24 20 85 c0 0f 85 98 21 00 00
# pop stack frame
0x7048874862b9: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048874862c8: f8
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488475: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 97
0x704887488484: fb 3e f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488493: b8 24 00 00 00 c3
# Block: loaded_session?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/middleware/session/abstract_store.rb:83 
# reg_mapping: [None, None, None, None, None]
0x7048874862c9: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874862cd: 48 89 c6
# Insn: 0016 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048874862d0: 41 8b 44 24 20 85 c0 0f 85 98 21 00 00
# pop stack frame
0x7048874862dd: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048874862ec: f8
# regenerate_branch
# update cfp->jit_return
0x704887486280: 48 b8 c9 62 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887488499: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874884a2: 48 89 33 48 bf 10 7a a1 60 48 70 00 00 be 00
0x7048874884b1: 00 00 00 e9 72 bb b6 ff
# branch stub hit
0x7048874884b9: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874884c2: 48 89 33 48 bf 10 7a a1 60 48 70 00 00 be 01
0x7048874884d1: 00 00 00 e9 52 bb b6 ff
# Block: commit_session?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:346 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x7048874862ed: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048874862f1: 48 89 c6
# Insn: 0016 dup (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048874862f4: 48 89 f7
# Insn: 0017 branchif (stack_size: 2)
0x7048874862f7: 48 f7 c7 fb ff ff ff 0f 85 95 21 00 00 e9 b0
0x704887486306: 21 00 00
# regenerate_branch
# update cfp->jit_return
0x704887486176: 48 b8 ed 62 48 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048874862fe: 0f 84 b5 21 00 00
# exit to interpreter on setlocal_WC_0
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874884d9: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 08 c2
0x7048874884e8: 00 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874884f7: b8 24 00 00 00 c3
# branch stub hit
0x7048874884fd: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887488506: 48 89 33 48 89 7b e0 48 bf c0 8a a1 60 48 70
0x704887488515: 00 00 be 00 00 00 00 e9 0a bb b6 ff
# branch stub hit
0x704887488521: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x70488748852a: 48 89 7b e0 48 bf 00 8e a1 60 48 70 00 00 be
0x704887488539: 00 00 00 00 e9 e9 ba b6 ff
# Block: commit_session?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:346 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0027 setlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Local(3)), None, None, None]
0x704887486304: f6 43 f8 08 0f 85 ef 21 00 00 48 89 f7
# Insn: 0029 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x704887486311: e9 0b 22 00 00
# regenerate_branch
0x7048874862fe: 0f 84 b5 21 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [None, Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887488542: 48 89 7b e0 48 b8 18 c2 00 3f f8 58 00 00 49
0x704887488551: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x70488748855f: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None] -> [Some(Stack(0)), Some(Local(3)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x704887488568: 48 89 33 48 89 7b e0 48 bf e0 9f a1 60 48 70
0x704887488577: 00 00 be 00 00 00 00 e9 a8 ba b6 ff
# branch stub hit
0x704887488583: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Local(3)), Some(Stack(1)), None, None] -> [Some(Stack(0)), Some(Local(3)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Local(3)), None, None, None] -> [None, None, None, None, None]
0x70488748858c: 48 89 33 48 89 7b e0 48 bf e0 9f a1 60 48 70
0x70488748859b: 00 00 be 01 00 00 00 e9 84 ba b6 ff
# regenerate_branch
# Block: commit_session?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:347 
# reg_mapping: [None, Some(Local(3)), None, None, None]
# Insn: 0029 getlocal_WC_0 (stack_size: 0)
--
0x704887488b38: 00 00 00 e9 eb b4 b6 ff
# gen_direct_jmp: fallthrough
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:88 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874866b3: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048874866b7: e9 64 24 00 00
# branch stub hit
0x704887488b40: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488b49: 48 89 33 48 bf 90 d8 a2 60 48 70 00 00 be 00
0x704887488b58: 00 00 00 e9 cb b4 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488b60: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 48 de
0x704887488b6f: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488b7e: b8 24 00 00 00 c3
# branch stub hit
0x704887488b84: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887488b88: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488b94: 48 89 33 48 bf a0 04 a3 60 48 70 00 00 be 00
0x704887488ba3: 00 00 00 e9 80 b4 b6 ff
# regenerate_branch
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:88 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#options
0x7048874866b7: 48 89 f0
# guard known class
0x7048874866ba: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048874866c9: 85 72 24 00 00
# stack overflow check
0x7048874866ce: 48 8d 83 88 00 00 00 49 39 c5 0f 86 82 24 00
0x7048874866dd: 00
# store caller sp
0x7048874866de: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048874866e5: 48 b8 58 de 1e 3f f8 58 00 00 49 89 45 00 48
0x7048874866f4: 8d 43 20
# push cme, specval, frame type
0x7048874866f7: 48 b9 90 b9 1c 86 48 70 00 00 48 89 48 e8 48
0x704887486706: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887486715: 49 89 45 d0 48 b9 c0 ae 1f 86 48 70 00 00 49
0x704887486724: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887486733: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748673e: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x704887486741: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887486744: 48 b8 84 8b 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887486752: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x70488748675b: e9 9b c9 ff ff
# branch stub hit
0x704887488bab: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488bb4: 48 89 33 48 bf 80 dc a2 60 48 70 00 00 be 00
0x704887488bc3: 00 00 00 e9 60 b4 b6 ff
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:88 
# reg_mapping: [None, None, None, None, None]
0x704887486760: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486764: 48 89 c6
# Insn: 0003 getinstancevariable (stack_size: 1)
0x704887486767: 49 8b 45 18
# guard shape
0x70488748676b: 81 78 04 ce 10 00 00 0f 85 33 24 00 00
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887486778: 48 8b 78 18
# branch stub hit
0x704887488bcb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887488bd4: 48 89 33 48 89 7b 08 48 bf a0 0c a3 60 48 70
0x704887488be3: 00 00 be 00 00 00 00 e9 3c b4 b6 ff
# gen_direct_jmp: fallthrough
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:88 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0006 opt_send_without_block (stack_size: 2)
# defer_compilation
0x70488748677c: e9 4a 24 00 00
# regenerate_branch
# update cfp->jit_return
0x704887486744: 48 b8 60 67 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887488bef: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887488bf8: 48 89 33 48 89 7b 08 48 bf c0 f8 a2 60 48 70
0x704887488c07: 00 00 be 00 00 00 00 e9 18 b4 b6 ff
# branch stub hit
0x704887488c13: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887488c1c: 48 89 33 48 89 7b 08 48 bf 80 bf a2 60 48 70
0x704887488c2b: 00 00 be 00 00 00 00 e9 f4 b3 b6 ff
# branch stub hit
0x704887488c37: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887488c40: 48 89 33 48 89 7b 08 48 bf 90 18 a3 60 48 70
0x704887488c4f: 00 00 be 00 00 00 00 e9 d0 b3 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887488c5b: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x704887488c6a: 48 b8 70 de 1e 3f f8 58 00 00 49 89 45 00 5b
0x704887488c79: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887488c83: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887488c87: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488c93: 48 89 33 48 bf 20 1e a3 60 48 70 00 00 be 00
0x704887488ca2: 00 00 00 e9 81 b3 b6 ff
# regenerate_branch
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:88 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0006 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Request::Session::Options#id
# guard not immediate
0x70488748677c: 40 f6 c6 07 0f 85 69 24 00 00 48 83 fe 00 0f
0x70488748678b: 84 83 24 00 00 48 89 f0
# guard known class
0x704887486793: 48 b9 c0 1c 20 86 48 70 00 00 48 39 48 08 0f
0x7048874867a2: 85 90 24 00 00
# stack overflow check
0x7048874867a7: 48 8d 83 98 00 00 00 49 39 c5 0f 86 a4 24 00
0x7048874867b6: 00
# store caller sp
0x7048874867b7: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048874867be: 48 b8 80 de 1e 3f f8 58 00 00 49 89 45 00 48
0x7048874867cd: 8d 43 28
# push cme, specval, frame type
0x7048874867d0: 48 b9 d0 ba 1c 86 48 70 00 00 48 89 48 e8 48
0x7048874867df: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048874867ee: 49 89 45 d0 48 b9 68 b1 1f 86 48 70 00 00 49
0x7048874867fd: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x70488748680c: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x704887486817: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x70488748681d: 48 b8 83 8c 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x70488748682b: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x704887488caa: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887488cb3: 48 89 7b e0 48 bf 90 bd a2 60 48 70 00 00 be
0x704887488cc2: 00 00 00 00 e9 60 b3 b6 ff
# gen_direct_jmp: fallthrough
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:66 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
# defer_compilation
0x704887486834: e9 71 24 00 00
# branch stub hit
0x704887488ccb: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x704887488cd4: 48 89 7b e0 48 bf 90 ba a2 60 48 70 00 00 be
0x704887488ce3: 00 00 00 00 e9 3f b3 b6 ff
# regenerate_branch
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:66 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x704887486834: 49 8b 45 18
# guard shape
0x704887486838: 81 78 04 d0 10 00 00 0f 85 86 24 00 00
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x704887486845: 48 8b 70 18
# branch stub hit
0x704887488cec: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887488cf5: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf d0 0c
0x704887488d04: a3 60 48 70 00 00 be 00 00 00 00 e9 17 b3 b6
0x704887488d13: ff
# gen_direct_jmp: fallthrough
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:66 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0003 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
0x704887486849: 41 b8 0c b1 8f 00
# Insn: 0005 send (stack_size: 2)
# defer_compilation
0x70488748684f: e9 98 24 00 00
# branch stub hit
0x704887488d14: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887488d1d: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf a0 1c
0x704887488d2c: a3 60 48 70 00 00 be 00 00 00 00 e9 ef b2 b6
0x704887488d3b: ff
# branch stub hit
0x704887488d3c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887488d45: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf d0 3e
0x704887488d54: a3 60 48 70 00 00 be 00 00 00 00 e9 c7 b2 b6
0x704887488d63: ff
# branch stub hit
0x704887488d64: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887488d6d: 48 89 33 4c 89 43 08 48 89 7b e0 48 bf 80 43
0x704887488d7c: a3 60 48 70 00 00 be 00 00 00 00 e9 9f b2 b6
0x704887488d8b: ff
# exit to interpreter on send
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887488d8c: 48 89 33 4c 89 43 08 48 89 7b e0 48 8d 43 10
0x704887488d9b: 49 89 45 08 48 b8 a8 c6 1e 3f f8 58 00 00 49
0x704887488daa: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:66 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None]
# Insn: 0005 send (stack_size: 2)
# call to Hash#fetch
# guard not immediate
0x70488748684f: 40 f6 c6 07 0f 85 bb 24 00 00 48 83 fe 00 0f
0x70488748685e: 84 d9 24 00 00 48 89 f0
# guard known class
0x704887486866: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x704887486875: 85 ea 24 00 00
# RUBY_VM_CHECK_INTS(ec)
0x70488748687a: 41 8b 44 24 20 85 c0 0f 85 05 25 00 00
# stack overflow check
0x704887486887: 48 8d 83 a0 00 00 00 49 39 c5 0f 86 f5 24 00
0x704887486896: 00
# save PC to CFP
0x704887486897: 48 b8 c0 c6 1e 3f f8 58 00 00 49 89 45 00 48
0x7048874868a6: 8d 43 28
# push cme, specval, frame type
0x7048874868a9: 48 b9 b8 f1 e7 aa 48 70 00 00 48 89 48 e8 48
0x7048874868b8: b9 18 b1 1f 86 48 70 00 00 49 89 4d 28 49 8d
0x7048874868c7: 4d 18 48 83 c9 01 48 89 48 f0 48 c7 40 f8 83
0x7048874868d6: 00 55 55
# push callee control frame
0x7048874868d9: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x7048874868e8: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x7048874868f7: 45 e8
# set ec->cfp
0x7048874868f9: 49 8d 45 c8 49 89 44 24 10 48 8d 43 08
# call C function
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Stack(1)), None, None] -> [None, None, None, None, None]
0x704887486906: 48 89 33 4c 89 43 08 48 89 7b e0 bf 01 00 00
0x704887486915: 00 48 89 f2 48 89 c6 e8 2f 12 cf 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486921: 48 89 c6 4d 89 6c 24 10
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488db8: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 c6
0x704887488dc7: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488dd6: b8 24 00 00 00 c3
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:69 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887486929: 41 8b 44 24 20 85 c0 0f 85 82 24 00 00
# pop stack frame
0x704887486936: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887486945: f8
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488ddc: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 80 de
0x704887488deb: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488dfa: b8 24 00 00 00 c3
# Block: id@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:89 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x704887486946: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488748694a: 48 89 c6
# Insn: 0008 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x70488748694d: 41 8b 44 24 20 85 c0 0f 85 82 24 00 00
# pop stack frame
0x70488748695a: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887486969: f8
# regenerate_branch
# update cfp->jit_return
0x70488748681d: 48 b8 46 69 48 87 48 70 00 00 49 89 45 f8
# exit to interpreter on setlocal_WC_0
0x704887488e00: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887488e04: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488e07: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c8 87
0x704887488e16: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488e25: b8 24 00 00 00 c3
# branch stub hit
0x704887488e2b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488e34: 48 89 33 48 bf e0 11 a3 60 48 70 00 00 be 00
0x704887488e43: 00 00 00 e9 e0 b1 b6 ff
# branch stub hit
0x704887488e4b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488e54: 48 89 33 48 bf 30 16 a3 60 48 70 00 00 be 00
0x704887488e63: 00 00 00 e9 c0 b1 b6 ff
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:385 
# reg_mapping: [None, None, None, None, None]
0x70488748696a: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x70488748696e: 48 89 c6
# Insn: 0091 setlocal_WC_0 (stack_size: 1)
0x704887486971: 49 8b 45 20 f6 00 08 0f 85 ad 24 00 00 48 89
0x704887486980: 70 d0
# Insn: 0093 getlocal_WC_0 (stack_size: 0)
0x704887486982: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486986: 48 8b 70 c0
# Insn: 0095 opt_send_without_block (stack_size: 1)
# defer_compilation
0x70488748698a: e9 bc 24 00 00
# regenerate_branch
# update cfp->jit_return
0x70488748669c: 48 b8 6a 69 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x704887488e6b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488e74: 48 89 33 48 bf 40 d6 a2 60 48 70 00 00 be 00
0x704887488e83: 00 00 00 e9 a0 b1 b6 ff
# branch stub hit
0x704887488e8b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488e94: 48 89 33 48 bf 50 70 a3 60 48 70 00 00 be 00
0x704887488ea3: 00 00 00 e9 80 b1 b6 ff
# branch stub hit
0x704887488eab: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488eb4: 48 89 33 48 bf 20 7d a3 60 48 70 00 00 be 00
0x704887488ec3: 00 00 00 e9 60 b1 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488ecb: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 e8 87
0x704887488eda: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488ee9: b8 24 00 00 00 c3
# branch stub hit
0x704887488eef: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887488ef3: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488eff: 48 89 33 48 bf 50 77 a3 60 48 70 00 00 be 00
0x704887488f0e: 00 00 00 e9 15 b1 b6 ff
# regenerate_branch
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0095 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#to_hash
# guard not immediate
0x70488748698a: 40 f6 c6 07 0f 85 d7 24 00 00 48 83 fe 00 0f
0x704887486999: 84 ed 24 00 00 48 89 f0
# guard known class
0x7048874869a1: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048874869b0: 85 f6 24 00 00
# stack overflow check
0x7048874869b5: 48 8d 83 80 00 00 00 49 39 c5 0f 86 06 25 00
0x7048874869c4: 00
# store caller sp
0x7048874869c5: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048874869cc: 48 b8 f8 87 19 3f f8 58 00 00 49 89 45 00 48
0x7048874869db: 8d 43 20
# push cme, specval, frame type
0x7048874869de: 48 b9 d8 b7 1c 86 48 70 00 00 48 89 48 e8 48
0x7048874869ed: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048874869fc: 49 89 45 d0 48 b9 78 ab 1f 86 48 70 00 00 49
--
0x704887488f2e: 00 00 00 e9 f5 b0 b6 ff
# gen_direct_jmp: fallthrough
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:167 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486a42: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x704887486a46: e9 cb 24 00 00
# branch stub hit
0x704887488f36: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488f3f: 48 89 33 48 bf f0 61 a3 60 48 70 00 00 be 00
0x704887488f4e: 00 00 00 e9 d5 b0 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488f56: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f8 0d
0x704887488f65: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488f74: b8 24 00 00 00 c3
# branch stub hit
0x704887488f7a: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887488f7e: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488f8a: 48 89 33 48 bf 40 66 a3 60 48 70 00 00 be 00
0x704887488f99: 00 00 00 e9 8a b0 b6 ff
# regenerate_branch
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:167 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#load_for_read!
0x704887486a46: 48 89 f0
# guard known class
0x704887486a49: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x704887486a58: 85 d9 24 00 00
# stack overflow check
0x704887486a5d: 48 8d 83 80 00 00 00 49 39 c5 0f 86 e9 24 00
0x704887486a6c: 00
# store caller sp
0x704887486a6d: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887486a74: 48 b8 08 0e 1f 3f f8 58 00 00 49 89 45 00 48
0x704887486a83: 8d 43 20
# push cme, specval, frame type
0x704887486a86: 48 b9 d0 b5 1c 86 48 70 00 00 48 89 48 e8 48
0x704887486a95: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887486aa4: 49 89 45 d0 48 b9 68 a7 1f 86 48 70 00 00 49
0x704887486ab3: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887486ac2: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887486acd: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887486ad3: 48 b8 7a 8f 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887486ae1: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x704887488fa1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488faa: 48 89 33 48 bf 70 04 a4 60 48 70 00 00 be 00
0x704887488fb9: 00 00 00 e9 6a b0 b6 ff
# gen_direct_jmp: fallthrough
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486aea: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x704887486aee: e9 ae 24 00 00
# branch stub hit
0x704887488fc1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488fca: 48 89 33 48 bf f0 0f a4 60 48 70 00 00 be 00
0x704887488fd9: 00 00 00 e9 4a b0 b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887488fe1: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 78 63
0x704887488ff0: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887488fff: b8 24 00 00 00 c3
# branch stub hit
0x704887489005: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887489009: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489015: 48 89 33 48 bf c0 fc a3 60 48 70 00 00 be 00
0x704887489024: 00 00 00 e9 ff af b6 ff
# regenerate_branch
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#loaded?
0x704887486aee: 48 89 f0
# guard known class
0x704887486af1: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x704887486b00: 85 bc 24 00 00
# stack overflow check
0x704887486b05: 48 8d 83 80 00 00 00 49 39 c5 0f 86 cc 24 00
0x704887486b14: 00
# store caller sp
0x704887486b15: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887486b1c: 48 b8 88 63 1e 3f f8 58 00 00 49 89 45 00 48
0x704887486b2b: 8d 43 20
# push cme, specval, frame type
0x704887486b2e: 48 b9 98 b6 1c 86 48 70 00 00 48 89 48 e8 48
0x704887486b3d: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887486b4c: 49 89 45 d0 48 b9 d0 a8 1f 86 48 70 00 00 49
0x704887486b5b: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887486b6a: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887486b75: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887486b7b: 48 b8 05 90 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887486b89: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: fallthrough
# Block: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:236 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
# defer_compilation
0x704887486b92: e9 00 f7 ff ff
# branch stub hit
0x70488748902c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489035: 48 89 33 48 bf 20 2b a4 60 48 70 00 00 be 00
0x704887489044: 00 00 00 e9 df af b6 ff
# exit to interpreter on opt_not
0x70488748904c: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887489050: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489053: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 88 63
0x704887489062: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887489071: b8 24 00 00 00 c3
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [None, None, None, None, None]
0x704887486b97: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486b9b: 48 89 c6
# Insn: 0003 opt_not (stack_size: 1)
# call to TrueClass#!
# guard object is true
0x704887486b9e: 48 83 fe 14 0f 85 84 24 00 00
# rb_obj_not(truthy)
0x704887486ba8: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489077: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f8 63
0x704887489086: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887489095: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0005 branchunless (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0016 putnil (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486bad: be 04 00 00 00
# Insn: 0017 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887486bb2: 41 8b 44 24 20 85 c0 0f 85 b8 24 00 00
# pop stack frame
0x704887486bbf: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887486bce: f8
# regenerate_branch
# update cfp->jit_return
0x704887486b7b: 48 b8 97 6b 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x70488748909b: 56 57 41 50 41 51 41 52 50 48 bf f0 36 a4 60
0x7048874890aa: 48 70 00 00 be 00 00 00 00 e9 73 af b6 ff
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:167 
# reg_mapping: [None, None, None, None, None]
0x704887486bcf: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486bd3: 48 89 c6
# Insn: 0003 pop (stack_size: 1)
# Insn: 0004 getinstancevariable (stack_size: 0)
# defer_compilation
0x704887486bd6: e9 c0 24 00 00
# regenerate_branch
# update cfp->jit_return
0x704887486ad3: 48 b8 cf 6b 48 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048874890b8: 56 57 41 50 41 51 41 52 50 48 bf f0 0a a4 60
0x7048874890c7: 48 70 00 00 be 00 00 00 00 e9 56 af b6 ff
# regenerate_branch
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [None, None, None, None, None]
# Insn: 0004 getinstancevariable (stack_size: 0)
0x704887486bd6: 49 8b 45 18
# guard shape
0x704887486bda: 81 78 04 ce 10 00 00 0f 85 d1 24 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486be7: 48 8b 70 20
# branch stub hit
0x7048874890d5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874890de: 48 89 33 48 bf c0 41 a4 60 48 70 00 00 be 00
0x7048874890ed: 00 00 00 e9 36 af b6 ff
# gen_direct_jmp: fallthrough
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0007 opt_send_without_block (stack_size: 1)
# defer_compilation
0x704887486beb: e9 e5 24 00 00
# branch stub hit
0x7048874890f5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874890fe: 48 89 33 48 bf 30 41 a4 60 48 70 00 00 be 00
0x70488748910d: 00 00 00 e9 16 af b6 ff
# branch stub hit
0x704887489115: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748911e: 48 89 33 48 bf a0 55 a4 60 48 70 00 00 be 00
0x70488748912d: 00 00 00 e9 f6 ae b6 ff
# branch stub hit
0x704887489135: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748913e: 48 89 33 48 bf d0 35 a4 60 48 70 00 00 be 00
0x70488748914d: 00 00 00 e9 d6 ae b6 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489155: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 28 0e
0x704887489164: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887489173: b8 24 00 00 00 c3
# regenerate_branch
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0007 opt_send_without_block (stack_size: 1)
# call to Hash#dup
# guard not immediate
0x704887486beb: 40 f6 c6 07 0f 85 00 25 00 00 48 83 fe 00 0f
0x704887486bfa: 84 16 25 00 00 48 89 f0
# guard known class
0x704887486c02: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x704887486c11: 85 1f 25 00 00
# RUBY_VM_CHECK_INTS(ec)
0x704887486c16: 41 8b 44 24 20 85 c0 0f 85 32 25 00 00
# stack overflow check
0x704887486c23: 48 8d 83 98 00 00 00 49 39 c5 0f 86 22 25 00
0x704887486c32: 00
# save PC to CFP
0x704887486c33: 48 b8 38 0e 1f 3f f8 58 00 00 49 89 45 00 48
0x704887486c42: 8d 43 20
# push cme, specval, frame type
0x704887486c45: 48 b9 20 ed dd 83 48 70 00 00 48 89 48 e8 48
0x704887486c54: c7 40 f0 00 00 00 00 48 c7 40 f8 83 00 55 55
# push callee control frame
0x704887486c63: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x704887486c72: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x704887486c81: 45 e8
# set ec->cfp
0x704887486c83: 49 8d 45 c8 49 89 44 24 10
# call C function
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887486c8c: 48 89 33 48 89 f7 e8 a9 26 d6 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486c97: 48 89 c6 4d 89 6c 24 10
# branch stub hit
0x704887489179: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887489182: 48 89 33 48 bf 10 59 a4 60 48 70 00 00 be 00
0x704887489191: 00 00 00 e9 92 ae b6 ff
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0009 send (stack_size: 1)
# defer_compilation
0x704887486c9f: e9 d5 24 00 00
# branch stub hit
0x704887489199: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874891a2: 48 89 33 48 bf d0 81 a3 60 48 70 00 00 be 00
0x7048874891b1: 00 00 00 e9 72 ae b6 ff
# branch stub hit
0x7048874891b9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874891c2: 48 89 33 48 bf a0 46 a4 60 48 70 00 00 be 00
0x7048874891d1: 00 00 00 e9 52 ae b6 ff
# branch stub hit
0x7048874891d9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874891e2: 48 89 33 48 bf e0 8a a3 60 48 70 00 00 be 00
0x7048874891f1: 00 00 00 e9 32 ae b6 ff
# exit to interpreter on send
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874891f9: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 38 0e
0x704887489208: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887489217: b8 24 00 00 00 c3
# regenerate_branch
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0009 send (stack_size: 1)
# call to Hash#delete_if
# guard not immediate
0x704887486c9f: 40 f6 c6 07 0f 85 f0 24 00 00 48 83 fe 00 0f
0x704887486cae: 84 06 25 00 00 48 89 f0
# guard known class
0x704887486cb6: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x704887486cc5: 85 0f 25 00 00
# RUBY_VM_CHECK_INTS(ec)
0x704887486cca: 41 8b 44 24 20 85 c0 0f 85 22 25 00 00
# stack overflow check
0x704887486cd7: 48 8d 83 98 00 00 00 49 39 c5 0f 86 12 25 00
0x704887486ce6: 00
# save PC to CFP
0x704887486ce7: 48 b8 50 0e 1f 3f f8 58 00 00 49 89 45 00 48
0x704887486cf6: 8d 43 20
# push cme, specval, frame type
0x704887486cf9: 48 b9 f0 eb e7 aa 48 70 00 00 48 89 48 e8 48
0x704887486d08: b9 28 ab 1f 86 48 70 00 00 49 89 4d 28 49 8d
0x704887486d17: 4d 18 48 83 c9 01 48 89 48 f0 48 c7 40 f8 83
0x704887486d26: 00 55 55
# push callee control frame
0x704887486d29: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x704887486d38: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x704887486d47: 45 e8
# set ec->cfp
0x704887486d49: 49 8d 45 c8 49 89 44 24 10
# call C function
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887486d52: 48 89 33 48 89 f7 e8 33 25 cf 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486d5d: 48 89 c6 4d 89 6c 24 10
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748921d: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 0e
0x70488748922c: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x70488748923b: b8 24 00 00 00 c3
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:169 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0012 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x704887486d65: 41 8b 44 24 20 85 c0 0f 85 ab 24 00 00
# pop stack frame
0x704887486d72: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887486d81: f8
# branch stub hit
0x704887489241: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748924a: 48 89 33 48 bf 30 81 a3 60 48 70 00 00 be 00
0x704887489259: 00 00 00 e9 ca ad b6 ff
# branch stub hit
0x704887489261: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748926a: 48 89 33 48 bf a0 ed a3 60 48 70 00 00 be 00
0x704887489279: 00 00 00 e9 aa ad b6 ff
# branch stub hit
0x704887489281: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748928a: 48 89 33 48 bf a0 a2 a3 60 48 70 00 00 be 00
0x704887489299: 00 00 00 e9 8a ad b6 ff
# exit to interpreter on send
0x7048874892a1: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874892a5: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874892a8: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f8 87
0x7048874892b7: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874892c6: b8 24 00 00 00 c3
# exit to interpreter on send
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874892cc: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f8 87
0x7048874892db: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048874892ea: b8 24 00 00 00 c3
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [None, None, None, None, None]
0x704887486d82: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486d86: 48 89 c6
# Insn: 0097 send (stack_size: 1)
# call to Hash#delete_if
# guard not immediate
0x704887486d89: 40 f6 c6 07 0f 85 ae 24 00 00 48 83 fe 00 0f
0x704887486d98: 84 c4 24 00 00 48 89 f0
# guard known class
0x704887486da0: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x704887486daf: 85 cd 24 00 00
# RUBY_VM_CHECK_INTS(ec)
0x704887486db4: 41 8b 44 24 20 85 c0 0f 85 0b 25 00 00
# stack overflow check
0x704887486dc1: 48 8d 83 98 00 00 00 49 39 c5 0f 86 fb 24 00
0x704887486dd0: 00
# save PC to CFP
0x704887486dd1: 48 b8 10 88 19 3f f8 58 00 00 49 89 45 00 48
0x704887486de0: 8d 43 20
# push cme, specval, frame type
0x704887486de3: 48 b9 f0 eb e7 aa 48 70 00 00 48 89 48 e8 48
0x704887486df2: b9 f0 31 21 86 48 70 00 00 49 89 4d 28 49 8d
0x704887486e01: 4d 18 48 83 c9 01 48 89 48 f0 48 c7 40 f8 83
0x704887486e10: 00 55 55
# push callee control frame
0x704887486e13: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x704887486e22: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x704887486e31: 45 e8
# set ec->cfp
0x704887486e33: 49 8d 45 c8 49 89 44 24 10
# call C function
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887486e3c: 48 89 33 48 89 f7 e8 49 24 cf 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486e47: 48 89 c6 4d 89 6c 24 10
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874892f0: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 10 88
0x7048874892ff: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x70488748930e: b8 24 00 00 00 c3
# branch stub hit
0x704887489314: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488748931d: 48 89 33 48 bf c0 a7 a3 60 48 70 00 00 be 00
0x70488748932c: 00 00 00 e9 f7 ac b6 ff
# branch stub hit
0x704887489334: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), Some(Stack(3)), Some(Stack(4))] -> [None, None, None, None, None]
0x70488748933d: 48 89 33 48 89 7b 08 4c 89 43 10 4c 89 4b 18
0x70488748934c: 4c 89 53 20 48 bf 30 50 a4 60 48 70 00 00 be
0x70488748935b: 00 00 00 00 e9 c7 ac b6 ff
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0100 setlocal_WC_0 (stack_size: 1)
0x704887486e4f: 49 8b 45 20 f6 00 08 0f 85 b8 24 00 00 48 89
0x704887486e5e: 70 d8
# Insn: 0102 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887486e60: 49 8b 75 18
# Insn: 0103 getlocal_WC_0 (stack_size: 1)
0x704887486e64: 49 8b 45 20
--
0x7048874b5f9b: 48 b8 d0 70 03 3f f8 58 00 00 49 89 45 00 5b
0x7048874b5faa: 41 5c 41 5d b8 24 00 00 00 c3
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0036 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874b3744: 48 b8 c0 1c 20 86 48 70 00 00 48 89 c6
# gen_direct_jmp: fallthrough
# Block: create@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:25 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0038 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048874b3751: e9 1c 39 f8 ff
# regenerate_branch
0x70488743704c: e9 f3 c6 07 00
# exit to interpreter on branchunless
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874b5fb4: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 90
0x7048874b5fc3: 8f 55 41 f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048874b5fd2: 5d b8 24 00 00 00 c3
# Block: block in _deep_update@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/hashie-5.0.0/lib/hashie/mash.rb:247 (chain_depth: 5)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Local(2)), None, None]
# Insn: 0012 opt_send_without_block (stack_size: 2)
# call to Hashie::Array#is_a?
# save PC to CFP
0x7048874b3756: 48 b8 90 8f 55 41 f8 58 00 00 49 89 45 00
# save SP to CFP
0x7048874b3764: 48 8d 5b 10 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Local(2)), None, None] -> [None, None, None, None, None]
0x7048874b376c: 48 89 73 f0 48 89 7b f8 4c 89 43 c8 4c 89 e7
0x7048874b377b: 4c 89 ee 48 ba 50 8b 55 41 f8 58 00 00 e8 53
0x7048874b378a: 2a e9 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874b378d: 48 89 c6 49 89 5d 08
# branch stub hit
0x7048874b5fd9: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874b5fe2: 48 bf 30 24 11 60 48 70 00 00 be 00 00 00 00
0x7048874b5ff1: e9 35 e0 b3 ff
# branch stub hit
0x7048874b5ff6: 56 57 41 50
# jump to next page
0x7048874b5ffa: e9
0x7048874b8000: 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874b8005: 48 bf 30 24 11 60 48 70 00 00 be 01 00 00 00
0x7048874b8014: e9 12 c0 b3 ff
# Block: block in _deep_update@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/hashie-5.0.0/lib/hashie/mash.rb:247 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0014 branchunless (stack_size: 1)
0x7048874b6000: 48 f7 c6 fb ff ff ff 0f 84 cc ff ff ff e9 e4
0x7048874b600f: ff ff ff
# regenerate_branch
0x70488743e1c5: 0f 85 8b 55 07 00
# regenerate_branch
0x7048874b6007: 0f 85 e9 ff ff ff
# branch stub hit
0x7048874b8019: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874b8022: 48 89 73 f0 48 bf 60 cf 03 54 48 70 00 00 be
0x7048874b8031: 00 00 00 00 e9 f1 bf b3 ff
# Block: block in _deep_update@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/hashie-5.0.0/lib/hashie/mash.rb:250 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0048 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048874b600d: 49 8b 75 18
# Insn: 0049 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048874b6011: e9 03 20 00 00
# regenerate_branch
0x7048874b6007: 0f 85 e9 ff ff ff
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048874b803a: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 a8
0x7048874b8049: 90 55 41 f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048874b8058: 5d b8 24 00 00 00 c3
# branch stub hit
0x7048874b805f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874b8068: 48 89 73 f0 48 89 7b f8 4c 89 03 48 bf 20 ad
0x7048874b8077: 08 54 48 70 00 00 be 00 00 00 00 e9 a4 bf b3
0x7048874b8086: ff
# regenerate_branch
# Block: block in _deep_update@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/hashie-5.0.0/lib/hashie/mash.rb:250 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0049 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048874b6011: 48 8b 7b c0
# Insn: 0051 putobject (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x7048874b6015: 41 b8 14 00 00 00
# Insn: 0053 opt_send_without_block (stack_size: 3)
# defer_compilation
0x7048874b601b: e9 3f 20 00 00
# branch stub hit
0x7048874b8087: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874b8090: 48 89 73 f0 48 89 7b f8 4c 89 03 48 bf e0 94
0x7048874b809f: 08 54 48 70 00 00 be 00 00 00 00 e9 7c bf b3
0x7048874b80ae: ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048874b80af: 48 89 73 f0 48 89 7b f8 4c 89 03 48 8d 43 08
0x7048874b80be: 49 89 45 08 48 b8 c8 90 55 41 f8 58 00 00 49
0x7048874b80cd: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: block in _deep_update@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/hashie-5.0.0/lib/hashie/mash.rb:250 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
--
# regenerate_branch
0x70488768b745: 0f 85 ae fa 02 00
# YJIT entry point: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:236
0x7048876bb223: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876bb232: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048876bd46c: 56 57 41 50 41 51 41 52 50 48 bf 70 92 78 60
0x7048876bd47b: 48 70 00 00 be 00 00 00 00 e9 a2 6b 93 ff
# exit to interpreter on getinstancevariable
0x7048876bd489: 48 b8 20 1b 1f 3f f8 58 00 00 49 89 45 00 5b
0x7048876bd498: 41 5c 41 5d b8 24 00 00 00 c3
# Block: loaded?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:236 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x7048876bb240: 49 8b 45 18
# guard object is heap
0x7048876bb244: f6 c0 07 0f 85 3c 22 00 00 48 85 c0 0f 84 33
0x7048876bb253: 22 00 00
# guard shape
0x7048876bb256: 81 78 04 ce 10 00 00 0f 85 09 22 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876bb263: 48 8b 70 28
# gen_direct_jmp: existing block
0x7048876bb267: e9 40 b0 dc ff
# YJIT entry point: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168
0x7048876bb26c: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876bb27b: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# exit to interpreter on getlocal_WC_0
0x7048876bd4a2: 48 b8 a0 11 1f 3f f8 58 00 00 49 89 45 00 5b
0x7048876bd4b1: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876bd4bb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd4c4: 48 89 33 48 bf 30 91 78 60 48 70 00 00 be 00
0x7048876bd4d3: 00 00 00 e9 50 6b 93 ff
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876bb289: 48 8b 73 e0
# Insn: 0002 opt_nil_p (stack_size: 1)
0x7048876bb28d: 90
# defer_compilation
0x7048876bb28e: e9 28 22 00 00
# branch stub hit
0x7048876bd4db: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd4e4: 48 89 33 48 bf 50 3e 31 60 48 70 00 00 be 00
0x7048876bd4f3: 00 00 00 e9 30 6b 93 ff
# branch stub hit
0x7048876bd4fb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd504: 48 89 33 48 bf c0 9d 78 60 48 70 00 00 be 00
0x7048876bd513: 00 00 00 e9 10 6b 93 ff
# branch stub hit
0x7048876bd51b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd524: 48 89 33 48 bf 40 b7 78 60 48 70 00 00 be 00
0x7048876bd533: 00 00 00 e9 f0 6a 93 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd53b: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b0 11
0x7048876bd54a: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876bd559: b8 24 00 00 00 c3
# regenerate_branch
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Hash#nil?
# guard not immediate
0x7048876bb28e: 40 f6 c6 07 0f 85 43 22 00 00 48 83 fe 00 0f
0x7048876bb29d: 84 59 22 00 00 48 89 f0
# guard known class
0x7048876bb2a5: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876bb2b4: 85 62 22 00 00
# nil? == false
0x7048876bb2b9: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd55f: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 11
0x7048876bd56e: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876bd57d: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876bb2be: 41 8b 44 24 20 85 c0 0f 85 94 22 00 00
# pop stack frame
0x7048876bb2cb: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876bb2da: f8
# YJIT entry point: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386
0x7048876bb2db: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876bb2ea: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# exit to interpreter on getlocal_WC_0
0x7048876bd583: 48 b8 40 92 19 3f f8 58 00 00 49 89 45 00 5b
0x7048876bd592: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876bd59c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd5a5: 48 89 33 48 bf a0 ce 78 60 48 70 00 00 be 00
0x7048876bd5b4: 00 00 00 e9 6f 6a 93 ff
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876bb2f8: 48 8b 73 e0
# Insn: 0002 opt_nil_p (stack_size: 1)
0x7048876bb2fc: 90
# defer_compilation
0x7048876bb2fd: e9 9a 22 00 00
# branch stub hit
0x7048876bd5bc: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd5c5: 48 89 33 48 bf 30 d7 78 60 48 70 00 00 be 00
0x7048876bd5d4: 00 00 00 e9 4f 6a 93 ff
# branch stub hit
0x7048876bd5dc: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd5e5: 48 89 33 48 bf 50 d9 78 60 48 70 00 00 be 00
0x7048876bd5f4: 00 00 00 e9 2f 6a 93 ff
# branch stub hit
0x7048876bd5fc: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd605: 48 89 33 48 bf f0 da 78 60 48 70 00 00 be 00
0x7048876bd614: 00 00 00 e9 0f 6a 93 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd61c: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 92
0x7048876bd62b: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876bd63a: b8 24 00 00 00 c3
# regenerate_branch
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Hash#nil?
# guard not immediate
0x7048876bb2fd: 40 f6 c6 07 0f 85 b5 22 00 00 48 83 fe 00 0f
0x7048876bb30c: 84 cb 22 00 00 48 89 f0
# guard known class
0x7048876bb314: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876bb323: 85 d4 22 00 00
# nil? == false
0x7048876bb328: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd640: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 60 92
0x7048876bd64f: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876bd65e: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876bb32d: 41 8b 44 24 20 85 c0 0f 85 06 23 00 00
# pop stack frame
0x7048876bb33a: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876bb349: f8
# entry stub hit
0x7048876bd664: 48 bf e0 62 53 60 48 70 00 00 e9 ce 69 93 ff

# YJIT entry point: initialize@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/arel/select_manager.rb:9
0x7048876bb34a: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876bb359: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# guard expected PC
0x7048876bb367: 49 bb b8 9f 12 3e f8 58 00 00 4d 39 5d 00 0f
0x7048876bb376: 85 e9 22 00 00
# exit to interpreter on opt_getconstant_path
0x7048876bd673: 48 b8 b8 9f 12 3e f8 58 00 00 49 89 45 00 5b
0x7048876bd682: 41 5c 41 5d b8 24 00 00 00 c3
# Block: initialize@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/arel/select_manager.rb:10 
# reg_mapping: [None, None, None, None, None]
# Insn: 0003 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876bb37b: 48 b8 80 59 10 8f 48 70 00 00 48 89 c6
# branch stub hit
0x7048876bd68c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876bd695: 48 89 33 48 bf 00 e7 30 60 48 70 00 00 be 00
0x7048876bd6a4: 00 00 00 e9 7f 69 93 ff
# gen_direct_jmp: fallthrough
# Block: initialize@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/arel/select_manager.rb:10 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0005 getlocal_WC_0 (stack_size: 1)
--
0x7048876c911f: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c912e: b8 24 00 00 00 c3
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Array#nil?
0x7048876c6c5c: 48 89 f0
# guard known class
0x7048876c6c5f: 48 b9 10 14 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876c6c6e: 85 7d 24 00 00
# nil? == false
0x7048876c6c73: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9134: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 11
0x7048876c9143: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c9152: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876c6c78: 41 8b 44 24 20 85 c0 0f 85 af 24 00 00
# pop stack frame
0x7048876c6c85: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876c6c94: f8
# regenerate_branch
0x7048876bb2b3: 0f 85 a3 b9 00 00
# branch stub hit
0x7048876c9158: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9161: 48 89 33 48 bf b0 41 7e 54 48 70 00 00 be 00
0x7048876c9170: 00 00 00 e9 b3 ae 92 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9178: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b0 11
0x7048876c9187: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c9196: b8 24 00 00 00 c3
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 (chain_depth: 2)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to String#nil?
0x7048876c6c95: 48 89 f0
# guard known class
0x7048876c6c98: 48 b9 50 ec 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876c6ca7: 85 ac 24 00 00
# nil? == false
0x7048876c6cac: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c919c: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 11
0x7048876c91ab: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c91ba: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876c6cb1: 41 8b 44 24 20 85 c0 0f 85 de 24 00 00
# pop stack frame
0x7048876c6cbe: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876c6ccd: f8
# regenerate_branch
0x7048876c6c6d: 0f 85 22 00 00 00
# branch stub hit
0x7048876c91c0: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c91c9: 48 89 33 48 bf 70 6c d9 55 48 70 00 00 be 00
0x7048876c91d8: 00 00 00 e9 4b ae 92 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c91e0: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b0 11
0x7048876c91ef: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c91fe: b8 24 00 00 00 c3
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 (chain_depth: 3)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Time#nil?
0x7048876c6cce: 48 89 f0
# guard known class
0x7048876c6cd1: 48 b9 f0 dd e6 aa 48 70 00 00 48 39 48 08 0f
0x7048876c6ce0: 85 db 24 00 00
# nil? == false
0x7048876c6ce5: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9204: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 11
0x7048876c9213: 1f 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c9222: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in to_hash@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:168 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876c6cea: 41 8b 44 24 20 85 c0 0f 85 0d 25 00 00
# pop stack frame
0x7048876c6cf7: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876c6d06: f8
# regenerate_branch
0x7048876c6ca6: 0f 85 22 00 00 00
# branch stub hit
0x7048876c9228: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9231: 48 89 33 48 bf 90 ca a9 55 48 70 00 00 be 00
0x7048876c9240: 00 00 00 e9 e3 ad 92 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9248: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 92
0x7048876c9257: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c9266: b8 24 00 00 00 c3
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Array#nil?
0x7048876c6d07: 48 89 f0
# guard known class
0x7048876c6d0a: 48 b9 10 14 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876c6d19: 85 0a 25 00 00
# nil? == false
0x7048876c6d1e: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c926c: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 60 92
0x7048876c927b: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c928a: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876c6d23: 41 8b 44 24 20 85 c0 0f 85 3c 25 00 00
# pop stack frame
0x7048876c6d30: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876c6d3f: f8
# regenerate_branch
0x7048876bb322: 0f 85 df b9 00 00
# branch stub hit
0x7048876c9290: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9299: 48 89 33 48 bf d0 84 97 56 48 70 00 00 be 00
0x7048876c92a8: 00 00 00 e9 7b ad 92 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c92b0: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 92
0x7048876c92bf: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c92ce: b8 24 00 00 00 c3
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 (chain_depth: 2)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to String#nil?
0x7048876c6d40: 48 89 f0
# guard known class
0x7048876c6d43: 48 b9 50 ec 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876c6d52: 85 39 25 00 00
# nil? == false
0x7048876c6d57: be 00 00 00 00
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c92d4: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 60 92
0x7048876c92e3: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c92f2: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876c6d5c: 41 8b 44 24 20 85 c0 0f 85 6b 25 00 00
# pop stack frame
0x7048876c6d69: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876c6d78: f8
# regenerate_branch
0x7048876c6d18: 0f 85 22 00 00 00
# branch stub hit
0x7048876c92f8: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9301: 48 89 33 48 bf 00 f4 a9 55 48 70 00 00 be 00
0x7048876c9310: 00 00 00 e9 13 ad 92 ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876c9318: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 92
0x7048876c9327: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876c9336: b8 24 00 00 00 c3
# Block: block in commit_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:386 (chain_depth: 3)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 opt_nil_p (stack_size: 1)
# call to Time#nil?
0x7048876c6d79: 48 89 f0
# guard known class
0x7048876c6d7c: 48 b9 f0 dd e6 aa 48 70 00 00 48 39 48 08 0f
0x7048876c6d8b: 85 68 25 00 00
# nil? == false
--
# update cfp->jit_return
0x7048876d6b1d: 48 b8 39 6b 6d 87 48 70 00 00 49 89 45 f8
# YJIT entry point: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62
0x7048876d6b5d: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876d6b6c: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048876d8d38: 56 57 41 50 41 51 41 52 50 48 bf 50 08 1c 64
0x7048876d8d47: 48 70 00 00 be 00 00 00 00 e9 d6 b2 91 ff
# exit to interpreter on getinstancevariable
0x7048876d8d55: 48 b8 90 c2 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876d8d64: 41 5c 41 5d b8 24 00 00 00 c3
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x7048876d6b7a: 49 8b 45 18
# guard object is heap
0x7048876d6b7e: f6 c0 07 0f 85 ce 21 00 00 48 85 c0 0f 84 c5
0x7048876d6b8d: 21 00 00
# guard shape
0x7048876d6b90: 81 78 04 d0 10 00 00 0f 85 9b 21 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876d6b9d: 48 8b 70 18
# branch stub hit
0x7048876d8d6e: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d8d77: 48 89 33 48 bf 30 7e 91 64 48 70 00 00 be 00
0x7048876d8d86: 00 00 00 e9 9d b2 91 ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048876d6ba1: e9 c8 21 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d8d8e: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 a8 c2
0x7048876d8d9d: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876d8dac: b8 24 00 00 00 c3
# branch stub hit
0x7048876d8db2: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8dbb: 48 89 33 48 89 7b 08 48 bf 50 2a 15 64 48 70
0x7048876d8dca: 00 00 be 00 00 00 00 e9 55 b2 91 ff
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876d6ba1: 48 8b 7b e0
# Insn: 0005 opt_aref (stack_size: 2)
0x7048876d6ba5: 90
# defer_compilation
0x7048876d6ba6: e9 07 22 00 00
# exit to interpreter on opt_aref
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8dd6: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876d8de5: 48 b8 b8 c2 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876d8df4: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876d8dfe: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8e07: 48 89 33 48 89 7b 08 48 bf 70 e2 1b 64 48 70
0x7048876d8e16: 00 00 be 00 00 00 00 e9 09 b2 91 ff
# branch stub hit
0x7048876d8e22: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8e2b: 48 89 33 48 89 7b 08 48 bf a0 28 15 64 48 70
0x7048876d8e3a: 00 00 be 00 00 00 00 e9 e5 b1 91 ff
# branch stub hit
0x7048876d8e46: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8e4f: 48 89 33 48 89 7b 08 48 bf 80 1c 1c 64 48 70
0x7048876d8e5e: 00 00 be 00 00 00 00 e9 c1 b1 91 ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d8e6a: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 c8
0x7048876d8e79: c2 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876d8e88: 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:62 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0005 opt_aref (stack_size: 2)
# guard not immediate
0x7048876d6ba6: 40 f6 c6 07 0f 85 4e 22 00 00 48 83 fe 00 0f
0x7048876d6bb5: 84 68 22 00 00 48 89 f0
# guard known class
0x7048876d6bbd: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876d6bcc: 85 75 22 00 00
# save PC to CFP
0x7048876d6bd1: 48 b8 c8 c2 1e 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x7048876d6bdf: 48 8d 5b 10 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d6be7: 48 89 73 f0 48 89 7b f8 49 89 f3 48 89 fe 4c
0x7048876d6bf6: 89 df e8 43 50 aa 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876d6bfd: 48 89 c6
# gen_direct_jmp: existing block
0x7048876d6c00: e9 29 c8 da ff
# branch stub hit
0x7048876d8e8f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d8e98: 48 89 73 f8 48 bf 50 10 15 64 48 70 00 00 be
0x7048876d8ea7: 00 00 00 00 e9 7b b1 91 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d8eb0: 48 89 73 f8 48 b8 a0 d3 d9 40 f8 58 00 00 49
0x7048876d8ebf: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# Block: where@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/relation/query_methods.rb:1019 (chain_depth: 2)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0034 opt_send_without_block (stack_size: 1)
# call to ActiveRecord::SessionStore::Session::ActiveRecord_Relation#spawn
0x7048876d6c05: 48 89 f0
# guard known class
0x7048876d6c08: 48 b9 10 32 5d 84 48 70 00 00 48 39 48 08 0f
0x7048876d6c17: 85 73 22 00 00
# stack overflow check
0x7048876d6c1c: 48 8d 83 80 00 00 00 49 39 c5 0f 86 84 22 00
0x7048876d6c2b: 00
# store caller sp
0x7048876d6c2c: 48 8d 43 f8 49 89 45 08
# save PC to CFP
0x7048876d6c34: 48 b8 b0 d3 d9 40 f8 58 00 00 49 89 45 00 48
0x7048876d6c43: 8d 43 18
# push cme, specval, frame type
0x7048876d6c46: 48 b9 a8 2a 4c 78 48 70 00 00 48 89 48 e8 48
0x7048876d6c55: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876d6c64: 49 89 45 d0 48 b9 d0 c4 5a 84 48 70 00 00 49
0x7048876d6c73: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876d6c82: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876d6c8d: 48 89 73 f8
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876d6c91: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876d6c94: 48 b8 9d 36 6d 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876d6ca2: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876d6cab: e9 2c cb db ff
# regenerate_branch
0x7048876d683f: 0f 85 c0 03 00 00
# branch stub hit
0x7048876d8ecd: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8ed6: 48 89 33 48 89 7b 08 48 bf e0 db 89 64 48 70
0x7048876d8ee5: 00 00 be 00 00 00 00 e9 3a b1 91 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8ef1: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876d8f00: 48 b8 70 71 ce 40 f8 58 00 00 49 89 45 00 5b
0x7048876d8f0f: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876d8f19: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8f22: 48 89 33 48 89 7b 08 48 bf 30 f5 1b 64 48 70
0x7048876d8f31: 00 00 be 00 00 00 00 e9 ee b0 91 ff
# Block: spawn@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/relation/spawn_methods.rb:10 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0002 opt_send_without_block (stack_size: 2)
# call to ActiveRecord::SessionStore::Session::ActiveRecord_Relation#klass
0x7048876d6cb0: 48 89 f8
# guard known class
0x7048876d6cb3: 48 b9 10 32 5d 84 48 70 00 00 48 39 48 08 0f
0x7048876d6cc2: 85 06 22 00 00 48 89 f8
# guard shape
0x7048876d6cca: 81 78 04 79 11 00 00 0f 85 42 22 00 00 48 8b
0x7048876d6cd9: 78 10
# gen_direct_jmp: existing block
0x7048876d6cdb: e9 a4 ca ef ff
# regenerate_branch
0x704887493805: 0f 85 a5 34 24 00
# branch stub hit
0x7048876d8f3d: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876d8f46: 48 89 7b f8 48 bf d0 78 5b 64 48 70 00 00 be
--
# update cfp->jit_return
0x7048876e30e1: 48 b8 99 61 6e 87 48 70 00 00 49 89 45 f8
# YJIT entry point: enabled?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:92
0x7048876e61bd: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876e61cc: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048876e817f: 56 57 41 50 41 51 41 52 50 48 bf 60 2d 5b 64
0x7048876e818e: 48 70 00 00 be 00 00 00 00 e9 8f be 90 ff
# exit to interpreter on getinstancevariable
0x7048876e819c: 48 b8 a0 44 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876e81ab: 41 5c 41 5d b8 24 00 00 00 c3
# Block: enabled?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:92 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getinstancevariable (stack_size: 0)
0x7048876e61da: 49 8b 45 18
# guard object is heap
0x7048876e61de: f6 c0 07 0f 85 b5 1f 00 00 48 85 c0 0f 84 ac
0x7048876e61ed: 1f 00 00
# guard shape
0x7048876e61f0: 81 78 04 ce 10 00 00 0f 85 82 1f 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876e61fd: 48 8b 70 38
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e81b5: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b8 44
0x7048876e81c4: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876e81d3: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: enabled?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:93 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876e6201: 41 8b 44 24 20 85 c0 0f 85 a7 1f 00 00
# pop stack frame
0x7048876e620e: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876e621d: f8
# YJIT entry point: block in _run_callbacks@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/hooks.rb:10
0x7048876e621e: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876e622d: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048876e81d9: 56 57 41 50 41 51 41 52 50 48 bf 00 47 1c 64
0x7048876e81e8: 48 70 00 00 be 00 00 00 00 e9 35 be 90 ff
# Block: block in _run_callbacks@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/hooks.rb:10 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 nop (stack_size: 0)
# Insn: 0001 getlocal_WC_0 (stack_size: 0)
# defer_compilation
0x7048876e623b: e9 99 1f 00 00
# exit to interpreter on getlocal_WC_0
0x7048876e81f6: 48 b8 c8 bb 00 42 f8 58 00 00 49 89 45 00 5b
0x7048876e8205: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876e820f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e8218: 48 89 33 48 bf d0 6c 80 64 48 70 00 00 be 00
0x7048876e8227: 00 00 00 e9 fc bd 90 ff
# regenerate_branch
# Block: block in _run_callbacks@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/hooks.rb:11 
# reg_mapping: [None, None, None, None, None]
# Insn: 0001 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876e623b: 48 8b 73 d8
# Insn: 0003 send (stack_size: 1)
0x7048876e623f: 90
# defer_compilation
0x7048876e6240: e9 ca 1f 00 00
# branch stub hit
0x7048876e822f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e8238: 48 89 33 48 bf 80 e4 b3 64 48 70 00 00 be 00
0x7048876e8247: 00 00 00 e9 dc bd 90 ff
# branch stub hit
0x7048876e824f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e8258: 48 89 33 48 bf f0 bf 26 64 48 70 00 00 be 00
0x7048876e8267: 00 00 00 e9 bc bd 90 ff
# branch stub hit
0x7048876e826f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e8278: 48 89 33 48 bf e0 e0 25 64 48 70 00 00 be 00
0x7048876e8287: 00 00 00 e9 9c bd 90 ff
# exit to interpreter on send
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e828f: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 bb
0x7048876e829e: 00 42 f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876e82ad: b8 24 00 00 00 c3
# regenerate_branch
# Block: block in _run_callbacks@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/hooks.rb:11 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 send (stack_size: 1)
# call to Hash#find
# guard not immediate
0x7048876e6240: 40 f6 c6 07 0f 85 e5 1f 00 00 48 83 fe 00 0f
0x7048876e624f: 84 fb 1f 00 00 48 89 f0
# guard known class
0x7048876e6257: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876e6266: 85 04 20 00 00
# RUBY_VM_CHECK_INTS(ec)
0x7048876e626b: 41 8b 44 24 20 85 c0 0f 85 17 20 00 00
# stack overflow check
0x7048876e6278: 48 8d 83 98 00 00 00 49 39 c5 0f 86 07 20 00
0x7048876e6287: 00
# save PC to CFP
0x7048876e6288: 48 b8 f0 bb 00 42 f8 58 00 00 49 89 45 00 48
0x7048876e6297: 8d 43 20
# push cme, specval, frame type
0x7048876e629a: 48 b9 90 dc 45 8f 48 70 00 00 48 89 48 e8 48
0x7048876e62a9: b9 68 16 6d 83 48 70 00 00 49 89 4d 28 49 8d
0x7048876e62b8: 4d 18 48 83 c9 01 48 89 48 f0 48 c7 40 f8 83
0x7048876e62c7: 00 55 55
# push callee control frame
0x7048876e62ca: 49 89 45 d0 49 c7 45 d8 00 00 00 00 49 89 75
0x7048876e62d9: e0 49 c7 45 f0 00 00 00 00 48 83 e8 08 49 89
0x7048876e62e8: 45 e8
# set ec->cfp
0x7048876e62ea: 49 8d 45 c8 49 89 44 24 10 48 8d 43 08
# call C function
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e62f7: 48 89 33 48 bf 00 00 00 00 00 00 00 00 48 89
0x7048876e6306: f2 48 89 c6 e8 41 eb a3 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876e630f: 48 89 c6 4d 89 6c 24 10
# branch stub hit
0x7048876e82b3: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876e82bc: 48 89 33 48 bf 30 02 3a 64 48 70 00 00 be 00
0x7048876e82cb: 00 00 00 e9 58 bd 90 ff
# clear local variable types
# gen_direct_jmp: fallthrough
--
0x7048876eebeb: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876eebfa: f8
# YJIT entry point: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255
0x7048876eebfb: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876eec0a: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048876f1558: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f1561: 48 89 33 48 bf 60 4c 72 64 48 70 00 00 be 00
0x7048876f1570: 00 00 00 e9 b3 2a 90 ff
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876eec18: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876eec1c: e9 37 29 00 00
# branch stub hit
0x7048876f1578: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f1581: 48 89 33 48 bf 40 57 03 64 48 70 00 00 be 00
0x7048876f1590: 00 00 00 e9 93 2a 90 ff
# branch stub hit
0x7048876f1598: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f15a1: 48 89 33 48 bf 60 5f 03 64 48 70 00 00 be 00
0x7048876f15b0: 00 00 00 e9 73 2a 90 ff
# branch stub hit
0x7048876f15b8: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f15c1: 48 89 33 48 bf 40 db 6b 64 48 70 00 00 be 00
0x7048876f15d0: 00 00 00 e9 53 2a 90 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f15d8: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 78 63
0x7048876f15e7: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f15f6: b8 24 00 00 00 c3
# regenerate_branch
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#loaded?
# guard not immediate
0x7048876eec1c: 40 f6 c6 07 0f 85 52 29 00 00 48 83 fe 00 0f
0x7048876eec2b: 84 68 29 00 00 48 89 f0
# guard known class
0x7048876eec33: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876eec42: 85 71 29 00 00
# stack overflow check
0x7048876eec47: 48 8d 83 80 00 00 00 49 39 c5 0f 86 81 29 00
0x7048876eec56: 00
# store caller sp
0x7048876eec57: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876eec5e: 48 b8 88 63 1e 3f f8 58 00 00 49 89 45 00 48
0x7048876eec6d: 8d 43 20
# push cme, specval, frame type
0x7048876eec70: 48 b9 98 b6 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876eec7f: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876eec8e: 49 89 45 d0 48 b9 d0 a8 1f 86 48 70 00 00 49
0x7048876eec9d: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876eecac: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876eecb7: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876eecba: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876eecbd: 48 b8 97 6b 48 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876eeccb: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876eecd4: e9 b9 7e d9 ff
# YJIT entry point: parse_content_type@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/http/response.rb:458
0x7048876eecd9: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876eece8: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# exit to interpreter on getlocal_WC_0
0x7048876f15fc: 48 b8 20 b7 97 68 48 70 00 00 49 89 45 00 5b
0x7048876f160b: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f1615: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f161e: 48 bf 40 e0 6b 64 48 70 00 00 be 00 00 00 00
0x7048876f162d: e9 f9 29 90 ff
# branch stub hit
0x7048876f1632: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f163b: 48 bf 40 e0 6b 64 48 70 00 00 be 01 00 00 00
0x7048876f164a: e9 dc 29 90 ff
# Block: parse_content_type@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/http/response.rb:458 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876eecf6: 48 8b 73 d8
# Insn: 0002 branchunless (stack_size: 1)
0x7048876eecfa: 48 f7 c6 fb ff ff ff 0f 84 0e 29 00 00 e9 26
0x7048876eed09: 29 00 00
# regenerate_branch
0x7048876eed01: 0f 84 0e 29 00 00
# exit to interpreter on opt_getconstant_path
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f164f: 48 b8 40 b7 97 68 48 70 00 00 49 89 45 00 5b
0x7048876f165e: 41 5c 41 5d b8 24 00 00 00 c3
# Block: parse_content_type@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/http/response.rb:458 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0004 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876eed07: 48 b8 98 b7 40 7a 48 70 00 00 48 89 c6
# branch stub hit
0x7048876f1668: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f1671: 48 89 33 48 bf 10 f4 6b 64 48 70 00 00 be 00
0x7048876f1680: 00 00 00 e9 a3 29 90 ff
# gen_direct_jmp: fallthrough
# Block: parse_content_type@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/http/response.rb:458 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048876eed14: e9 4f 29 00 00
# regenerate_branch
0x7048876eed01: 0f 84 0e 29 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f1688: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 b7
0x7048876f1697: 97 68 48 70 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f16a6: b8 24 00 00 00 c3
# branch stub hit
0x7048876f16ac: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f16b5: 48 89 33 48 89 7b 08 48 bf 90 a2 b1 64 48 70
0x7048876f16c4: 00 00 be 00 00 00 00 e9 5b 29 90 ff
# regenerate_branch
# Block: parse_content_type@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/http/response.rb:458 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876eed14: 48 8b 7b d8
--
0x7048876f4b69: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f4b78: b8 24 00 00 00 c3
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0003 opt_not (stack_size: 1)
# call to FalseClass#!
# guard object is false
0x7048876f29a1: 48 85 f6 0f 85 90 21 00 00
# rb_obj_not(nil_or_false)
0x7048876f29aa: be 14 00 00 00
# branch stub hit
0x7048876f4b7e: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4b87: 48 89 33 48 bf 20 28 98 5c 48 70 00 00 be 00
0x7048876f4b96: 00 00 00 e9 8d f4 8f ff
# gen_direct_jmp: fallthrough
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0005 branchunless (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0007 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f29af: 49 8b 75 18
# Insn: 0008 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f29b3: e9 c6 21 00 00
# regenerate_branch
0x704887486ba2: 0f 85 f9 bd 26 00
# branch stub hit
0x7048876f4b9e: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4ba7: 48 89 33 48 bf c0 a0 52 60 48 70 00 00 be 00
0x7048876f4bb6: 00 00 00 e9 6d f4 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4bbe: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b0 63
0x7048876f4bcd: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f4bdc: b8 24 00 00 00 c3
# branch stub hit
0x7048876f4be2: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f4be6: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4bf2: 48 89 33 48 bf 90 67 c9 5c 48 70 00 00 be 00
0x7048876f4c01: 00 00 00 e9 22 f4 8f ff
# regenerate_branch
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#exists?
0x7048876f29b3: 48 89 f0
# guard known class
0x7048876f29b6: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f29c5: 85 d4 21 00 00
# stack overflow check
0x7048876f29ca: 48 8d 83 90 00 00 00 49 39 c5 0f 86 e4 21 00
0x7048876f29d9: 00
# store caller sp
0x7048876f29da: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f29e1: 48 b8 c0 63 1e 3f f8 58 00 00 49 89 45 00 48
0x7048876f29f0: 8d 43 20
# push cme, specval, frame type
0x7048876f29f3: 48 b9 c0 b6 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f2a02: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f2a11: 49 89 45 d0 48 b9 20 a9 1f 86 48 70 00 00 49
0x7048876f2a20: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f2a2f: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f2a3a: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f2a40: 48 b8 e2 4b 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f2a4e: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x7048876f4c09: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4c12: 48 89 33 48 bf 50 69 c5 60 48 70 00 00 be 00
0x7048876f4c21: 00 00 00 e9 02 f4 8f ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:230 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2a57: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f2a5b: e9 a9 21 00 00
# branch stub hit
0x7048876f4c29: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4c32: 48 89 33 48 bf 10 d4 1b 5c 48 70 00 00 be 00
0x7048876f4c41: 00 00 00 e9 e2 f3 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4c49: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 88 fb
0x7048876f4c58: 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f4c67: b8 24 00 00 00 c3
# branch stub hit
0x7048876f4c6d: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f4c71: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4c7d: 48 89 33 48 bf b0 26 70 5c 48 70 00 00 be 00
0x7048876f4c8c: 00 00 00 e9 97 f3 8f ff
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:230 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#enabled?
0x7048876f2a5b: 48 89 f0
# guard known class
0x7048876f2a5e: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f2a6d: 85 b7 21 00 00
# stack overflow check
0x7048876f2a72: 48 8d 83 80 00 00 00 49 39 c5 0f 86 c7 21 00
0x7048876f2a81: 00
# store caller sp
0x7048876f2a82: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f2a89: 48 b8 98 fb 1d 3f f8 58 00 00 49 89 45 00 48
0x7048876f2a98: 8d 43 20
# push cme, specval, frame type
0x7048876f2a9b: 48 b9 b8 b9 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f2aaa: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f2ab9: 49 89 45 d0 48 b9 10 af 1f 86 48 70 00 00 49
0x7048876f2ac8: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f2ad7: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f2ae2: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876f2ae5: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f2ae8: 48 b8 6d 4c 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f2af6: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876f2aff: e9 d6 36 ff ff
# branch stub hit
0x7048876f4c94: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4c9d: 48 bf c0 b8 8f 5c 48 70 00 00 be 00 00 00 00
0x7048876f4cac: e9 7a f3 8f ff
# branch stub hit
0x7048876f4cb1: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4cba: 48 bf c0 b8 8f 5c 48 70 00 00 be 01 00 00 00
0x7048876f4cc9: e9 5d f3 8f ff
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:230 
# reg_mapping: [None, None, None, None, None]
0x7048876f2b04: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2b08: 48 89 c6
# Insn: 0003 branchif (stack_size: 1)
0x7048876f2b0b: 48 f7 c6 fb ff ff ff 0f 85 7c 21 00 00 e9 94
0x7048876f2b1a: 21 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f2ae8: 48 b8 04 2b 6f 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048876f2b12: 0f 84 99 21 00 00
# branch stub hit
0x7048876f4cce: 56 57 41 50 41 51 41 52 50 48 bf 20 4f b8 5c
0x7048876f4cdd: 48 70 00 00 be 00 00 00 00 e9 40 f3 8f ff
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 getinstancevariable (stack_size: 0)
0x7048876f2b18: 49 8b 45 18
# guard shape
0x7048876f2b1c: 81 78 04 ce 10 00 00 0f 85 a5 21 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2b29: 48 8b 70 30
# branch stub hit
0x7048876f4ceb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4cf4: 48 89 33 48 bf 80 3a 9f 5c 48 70 00 00 be 00
0x7048876f4d03: 00 00 00 e9 20 f3 8f ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0011 opt_nil_p (stack_size: 1)
# defer_compilation
0x7048876f2b2d: e9 b9 21 00 00
# regenerate_branch
0x7048876f2b12: 0f 84 99 21 00 00
# branch stub hit
0x7048876f4d0b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4d14: 48 89 33 48 bf 60 26 a8 5c 48 70 00 00 be 00
0x7048876f4d23: 00 00 00 e9 00 f3 8f ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4d2b: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 fb
0x7048876f4d3a: 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f4d49: b8 24 00 00 00 c3
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0011 opt_nil_p (stack_size: 1)
# call to NilClass#nil?
# guard object is nil
0x7048876f2b2d: 48 83 fe 04 0f 85 d4 21 00 00
# nil? == true
0x7048876f2b37: be 14 00 00 00
# branch stub hit
0x7048876f4d4f: 56 57 41 50 41 51 41 52 50 48 bf 80 e2 be 5c
0x7048876f4d5e: 48 70 00 00 be 00 00 00 00 e9 bf f2 8f ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0013 branchif (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0019 getinstancevariable (stack_size: 0)
# defer_compilation
0x7048876f2b3c: e9 0e 22 00 00
# branch stub hit
0x7048876f4d6c: 56 57 41 50 41 51 41 52 50 48 bf d0 ab be 5c
0x7048876f4d7b: 48 70 00 00 be 00 00 00 00 e9 a2 f2 8f ff
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [None, None, None, None, None]
# Insn: 0019 getinstancevariable (stack_size: 0)
0x7048876f2b3c: 49 8b 45 18
# guard shape
0x7048876f2b40: 81 78 04 ce 10 00 00 0f 85 1f 22 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2b4d: 48 8b 70 10
# branch stub hit
0x7048876f4d89: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f4d92: 48 89 33 48 89 7b 08 48 bf 00 9d cc 5c 48 70
0x7048876f4da1: 00 00 be 00 00 00 00 e9 7e f2 8f ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0022 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f2b51: bf 0c 1f 9e 04
# Insn: 0024 getinstancevariable (stack_size: 2)
# defer_compilation
0x7048876f2b56: e9 2e 22 00 00
# branch stub hit
0x7048876f4dad: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f4db6: 48 89 33 48 89 7b 08 48 bf 70 c9 a7 5c 48 70
0x7048876f4dc5: 00 00 be 00 00 00 00 e9 5a f2 8f ff
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0024 getinstancevariable (stack_size: 2)
0x7048876f2b56: 49 8b 45 18
# guard shape
0x7048876f2b5a: 81 78 04 ce 10 00 00 0f 85 46 22 00 00
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f2b67: 4c 8b 40 18
# branch stub hit
0x7048876f4dd1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f4dda: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf e0 87
0x7048876f4de9: 46 5c 48 70 00 00 be 00 00 00 00 e9 32 f2 8f
0x7048876f4df8: ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
# Insn: 0027 opt_send_without_block (stack_size: 3)
# defer_compilation
0x7048876f2b6b: e9 61 22 00 00
# branch stub hit
0x7048876f4df9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f4e02: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf f0 82
0x7048876f4e11: 9c 5c 48 70 00 00 be 00 00 00 00 e9 0a f2 8f
0x7048876f4e20: ff
# branch stub hit
0x7048876f4e21: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f4e2a: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf c0 64
0x7048876f4e39: ba 5c 48 70 00 00 be 00 00 00 00 e9 e2 f1 8f
0x7048876f4e48: ff
# branch stub hit
0x7048876f4e49: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f4e52: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf 80 7c
0x7048876f4e61: af 5c 48 70 00 00 be 00 00 00 00 e9 ba f1 8f
0x7048876f4e70: ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f4e71: 48 89 33 48 89 7b 08 4c 89 43 10 48 8d 43 18
0x7048876f4e80: 49 89 45 08 48 b8 58 fc 1d 3f f8 58 00 00 49
0x7048876f4e8f: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f4e9d: 56 57 41 50 41 51 41 52 50 48 bf 80 17 6a 5c
0x7048876f4eac: 48 70 00 00 be 00 00 00 00 e9 71 f1 8f ff
# branch stub hit
0x7048876f4eba: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f4ebe: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4eca: 48 89 33 48 bf 90 c4 9e 5c 48 70 00 00 be 00
0x7048876f4ed9: 00 00 00 e9 4a f1 8f ff
# exit to interpreter on opt_send_without_block
0x7048876f4ee1: 48 8d 43 18 49 89 45 08 48 b8 58 fc 1d 3f f8
0x7048876f4ef0: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x7048876f4eff: 00 00 c3
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
# Insn: 0027 opt_send_without_block (stack_size: 3)
# call to ActionDispatch::Session::ActiveRecordStore#send
# guard not immediate
0x7048876f2b6b: 40 f6 c6 07 0f 85 84 22 00 00 48 83 fe 00 0f
0x7048876f2b7a: 84 a2 22 00 00 48 89 f0
# guard known class
0x7048876f2b82: 48 b9 80 11 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f2b91: 85 b3 22 00 00
# guard sending method name 'session_exists?'
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f2b96: 48 89 33 48 89 7b 08 4c 89 43 10 e8 0a af be
0x7048876f2ba5: 23 48 81 f8 1f 9e 04 00 0f 85 ea 22 00 00
# stack overflow check
0x7048876f2bb3: 48 8d 83 a8 00 00 00 49 39 c5 0f 86 1e 23 00
0x7048876f2bc2: 00
# shift_stack
0x7048876f2bc3: 48 8b 43 10 48 89 43 08
# nil-initialize locals
0x7048876f2bcb: 48 c7 43 10 04 00 00 00
# store caller sp
0x7048876f2bd3: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f2bda: 48 b8 68 fc 1d 3f f8 58 00 00 49 89 45 00 48
0x7048876f2be9: 8d 43 30
# push cme, specval, frame type
0x7048876f2bec: 48 b9 78 09 21 86 48 70 00 00 48 89 48 e8 48
0x7048876f2bfb: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f2c0a: 49 89 45 d0 48 b9 c0 34 21 86 48 70 00 00 49
0x7048876f2c19: 89 4d d8 48 8b 0b 49 89 4d e0 49 c7 45 f0 00
0x7048876f2c28: 00 00 00 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
0x7048876f2c36: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f2c39: 48 b8 ba 4e 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f2c47: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x7048876f4f02: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4f0b: 48 89 33 48 bf 80 dc 95 5c 48 70 00 00 be 00
0x7048876f4f1a: 00 00 00 e9 09 f1 8f ff
# gen_direct_jmp: fallthrough
# Block: session_exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:335 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2c50: 49 8b 75 18
# Insn: 0001 getlocal_WC_0 (stack_size: 1)
# defer_compilation
0x7048876f2c54: e9 a9 22 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4f22: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 48 60
0x7048876f4f31: 19 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f4f40: b8 24 00 00 00 c3
# branch stub hit
0x7048876f4f46: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f4f4f: 48 89 33 48 89 7b 08 48 bf 40 c4 ac 5c 48 70
0x7048876f4f5e: 00 00 be 00 00 00 00 e9 c1 f0 8f ff
# regenerate_branch
# Block: session_exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:335 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 getlocal_WC_0 (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f2c54: 48 8b 7b d8
# Insn: 0003 opt_send_without_block (stack_size: 2)
0x7048876f2c58: 90
# defer_compilation
0x7048876f2c59: e9 e8 22 00 00
# branch stub hit
0x7048876f4f6a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f4f73: 48 89 33 48 89 7b 08 48 bf 80 de 63 5c 48 70
0x7048876f4f82: 00 00 be 00 00 00 00 e9 9d f0 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f4f8e: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876f4f9d: 48 b8 58 60 19 3f f8 58 00 00 49 89 45 00 5b
0x7048876f4fac: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f4fb6: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f4fba: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f4fc6: 48 89 33 48 bf b0 95 4c 5c 48 70 00 00 be 00
0x7048876f4fd5: 00 00 00 e9 4e f0 8f ff
# regenerate_branch
# Block: session_exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/session/abstract/id.rb:335 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0003 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Session::ActiveRecordStore#current_session_id
0x7048876f2c59: 48 89 f0
# guard known class
0x7048876f2c5c: 48 b9 80 11 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f2c6b: 85 fa 22 00 00
--
0x7048876f5478: 48 89 33 48 89 7b 08 48 bf 50 9d 37 5c 48 70
0x7048876f5487: 00 00 be 00 00 00 00 e9 98 eb 8f ff
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [None, None, None, None, None]
0x7048876f2f3a: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2f3e: 48 89 c6
# Insn: 0029 dup (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f2f41: 48 89 f7
# Insn: 0030 setinstancevariable (stack_size: 2)
# defer_compilation
0x7048876f2f44: e9 26 25 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f2c39: 48 b8 3a 2f 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876f5493: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f549c: 48 89 33 48 89 7b 08 48 bf 00 39 9f 5c 48 70
0x7048876f54ab: 00 00 be 00 00 00 00 e9 74 eb 8f ff
# exit to interpreter on leave
0x7048876f54b7: 48 8d 43 08 49 89 45 08 48 b8 88 fc 1d 3f f8
0x7048876f54c6: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x7048876f54d5: 00 00 c3
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:232 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0030 setinstancevariable (stack_size: 2)
0x7048876f2f44: 49 8b 45 18
# guard shape
0x7048876f2f48: 81 78 04 ce 10 00 00 0f 85 3e 25 00 00
# write IV
0x7048876f2f55: 48 89 78 30
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f2f59: 48 89 33 48 89 7b 08 f6 43 08 07 0f 85 17 00
0x7048876f2f68: 00 00 48 83 7b 08 04 0f 86 0c 00 00 00
# write barrier
0x7048876f2f75: 48 89 c7 48 8b 73 08 e8 5f c8 a6 23
# Insn: 0033 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876f2f81: 41 8b 44 24 20 85 c0 0f 85 29 25 00 00
# pop stack frame
0x7048876f2f8e: 49 83 c5 38 4d 89 6c 24 10 48 8b 03 41 ff 65
0x7048876f2f9d: f8
# branch stub hit
0x7048876f54d8: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f54e1: 48 bf 10 19 6a 5c 48 70 00 00 be 01 00 00 00
0x7048876f54f0: e9 36 eb 8f ff
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [None, None, None, None, None]
0x7048876f2f9e: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2fa2: 48 89 c6
# Insn: 0010 branchunless (stack_size: 1)
0x7048876f2fa5: 48 f7 c6 fb ff ff ff 0f 84 fb 3b d9 ff e9 21
0x7048876f2fb4: 25 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f2a40: 48 b8 9e 2f 6f 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048876f2fac: 0f 84 fb 3b d9 ff
# branch stub hit
0x7048876f54f5: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f54fe: 48 89 33 48 bf 60 08 60 5c 48 70 00 00 be 00
0x7048876f550d: 00 00 00 e9 16 eb 8f ff
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0012 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f2fb2: 49 8b 75 18
# Insn: 0013 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f2fb6: e9 3a 25 00 00
# regenerate_branch
0x7048876f2fac: 0f 84 fb 3b d9 ff
# branch stub hit
0x7048876f5515: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f551e: 48 89 33 48 bf 40 56 ae 5c 48 70 00 00 be 00
0x7048876f552d: 00 00 00 e9 f6 ea 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5535: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 63
0x7048876f5544: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f5553: b8 24 00 00 00 c3
# branch stub hit
0x7048876f5559: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f555d: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5569: 48 89 33 48 bf 50 6b cb 5c 48 70 00 00 be 00
0x7048876f5578: 00 00 00 e9 ab ea 8f ff
# regenerate_branch
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:255 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0013 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#load!
0x7048876f2fb6: 48 89 f0
# guard known class
0x7048876f2fb9: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f2fc8: 85 48 25 00 00
# stack overflow check
0x7048876f2fcd: 48 8d 83 a0 00 00 00 49 39 c5 0f 86 58 25 00
0x7048876f2fdc: 00
# nil-initialize locals
0x7048876f2fdd: 48 c7 43 08 04 00 00 00 48 c7 43 10 04 00 00
0x7048876f2fec: 00
# store caller sp
0x7048876f2fed: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f2ff4: 48 b8 e8 63 1e 3f f8 58 00 00 49 89 45 00 48
0x7048876f3003: 8d 43 30
# push cme, specval, frame type
0x7048876f3006: 48 b9 58 b5 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f3015: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f3024: 49 89 45 d0 48 b9 50 a6 1f 86 48 70 00 00 49
0x7048876f3033: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f3042: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f304d: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f3053: 48 b8 59 55 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f3061: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x7048876f5580: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5589: 48 89 33 48 bf 50 d4 06 5c 48 70 00 00 be 00
0x7048876f5598: 00 00 00 e9 8b ea 8f ff
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:271 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f306a: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f306e: e9 0d 25 00 00
# branch stub hit
0x7048876f55a0: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f55a9: 48 89 33 48 bf 20 ec ab 5c 48 70 00 00 be 00
0x7048876f55b8: 00 00 00 e9 6b ea 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f55c0: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 a8 84
0x7048876f55cf: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f55de: b8 24 00 00 00 c3
# branch stub hit
0x7048876f55e4: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f55e8: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f55f4: 48 89 33 48 bf d0 d4 99 5c 48 70 00 00 be 00
0x7048876f5603: 00 00 00 e9 20 ea 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:271 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#enabled?
0x7048876f306e: 48 89 f0
# guard known class
0x7048876f3071: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f3080: 85 1b 25 00 00
# stack overflow check
0x7048876f3085: 48 8d 83 80 00 00 00 49 39 c5 0f 86 2b 25 00
0x7048876f3094: 00
# store caller sp
0x7048876f3095: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f309c: 48 b8 b8 84 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f30ab: 8d 43 20
# push cme, specval, frame type
0x7048876f30ae: 48 b9 b8 b9 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f30bd: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f30cc: 49 89 45 d0 48 b9 10 af 1f 86 48 70 00 00 49
0x7048876f30db: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f30ea: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f30f5: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876f30f8: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f30fb: 48 b8 e4 55 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f3109: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876f3112: e9 c3 30 ff ff
# branch stub hit
0x7048876f560b: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5614: 48 bf 30 f3 37 5c 48 70 00 00 be 00 00 00 00
0x7048876f5623: e9 03 ea 8f ff
# branch stub hit
0x7048876f5628: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5631: 48 bf 30 f3 37 5c 48 70 00 00 be 01 00 00 00
0x7048876f5640: e9 e6 e9 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:271 
# reg_mapping: [None, None, None, None, None]
0x7048876f3117: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f311b: 48 89 c6
# Insn: 0003 branchunless (stack_size: 1)
0x7048876f311e: 48 f7 c6 fb ff ff ff 0f 84 e0 24 00 00 e9 f8
0x7048876f312d: 24 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f30fb: 48 b8 17 31 6f 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048876f3125: 0f 84 e0 24 00 00
# branch stub hit
0x7048876f5645: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f564e: 48 89 33 48 bf a0 ae 55 5c 48 70 00 00 be 00
0x7048876f565d: 00 00 00 e9 c6 e9 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:272 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0005 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f312b: 49 8b 75 18
# Insn: 0006 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f312f: e9 11 25 00 00
# regenerate_branch
0x7048876f3125: 0f 84 e0 24 00 00
# branch stub hit
0x7048876f5665: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f566e: 48 89 33 48 bf c0 17 6d 5c 48 70 00 00 be 00
0x7048876f567d: 00 00 00 e9 a6 e9 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5685: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d0 84
0x7048876f5694: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f56a3: b8 24 00 00 00 c3
# branch stub hit
0x7048876f56a9: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f56ad: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f56b9: 48 89 33 48 bf 20 59 95 5c 48 70 00 00 be 00
0x7048876f56c8: 00 00 00 e9 5b e9 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:272 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#exists?
0x7048876f312f: 48 89 f0
# guard known class
0x7048876f3132: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f3141: 85 1f 25 00 00
# stack overflow check
0x7048876f3146: 48 8d 83 90 00 00 00 49 39 c5 0f 86 2f 25 00
0x7048876f3155: 00
# store caller sp
0x7048876f3156: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f315d: 48 b8 e0 84 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f316c: 8d 43 20
# push cme, specval, frame type
0x7048876f316f: 48 b9 c0 b6 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f317e: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f318d: 49 89 45 d0 48 b9 20 a9 1f 86 48 70 00 00 49
0x7048876f319c: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f31ab: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f31b6: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876f31b9: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f31bc: 48 b8 a9 56 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f31ca: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876f31d3: e9 7f f8 ff ff
# branch stub hit
0x7048876f56d0: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f56d9: 48 89 33 48 bf a0 96 9c 5c 48 70 00 00 be 00
0x7048876f56e8: 00 00 00 e9 3b e9 8f ff
# exit to interpreter on opt_nil_p
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f56f0: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 fb
0x7048876f56ff: 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f570e: b8 24 00 00 00 c3
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0011 opt_nil_p (stack_size: 1)
# call to TrueClass#nil?
# guard object is true
0x7048876f31d8: 48 83 fe 14 0f 85 ee 24 00 00
# nil? == false
0x7048876f31e2: be 00 00 00 00
# branch stub hit
0x7048876f5714: 56 57 41 50 41 51 41 52 50 48 bf f0 f9 86 5c
0x7048876f5723: 48 70 00 00 be 00 00 00 00 e9 fa e8 8f ff
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0013 branchif (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0015 getinstancevariable (stack_size: 0)
# defer_compilation
0x7048876f31e7: e9 28 25 00 00
# regenerate_branch
0x7048876f2b31: 0f 85 a1 06 00 00
# branch stub hit
0x7048876f5731: 56 57 41 50 41 51 41 52 50 48 bf 30 9b 49 5c
0x7048876f5740: 48 70 00 00 be 00 00 00 00 e9 dd e8 8f ff
# regenerate_branch
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [None, None, None, None, None]
# Insn: 0015 getinstancevariable (stack_size: 0)
0x7048876f31e7: 49 8b 45 18
# guard shape
0x7048876f31eb: 81 78 04 ce 10 00 00 0f 85 39 25 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f31f8: 48 8b 70 30
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f574e: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 10 fc
0x7048876f575d: 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f576c: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: exists?@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:231 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0018 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876f31fc: 41 8b 44 24 20 85 c0 0f 85 45 25 00 00
# pop stack frame
0x7048876f3209: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876f3218: f8
# branch stub hit
0x7048876f5772: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f577b: 48 bf 20 fa 86 5c 48 70 00 00 be 00 00 00 00
0x7048876f578a: e9 9c e8 8f ff
# branch stub hit
0x7048876f578f: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5798: 48 bf 20 fa 86 5c 48 70 00 00 be 01 00 00 00
0x7048876f57a7: e9 7f e8 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:272 
# reg_mapping: [None, None, None, None, None]
0x7048876f3219: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f321d: 48 89 c6
# Insn: 0008 branchif (stack_size: 1)
0x7048876f3220: 48 f7 c6 fb ff ff ff 0f 85 45 25 00 00 e9 5d
0x7048876f322f: 25 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f31bc: 48 b8 19 32 6f 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048876f3227: 0f 84 62 25 00 00
# branch stub hit
0x7048876f57ac: 56 57 41 50 41 51 41 52 50 48 bf 90 5b 68 5c
0x7048876f57bb: 48 70 00 00 be 00 00 00 00 e9 62 e8 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0015 getinstancevariable (stack_size: 0)
0x7048876f322d: 49 8b 45 18
# guard shape
0x7048876f3231: 81 78 04 ce 10 00 00 0f 85 6e 25 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f323e: 48 8b 70 10
# branch stub hit
0x7048876f57c9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f57d2: 48 89 33 48 bf 70 3e 8a 5c 48 70 00 00 be 00
0x7048876f57e1: 00 00 00 e9 42 e8 8f ff
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0018 getinstancevariable (stack_size: 1)
# defer_compilation
0x7048876f3242: e9 82 25 00 00
# regenerate_branch
0x7048876f3227: 0f 84 62 25 00 00
# branch stub hit
0x7048876f57e9: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f57f2: 48 89 33 48 bf 60 66 a8 5c 48 70 00 00 be 00
0x7048876f5801: 00 00 00 e9 22 e8 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0018 getinstancevariable (stack_size: 1)
0x7048876f3242: 49 8b 45 18
# guard shape
0x7048876f3246: 81 78 04 ce 10 00 00 0f 85 96 25 00 00
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f3253: 48 8b 78 18
# branch stub hit
0x7048876f5809: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f5812: 48 89 33 48 89 7b 08 48 bf c0 07 6a 5c 48 70
0x7048876f5821: 00 00 be 00 00 00 00 e9 fe e7 8f ff
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0021 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048876f3257: e9 ad 25 00 00
# branch stub hit
0x7048876f582d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f5836: 48 89 33 48 89 7b 08 48 bf 40 a9 06 5c 48 70
0x7048876f5845: 00 00 be 00 00 00 00 e9 da e7 8f ff
# branch stub hit
0x7048876f5851: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f585a: 48 89 33 48 89 7b 08 48 bf 10 32 cd 5c 48 70
0x7048876f5869: 00 00 be 00 00 00 00 e9 b6 e7 8f ff
# branch stub hit
0x7048876f5875: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f587e: 48 89 33 48 89 7b 08 48 bf 90 0d 6f 5c 48 70
0x7048876f588d: 00 00 be 00 00 00 00 e9 92 e7 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f5899: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876f58a8: 48 b8 48 85 1a 3f f8 58 00 00 49 89 45 00 5b
0x7048876f58b7: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f58c1: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f58c5: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f58d1: 48 89 33 48 bf c0 31 a9 5c 48 70 00 00 be 00
0x7048876f58e0: 00 00 00 e9 43 e7 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0021 opt_send_without_block (stack_size: 2)
# call to ActionDispatch::Session::ActiveRecordStore#load_session
# guard not immediate
0x7048876f3257: 40 f6 c6 07 0f 85 cc 25 00 00 48 83 fe 00 0f
0x7048876f3266: 84 e6 25 00 00 48 89 f0
# guard known class
0x7048876f326e: 48 b9 80 11 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f327d: 85 f3 25 00 00
# stack overflow check
0x7048876f3282: 48 8d 83 90 00 00 00 49 39 c5 0f 86 07 26 00
0x7048876f3291: 00
# store caller sp
0x7048876f3292: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f3299: 48 b8 58 85 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f32a8: 8d 43 28
# push cme, specval, frame type
0x7048876f32ab: 48 b9 f8 e3 a4 7a 48 70 00 00 48 89 48 e8 48
0x7048876f32ba: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f32c9: 49 89 45 d0 48 b9 40 a0 21 86 48 70 00 00 49
0x7048876f32d8: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f32e7: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), None, None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048876f32f2: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f32f8: 48 b8 c1 58 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f3306: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x7048876f58e8: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876f58f1: 48 89 33 48 89 7b e0 48 bf e0 27 90 5c 48 70
0x7048876f5900: 00 00 be 00 00 00 00 e9 1f e7 8f ff
# gen_direct_jmp: fallthrough
# Block: load_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/middleware/session/abstract_store.rb:47 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x7048876f330f: 49 8b 75 18
# Insn: 0001 send (stack_size: 1)
# defer_compilation
0x7048876f3313: e9 d0 25 00 00
# branch stub hit
0x7048876f590c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876f5915: 48 89 33 48 89 7b e0 48 bf 70 b5 8f 5c 48 70
0x7048876f5924: 00 00 be 00 00 00 00 e9 fb e6 8f ff
# exit to interpreter on send
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876f5930: 48 89 33 48 89 7b e0 48 8d 43 08 49 89 45 08
0x7048876f593f: 48 b8 f8 17 06 3f f8 58 00 00 49 89 45 00 5b
0x7048876f594e: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f5958: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f595c: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f5968: 48 89 33 48 bf a0 5c a3 5c 48 70 00 00 be 00
0x7048876f5977: 00 00 00 e9 ac e6 8f ff
# regenerate_branch
# Block: load_session@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/middleware/session/abstract_store.rb:47 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0001 send (stack_size: 1)
# call to ActionDispatch::Session::ActiveRecordStore#stale_session_check!
0x7048876f3313: 48 89 f0
# guard known class
0x7048876f3316: 48 b9 80 11 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f3325: 85 e2 25 00 00
# stack overflow check
0x7048876f332a: 48 8d 83 88 00 00 00 49 39 c5 0f 86 f6 25 00
0x7048876f3339: 00
# nil-initialize locals
0x7048876f333a: 48 c7 43 08 04 00 00 00
# store caller sp
0x7048876f3342: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f3349: 48 b8 10 18 06 3f f8 58 00 00 49 89 45 00 48
0x7048876f3358: 8d 43 28
# push cme, specval, frame type
0x7048876f335b: 48 b9 00 e6 a4 7a 48 70 00 00 48 89 48 e8 48
0x7048876f336a: b9 f0 9f 21 86 48 70 00 00 49 89 4d 28 49 8d
0x7048876f3379: 4d 18 48 83 c9 01 48 89 48 f0 48 c7 40 f8 03
0x7048876f3388: 00 11 11
# push callee control frame
0x7048876f338b: 49 89 45 d0 48 b9 00 9f 21 86 48 70 00 00 49
0x7048876f339a: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f33a9: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876f33b4: 48 89 33 48 89 7b e0 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f33be: 48 b8 58 59 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f33cc: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
--
0x7048876f9364: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f9373: b8 24 00 00 00 c3
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x7048876f6d93: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f6d97: 48 89 c6
# Insn: 0023 expandarray (stack_size: 1)
0x7048876f6d9a: 48 89 f0
# guard object is heap
0x7048876f6d9d: f6 c0 07 0f 85 af 25 00 00 48 85 c0 0f 84 a6
0x7048876f6dac: 25 00 00
# guard object is array
0x7048876f6daf: 48 8b 00 48 83 e0 1f 48 83 f8 07 0f 85 95 25
0x7048876f6dbe: 00 00 48 89 f0
# get array length for embedded or heap
0x7048876f6dc3: 48 8b 08 48 81 e1 00 80 3f 00 48 c1 f9 0f 66
0x7048876f6dd2: f7 00 00 20 48 0f 44 48 10
# guard array length >= 2
0x7048876f6ddb: 48 83 f9 02 0f 82 c1 24 00 00 48 89 f0
# get array pointer for embedded or heap
0x7048876f6de8: 66 f7 00 00 20 48 8d 48 10 48 0f 44 48 20
# load array[1]
0x7048876f6df6: 48 8b 71 08
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
# load array[0]
0x7048876f6dfa: 48 8b 39
# Insn: 0026 setlocal_WC_0 (stack_size: 2)
0x7048876f6dfd: 49 8b 45 20 f6 00 08 0f 85 e7 24 00 00 48 89
0x7048876f6e0c: 78 e0
# Insn: 0028 setlocal_WC_0 (stack_size: 1)
0x7048876f6e0e: 49 8b 45 20 f6 00 08 0f 85 fa 24 00 00 48 89
0x7048876f6e1d: 70 e8
# Insn: 0030 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f6e1f: 49 8b 75 18
# Insn: 0031 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f6e23: e9 0d 25 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f32f8: 48 b8 93 6d 6f 87 48 70 00 00 49 89 45 f8
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9379: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876f9388: 48 b8 70 85 1a 3f f8 58 00 00 49 89 45 00 5b
0x7048876f9397: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f93a1: 56 57 41 50 41 51 41 52 50 48 bf d0 7d a3 5c
0x7048876f93b0: 48 70 00 00 be 00 00 00 00 e9 6d ac 8f ff
# branch stub hit
0x7048876f93be: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f93c7: 48 89 33 48 bf a0 c7 37 5c 48 70 00 00 be 00
0x7048876f93d6: 00 00 00 e9 4d ac 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:273 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0026 setlocal_WC_0 (stack_size: 2)
0x7048876f6e28: 49 8b 45 20
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f6e2c: 48 89 33 48 89 7b 08 48 be fc ff ff ff ff ff
0x7048876f6e3b: ff ff 48 89 fa 48 89 c7 e8 88 00 c3 23
# Insn: 0028 setlocal_WC_0 (stack_size: 1)
0x7048876f6e48: 49 8b 45 20 f6 00 08 0f 85 4c 25 00 00 48 8b
0x7048876f6e57: 0b 48 89 48 e8
# Insn: 0030 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f6e5c: 49 8b 75 18
# Insn: 0031 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876f6e60: e9 59 25 00 00
# regenerate_branch
0x7048876f6e04: 0f 85 1e 00 00 00
# branch stub hit
0x7048876f93de: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f93e7: 48 89 33 48 bf 80 5b 6e 5c 48 70 00 00 be 00
0x7048876f93f6: 00 00 00 e9 2d ac 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f93fe: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 98 85
0x7048876f940d: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f941c: b8 24 00 00 00 c3
# branch stub hit
0x7048876f9422: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f9426: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9432: 48 89 33 48 bf 20 ce 3a 5c 48 70 00 00 be 00
0x7048876f9441: 00 00 00 e9 e2 ab 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:274 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0031 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#options
0x7048876f6e60: 48 89 f0
# guard known class
0x7048876f6e63: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f6e72: 85 67 25 00 00
# stack overflow check
0x7048876f6e77: 48 8d 83 88 00 00 00 49 39 c5 0f 86 77 25 00
0x7048876f6e86: 00
# store caller sp
0x7048876f6e87: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f6e8e: 48 b8 a8 85 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f6e9d: 8d 43 20
# push cme, specval, frame type
0x7048876f6ea0: 48 b9 90 b9 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f6eaf: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f6ebe: 49 89 45 d0 48 b9 c0 ae 1f 86 48 70 00 00 49
0x7048876f6ecd: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f6edc: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f6ee7: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876f6eea: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f6eed: 48 b8 22 94 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f6efb: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876f6f04: e9 f2 c1 d8 ff
# exit to interpreter on putobject
0x7048876f9449: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f944d: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9450: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 a8 85
0x7048876f945f: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f946e: b8 24 00 00 00 c3
# branch stub hit
0x7048876f9474: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f947d: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf 90 39
0x7048876f948c: 60 5c 48 70 00 00 be 00 00 00 00 e9 8f ab 8f
0x7048876f949b: ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:274 
# reg_mapping: [None, None, None, None, None]
0x7048876f6f09: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f6f0d: 48 89 c6
# Insn: 0033 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f6f10: bf 0c b1 8f 00
# Insn: 0035 getlocal_WC_0 (stack_size: 2)
0x7048876f6f15: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f6f19: 4c 8b 40 e0
# Insn: 0037 opt_aset (stack_size: 3)
# defer_compilation
0x7048876f6f1d: e9 52 25 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f6eed: 48 b8 09 6f 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876f949c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f94a5: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf 80 c9
0x7048876f94b4: 3a 5c 48 70 00 00 be 00 00 00 00 e9 67 ab 8f
0x7048876f94c3: ff
# branch stub hit
0x7048876f94c4: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f94cd: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf e0 7c
0x7048876f94dc: 48 5c 48 70 00 00 be 00 00 00 00 e9 3f ab 8f
0x7048876f94eb: ff
# branch stub hit
0x7048876f94ec: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f94f5: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf d0 dd
0x7048876f9504: 76 5c 48 70 00 00 be 00 00 00 00 e9 17 ab 8f
0x7048876f9513: ff
# exit to interpreter on opt_aset
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x7048876f9514: 48 89 33 48 89 7b 08 4c 89 43 10 48 8d 43 18
0x7048876f9523: 49 89 45 08 48 b8 c8 85 1a 3f f8 58 00 00 49
0x7048876f9532: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f9540: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f9544: 48 89 c6 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9550: 48 89 33 48 bf 70 2d 61 5c 48 70 00 00 be 00
0x7048876f955f: 00 00 00 e9 c4 aa 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:274 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
# Insn: 0037 opt_aset (stack_size: 3)
# call to ActionDispatch::Request::Session::Options#[]=
# guard not immediate
0x7048876f6f1d: 40 f6 c6 07 0f 85 75 25 00 00 48 83 fe 00 0f
0x7048876f6f2c: 84 93 25 00 00 48 89 f0
# guard known class
0x7048876f6f34: 48 b9 c0 1c 20 86 48 70 00 00 48 39 48 08 0f
0x7048876f6f43: 85 a4 25 00 00
# stack overflow check
0x7048876f6f48: 48 8d 83 b8 00 00 00 49 39 c5 0f 86 bc 25 00
0x7048876f6f57: 00
# store caller sp
0x7048876f6f58: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876f6f5f: 48 b8 d8 85 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f6f6e: 8d 43 30
# push cme, specval, frame type
0x7048876f6f71: 48 b9 a8 ba 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876f6f80: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f6f8f: 49 89 45 d0 48 b9 c8 b0 1f 86 48 70 00 00 49
0x7048876f6f9e: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876f6fad: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, Some(Local(0)), Some(Local(1)), None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f6fb8: 48 89 33 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f6fbe: 48 b8 40 95 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f6fcc: 49 83 ed 38 4d 89 6c 24 10
# branch stub hit
0x7048876f9567: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x7048876f9570: 48 89 33 48 89 7b d8 4c 89 43 e0 48 bf 40 2d
0x7048876f957f: 61 5c 48 70 00 00 be 00 00 00 00 e9 9c aa 8f
0x7048876f958e: ff
# gen_direct_jmp: fallthrough
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [None, Some(Local(0)), Some(Local(1)), None, None]
# Insn: 0000 putnil (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None]
0x7048876f6fd5: be 04 00 00 00
# Insn: 0001 getinstancevariable (stack_size: 1)
# defer_compilation
0x7048876f6fda: e9 88 25 00 00
# branch stub hit
0x7048876f958f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None] -> [None, None, None, None, None]
0x7048876f9598: 48 89 33 48 89 7b d8 4c 89 43 e0 48 bf f0 24
0x7048876f95a7: 61 5c 48 70 00 00 be 00 00 00 00 e9 74 aa 8f
0x7048876f95b6: ff
# regenerate_branch
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None]
# Insn: 0001 getinstancevariable (stack_size: 1)
0x7048876f6fda: 49 8b 45 18
# guard shape
0x7048876f6fde: 81 78 04 d0 10 00 00 0f 85 a4 25 00 00
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), None, None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
0x7048876f6feb: 4c 8b 48 18
# branch stub hit
0x7048876f95b7: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [None, None, None, None, None]
0x7048876f95c0: 48 89 33 4c 89 4b 08 48 89 7b d8 4c 89 43 e0
0x7048876f95cf: 48 bf 90 25 9e 5c 48 70 00 00 be 00 00 00 00
0x7048876f95de: e9 48 aa 8f ff
# gen_direct_jmp: fallthrough
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# defer_compilation
0x7048876f6fef: e9 c3 25 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [None, None, None, None, None]
0x7048876f95e3: 48 89 33 4c 89 4b 08 48 89 7b d8 4c 89 43 e0
0x7048876f95f2: 48 8d 43 10 49 89 45 08 48 b8 50 db 1d 3f f8
0x7048876f9601: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x7048876f9610: 00 00 c3
# branch stub hit
0x7048876f9613: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f961c: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f962b: 4c 89 43 e0 48 bf 90 3a 87 5c 48 70 00 00 be
0x7048876f963a: 00 00 00 00 e9 e8 a9 8f ff
# regenerate_branch
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None]
# Insn: 0004 getlocal_WC_0 (stack_size: 2)
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), None] -> [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))]
0x7048876f6fef: 49 89 fa
# Insn: 0006 getlocal_WC_0 (stack_size: 3)
0x7048876f6ff2: 66 90
# defer_compilation
0x7048876f6ff4: e9 1a 26 00 00
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f9643: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f9652: 4c 89 43 e0 48 8d 43 18 49 89 45 08 48 b8 60
0x7048876f9661: db 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876f9670: 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f9677: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f9680: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f968f: 4c 89 43 e0 48 bf 00 3c 87 5c 48 70 00 00 be
0x7048876f969e: 00 00 00 00 e9 84 a9 8f ff
# regenerate_branch
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))]
# Insn: 0006 getlocal_WC_0 (stack_size: 3)
0x7048876f6ff4: 4c 89 43 18
# Insn: 0008 setn (stack_size: 4)
0x7048876f6ff8: 48 8b 73 18
# Insn: 0010 opt_aset (stack_size: 4)
# defer_compilation
0x7048876f6ffc: e9 76 26 00 00
# branch stub hit
0x7048876f96a7: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f96b0: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f96bf: 4c 89 43 e0 48 bf d0 c6 a7 5c 48 70 00 00 be
0x7048876f96ce: 00 00 00 00 e9 54 a9 8f ff
# branch stub hit
0x7048876f96d7: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f96e0: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f96ef: 4c 89 43 e0 48 bf c0 1b 9e 5c 48 70 00 00 be
0x7048876f96fe: 00 00 00 00 e9 24 a9 8f ff
# branch stub hit
0x7048876f9707: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f9710: 48 89 33 4c 89 4b 08 4c 89 53 10 48 89 7b d8
0x7048876f971f: 4c 89 43 e0 48 bf 10 2b 61 5c 48 70 00 00 be
0x7048876f972e: 00 00 00 00 e9 f4 a8 8f ff
# exit to interpreter on pop
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9737: 48 89 7b e8 48 8d 43 f0 49 89 45 08 48 b8 90
0x7048876f9746: db 1d 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876f9755: 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))]
# Insn: 0010 opt_aset (stack_size: 4)
# guard not immediate
0x7048876f6ffc: 41 f6 c1 07 0f 85 a1 26 00 00 49 83 f9 00 0f
0x7048876f700b: 84 c7 26 00 00 4c 89 c8
# guard known class
0x7048876f7013: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876f7022: 85 e0 26 00 00
# save PC to CFP
0x7048876f7027: 48 b8 90 db 1d 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x7048876f7035: 48 8d 5b 20 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Local(0)), Some(Local(1)), Some(Stack(1)), Some(Stack(2))] -> [None, None, None, None, None]
0x7048876f703d: 48 89 73 e0 4c 89 4b e8 4c 89 53 f0 48 89 7b
0x7048876f704c: b8 4c 89 43 c0 4c 89 cf 4c 89 d6 48 8b 53 f8
0x7048876f705b: e8 20 fb a7 23
# reg_mapping: [None, None, None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048876f7060: 48 89 c7
# exit to interpreter on leave
0x7048876f975c: 48 8d 43 e8 49 89 45 08 48 b8 98 db 1d 3f f8
0x7048876f976b: 58 00 00 49 89 45 00 5b 41 5c 41 5d b8 24 00
0x7048876f977a: 00 00 c3
# gen_direct_jmp: fallthrough
# Block: []=@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:71 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
# Insn: 0012 pop (stack_size: 2)
# Insn: 0013 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876f7063: 41 8b 44 24 20 85 c0 0f 85 ec 26 00 00
# pop stack frame
0x7048876f7070: 49 83 c5 38 4d 89 6c 24 10 48 8b 43 e0 41 ff
0x7048876f707f: 65 f8
# branch stub hit
0x7048876f977d: 56 57 41 50 41 51 41 52 50 48 bf f0 41 87 5c
0x7048876f978c: 48 70 00 00 be 00 00 00 00 e9 91 a8 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:274 
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f7081: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), Some(Stack(2)), None, None] -> [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None]
0x7048876f7085: 48 89 c6
# Insn: 0039 pop (stack_size: 1)
# Insn: 0040 getinstancevariable (stack_size: 0)
# defer_compilation
0x7048876f7088: e9 f0 26 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f6fbe: 48 b8 81 70 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876f979a: 56 57 41 50 41 51 41 52 50 48 bf c0 d5 76 5c
0x7048876f97a9: 48 70 00 00 be 00 00 00 00 e9 74 a8 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:275 
# reg_mapping: [None, None, None, None, None]
# Insn: 0040 getinstancevariable (stack_size: 0)
0x7048876f7088: 49 8b 45 18
# guard shape
0x7048876f708c: 81 78 04 ce 10 00 00 0f 85 01 27 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f7099: 48 8b 70 20
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f97b7: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f8 85
0x7048876f97c6: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f97d5: b8 24 00 00 00 c3
# branch stub hit
0x7048876f97db: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f97e4: 48 89 33 48 89 7b 08 48 bf 90 2e 03 5c 48 70
0x7048876f97f3: 00 00 be 00 00 00 00 e9 2c a8 8f ff
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:275 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0043 getlocal_WC_0 (stack_size: 1)
0x7048876f709d: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f70a1: 48 8b 78 e8
# Insn: 0045 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048876f70a5: e9 31 27 00 00
# branch stub hit
0x7048876f97ff: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9808: 48 89 33 48 89 7b 08 48 bf 00 e8 6b 5c 48 70
0x7048876f9817: 00 00 be 00 00 00 00 e9 08 a8 8f ff
# branch stub hit
0x7048876f9823: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f982c: 48 89 33 48 89 7b 08 48 bf e0 a1 c8 5c 48 70
0x7048876f983b: 00 00 be 00 00 00 00 e9 e4 a7 8f ff
# branch stub hit
0x7048876f9847: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9850: 48 89 33 48 89 7b 08 48 bf a0 84 70 5c 48 70
0x7048876f985f: 00 00 be 00 00 00 00 e9 c0 a7 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f986b: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876f987a: 48 b8 08 86 1a 3f f8 58 00 00 49 89 45 00 5b
0x7048876f9889: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f9893: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048876f9897: 48 89 c7 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f98a3: 48 89 3b 48 bf f0 75 8c 5c 48 70 00 00 be 00
0x7048876f98b2: 00 00 00 e9 71 a7 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:275 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0045 opt_send_without_block (stack_size: 2)
# call to Hash#stringify_keys
# guard not immediate
0x7048876f70a5: 40 f6 c7 07 0f 85 50 27 00 00 48 83 ff 00 0f
0x7048876f70b4: 84 6a 27 00 00 48 89 f8
# guard known class
0x7048876f70bc: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876f70cb: 85 77 27 00 00
# stack overflow check
0x7048876f70d0: 48 8d 83 88 00 00 00 49 39 c5 0f 86 8b 27 00
0x7048876f70df: 00
# store caller sp
0x7048876f70e0: 48 8d 43 08 49 89 45 08
# save PC to CFP
0x7048876f70e8: 48 b8 18 86 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f70f7: 8d 43 28
# push cme, specval, frame type
0x7048876f70fa: 48 b9 78 18 04 8f 48 70 00 00 48 89 48 e8 48
0x7048876f7109: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876f7118: 49 89 45 d0 48 b9 58 24 04 8f 48 70 00 00 49
0x7048876f7127: 89 4d d8 49 89 7d e0 49 c7 45 f0 00 00 00 00
0x7048876f7136: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f7141: 48 89 33 48 89 7b 08
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876f7148: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876f714b: 48 b8 93 98 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876f7159: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876f7162: e9 4f 2f ec ff
# branch stub hit
0x7048876f98ba: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f98c3: 48 89 3b 48 bf 00 97 c8 5c 48 70 00 00 be 00
0x7048876f98d2: 00 00 00 e9 51 a7 8f ff
# branch stub hit
0x7048876f98da: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f98e3: 48 89 3b 48 bf 50 e6 6b 5c 48 70 00 00 be 00
0x7048876f98f2: 00 00 00 e9 31 a7 8f ff
# branch stub hit
0x7048876f98fa: 56 57 41 50 41 51 41 52 50
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9903: 48 89 3b 48 bf 80 6f 8c 5c 48 70 00 00 be 00
0x7048876f9912: 00 00 00 e9 11 a7 8f ff
# exit to interpreter on opt_send_without_block
0x7048876f991a: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048876f991e: 48 89 c7
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9921: 48 89 3b 48 8d 43 08 49 89 45 08 48 b8 18 86
0x7048876f9930: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f993f: b8 24 00 00 00 c3
# exit to interpreter on opt_send_without_block
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9945: 48 89 3b 48 8d 43 08 49 89 45 08 48 b8 18 86
0x7048876f9954: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f9963: b8 24 00 00 00 c3
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:275 
# reg_mapping: [None, None, None, None, None]
0x7048876f7167: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [None, Some(Stack(1)), None, None, None]
0x7048876f716b: 48 89 c7
# Insn: 0047 opt_send_without_block (stack_size: 2)
# call to Hash#replace
# guard not immediate
0x7048876f716e: f6 43 f8 07 0f 85 42 27 00 00 48 83 7b f8 00
0x7048876f717d: 0f 84 57 27 00 00 48 8b 43 f8
# guard known class
0x7048876f7187: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876f7196: 85 5f 27 00 00
# RUBY_VM_CHECK_INTS(ec)
0x7048876f719b: 41 8b 44 24 20 85 c0 0f 85 9d 27 00 00
# stack overflow check
0x7048876f71a8: 48 8d 83 98 00 00 00 49 39 c5 0f 86 8d 27 00
0x7048876f71b7: 00
# save PC to CFP
0x7048876f71b8: 48 b8 28 86 1a 3f f8 58 00 00 49 89 45 00 48
0x7048876f71c7: 8d 43 20
# push cme, specval, frame type
0x7048876f71ca: 48 b9 70 e9 e7 aa 48 70 00 00 48 89 48 e8 48
0x7048876f71d9: c7 40 f0 00 00 00 00 48 c7 40 f8 83 00 55 55
# push callee control frame
0x7048876f71e8: 49 89 45 d0 49 c7 45 d8 00 00 00 00 48 8b 4b
0x7048876f71f7: f8 49 89 4d e0 49 c7 45 f0 00 00 00 00 48 83
0x7048876f7206: e8 08 49 89 45 e8
# set ec->cfp
0x7048876f720c: 49 8d 45 c8 49 89 44 24 10
# save SP to CFP
0x7048876f7215: 48 8d 5b f8 49 89 5d 08
# call C function
# spill_regs: [None, Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f721d: 48 89 7b 08 48 89 fe 48 8b 3b e8 c4 12 a8 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f722c: 48 89 c6 4d 89 6c 24 10
# branch stub hit
0x7048876f9969: 56 57 41 50 41 51 41 52 50 48 bf a0 d0 3d 5c
0x7048876f9978: 48 70 00 00 be 00 00 00 00 e9 a5 a6 8f ff
# clear local variable types
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:275 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0049 pop (stack_size: 1)
# Insn: 0050 getinstancevariable (stack_size: 0)
# defer_compilation
0x7048876f7234: e9 30 27 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876f714b: 48 b8 67 71 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876f9986: 56 57 41 50 41 51 41 52 50 48 bf 80 d6 3d 5c
0x7048876f9995: 48 70 00 00 be 00 00 00 00 e9 88 a6 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:276 
# reg_mapping: [None, None, None, None, None]
# Insn: 0050 getinstancevariable (stack_size: 0)
0x7048876f7234: 49 8b 45 18
# guard shape
0x7048876f7238: 81 78 04 ce 10 00 00 0f 85 41 27 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f7245: 48 8b 70 48
# branch stub hit
0x7048876f99a3: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f99ac: 48 bf b0 2c 61 5c 48 70 00 00 be 00 00 00 00
0x7048876f99bb: e9 6b a6 8f ff
# branch stub hit
0x7048876f99c0: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f99c9: 48 bf b0 2c 61 5c 48 70 00 00 be 01 00 00 00
0x7048876f99d8: e9 4e a6 8f ff
# gen_direct_jmp: fallthrough
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:276 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0053 branchif (stack_size: 1)
0x7048876f7249: 48 f7 c6 fb ff ff ff 0f 85 4d 27 00 00 e9 65
0x7048876f7258: 27 00 00
# regenerate_branch
0x7048876f7250: 0f 85 4d 27 00 00
# exit to interpreter on getlocal_WC_0
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f99dd: 48 b8 58 86 1a 3f f8 58 00 00 49 89 45 00 5b
0x7048876f99ec: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876f99f6: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f99ff: 48 89 33 48 bf 40 16 0e 5c 48 70 00 00 be 00
0x7048876f9a0e: 00 00 00 e9 15 a6 8f ff
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:276 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0055 getlocal_WC_0 (stack_size: 0)
0x7048876f7256: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f725a: 48 8b 70 e0
# Insn: 0057 setinstancevariable (stack_size: 1)
# defer_compilation
0x7048876f725e: e9 93 27 00 00
# regenerate_branch
0x7048876f7250: 0f 85 4d 27 00 00
# branch stub hit
0x7048876f9a16: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9a1f: 48 89 33 48 bf e0 18 0e 5c 48 70 00 00 be 00
0x7048876f9a2e: 00 00 00 e9 f5 a5 8f ff
# branch stub hit
0x7048876f9a36: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9a3f: 48 89 33 48 bf f0 1c 0e 5c 48 70 00 00 be 00
0x7048876f9a4e: 00 00 00 e9 d5 a5 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:276 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0057 setinstancevariable (stack_size: 1)
0x7048876f725e: 49 8b 45 18
# guard shape
0x7048876f7262: 81 78 04 ce 10 00 00 0f 85 a7 27 00 00
# write IV
0x7048876f726f: 48 89 70 40
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f7273: 48 89 33 f6 03 07 0f 85 15 00 00 00 48 83 3b
0x7048876f7282: 04 0f 86 0b 00 00 00
# write barrier
0x7048876f7289: 48 89 c7 48 8b 33 e8 4c 85 a6 23
# Insn: 0060 putobject (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f7294: be 14 00 00 00
# Insn: 0062 setinstancevariable (stack_size: 1)
# defer_compilation
0x7048876f7299: e9 98 27 00 00
# branch stub hit
0x7048876f9a56: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9a5f: 48 89 33 48 bf d0 ca 6a 5c 48 70 00 00 be 00
0x7048876f9a6e: 00 00 00 e9 b5 a5 8f ff
# branch stub hit
0x7048876f9a76: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9a7f: 48 89 33 48 89 7b 08 48 bf 80 cb 6a 5c 48 70
0x7048876f9a8e: 00 00 be 00 00 00 00 e9 91 a5 8f ff
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:278 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0062 setinstancevariable (stack_size: 1)
0x7048876f7299: 49 8b 45 18
# guard shape
0x7048876f729d: 81 78 04 ce 10 00 00 0f 85 ac 27 00 00
# write IV
0x7048876f72aa: 48 89 70 48
# Insn: 0065 putobject (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f72ae: be 14 00 00 00
# Insn: 0067 dup (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f72b3: 48 89 f7
# Insn: 0068 setinstancevariable (stack_size: 2)
# defer_compilation
0x7048876f72b6: e9 bb 27 00 00
# branch stub hit
0x7048876f9a9a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9aa3: 48 89 33 48 89 7b 08 48 bf 10 de 6b 5c 48 70
0x7048876f9ab2: 00 00 be 00 00 00 00 e9 6d a5 8f ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9abe: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 86
0x7048876f9acd: 1a 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f9adc: b8 24 00 00 00 c3
# regenerate_branch
# Block: load!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:279 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0068 setinstancevariable (stack_size: 2)
0x7048876f72b6: 49 8b 45 18
# guard shape
0x7048876f72ba: 81 78 04 ce 10 00 00 0f 85 d3 27 00 00
# write IV
0x7048876f72c7: 48 89 78 28
# Insn: 0071 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876f72cb: 41 8b 44 24 20 85 c0 0f 85 e6 27 00 00
# pop stack frame
0x7048876f72d8: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876f72e7: f8
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9ae2: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 e8 63
0x7048876f9af1: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f9b00: b8 24 00 00 00 c3
# Block: load_for_read!@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:256 
# reg_mapping: [None, None, None, None, None]
0x7048876f72e8: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f72ec: 48 89 c6
# Insn: 0015 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876f72ef: 41 8b 44 24 20 85 c0 0f 85 e6 27 00 00
# pop stack frame
0x7048876f72fc: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876f730b: f8
# regenerate_branch
# update cfp->jit_return
0x7048876f3053: 48 b8 e8 72 6f 87 48 70 00 00 49 89 45 f8
# entry stub hit
0x7048876f9b06: 48 bf 80 6b cb 5c 48 70 00 00 e9 2c a5 8f ff

# YJIT entry point: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:217
0x7048876f730c: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048876f731b: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# guard expected PC
0x7048876f7329: 49 bb 50 60 64 41 f8 58 00 00 4d 39 5d 00 0f
0x7048876f7338: 85 c9 27 00 00
# exit to interpreter on getlocal_WC_0
0x7048876f9b15: 48 b8 50 60 64 41 f8 58 00 00 49 89 45 00 5b
0x7048876f9b24: 41 5c 41 5d b8 24 00 00 00 c3
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [None, None, None, None, None]
# Insn: 0004 getlocal_WC_0 (stack_size: 0)
0x7048876f733d: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876f7341: 48 8b 70 c8
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9b2e: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 60 60
0x7048876f9b3d: 64 41 f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876f9b4c: b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 opt_getconstant_path (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876f7345: 48 b8 30 12 6d ab 48 70 00 00 48 89 c7
# branch stub hit
0x7048876f9b52: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9b5b: 48 89 33 48 89 7b 08 48 bf 70 8a 47 5c 48 70
0x7048876f9b6a: 00 00 be 00 00 00 00 e9 b5 a4 8f ff
# gen_direct_jmp: fallthrough
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0008 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048876f7352: e9 fb 27 00 00
# branch stub hit
0x7048876f9b76: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9b7f: 48 89 33 48 89 7b 08 48 bf 00 8b 47 5c 48 70
0x7048876f9b8e: 00 00 be 00 00 00 00 e9 91 a4 8f ff
# branch stub hit
0x7048876f9b9a: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9ba3: 48 89 33 48 89 7b 08 48 bf e0 8d 47 5c 48 70
0x7048876f9bb2: 00 00 be 00 00 00 00 e9 6d a4 8f ff
# branch stub hit
0x7048876f9bbe: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9bc7: 48 89 33 48 89 7b 08 48 bf 30 0e 00 5c 48 70
0x7048876f9bd6: 00 00 be 00 00 00 00 e9 49 a4 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876f9be2: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876f9bf1: 48 b8 70 60 64 41 f8 58 00 00 49 89 45 00 5b
0x7048876f9c00: 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0008 opt_send_without_block (stack_size: 2)
# call to Hash#is_a?
# guard not immediate
0x7048876f7352: 40 f6 c6 07 0f 85 1a 28 00 00 48 83 fe 00 0f
0x7048876f7361: 84 34 28 00 00 48 89 f0
# guard known class
0x7048876f7369: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876f7378: 85 41 28 00 00
# Kernel#is_a?
0x7048876f737d: 48 b8 30 12 6d ab 48 70 00 00 48 39 c7 0f 85
0x7048876f738c: 52 28 00 00 be 14 00 00 00
# exit to interpreter on getlocal_WC_0
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876f9c0a: 48 b8 90 60 64 41 f8 58 00 00 49 89 45 00 5b
0x7048876f9c19: 41 5c 41 5d b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0010 branchunless (stack_size: 1)
# gen_direct_jmp: fallthrough
# Block: user@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/proxy.rb:218 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0012 getlocal_WC_0 (stack_size: 0)
0x7048876f7395: 49 8b 45 20
--
0x7048876fc77f: 00 00 be 00 00 00 00 e9 a0 78 8f ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115 
# reg_mapping: [None, Some(Local(0)), None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, Some(Local(0)), None, None, None] -> [Some(Stack(0)), Some(Local(0)), None, None, None]
0x7048876fa5a6: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876fa5aa: e9 b8 21 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876fa418: 48 b8 e3 a4 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876fc78b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876fc794: 48 89 33 48 89 7b e0 48 bf 70 c6 c9 5c 48 70
0x7048876fc7a3: 00 00 be 00 00 00 00 e9 7c 78 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876fc7af: 48 89 33 48 89 7b e0 48 8d 43 08 49 89 45 08
0x7048876fc7be: 48 b8 c8 4d 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876fc7cd: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876fc7d7: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fc7db: 48 89 c6 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc7e7: 48 89 33 48 bf 20 57 ca 5c 48 70 00 00 be 00
0x7048876fc7f6: 00 00 00 e9 2d 78 8f ff
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115 
# reg_mapping: [Some(Stack(0)), Some(Local(0)), None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#load_for_read!
0x7048876fa5aa: 48 89 f0
# guard known class
0x7048876fa5ad: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x7048876fa5bc: 85 ca 21 00 00
# stack overflow check
0x7048876fa5c1: 48 8d 83 80 00 00 00 49 39 c5 0f 86 de 21 00
0x7048876fa5d0: 00
# store caller sp
0x7048876fa5d1: 48 8d 03 49 89 45 08
# save PC to CFP
0x7048876fa5d8: 48 b8 d8 4d 1e 3f f8 58 00 00 49 89 45 00 48
0x7048876fa5e7: 8d 43 20
# push cme, specval, frame type
0x7048876fa5ea: 48 b9 d0 b5 1c 86 48 70 00 00 48 89 48 e8 48
0x7048876fa5f9: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x7048876fa608: 49 89 45 d0 48 b9 68 a7 1f 86 48 70 00 00 49
0x7048876fa617: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x7048876fa626: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), Some(Local(0)), None, None, None] -> [None, None, None, None, None]
0x7048876fa631: 48 89 33 48 89 7b e0
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048876fa638: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048876fa63b: 48 b8 d7 c7 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048876fa649: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048876fa652: e9 93 c4 d8 ff
# exit to interpreter on pop
0x7048876fc7fe: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fc802: 48 89 c6
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc805: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 d8 4d
0x7048876fc814: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876fc823: b8 24 00 00 00 c3
# branch stub hit
0x7048876fc829: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc832: 48 89 33 48 bf 20 64 ca 5c 48 70 00 00 be 00
0x7048876fc841: 00 00 00 e9 e2 77 8f ff
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115 
# reg_mapping: [None, None, None, None, None]
0x7048876fa657: 49 8b 5d 08
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa65b: 48 89 c6
# Insn: 0003 pop (stack_size: 1)
# Insn: 0004 getlocal_WC_0 (stack_size: 0)
0x7048876fa65e: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa662: 48 8b 70 e8
# Insn: 0006 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048876fa666: e9 be 21 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876fa63b: 48 b8 57 a6 6f 87 48 70 00 00 49 89 45 f8
# branch stub hit
0x7048876fc849: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc852: 48 89 33 48 bf 70 1c 69 5c 48 70 00 00 be 00
0x7048876fc861: 00 00 00 e9 c2 77 8f ff
# branch stub hit
0x7048876fc869: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc872: 48 89 33 48 bf 60 0e 69 5c 48 70 00 00 be 00
0x7048876fc881: 00 00 00 e9 a2 77 8f ff
# branch stub hit
0x7048876fc889: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc892: 48 89 33 48 bf 90 11 69 5c 48 70 00 00 be 00
0x7048876fc8a1: 00 00 00 e9 82 77 8f ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc8a9: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f0 4d
0x7048876fc8b8: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876fc8c7: b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:116 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 opt_send_without_block (stack_size: 1)
# call to String#to_s
# guard not immediate
0x7048876fa666: 40 f6 c6 07 0f 85 d9 21 00 00 48 83 fe 00 0f
0x7048876fa675: 84 ef 21 00 00 48 89 f0
# guard known class
0x7048876fa67d: 48 b9 50 ec 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876fa68c: 85 f8 21 00 00
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc8cd: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 00 4e
0x7048876fc8dc: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876fc8eb: b8 24 00 00 00 c3
# branch stub hit
0x7048876fc8f1: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc8fa: 48 89 33 48 bf 60 1d 65 5c 48 70 00 00 be 00
0x7048876fc909: 00 00 00 e9 1a 77 8f ff
# branch stub hit
0x7048876fc911: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fc91a: 48 89 33 48 89 7b 08 48 bf 00 11 65 5c 48 70
0x7048876fc929: 00 00 be 00 00 00 00 e9 f6 76 8f ff
# to_s on plain string
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:116 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 setlocal_WC_0 (stack_size: 1)
0x7048876fa691: 49 8b 45 20 f6 00 08 0f 85 53 22 00 00 48 89
0x7048876fa6a0: 70 e8
# Insn: 0010 getlocal_WC_0 (stack_size: 0)
0x7048876fa6a2: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa6a6: 48 8b 70 e8
# Insn: 0012 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876fa6aa: 48 b8 d8 16 40 86 48 70 00 00 48 89 c7
# Insn: 0014 opt_eq (stack_size: 2)
# defer_compilation
0x7048876fa6b7: e9 55 22 00 00
# exit to interpreter on opt_eq
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fc935: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876fc944: 48 b8 30 4e 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876fc953: 41 5c 41 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:118 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0014 opt_eq (stack_size: 2)
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fa6b7: 48 89 33 48 89 7b 08 48 8b 43 08 48 39 03 0f
0x7048876fa6c6: 84 14 00 00 00 48 8b 3b 48 8b 73 08 e8 29 88
0x7048876fa6d5: cf 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa6d7: 48 89 c6 e9 05 00 00 00 be 14 00 00 00
# branch stub hit
0x7048876fc95d: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc966: 48 bf 80 ed a8 5c 48 70 00 00 be 00 00 00 00
0x7048876fc975: e9 b1 76 8f ff
# branch stub hit
0x7048876fc97a: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc983: 48 bf 80 ed a8 5c 48 70 00 00 be 01 00 00 00
0x7048876fc992: e9 94 76 8f ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:118 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0016 branchunless (stack_size: 1)
0x7048876fa6e4: 48 f7 c6 fb ff ff ff 0f 84 6c 22 00 00 e9 84
0x7048876fa6f3: 22 00 00
# regenerate_branch
0x7048876fa6eb: 0f 85 89 22 00 00
# branch stub hit
0x7048876fc997: 56 57 41 50 41 51 41 52 50 48 bf 50 ff 18 5c
0x7048876fc9a6: 48 70 00 00 be 00 00 00 00 e9 77 76 8f ff
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:121 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0027 getinstancevariable (stack_size: 0)
0x7048876fa6f1: 49 8b 45 18
# guard shape
0x7048876fa6f5: 81 78 04 ce 10 00 00 0f 85 95 22 00 00
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa702: 48 8b 70 20
# exit to interpreter on getlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fc9b4: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 b0 4e
0x7048876fc9c3: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876fc9d2: b8 24 00 00 00 c3
# branch stub hit
0x7048876fc9d8: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fc9e1: 48 89 33 48 89 7b 08 48 bf 80 32 0e 5c 48 70
0x7048876fc9f0: 00 00 be 00 00 00 00 e9 2f 76 8f ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:121 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0030 getlocal_WC_0 (stack_size: 1)
0x7048876fa706: 49 8b 45 20
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876fa70a: 48 8b 78 e8
# Insn: 0032 opt_aref (stack_size: 2)
# defer_compilation
0x7048876fa70e: e9 c5 22 00 00
# regenerate_branch
0x7048876fa6eb: 0f 85 89 22 00 00
# exit to interpreter on opt_aref
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fc9fc: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876fca0b: 48 b8 c0 4e 1e 3f f8 58 00 00 49 89 45 00 5b
0x7048876fca1a: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876fca24: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fca2d: 48 89 33 48 89 7b 08 48 bf 90 55 65 5c 48 70
0x7048876fca3c: 00 00 be 00 00 00 00 e9 e3 75 8f ff
# branch stub hit
0x7048876fca48: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fca51: 48 89 33 48 89 7b 08 48 bf 50 59 65 5c 48 70
0x7048876fca60: 00 00 be 00 00 00 00 e9 bf 75 8f ff
# branch stub hit
0x7048876fca6c: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fca75: 48 89 33 48 89 7b 08 48 bf 10 3b 4c 5c 48 70
0x7048876fca84: 00 00 be 00 00 00 00 e9 9b 75 8f ff
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fca90: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 d0
0x7048876fca9f: 4e 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876fcaae: 5d b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:121 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0032 opt_aref (stack_size: 2)
# guard not immediate
0x7048876fa70e: 40 f6 c6 07 0f 85 0c 23 00 00 48 83 fe 00 0f
0x7048876fa71d: 84 26 23 00 00 48 89 f0
# guard known class
0x7048876fa725: 48 b9 30 12 6d ab 48 70 00 00 48 39 48 08 0f
0x7048876fa734: 85 33 23 00 00
# save PC to CFP
0x7048876fa739: 48 b8 d0 4e 1e 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x7048876fa747: 48 8d 5b 10 49 89 5d 08
# clear local variable types
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fa74f: 48 89 73 f0 48 89 7b f8 49 89 f3 48 89 fe 4c
0x7048876fa75e: 89 df e8 db 14 a8 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa765: 48 89 c6
# exit to interpreter on leave
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcab5: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 d0
0x7048876fcac4: 4e 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876fcad3: 5d b8 24 00 00 00 c3
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:123 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0034 leave (stack_size: 1)
# RUBY_VM_CHECK_INTS(ec)
0x7048876fa768: 41 8b 44 24 20 85 c0 0f 85 40 23 00 00
# pop stack frame
0x7048876fa775: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x7048876fa784: f8
# exit to interpreter on setlocal_WC_0
0x7048876fcada: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876fcade: 48 89 c6
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [Some(Stack(0)), None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcae1: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 f0 24
0x7048876fcaf0: 4f 40 f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048876fcaff: b8 24 00 00 00 c3
# branch stub hit
0x7048876fcb05: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcb0e: 48 89 33 48 bf 90 49 4c 5c 48 70 00 00 be 00
0x7048876fcb1d: 00 00 00 e9 06 75 8f ff
# branch stub hit
0x7048876fcb25: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcb2e: 48 bf 50 45 06 5c 48 70 00 00 be 00 00 00 00
0x7048876fcb3d: e9 e9 74 8f ff
# branch stub hit
0x7048876fcb42: 56 57 41 50 41 51 41 52 50
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcb4b: 48 bf 50 45 06 5c 48 70 00 00 be 01 00 00 00
0x7048876fcb5a: e9 cc 74 8f ff
# Block: fetch@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/session_serializer.rb:31 
# reg_mapping: [None, Some(Stack(1)), None, None, None]
0x7048876fa785: 49 8b 5d 08
# reg_mapping: [None, Some(Stack(1)), None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876fa789: 48 89 c6
# Insn: 0010 setlocal_WC_0 (stack_size: 1)
0x7048876fa78c: 49 8b 45 20 f6 00 08 0f 85 6c 23 00 00 48 89
0x7048876fa79b: 70 d8
# Insn: 0012 getlocal_WC_0 (stack_size: 0)
0x7048876fa79d: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa7a1: 48 8b 70 d8
# Insn: 0014 branchif (stack_size: 1)
0x7048876fa7a5: 48 f7 c6 fb ff ff ff 0f 85 73 23 00 00 e9 8b
0x7048876fa7b4: 23 00 00
# regenerate_branch
# update cfp->jit_return
0x7048876fa58f: 48 b8 85 a7 6f 87 48 70 00 00 49 89 45 f8
# regenerate_branch
0x7048876fa7ac: 0f 84 90 23 00 00
# exit to interpreter on getlocal_WC_0
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcb5f: 48 b8 30 25 4f 40 f8 58 00 00 49 89 45 00 5b
0x7048876fcb6e: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876fcb78: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fcb81: 48 89 33 48 89 7b 08 48 bf 20 4c 06 5c 48 70
0x7048876fcb90: 00 00 be 00 00 00 00 e9 8f 74 8f ff
# Block: fetch@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/warden-1.2.9/lib/warden/session_serializer.rb:34 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0018 getlocal_WC_0 (stack_size: 0)
0x7048876fa7b2: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048876fa7b6: 48 8b 70 d0
# Insn: 0020 dup (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048876fa7ba: 48 89 f7
# Insn: 0021 objtostring (stack_size: 2)
# defer_compilation
0x7048876fa7bd: e9 b6 23 00 00
# regenerate_branch
0x7048876fa7ac: 0f 84 90 23 00 00
# exit to interpreter on objtostring
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fcb9c: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x7048876fcbab: 48 b8 48 25 4f 40 f8 58 00 00 49 89 45 00 5b
0x7048876fcbba: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876fcbc4: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048876fcbcd: 48 89 33 48 89 7b 08 48 bf a0 3f 06 5c 48 70
0x7048876fcbdc: 00 00 be 00 00 00 00 e9 43 74 8f ff
# exit to interpreter on putobject
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcbe8: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 60
0x7048876fcbf7: 25 4f 40 f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876fcc06: 5d b8 24 00 00 00 c3
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcc0d: 48 89 73 f0 48 8d 43 f8 49 89 45 08 48 b8 80
0x7048876fcc1c: 25 4f 40 f8 58 00 00 49 89 45 00 5b 41 5c 41
0x7048876fcc2b: 5d b8 24 00 00 00 c3
# branch stub hit
0x7048876fcc32: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048876fcc3b: 48 89 73 f0 48 bf 30 b1 ba 5c 48 70 00 00 be
0x7048876fcc4a: 00 00 00 00 e9 d8 73 8f ff
# branch stub hit
--
0x704887752381: 49 83 c5 38 4d 89 6c 24 10 48 89 f0 41 ff 65
0x704887752390: f8
# YJIT entry point: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96
0x704887752391: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048877523a0: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# exit to interpreter on opt_getconstant_path
0x70488775442e: 48 b8 40 e5 1e 3f f8 58 00 00 49 89 45 00 5b
0x70488775443d: 41 5c 41 5d b8 24 00 00 00 c3
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 opt_getconstant_path (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048877523ae: 48 b8 c0 1c 20 86 48 70 00 00 48 89 c6
# branch stub hit
0x704887754447: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887754450: 48 89 33 48 bf d0 6b 0b 5d 48 70 00 00 be 00
0x70488775445f: 00 00 00 e9 c4 fb 89 ff
# gen_direct_jmp: fallthrough
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 getinstancevariable (stack_size: 1)
# defer_compilation
0x7048877523bb: e9 87 20 00 00
# branch stub hit
0x704887754467: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887754470: 48 89 33 48 bf 70 4e 0b 5d 48 70 00 00 be 00
0x70488775447f: 00 00 00 e9 a4 fb 89 ff
# exit to interpreter on getinstancevariable
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887754487: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 50 e5
0x704887754496: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x7048877544a5: b8 24 00 00 00 c3
# regenerate_branch
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0002 getinstancevariable (stack_size: 1)
0x7048877523bb: 49 8b 45 18
# guard object is heap
0x7048877523bf: f6 c0 07 0f 85 bf 20 00 00 48 85 c0 0f 84 b6
0x7048877523ce: 20 00 00
# guard shape
0x7048877523d1: 81 78 04 ce 10 00 00 0f 85 89 20 00 00
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048877523de: 48 8b 78 18
# gen_direct_jmp: fallthrough
# Block: options@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:96 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0005 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048877523e2: e9 36 0d d3 ff
# YJIT entry point: limit@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/relation/query_methods.rb:1192
0x7048877523e7: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048877523f6: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048877544ab: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877544b4: 48 89 33 48 bf 10 8d 0b 5d 48 70 00 00 be 00
0x7048877544c3: 00 00 00 e9 60 fb 89 ff
# Block: limit@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/relation/query_methods.rb:1192 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887752404: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x704887752408: e9 9e 20 00 00
# branch stub hit
0x7048877544cb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877544d4: 48 89 33 48 bf 80 a6 0b 5d 48 70 00 00 be 00
0x7048877544e3: 00 00 00 e9 40 fb 89 ff
# branch stub hit
0x7048877544eb: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877544f4: 48 89 33 48 bf 60 a9 0b 5d 48 70 00 00 be 00
0x704887754503: 00 00 00 e9 20 fb 89 ff
# branch stub hit
0x70488775450b: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887754514: 48 89 33 48 bf 90 bd 0b 5d 48 70 00 00 be 00
0x704887754523: 00 00 00 e9 00 fb 89 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488775452b: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 e8 11
0x70488775453a: da 40 f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887754549: b8 24 00 00 00 c3
# regenerate_branch
# Block: limit@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/relation/query_methods.rb:1192 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActiveRecord::SessionStore::Session::ActiveRecord_Relation#spawn
# guard not immediate
0x704887752408: 40 f6 c6 07 0f 85 b9 20 00 00 48 83 fe 00 0f
0x704887752417: 84 cf 20 00 00 48 89 f0
# guard known class
0x70488775241f: 48 b9 10 32 5d 84 48 70 00 00 48 39 48 08 0f
0x70488775242e: 85 d8 20 00 00
# stack overflow check
0x704887752433: 48 8d 83 88 00 00 00 49 39 c5 0f 86 e8 20 00
0x704887752442: 00
# store caller sp
0x704887752443: 48 8d 03 49 89 45 08
# save PC to CFP
0x70488775244a: 48 b8 f8 11 da 40 f8 58 00 00 49 89 45 00 48
0x704887752459: 8d 43 20
# push cme, specval, frame type
0x70488775245c: 48 b9 a8 2a 4c 78 48 70 00 00 48 89 48 e8 48
0x70488775246b: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x70488775247a: 49 89 45 d0 48 b9 d0 c4 5a 84 48 70 00 00 49
0x704887752489: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887752498: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877524a3: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x7048877524a6: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x7048877524a9: 48 b8 f6 a8 49 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x7048877524b7: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x7048877524c0: e9 17 13 d4 ff
# regenerate_branch
# update cfp->jit_return
0x7048877476bc: 48 b8 2c f2 74 87 48 70 00 00 49 89 45 f8
# YJIT entry point: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/utils.rb:438
0x7048877524c5: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048877524d4: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# exit to interpreter on getlocal_WC_0
0x70488775454f: 48 b8 b0 60 10 3e f8 58 00 00 49 89 45 00 5b
0x70488775455e: 41 5c 41 5d b8 24 00 00 00 c3
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/utils.rb:438 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 getlocal_WC_0 (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048877524e2: 48 8b 73 e0
# gen_direct_jmp: fallthrough
0x7048877524e6: 90
# exit to interpreter on opt_getconstant_path
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887754568: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c0 60
0x704887754577: 10 3e f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887754586: b8 24 00 00 00 c3
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/rack-2.2.17/lib/rack/utils.rb:438 
--
# gen_direct_jmp: existing block
0x7048877564bd: e9 a7 07 c0 ff
# YJIT entry point: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115
0x7048877564c2: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048877564d1: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x7048877585e2: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877585eb: 48 89 33 48 bf 40 15 1e 5d 48 70 00 00 be 00
0x7048877585fa: 00 00 00 e9 29 ba 89 ff
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048877564df: 49 8b 75 18
# Insn: 0001 opt_send_without_block (stack_size: 1)
# defer_compilation
0x7048877564e3: e9 fa 20 00 00
# branch stub hit
0x704887758602: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488775860b: 48 89 33 48 bf c0 1c 1f 5d 48 70 00 00 be 00
0x70488775861a: 00 00 00 e9 09 ba 89 ff
# branch stub hit
0x704887758622: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488775862b: 48 89 33 48 bf 40 45 1e 5d 48 70 00 00 be 00
0x70488775863a: 00 00 00 e9 e9 b9 89 ff
# branch stub hit
0x704887758642: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488775864b: 48 89 33 48 bf 70 45 1e 5d 48 70 00 00 be 00
0x70488775865a: 00 00 00 e9 c9 b9 89 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887758662: 48 89 33 48 8d 43 08 49 89 45 08 48 b8 c8 4d
0x704887758671: 1e 3f f8 58 00 00 49 89 45 00 5b 41 5c 41 5d
0x704887758680: b8 24 00 00 00 c3
# regenerate_branch
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:115 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to ActionDispatch::Request::Session#load_for_read!
# guard not immediate
0x7048877564e3: 40 f6 c6 07 0f 85 15 21 00 00 48 83 fe 00 0f
0x7048877564f2: 84 2b 21 00 00 48 89 f0
# guard known class
0x7048877564fa: 48 b9 80 20 20 86 48 70 00 00 48 39 48 08 0f
0x704887756509: 85 34 21 00 00
# stack overflow check
0x70488775650e: 48 8d 83 80 00 00 00 49 39 c5 0f 86 44 21 00
0x70488775651d: 00
# store caller sp
0x70488775651e: 48 8d 03 49 89 45 08
# save PC to CFP
0x704887756525: 48 b8 d8 4d 1e 3f f8 58 00 00 49 89 45 00 48
0x704887756534: 8d 43 20
# push cme, specval, frame type
0x704887756537: 48 b9 d0 b5 1c 86 48 70 00 00 48 89 48 e8 48
0x704887756546: c7 40 f0 00 00 00 00 48 c7 40 f8 03 00 11 11
# push callee control frame
0x704887756555: 49 89 45 d0 48 b9 68 a7 1f 86 48 70 00 00 49
0x704887756564: 89 4d d8 49 89 75 e0 49 c7 45 f0 00 00 00 00
0x704887756573: 48 89 c1 48 83 e9 08 49 89 4d e8
# local maps: [None, None, None, None, None]
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x70488775657e: 48 89 33
# reuse maps: [None, None, None, None, None] -> [None, None, None, None, None]
0x704887756581: 48 89 c3
# clear local variable types
# update cfp->jit_return
0x704887756584: 48 b8 57 a6 6f 87 48 70 00 00 49 89 45 f8
# switch to new CFP
0x704887756592: 49 83 ed 38 4d 89 6c 24 10
# gen_direct_jmp: existing block
0x70488775659b: e9 4a 05 d3 ff
# YJIT entry point: extensions@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/reflection.rb:745
0x7048877565a0: 41 55 41 54 53 49 89 fc 49 89 f5 49 8b 5d 08
0x7048877565af: 48 b8 00 40 ff 86 48 70 00 00 49 89 45 30
# branch stub hit
0x704887758686: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x70488775868f: 48 89 33 48 89 7b 08 48 bf 50 89 a5 5c 48 70
0x70488775869e: 00 00 be 00 00 00 00 e9 81 b9 89 ff
# Block: extensions@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/reflection.rb:745 
# reg_mapping: [None, None, None, None, None]
# Insn: 0000 putself (stack_size: 0)
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048877565bd: 49 8b 75 18
# Insn: 0001 putself (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x7048877565c1: 49 8b 7d 18
# Insn: 0002 opt_send_without_block (stack_size: 2)
# defer_compilation
0x7048877565c5: e9 bc 20 00 00
# branch stub hit
0x7048877586aa: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048877586b3: 48 89 33 48 89 7b 08 48 bf 60 13 6b 5c 48 70
0x7048877586c2: 00 00 be 00 00 00 00 e9 5d b9 89 ff
# branch stub hit
0x7048877586ce: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048877586d7: 48 89 33 48 89 7b 08 48 bf b0 16 6b 5c 48 70
0x7048877586e6: 00 00 be 00 00 00 00 e9 39 b9 89 ff
# branch stub hit
0x7048877586f2: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x7048877586fb: 48 89 33 48 89 7b 08 48 bf 50 18 6b 5c 48 70
0x70488775870a: 00 00 be 00 00 00 00 e9 15 b9 89 ff
# exit to interpreter on opt_send_without_block
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887758716: 48 89 33 48 89 7b 08 48 8d 43 10 49 89 45 08
0x704887758725: 48 b8 90 de b6 3e f8 58 00 00 49 89 45 00 5b
0x704887758734: 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x70488775873e: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887758747: 48 89 33 48 89 7b 08 48 bf e0 22 6b 5c 48 70
0x704887758756: 00 00 be 00 00 00 00 e9 c9 b8 89 ff
# regenerate_branch
# Block: extensions@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/activerecord-7.2.3/lib/active_record/reflection.rb:745 
# reg_mapping: [Some(Stack(0)), Some(Stack(1)), None, None, None]
# Insn: 0002 opt_send_without_block (stack_size: 2)
# call to ActiveRecord::Reflection::HasManyReflection#options
# guard not immediate
0x7048877565c5: 40 f6 c7 07 0f 85 db 20 00 00 48 83 ff 00 0f
0x7048877565d4: 84 f5 20 00 00 48 89 f8
# guard known class
0x7048877565dc: 48 b9 80 2f 52 86 48 70 00 00 48 39 48 08 0f
0x7048877565eb: 85 02 21 00 00 48 89 f8
# guard shape
0x7048877565f3: 81 78 04 1a 15 00 00 0f 85 3e 21 00 00 48 8b
0x704887756602: 78 48
# branch stub hit
0x704887758762: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), Some(Stack(2)), None, None] -> [None, None, None, None, None]
0x70488775876b: 48 89 33 48 89 7b 08 4c 89 43 10 48 bf 10 e8
0x70488775877a: 74 55 48 70 00 00 be 00 00 00 00 e9 a1 b8 89
0x704887758789: ff
--
0x704887759af3: 48 89 73 f8 48 b8 00 4e 1e 3f f8 58 00 00 49
0x704887759b02: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:116 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0006 opt_send_without_block (stack_size: 1)
# call to Symbol#to_s
# guard object is static symbol
0x7048877573d2: 40 80 fe 0c 0f 85 d3 26 00 00
# inlined leaf builtin
# save PC to CFP
0x7048877573dc: 48 b8 00 4e 1e 3f f8 58 00 00 49 89 45 00
# save SP to CFP
0x7048877573ea: 48 8d 5b 08 49 89 5d 08
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x7048877573f2: 48 89 73 f8 4c 89 e7 e8 02 16 b8 23
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x7048877573fe: 48 89 c6
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887759b10: 48 89 73 f8 48 b8 00 4e 1e 3f f8 58 00 00 49
0x704887759b1f: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887759b2d: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887759b36: 48 89 73 f8 48 bf 60 d9 f5 60 48 70 00 00 be
0x704887759b45: 00 00 00 00 e9 dd a4 89 ff
# branch stub hit
0x704887759b4e: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887759b57: 48 89 73 f8 48 89 3b 48 bf 50 0d 0a 61 48 70
0x704887759b66: 00 00 be 00 00 00 00 e9 b9 a4 89 ff
# gen_direct_jmp: fallthrough
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:116 
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 setlocal_WC_0 (stack_size: 1)
0x704887757401: 49 8b 45 20 f6 00 08 0f 85 1f 27 00 00 48 89
0x704887757410: 70 e8
# Insn: 0010 getlocal_WC_0 (stack_size: 0)
0x704887757412: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x704887757416: 48 8b 70 e8
# Insn: 0012 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x70488775741a: 48 b8 d8 16 40 86 48 70 00 00 48 89 c7
# Insn: 0014 opt_eq (stack_size: 2)
# defer_compilation
0x704887757427: e9 22 27 00 00
# regenerate_branch
0x7048876fa66a: 0f 85 62 cd 05 00
# exit to interpreter on setlocal_WC_0
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887759b72: 48 89 73 f8 48 b8 00 4e 1e 3f f8 58 00 00 49
0x704887759b81: 89 45 00 5b 41 5c 41 5d b8 24 00 00 00 c3
# branch stub hit
0x704887759b8f: 56 57 41 50 41 51 41 52 50
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887759b98: 48 89 73 f8 48 89 3b 48 bf d0 10 0a 61 48 70
0x704887759ba7: 00 00 be 00 00 00 00 e9 78 a4 89 ff
# Block: []@/home/gearoid/.rvm/gems/ruby-3.4.7@7.2.3/gems/actionpack-7.2.3/lib/action_dispatch/request/session.rb:116 (chain_depth: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None]
# Insn: 0008 setlocal_WC_0 (stack_size: 1)
0x70488775742c: 49 8b 45 20
# spill_regs: [Some(Stack(0)), None, None, None, None] -> [None, None, None, None, None]
0x704887757430: 48 89 73 f8 48 89 c7 48 89 f2 48 be fd ff ff
0x70488775743f: ff ff ff ff ff e8 87 fa bc 23
# Insn: 0010 getlocal_WC_0 (stack_size: 0)
0x704887757449: 49 8b 45 20
# reg_mapping: [None, None, None, None, None] -> [Some(Stack(0)), None, None, None, None]
0x70488775744d: 48 8b 70 e8
# Insn: 0012 putobject (stack_size: 1)
# reg_mapping: [Some(Stack(0)), None, None, None, None] -> [Some(Stack(0)), Some(Stack(1)), None, None, None]
0x704887757451: 48 b8 d8 16 40 86 48 70 00 00 48 89 c7
# Insn: 0014 opt_eq (stack_size: 2)
# defer_compilation
0x70488775745e: e9 2c 27 00 00
# regenerate_branch
0x704887757408: 0f 85 1e 00 00 00
# exit to interpreter on opt_eq
# spill_regs: [Some(Stack(0)), Some(Stack(1)), None, None, None] -> [None, None, None, None, None]
0x704887759bb3: 48 89 73 f8 48 89 3b 48 8d 43 08 49 89 45 08
0x704887759bc2: 48 b8 30 4e 1e 3f f8 58 00 00 49 89 45 00 5b
0x704887759bd1: 41 5c 41 5d b8 24 00 00 00 c3
    (1-1/1)