@@ -15141,7 +15141,7 @@ mod hir_opt_tests {
1514115141 return;
1514215142 }
1514315143 eval("OBJ.test");
15144- assert_snapshot!(hir_string_proc("TEST"), @"
15144+ assert_snapshot!(hir_string_proc("TEST"), @r "
1514515145 fn test@<compiled>:12:
1514615146 bb1():
1514715147 EntryPoint interpreter
@@ -15165,27 +15165,6 @@ mod hir_opt_tests {
1516515165 WriteBarrier v14, v17
1516615166 v34:CShape[0x1004] = Const CShape(0x1004)
1516715167 StoreField v14, :_shape_id@0x1000, v34
15168- v42:HeapBasicObject = GuardType v6, HeapBasicObject
15169- v43:CShape = LoadField v42, :_shape_id@0x1000
15170- v44:CShape[0x1001] = GuardBitEquals v43, CShape(0x1001)
15171- StoreField v42, :@a@0x1002, v10
15172- WriteBarrier v42, v10
15173- v14:HeapBasicObject = RefineType v6, HeapBasicObject
15174- v17:Fixnum[2] = Const Value(2)
15175- PatchPoint SingleRactorMode
15176- StoreField v14, :@b@0x1003, v17
15177- WriteBarrier v14, v17
15178- v21:HeapBasicObject = RefineType v14, HeapBasicObject
15179- v24:Fixnum[3] = Const Value(3)
15180- PatchPoint SingleRactorMode
15181- StoreField v21, :@c@0x1004, v24
15182- WriteBarrier v21, v24
15183- v61:CShape[0x1005] = Const CShape(0x1005)
15184- StoreField v21, :_shape_id@0x1000, v61
15185- v28:HeapBasicObject = RefineType v21, HeapBasicObject
15186- v31:Fixnum[4] = Const Value(4)
15187- PatchPoint SingleRactorMode
15188- SetIvar v28, :@d, v31
1518915168 CheckInterrupts
1519015169 Return v17
1519115170 ");
@@ -15675,17 +15654,31 @@ mod hir_opt_tests {
1567515654 v13:CInt64 = LoadField v12, :_env_data_index_specval@0x1000
1567615655 v14:CInt64[3] = Const CInt64(3)
1567715656 v15:CInt64 = IntAnd v13, v14
15678- v16:CInt64[3] = GuardBitEquals v15, CInt64(3)
15679- v17:BasicObject = InvokeBlockIfunc v13, v10
15680- v21:Fixnum[2] = Const Value(2)
15681- v23:CPtr = GetEP 0
15682- v24:CInt64 = LoadField v23, :_env_data_index_specval@0x1000
15683- v25:CInt64[3] = Const CInt64(3)
15684- v26:CInt64 = IntAnd v24, v25
15685- v27:CInt64[3] = GuardBitEquals v26, CInt64(3)
15686- v28:BasicObject = InvokeBlockIfunc v24, v21
15657+ v16:CInt64[3] = Const CInt64(3)
15658+ v17:CBool = IsBitEqual v15, v16
15659+ IfTrue v17, bb5()
15660+ v22:BasicObject = InvokeBlock, v10 # SendFallbackReason: InvokeBlock: not yet specialized
15661+ Jump bb4(v22)
15662+ bb5():
15663+ v20:BasicObject = InvokeBlockIfunc v13, v10
15664+ Jump bb4(v20)
15665+ bb4(v18:BasicObject):
15666+ v27:Fixnum[2] = Const Value(2)
15667+ v29:CPtr = GetEP 0
15668+ v30:CInt64 = LoadField v29, :_env_data_index_specval@0x1000
15669+ v31:CInt64[3] = Const CInt64(3)
15670+ v32:CInt64 = IntAnd v30, v31
15671+ v33:CInt64[3] = Const CInt64(3)
15672+ v34:CBool = IsBitEqual v32, v33
15673+ IfTrue v34, bb7()
15674+ v39:BasicObject = InvokeBlock, v27 # SendFallbackReason: InvokeBlock: not yet specialized
15675+ Jump bb6(v39)
15676+ bb7():
15677+ v37:BasicObject = InvokeBlockIfunc v30, v27
15678+ Jump bb6(v37)
15679+ bb6(v35:BasicObject):
1568715680 CheckInterrupts
15688- Return v28
15681+ Return v35
1568915682 ");
1569015683 }
1569115684
@@ -15714,44 +15707,7 @@ mod hir_opt_tests {
1571415707 Jump bb3(v4)
1571515708 bb3(v6:BasicObject):
1571615709 v10:Fixnum[1] = Const Value(1)
15717- v12:CPtr = GetEP 0
15718- v13:CInt64 = LoadField v12, :_env_data_index_specval@0x1000
15719- v14:CInt64[3] = Const CInt64(3)
15720- v15:CInt64 = IntAnd v13, v14
15721- v16:CInt64[3] = Const CInt64(3)
15722- v17:CBool = IsBitEqual v15, v16
15723- IfTrue v17, bb5()
15724- v22:BasicObject = InvokeBlock, v10 # SendFallbackReason: InvokeBlock: not yet specialized
15725- Jump bb4(v22)
15726- bb5():
15727- v20:BasicObject = InvokeBlockIfunc v13, v10
15728- Jump bb4(v20)
15729- bb4(v18:BasicObject):
15730- v27:Fixnum[2] = Const Value(2)
15731- v29:CPtr = GetEP 0
15732- v30:CInt64 = LoadField v29, :_env_data_index_specval@0x1000
15733- v31:CInt64[3] = Const CInt64(3)
15734- v32:CInt64 = IntAnd v30, v31
15735- v33:CInt64[3] = Const CInt64(3)
15736- v34:CBool = IsBitEqual v32, v33
15737- IfTrue v34, bb7()
15738- v39:BasicObject = InvokeBlock, v27 # SendFallbackReason: InvokeBlock: not yet specialized
15739- Jump bb6(v39)
15740- bb7():
15741- v37:BasicObject = InvokeBlockIfunc v30, v27
15742- Jump bb6(v37)
15743- StoreField v14, :@b@0x1004, v17
15744- v16:CInt64[3] = GuardBitEquals v15, CInt64(3)
15745- v17:BasicObject = InvokeBlockIfunc v13, v10
15746- v21:Fixnum[2] = Const Value(2)
15747- v23:CPtr = GetEP 0
15748- v24:CInt64 = LoadField v23, :_env_data_index_specval@0x1000
15749- v25:CInt64[3] = Const CInt64(3)
15750- v26:CInt64 = IntAnd v24, v25
15751- v27:CInt64[3] = GuardBitEquals v26, CInt64(3)
15752- v28:BasicObject = InvokeBlockIfunc v24, v21
15753- CheckInterrupts
15754- Return v28
15710+ PatchPoint SingleRactorMode
1575515711 v35:HeapBasicObject = GuardType v6, HeapBasicObject
1575615712 v36:CShape = LoadField v35, :_shape_id@0x1000
1575715713 v37:CShape[0x1001] = GuardBitEquals v36, CShape(0x1001)
@@ -15860,7 +15816,9 @@ mod hir_opt_tests {
1586015816 v38:Fixnum[5] = Const Value(5)
1586115817 StoreField v35, :@a@0x1003, v38
1586215818 WriteBarrier v35, v38
15863- ");
15819+ CheckInterrupts
15820+ Return v38
15821+ ");
1586415822 }
1586515823
1586615824 #[test]
0 commit comments