1) Method "static int compiler.escapeAnalysis.TestRematerializeObjects.test1(boolean)" - [Failed IR rules: 1]: * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#ALLOC_ARRAY#_", "1", "_#UNSTABLE_IF_TRAP#_", "1", "_#C#STORE_L_OF_CLASS#_", "int\\[int:4\\]", "1", "_#C#SAFEPOINT_SCALAROBJECT_OF#_", "fields@\\[0..3\\]", "0"}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={"EliminateAllocations", "false", "UseUnalignedAccesses", "true"}, applyIfNot={})" > Phase "PrintIdeal": - counts: Graph contains wrong number of nodes: * Constraint 3: "(\d+(\s){2}(StoreL.*)+(\s){2}===.*@\S*int\[int:4\](:|\+)\S* \*)" - Failed comparison: [found] 0 = 1 [given] - No nodes matched! 1) Compilation of "static int compiler.escapeAnalysis.TestRematerializeObjects.test1(boolean)": > Phase "PrintIdeal": AFTER: print_ideal 0 Root === 0 130 160 161 [[ 0 1 3 22 23 131 125 28 29 158 88 32 35 87 80 79 42 73 66 72 164 170 171 173 183 186 189 193 195 199 203 206 215 ]] inner 1 Con === 0 [[ ]] #top 3 Start === 3 0 [[ 3 5 6 7 8 9 10 ]] #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address, 5:int} 5 Parm === 3 [[ 212 175 176 ]] Control !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 6 Parm === 3 [[ 185 168 ]] I_O !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 7 Parm === 3 [[ 62 110 208 41 175 176 192 ]] Memory Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 8 Parm === 3 [[ 161 160 126 130 208 94 ]] FramePtr !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 9 Parm === 3 [[ 161 160 126 ]] ReturnAdr !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 10 Parm === 3 [[ 117 94 126 208 ]] Parm0: int !jvms: TestRematerializeObjects::test1 @ bci:-1 (line 89) 16 MergeMem === _ 1 97 1 1 1 133 [[ 160 ]] { - - - N133:int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any * } Memory: @BotPTR *+bot, idx=Bot; 22 ConI === 0 [[ 208 201 ]] #int:4 23 ConP === 0 [[ 208 ]] #precise [int (java/lang/Cloneable,java/io/Serializable): :Constant:exact * 28 ConI === 0 [[ 117 ]] #int:0 32 ConL === 0 [[ 202 67 ]] #long:16 35 ConL === 0 [[ 177 ]] #long:32 41 MergeMem === _ 1 7 61 61 61 61 [[ 94 ]] { N61:rawptr:BotPTR N61:java/lang/Object * N61:java/lang/Object+8 * [narrowklass] N61:int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any * } Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 42 ConI === 0 [[ 148 ]] #int:1 47 Proj === 208 [[ 50 ]] #0 !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 50 Catch === 47 57 [[ 209 52 ]] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 52 CatchProj === 50 [[ 108 55 ]] #1@bci -1 !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 53 MergeMem === _ 1 110 111 [[ 161 ]] { N111:rawptr:BotPTR } Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 55 CreateEx === 52 57 [[ 112 ]] #java/lang/Throwable (java/io/Serializable):NotNull * Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 56 Proj === 208 [[ 111 167 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 57 Proj === 208 [[ 50 55 109 ]] #1 !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 59 Initialize === 166 1 62 1 1 1 207 [[ 60 61 ]] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 60 Proj === 59 [[ 94 63 ]] #0 !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 61 Proj === 59 [[ 41 41 41 41 ]] #2 Memory: @rawptr:BotPTR, idx=Raw; !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 62 MergeMem === _ 1 167 1 1 1 7 [[ 59 ]] { - - - N7:int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any * } Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 63 CheckCastPP === 60 169 [[ 126 67 67 89 89 81 81 94 ]] #int[int:4] (java/lang/Cloneable,java/io/Serializable):NotNull:exact * !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 67 AddP === _ 63 63 32 [[ 165 ]] !jvms: TestRematerializeObjects::test1 @ bci:8 (line 90) 80 ConL === 0 [[ 81 205 ]] #long:24 81 AddP === _ 63 63 80 [[ 145 ]] !jvms: TestRematerializeObjects::test1 @ bci:19 (line 92) 88 ConL === 0 [[ 89 ]] #long:28 89 AddP === _ 63 63 88 [[ 133 ]] !jvms: TestRematerializeObjects::test1 @ bci:24 (line 93) 94 CallStaticJava === 60 168 41 8 1 (10 63 ) [[ 95 96 97 ]] # Static compiler.escapeAnalysis.TestRematerializeObjects::dontinline void ( ) TestRematerializeObjects::test1 @ bci:25 (line 94) !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 95 Proj === 94 [[ 100 ]] #0 !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 96 Proj === 94 [[ 126 100 160 105 109 ]] #1 !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 97 Proj === 94 [[ 98 16 110 111 165 ]] #2 Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 98 MergeMem === _ 1 97 1 1 1 165 [[ 126 ]] { - - - N165:int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any * } Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 100 Catch === 95 96 [[ 101 102 ]] !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 101 CatchProj === 100 [[ 119 165 ]] #0@bci -1 !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 102 CatchProj === 100 [[ 108 105 ]] #1@bci -1 !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 105 CreateEx === 102 96 [[ 112 ]] #java/lang/Throwable (java/io/Serializable):NotNull * Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 108 Region === 108 52 102 [[ 108 109 110 111 112 161 ]] !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 109 Phi === 108 57 96 [[ 161 ]] #abIO !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 110 Phi === 108 7 97 [[ 53 ]] #memory Memory: @BotPTR *+bot, idx=Bot; !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 111 Phi === 108 56 97 [[ 53 ]] #memory Memory: @rawptr:BotPTR, idx=Raw; !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 112 Phi === 108 55 105 [[ 161 ]] #java/lang/Throwable (java/io/Serializable):NotNull * Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: TestRematerializeObjects::test1 @ bci:25 (line 94) 117 CmpI === _ 10 28 [[ 118 ]] !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 118 Bool === _ 117 [[ 119 ]] [ne] !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 119 If === 101 118 [[ 120 121 ]] P=0.000000, C=5375.000000 !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 120 IfTrue === 119 [[ 126 ]] #1 !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 121 IfFalse === 119 [[ 160 145 133 ]] #0 !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 125 ConI === 0 [[ 126 ]] #int:-187 126 CallStaticJava === 120 96 98 8 9 (125 1 63 10 ) [[ 127 ]] # Static uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0') void ( int ) C=0.000100 TestRematerializeObjects::test1 @ bci:38 (line 97) reexecute !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 127 Proj === 126 [[ 130 ]] #0 !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 130 Halt === 127 1 1 8 1 [[ 0 ]] !jvms: TestRematerializeObjects::test1 @ bci:38 (line 97) 131 ConI === 0 [[ 133 ]] #int:4096 133 StoreI === 121 165 89 131 [[ 16 145 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=6; Memory: @int[int:4] (java/lang/Cloneable,java/io/Serializable):NotNull:exact[3] *, idx=6; !jvms: TestRematerializeObjects::test1 @ bci:59 (line 101) 145 LoadI === 121 133 81 [[ 149 148 ]] @int[int:>=0] (java/lang/Cloneable,java/io/Serializable):exact+any *, idx=6; #int !jvms: TestRematerializeObjects::test1 @ bci:74 (line 102) 148 LShiftI === _ 145 42 [[ 149 ]] !jvms: TestRematerializeObjects::test1 @ bci:75 (line 102) 149 AddI === _ 148 145 [[ 157 ]] !jvms: TestRematerializeObjects::test1 @ bci:75 (line 102) 157 AddI === _ 149 158 [[ 160 ]] !jvms: TestRematerializeObjects::test1 @ bci:82 (line 102) 158 ConI === 0 [[ 157 ]] #int:16417 160 Return === 121 96 16 8 9 returns 157 [[ 0 ]] 161 Rethrow === 108 109 53 8 9 exception 112 [[ 0 ]] 164 ConL === 0 [[ 165 ]] #long:68719476737 165 StoreL === 101 97 67 164 [[ 133 98 ]] @int[int:4] (java/lang/Cloneable,java/io/Serializable):NotNull:exact[1] *, idx=6; mismatched Memory: @int[int:4] (java/lang/Cloneable,java/io/Serializable):NotNull:exact[0] *, idx=6; !orig=[116] !jvms: TestRematerializeObjects::test1 @ bci:36 (line 96) 166 Region === 166 209 214 [[ 166 167 168 169 207 204 59 ]] !orig=[51] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 167 Phi === 166 56 201 [[ 62 204 ]] #memory Memory: @rawptr:BotPTR, idx=Raw; 168 Phi === 166 6 191 [[ 94 ]] #abIO 169 Phi === 166 210 176 [[ 202 63 205 ]] #rawptr:BotPTR !orig=[58] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 170 ThreadLocal === 0 [[ 172 174 ]] 171 ConL === 0 [[ 172 ]] #long:464 172 AddP === _ 1 170 171 [[ 176 192 ]] 173 ConL === 0 [[ 174 ]] #long:480 174 AddP === _ 1 170 173 [[ 175 ]] 175 LoadP === 5 7 174 [[ 178 ]] @rawptr:BotPTR, idx=Raw; #rawptr:BotPTR (does not depend only on test, raw access) 176 LoadP === 5 7 172 [[ 177 184 187 190 194 196 196 200 200 169 ]] @rawptr:BotPTR, idx=Raw; #rawptr:BotPTR (does not depend only on test, raw access) 177 AddP === _ 1 176 35 [[ 178 184 187 190 192 ]] 178 CmpP === _ 177 175 [[ 211 ]] 183 ConL === 0 [[ 184 ]] #long:256 184 AddP === _ 176 177 183 [[ 185 ]] 185 PrefetchAllocation === 214 6 184 [[ 188 ]] 186 ConL === 0 [[ 187 ]] #long:320 187 AddP === _ 176 177 186 [[ 188 ]] 188 PrefetchAllocation === _ 185 187 [[ 191 ]] 189 ConL === 0 [[ 190 ]] #long:384 190 AddP === _ 176 177 189 [[ 191 ]] 191 PrefetchAllocation === _ 188 190 [[ 168 ]] 192 StoreP === 214 7 172 177 [[ 194 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; 193 ConL === 0 [[ 194 ]] #long:1 194 StoreL === 214 192 176 193 [[ 198 ]] @null Memory: @rawptr:BotPTR, idx=Raw; 195 ConL === 0 [[ 196 ]] #long:8 196 AddP === _ 176 176 195 [[ 198 ]] 198 StoreNKlass === 214 194 196 215 [[ 201 ]] @null Memory: @rawptr:BotPTR, idx=Raw; 199 ConL === 0 [[ 200 ]] #long:12 200 AddP === _ 176 176 199 [[ 201 ]] 201 StoreI === 214 198 200 22 [[ 167 ]] @null Memory: @rawptr:BotPTR, idx=Raw; 202 AddP === _ 1 169 32 [[ 204 ]] !orig=70 !jvms: TestRematerializeObjects::test1 @ bci:8 (line 90) 203 ConL === 0 [[ 204 ]] #long:4503599627436032 204 StoreL === 166 167 202 203 [[ 207 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[76],75 !jvms: TestRematerializeObjects::test1 @ bci:13 (line 91) 205 AddP === _ 1 169 80 [[ 207 ]] !orig=84 !jvms: TestRematerializeObjects::test1 @ bci:19 (line 92) 206 ConL === 0 [[ 207 ]] #long:72057594037928192 207 StoreL === 166 204 205 206 [[ 59 ]] @rawptr:BotPTR, idx=Raw; Memory: @rawptr:BotPTR, idx=Raw; !orig=[91],90 !jvms: TestRematerializeObjects::test1 @ bci:24 (line 93) 208 CallStaticJava === 213 1 7 8 1 (23 22 10 1 ) [[ 210 57 56 47 ]] # Static C2 Runtime new_array rawptr:NotNull ( java/lang/Object:NotNull *, int ) C=0.000100 TestRematerializeObjects::test1 @ bci:1 (line 89) !orig=46 !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 209 CatchProj === 50 [[ 166 ]] #0@bci -1 !orig=[51] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 210 Proj === 208 [[ 169 ]] #5 !orig=[58] !jvms: TestRematerializeObjects::test1 @ bci:1 (line 89) 211 Bool === _ 178 [[ 212 ]] [lt] 212 If === 5 211 [[ 213 214 ]] P=0.999900, C=-1.000000 !orig=[180] 213 IfFalse === 212 [[ 208 ]] #0 !orig=[181] 214 IfTrue === 212 [[ 166 201 198 194 192 185 ]] #1 !orig=[182] 215 ConNKlass === 0 [[ 198 ]] #narrowklass: precise [int (java/lang/Cloneable,java/io/Serializable): :Constant:exact *