seafoam 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,2604 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
3
+ method "HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
4
+ date 1583840237988
5
+ end_compilation
6
+ begin_cfg
7
+ name "Final HIR schedule"
8
+ begin_block
9
+ name "B0"
10
+ from_bci -1
11
+ to_bci -1
12
+ predecessors
13
+ successors "B1" "B2"
14
+ xhandlers
15
+ flags
16
+ probability 4607182418800017408
17
+ begin_IR
18
+ HIR
19
+ f <@#|@fixed with next>@ <|@
20
+ tid v0 <|@
21
+ d <@d|@=== Debug Properties ===
22
+ stamp: void
23
+ withSpeculationFence: false
24
+ === Inputs ===
25
+ stateAfter: -
26
+ === Succesors ===
27
+ next: v25
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v25 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid a1 <|@
34
+ d <@d|@=== Debug Properties ===
35
+ index: 0
36
+ stamp: a Ljava/lang/Object;
37
+ uncheckedStamp: [null]
38
+ === Inputs ===
39
+ === Succesors ===
40
+ === Usages ===
41
+ v35 v20
42
+ === Predecessor ===
43
+ - >@ <|@
44
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
+ f <@~|@floating>@ <|@
46
+ tid v20 <|@
47
+ d <@d|@=== Debug Properties ===
48
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
49
+ nullConstant: Object[null]
50
+ stamp: void
51
+ === Inputs ===
52
+ value: a1
53
+ === Succesors ===
54
+ === Usages ===
55
+ v25
56
+ === Predecessor ===
57
+ - >@ <|@
58
+ instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
59
+ f <@*|@fixed>@ <|@
60
+ tid v25 <|@
61
+ d <@d|@=== Debug Properties ===
62
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
63
+ stamp: void
64
+ trueSuccessorProbability: 0.5
65
+ === Inputs ===
66
+ condition: v20
67
+ === Succesors ===
68
+ trueSuccessor: v23
69
+ falseSuccessor: v24
70
+ === Usages ===
71
+ === Predecessor ===
72
+ v0 >@ <|@
73
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v20 #trueSuccessor: v23 #falseSuccessor: v24 <|@ <|@
74
+ end_IR
75
+ end_block
76
+ begin_block
77
+ name "B1"
78
+ from_bci -1
79
+ to_bci -1
80
+ predecessors "B0"
81
+ successors "B3"
82
+ xhandlers
83
+ flags
84
+ probability 4602678819172646912
85
+ begin_IR
86
+ HIR
87
+ f <@#|@fixed with next>@ <|@
88
+ tid v23 <|@
89
+ d <@d|@=== Debug Properties ===
90
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
91
+ stamp: void
92
+ withSpeculationFence: false
93
+ === Inputs ===
94
+ === Succesors ===
95
+ next: v21
96
+ === Usages ===
97
+ === Predecessor ===
98
+ v25 >@ <|@
99
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
100
+ f <@~|@floating>@ <|@
101
+ tid v27 <|@
102
+ d <@d|@=== Debug Properties ===
103
+ isDefaultStable: false
104
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
105
+ rawvalue: null
106
+ stableDimension: 0
107
+ stamp: Klass* NULL
108
+ stampKind: Klass*
109
+ value: Object[null]
110
+ === Inputs ===
111
+ === Succesors ===
112
+ === Usages ===
113
+ v33
114
+ === Predecessor ===
115
+ - >@ <|@
116
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
117
+ f <@*|@fixed>@ <|@
118
+ tid v21 <|@
119
+ d <@d|@=== Debug Properties ===
120
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
121
+ stamp: void
122
+ === Inputs ===
123
+ === Succesors ===
124
+ === Usages ===
125
+ v26
126
+ === Predecessor ===
127
+ v23 >@ <|@
128
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
129
+ end_IR
130
+ end_block
131
+ begin_block
132
+ name "B2"
133
+ from_bci -1
134
+ to_bci -1
135
+ predecessors "B0"
136
+ successors "B3"
137
+ xhandlers
138
+ flags
139
+ probability 4602678819172646912
140
+ begin_IR
141
+ HIR
142
+ f <@#|@fixed with next>@ <|@
143
+ tid v24 <|@
144
+ d <@d|@=== Debug Properties ===
145
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
146
+ stamp: void
147
+ withSpeculationFence: false
148
+ === Inputs ===
149
+ === Succesors ===
150
+ next: v34
151
+ === Usages ===
152
+ === Predecessor ===
153
+ v25 >@ <|@
154
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
155
+ f <@~|@floating>@ <|@
156
+ tid v35 <|@
157
+ d <@d|@=== Debug Properties ===
158
+ displacement: 8
159
+ scale: Times1
160
+ stamp: void*
161
+ === Inputs ===
162
+ base: a1
163
+ index: -
164
+ === Succesors ===
165
+ === Usages ===
166
+ v34
167
+ === Predecessor ===
168
+ - >@ <|@
169
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
170
+ f <@#|@fixed with next>@ <|@
171
+ tid v34 <|@
172
+ d <@d|@=== Debug Properties ===
173
+ barrierType: NONE
174
+ forceFixed: false
175
+ location: CompressedHub:final
176
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
177
+ nullCheck: false
178
+ stamp: Klass*!(compressed base: 0 shift: 3)
179
+ === Inputs ===
180
+ stateBefore: -
181
+ guard: -
182
+ address: v35
183
+ lastLocationAccess: -
184
+ === Succesors ===
185
+ next: v22
186
+ === Usages ===
187
+ v32
188
+ === Predecessor ===
189
+ v24 >@ <|@
190
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v35 lastLocationAccess: - #next: v22 <|@ <|@
191
+ f <@~|@floating>@ <|@
192
+ tid v32 <|@
193
+ d <@d|@=== Debug Properties ===
194
+ encoding: base: 0 shift: 3
195
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
196
+ op: Uncompress
197
+ stamp: Klass*!
198
+ === Inputs ===
199
+ value: v34
200
+ === Succesors ===
201
+ === Usages ===
202
+ v33
203
+ === Predecessor ===
204
+ - >@ <|@
205
+ instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v34 <|@ <|@
206
+ f <@*|@fixed>@ <|@
207
+ tid v22 <|@
208
+ d <@d|@=== Debug Properties ===
209
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
210
+ stamp: void
211
+ === Inputs ===
212
+ === Succesors ===
213
+ === Usages ===
214
+ v26
215
+ === Predecessor ===
216
+ v34 >@ <|@
217
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
218
+ end_IR
219
+ end_block
220
+ begin_block
221
+ name "B3"
222
+ from_bci -1
223
+ to_bci -1
224
+ predecessors "B1" "B2"
225
+ successors
226
+ xhandlers
227
+ flags
228
+ probability 4607182418800017408
229
+ begin_IR
230
+ HIR
231
+ f <@~|@floating>@ <|@
232
+ tid v33 <|@
233
+ d <@d|@=== Debug Properties ===
234
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
235
+ stamp: Klass*
236
+ valueDescription: Klass*
237
+ === Inputs ===
238
+ merge: v26
239
+ values: v27 v32
240
+ === Succesors ===
241
+ === Usages ===
242
+ v11
243
+ === Predecessor ===
244
+ - >@ <|@
245
+ instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v26 values: v27 v32 <|@ <|@
246
+ f <@#|@fixed with next>@ <|@
247
+ tid v26 <|@
248
+ d <@d|@=== Debug Properties ===
249
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
250
+ stamp: void
251
+ withSpeculationFence: false
252
+ === Inputs ===
253
+ stateAfter: -
254
+ ends: v21 v22
255
+ === Succesors ===
256
+ next: v7
257
+ === Usages ===
258
+ v33
259
+ === Predecessor ===
260
+ - >@ <|@
261
+ instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v21 v22 #next: v7 <|@ <|@
262
+ f <@~|@floating>@ <|@
263
+ tid v8 <|@
264
+ d <@d|@=== Debug Properties ===
265
+ isDefaultStable: false
266
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
267
+ rawvalue: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
268
+ stableDimension: 0
269
+ stamp: Klass*!
270
+ stampKind: Klass*
271
+ value: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
272
+ === Inputs ===
273
+ === Succesors ===
274
+ === Usages ===
275
+ v11
276
+ === Predecessor ===
277
+ - >@ <|@
278
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
279
+ f <@~|@floating>@ <|@
280
+ tid v11 <|@
281
+ d <@d|@=== Debug Properties ===
282
+ condition: EQ
283
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
284
+ stamp: void
285
+ unorderedIsTrue: false
286
+ === Inputs ===
287
+ x: v33
288
+ y: v8
289
+ === Succesors ===
290
+ === Usages ===
291
+ i19
292
+ === Predecessor ===
293
+ - >@ <|@
294
+ instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v33 y: v8 <|@ <|@
295
+ f <@~|@floating>@ <|@
296
+ tid i4 <|@
297
+ d <@d|@=== Debug Properties ===
298
+ isDefaultStable: false
299
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
300
+ rawvalue: 1
301
+ stableDimension: 0
302
+ stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
303
+ stampKind: i32
304
+ value: int[1|0x1]
305
+ === Inputs ===
306
+ === Succesors ===
307
+ === Usages ===
308
+ i19
309
+ === Predecessor ===
310
+ - >@ <|@
311
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
312
+ f <@~|@floating>@ <|@
313
+ tid i5 <|@
314
+ d <@d|@=== Debug Properties ===
315
+ isDefaultStable: false
316
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
317
+ rawvalue: 0
318
+ stableDimension: 0
319
+ stamp: i32 [0] ⇈0000000000000000
320
+ stampKind: i32
321
+ value: int[0|0x0]
322
+ === Inputs ===
323
+ === Succesors ===
324
+ === Usages ===
325
+ i19
326
+ === Predecessor ===
327
+ - >@ <|@
328
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
329
+ f <@~|@floating>@ <|@
330
+ tid i19 <|@
331
+ d <@d|@=== Debug Properties ===
332
+ nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofExact(InstanceOfSnippets.java:140) [bci: 0]
333
+ at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
334
+ stamp: i32 [0 - 1] ⇈0000000000000001
335
+ === Inputs ===
336
+ condition: v11
337
+ trueValue: i4
338
+ falseValue: i5
339
+ === Succesors ===
340
+ === Usages ===
341
+ v7
342
+ === Predecessor ===
343
+ - >@ <|@
344
+ instruction <@Conditional|@org.graalvm.compiler.nodes.calc.ConditionalNode>@ condition: v11 trueValue: i4 falseValue: i5 <|@ <|@
345
+ f <@*|@fixed>@ <|@
346
+ tid v7 <|@
347
+ d <@d|@=== Debug Properties ===
348
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 4]
349
+ stamp: void
350
+ === Inputs ===
351
+ result: i19
352
+ memoryMap: -
353
+ === Succesors ===
354
+ === Usages ===
355
+ === Predecessor ===
356
+ v26 >@ <|@
357
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i19 memoryMap: - <|@ <|@
358
+ end_IR
359
+ end_block
360
+ end_cfg
361
+ begin_cfg
362
+ name "After LIRGeneration"
363
+ begin_block
364
+ name "B0"
365
+ from_bci -1
366
+ to_bci -1
367
+ predecessors
368
+ successors "B1" "B2"
369
+ xhandlers
370
+ flags
371
+ probability 4607182418800017408
372
+ begin_IR
373
+ LIR
374
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
375
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
376
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
377
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
378
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
379
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
380
+ end_IR
381
+ end_block
382
+ begin_block
383
+ name "B2"
384
+ from_bci -1
385
+ to_bci -1
386
+ predecessors "B0"
387
+ successors "B3"
388
+ xhandlers
389
+ flags
390
+ probability 4602678819172646912
391
+ begin_IR
392
+ LIR
393
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
394
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
395
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
396
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
397
+ end_IR
398
+ end_block
399
+ begin_block
400
+ name "B3"
401
+ from_bci -1
402
+ to_bci -1
403
+ predecessors "B1" "B2"
404
+ successors
405
+ xhandlers
406
+ flags
407
+ probability 4607182418800017408
408
+ begin_IR
409
+ LIR
410
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
411
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
412
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
413
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
414
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
415
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
416
+ end_IR
417
+ end_block
418
+ begin_block
419
+ name "B1"
420
+ from_bci -1
421
+ to_bci -1
422
+ predecessors "B0"
423
+ successors "B3"
424
+ xhandlers
425
+ flags
426
+ probability 4602678819172646912
427
+ begin_IR
428
+ LIR
429
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
430
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
431
+ end_IR
432
+ end_block
433
+ end_cfg
434
+ begin_bytecodes
435
+ 0: aload_0
436
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
437
+ 4: ireturn
438
+ <|@
439
+ end_bytecodes
440
+ begin_cfg
441
+ name "After LIR generation"
442
+ begin_block
443
+ name "B0"
444
+ from_bci -1
445
+ to_bci -1
446
+ predecessors
447
+ successors "B1" "B2"
448
+ xhandlers
449
+ flags
450
+ probability 4607182418800017408
451
+ begin_IR
452
+ HIR
453
+ f <@#|@fixed with next>@ <|@
454
+ tid v0 <|@
455
+ d <@d|@=== Debug Properties ===
456
+ stamp: void
457
+ withSpeculationFence: false
458
+ === Inputs ===
459
+ stateAfter: -
460
+ === Succesors ===
461
+ next: v25
462
+ === Usages ===
463
+ === Predecessor ===
464
+ - >@ <|@
465
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v25 <|@ <|@
466
+ f <@~|@floating>@ <|@
467
+ tid a1 <|@
468
+ result v0|QWORD[.] <|@
469
+ d <@d|@=== Debug Properties ===
470
+ index: 0
471
+ stamp: a Ljava/lang/Object;
472
+ uncheckedStamp: [null]
473
+ === Inputs ===
474
+ === Succesors ===
475
+ === Usages ===
476
+ v35 v20
477
+ === Predecessor ===
478
+ - >@ <|@
479
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
480
+ f <@~|@floating>@ <|@
481
+ tid v20 <|@
482
+ d <@d|@=== Debug Properties ===
483
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
484
+ nullConstant: Object[null]
485
+ stamp: void
486
+ === Inputs ===
487
+ value: a1
488
+ === Succesors ===
489
+ === Usages ===
490
+ v25
491
+ === Predecessor ===
492
+ - >@ <|@
493
+ instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
494
+ f <@*|@fixed>@ <|@
495
+ tid v25 <|@
496
+ d <@d|@=== Debug Properties ===
497
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
498
+ stamp: void
499
+ trueSuccessorProbability: 0.5
500
+ === Inputs ===
501
+ condition: v20
502
+ === Succesors ===
503
+ trueSuccessor: v23
504
+ falseSuccessor: v24
505
+ === Usages ===
506
+ === Predecessor ===
507
+ v0 >@ <|@
508
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v20 #trueSuccessor: v23 #falseSuccessor: v24 <|@ <|@
509
+ end_IR
510
+ begin_IR
511
+ LIR
512
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
513
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
514
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
515
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
516
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
517
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
518
+ end_IR
519
+ end_block
520
+ begin_block
521
+ name "B1"
522
+ from_bci -1
523
+ to_bci -1
524
+ predecessors "B0"
525
+ successors "B3"
526
+ xhandlers
527
+ flags
528
+ probability 4602678819172646912
529
+ begin_IR
530
+ HIR
531
+ f <@#|@fixed with next>@ <|@
532
+ tid v23 <|@
533
+ d <@d|@=== Debug Properties ===
534
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
535
+ stamp: void
536
+ withSpeculationFence: false
537
+ === Inputs ===
538
+ === Succesors ===
539
+ next: v21
540
+ === Usages ===
541
+ === Predecessor ===
542
+ v25 >@ <|@
543
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
544
+ f <@~|@floating>@ <|@
545
+ tid v27 <|@
546
+ result Object[null] <|@
547
+ d <@d|@=== Debug Properties ===
548
+ isDefaultStable: false
549
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
550
+ rawvalue: null
551
+ stableDimension: 0
552
+ stamp: Klass* NULL
553
+ stampKind: Klass*
554
+ value: Object[null]
555
+ === Inputs ===
556
+ === Succesors ===
557
+ === Usages ===
558
+ v33
559
+ === Predecessor ===
560
+ - >@ <|@
561
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
562
+ f <@*|@fixed>@ <|@
563
+ tid v21 <|@
564
+ d <@d|@=== Debug Properties ===
565
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
566
+ stamp: void
567
+ === Inputs ===
568
+ === Succesors ===
569
+ === Usages ===
570
+ v26
571
+ === Predecessor ===
572
+ v23 >@ <|@
573
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
574
+ end_IR
575
+ begin_IR
576
+ LIR
577
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
578
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
579
+ end_IR
580
+ end_block
581
+ begin_block
582
+ name "B2"
583
+ from_bci -1
584
+ to_bci -1
585
+ predecessors "B0"
586
+ successors "B3"
587
+ xhandlers
588
+ flags
589
+ probability 4602678819172646912
590
+ begin_IR
591
+ HIR
592
+ f <@#|@fixed with next>@ <|@
593
+ tid v24 <|@
594
+ d <@d|@=== Debug Properties ===
595
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
596
+ stamp: void
597
+ withSpeculationFence: false
598
+ === Inputs ===
599
+ === Succesors ===
600
+ next: v34
601
+ === Usages ===
602
+ === Predecessor ===
603
+ v25 >@ <|@
604
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
605
+ f <@~|@floating>@ <|@
606
+ tid v35 <|@
607
+ result [v0|QWORD[.] + 8] <|@
608
+ d <@d|@=== Debug Properties ===
609
+ displacement: 8
610
+ scale: Times1
611
+ stamp: void*
612
+ === Inputs ===
613
+ base: a1
614
+ index: -
615
+ === Succesors ===
616
+ === Usages ===
617
+ v34
618
+ === Predecessor ===
619
+ - >@ <|@
620
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
621
+ f <@#|@fixed with next>@ <|@
622
+ tid v34 <|@
623
+ result v1|DWORD <|@
624
+ d <@d|@=== Debug Properties ===
625
+ barrierType: NONE
626
+ forceFixed: false
627
+ location: CompressedHub:final
628
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
629
+ nullCheck: false
630
+ stamp: Klass*!(compressed base: 0 shift: 3)
631
+ === Inputs ===
632
+ stateBefore: -
633
+ guard: -
634
+ address: v35
635
+ lastLocationAccess: -
636
+ === Succesors ===
637
+ next: v22
638
+ === Usages ===
639
+ v32
640
+ === Predecessor ===
641
+ v24 >@ <|@
642
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v35 lastLocationAccess: - #next: v22 <|@ <|@
643
+ f <@~|@floating>@ <|@
644
+ tid v32 <|@
645
+ result v2|QWORD <|@
646
+ d <@d|@=== Debug Properties ===
647
+ encoding: base: 0 shift: 3
648
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
649
+ op: Uncompress
650
+ stamp: Klass*!
651
+ === Inputs ===
652
+ value: v34
653
+ === Succesors ===
654
+ === Usages ===
655
+ v33
656
+ === Predecessor ===
657
+ - >@ <|@
658
+ instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v34 <|@ <|@
659
+ f <@*|@fixed>@ <|@
660
+ tid v22 <|@
661
+ d <@d|@=== Debug Properties ===
662
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
663
+ stamp: void
664
+ === Inputs ===
665
+ === Succesors ===
666
+ === Usages ===
667
+ v26
668
+ === Predecessor ===
669
+ v34 >@ <|@
670
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
671
+ end_IR
672
+ begin_IR
673
+ LIR
674
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
675
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
676
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
677
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
678
+ end_IR
679
+ end_block
680
+ begin_block
681
+ name "B3"
682
+ from_bci -1
683
+ to_bci -1
684
+ predecessors "B1" "B2"
685
+ successors
686
+ xhandlers
687
+ flags
688
+ probability 4607182418800017408
689
+ begin_IR
690
+ HIR
691
+ f <@~|@floating>@ <|@
692
+ tid v33 <|@
693
+ result v3|QWORD <|@
694
+ d <@d|@=== Debug Properties ===
695
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
696
+ stamp: Klass*
697
+ valueDescription: Klass*
698
+ === Inputs ===
699
+ merge: v26
700
+ values: v27 v32
701
+ === Succesors ===
702
+ === Usages ===
703
+ v11
704
+ === Predecessor ===
705
+ - >@ <|@
706
+ instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v26 values: v27 v32 <|@ <|@
707
+ f <@#|@fixed with next>@ <|@
708
+ tid v26 <|@
709
+ d <@d|@=== Debug Properties ===
710
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
711
+ stamp: void
712
+ withSpeculationFence: false
713
+ === Inputs ===
714
+ stateAfter: -
715
+ ends: v21 v22
716
+ === Succesors ===
717
+ next: v7
718
+ === Usages ===
719
+ v33
720
+ === Predecessor ===
721
+ - >@ <|@
722
+ instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v21 v22 #next: v7 <|@ <|@
723
+ f <@~|@floating>@ <|@
724
+ tid v8 <|@
725
+ result v4|QWORD <|@
726
+ d <@d|@=== Debug Properties ===
727
+ isDefaultStable: false
728
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
729
+ rawvalue: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
730
+ stableDimension: 0
731
+ stamp: Klass*!
732
+ stampKind: Klass*
733
+ value: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
734
+ === Inputs ===
735
+ === Succesors ===
736
+ === Usages ===
737
+ v11
738
+ === Predecessor ===
739
+ - >@ <|@
740
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
741
+ f <@~|@floating>@ <|@
742
+ tid v11 <|@
743
+ d <@d|@=== Debug Properties ===
744
+ condition: EQ
745
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
746
+ stamp: void
747
+ unorderedIsTrue: false
748
+ === Inputs ===
749
+ x: v33
750
+ y: v8
751
+ === Succesors ===
752
+ === Usages ===
753
+ i19
754
+ === Predecessor ===
755
+ - >@ <|@
756
+ instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v33 y: v8 <|@ <|@
757
+ f <@~|@floating>@ <|@
758
+ tid i4 <|@
759
+ result int[1|0x1] <|@
760
+ d <@d|@=== Debug Properties ===
761
+ isDefaultStable: false
762
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
763
+ rawvalue: 1
764
+ stableDimension: 0
765
+ stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
766
+ stampKind: i32
767
+ value: int[1|0x1]
768
+ === Inputs ===
769
+ === Succesors ===
770
+ === Usages ===
771
+ i19
772
+ === Predecessor ===
773
+ - >@ <|@
774
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
775
+ f <@~|@floating>@ <|@
776
+ tid i5 <|@
777
+ result int[0|0x0] <|@
778
+ d <@d|@=== Debug Properties ===
779
+ isDefaultStable: false
780
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
781
+ rawvalue: 0
782
+ stableDimension: 0
783
+ stamp: i32 [0] ⇈0000000000000000
784
+ stampKind: i32
785
+ value: int[0|0x0]
786
+ === Inputs ===
787
+ === Succesors ===
788
+ === Usages ===
789
+ i19
790
+ === Predecessor ===
791
+ - >@ <|@
792
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
793
+ f <@~|@floating>@ <|@
794
+ tid i19 <|@
795
+ result v5|DWORD <|@
796
+ d <@d|@=== Debug Properties ===
797
+ nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofExact(InstanceOfSnippets.java:140) [bci: 0]
798
+ at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
799
+ stamp: i32 [0 - 1] ⇈0000000000000001
800
+ === Inputs ===
801
+ condition: v11
802
+ trueValue: i4
803
+ falseValue: i5
804
+ === Succesors ===
805
+ === Usages ===
806
+ v7
807
+ === Predecessor ===
808
+ - >@ <|@
809
+ instruction <@Conditional|@org.graalvm.compiler.nodes.calc.ConditionalNode>@ condition: v11 trueValue: i4 falseValue: i5 <|@ <|@
810
+ f <@*|@fixed>@ <|@
811
+ tid v7 <|@
812
+ d <@d|@=== Debug Properties ===
813
+ nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 4]
814
+ stamp: void
815
+ === Inputs ===
816
+ result: i19
817
+ memoryMap: -
818
+ === Succesors ===
819
+ === Usages ===
820
+ === Predecessor ===
821
+ v26 >@ <|@
822
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i19 memoryMap: - <|@ <|@
823
+ end_IR
824
+ begin_IR
825
+ LIR
826
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
827
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
828
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
829
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
830
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
831
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
832
+ end_IR
833
+ end_block
834
+ end_cfg
835
+ begin_cfg
836
+ name "After ConstantLoadOptimization"
837
+ begin_block
838
+ name "B0"
839
+ from_bci -1
840
+ to_bci -1
841
+ predecessors
842
+ successors "B1" "B2"
843
+ xhandlers
844
+ flags
845
+ probability 4607182418800017408
846
+ begin_IR
847
+ LIR
848
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
849
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
850
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
851
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
852
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
853
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
854
+ end_IR
855
+ end_block
856
+ begin_block
857
+ name "B2"
858
+ from_bci -1
859
+ to_bci -1
860
+ predecessors "B0"
861
+ successors "B3"
862
+ xhandlers
863
+ flags
864
+ probability 4602678819172646912
865
+ begin_IR
866
+ LIR
867
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
868
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
869
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
870
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
871
+ end_IR
872
+ end_block
873
+ begin_block
874
+ name "B3"
875
+ from_bci -1
876
+ to_bci -1
877
+ predecessors "B1" "B2"
878
+ successors
879
+ xhandlers
880
+ flags
881
+ probability 4607182418800017408
882
+ begin_IR
883
+ LIR
884
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
885
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
886
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
887
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
888
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
889
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
890
+ end_IR
891
+ end_block
892
+ begin_block
893
+ name "B1"
894
+ from_bci -1
895
+ to_bci -1
896
+ predecessors "B0"
897
+ successors "B3"
898
+ xhandlers
899
+ flags
900
+ probability 4602678819172646912
901
+ begin_IR
902
+ LIR
903
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
904
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
905
+ end_IR
906
+ end_block
907
+ end_cfg
908
+ begin_bytecodes
909
+ 0: aload_0
910
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
911
+ 4: ireturn
912
+ <|@
913
+ end_bytecodes
914
+ begin_cfg
915
+ name "After SaveCalleeSaveRegisters"
916
+ begin_block
917
+ name "B0"
918
+ from_bci -1
919
+ to_bci -1
920
+ predecessors
921
+ successors "B1" "B2"
922
+ xhandlers
923
+ flags
924
+ probability 4607182418800017408
925
+ begin_IR
926
+ LIR
927
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
928
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
929
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
930
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
931
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
932
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
933
+ end_IR
934
+ end_block
935
+ begin_block
936
+ name "B2"
937
+ from_bci -1
938
+ to_bci -1
939
+ predecessors "B0"
940
+ successors "B3"
941
+ xhandlers
942
+ flags
943
+ probability 4602678819172646912
944
+ begin_IR
945
+ LIR
946
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
947
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
948
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
949
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
950
+ end_IR
951
+ end_block
952
+ begin_block
953
+ name "B3"
954
+ from_bci -1
955
+ to_bci -1
956
+ predecessors "B1" "B2"
957
+ successors
958
+ xhandlers
959
+ flags
960
+ probability 4607182418800017408
961
+ begin_IR
962
+ LIR
963
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
964
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
965
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
966
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
967
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
968
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
969
+ end_IR
970
+ end_block
971
+ begin_block
972
+ name "B1"
973
+ from_bci -1
974
+ to_bci -1
975
+ predecessors "B0"
976
+ successors "B3"
977
+ xhandlers
978
+ flags
979
+ probability 4602678819172646912
980
+ begin_IR
981
+ LIR
982
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
983
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
984
+ end_IR
985
+ end_block
986
+ end_cfg
987
+ begin_bytecodes
988
+ 0: aload_0
989
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
990
+ 4: ireturn
991
+ <|@
992
+ end_bytecodes
993
+ begin_cfg
994
+ name "After PreAllocationOptimizationStage"
995
+ begin_block
996
+ name "B0"
997
+ from_bci -1
998
+ to_bci -1
999
+ predecessors
1000
+ successors "B1" "B2"
1001
+ xhandlers
1002
+ flags
1003
+ probability 4607182418800017408
1004
+ begin_IR
1005
+ LIR
1006
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1007
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1008
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1009
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1010
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1011
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1012
+ end_IR
1013
+ end_block
1014
+ begin_block
1015
+ name "B2"
1016
+ from_bci -1
1017
+ to_bci -1
1018
+ predecessors "B0"
1019
+ successors "B3"
1020
+ xhandlers
1021
+ flags
1022
+ probability 4602678819172646912
1023
+ begin_IR
1024
+ LIR
1025
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1026
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1027
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1028
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1029
+ end_IR
1030
+ end_block
1031
+ begin_block
1032
+ name "B3"
1033
+ from_bci -1
1034
+ to_bci -1
1035
+ predecessors "B1" "B2"
1036
+ successors
1037
+ xhandlers
1038
+ flags
1039
+ probability 4607182418800017408
1040
+ begin_IR
1041
+ LIR
1042
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1043
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1044
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1045
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1046
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1047
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1048
+ end_IR
1049
+ end_block
1050
+ begin_block
1051
+ name "B1"
1052
+ from_bci -1
1053
+ to_bci -1
1054
+ predecessors "B0"
1055
+ successors "B3"
1056
+ xhandlers
1057
+ flags
1058
+ probability 4602678819172646912
1059
+ begin_IR
1060
+ LIR
1061
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1062
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1063
+ end_IR
1064
+ end_block
1065
+ end_cfg
1066
+ begin_bytecodes
1067
+ 0: aload_0
1068
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1069
+ 4: ireturn
1070
+ <|@
1071
+ end_bytecodes
1072
+ begin_cfg
1073
+ name "After MarkBasePointers"
1074
+ begin_block
1075
+ name "B0"
1076
+ from_bci -1
1077
+ to_bci -1
1078
+ predecessors
1079
+ successors "B1" "B2"
1080
+ xhandlers
1081
+ flags
1082
+ probability 4607182418800017408
1083
+ begin_IR
1084
+ LIR
1085
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1086
+ nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1087
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1088
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1089
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1090
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1091
+ end_IR
1092
+ end_block
1093
+ begin_block
1094
+ name "B2"
1095
+ from_bci -1
1096
+ to_bci -1
1097
+ predecessors "B0"
1098
+ successors "B3"
1099
+ xhandlers
1100
+ flags
1101
+ probability 4602678819172646912
1102
+ begin_IR
1103
+ LIR
1104
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1105
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1106
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1107
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1108
+ end_IR
1109
+ end_block
1110
+ begin_block
1111
+ name "B3"
1112
+ from_bci -1
1113
+ to_bci -1
1114
+ predecessors "B1" "B2"
1115
+ successors
1116
+ xhandlers
1117
+ flags
1118
+ probability 4607182418800017408
1119
+ begin_IR
1120
+ LIR
1121
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1122
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1123
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1124
+ nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1125
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1126
+ nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1127
+ end_IR
1128
+ end_block
1129
+ begin_block
1130
+ name "B1"
1131
+ from_bci -1
1132
+ to_bci -1
1133
+ predecessors "B0"
1134
+ successors "B3"
1135
+ xhandlers
1136
+ flags
1137
+ probability 4602678819172646912
1138
+ begin_IR
1139
+ LIR
1140
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1141
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1142
+ end_IR
1143
+ end_block
1144
+ end_cfg
1145
+ begin_bytecodes
1146
+ 0: aload_0
1147
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1148
+ 4: ireturn
1149
+ <|@
1150
+ end_bytecodes
1151
+ begin_cfg
1152
+ name "Before register allocation"
1153
+ begin_block
1154
+ name "B0"
1155
+ from_bci -1
1156
+ to_bci -1
1157
+ predecessors
1158
+ successors "B1" "B2"
1159
+ xhandlers
1160
+ flags
1161
+ probability 4607182418800017408
1162
+ begin_IR
1163
+ LIR
1164
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1165
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1166
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1167
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1168
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1169
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1170
+ end_IR
1171
+ end_block
1172
+ begin_block
1173
+ name "B2"
1174
+ from_bci -1
1175
+ to_bci -1
1176
+ predecessors "B0"
1177
+ successors "B3"
1178
+ xhandlers
1179
+ flags
1180
+ probability 4602678819172646912
1181
+ begin_IR
1182
+ LIR
1183
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1184
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1185
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1186
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1187
+ end_IR
1188
+ end_block
1189
+ begin_block
1190
+ name "B3"
1191
+ from_bci -1
1192
+ to_bci -1
1193
+ predecessors "B1" "B2"
1194
+ successors
1195
+ xhandlers
1196
+ flags
1197
+ probability 4607182418800017408
1198
+ begin_IR
1199
+ LIR
1200
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1201
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1202
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1203
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1204
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1205
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1206
+ end_IR
1207
+ end_block
1208
+ begin_block
1209
+ name "B1"
1210
+ from_bci -1
1211
+ to_bci -1
1212
+ predecessors "B0"
1213
+ successors "B3"
1214
+ xhandlers
1215
+ flags
1216
+ probability 4602678819172646912
1217
+ begin_IR
1218
+ LIR
1219
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1220
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1221
+ end_IR
1222
+ end_block
1223
+ end_cfg
1224
+ begin_bytecodes
1225
+ 0: aload_0
1226
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1227
+ 4: ireturn
1228
+ <|@
1229
+ end_bytecodes
1230
+ begin_cfg
1231
+ name "After SSALinearScanLifetimeAnalysis"
1232
+ begin_block
1233
+ name "B0"
1234
+ from_bci -1
1235
+ to_bci -1
1236
+ predecessors
1237
+ successors "B1" "B2"
1238
+ xhandlers
1239
+ flags
1240
+ probability 4607182418800017408
1241
+ begin_IR
1242
+ LIR
1243
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1244
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1245
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1246
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1247
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1248
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1249
+ end_IR
1250
+ end_block
1251
+ begin_block
1252
+ name "B2"
1253
+ from_bci -1
1254
+ to_bci -1
1255
+ predecessors "B0"
1256
+ successors "B3"
1257
+ xhandlers
1258
+ flags
1259
+ probability 4602678819172646912
1260
+ begin_IR
1261
+ LIR
1262
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1263
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1264
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1265
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1266
+ end_IR
1267
+ end_block
1268
+ begin_block
1269
+ name "B3"
1270
+ from_bci -1
1271
+ to_bci -1
1272
+ predecessors "B1" "B2"
1273
+ successors
1274
+ xhandlers
1275
+ flags
1276
+ probability 4607182418800017408
1277
+ begin_IR
1278
+ LIR
1279
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1280
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1281
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1282
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1283
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1284
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1285
+ end_IR
1286
+ end_block
1287
+ begin_block
1288
+ name "B1"
1289
+ from_bci -1
1290
+ to_bci -1
1291
+ predecessors "B0"
1292
+ successors "B3"
1293
+ xhandlers
1294
+ flags
1295
+ probability 4602678819172646912
1296
+ begin_IR
1297
+ LIR
1298
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1299
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1300
+ end_IR
1301
+ end_block
1302
+ end_cfg
1303
+ begin_bytecodes
1304
+ 0: aload_0
1305
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1306
+ 4: ireturn
1307
+ <|@
1308
+ end_bytecodes
1309
+ begin_intervals
1310
+ name "Before register allocation"
1311
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
1312
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1313
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
1314
+ v0|q QWORD "[v0|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
1315
+ v1|d DWORD "[v1|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1316
+ v2|q QWORD "[v2|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1317
+ v3|q QWORD "[v3|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1318
+ v4|q QWORD "[v4|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1319
+ v5|d DWORD "[v5|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
1320
+ v6|q QWORD "[v6|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1321
+ end_intervals
1322
+ begin_intervals
1323
+ name "After register allocation"
1324
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
1325
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1326
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
1327
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
1328
+ v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1329
+ v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1330
+ v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1331
+ v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1332
+ v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
1333
+ v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1334
+ end_intervals
1335
+ begin_cfg
1336
+ name "After LinearScanRegisterAllocation"
1337
+ begin_block
1338
+ name "B0"
1339
+ from_bci -1
1340
+ to_bci -1
1341
+ predecessors
1342
+ successors "B1" "B2"
1343
+ xhandlers
1344
+ flags
1345
+ probability 4607182418800017408
1346
+ begin_IR
1347
+ LIR
1348
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1349
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1350
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1351
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1352
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1353
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1354
+ end_IR
1355
+ end_block
1356
+ begin_block
1357
+ name "B2"
1358
+ from_bci -1
1359
+ to_bci -1
1360
+ predecessors "B0"
1361
+ successors "B3"
1362
+ xhandlers
1363
+ flags
1364
+ probability 4602678819172646912
1365
+ begin_IR
1366
+ LIR
1367
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1368
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1369
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1370
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1371
+ end_IR
1372
+ end_block
1373
+ begin_block
1374
+ name "B3"
1375
+ from_bci -1
1376
+ to_bci -1
1377
+ predecessors "B1" "B2"
1378
+ successors
1379
+ xhandlers
1380
+ flags
1381
+ probability 4607182418800017408
1382
+ begin_IR
1383
+ LIR
1384
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1385
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1386
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1387
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1388
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1389
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1390
+ end_IR
1391
+ end_block
1392
+ begin_block
1393
+ name "B1"
1394
+ from_bci -1
1395
+ to_bci -1
1396
+ predecessors "B0"
1397
+ successors "B3"
1398
+ xhandlers
1399
+ flags
1400
+ probability 4602678819172646912
1401
+ begin_IR
1402
+ LIR
1403
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1404
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1405
+ end_IR
1406
+ end_block
1407
+ end_cfg
1408
+ begin_bytecodes
1409
+ 0: aload_0
1410
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1411
+ 4: ireturn
1412
+ <|@
1413
+ end_bytecodes
1414
+ begin_intervals
1415
+ name "After optimize spill position"
1416
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
1417
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1418
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
1419
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
1420
+ v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1421
+ v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1422
+ v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1423
+ v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1424
+ v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
1425
+ v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1426
+ end_intervals
1427
+ begin_cfg
1428
+ name "After LinearScanOptimizeSpillPosition"
1429
+ begin_block
1430
+ name "B0"
1431
+ from_bci -1
1432
+ to_bci -1
1433
+ predecessors
1434
+ successors "B1" "B2"
1435
+ xhandlers
1436
+ flags
1437
+ probability 4607182418800017408
1438
+ begin_IR
1439
+ LIR
1440
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1441
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1442
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1443
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1444
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1445
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1446
+ end_IR
1447
+ end_block
1448
+ begin_block
1449
+ name "B2"
1450
+ from_bci -1
1451
+ to_bci -1
1452
+ predecessors "B0"
1453
+ successors "B3"
1454
+ xhandlers
1455
+ flags
1456
+ probability 4602678819172646912
1457
+ begin_IR
1458
+ LIR
1459
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1460
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1461
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1462
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1463
+ end_IR
1464
+ end_block
1465
+ begin_block
1466
+ name "B3"
1467
+ from_bci -1
1468
+ to_bci -1
1469
+ predecessors "B1" "B2"
1470
+ successors
1471
+ xhandlers
1472
+ flags
1473
+ probability 4607182418800017408
1474
+ begin_IR
1475
+ LIR
1476
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1477
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1478
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1479
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1480
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1481
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1482
+ end_IR
1483
+ end_block
1484
+ begin_block
1485
+ name "B1"
1486
+ from_bci -1
1487
+ to_bci -1
1488
+ predecessors "B0"
1489
+ successors "B3"
1490
+ xhandlers
1491
+ flags
1492
+ probability 4602678819172646912
1493
+ begin_IR
1494
+ LIR
1495
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1496
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1497
+ end_IR
1498
+ end_block
1499
+ end_cfg
1500
+ begin_bytecodes
1501
+ 0: aload_0
1502
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1503
+ 4: ireturn
1504
+ <|@
1505
+ end_bytecodes
1506
+ begin_intervals
1507
+ name "After resolve data flow"
1508
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
1509
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
1510
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
1511
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
1512
+ v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1513
+ v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1514
+ v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1515
+ v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1516
+ v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
1517
+ v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1518
+ end_intervals
1519
+ begin_cfg
1520
+ name "After SSALinearScanResolveDataFlow"
1521
+ begin_block
1522
+ name "B0"
1523
+ from_bci -1
1524
+ to_bci -1
1525
+ predecessors
1526
+ successors "B1" "B2"
1527
+ xhandlers
1528
+ flags
1529
+ probability 4607182418800017408
1530
+ begin_IR
1531
+ LIR
1532
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1533
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1534
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1535
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1536
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1537
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1538
+ end_IR
1539
+ end_block
1540
+ begin_block
1541
+ name "B2"
1542
+ from_bci -1
1543
+ to_bci -1
1544
+ predecessors "B0"
1545
+ successors "B3"
1546
+ xhandlers
1547
+ flags
1548
+ probability 4602678819172646912
1549
+ begin_IR
1550
+ LIR
1551
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1552
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1553
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1554
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1555
+ end_IR
1556
+ end_block
1557
+ begin_block
1558
+ name "B3"
1559
+ from_bci -1
1560
+ to_bci -1
1561
+ predecessors "B1" "B2"
1562
+ successors
1563
+ xhandlers
1564
+ flags
1565
+ probability 4607182418800017408
1566
+ begin_IR
1567
+ LIR
1568
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1569
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1570
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1571
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1572
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1573
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1574
+ end_IR
1575
+ end_block
1576
+ begin_block
1577
+ name "B1"
1578
+ from_bci -1
1579
+ to_bci -1
1580
+ predecessors "B0"
1581
+ successors "B3"
1582
+ xhandlers
1583
+ flags
1584
+ probability 4602678819172646912
1585
+ begin_IR
1586
+ LIR
1587
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1588
+ nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1589
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1590
+ end_IR
1591
+ end_block
1592
+ end_cfg
1593
+ begin_bytecodes
1594
+ 0: aload_0
1595
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1596
+ 4: ireturn
1597
+ <|@
1598
+ end_bytecodes
1599
+ begin_cfg
1600
+ name "After SSALinearScanEliminateSpillMove"
1601
+ begin_block
1602
+ name "B0"
1603
+ from_bci -1
1604
+ to_bci -1
1605
+ predecessors
1606
+ successors "B1" "B2"
1607
+ xhandlers
1608
+ flags
1609
+ probability 4607182418800017408
1610
+ begin_IR
1611
+ LIR
1612
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1613
+ nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1614
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1615
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1616
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1617
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1618
+ end_IR
1619
+ end_block
1620
+ begin_block
1621
+ name "B2"
1622
+ from_bci -1
1623
+ to_bci -1
1624
+ predecessors "B0"
1625
+ successors "B3"
1626
+ xhandlers
1627
+ flags
1628
+ probability 4602678819172646912
1629
+ begin_IR
1630
+ LIR
1631
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1632
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1633
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1634
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1635
+ end_IR
1636
+ end_block
1637
+ begin_block
1638
+ name "B3"
1639
+ from_bci -1
1640
+ to_bci -1
1641
+ predecessors "B1" "B2"
1642
+ successors
1643
+ xhandlers
1644
+ flags
1645
+ probability 4607182418800017408
1646
+ begin_IR
1647
+ LIR
1648
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1649
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1650
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1651
+ nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
1652
+ nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1653
+ nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1654
+ end_IR
1655
+ end_block
1656
+ begin_block
1657
+ name "B1"
1658
+ from_bci -1
1659
+ to_bci -1
1660
+ predecessors "B0"
1661
+ successors "B3"
1662
+ xhandlers
1663
+ flags
1664
+ probability 4602678819172646912
1665
+ begin_IR
1666
+ LIR
1667
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1668
+ nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1669
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1670
+ end_IR
1671
+ end_block
1672
+ end_cfg
1673
+ begin_bytecodes
1674
+ 0: aload_0
1675
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1676
+ 4: ireturn
1677
+ <|@
1678
+ end_bytecodes
1679
+ begin_cfg
1680
+ name "After LinearScanAssignLocations"
1681
+ begin_block
1682
+ name "B0"
1683
+ from_bci -1
1684
+ to_bci -1
1685
+ predecessors
1686
+ successors "B1" "B2"
1687
+ xhandlers
1688
+ flags
1689
+ probability 4607182418800017408
1690
+ begin_IR
1691
+ LIR
1692
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1693
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1694
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
1695
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1696
+ end_IR
1697
+ end_block
1698
+ begin_block
1699
+ name "B2"
1700
+ from_bci -1
1701
+ to_bci -1
1702
+ predecessors "B0"
1703
+ successors "B3"
1704
+ xhandlers
1705
+ flags
1706
+ probability 4602678819172646912
1707
+ begin_IR
1708
+ LIR
1709
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1710
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
1711
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1712
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1713
+ end_IR
1714
+ end_block
1715
+ begin_block
1716
+ name "B3"
1717
+ from_bci -1
1718
+ to_bci -1
1719
+ predecessors "B1" "B2"
1720
+ successors
1721
+ xhandlers
1722
+ flags
1723
+ probability 4607182418800017408
1724
+ begin_IR
1725
+ LIR
1726
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1727
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1728
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
1729
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
1730
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1731
+ end_IR
1732
+ end_block
1733
+ begin_block
1734
+ name "B1"
1735
+ from_bci -1
1736
+ to_bci -1
1737
+ predecessors "B0"
1738
+ successors "B3"
1739
+ xhandlers
1740
+ flags
1741
+ probability 4602678819172646912
1742
+ begin_IR
1743
+ LIR
1744
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1745
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1746
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1747
+ end_IR
1748
+ end_block
1749
+ end_cfg
1750
+ begin_bytecodes
1751
+ 0: aload_0
1752
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1753
+ 4: ireturn
1754
+ <|@
1755
+ end_bytecodes
1756
+ begin_cfg
1757
+ name "After LinearScan"
1758
+ begin_block
1759
+ name "B0"
1760
+ from_bci -1
1761
+ to_bci -1
1762
+ predecessors
1763
+ successors "B1" "B2"
1764
+ xhandlers
1765
+ flags
1766
+ probability 4607182418800017408
1767
+ begin_IR
1768
+ LIR
1769
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1770
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1771
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
1772
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1773
+ end_IR
1774
+ end_block
1775
+ begin_block
1776
+ name "B2"
1777
+ from_bci -1
1778
+ to_bci -1
1779
+ predecessors "B0"
1780
+ successors "B3"
1781
+ xhandlers
1782
+ flags
1783
+ probability 4602678819172646912
1784
+ begin_IR
1785
+ LIR
1786
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1787
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
1788
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1789
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1790
+ end_IR
1791
+ end_block
1792
+ begin_block
1793
+ name "B3"
1794
+ from_bci -1
1795
+ to_bci -1
1796
+ predecessors "B1" "B2"
1797
+ successors
1798
+ xhandlers
1799
+ flags
1800
+ probability 4607182418800017408
1801
+ begin_IR
1802
+ LIR
1803
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1804
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1805
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
1806
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
1807
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1808
+ end_IR
1809
+ end_block
1810
+ begin_block
1811
+ name "B1"
1812
+ from_bci -1
1813
+ to_bci -1
1814
+ predecessors "B0"
1815
+ successors "B3"
1816
+ xhandlers
1817
+ flags
1818
+ probability 4602678819172646912
1819
+ begin_IR
1820
+ LIR
1821
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1822
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1823
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1824
+ end_IR
1825
+ end_block
1826
+ end_cfg
1827
+ begin_bytecodes
1828
+ 0: aload_0
1829
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1830
+ 4: ireturn
1831
+ <|@
1832
+ end_bytecodes
1833
+ begin_cfg
1834
+ name "After LSStackSlotAllocator"
1835
+ begin_block
1836
+ name "B0"
1837
+ from_bci -1
1838
+ to_bci -1
1839
+ predecessors
1840
+ successors "B1" "B2"
1841
+ xhandlers
1842
+ flags
1843
+ probability 4607182418800017408
1844
+ begin_IR
1845
+ LIR
1846
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1847
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1848
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
1849
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1850
+ end_IR
1851
+ end_block
1852
+ begin_block
1853
+ name "B2"
1854
+ from_bci -1
1855
+ to_bci -1
1856
+ predecessors "B0"
1857
+ successors "B3"
1858
+ xhandlers
1859
+ flags
1860
+ probability 4602678819172646912
1861
+ begin_IR
1862
+ LIR
1863
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1864
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
1865
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1866
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1867
+ end_IR
1868
+ end_block
1869
+ begin_block
1870
+ name "B3"
1871
+ from_bci -1
1872
+ to_bci -1
1873
+ predecessors "B1" "B2"
1874
+ successors
1875
+ xhandlers
1876
+ flags
1877
+ probability 4607182418800017408
1878
+ begin_IR
1879
+ LIR
1880
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1881
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1882
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
1883
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
1884
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1885
+ end_IR
1886
+ end_block
1887
+ begin_block
1888
+ name "B1"
1889
+ from_bci -1
1890
+ to_bci -1
1891
+ predecessors "B0"
1892
+ successors "B3"
1893
+ xhandlers
1894
+ flags
1895
+ probability 4602678819172646912
1896
+ begin_IR
1897
+ LIR
1898
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1899
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1900
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1901
+ end_IR
1902
+ end_block
1903
+ end_cfg
1904
+ begin_bytecodes
1905
+ 0: aload_0
1906
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1907
+ 4: ireturn
1908
+ <|@
1909
+ end_bytecodes
1910
+ begin_cfg
1911
+ name "After LocationMarker"
1912
+ begin_block
1913
+ name "B0"
1914
+ from_bci -1
1915
+ to_bci -1
1916
+ predecessors
1917
+ successors "B1" "B2"
1918
+ xhandlers
1919
+ flags
1920
+ probability 4607182418800017408
1921
+ begin_IR
1922
+ LIR
1923
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1924
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
1925
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
1926
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1927
+ end_IR
1928
+ end_block
1929
+ begin_block
1930
+ name "B2"
1931
+ from_bci -1
1932
+ to_bci -1
1933
+ predecessors "B0"
1934
+ successors "B3"
1935
+ xhandlers
1936
+ flags
1937
+ probability 4602678819172646912
1938
+ begin_IR
1939
+ LIR
1940
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1941
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
1942
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
1943
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
1944
+ end_IR
1945
+ end_block
1946
+ begin_block
1947
+ name "B3"
1948
+ from_bci -1
1949
+ to_bci -1
1950
+ predecessors "B1" "B2"
1951
+ successors
1952
+ xhandlers
1953
+ flags
1954
+ probability 4607182418800017408
1955
+ begin_IR
1956
+ LIR
1957
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1958
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1959
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
1960
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
1961
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
1962
+ end_IR
1963
+ end_block
1964
+ begin_block
1965
+ name "B1"
1966
+ from_bci -1
1967
+ to_bci -1
1968
+ predecessors "B0"
1969
+ successors "B3"
1970
+ xhandlers
1971
+ flags
1972
+ probability 4602678819172646912
1973
+ begin_IR
1974
+ LIR
1975
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1976
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
1977
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
1978
+ end_IR
1979
+ end_block
1980
+ end_cfg
1981
+ begin_bytecodes
1982
+ 0: aload_0
1983
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
1984
+ 4: ireturn
1985
+ <|@
1986
+ end_bytecodes
1987
+ begin_cfg
1988
+ name "After AllocationStage"
1989
+ begin_block
1990
+ name "B0"
1991
+ from_bci -1
1992
+ to_bci -1
1993
+ predecessors
1994
+ successors "B1" "B2"
1995
+ xhandlers
1996
+ flags
1997
+ probability 4607182418800017408
1998
+ begin_IR
1999
+ LIR
2000
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2001
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2002
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2003
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2004
+ end_IR
2005
+ end_block
2006
+ begin_block
2007
+ name "B2"
2008
+ from_bci -1
2009
+ to_bci -1
2010
+ predecessors "B0"
2011
+ successors "B3"
2012
+ xhandlers
2013
+ flags
2014
+ probability 4602678819172646912
2015
+ begin_IR
2016
+ LIR
2017
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2018
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2019
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2020
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2021
+ end_IR
2022
+ end_block
2023
+ begin_block
2024
+ name "B3"
2025
+ from_bci -1
2026
+ to_bci -1
2027
+ predecessors "B1" "B2"
2028
+ successors
2029
+ xhandlers
2030
+ flags
2031
+ probability 4607182418800017408
2032
+ begin_IR
2033
+ LIR
2034
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2035
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2036
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2037
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2038
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2039
+ end_IR
2040
+ end_block
2041
+ begin_block
2042
+ name "B1"
2043
+ from_bci -1
2044
+ to_bci -1
2045
+ predecessors "B0"
2046
+ successors "B3"
2047
+ xhandlers
2048
+ flags
2049
+ probability 4602678819172646912
2050
+ begin_IR
2051
+ LIR
2052
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2053
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2054
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2055
+ end_IR
2056
+ end_block
2057
+ end_cfg
2058
+ begin_bytecodes
2059
+ 0: aload_0
2060
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2061
+ 4: ireturn
2062
+ <|@
2063
+ end_bytecodes
2064
+ begin_cfg
2065
+ name "After EdgeMoveOptimizer"
2066
+ begin_block
2067
+ name "B0"
2068
+ from_bci -1
2069
+ to_bci -1
2070
+ predecessors
2071
+ successors "B1" "B2"
2072
+ xhandlers
2073
+ flags
2074
+ probability 4607182418800017408
2075
+ begin_IR
2076
+ LIR
2077
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2078
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2079
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2080
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2081
+ end_IR
2082
+ end_block
2083
+ begin_block
2084
+ name "B2"
2085
+ from_bci -1
2086
+ to_bci -1
2087
+ predecessors "B0"
2088
+ successors "B3"
2089
+ xhandlers
2090
+ flags
2091
+ probability 4602678819172646912
2092
+ begin_IR
2093
+ LIR
2094
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2095
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2096
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2097
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2098
+ end_IR
2099
+ end_block
2100
+ begin_block
2101
+ name "B3"
2102
+ from_bci -1
2103
+ to_bci -1
2104
+ predecessors "B1" "B2"
2105
+ successors
2106
+ xhandlers
2107
+ flags
2108
+ probability 4607182418800017408
2109
+ begin_IR
2110
+ LIR
2111
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2112
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2113
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2114
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2115
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2116
+ end_IR
2117
+ end_block
2118
+ begin_block
2119
+ name "B1"
2120
+ from_bci -1
2121
+ to_bci -1
2122
+ predecessors "B0"
2123
+ successors "B3"
2124
+ xhandlers
2125
+ flags
2126
+ probability 4602678819172646912
2127
+ begin_IR
2128
+ LIR
2129
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2130
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2131
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2132
+ end_IR
2133
+ end_block
2134
+ end_cfg
2135
+ begin_bytecodes
2136
+ 0: aload_0
2137
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2138
+ 4: ireturn
2139
+ <|@
2140
+ end_bytecodes
2141
+ begin_cfg
2142
+ name "After ControlFlowOptimizer"
2143
+ begin_block
2144
+ name "B0"
2145
+ from_bci -1
2146
+ to_bci -1
2147
+ predecessors
2148
+ successors "B1" "B2"
2149
+ xhandlers
2150
+ flags
2151
+ probability 4607182418800017408
2152
+ begin_IR
2153
+ LIR
2154
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2155
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2156
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2157
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2158
+ end_IR
2159
+ end_block
2160
+ begin_block
2161
+ name "B2"
2162
+ from_bci -1
2163
+ to_bci -1
2164
+ predecessors "B0"
2165
+ successors "B3"
2166
+ xhandlers
2167
+ flags
2168
+ probability 4602678819172646912
2169
+ begin_IR
2170
+ LIR
2171
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2172
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2173
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2174
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2175
+ end_IR
2176
+ end_block
2177
+ begin_block
2178
+ name "B3"
2179
+ from_bci -1
2180
+ to_bci -1
2181
+ predecessors "B1" "B2"
2182
+ successors
2183
+ xhandlers
2184
+ flags
2185
+ probability 4607182418800017408
2186
+ begin_IR
2187
+ LIR
2188
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2189
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2190
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2191
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2192
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2193
+ end_IR
2194
+ end_block
2195
+ begin_block
2196
+ name "B1"
2197
+ from_bci -1
2198
+ to_bci -1
2199
+ predecessors "B0"
2200
+ successors "B3"
2201
+ xhandlers
2202
+ flags
2203
+ probability 4602678819172646912
2204
+ begin_IR
2205
+ LIR
2206
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2207
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2208
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2209
+ end_IR
2210
+ end_block
2211
+ end_cfg
2212
+ begin_bytecodes
2213
+ 0: aload_0
2214
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2215
+ 4: ireturn
2216
+ <|@
2217
+ end_bytecodes
2218
+ begin_cfg
2219
+ name "After RedundantMoveElimination"
2220
+ begin_block
2221
+ name "B0"
2222
+ from_bci -1
2223
+ to_bci -1
2224
+ predecessors
2225
+ successors "B1" "B2"
2226
+ xhandlers
2227
+ flags
2228
+ probability 4607182418800017408
2229
+ begin_IR
2230
+ LIR
2231
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2232
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2233
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2234
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2235
+ end_IR
2236
+ end_block
2237
+ begin_block
2238
+ name "B2"
2239
+ from_bci -1
2240
+ to_bci -1
2241
+ predecessors "B0"
2242
+ successors "B3"
2243
+ xhandlers
2244
+ flags
2245
+ probability 4602678819172646912
2246
+ begin_IR
2247
+ LIR
2248
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2249
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2250
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2251
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2252
+ end_IR
2253
+ end_block
2254
+ begin_block
2255
+ name "B3"
2256
+ from_bci -1
2257
+ to_bci -1
2258
+ predecessors "B1" "B2"
2259
+ successors
2260
+ xhandlers
2261
+ flags
2262
+ probability 4607182418800017408
2263
+ begin_IR
2264
+ LIR
2265
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2266
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2267
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2268
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2269
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2270
+ end_IR
2271
+ end_block
2272
+ begin_block
2273
+ name "B1"
2274
+ from_bci -1
2275
+ to_bci -1
2276
+ predecessors "B0"
2277
+ successors "B3"
2278
+ xhandlers
2279
+ flags
2280
+ probability 4602678819172646912
2281
+ begin_IR
2282
+ LIR
2283
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2284
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2285
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2286
+ end_IR
2287
+ end_block
2288
+ end_cfg
2289
+ begin_bytecodes
2290
+ 0: aload_0
2291
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2292
+ 4: ireturn
2293
+ <|@
2294
+ end_bytecodes
2295
+ begin_cfg
2296
+ name "After NullCheckOptimizer"
2297
+ begin_block
2298
+ name "B0"
2299
+ from_bci -1
2300
+ to_bci -1
2301
+ predecessors
2302
+ successors "B1" "B2"
2303
+ xhandlers
2304
+ flags
2305
+ probability 4607182418800017408
2306
+ begin_IR
2307
+ LIR
2308
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2309
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2310
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2311
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2312
+ end_IR
2313
+ end_block
2314
+ begin_block
2315
+ name "B2"
2316
+ from_bci -1
2317
+ to_bci -1
2318
+ predecessors "B0"
2319
+ successors "B3"
2320
+ xhandlers
2321
+ flags
2322
+ probability 4602678819172646912
2323
+ begin_IR
2324
+ LIR
2325
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2326
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2327
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2328
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2329
+ end_IR
2330
+ end_block
2331
+ begin_block
2332
+ name "B3"
2333
+ from_bci -1
2334
+ to_bci -1
2335
+ predecessors "B1" "B2"
2336
+ successors
2337
+ xhandlers
2338
+ flags
2339
+ probability 4607182418800017408
2340
+ begin_IR
2341
+ LIR
2342
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2343
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2344
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2345
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2346
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2347
+ end_IR
2348
+ end_block
2349
+ begin_block
2350
+ name "B1"
2351
+ from_bci -1
2352
+ to_bci -1
2353
+ predecessors "B0"
2354
+ successors "B3"
2355
+ xhandlers
2356
+ flags
2357
+ probability 4602678819172646912
2358
+ begin_IR
2359
+ LIR
2360
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2361
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2362
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2363
+ end_IR
2364
+ end_block
2365
+ end_cfg
2366
+ begin_bytecodes
2367
+ 0: aload_0
2368
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2369
+ 4: ireturn
2370
+ <|@
2371
+ end_bytecodes
2372
+ begin_cfg
2373
+ name "After StackMoveOptimization"
2374
+ begin_block
2375
+ name "B0"
2376
+ from_bci -1
2377
+ to_bci -1
2378
+ predecessors
2379
+ successors "B1" "B2"
2380
+ xhandlers
2381
+ flags
2382
+ probability 4607182418800017408
2383
+ begin_IR
2384
+ LIR
2385
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2386
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2387
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2388
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2389
+ end_IR
2390
+ end_block
2391
+ begin_block
2392
+ name "B2"
2393
+ from_bci -1
2394
+ to_bci -1
2395
+ predecessors "B0"
2396
+ successors "B3"
2397
+ xhandlers
2398
+ flags
2399
+ probability 4602678819172646912
2400
+ begin_IR
2401
+ LIR
2402
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2403
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2404
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2405
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2406
+ end_IR
2407
+ end_block
2408
+ begin_block
2409
+ name "B3"
2410
+ from_bci -1
2411
+ to_bci -1
2412
+ predecessors "B1" "B2"
2413
+ successors
2414
+ xhandlers
2415
+ flags
2416
+ probability 4607182418800017408
2417
+ begin_IR
2418
+ LIR
2419
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2420
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2421
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2422
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2423
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2424
+ end_IR
2425
+ end_block
2426
+ begin_block
2427
+ name "B1"
2428
+ from_bci -1
2429
+ to_bci -1
2430
+ predecessors "B0"
2431
+ successors "B3"
2432
+ xhandlers
2433
+ flags
2434
+ probability 4602678819172646912
2435
+ begin_IR
2436
+ LIR
2437
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2438
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2439
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2440
+ end_IR
2441
+ end_block
2442
+ end_cfg
2443
+ begin_bytecodes
2444
+ 0: aload_0
2445
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2446
+ 4: ireturn
2447
+ <|@
2448
+ end_bytecodes
2449
+ begin_cfg
2450
+ name "After PostAllocationOptimizationStage"
2451
+ begin_block
2452
+ name "B0"
2453
+ from_bci -1
2454
+ to_bci -1
2455
+ predecessors
2456
+ successors "B1" "B2"
2457
+ xhandlers
2458
+ flags
2459
+ probability 4607182418800017408
2460
+ begin_IR
2461
+ LIR
2462
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2463
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
2464
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2465
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2466
+ end_IR
2467
+ end_block
2468
+ begin_block
2469
+ name "B2"
2470
+ from_bci -1
2471
+ to_bci -1
2472
+ predecessors "B0"
2473
+ successors "B3"
2474
+ xhandlers
2475
+ flags
2476
+ probability 4602678819172646912
2477
+ begin_IR
2478
+ LIR
2479
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2480
+ nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2481
+ nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
2482
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2483
+ end_IR
2484
+ end_block
2485
+ begin_block
2486
+ name "B3"
2487
+ from_bci -1
2488
+ to_bci -1
2489
+ predecessors "B1" "B2"
2490
+ successors
2491
+ xhandlers
2492
+ flags
2493
+ probability 4607182418800017408
2494
+ begin_IR
2495
+ LIR
2496
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2497
+ nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2498
+ nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
2499
+ nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
2500
+ nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
2501
+ end_IR
2502
+ end_block
2503
+ begin_block
2504
+ name "B1"
2505
+ from_bci -1
2506
+ to_bci -1
2507
+ predecessors "B0"
2508
+ successors "B3"
2509
+ xhandlers
2510
+ flags
2511
+ probability 4602678819172646912
2512
+ begin_IR
2513
+ LIR
2514
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2515
+ nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2516
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2517
+ end_IR
2518
+ end_block
2519
+ end_cfg
2520
+ begin_bytecodes
2521
+ 0: aload_0
2522
+ 1: instanceof #83 // JavaExamples$InterfaceOneImpl
2523
+ 4: ireturn
2524
+ <|@
2525
+ end_bytecodes
2526
+ begin_cfg
2527
+ name "After code generation"
2528
+ end_cfg
2529
+ begin_nmethod
2530
+ <<<HexCodeFile
2531
+ Platform AMD64 64 <||@
2532
+ HexCode 0 0f1f4400004885f60f84240000008b460848c1e00349baaddeaddeaddeadde4c3bd00f94c00fb6c0850500000000c5f877c348c7c000000000ebdae80000000090e80000000090 <||@
2533
+ Comment 0 3 <||@
2534
+ Comment 0 1 <||@
2535
+ Comment 5 block B0 null <||@
2536
+ Comment 5 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
2537
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <||@
2538
+ Comment 5 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
2539
+ Comment 8 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
2540
+ Comment 14 block B2 null <||@
2541
+ Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
2542
+ Comment 14 14 rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
2543
+ Comment 17 16 rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <||@
2544
+ Comment 21 18 JUMP ~[] destination: B2 -> B3 <||@
2545
+ Comment 21 block B3 null <||@
2546
+ Comment 21 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
2547
+ Comment 21 26 r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
2548
+ Comment 21 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
2549
+ Comment 31 28 CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <||@
2550
+ Comment 34 30 rax|DWORD = SETCC condition: = <||@
2551
+ Comment 40 34 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <||@
2552
+ Comment 40 12 <||@
2553
+ Comment 50 block B1 null <||@
2554
+ Comment 50 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
2555
+ Comment 50 -1 rax|QWORD = MOVE input: Object[null] <||@
2556
+ Comment 57 22 JUMP ~[] destination: B1 -> B3 <||@
2557
+ Comment 59 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
2558
+ Comment 59 4 <||@
2559
+ Comment 65 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
2560
+ Comment 65 5 <||@
2561
+ HexCodeFile>>> <|@
2562
+ end_nmethod
2563
+ begin_compilation
2564
+ name " HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
2565
+ method "HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
2566
+ date 1583840238008
2567
+ end_compilation
2568
+ begin_cfg
2569
+ name "After code installation"
2570
+ end_cfg
2571
+ begin_nmethod
2572
+ <<<HexCodeFile
2573
+ Platform AMD64 64 <||@
2574
+ HexCode 1100a9160 0f1f4400004885f60f84240000008b460848c1e00349ba280806c0070000004c3bd00f94c00fb6c0850578ae1ff2c5f877c348c7c000000000ebdae80011ffff90e89af0eaff90f4 <||@
2575
+ Comment 0 3 <||@
2576
+ Comment 0 1 <||@
2577
+ Comment 5 block B0 null <||@
2578
+ Comment 5 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
2579
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <||@
2580
+ Comment 5 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
2581
+ Comment 8 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
2582
+ Comment 14 block B2 null <||@
2583
+ Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
2584
+ Comment 14 14 rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
2585
+ Comment 17 16 rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <||@
2586
+ Comment 21 18 JUMP ~[] destination: B2 -> B3 <||@
2587
+ Comment 21 block B3 null <||@
2588
+ Comment 21 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
2589
+ Comment 21 26 r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
2590
+ Comment 21 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
2591
+ Comment 31 28 CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <||@
2592
+ Comment 34 30 rax|DWORD = SETCC condition: = <||@
2593
+ Comment 40 34 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <||@
2594
+ Comment 40 12 <||@
2595
+ Comment 50 block B1 null <||@
2596
+ Comment 50 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
2597
+ Comment 50 -1 rax|QWORD = MOVE input: Object[null] <||@
2598
+ Comment 57 22 JUMP ~[] destination: B1 -> B3 <||@
2599
+ Comment 59 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0:CallingConvention[rax|QWORD[.], rdx|QWORD]:CallingConvention[rax|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,xmm14|ILLEGAL,xmm15|ILLEGAL,xmm12|ILLEGAL,xmm13|ILLEGAL,xmm10|ILLEGAL,xmm11|ILLEGAL,xmm7|ILLEGAL,xmm8|ILLEGAL,xmm9|ILLEGAL,xmm0|ILLEGAL,xmm1|ILLEGAL,xmm2|ILLEGAL,xmm3|ILLEGAL,xmm4|ILLEGAL,xmm5|ILLEGAL,xmm6|ILLEGAL,rax|ILLEGAL,rcx|ILLEGAL,rdx|ILLEGAL,rsi|ILLEGAL,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL} <||@
2600
+ Comment 59 4 <||@
2601
+ Comment 65 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
2602
+ Comment 65 5 <||@
2603
+ HexCodeFile>>> <|@
2604
+ end_nmethod