@@ -823,11 +823,10 @@ mod hir_opt_tests {
823823 bb2(v8:BasicObject, v9:BasicObject):
824824 PatchPoint NoSingletonClass(C@0x1000)
825825 PatchPoint MethodRedefined(C@0x1000, fun_new_map@0x1008, cme:0x1010)
826- v22:ArraySubclass[class_exact:C] = GuardType v9, ArraySubclass[class_exact:C]
827- v23:BasicObject = SendDirect v22, 0x1038, :fun_new_map (0x1048)
828- v15:BasicObject = GetLocal :o, l0, EP@3
826+ v21:ArraySubclass[class_exact:C] = GuardType v9, ArraySubclass[class_exact:C]
827+ v22:BasicObject = SendDirect v21, 0x1038, :fun_new_map (0x1048)
829828 CheckInterrupts
830- Return v23
829+ Return v22
831830 " ) ;
832831 }
833832
@@ -855,11 +854,10 @@ mod hir_opt_tests {
855854 bb2(v8:BasicObject, v9:BasicObject):
856855 PatchPoint NoSingletonClass(C@0x1000)
857856 PatchPoint MethodRedefined(C@0x1000, bar@0x1008, cme:0x1010)
858- v23:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C]
859- v24:BasicObject = CCallWithFrame v23, :Enumerable#bar@0x1038, block=0x1040
860- v15:BasicObject = GetLocal :o, l0, EP@3
857+ v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C]
858+ v23:BasicObject = CCallWithFrame v22, :Enumerable#bar@0x1038, block=0x1040
861859 CheckInterrupts
862- Return v24
860+ Return v23
863861 " ) ;
864862 }
865863
@@ -2955,12 +2953,11 @@ mod hir_opt_tests {
29552953 v13:Fixnum[1] = Const Value(1)
29562954 PatchPoint NoSingletonClass(Object@0x1000)
29572955 PatchPoint MethodRedefined(Object@0x1000, foo@0x1008, cme:0x1010)
2958- v31 :HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v8, HeapObject[class_exact*:Object@VALUE(0x1000)]
2956+ v30 :HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v8, HeapObject[class_exact*:Object@VALUE(0x1000)]
29592957 IncrCounter inline_iseq_optimized_send_count
2960- v19:BasicObject = GetLocal :a, l0, EP@3
29612958 PatchPoint NoEPEscape(test)
29622959 CheckInterrupts
2963- Return v19
2960+ Return v13
29642961 " ) ;
29652962 }
29662963
@@ -3444,11 +3441,9 @@ mod hir_opt_tests {
34443441 v21:TrueClass = Const Value(true)
34453442 IncrCounter complex_arg_pass_caller_kwarg
34463443 v23:BasicObject = Send v11, 0x1000, :each_line, v21 # SendFallbackReason: Complex argument passing
3447- v24:BasicObject = GetLocal :s, l0, EP@4
3448- v25:BasicObject = GetLocal :a, l0, EP@3
34493444 PatchPoint NoEPEscape(test)
34503445 CheckInterrupts
3451- Return v25
3446+ Return v16
34523447 " ) ;
34533448 }
34543449
@@ -6550,17 +6545,16 @@ mod hir_opt_tests {
65506545 v13:ArrayExact = NewArray
65516546 PatchPoint SingleRactorMode
65526547 PatchPoint StableConstantNames(0x1000, A)
6553- v36 :ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008))
6548+ v35 :ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008))
65546549 PatchPoint SingleRactorMode
65556550 PatchPoint StableConstantNames(0x1010, B)
6556- v39 :ArrayExact[VALUE(0x1018)] = Const Value(VALUE(0x1018))
6551+ v38 :ArrayExact[VALUE(0x1018)] = Const Value(VALUE(0x1018))
65576552 PatchPoint NoSingletonClass(Array@0x1020)
65586553 PatchPoint MethodRedefined(Array@0x1020, zip@0x1028, cme:0x1030)
6559- v43:BasicObject = CCallVariadic v36, :zip@0x1058, v39
6560- v24:BasicObject = GetLocal :result, l0, EP@3
6554+ v42:BasicObject = CCallVariadic v35, :zip@0x1058, v38
65616555 PatchPoint NoEPEscape(test)
65626556 CheckInterrupts
6563- Return v24
6557+ Return v13
65646558 " ) ;
65656559 }
65666560
@@ -10585,23 +10579,19 @@ mod hir_opt_tests {
1058510579 CheckInterrupts
1058610580 SetLocal :formatted, l0, EP@3, v15
1058710581 PatchPoint SingleRactorMode
10588- v57 :HeapBasicObject = GuardType v14, HeapBasicObject
10589- v58 :CShape = LoadField v57 , :_shape_id@0x1000
10590- v59 :CShape[0x1001] = GuardBitEquals v58 , CShape(0x1001)
10591- StoreField v57 , :@formatted@0x1002, v15
10592- WriteBarrier v57 , v15
10593- v62 :CShape[0x1003] = Const CShape(0x1003)
10594- StoreField v57 , :_shape_id@0x1000, v62
10582+ v53 :HeapBasicObject = GuardType v14, HeapBasicObject
10583+ v54 :CShape = LoadField v53 , :_shape_id@0x1000
10584+ v55 :CShape[0x1001] = GuardBitEquals v54 , CShape(0x1001)
10585+ StoreField v53 , :@formatted@0x1002, v15
10586+ WriteBarrier v53 , v15
10587+ v58 :CShape[0x1003] = Const CShape(0x1003)
10588+ StoreField v53 , :_shape_id@0x1000, v58
1059510589 v46:Class[VMFrozenCore] = Const Value(VALUE(0x1008))
1059610590 PatchPoint NoSingletonClass(Class@0x1010)
1059710591 PatchPoint MethodRedefined(Class@0x1010, lambda@0x1018, cme:0x1020)
10598- v67:BasicObject = CCallWithFrame v46, :RubyVM::FrozenCore.lambda@0x1048, block=0x1050
10599- v49:BasicObject = GetLocal :a, l0, EP@6
10600- v50:BasicObject = GetLocal :_b, l0, EP@5
10601- v51:BasicObject = GetLocal :_c, l0, EP@4
10602- v52:BasicObject = GetLocal :formatted, l0, EP@3
10592+ v63:BasicObject = CCallWithFrame v46, :RubyVM::FrozenCore.lambda@0x1048, block=0x1050
1060310593 CheckInterrupts
10604- Return v67
10594+ Return v63
1060510595 " ) ;
1060610596 }
1060710597
@@ -11600,14 +11590,13 @@ mod hir_opt_tests {
1160011590 bb2(v10:BasicObject, v11:BasicObject, v12:NilClass):
1160111591 PatchPoint NoSingletonClass(B@0x1000)
1160211592 PatchPoint MethodRedefined(B@0x1000, proc@0x1008, cme:0x1010)
11603- v35:HeapObject[class_exact:B] = GuardType v10, HeapObject[class_exact:B]
11604- v36:BasicObject = CCallWithFrame v35, :Kernel#proc@0x1038, block=0x1040
11605- v18:BasicObject = GetLocal :blk, l0, EP@4
11606- SetLocal :other_block, l0, EP@3, v36
11607- v25:BasicObject = GetLocal :other_block, l0, EP@3
11608- v27:BasicObject = InvokeSuper v10, 0x1048, v25 # SendFallbackReason: super: complex argument passing to `super` call
11593+ v33:HeapObject[class_exact:B] = GuardType v10, HeapObject[class_exact:B]
11594+ v34:BasicObject = CCallWithFrame v33, :Kernel#proc@0x1038, block=0x1040
11595+ SetLocal :other_block, l0, EP@3, v34
11596+ v23:BasicObject = GetLocal :other_block, l0, EP@3
11597+ v25:BasicObject = InvokeSuper v10, 0x1048, v23 # SendFallbackReason: super: complex argument passing to `super` call
1160911598 CheckInterrupts
11610- Return v27
11599+ Return v25
1161111600 " ) ;
1161211601 }
1161311602
@@ -11981,27 +11970,20 @@ mod hir_opt_tests {
1198111970 v70:Falsy = RefineType v59, Falsy
1198211971 PatchPoint NoSingletonClass(Object@0x1018)
1198311972 PatchPoint MethodRedefined(Object@0x1018, lambda@0x1020, cme:0x1028)
11984- v114:HeapObject[class_exact*:Object@VALUE(0x1018)] = GuardType v57, HeapObject[class_exact*:Object@VALUE(0x1018)]
11985- v115:BasicObject = CCallWithFrame v114, :Kernel#lambda@0x1050, block=0x1058
11986- v74:BasicObject = GetLocal :list, l0, EP@6
11987- v76:BasicObject = GetLocal :iter_method, l0, EP@4
11988- v77:BasicObject = GetLocal :kwsplat, l0, EP@3
11989- SetLocal :sep, l0, EP@5, v115
11990- Jump bb7(v57, v74, v115, v76, v77)
11991- bb7(v81:BasicObject, v82:BasicObject, v83:BasicObject, v84:BasicObject, v85:BasicObject):
11973+ v106:HeapObject[class_exact*:Object@VALUE(0x1018)] = GuardType v57, HeapObject[class_exact*:Object@VALUE(0x1018)]
11974+ v107:BasicObject = CCallWithFrame v106, :Kernel#lambda@0x1050, block=0x1058
11975+ SetLocal :sep, l0, EP@5, v107
11976+ Jump bb7(v57, v58, v107, v60, v61)
11977+ bb7(v77:BasicObject, v78:BasicObject, v79:BasicObject, v80:BasicObject, v81:NilClass):
1199211978 PatchPoint SingleRactorMode
1199311979 PatchPoint StableConstantNames(0x1060, CONST)
11994- v110:HashExact[VALUE(0x1068)] = Const Value(VALUE(0x1068))
11995- SetLocal :kwsplat, l0, EP@3, v110
11996- v95:BasicObject = GetLocal :list, l0, EP@6
11997- v97:BasicObject = GetLocal :iter_method, l0, EP@4
11998- v99:BasicObject = Send v95, 0x1070, :__send__, v97 # SendFallbackReason: Send: unsupported method type Optimized
11999- v100:BasicObject = GetLocal :list, l0, EP@6
12000- v101:BasicObject = GetLocal :sep, l0, EP@5
12001- v102:BasicObject = GetLocal :iter_method, l0, EP@4
12002- v103:BasicObject = GetLocal :kwsplat, l0, EP@3
12003- CheckInterrupts
12004- Return v99
11980+ v102:HashExact[VALUE(0x1068)] = Const Value(VALUE(0x1068))
11981+ SetLocal :kwsplat, l0, EP@3, v102
11982+ v91:BasicObject = GetLocal :list, l0, EP@6
11983+ v93:BasicObject = GetLocal :iter_method, l0, EP@4
11984+ v95:BasicObject = Send v91, 0x1070, :__send__, v93 # SendFallbackReason: Send: unsupported method type Optimized
11985+ CheckInterrupts
11986+ Return v95
1200511987 " ) ;
1200611988 }
1200711989
0 commit comments