@@ -7661,29 +7661,35 @@ mod hir_opt_tests {
76617661 bb3(v6:BasicObject):
76627662 PatchPoint SingleRactorMode
76637663 v11:HeapBasicObject = GuardType v6, HeapBasicObject
7664- v12:CShape = LoadField v11, :_shape_id@0x1000
7665- v14:CShape[0x1001] = Const CShape(0x1001)
7666- v15:CBool = IsBitEqual v12, v14
7667- IfTrue v15, bb5()
7668- v20:CShape[0x1002] = Const CShape(0x1002)
7669- v21:CBool = IsBitEqual v12, v20
7670- IfTrue v21, bb6()
7671- v25:BasicObject = GetIvar v11, :@foo
7672- Jump bb4(v25)
7664+ v12:CUInt64 = LoadField v11, :_rbasic_flags@0x1000
7665+ v14:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7666+ v15:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7667+ v16 = RefineType v15, CUInt64
7668+ v17:CInt64 = IntAnd v12, v14
7669+ v18:CBool = IsBitEqual v17, v16
7670+ IfTrue v18, bb5()
7671+ v23:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7672+ v24:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7673+ v25 = RefineType v24, CUInt64
7674+ v26:CInt64 = IntAnd v12, v23
7675+ v27:CBool = IsBitEqual v26, v25
7676+ IfTrue v27, bb6()
7677+ v31:BasicObject = GetIvar v11, :@foo
7678+ Jump bb4(v31)
76737679 bb5():
7674- v17 :CPtr = LoadField v11, :_as_heap@0x1003
7675- v18 :BasicObject = LoadField v17 , :@foo@0x1004
7676- Jump bb4(v18 )
7680+ v20 :CPtr = LoadField v11, :_as_heap@0x1018
7681+ v21 :BasicObject = LoadField v20 , :@foo@0x1019
7682+ Jump bb4(v21 )
76777683 bb6():
7678- v23 :BasicObject = LoadField v11, :@foo@0x1003
7679- Jump bb4(v23 )
7684+ v29 :BasicObject = LoadField v11, :@foo@0x1018
7685+ Jump bb4(v29 )
76807686 bb4(v13:BasicObject):
7681- v28 :Fixnum[1] = Const Value(1)
7682- PatchPoint MethodRedefined(Integer@0x1008 , +@0x1010 , cme:0x1018 )
7683- v39 :Fixnum = GuardType v13, Fixnum
7684- v40 :Fixnum = FixnumAdd v39, v28
7687+ v34 :Fixnum[1] = Const Value(1)
7688+ PatchPoint MethodRedefined(Integer@0x1020 , +@0x1028 , cme:0x1030 )
7689+ v45 :Fixnum = GuardType v13, Fixnum
7690+ v46 :Fixnum = FixnumAdd v45, v34
76857691 CheckInterrupts
7686- Return v40
7692+ Return v46
76877693 " ) ;
76887694 }
76897695
@@ -7731,31 +7737,37 @@ mod hir_opt_tests {
77317737 bb3(v6:BasicObject):
77327738 PatchPoint SingleRactorMode
77337739 v11:HeapBasicObject = GuardType v6, HeapBasicObject
7734- v12:CShape = LoadField v11, :_shape_id@0x1000
7735- v14:CShape[0x1001] = Const CShape(0x1001)
7736- v15:CBool = IsBitEqual v12, v14
7737- IfTrue v15, bb5()
7738- v19:CShape[0x1002] = Const CShape(0x1002)
7739- v20:CBool = IsBitEqual v12, v19
7740- IfTrue v20, bb6()
7741- v38:CShape = LoadField v11, :_shape_id@0x1000
7742- v39:CShape[0x1001] = GuardBitEquals v38, CShape(0x1001)
7743- v40:BasicObject = LoadField v11, :@foo@0x1003
7744- Jump bb4(v40)
7740+ v12:CUInt64 = LoadField v11, :_rbasic_flags@0x1000
7741+ v14:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7742+ v15:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7743+ v16 = RefineType v15, CUInt64
7744+ v17:CInt64 = IntAnd v12, v14
7745+ v18:CBool = IsBitEqual v17, v16
7746+ IfTrue v18, bb5()
7747+ v22:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7748+ v23:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7749+ v24 = RefineType v23, CUInt64
7750+ v25:CInt64 = IntAnd v12, v22
7751+ v26:CBool = IsBitEqual v25, v24
7752+ IfTrue v26, bb6()
7753+ v44:CShape = LoadField v11, :_shape_id@0x1018
7754+ v45:CShape[0x1019] = GuardBitEquals v44, CShape(0x1019)
7755+ v46:BasicObject = LoadField v11, :@foo@0x101a
7756+ Jump bb4(v46)
77457757 bb5():
7746- v17 :BasicObject = LoadField v11, :@foo@0x1003
7747- Jump bb4(v17 )
7758+ v20 :BasicObject = LoadField v11, :@foo@0x101a
7759+ Jump bb4(v20 )
77487760 bb6():
7749- v22 :CPtr = LoadField v11, :_as_heap@0x1003
7750- v23 :BasicObject = LoadField v22 , :@foo@0x1004
7751- Jump bb4(v23 )
7761+ v28 :CPtr = LoadField v11, :_as_heap@0x101a
7762+ v29 :BasicObject = LoadField v28 , :@foo@0x101b
7763+ Jump bb4(v29 )
77527764 bb4(v13:BasicObject):
7753- v28 :Fixnum[1] = Const Value(1)
7754- PatchPoint MethodRedefined(Integer@0x1008 , +@0x1010 , cme:0x1018 )
7755- v43 :Fixnum = GuardType v13, Fixnum
7756- v44 :Fixnum = FixnumAdd v43, v28
7765+ v34 :Fixnum[1] = Const Value(1)
7766+ PatchPoint MethodRedefined(Integer@0x1020 , +@0x1028 , cme:0x1030 )
7767+ v49 :Fixnum = GuardType v13, Fixnum
7768+ v50 :Fixnum = FixnumAdd v49, v34
77577769 CheckInterrupts
7758- Return v44
7770+ Return v50
77597771 " ) ;
77607772 }
77617773
@@ -7796,28 +7808,34 @@ mod hir_opt_tests {
77967808 bb3(v6:BasicObject):
77977809 PatchPoint SingleRactorMode
77987810 v11:HeapBasicObject = GuardType v6, HeapBasicObject
7799- v12:CShape = LoadField v11, :_shape_id@0x1000
7800- v14:CShape[0x1001] = Const CShape(0x1001)
7801- v15:CBool = IsBitEqual v12, v14
7802- IfTrue v15, bb5()
7803- v19:CShape[0x1002] = Const CShape(0x1002)
7804- v20:CBool = IsBitEqual v12, v19
7805- IfTrue v20, bb6()
7806- v24:BasicObject = GetIvar v11, :@foo
7807- Jump bb4(v24)
7811+ v12:CUInt64 = LoadField v11, :_rbasic_flags@0x1000
7812+ v14:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7813+ v15:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7814+ v16 = RefineType v15, CUInt64
7815+ v17:CInt64 = IntAnd v12, v14
7816+ v18:CBool = IsBitEqual v17, v16
7817+ IfTrue v18, bb5()
7818+ v22:CUInt64[18446744069414584351] = Const CUInt64(18446744069414584351)
7819+ v23:CPtr[CPtr(0x1008)] = Const CPtr(0x1010)
7820+ v24 = RefineType v23, CUInt64
7821+ v25:CInt64 = IntAnd v12, v22
7822+ v26:CBool = IsBitEqual v25, v24
7823+ IfTrue v26, bb6()
7824+ v30:BasicObject = GetIvar v11, :@foo
7825+ Jump bb4(v30)
78087826 bb5():
7809- v17 :BasicObject = LoadField v11, :@foo@0x1003
7810- Jump bb4(v17 )
7827+ v20 :BasicObject = LoadField v11, :@foo@0x1018
7828+ Jump bb4(v20 )
78117829 bb6():
7812- v22 :BasicObject = LoadField v11, :@foo@0x1003
7813- Jump bb4(v22 )
7830+ v28 :BasicObject = LoadField v11, :@foo@0x1018
7831+ Jump bb4(v28 )
78147832 bb4(v13:BasicObject):
7815- v27 :Fixnum[1] = Const Value(1)
7816- PatchPoint MethodRedefined(Integer@0x1008 , +@0x1010 , cme:0x1018 )
7817- v38 :Fixnum = GuardType v13, Fixnum
7818- v39 :Fixnum = FixnumAdd v38, v27
7833+ v33 :Fixnum[1] = Const Value(1)
7834+ PatchPoint MethodRedefined(Integer@0x1020 , +@0x1028 , cme:0x1030 )
7835+ v44 :Fixnum = GuardType v13, Fixnum
7836+ v45 :Fixnum = FixnumAdd v44, v33
78197837 CheckInterrupts
7820- Return v39
7838+ Return v45
78217839 " ) ;
78227840 }
78237841
0 commit comments