@@ -5602,11 +5602,15 @@ mod hir_opt_tests {
56025602 v36:NilClass = Const Value(nil)
56035603 Jump bb8(v36, v13)
56045604 bb8(v26:BasicObject, v27:BasicObject):
5605- v39:BasicObject = Send v24, &block, :then, v26 # SendFallbackReason: Send: block argument is not nil
5605+ v56:NilClass = GuardBitEquals v26, Value(nil) recompile
5606+ PatchPoint MethodRedefined(Integer@0x1008, then@0x1010, cme:0x1018)
5607+ PushInlineFrame v24 (0x1040)
5608+ v76:BasicObject = InvokeBuiltin <inline_expr>, v24
56065609 CheckInterrupts
5607- Return v39
5610+ PopInlineFrame
5611+ Return v76
56085612 bb4(v44:BasicObject, v45:Falsy, v46:BasicObject):
5609- v50:StaticSymbol[:skip] = Const Value(VALUE(0x1008 ))
5613+ v50:StaticSymbol[:skip] = Const Value(VALUE(0x1048 ))
56105614 CheckInterrupts
56115615 Return v50
56125616 ");
@@ -9175,12 +9179,17 @@ mod hir_opt_tests {
91759179 Jump bb3(v6, v7)
91769180 bb3(v9:HeapBasicObject, v10:BasicObject):
91779181 v17:Fixnum[5] = Const Value(5)
9182+ v21:CBool = HasType v10, ObjectSubclass[class_exact:C]
9183+ CondBranch v21, bb5(), bb6()
9184+ bb5():
9185+ v24:ObjectSubclass[class_exact:C] = RefineType v10, ObjectSubclass[class_exact:C]
91789186 PatchPoint MethodRedefined(C@0x1008, foo=@0x1010, cme:0x1018)
9179- v28:ObjectSubclass[class_exact:C] = GuardType v10, ObjectSubclass[class_exact:C] recompile
9180- v30:CShape = LoadField v28, :shape_id@0x1040
9181- v31:CShape[0x1041] = GuardBitEquals v30, CShape(0x1041)
9182- StoreField v28, :@foo@0x1042, v17
9183- WriteBarrier v28, v17
9187+ SetIvar v24, :@foo, v17
9188+ Jump bb4(v17)
9189+ bb6():
9190+ v27:BasicObject = Send v10, :foo=, v17 # SendFallbackReason: Send: polymorphic fallback
9191+ Jump bb4(v27)
9192+ bb4(v20:BasicObject):
91849193 CheckInterrupts
91859194 Return v17
91869195 ");
@@ -18809,27 +18818,25 @@ mod hir_opt_tests {
1880918818 bb4():
1881018819 PatchPoint NoEPEscape(f)
1881118820 v44:Fixnum[1] = Const Value(1)
18812- v48:CBool = HasType v12, Flonum
18821+ v48:CBool = HasType v12, Fixnum
1881318822 CondBranch v48, bb10(), bb11()
1881418823 bb10():
18815- v51:Flonum = RefineType v12, Flonum
18816- PatchPoint MethodRedefined(Float @0x1008, +@0x1010, cme:0x1018)
18817- v86:Float = FloatAdd v51, v44
18824+ v51:Fixnum = RefineType v12, Fixnum
18825+ PatchPoint MethodRedefined(Integer @0x1008, +@0x1010, cme:0x1018)
18826+ v86:Fixnum = FixnumAdd v51, v44
1881818827 Jump bb9(v86)
1881918828 bb11():
18820- v54:CBool = HasType v12, Fixnum
18829+ v54:CBool = HasType v12, Flonum
1882118830 CondBranch v54, bb12(), bb13()
1882218831 bb12():
18823- v57:Fixnum = RefineType v12, Fixnum
18824- PatchPoint MethodRedefined(Integer @0x1040, +@0x1010, cme:0x1048)
18825- v89:Fixnum = FixnumAdd v57, v44
18832+ v57:Flonum = RefineType v12, Flonum
18833+ PatchPoint MethodRedefined(Float @0x1040, +@0x1010, cme:0x1048)
18834+ v89:Float = FloatAdd v57, v44
1882618835 Jump bb9(v89)
1882718836 bb13():
18828- PatchPoint MethodRedefined(Float@0x1008, +@0x1010, cme:0x1018)
18829- v92:Flonum = GuardType v12, Flonum recompile
18830- v93:Float = FloatAdd v92, v44
18831- Jump bb9(v93)
18832- bb9(v47:Float|Fixnum):
18837+ v60:BasicObject = Send v12, :+, v44 # SendFallbackReason: Send: polymorphic fallback
18838+ Jump bb9(v60)
18839+ bb9(v47:BasicObject):
1883318840 PatchPoint SingleRactorMode
1883418841 v69:CShape = LoadField v11, :shape_id@0x1001
1883518842 v70:CShape[0x1002] = Const CShape(0x1002)
0 commit comments