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,3859 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-360[JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)]"
3
+ method "HotSpotCompilation-360[JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)]"
4
+ date 1583840237783
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: v37
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v37 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid a1 <|@
34
+ d <@d|@=== Debug Properties ===
35
+ index: 0
36
+ stamp: a -
37
+ uncheckedStamp: a# LJavaExamples$OneImpl;
38
+ === Inputs ===
39
+ === Succesors ===
40
+ === Usages ===
41
+ ?2 v11 v47 v32
42
+ === Predecessor ===
43
+ - >@ <|@
44
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
+ f <@~|@floating>@ <|@
46
+ tid v32 <|@
47
+ d <@d|@=== Debug Properties ===
48
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
49
+ nullConstant: Object[null]
50
+ stamp: void
51
+ === Inputs ===
52
+ value: a1
53
+ === Succesors ===
54
+ === Usages ===
55
+ v37
56
+ === Predecessor ===
57
+ - >@ <|@
58
+ instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
59
+ f <@*|@fixed>@ <|@
60
+ tid v37 <|@
61
+ d <@d|@=== Debug Properties ===
62
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
63
+ stamp: void
64
+ trueSuccessorProbability: 0.5
65
+ === Inputs ===
66
+ condition: v32
67
+ === Succesors ===
68
+ trueSuccessor: v35
69
+ falseSuccessor: v36
70
+ === Usages ===
71
+ === Predecessor ===
72
+ v0 >@ <|@
73
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v32 #trueSuccessor: v35 #falseSuccessor: v36 <|@ <|@
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 v35 <|@
89
+ d <@d|@=== Debug Properties ===
90
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
91
+ stamp: void
92
+ withSpeculationFence: false
93
+ === Inputs ===
94
+ === Succesors ===
95
+ next: v33
96
+ === Usages ===
97
+ === Predecessor ===
98
+ v37 >@ <|@
99
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v33 <|@ <|@
100
+ f <@~|@floating>@ <|@
101
+ tid v39 <|@
102
+ d <@d|@=== Debug Properties ===
103
+ isDefaultStable: false
104
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [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
+ v45
114
+ === Predecessor ===
115
+ - >@ <|@
116
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
117
+ f <@*|@fixed>@ <|@
118
+ tid v33 <|@
119
+ d <@d|@=== Debug Properties ===
120
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
121
+ stamp: void
122
+ === Inputs ===
123
+ === Succesors ===
124
+ === Usages ===
125
+ v38
126
+ === Predecessor ===
127
+ v35 >@ <|@
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 v36 <|@
144
+ d <@d|@=== Debug Properties ===
145
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
146
+ stamp: void
147
+ withSpeculationFence: false
148
+ === Inputs ===
149
+ === Succesors ===
150
+ next: v46
151
+ === Usages ===
152
+ === Predecessor ===
153
+ v37 >@ <|@
154
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v46 <|@ <|@
155
+ f <@~|@floating>@ <|@
156
+ tid v47 <|@
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
+ v46
167
+ === Predecessor ===
168
+ - >@ <|@
169
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
170
+ f <@#|@fixed with next>@ <|@
171
+ tid v46 <|@
172
+ d <@d|@=== Debug Properties ===
173
+ barrierType: NONE
174
+ forceFixed: false
175
+ location: CompressedHub:final
176
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
177
+ nullCheck: false
178
+ stamp: Klass*!(compressed base: 0 shift: 3)
179
+ === Inputs ===
180
+ stateBefore: -
181
+ guard: -
182
+ address: v47
183
+ lastLocationAccess: -
184
+ === Succesors ===
185
+ next: v34
186
+ === Usages ===
187
+ v44
188
+ === Predecessor ===
189
+ v36 >@ <|@
190
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v47 lastLocationAccess: - #next: v34 <|@ <|@
191
+ f <@~|@floating>@ <|@
192
+ tid v44 <|@
193
+ d <@d|@=== Debug Properties ===
194
+ encoding: base: 0 shift: 3
195
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
196
+ op: Uncompress
197
+ stamp: Klass*!
198
+ === Inputs ===
199
+ value: v46
200
+ === Succesors ===
201
+ === Usages ===
202
+ v45
203
+ === Predecessor ===
204
+ - >@ <|@
205
+ instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v46 <|@ <|@
206
+ f <@*|@fixed>@ <|@
207
+ tid v34 <|@
208
+ d <@d|@=== Debug Properties ===
209
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
210
+ stamp: void
211
+ === Inputs ===
212
+ === Succesors ===
213
+ === Usages ===
214
+ v38
215
+ === Predecessor ===
216
+ v46 >@ <|@
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 "B4" "B5"
226
+ xhandlers
227
+ flags
228
+ probability 4607182418800017408
229
+ begin_IR
230
+ HIR
231
+ f <@~|@floating>@ <|@
232
+ tid v45 <|@
233
+ d <@d|@=== Debug Properties ===
234
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
235
+ stamp: Klass*
236
+ valueDescription: Klass*
237
+ === Inputs ===
238
+ merge: v38
239
+ values: v39 v44
240
+ === Succesors ===
241
+ === Usages ===
242
+ v21
243
+ === Predecessor ===
244
+ - >@ <|@
245
+ instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v38 values: v39 v44 <|@ <|@
246
+ f <@#|@fixed with next>@ <|@
247
+ tid v38 <|@
248
+ d <@d|@=== Debug Properties ===
249
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
250
+ stamp: void
251
+ withSpeculationFence: false
252
+ === Inputs ===
253
+ stateAfter: -
254
+ ends: v33 v34
255
+ === Succesors ===
256
+ next: v15
257
+ === Usages ===
258
+ v45
259
+ === Predecessor ===
260
+ - >@ <|@
261
+ instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v33 v34 #next: v15 <|@ <|@
262
+ f <@~|@floating>@ <|@
263
+ tid v18 <|@
264
+ d <@d|@=== Debug Properties ===
265
+ isDefaultStable: false
266
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [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
+ v21
276
+ === Predecessor ===
277
+ - >@ <|@
278
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
279
+ f <@~|@floating>@ <|@
280
+ tid v21 <|@
281
+ d <@d|@=== Debug Properties ===
282
+ condition: EQ
283
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
284
+ stamp: void
285
+ unorderedIsTrue: false
286
+ === Inputs ===
287
+ x: v45
288
+ y: v18
289
+ === Succesors ===
290
+ === Usages ===
291
+ v15
292
+ === Predecessor ===
293
+ - >@ <|@
294
+ instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v45 y: v18 <|@ <|@
295
+ f <@*|@fixed>@ <|@
296
+ tid v15 <|@
297
+ d <@d|@=== Debug Properties ===
298
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
299
+ stamp: void
300
+ trueSuccessorProbability: 1.0
301
+ === Inputs ===
302
+ condition: v21
303
+ === Succesors ===
304
+ trueSuccessor: v12
305
+ falseSuccessor: v14
306
+ === Usages ===
307
+ === Predecessor ===
308
+ v38 >@ <|@
309
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v21 #trueSuccessor: v12 #falseSuccessor: v14 <|@ <|@
310
+ end_IR
311
+ end_block
312
+ begin_block
313
+ name "B4"
314
+ from_bci -1
315
+ to_bci -1
316
+ predecessors "B3"
317
+ successors
318
+ xhandlers
319
+ flags
320
+ probability 4607182418800017408
321
+ begin_IR
322
+ HIR
323
+ f <@#|@fixed with next>@ <|@
324
+ tid v12 <|@
325
+ d <@d|@=== Debug Properties ===
326
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
327
+ stamp: void
328
+ withSpeculationFence: false
329
+ === Inputs ===
330
+ === Succesors ===
331
+ next: i4
332
+ === Usages ===
333
+ === Predecessor ===
334
+ v15 >@ <|@
335
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: i4 <|@ <|@
336
+ tid v11 <|@
337
+ d <@d|@=== Debug Properties ===
338
+ callType: JavaCall
339
+ invokeKind: Special
340
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
341
+ returnStamp: i32
342
+ signature: [Ljdk.vm.ci.meta.JavaType;@10eadbf70
343
+ stamp: void
344
+ targetMethod: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()>
345
+ === Inputs ===
346
+ arguments: a1
347
+ === Succesors ===
348
+ === Usages ===
349
+ i4
350
+ === Predecessor ===
351
+ - >@ <|@
352
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
353
+ tid ?31 <|@
354
+ d <@d|@=== Debug Properties ===
355
+ bci: 1
356
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)>
357
+ duringCall: true
358
+ localsSize: 1
359
+ locksSize: 0
360
+ rethrowException: false
361
+ sourceFile: JavaExamples.java
362
+ sourceLine: 107
363
+ stackSize: 0
364
+ === Inputs ===
365
+ outerFrameState: -
366
+ values: -
367
+ === Succesors ===
368
+ === Usages ===
369
+ i4
370
+ === Predecessor ===
371
+ - >@ <|@
372
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
373
+ f <@#|@fixed with next>@ <|@
374
+ tid i4 <|@
375
+ d <@d|@=== Debug Properties ===
376
+ bci: 1
377
+ identity: ANY_LOCATION
378
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
379
+ polymorphic: false
380
+ stamp: i32
381
+ targetMethod: Direct#JavaExamples$OneImpl.interfaceCall
382
+ useForInlining: true
383
+ === Inputs ===
384
+ stateAfter: -
385
+ classInit: -
386
+ callTarget: v11
387
+ stateDuring: ?31
388
+ === Succesors ===
389
+ next: v6
390
+ === Usages ===
391
+ v6
392
+ === Predecessor ===
393
+ v12 >@ <|@
394
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v11 stateDuring: ?31 #next: v6 <|@ <|@
395
+ f <@*|@fixed>@ <|@
396
+ tid v6 <|@
397
+ d <@d|@=== Debug Properties ===
398
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 6]
399
+ stamp: void
400
+ === Inputs ===
401
+ result: i4
402
+ memoryMap: -
403
+ === Succesors ===
404
+ === Usages ===
405
+ === Predecessor ===
406
+ i4 >@ <|@
407
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
408
+ end_IR
409
+ end_block
410
+ begin_block
411
+ name "B5"
412
+ from_bci -1
413
+ to_bci -1
414
+ predecessors "B3"
415
+ successors
416
+ xhandlers
417
+ flags
418
+ probability 2355382605114769408
419
+ begin_IR
420
+ HIR
421
+ f <@#|@fixed with next>@ <|@
422
+ tid v14 <|@
423
+ d <@d|@=== Debug Properties ===
424
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
425
+ stamp: void
426
+ withSpeculationFence: false
427
+ === Inputs ===
428
+ === Succesors ===
429
+ next: v13
430
+ === Usages ===
431
+ === Predecessor ===
432
+ v15 >@ <|@
433
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v13 <|@ <|@
434
+ tid ?2 <|@
435
+ d <@d|@=== Debug Properties ===
436
+ bci: 0
437
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)>
438
+ duringCall: false
439
+ localsSize: 1
440
+ locksSize: 0
441
+ rethrowException: false
442
+ sourceFile: JavaExamples.java
443
+ sourceLine: 107
444
+ stackSize: 0
445
+ === Inputs ===
446
+ outerFrameState: -
447
+ values: a1
448
+ === Succesors ===
449
+ === Usages ===
450
+ v13
451
+ === Predecessor ===
452
+ - >@ <|@
453
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a1 <|@ <|@
454
+ f <@*|@fixed>@ <|@
455
+ tid v13 <|@
456
+ d <@d|@=== Debug Properties ===
457
+ action: InvalidateRecompile
458
+ debugId: 10
459
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
460
+ reason: OptimizedTypeCheckViolated
461
+ speculation: jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason@10b94c448
462
+ stamp: void
463
+ === Inputs ===
464
+ stateBefore: ?2
465
+ === Succesors ===
466
+ === Usages ===
467
+ === Predecessor ===
468
+ v14 >@ <|@
469
+ instruction <@Deopt|@org.graalvm.compiler.nodes.DeoptimizeNode>@ stateBefore: ?2 <|@ <|@
470
+ end_IR
471
+ end_block
472
+ end_cfg
473
+ begin_cfg
474
+ name "After LIRGeneration"
475
+ begin_block
476
+ name "B0"
477
+ from_bci -1
478
+ to_bci -1
479
+ predecessors
480
+ successors "B1" "B2"
481
+ xhandlers
482
+ flags
483
+ probability 4607182418800017408
484
+ begin_IR
485
+ LIR
486
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
487
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
488
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
489
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
490
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
491
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
492
+ end_IR
493
+ end_block
494
+ begin_block
495
+ name "B2"
496
+ from_bci -1
497
+ to_bci -1
498
+ predecessors "B0"
499
+ successors "B3"
500
+ xhandlers
501
+ flags
502
+ probability 4602678819172646912
503
+ begin_IR
504
+ LIR
505
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
506
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
507
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
508
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
509
+ end_IR
510
+ end_block
511
+ begin_block
512
+ name "B3"
513
+ from_bci -1
514
+ to_bci -1
515
+ predecessors "B1" "B2"
516
+ successors "B4" "B5"
517
+ xhandlers
518
+ flags
519
+ probability 4607182418800017408
520
+ begin_IR
521
+ LIR
522
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
523
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
524
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
525
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
526
+ end_IR
527
+ end_block
528
+ begin_block
529
+ name "B4"
530
+ from_bci -1
531
+ to_bci -1
532
+ predecessors "B3"
533
+ successors
534
+ xhandlers
535
+ flags
536
+ probability 4607182418800017408
537
+ begin_IR
538
+ LIR
539
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
540
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
541
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
542
+ locals: -
543
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
544
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
545
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
546
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
547
+ end_IR
548
+ end_block
549
+ begin_block
550
+ name "B1"
551
+ from_bci -1
552
+ to_bci -1
553
+ predecessors "B0"
554
+ successors "B3"
555
+ xhandlers
556
+ flags
557
+ probability 4602678819172646912
558
+ begin_IR
559
+ LIR
560
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
561
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
562
+ end_IR
563
+ end_block
564
+ begin_block
565
+ name "B5"
566
+ from_bci -1
567
+ to_bci -1
568
+ predecessors "B3"
569
+ successors
570
+ xhandlers
571
+ flags
572
+ probability 2355382605114769408
573
+ begin_IR
574
+ LIR
575
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
576
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
577
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
578
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
579
+ locals: v0|QWORD[.]
580
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
581
+ end_IR
582
+ end_block
583
+ end_cfg
584
+ begin_bytecodes
585
+ 0: aload_0
586
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
587
+ 6: ireturn
588
+ <|@
589
+ end_bytecodes
590
+ begin_cfg
591
+ name "After LIR generation"
592
+ begin_block
593
+ name "B0"
594
+ from_bci -1
595
+ to_bci -1
596
+ predecessors
597
+ successors "B1" "B2"
598
+ xhandlers
599
+ flags
600
+ probability 4607182418800017408
601
+ begin_IR
602
+ HIR
603
+ f <@#|@fixed with next>@ <|@
604
+ tid v0 <|@
605
+ d <@d|@=== Debug Properties ===
606
+ stamp: void
607
+ withSpeculationFence: false
608
+ === Inputs ===
609
+ stateAfter: -
610
+ === Succesors ===
611
+ next: v37
612
+ === Usages ===
613
+ === Predecessor ===
614
+ - >@ <|@
615
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v37 <|@ <|@
616
+ f <@~|@floating>@ <|@
617
+ tid a1 <|@
618
+ result v0|QWORD[.] <|@
619
+ d <@d|@=== Debug Properties ===
620
+ index: 0
621
+ stamp: a -
622
+ uncheckedStamp: a# LJavaExamples$OneImpl;
623
+ === Inputs ===
624
+ === Succesors ===
625
+ === Usages ===
626
+ ?2 v11 v47 v32
627
+ === Predecessor ===
628
+ - >@ <|@
629
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
630
+ f <@~|@floating>@ <|@
631
+ tid v32 <|@
632
+ d <@d|@=== Debug Properties ===
633
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
634
+ nullConstant: Object[null]
635
+ stamp: void
636
+ === Inputs ===
637
+ value: a1
638
+ === Succesors ===
639
+ === Usages ===
640
+ v37
641
+ === Predecessor ===
642
+ - >@ <|@
643
+ instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
644
+ f <@*|@fixed>@ <|@
645
+ tid v37 <|@
646
+ d <@d|@=== Debug Properties ===
647
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
648
+ stamp: void
649
+ trueSuccessorProbability: 0.5
650
+ === Inputs ===
651
+ condition: v32
652
+ === Succesors ===
653
+ trueSuccessor: v35
654
+ falseSuccessor: v36
655
+ === Usages ===
656
+ === Predecessor ===
657
+ v0 >@ <|@
658
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v32 #trueSuccessor: v35 #falseSuccessor: v36 <|@ <|@
659
+ end_IR
660
+ begin_IR
661
+ LIR
662
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
663
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
664
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
665
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
666
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
667
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
668
+ end_IR
669
+ end_block
670
+ begin_block
671
+ name "B1"
672
+ from_bci -1
673
+ to_bci -1
674
+ predecessors "B0"
675
+ successors "B3"
676
+ xhandlers
677
+ flags
678
+ probability 4602678819172646912
679
+ begin_IR
680
+ HIR
681
+ f <@#|@fixed with next>@ <|@
682
+ tid v35 <|@
683
+ d <@d|@=== Debug Properties ===
684
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
685
+ stamp: void
686
+ withSpeculationFence: false
687
+ === Inputs ===
688
+ === Succesors ===
689
+ next: v33
690
+ === Usages ===
691
+ === Predecessor ===
692
+ v37 >@ <|@
693
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v33 <|@ <|@
694
+ f <@~|@floating>@ <|@
695
+ tid v39 <|@
696
+ result Object[null] <|@
697
+ d <@d|@=== Debug Properties ===
698
+ isDefaultStable: false
699
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
700
+ rawvalue: null
701
+ stableDimension: 0
702
+ stamp: Klass* NULL
703
+ stampKind: Klass*
704
+ value: Object[null]
705
+ === Inputs ===
706
+ === Succesors ===
707
+ === Usages ===
708
+ v45
709
+ === Predecessor ===
710
+ - >@ <|@
711
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
712
+ f <@*|@fixed>@ <|@
713
+ tid v33 <|@
714
+ d <@d|@=== Debug Properties ===
715
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
716
+ stamp: void
717
+ === Inputs ===
718
+ === Succesors ===
719
+ === Usages ===
720
+ v38
721
+ === Predecessor ===
722
+ v35 >@ <|@
723
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
724
+ end_IR
725
+ begin_IR
726
+ LIR
727
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
728
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
729
+ end_IR
730
+ end_block
731
+ begin_block
732
+ name "B2"
733
+ from_bci -1
734
+ to_bci -1
735
+ predecessors "B0"
736
+ successors "B3"
737
+ xhandlers
738
+ flags
739
+ probability 4602678819172646912
740
+ begin_IR
741
+ HIR
742
+ f <@#|@fixed with next>@ <|@
743
+ tid v36 <|@
744
+ d <@d|@=== Debug Properties ===
745
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
746
+ stamp: void
747
+ withSpeculationFence: false
748
+ === Inputs ===
749
+ === Succesors ===
750
+ next: v46
751
+ === Usages ===
752
+ === Predecessor ===
753
+ v37 >@ <|@
754
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v46 <|@ <|@
755
+ f <@~|@floating>@ <|@
756
+ tid v47 <|@
757
+ result [v0|QWORD[.] + 8] <|@
758
+ d <@d|@=== Debug Properties ===
759
+ displacement: 8
760
+ scale: Times1
761
+ stamp: void*
762
+ === Inputs ===
763
+ base: a1
764
+ index: -
765
+ === Succesors ===
766
+ === Usages ===
767
+ v46
768
+ === Predecessor ===
769
+ - >@ <|@
770
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
771
+ f <@#|@fixed with next>@ <|@
772
+ tid v46 <|@
773
+ result v1|DWORD <|@
774
+ d <@d|@=== Debug Properties ===
775
+ barrierType: NONE
776
+ forceFixed: false
777
+ location: CompressedHub:final
778
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
779
+ nullCheck: false
780
+ stamp: Klass*!(compressed base: 0 shift: 3)
781
+ === Inputs ===
782
+ stateBefore: -
783
+ guard: -
784
+ address: v47
785
+ lastLocationAccess: -
786
+ === Succesors ===
787
+ next: v34
788
+ === Usages ===
789
+ v44
790
+ === Predecessor ===
791
+ v36 >@ <|@
792
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v47 lastLocationAccess: - #next: v34 <|@ <|@
793
+ f <@~|@floating>@ <|@
794
+ tid v44 <|@
795
+ result v2|QWORD <|@
796
+ d <@d|@=== Debug Properties ===
797
+ encoding: base: 0 shift: 3
798
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
799
+ op: Uncompress
800
+ stamp: Klass*!
801
+ === Inputs ===
802
+ value: v46
803
+ === Succesors ===
804
+ === Usages ===
805
+ v45
806
+ === Predecessor ===
807
+ - >@ <|@
808
+ instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v46 <|@ <|@
809
+ f <@*|@fixed>@ <|@
810
+ tid v34 <|@
811
+ d <@d|@=== Debug Properties ===
812
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
813
+ stamp: void
814
+ === Inputs ===
815
+ === Succesors ===
816
+ === Usages ===
817
+ v38
818
+ === Predecessor ===
819
+ v46 >@ <|@
820
+ instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
821
+ end_IR
822
+ begin_IR
823
+ LIR
824
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
825
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
826
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
827
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
828
+ end_IR
829
+ end_block
830
+ begin_block
831
+ name "B3"
832
+ from_bci -1
833
+ to_bci -1
834
+ predecessors "B1" "B2"
835
+ successors "B4" "B5"
836
+ xhandlers
837
+ flags
838
+ probability 4607182418800017408
839
+ begin_IR
840
+ HIR
841
+ f <@~|@floating>@ <|@
842
+ tid v45 <|@
843
+ result v3|QWORD <|@
844
+ d <@d|@=== Debug Properties ===
845
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
846
+ stamp: Klass*
847
+ valueDescription: Klass*
848
+ === Inputs ===
849
+ merge: v38
850
+ values: v39 v44
851
+ === Succesors ===
852
+ === Usages ===
853
+ v21
854
+ === Predecessor ===
855
+ - >@ <|@
856
+ instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v38 values: v39 v44 <|@ <|@
857
+ f <@#|@fixed with next>@ <|@
858
+ tid v38 <|@
859
+ d <@d|@=== Debug Properties ===
860
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
861
+ stamp: void
862
+ withSpeculationFence: false
863
+ === Inputs ===
864
+ stateAfter: -
865
+ ends: v33 v34
866
+ === Succesors ===
867
+ next: v15
868
+ === Usages ===
869
+ v45
870
+ === Predecessor ===
871
+ - >@ <|@
872
+ instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v33 v34 #next: v15 <|@ <|@
873
+ f <@~|@floating>@ <|@
874
+ tid v18 <|@
875
+ result v4|QWORD <|@
876
+ d <@d|@=== Debug Properties ===
877
+ isDefaultStable: false
878
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
879
+ rawvalue: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
880
+ stableDimension: 0
881
+ stamp: Klass*!
882
+ stampKind: Klass*
883
+ value: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
884
+ === Inputs ===
885
+ === Succesors ===
886
+ === Usages ===
887
+ v21
888
+ === Predecessor ===
889
+ - >@ <|@
890
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
891
+ f <@~|@floating>@ <|@
892
+ tid v21 <|@
893
+ d <@d|@=== Debug Properties ===
894
+ condition: EQ
895
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
896
+ stamp: void
897
+ unorderedIsTrue: false
898
+ === Inputs ===
899
+ x: v45
900
+ y: v18
901
+ === Succesors ===
902
+ === Usages ===
903
+ v15
904
+ === Predecessor ===
905
+ - >@ <|@
906
+ instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v45 y: v18 <|@ <|@
907
+ f <@*|@fixed>@ <|@
908
+ tid v15 <|@
909
+ d <@d|@=== Debug Properties ===
910
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
911
+ stamp: void
912
+ trueSuccessorProbability: 1.0
913
+ === Inputs ===
914
+ condition: v21
915
+ === Succesors ===
916
+ trueSuccessor: v12
917
+ falseSuccessor: v14
918
+ === Usages ===
919
+ === Predecessor ===
920
+ v38 >@ <|@
921
+ instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v21 #trueSuccessor: v12 #falseSuccessor: v14 <|@ <|@
922
+ end_IR
923
+ begin_IR
924
+ LIR
925
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
926
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
927
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
928
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
929
+ end_IR
930
+ end_block
931
+ begin_block
932
+ name "B4"
933
+ from_bci -1
934
+ to_bci -1
935
+ predecessors "B3"
936
+ successors
937
+ xhandlers
938
+ flags
939
+ probability 4607182418800017408
940
+ begin_IR
941
+ HIR
942
+ f <@#|@fixed with next>@ <|@
943
+ tid v12 <|@
944
+ d <@d|@=== Debug Properties ===
945
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
946
+ stamp: void
947
+ withSpeculationFence: false
948
+ === Inputs ===
949
+ === Succesors ===
950
+ next: i4
951
+ === Usages ===
952
+ === Predecessor ===
953
+ v15 >@ <|@
954
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: i4 <|@ <|@
955
+ tid v11 <|@
956
+ d <@d|@=== Debug Properties ===
957
+ callType: JavaCall
958
+ invokeKind: Special
959
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
960
+ returnStamp: i32
961
+ signature: [Ljdk.vm.ci.meta.JavaType;@10eadbf70
962
+ stamp: void
963
+ targetMethod: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()>
964
+ === Inputs ===
965
+ arguments: a1
966
+ === Succesors ===
967
+ === Usages ===
968
+ i4
969
+ === Predecessor ===
970
+ - >@ <|@
971
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
972
+ tid ?31 <|@
973
+ d <@d|@=== Debug Properties ===
974
+ bci: 1
975
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)>
976
+ duringCall: true
977
+ localsSize: 1
978
+ locksSize: 0
979
+ rethrowException: false
980
+ sourceFile: JavaExamples.java
981
+ sourceLine: 107
982
+ stackSize: 0
983
+ === Inputs ===
984
+ outerFrameState: -
985
+ values: -
986
+ === Succesors ===
987
+ === Usages ===
988
+ i4
989
+ === Predecessor ===
990
+ - >@ <|@
991
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
992
+ f <@#|@fixed with next>@ <|@
993
+ tid i4 <|@
994
+ result v5|DWORD <|@
995
+ d <@d|@=== Debug Properties ===
996
+ bci: 1
997
+ identity: ANY_LOCATION
998
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
999
+ polymorphic: false
1000
+ stamp: i32
1001
+ targetMethod: Direct#JavaExamples$OneImpl.interfaceCall
1002
+ useForInlining: true
1003
+ === Inputs ===
1004
+ stateAfter: -
1005
+ classInit: -
1006
+ callTarget: v11
1007
+ stateDuring: ?31
1008
+ === Succesors ===
1009
+ next: v6
1010
+ === Usages ===
1011
+ v6
1012
+ === Predecessor ===
1013
+ v12 >@ <|@
1014
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v11 stateDuring: ?31 #next: v6 <|@ <|@
1015
+ f <@*|@fixed>@ <|@
1016
+ tid v6 <|@
1017
+ d <@d|@=== Debug Properties ===
1018
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 6]
1019
+ stamp: void
1020
+ === Inputs ===
1021
+ result: i4
1022
+ memoryMap: -
1023
+ === Succesors ===
1024
+ === Usages ===
1025
+ === Predecessor ===
1026
+ i4 >@ <|@
1027
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
1028
+ end_IR
1029
+ begin_IR
1030
+ LIR
1031
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1032
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1033
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1034
+ locals: -
1035
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1036
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1037
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1038
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1039
+ end_IR
1040
+ end_block
1041
+ begin_block
1042
+ name "B5"
1043
+ from_bci -1
1044
+ to_bci -1
1045
+ predecessors "B3"
1046
+ successors
1047
+ xhandlers
1048
+ flags
1049
+ probability 2355382605114769408
1050
+ begin_IR
1051
+ HIR
1052
+ f <@#|@fixed with next>@ <|@
1053
+ tid v14 <|@
1054
+ d <@d|@=== Debug Properties ===
1055
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1056
+ stamp: void
1057
+ withSpeculationFence: false
1058
+ === Inputs ===
1059
+ === Succesors ===
1060
+ next: v13
1061
+ === Usages ===
1062
+ === Predecessor ===
1063
+ v15 >@ <|@
1064
+ instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v13 <|@ <|@
1065
+ tid ?2 <|@
1066
+ d <@d|@=== Debug Properties ===
1067
+ bci: 0
1068
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)>
1069
+ duringCall: false
1070
+ localsSize: 1
1071
+ locksSize: 0
1072
+ rethrowException: false
1073
+ sourceFile: JavaExamples.java
1074
+ sourceLine: 107
1075
+ stackSize: 0
1076
+ === Inputs ===
1077
+ outerFrameState: -
1078
+ values: a1
1079
+ === Succesors ===
1080
+ === Usages ===
1081
+ v13
1082
+ === Predecessor ===
1083
+ - >@ <|@
1084
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a1 <|@ <|@
1085
+ f <@*|@fixed>@ <|@
1086
+ tid v13 <|@
1087
+ d <@d|@=== Debug Properties ===
1088
+ action: InvalidateRecompile
1089
+ debugId: 10
1090
+ nodeSourcePosition: at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1091
+ reason: OptimizedTypeCheckViolated
1092
+ speculation: jdk.vm.ci.meta.SpeculationLog$NoSpeculationReason@10b94c448
1093
+ stamp: void
1094
+ === Inputs ===
1095
+ stateBefore: ?2
1096
+ === Succesors ===
1097
+ === Usages ===
1098
+ === Predecessor ===
1099
+ v14 >@ <|@
1100
+ instruction <@Deopt|@org.graalvm.compiler.nodes.DeoptimizeNode>@ stateBefore: ?2 <|@ <|@
1101
+ end_IR
1102
+ begin_IR
1103
+ LIR
1104
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1105
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1106
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1107
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1108
+ locals: v0|QWORD[.]
1109
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1110
+ end_IR
1111
+ end_block
1112
+ end_cfg
1113
+ begin_cfg
1114
+ name "After ConstantLoadOptimization"
1115
+ begin_block
1116
+ name "B0"
1117
+ from_bci -1
1118
+ to_bci -1
1119
+ predecessors
1120
+ successors "B1" "B2"
1121
+ xhandlers
1122
+ flags
1123
+ probability 4607182418800017408
1124
+ begin_IR
1125
+ LIR
1126
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1127
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1128
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1129
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1130
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1131
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1132
+ end_IR
1133
+ end_block
1134
+ begin_block
1135
+ name "B2"
1136
+ from_bci -1
1137
+ to_bci -1
1138
+ predecessors "B0"
1139
+ successors "B3"
1140
+ xhandlers
1141
+ flags
1142
+ probability 4602678819172646912
1143
+ begin_IR
1144
+ LIR
1145
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1146
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1147
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1148
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1149
+ end_IR
1150
+ end_block
1151
+ begin_block
1152
+ name "B3"
1153
+ from_bci -1
1154
+ to_bci -1
1155
+ predecessors "B1" "B2"
1156
+ successors "B4" "B5"
1157
+ xhandlers
1158
+ flags
1159
+ probability 4607182418800017408
1160
+ begin_IR
1161
+ LIR
1162
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1163
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1164
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1165
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1166
+ end_IR
1167
+ end_block
1168
+ begin_block
1169
+ name "B4"
1170
+ from_bci -1
1171
+ to_bci -1
1172
+ predecessors "B3"
1173
+ successors
1174
+ xhandlers
1175
+ flags
1176
+ probability 4607182418800017408
1177
+ begin_IR
1178
+ LIR
1179
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1180
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1181
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1182
+ locals: -
1183
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1184
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1185
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1186
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1187
+ end_IR
1188
+ end_block
1189
+ begin_block
1190
+ name "B1"
1191
+ from_bci -1
1192
+ to_bci -1
1193
+ predecessors "B0"
1194
+ successors "B3"
1195
+ xhandlers
1196
+ flags
1197
+ probability 4602678819172646912
1198
+ begin_IR
1199
+ LIR
1200
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1201
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1202
+ end_IR
1203
+ end_block
1204
+ begin_block
1205
+ name "B5"
1206
+ from_bci -1
1207
+ to_bci -1
1208
+ predecessors "B3"
1209
+ successors
1210
+ xhandlers
1211
+ flags
1212
+ probability 2355382605114769408
1213
+ begin_IR
1214
+ LIR
1215
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1216
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1217
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1218
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1219
+ locals: v0|QWORD[.]
1220
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1221
+ end_IR
1222
+ end_block
1223
+ end_cfg
1224
+ begin_bytecodes
1225
+ 0: aload_0
1226
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1227
+ 6: ireturn
1228
+ <|@
1229
+ end_bytecodes
1230
+ begin_cfg
1231
+ name "After SaveCalleeSaveRegisters"
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 -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1244
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1245
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1246
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1247
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1248
+ nr -1 <|@ 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 -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1263
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1264
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1265
+ nr -1 <|@ 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 "B4" "B5"
1274
+ xhandlers
1275
+ flags
1276
+ probability 4607182418800017408
1277
+ begin_IR
1278
+ LIR
1279
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1280
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1281
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1282
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1283
+ end_IR
1284
+ end_block
1285
+ begin_block
1286
+ name "B4"
1287
+ from_bci -1
1288
+ to_bci -1
1289
+ predecessors "B3"
1290
+ successors
1291
+ xhandlers
1292
+ flags
1293
+ probability 4607182418800017408
1294
+ begin_IR
1295
+ LIR
1296
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1297
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1298
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1299
+ locals: -
1300
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1301
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1302
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1303
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1304
+ end_IR
1305
+ end_block
1306
+ begin_block
1307
+ name "B1"
1308
+ from_bci -1
1309
+ to_bci -1
1310
+ predecessors "B0"
1311
+ successors "B3"
1312
+ xhandlers
1313
+ flags
1314
+ probability 4602678819172646912
1315
+ begin_IR
1316
+ LIR
1317
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1318
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1319
+ end_IR
1320
+ end_block
1321
+ begin_block
1322
+ name "B5"
1323
+ from_bci -1
1324
+ to_bci -1
1325
+ predecessors "B3"
1326
+ successors
1327
+ xhandlers
1328
+ flags
1329
+ probability 2355382605114769408
1330
+ begin_IR
1331
+ LIR
1332
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1333
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1334
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1335
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1336
+ locals: v0|QWORD[.]
1337
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1338
+ end_IR
1339
+ end_block
1340
+ end_cfg
1341
+ begin_bytecodes
1342
+ 0: aload_0
1343
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1344
+ 6: ireturn
1345
+ <|@
1346
+ end_bytecodes
1347
+ begin_cfg
1348
+ name "After PreAllocationOptimizationStage"
1349
+ begin_block
1350
+ name "B0"
1351
+ from_bci -1
1352
+ to_bci -1
1353
+ predecessors
1354
+ successors "B1" "B2"
1355
+ xhandlers
1356
+ flags
1357
+ probability 4607182418800017408
1358
+ begin_IR
1359
+ LIR
1360
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1361
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1362
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1363
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1364
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1365
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1366
+ end_IR
1367
+ end_block
1368
+ begin_block
1369
+ name "B2"
1370
+ from_bci -1
1371
+ to_bci -1
1372
+ predecessors "B0"
1373
+ successors "B3"
1374
+ xhandlers
1375
+ flags
1376
+ probability 4602678819172646912
1377
+ begin_IR
1378
+ LIR
1379
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1380
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1381
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1382
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1383
+ end_IR
1384
+ end_block
1385
+ begin_block
1386
+ name "B3"
1387
+ from_bci -1
1388
+ to_bci -1
1389
+ predecessors "B1" "B2"
1390
+ successors "B4" "B5"
1391
+ xhandlers
1392
+ flags
1393
+ probability 4607182418800017408
1394
+ begin_IR
1395
+ LIR
1396
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1397
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1398
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1399
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1400
+ end_IR
1401
+ end_block
1402
+ begin_block
1403
+ name "B4"
1404
+ from_bci -1
1405
+ to_bci -1
1406
+ predecessors "B3"
1407
+ successors
1408
+ xhandlers
1409
+ flags
1410
+ probability 4607182418800017408
1411
+ begin_IR
1412
+ LIR
1413
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1414
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1415
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1416
+ locals: -
1417
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1418
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1419
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1420
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1421
+ end_IR
1422
+ end_block
1423
+ begin_block
1424
+ name "B1"
1425
+ from_bci -1
1426
+ to_bci -1
1427
+ predecessors "B0"
1428
+ successors "B3"
1429
+ xhandlers
1430
+ flags
1431
+ probability 4602678819172646912
1432
+ begin_IR
1433
+ LIR
1434
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1435
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1436
+ end_IR
1437
+ end_block
1438
+ begin_block
1439
+ name "B5"
1440
+ from_bci -1
1441
+ to_bci -1
1442
+ predecessors "B3"
1443
+ successors
1444
+ xhandlers
1445
+ flags
1446
+ probability 2355382605114769408
1447
+ begin_IR
1448
+ LIR
1449
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1450
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1451
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1452
+ nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1453
+ locals: v0|QWORD[.]
1454
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1455
+ end_IR
1456
+ end_block
1457
+ end_cfg
1458
+ begin_bytecodes
1459
+ 0: aload_0
1460
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1461
+ 6: ireturn
1462
+ <|@
1463
+ end_bytecodes
1464
+ begin_cfg
1465
+ name "After MarkBasePointers"
1466
+ begin_block
1467
+ name "B0"
1468
+ from_bci -1
1469
+ to_bci -1
1470
+ predecessors
1471
+ successors "B1" "B2"
1472
+ xhandlers
1473
+ flags
1474
+ probability 4607182418800017408
1475
+ begin_IR
1476
+ LIR
1477
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1478
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1479
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1480
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1481
+ nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1482
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1483
+ end_IR
1484
+ end_block
1485
+ begin_block
1486
+ name "B2"
1487
+ from_bci -1
1488
+ to_bci -1
1489
+ predecessors "B0"
1490
+ successors "B3"
1491
+ xhandlers
1492
+ flags
1493
+ probability 4602678819172646912
1494
+ begin_IR
1495
+ LIR
1496
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1497
+ nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1498
+ nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1499
+ nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1500
+ end_IR
1501
+ end_block
1502
+ begin_block
1503
+ name "B3"
1504
+ from_bci -1
1505
+ to_bci -1
1506
+ predecessors "B1" "B2"
1507
+ successors "B4" "B5"
1508
+ xhandlers
1509
+ flags
1510
+ probability 4607182418800017408
1511
+ begin_IR
1512
+ LIR
1513
+ nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1514
+ nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1515
+ nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1516
+ nr -1 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1517
+ end_IR
1518
+ end_block
1519
+ begin_block
1520
+ name "B4"
1521
+ from_bci -1
1522
+ to_bci -1
1523
+ predecessors "B3"
1524
+ successors
1525
+ xhandlers
1526
+ flags
1527
+ probability 4607182418800017408
1528
+ begin_IR
1529
+ LIR
1530
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1531
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1532
+ nr -1 <|@ st <@st|@live-base-pointers: []
1533
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1534
+ locals: -
1535
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1536
+ nr -1 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1537
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1538
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1539
+ end_IR
1540
+ end_block
1541
+ begin_block
1542
+ name "B1"
1543
+ from_bci -1
1544
+ to_bci -1
1545
+ predecessors "B0"
1546
+ successors "B3"
1547
+ xhandlers
1548
+ flags
1549
+ probability 4602678819172646912
1550
+ begin_IR
1551
+ LIR
1552
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1553
+ nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1554
+ end_IR
1555
+ end_block
1556
+ begin_block
1557
+ name "B5"
1558
+ from_bci -1
1559
+ to_bci -1
1560
+ predecessors "B3"
1561
+ successors
1562
+ xhandlers
1563
+ flags
1564
+ probability 2355382605114769408
1565
+ begin_IR
1566
+ LIR
1567
+ nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1568
+ nr -1 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1569
+ nr -1 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1570
+ nr -1 <|@ st <@st|@live-base-pointers: []
1571
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1572
+ locals: v0|QWORD[.]
1573
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1574
+ end_IR
1575
+ end_block
1576
+ end_cfg
1577
+ begin_bytecodes
1578
+ 0: aload_0
1579
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1580
+ 6: ireturn
1581
+ <|@
1582
+ end_bytecodes
1583
+ begin_cfg
1584
+ name "Before register allocation"
1585
+ begin_block
1586
+ name "B0"
1587
+ from_bci -1
1588
+ to_bci -1
1589
+ predecessors
1590
+ successors "B1" "B2"
1591
+ xhandlers
1592
+ flags
1593
+ probability 4607182418800017408
1594
+ begin_IR
1595
+ LIR
1596
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1597
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1598
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1599
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1600
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1601
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1602
+ end_IR
1603
+ end_block
1604
+ begin_block
1605
+ name "B2"
1606
+ from_bci -1
1607
+ to_bci -1
1608
+ predecessors "B0"
1609
+ successors "B3"
1610
+ xhandlers
1611
+ flags
1612
+ probability 4602678819172646912
1613
+ begin_IR
1614
+ LIR
1615
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1616
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1617
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1618
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1619
+ end_IR
1620
+ end_block
1621
+ begin_block
1622
+ name "B3"
1623
+ from_bci -1
1624
+ to_bci -1
1625
+ predecessors "B1" "B2"
1626
+ successors "B4" "B5"
1627
+ xhandlers
1628
+ flags
1629
+ probability 4607182418800017408
1630
+ begin_IR
1631
+ LIR
1632
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1633
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1634
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1635
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1636
+ end_IR
1637
+ end_block
1638
+ begin_block
1639
+ name "B4"
1640
+ from_bci -1
1641
+ to_bci -1
1642
+ predecessors "B3"
1643
+ successors
1644
+ xhandlers
1645
+ flags
1646
+ probability 4607182418800017408
1647
+ begin_IR
1648
+ LIR
1649
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1650
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1651
+ nr 36 <|@ st <@st|@live-base-pointers: []
1652
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1653
+ locals: -
1654
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1655
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1656
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1657
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1658
+ end_IR
1659
+ end_block
1660
+ begin_block
1661
+ name "B1"
1662
+ from_bci -1
1663
+ to_bci -1
1664
+ predecessors "B0"
1665
+ successors "B3"
1666
+ xhandlers
1667
+ flags
1668
+ probability 4602678819172646912
1669
+ begin_IR
1670
+ LIR
1671
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1672
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1673
+ end_IR
1674
+ end_block
1675
+ begin_block
1676
+ name "B5"
1677
+ from_bci -1
1678
+ to_bci -1
1679
+ predecessors "B3"
1680
+ successors
1681
+ xhandlers
1682
+ flags
1683
+ probability 2355382605114769408
1684
+ begin_IR
1685
+ LIR
1686
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1687
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1688
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1689
+ nr 50 <|@ st <@st|@live-base-pointers: []
1690
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1691
+ locals: v0|QWORD[.]
1692
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1693
+ end_IR
1694
+ end_block
1695
+ end_cfg
1696
+ begin_bytecodes
1697
+ 0: aload_0
1698
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1699
+ 6: ireturn
1700
+ <|@
1701
+ end_bytecodes
1702
+ begin_cfg
1703
+ name "After SSALinearScanLifetimeAnalysis"
1704
+ begin_block
1705
+ name "B0"
1706
+ from_bci -1
1707
+ to_bci -1
1708
+ predecessors
1709
+ successors "B1" "B2"
1710
+ xhandlers
1711
+ flags
1712
+ probability 4607182418800017408
1713
+ begin_IR
1714
+ LIR
1715
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1716
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1717
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1718
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1719
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1720
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1721
+ end_IR
1722
+ end_block
1723
+ begin_block
1724
+ name "B2"
1725
+ from_bci -1
1726
+ to_bci -1
1727
+ predecessors "B0"
1728
+ successors "B3"
1729
+ xhandlers
1730
+ flags
1731
+ probability 4602678819172646912
1732
+ begin_IR
1733
+ LIR
1734
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1735
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1736
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1737
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1738
+ end_IR
1739
+ end_block
1740
+ begin_block
1741
+ name "B3"
1742
+ from_bci -1
1743
+ to_bci -1
1744
+ predecessors "B1" "B2"
1745
+ successors "B4" "B5"
1746
+ xhandlers
1747
+ flags
1748
+ probability 4607182418800017408
1749
+ begin_IR
1750
+ LIR
1751
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1752
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1753
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1754
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1755
+ end_IR
1756
+ end_block
1757
+ begin_block
1758
+ name "B4"
1759
+ from_bci -1
1760
+ to_bci -1
1761
+ predecessors "B3"
1762
+ successors
1763
+ xhandlers
1764
+ flags
1765
+ probability 4607182418800017408
1766
+ begin_IR
1767
+ LIR
1768
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1769
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1770
+ nr 36 <|@ st <@st|@live-base-pointers: []
1771
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1772
+ locals: -
1773
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1774
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1775
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1776
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1777
+ end_IR
1778
+ end_block
1779
+ begin_block
1780
+ name "B1"
1781
+ from_bci -1
1782
+ to_bci -1
1783
+ predecessors "B0"
1784
+ successors "B3"
1785
+ xhandlers
1786
+ flags
1787
+ probability 4602678819172646912
1788
+ begin_IR
1789
+ LIR
1790
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1791
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1792
+ end_IR
1793
+ end_block
1794
+ begin_block
1795
+ name "B5"
1796
+ from_bci -1
1797
+ to_bci -1
1798
+ predecessors "B3"
1799
+ successors
1800
+ xhandlers
1801
+ flags
1802
+ probability 2355382605114769408
1803
+ begin_IR
1804
+ LIR
1805
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1806
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
1807
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
1808
+ nr 50 <|@ st <@st|@live-base-pointers: []
1809
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
1810
+ locals: v0|QWORD[.]
1811
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
1812
+ end_IR
1813
+ end_block
1814
+ end_cfg
1815
+ begin_bytecodes
1816
+ 0: aload_0
1817
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
1818
+ 6: ireturn
1819
+ <|@
1820
+ end_bytecodes
1821
+ begin_intervals
1822
+ name "Before register allocation"
1823
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[36, 38[[40, 42[ "NoOptimization"
1824
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1825
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1826
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1827
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[36, 37[ "NoSpillStore"
1828
+ rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[34, 37[ "NoOptimization"
1829
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1830
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1831
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1832
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1833
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1834
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1835
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1836
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1837
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1838
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1839
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1840
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1841
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1842
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1843
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1844
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1845
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1846
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1847
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1848
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1849
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1850
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1851
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1852
+ v0|q QWORD "[v0|q]" v0|q rsi|- [6, 34[[44, 51[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1853
+ v1|d DWORD "[v1|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1854
+ v2|q QWORD "[v2|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1855
+ v3|q QWORD "[v3|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1856
+ v4|q QWORD "[v4|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1857
+ v5|d DWORD "[v5|d]" v5|d rax|d [38, 40[38 MustHaveRegister 40 ShouldHaveRegister "NoSpillStore"
1858
+ end_intervals
1859
+ begin_intervals
1860
+ name "After register allocation"
1861
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[36, 38[[40, 42[ "NoOptimization"
1862
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1863
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1864
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1865
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[36, 37[ "NoSpillStore"
1866
+ rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[34, 37[ "NoOptimization"
1867
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1868
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1869
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1870
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1871
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1872
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1873
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1874
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1875
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1876
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1877
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1878
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1879
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1880
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1881
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1882
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1883
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1884
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1885
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1886
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1887
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1888
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1889
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
1890
+ v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 34[[44, 51[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
1891
+ v1|d DWORD "[r10|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
1892
+ v2|q QWORD "[r10|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
1893
+ v3|q QWORD "[r10|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
1894
+ v4|q QWORD "[r11|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
1895
+ v5|d DWORD "[rax|d]" v5|d rax|d [38, 40[38 MustHaveRegister 40 ShouldHaveRegister "NoSpillStore"
1896
+ end_intervals
1897
+ begin_cfg
1898
+ name "After LinearScanRegisterAllocation"
1899
+ begin_block
1900
+ name "B0"
1901
+ from_bci -1
1902
+ to_bci -1
1903
+ predecessors
1904
+ successors "B1" "B2"
1905
+ xhandlers
1906
+ flags
1907
+ probability 4607182418800017408
1908
+ begin_IR
1909
+ LIR
1910
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1911
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1912
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
1913
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
1914
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
1915
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
1916
+ end_IR
1917
+ end_block
1918
+ begin_block
1919
+ name "B2"
1920
+ from_bci -1
1921
+ to_bci -1
1922
+ predecessors "B0"
1923
+ successors "B3"
1924
+ xhandlers
1925
+ flags
1926
+ probability 4602678819172646912
1927
+ begin_IR
1928
+ LIR
1929
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1930
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
1931
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
1932
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
1933
+ end_IR
1934
+ end_block
1935
+ begin_block
1936
+ name "B3"
1937
+ from_bci -1
1938
+ to_bci -1
1939
+ predecessors "B1" "B2"
1940
+ successors "B4" "B5"
1941
+ xhandlers
1942
+ flags
1943
+ probability 4607182418800017408
1944
+ begin_IR
1945
+ LIR
1946
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
1947
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
1948
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
1949
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
1950
+ end_IR
1951
+ end_block
1952
+ begin_block
1953
+ name "B4"
1954
+ from_bci -1
1955
+ to_bci -1
1956
+ predecessors "B3"
1957
+ successors
1958
+ xhandlers
1959
+ flags
1960
+ probability 4607182418800017408
1961
+ begin_IR
1962
+ LIR
1963
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1964
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
1965
+ nr 36 <|@ st <@st|@live-base-pointers: []
1966
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
1967
+ locals: -
1968
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1969
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1970
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1971
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1972
+ end_IR
1973
+ end_block
1974
+ begin_block
1975
+ name "B1"
1976
+ from_bci -1
1977
+ to_bci -1
1978
+ predecessors "B0"
1979
+ successors "B3"
1980
+ xhandlers
1981
+ flags
1982
+ probability 4602678819172646912
1983
+ begin_IR
1984
+ LIR
1985
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1986
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
1987
+ end_IR
1988
+ end_block
1989
+ begin_block
1990
+ name "B5"
1991
+ from_bci -1
1992
+ to_bci -1
1993
+ predecessors "B3"
1994
+ successors
1995
+ xhandlers
1996
+ flags
1997
+ probability 2355382605114769408
1998
+ begin_IR
1999
+ LIR
2000
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2001
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2002
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2003
+ nr 50 <|@ st <@st|@live-base-pointers: []
2004
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2005
+ locals: v0|QWORD[.]
2006
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2007
+ end_IR
2008
+ end_block
2009
+ end_cfg
2010
+ begin_bytecodes
2011
+ 0: aload_0
2012
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2013
+ 6: ireturn
2014
+ <|@
2015
+ end_bytecodes
2016
+ begin_intervals
2017
+ name "After optimize spill position"
2018
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[36, 38[[40, 42[ "NoOptimization"
2019
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2020
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2021
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2022
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[36, 37[ "NoSpillStore"
2023
+ rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[34, 37[ "NoOptimization"
2024
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2025
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2026
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2027
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2028
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2029
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2030
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2031
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2032
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2033
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2034
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2035
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2036
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2037
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2038
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2039
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2040
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2041
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2042
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2043
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2044
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2045
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2046
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2047
+ v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 34[[44, 51[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
2048
+ v1|d DWORD "[r10|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
2049
+ v2|q QWORD "[r10|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
2050
+ v3|q QWORD "[r10|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
2051
+ v4|q QWORD "[r11|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
2052
+ v5|d DWORD "[rax|d]" v5|d rax|d [38, 40[38 MustHaveRegister 40 ShouldHaveRegister "NoSpillStore"
2053
+ end_intervals
2054
+ begin_cfg
2055
+ name "After LinearScanOptimizeSpillPosition"
2056
+ begin_block
2057
+ name "B0"
2058
+ from_bci -1
2059
+ to_bci -1
2060
+ predecessors
2061
+ successors "B1" "B2"
2062
+ xhandlers
2063
+ flags
2064
+ probability 4607182418800017408
2065
+ begin_IR
2066
+ LIR
2067
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2068
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2069
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2070
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
2071
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
2072
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2073
+ end_IR
2074
+ end_block
2075
+ begin_block
2076
+ name "B2"
2077
+ from_bci -1
2078
+ to_bci -1
2079
+ predecessors "B0"
2080
+ successors "B3"
2081
+ xhandlers
2082
+ flags
2083
+ probability 4602678819172646912
2084
+ begin_IR
2085
+ LIR
2086
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2087
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
2088
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2089
+ nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
2090
+ end_IR
2091
+ end_block
2092
+ begin_block
2093
+ name "B3"
2094
+ from_bci -1
2095
+ to_bci -1
2096
+ predecessors "B1" "B2"
2097
+ successors "B4" "B5"
2098
+ xhandlers
2099
+ flags
2100
+ probability 4607182418800017408
2101
+ begin_IR
2102
+ LIR
2103
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2104
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2105
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
2106
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2107
+ end_IR
2108
+ end_block
2109
+ begin_block
2110
+ name "B4"
2111
+ from_bci -1
2112
+ to_bci -1
2113
+ predecessors "B3"
2114
+ successors
2115
+ xhandlers
2116
+ flags
2117
+ probability 4607182418800017408
2118
+ begin_IR
2119
+ LIR
2120
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2121
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
2122
+ nr 36 <|@ st <@st|@live-base-pointers: []
2123
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2124
+ locals: -
2125
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2126
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
2127
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
2128
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2129
+ end_IR
2130
+ end_block
2131
+ begin_block
2132
+ name "B1"
2133
+ from_bci -1
2134
+ to_bci -1
2135
+ predecessors "B0"
2136
+ successors "B3"
2137
+ xhandlers
2138
+ flags
2139
+ probability 4602678819172646912
2140
+ begin_IR
2141
+ LIR
2142
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2143
+ nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
2144
+ end_IR
2145
+ end_block
2146
+ begin_block
2147
+ name "B5"
2148
+ from_bci -1
2149
+ to_bci -1
2150
+ predecessors "B3"
2151
+ successors
2152
+ xhandlers
2153
+ flags
2154
+ probability 2355382605114769408
2155
+ begin_IR
2156
+ LIR
2157
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2158
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2159
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2160
+ nr 50 <|@ st <@st|@live-base-pointers: []
2161
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2162
+ locals: v0|QWORD[.]
2163
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2164
+ end_IR
2165
+ end_block
2166
+ end_cfg
2167
+ begin_bytecodes
2168
+ 0: aload_0
2169
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2170
+ 6: ireturn
2171
+ <|@
2172
+ end_bytecodes
2173
+ begin_intervals
2174
+ name "After resolve data flow"
2175
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[36, 38[[40, 42[ "NoOptimization"
2176
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2177
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2178
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2179
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[36, 37[ "NoSpillStore"
2180
+ rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[34, 37[ "NoOptimization"
2181
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2182
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2183
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2184
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2185
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2186
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2187
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2188
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2189
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2190
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2191
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2192
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2193
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2194
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2195
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2196
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2197
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2198
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2199
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2200
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2201
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2202
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2203
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[36, 37[ "NoDefinitionFound"
2204
+ v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 34[[44, 51[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
2205
+ v1|d DWORD "[r10|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
2206
+ v2|q QWORD "[r10|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
2207
+ v3|q QWORD "[r10|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
2208
+ v4|q QWORD "[r11|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
2209
+ v5|d DWORD "[rax|d]" v5|d rax|d [38, 40[38 MustHaveRegister 40 ShouldHaveRegister "NoSpillStore"
2210
+ end_intervals
2211
+ begin_cfg
2212
+ name "After SSALinearScanResolveDataFlow"
2213
+ begin_block
2214
+ name "B0"
2215
+ from_bci -1
2216
+ to_bci -1
2217
+ predecessors
2218
+ successors "B1" "B2"
2219
+ xhandlers
2220
+ flags
2221
+ probability 4607182418800017408
2222
+ begin_IR
2223
+ LIR
2224
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2225
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2226
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2227
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
2228
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
2229
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2230
+ end_IR
2231
+ end_block
2232
+ begin_block
2233
+ name "B2"
2234
+ from_bci -1
2235
+ to_bci -1
2236
+ predecessors "B0"
2237
+ successors "B3"
2238
+ xhandlers
2239
+ flags
2240
+ probability 4602678819172646912
2241
+ begin_IR
2242
+ LIR
2243
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2244
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
2245
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2246
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2247
+ end_IR
2248
+ end_block
2249
+ begin_block
2250
+ name "B3"
2251
+ from_bci -1
2252
+ to_bci -1
2253
+ predecessors "B1" "B2"
2254
+ successors "B4" "B5"
2255
+ xhandlers
2256
+ flags
2257
+ probability 4607182418800017408
2258
+ begin_IR
2259
+ LIR
2260
+ nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2261
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2262
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
2263
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2264
+ end_IR
2265
+ end_block
2266
+ begin_block
2267
+ name "B4"
2268
+ from_bci -1
2269
+ to_bci -1
2270
+ predecessors "B3"
2271
+ successors
2272
+ xhandlers
2273
+ flags
2274
+ probability 4607182418800017408
2275
+ begin_IR
2276
+ LIR
2277
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2278
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
2279
+ nr 36 <|@ st <@st|@live-base-pointers: []
2280
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2281
+ locals: -
2282
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2283
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
2284
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
2285
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2286
+ end_IR
2287
+ end_block
2288
+ begin_block
2289
+ name "B1"
2290
+ from_bci -1
2291
+ to_bci -1
2292
+ predecessors "B0"
2293
+ successors "B3"
2294
+ xhandlers
2295
+ flags
2296
+ probability 4602678819172646912
2297
+ begin_IR
2298
+ LIR
2299
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2300
+ nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2301
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2302
+ end_IR
2303
+ end_block
2304
+ begin_block
2305
+ name "B5"
2306
+ from_bci -1
2307
+ to_bci -1
2308
+ predecessors "B3"
2309
+ successors
2310
+ xhandlers
2311
+ flags
2312
+ probability 2355382605114769408
2313
+ begin_IR
2314
+ LIR
2315
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2316
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2317
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2318
+ nr 50 <|@ st <@st|@live-base-pointers: []
2319
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2320
+ locals: v0|QWORD[.]
2321
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2322
+ end_IR
2323
+ end_block
2324
+ end_cfg
2325
+ begin_bytecodes
2326
+ 0: aload_0
2327
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2328
+ 6: ireturn
2329
+ <|@
2330
+ end_bytecodes
2331
+ begin_cfg
2332
+ name "After SSALinearScanEliminateSpillMove"
2333
+ begin_block
2334
+ name "B0"
2335
+ from_bci -1
2336
+ to_bci -1
2337
+ predecessors
2338
+ successors "B1" "B2"
2339
+ xhandlers
2340
+ flags
2341
+ probability 4607182418800017408
2342
+ begin_IR
2343
+ LIR
2344
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2345
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2346
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2347
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
2348
+ nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
2349
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2350
+ end_IR
2351
+ end_block
2352
+ begin_block
2353
+ name "B2"
2354
+ from_bci -1
2355
+ to_bci -1
2356
+ predecessors "B0"
2357
+ successors "B3"
2358
+ xhandlers
2359
+ flags
2360
+ probability 4602678819172646912
2361
+ begin_IR
2362
+ LIR
2363
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2364
+ nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
2365
+ nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2366
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2367
+ end_IR
2368
+ end_block
2369
+ begin_block
2370
+ name "B3"
2371
+ from_bci -1
2372
+ to_bci -1
2373
+ predecessors "B1" "B2"
2374
+ successors "B4" "B5"
2375
+ xhandlers
2376
+ flags
2377
+ probability 4607182418800017408
2378
+ begin_IR
2379
+ LIR
2380
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2381
+ nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2382
+ nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
2383
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2384
+ end_IR
2385
+ end_block
2386
+ begin_block
2387
+ name "B4"
2388
+ from_bci -1
2389
+ to_bci -1
2390
+ predecessors "B3"
2391
+ successors
2392
+ xhandlers
2393
+ flags
2394
+ probability 4607182418800017408
2395
+ begin_IR
2396
+ LIR
2397
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2398
+ nr 34 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
2399
+ nr 36 <|@ st <@st|@live-base-pointers: []
2400
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2401
+ locals: -
2402
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2403
+ nr 38 <|@ instruction v5|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
2404
+ nr 40 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
2405
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2406
+ end_IR
2407
+ end_block
2408
+ begin_block
2409
+ name "B1"
2410
+ from_bci -1
2411
+ to_bci -1
2412
+ predecessors "B0"
2413
+ successors "B3"
2414
+ xhandlers
2415
+ flags
2416
+ probability 4602678819172646912
2417
+ begin_IR
2418
+ LIR
2419
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2420
+ nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2421
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2422
+ end_IR
2423
+ end_block
2424
+ begin_block
2425
+ name "B5"
2426
+ from_bci -1
2427
+ to_bci -1
2428
+ predecessors "B3"
2429
+ successors
2430
+ xhandlers
2431
+ flags
2432
+ probability 2355382605114769408
2433
+ begin_IR
2434
+ LIR
2435
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2436
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2437
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2438
+ nr 50 <|@ st <@st|@live-base-pointers: []
2439
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2440
+ locals: v0|QWORD[.]
2441
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2442
+ end_IR
2443
+ end_block
2444
+ end_cfg
2445
+ begin_bytecodes
2446
+ 0: aload_0
2447
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2448
+ 6: ireturn
2449
+ <|@
2450
+ end_bytecodes
2451
+ begin_cfg
2452
+ name "After LinearScanAssignLocations"
2453
+ begin_block
2454
+ name "B0"
2455
+ from_bci -1
2456
+ to_bci -1
2457
+ predecessors
2458
+ successors "B1" "B2"
2459
+ xhandlers
2460
+ flags
2461
+ probability 4607182418800017408
2462
+ begin_IR
2463
+ LIR
2464
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2465
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2466
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2467
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2468
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2469
+ end_IR
2470
+ end_block
2471
+ begin_block
2472
+ name "B2"
2473
+ from_bci -1
2474
+ to_bci -1
2475
+ predecessors "B0"
2476
+ successors "B3"
2477
+ xhandlers
2478
+ flags
2479
+ probability 4602678819172646912
2480
+ begin_IR
2481
+ LIR
2482
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2483
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2484
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2485
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2486
+ end_IR
2487
+ end_block
2488
+ begin_block
2489
+ name "B3"
2490
+ from_bci -1
2491
+ to_bci -1
2492
+ predecessors "B1" "B2"
2493
+ successors "B4" "B5"
2494
+ xhandlers
2495
+ flags
2496
+ probability 4607182418800017408
2497
+ begin_IR
2498
+ LIR
2499
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2500
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2501
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
2502
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2503
+ end_IR
2504
+ end_block
2505
+ begin_block
2506
+ name "B4"
2507
+ from_bci -1
2508
+ to_bci -1
2509
+ predecessors "B3"
2510
+ successors
2511
+ xhandlers
2512
+ flags
2513
+ probability 4607182418800017408
2514
+ begin_IR
2515
+ LIR
2516
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2517
+ nr 36 <|@ st <@st|@live-base-pointers: []
2518
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2519
+ locals: -
2520
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2521
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2522
+ end_IR
2523
+ end_block
2524
+ begin_block
2525
+ name "B1"
2526
+ from_bci -1
2527
+ to_bci -1
2528
+ predecessors "B0"
2529
+ successors "B3"
2530
+ xhandlers
2531
+ flags
2532
+ probability 4602678819172646912
2533
+ begin_IR
2534
+ LIR
2535
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2536
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2537
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2538
+ end_IR
2539
+ end_block
2540
+ begin_block
2541
+ name "B5"
2542
+ from_bci -1
2543
+ to_bci -1
2544
+ predecessors "B3"
2545
+ successors
2546
+ xhandlers
2547
+ flags
2548
+ probability 2355382605114769408
2549
+ begin_IR
2550
+ LIR
2551
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2552
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2553
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2554
+ nr 50 <|@ st <@st|@live-base-pointers: []
2555
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2556
+ locals: rsi|QWORD[.]
2557
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2558
+ end_IR
2559
+ end_block
2560
+ end_cfg
2561
+ begin_bytecodes
2562
+ 0: aload_0
2563
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2564
+ 6: ireturn
2565
+ <|@
2566
+ end_bytecodes
2567
+ begin_cfg
2568
+ name "After LinearScan"
2569
+ begin_block
2570
+ name "B0"
2571
+ from_bci -1
2572
+ to_bci -1
2573
+ predecessors
2574
+ successors "B1" "B2"
2575
+ xhandlers
2576
+ flags
2577
+ probability 4607182418800017408
2578
+ begin_IR
2579
+ LIR
2580
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2581
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2582
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2583
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2584
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2585
+ end_IR
2586
+ end_block
2587
+ begin_block
2588
+ name "B2"
2589
+ from_bci -1
2590
+ to_bci -1
2591
+ predecessors "B0"
2592
+ successors "B3"
2593
+ xhandlers
2594
+ flags
2595
+ probability 4602678819172646912
2596
+ begin_IR
2597
+ LIR
2598
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2599
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2600
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2601
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2602
+ end_IR
2603
+ end_block
2604
+ begin_block
2605
+ name "B3"
2606
+ from_bci -1
2607
+ to_bci -1
2608
+ predecessors "B1" "B2"
2609
+ successors "B4" "B5"
2610
+ xhandlers
2611
+ flags
2612
+ probability 4607182418800017408
2613
+ begin_IR
2614
+ LIR
2615
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2616
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2617
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
2618
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2619
+ end_IR
2620
+ end_block
2621
+ begin_block
2622
+ name "B4"
2623
+ from_bci -1
2624
+ to_bci -1
2625
+ predecessors "B3"
2626
+ successors
2627
+ xhandlers
2628
+ flags
2629
+ probability 4607182418800017408
2630
+ begin_IR
2631
+ LIR
2632
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2633
+ nr 36 <|@ st <@st|@live-base-pointers: []
2634
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2635
+ locals: -
2636
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2637
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2638
+ end_IR
2639
+ end_block
2640
+ begin_block
2641
+ name "B1"
2642
+ from_bci -1
2643
+ to_bci -1
2644
+ predecessors "B0"
2645
+ successors "B3"
2646
+ xhandlers
2647
+ flags
2648
+ probability 4602678819172646912
2649
+ begin_IR
2650
+ LIR
2651
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2652
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2653
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2654
+ end_IR
2655
+ end_block
2656
+ begin_block
2657
+ name "B5"
2658
+ from_bci -1
2659
+ to_bci -1
2660
+ predecessors "B3"
2661
+ successors
2662
+ xhandlers
2663
+ flags
2664
+ probability 2355382605114769408
2665
+ begin_IR
2666
+ LIR
2667
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2668
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2669
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2670
+ nr 50 <|@ st <@st|@live-base-pointers: []
2671
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2672
+ locals: rsi|QWORD[.]
2673
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2674
+ end_IR
2675
+ end_block
2676
+ end_cfg
2677
+ begin_bytecodes
2678
+ 0: aload_0
2679
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2680
+ 6: ireturn
2681
+ <|@
2682
+ end_bytecodes
2683
+ begin_cfg
2684
+ name "After LSStackSlotAllocator"
2685
+ begin_block
2686
+ name "B0"
2687
+ from_bci -1
2688
+ to_bci -1
2689
+ predecessors
2690
+ successors "B1" "B2"
2691
+ xhandlers
2692
+ flags
2693
+ probability 4607182418800017408
2694
+ begin_IR
2695
+ LIR
2696
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2697
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2698
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2699
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2700
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2701
+ end_IR
2702
+ end_block
2703
+ begin_block
2704
+ name "B2"
2705
+ from_bci -1
2706
+ to_bci -1
2707
+ predecessors "B0"
2708
+ successors "B3"
2709
+ xhandlers
2710
+ flags
2711
+ probability 4602678819172646912
2712
+ begin_IR
2713
+ LIR
2714
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2715
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2716
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2717
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2718
+ end_IR
2719
+ end_block
2720
+ begin_block
2721
+ name "B3"
2722
+ from_bci -1
2723
+ to_bci -1
2724
+ predecessors "B1" "B2"
2725
+ successors "B4" "B5"
2726
+ xhandlers
2727
+ flags
2728
+ probability 4607182418800017408
2729
+ begin_IR
2730
+ LIR
2731
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2732
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2733
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
2734
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2735
+ end_IR
2736
+ end_block
2737
+ begin_block
2738
+ name "B4"
2739
+ from_bci -1
2740
+ to_bci -1
2741
+ predecessors "B3"
2742
+ successors
2743
+ xhandlers
2744
+ flags
2745
+ probability 4607182418800017408
2746
+ begin_IR
2747
+ LIR
2748
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2749
+ nr 36 <|@ st <@st|@live-base-pointers: []
2750
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2751
+ locals: -
2752
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2753
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2754
+ end_IR
2755
+ end_block
2756
+ begin_block
2757
+ name "B1"
2758
+ from_bci -1
2759
+ to_bci -1
2760
+ predecessors "B0"
2761
+ successors "B3"
2762
+ xhandlers
2763
+ flags
2764
+ probability 4602678819172646912
2765
+ begin_IR
2766
+ LIR
2767
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2768
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2769
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2770
+ end_IR
2771
+ end_block
2772
+ begin_block
2773
+ name "B5"
2774
+ from_bci -1
2775
+ to_bci -1
2776
+ predecessors "B3"
2777
+ successors
2778
+ xhandlers
2779
+ flags
2780
+ probability 2355382605114769408
2781
+ begin_IR
2782
+ LIR
2783
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2784
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2785
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2786
+ nr 50 <|@ st <@st|@live-base-pointers: []
2787
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2788
+ locals: rsi|QWORD[.]
2789
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2790
+ end_IR
2791
+ end_block
2792
+ end_cfg
2793
+ begin_bytecodes
2794
+ 0: aload_0
2795
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2796
+ 6: ireturn
2797
+ <|@
2798
+ end_bytecodes
2799
+ begin_cfg
2800
+ name "After LocationMarker"
2801
+ begin_block
2802
+ name "B0"
2803
+ from_bci -1
2804
+ to_bci -1
2805
+ predecessors
2806
+ successors "B1" "B2"
2807
+ xhandlers
2808
+ flags
2809
+ probability 4607182418800017408
2810
+ begin_IR
2811
+ LIR
2812
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2813
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2814
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2815
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2816
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2817
+ end_IR
2818
+ end_block
2819
+ begin_block
2820
+ name "B2"
2821
+ from_bci -1
2822
+ to_bci -1
2823
+ predecessors "B0"
2824
+ successors "B3"
2825
+ xhandlers
2826
+ flags
2827
+ probability 4602678819172646912
2828
+ begin_IR
2829
+ LIR
2830
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2831
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2832
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2833
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2834
+ end_IR
2835
+ end_block
2836
+ begin_block
2837
+ name "B3"
2838
+ from_bci -1
2839
+ to_bci -1
2840
+ predecessors "B1" "B2"
2841
+ successors "B4" "B5"
2842
+ xhandlers
2843
+ flags
2844
+ probability 4607182418800017408
2845
+ begin_IR
2846
+ LIR
2847
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2848
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2849
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
2850
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2851
+ end_IR
2852
+ end_block
2853
+ begin_block
2854
+ name "B4"
2855
+ from_bci -1
2856
+ to_bci -1
2857
+ predecessors "B3"
2858
+ successors
2859
+ xhandlers
2860
+ flags
2861
+ probability 4607182418800017408
2862
+ begin_IR
2863
+ LIR
2864
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2865
+ nr 36 <|@ st <@st|@reference-map: []
2866
+ live-base-pointers: []
2867
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2868
+ locals: -
2869
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2870
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2871
+ end_IR
2872
+ end_block
2873
+ begin_block
2874
+ name "B1"
2875
+ from_bci -1
2876
+ to_bci -1
2877
+ predecessors "B0"
2878
+ successors "B3"
2879
+ xhandlers
2880
+ flags
2881
+ probability 4602678819172646912
2882
+ begin_IR
2883
+ LIR
2884
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2885
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
2886
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
2887
+ end_IR
2888
+ end_block
2889
+ begin_block
2890
+ name "B5"
2891
+ from_bci -1
2892
+ to_bci -1
2893
+ predecessors "B3"
2894
+ successors
2895
+ xhandlers
2896
+ flags
2897
+ probability 2355382605114769408
2898
+ begin_IR
2899
+ LIR
2900
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2901
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
2902
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
2903
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
2904
+ live-base-pointers: []
2905
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
2906
+ locals: rsi|QWORD[.]
2907
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
2908
+ end_IR
2909
+ end_block
2910
+ end_cfg
2911
+ begin_bytecodes
2912
+ 0: aload_0
2913
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
2914
+ 6: ireturn
2915
+ <|@
2916
+ end_bytecodes
2917
+ begin_cfg
2918
+ name "After AllocationStage"
2919
+ begin_block
2920
+ name "B0"
2921
+ from_bci -1
2922
+ to_bci -1
2923
+ predecessors
2924
+ successors "B1" "B2"
2925
+ xhandlers
2926
+ flags
2927
+ probability 4607182418800017408
2928
+ begin_IR
2929
+ LIR
2930
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2931
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
2932
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
2933
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
2934
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
2935
+ end_IR
2936
+ end_block
2937
+ begin_block
2938
+ name "B2"
2939
+ from_bci -1
2940
+ to_bci -1
2941
+ predecessors "B0"
2942
+ successors "B3"
2943
+ xhandlers
2944
+ flags
2945
+ probability 4602678819172646912
2946
+ begin_IR
2947
+ LIR
2948
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2949
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
2950
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
2951
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
2952
+ end_IR
2953
+ end_block
2954
+ begin_block
2955
+ name "B3"
2956
+ from_bci -1
2957
+ to_bci -1
2958
+ predecessors "B1" "B2"
2959
+ successors "B4" "B5"
2960
+ xhandlers
2961
+ flags
2962
+ probability 4607182418800017408
2963
+ begin_IR
2964
+ LIR
2965
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
2966
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
2967
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
2968
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
2969
+ end_IR
2970
+ end_block
2971
+ begin_block
2972
+ name "B4"
2973
+ from_bci -1
2974
+ to_bci -1
2975
+ predecessors "B3"
2976
+ successors
2977
+ xhandlers
2978
+ flags
2979
+ probability 4607182418800017408
2980
+ begin_IR
2981
+ LIR
2982
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
2983
+ nr 36 <|@ st <@st|@reference-map: []
2984
+ live-base-pointers: []
2985
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
2986
+ locals: -
2987
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
2988
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
2989
+ end_IR
2990
+ end_block
2991
+ begin_block
2992
+ name "B1"
2993
+ from_bci -1
2994
+ to_bci -1
2995
+ predecessors "B0"
2996
+ successors "B3"
2997
+ xhandlers
2998
+ flags
2999
+ probability 4602678819172646912
3000
+ begin_IR
3001
+ LIR
3002
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3003
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3004
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3005
+ end_IR
3006
+ end_block
3007
+ begin_block
3008
+ name "B5"
3009
+ from_bci -1
3010
+ to_bci -1
3011
+ predecessors "B3"
3012
+ successors
3013
+ xhandlers
3014
+ flags
3015
+ probability 2355382605114769408
3016
+ begin_IR
3017
+ LIR
3018
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3019
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3020
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3021
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3022
+ live-base-pointers: []
3023
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3024
+ locals: rsi|QWORD[.]
3025
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3026
+ end_IR
3027
+ end_block
3028
+ end_cfg
3029
+ begin_bytecodes
3030
+ 0: aload_0
3031
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3032
+ 6: ireturn
3033
+ <|@
3034
+ end_bytecodes
3035
+ begin_cfg
3036
+ name "After EdgeMoveOptimizer"
3037
+ begin_block
3038
+ name "B0"
3039
+ from_bci -1
3040
+ to_bci -1
3041
+ predecessors
3042
+ successors "B1" "B2"
3043
+ xhandlers
3044
+ flags
3045
+ probability 4607182418800017408
3046
+ begin_IR
3047
+ LIR
3048
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3049
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3050
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3051
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3052
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3053
+ end_IR
3054
+ end_block
3055
+ begin_block
3056
+ name "B2"
3057
+ from_bci -1
3058
+ to_bci -1
3059
+ predecessors "B0"
3060
+ successors "B3"
3061
+ xhandlers
3062
+ flags
3063
+ probability 4602678819172646912
3064
+ begin_IR
3065
+ LIR
3066
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3067
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3068
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3069
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3070
+ end_IR
3071
+ end_block
3072
+ begin_block
3073
+ name "B3"
3074
+ from_bci -1
3075
+ to_bci -1
3076
+ predecessors "B1" "B2"
3077
+ successors "B4" "B5"
3078
+ xhandlers
3079
+ flags
3080
+ probability 4607182418800017408
3081
+ begin_IR
3082
+ LIR
3083
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3084
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3085
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3086
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3087
+ end_IR
3088
+ end_block
3089
+ begin_block
3090
+ name "B4"
3091
+ from_bci -1
3092
+ to_bci -1
3093
+ predecessors "B3"
3094
+ successors
3095
+ xhandlers
3096
+ flags
3097
+ probability 4607182418800017408
3098
+ begin_IR
3099
+ LIR
3100
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3101
+ nr 36 <|@ st <@st|@reference-map: []
3102
+ live-base-pointers: []
3103
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3104
+ locals: -
3105
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3106
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3107
+ end_IR
3108
+ end_block
3109
+ begin_block
3110
+ name "B1"
3111
+ from_bci -1
3112
+ to_bci -1
3113
+ predecessors "B0"
3114
+ successors "B3"
3115
+ xhandlers
3116
+ flags
3117
+ probability 4602678819172646912
3118
+ begin_IR
3119
+ LIR
3120
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3121
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3122
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3123
+ end_IR
3124
+ end_block
3125
+ begin_block
3126
+ name "B5"
3127
+ from_bci -1
3128
+ to_bci -1
3129
+ predecessors "B3"
3130
+ successors
3131
+ xhandlers
3132
+ flags
3133
+ probability 2355382605114769408
3134
+ begin_IR
3135
+ LIR
3136
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3137
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3138
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3139
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3140
+ live-base-pointers: []
3141
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3142
+ locals: rsi|QWORD[.]
3143
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3144
+ end_IR
3145
+ end_block
3146
+ end_cfg
3147
+ begin_bytecodes
3148
+ 0: aload_0
3149
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3150
+ 6: ireturn
3151
+ <|@
3152
+ end_bytecodes
3153
+ begin_cfg
3154
+ name "After ControlFlowOptimizer"
3155
+ begin_block
3156
+ name "B0"
3157
+ from_bci -1
3158
+ to_bci -1
3159
+ predecessors
3160
+ successors "B1" "B2"
3161
+ xhandlers
3162
+ flags
3163
+ probability 4607182418800017408
3164
+ begin_IR
3165
+ LIR
3166
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3167
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3168
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3169
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3170
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3171
+ end_IR
3172
+ end_block
3173
+ begin_block
3174
+ name "B2"
3175
+ from_bci -1
3176
+ to_bci -1
3177
+ predecessors "B0"
3178
+ successors "B3"
3179
+ xhandlers
3180
+ flags
3181
+ probability 4602678819172646912
3182
+ begin_IR
3183
+ LIR
3184
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3185
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3186
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3187
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3188
+ end_IR
3189
+ end_block
3190
+ begin_block
3191
+ name "B3"
3192
+ from_bci -1
3193
+ to_bci -1
3194
+ predecessors "B1" "B2"
3195
+ successors "B4" "B5"
3196
+ xhandlers
3197
+ flags
3198
+ probability 4607182418800017408
3199
+ begin_IR
3200
+ LIR
3201
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3202
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3203
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3204
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3205
+ end_IR
3206
+ end_block
3207
+ begin_block
3208
+ name "B4"
3209
+ from_bci -1
3210
+ to_bci -1
3211
+ predecessors "B3"
3212
+ successors
3213
+ xhandlers
3214
+ flags
3215
+ probability 4607182418800017408
3216
+ begin_IR
3217
+ LIR
3218
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3219
+ nr 36 <|@ st <@st|@reference-map: []
3220
+ live-base-pointers: []
3221
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3222
+ locals: -
3223
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3224
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3225
+ end_IR
3226
+ end_block
3227
+ begin_block
3228
+ name "B1"
3229
+ from_bci -1
3230
+ to_bci -1
3231
+ predecessors "B0"
3232
+ successors "B3"
3233
+ xhandlers
3234
+ flags
3235
+ probability 4602678819172646912
3236
+ begin_IR
3237
+ LIR
3238
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3239
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3240
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3241
+ end_IR
3242
+ end_block
3243
+ begin_block
3244
+ name "B5"
3245
+ from_bci -1
3246
+ to_bci -1
3247
+ predecessors "B3"
3248
+ successors
3249
+ xhandlers
3250
+ flags
3251
+ probability 2355382605114769408
3252
+ begin_IR
3253
+ LIR
3254
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3255
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3256
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3257
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3258
+ live-base-pointers: []
3259
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3260
+ locals: rsi|QWORD[.]
3261
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3262
+ end_IR
3263
+ end_block
3264
+ end_cfg
3265
+ begin_bytecodes
3266
+ 0: aload_0
3267
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3268
+ 6: ireturn
3269
+ <|@
3270
+ end_bytecodes
3271
+ begin_cfg
3272
+ name "After RedundantMoveElimination"
3273
+ begin_block
3274
+ name "B0"
3275
+ from_bci -1
3276
+ to_bci -1
3277
+ predecessors
3278
+ successors "B1" "B2"
3279
+ xhandlers
3280
+ flags
3281
+ probability 4607182418800017408
3282
+ begin_IR
3283
+ LIR
3284
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3285
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3286
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3287
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3288
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3289
+ end_IR
3290
+ end_block
3291
+ begin_block
3292
+ name "B2"
3293
+ from_bci -1
3294
+ to_bci -1
3295
+ predecessors "B0"
3296
+ successors "B3"
3297
+ xhandlers
3298
+ flags
3299
+ probability 4602678819172646912
3300
+ begin_IR
3301
+ LIR
3302
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3303
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3304
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3305
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3306
+ end_IR
3307
+ end_block
3308
+ begin_block
3309
+ name "B3"
3310
+ from_bci -1
3311
+ to_bci -1
3312
+ predecessors "B1" "B2"
3313
+ successors "B4" "B5"
3314
+ xhandlers
3315
+ flags
3316
+ probability 4607182418800017408
3317
+ begin_IR
3318
+ LIR
3319
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3320
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3321
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3322
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3323
+ end_IR
3324
+ end_block
3325
+ begin_block
3326
+ name "B4"
3327
+ from_bci -1
3328
+ to_bci -1
3329
+ predecessors "B3"
3330
+ successors
3331
+ xhandlers
3332
+ flags
3333
+ probability 4607182418800017408
3334
+ begin_IR
3335
+ LIR
3336
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3337
+ nr 36 <|@ st <@st|@reference-map: []
3338
+ live-base-pointers: []
3339
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3340
+ locals: -
3341
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3342
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3343
+ end_IR
3344
+ end_block
3345
+ begin_block
3346
+ name "B1"
3347
+ from_bci -1
3348
+ to_bci -1
3349
+ predecessors "B0"
3350
+ successors "B3"
3351
+ xhandlers
3352
+ flags
3353
+ probability 4602678819172646912
3354
+ begin_IR
3355
+ LIR
3356
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3357
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3358
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3359
+ end_IR
3360
+ end_block
3361
+ begin_block
3362
+ name "B5"
3363
+ from_bci -1
3364
+ to_bci -1
3365
+ predecessors "B3"
3366
+ successors
3367
+ xhandlers
3368
+ flags
3369
+ probability 2355382605114769408
3370
+ begin_IR
3371
+ LIR
3372
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3373
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3374
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3375
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3376
+ live-base-pointers: []
3377
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3378
+ locals: rsi|QWORD[.]
3379
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3380
+ end_IR
3381
+ end_block
3382
+ end_cfg
3383
+ begin_bytecodes
3384
+ 0: aload_0
3385
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3386
+ 6: ireturn
3387
+ <|@
3388
+ end_bytecodes
3389
+ begin_cfg
3390
+ name "After NullCheckOptimizer"
3391
+ begin_block
3392
+ name "B0"
3393
+ from_bci -1
3394
+ to_bci -1
3395
+ predecessors
3396
+ successors "B1" "B2"
3397
+ xhandlers
3398
+ flags
3399
+ probability 4607182418800017408
3400
+ begin_IR
3401
+ LIR
3402
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3403
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3404
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3405
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3406
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3407
+ end_IR
3408
+ end_block
3409
+ begin_block
3410
+ name "B2"
3411
+ from_bci -1
3412
+ to_bci -1
3413
+ predecessors "B0"
3414
+ successors "B3"
3415
+ xhandlers
3416
+ flags
3417
+ probability 4602678819172646912
3418
+ begin_IR
3419
+ LIR
3420
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3421
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3422
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3423
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3424
+ end_IR
3425
+ end_block
3426
+ begin_block
3427
+ name "B3"
3428
+ from_bci -1
3429
+ to_bci -1
3430
+ predecessors "B1" "B2"
3431
+ successors "B4" "B5"
3432
+ xhandlers
3433
+ flags
3434
+ probability 4607182418800017408
3435
+ begin_IR
3436
+ LIR
3437
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3438
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3439
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3440
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3441
+ end_IR
3442
+ end_block
3443
+ begin_block
3444
+ name "B4"
3445
+ from_bci -1
3446
+ to_bci -1
3447
+ predecessors "B3"
3448
+ successors
3449
+ xhandlers
3450
+ flags
3451
+ probability 4607182418800017408
3452
+ begin_IR
3453
+ LIR
3454
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3455
+ nr 36 <|@ st <@st|@reference-map: []
3456
+ live-base-pointers: []
3457
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3458
+ locals: -
3459
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3460
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3461
+ end_IR
3462
+ end_block
3463
+ begin_block
3464
+ name "B1"
3465
+ from_bci -1
3466
+ to_bci -1
3467
+ predecessors "B0"
3468
+ successors "B3"
3469
+ xhandlers
3470
+ flags
3471
+ probability 4602678819172646912
3472
+ begin_IR
3473
+ LIR
3474
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3475
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3476
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3477
+ end_IR
3478
+ end_block
3479
+ begin_block
3480
+ name "B5"
3481
+ from_bci -1
3482
+ to_bci -1
3483
+ predecessors "B3"
3484
+ successors
3485
+ xhandlers
3486
+ flags
3487
+ probability 2355382605114769408
3488
+ begin_IR
3489
+ LIR
3490
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3491
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3492
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3493
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3494
+ live-base-pointers: []
3495
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3496
+ locals: rsi|QWORD[.]
3497
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3498
+ end_IR
3499
+ end_block
3500
+ end_cfg
3501
+ begin_bytecodes
3502
+ 0: aload_0
3503
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3504
+ 6: ireturn
3505
+ <|@
3506
+ end_bytecodes
3507
+ begin_cfg
3508
+ name "After StackMoveOptimization"
3509
+ begin_block
3510
+ name "B0"
3511
+ from_bci -1
3512
+ to_bci -1
3513
+ predecessors
3514
+ successors "B1" "B2"
3515
+ xhandlers
3516
+ flags
3517
+ probability 4607182418800017408
3518
+ begin_IR
3519
+ LIR
3520
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3521
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3522
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3523
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3524
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3525
+ end_IR
3526
+ end_block
3527
+ begin_block
3528
+ name "B2"
3529
+ from_bci -1
3530
+ to_bci -1
3531
+ predecessors "B0"
3532
+ successors "B3"
3533
+ xhandlers
3534
+ flags
3535
+ probability 4602678819172646912
3536
+ begin_IR
3537
+ LIR
3538
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3539
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3540
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3541
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3542
+ end_IR
3543
+ end_block
3544
+ begin_block
3545
+ name "B3"
3546
+ from_bci -1
3547
+ to_bci -1
3548
+ predecessors "B1" "B2"
3549
+ successors "B4" "B5"
3550
+ xhandlers
3551
+ flags
3552
+ probability 4607182418800017408
3553
+ begin_IR
3554
+ LIR
3555
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3556
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3557
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3558
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3559
+ end_IR
3560
+ end_block
3561
+ begin_block
3562
+ name "B4"
3563
+ from_bci -1
3564
+ to_bci -1
3565
+ predecessors "B3"
3566
+ successors
3567
+ xhandlers
3568
+ flags
3569
+ probability 4607182418800017408
3570
+ begin_IR
3571
+ LIR
3572
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3573
+ nr 36 <|@ st <@st|@reference-map: []
3574
+ live-base-pointers: []
3575
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3576
+ locals: -
3577
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3578
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3579
+ end_IR
3580
+ end_block
3581
+ begin_block
3582
+ name "B1"
3583
+ from_bci -1
3584
+ to_bci -1
3585
+ predecessors "B0"
3586
+ successors "B3"
3587
+ xhandlers
3588
+ flags
3589
+ probability 4602678819172646912
3590
+ begin_IR
3591
+ LIR
3592
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3593
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3594
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3595
+ end_IR
3596
+ end_block
3597
+ begin_block
3598
+ name "B5"
3599
+ from_bci -1
3600
+ to_bci -1
3601
+ predecessors "B3"
3602
+ successors
3603
+ xhandlers
3604
+ flags
3605
+ probability 2355382605114769408
3606
+ begin_IR
3607
+ LIR
3608
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3609
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3610
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3611
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3612
+ live-base-pointers: []
3613
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3614
+ locals: rsi|QWORD[.]
3615
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3616
+ end_IR
3617
+ end_block
3618
+ end_cfg
3619
+ begin_bytecodes
3620
+ 0: aload_0
3621
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3622
+ 6: ireturn
3623
+ <|@
3624
+ end_bytecodes
3625
+ begin_cfg
3626
+ name "After PostAllocationOptimizationStage"
3627
+ begin_block
3628
+ name "B0"
3629
+ from_bci -1
3630
+ to_bci -1
3631
+ predecessors
3632
+ successors "B1" "B2"
3633
+ xhandlers
3634
+ flags
3635
+ probability 4607182418800017408
3636
+ begin_IR
3637
+ LIR
3638
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3639
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
3640
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <|@ <|@
3641
+ nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
3642
+ nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
3643
+ end_IR
3644
+ end_block
3645
+ begin_block
3646
+ name "B2"
3647
+ from_bci -1
3648
+ to_bci -1
3649
+ predecessors "B0"
3650
+ successors "B3"
3651
+ xhandlers
3652
+ flags
3653
+ probability 4602678819172646912
3654
+ begin_IR
3655
+ LIR
3656
+ nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3657
+ nr 14 <|@ instruction r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
3658
+ nr 16 <|@ instruction r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <|@ <|@
3659
+ nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
3660
+ end_IR
3661
+ end_block
3662
+ begin_block
3663
+ name "B3"
3664
+ from_bci -1
3665
+ to_bci -1
3666
+ predecessors "B1" "B2"
3667
+ successors "B4" "B5"
3668
+ xhandlers
3669
+ flags
3670
+ probability 4607182418800017408
3671
+ begin_IR
3672
+ LIR
3673
+ nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
3674
+ nr 26 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
3675
+ nr 28 <|@ instruction CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <|@ <|@
3676
+ nr 30 <|@ instruction BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <|@ <|@
3677
+ end_IR
3678
+ end_block
3679
+ begin_block
3680
+ name "B4"
3681
+ from_bci -1
3682
+ to_bci -1
3683
+ predecessors "B3"
3684
+ successors
3685
+ xhandlers
3686
+ flags
3687
+ probability 4607182418800017408
3688
+ begin_IR
3689
+ LIR
3690
+ nr 32 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3691
+ nr 36 <|@ st <@st|@reference-map: []
3692
+ live-base-pointers: []
3693
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1]
3694
+ locals: -
3695
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
3696
+ nr 42 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
3697
+ end_IR
3698
+ end_block
3699
+ begin_block
3700
+ name "B1"
3701
+ from_bci -1
3702
+ to_bci -1
3703
+ predecessors "B0"
3704
+ successors "B3"
3705
+ xhandlers
3706
+ flags
3707
+ probability 4602678819172646912
3708
+ begin_IR
3709
+ LIR
3710
+ nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3711
+ nr -1 <|@ instruction r10|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
3712
+ nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
3713
+ end_IR
3714
+ end_block
3715
+ begin_block
3716
+ name "B5"
3717
+ from_bci -1
3718
+ to_bci -1
3719
+ predecessors "B3"
3720
+ successors
3721
+ xhandlers
3722
+ flags
3723
+ probability 2355382605114769408
3724
+ begin_IR
3725
+ LIR
3726
+ nr 44 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
3727
+ nr 46 <|@ instruction MOV [r15|QWORD + 644] y: -2620 size: DWORD <|@ <|@
3728
+ nr 48 <|@ instruction MOV [r15|QWORD + 656] y: 0 size: QWORD <|@ <|@
3729
+ nr 50 <|@ st <@st|@reference-map: [rsi:0]
3730
+ live-base-pointers: []
3731
+ JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0]
3732
+ locals: rsi|QWORD[.]
3733
+ >@ <|@ instruction DEOPT info [bci:0] <|@ <|@
3734
+ end_IR
3735
+ end_block
3736
+ end_cfg
3737
+ begin_bytecodes
3738
+ 0: aload_0
3739
+ 1: invokeinterface#54, 1 // JavaExamples$InterfaceOneImpl.interfaceCall:()int
3740
+ 6: ireturn
3741
+ <|@
3742
+ end_bytecodes
3743
+ begin_cfg
3744
+ name "After code generation"
3745
+ end_cfg
3746
+ begin_nmethod
3747
+ <<<HexCodeFile
3748
+ Platform AMD64 64 <||@
3749
+ HexCode 0 89842400c0feff4883ec1848896c24104885f60f8437000000448b560849c1e20349bbaddeaddeaddeadde4d3bda0f8525000000666690e80000000090488b6c24104883c418850500000000c5f877c349c7c200000000ebc841c78784020000c4f5ffff49c7879002000000000000e80000000090e80000000090e80000000090 <||@
3750
+ Comment 0 [stack overflow check] <||@
3751
+ Comment 0 3 <||@
3752
+ Comment 0 1 <||@
3753
+ Comment 11 block B0 null <||@
3754
+ Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
3755
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
3756
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <||@
3757
+ Comment 16 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
3758
+ Comment 19 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
3759
+ Comment 25 block B2 null <||@
3760
+ Comment 25 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
3761
+ Comment 25 14 r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
3762
+ Comment 29 16 r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <||@
3763
+ Comment 33 18 JUMP ~[] destination: B2 -> B3 <||@
3764
+ Comment 33 block B3 null <||@
3765
+ Comment 33 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
3766
+ Comment 33 26 r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
3767
+ Comment 33 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
3768
+ Comment 43 28 CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <||@
3769
+ Comment 46 30 BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <||@
3770
+ Comment 52 block B4 null <||@
3771
+ Comment 52 32 [] = LABEL numbPhis: 0 align: false label: ? <||@
3772
+ Comment 52 36 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
3773
+ Comment 52 9 <||@
3774
+ Comment 55 {HotSpotMethod<JavaExamples$OneImpl.interfaceCall()>} <||@
3775
+ Comment 60 []at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1, duringCall: true, rethrow: false]
3776
+ |0
3777
+ locals: |- <||@
3778
+ Comment 61 42 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
3779
+ Comment 70 12 <||@
3780
+ Comment 80 block B1 null <||@
3781
+ Comment 80 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
3782
+ Comment 80 -1 r10|QWORD = MOVE input: Object[null] <||@
3783
+ Comment 87 22 JUMP ~[] destination: B1 -> B3 <||@
3784
+ Comment 89 block B5 null <||@
3785
+ Comment 89 44 [] = LABEL numbPhis: 0 align: false label: ? <||@
3786
+ Comment 89 46 MOV [r15|QWORD + 644] y: -2620 size: DWORD <||@
3787
+ Comment 100 48 MOV [r15|QWORD + 656] y: 0 size: QWORD <||@
3788
+ Comment 111 50 DEOPT info [bci:0] <||@
3789
+ Comment 111 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_uncommon_trap, type=address, offset=0, address=0x1044bc130, value=4562715454]:0x10ff5833e} <||@
3790
+ Comment 116 [rsi:0]at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0, duringCall: false, rethrow: false]
3791
+ |0
3792
+ locals: |rsi|QWORD[.] <||@
3793
+ Comment 117 {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} <||@
3794
+ Comment 117 4 <||@
3795
+ Comment 123 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
3796
+ Comment 123 5 <||@
3797
+ HexCodeFile>>> <|@
3798
+ end_nmethod
3799
+ begin_compilation
3800
+ name " HotSpotCompilation-360[JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)]"
3801
+ method "HotSpotCompilation-360[JavaExamples.exampleInterfaceCallOneImpl(JavaExamples$InterfaceOneImpl)]"
3802
+ date 1583840237824
3803
+ end_compilation
3804
+ begin_cfg
3805
+ name "After code installation"
3806
+ end_cfg
3807
+ begin_nmethod
3808
+ <<<HexCodeFile
3809
+ Platform AMD64 64 <||@
3810
+ HexCode 1100a7a60 89842400c0feff4883ec1848896c24104885f60f8437000000448b560849c1e20349bb280806c0070000004d3bda0f8525000000666690e80422f8ff90488b6c24104883c41885055ac51ff2c5f877c349c7c200000000ebc841c78784020000c4f5ffff49c7879002000000000000e86a08ebff90e8c627ffff90e86007ebff90f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
3811
+ Comment 0 [stack overflow check] <||@
3812
+ Comment 0 3 <||@
3813
+ Comment 0 1 <||@
3814
+ Comment 11 block B0 null <||@
3815
+ Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
3816
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
3817
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@130304450 slotKind: QWORD <||@
3818
+ Comment 16 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
3819
+ Comment 19 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
3820
+ Comment 25 block B2 null <||@
3821
+ Comment 25 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
3822
+ Comment 25 14 r10|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
3823
+ Comment 29 16 r10|QWORD = UNCOMPRESSPOINTER (input: r10|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@130304738 encoding: base: 0 shift: 3 <||@
3824
+ Comment 33 18 JUMP ~[] destination: B2 -> B3 <||@
3825
+ Comment 33 block B3 null <||@
3826
+ Comment 33 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
3827
+ Comment 33 26 r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
3828
+ Comment 33 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
3829
+ Comment 43 28 CMP (x: r11|QWORD, y: r10|QWORD) size: QWORD <||@
3830
+ Comment 46 30 BRANCH trueDestinationProbability: 1.0 condition: = trueDestination: B3 -> B4 falseDestination: B3 -> B5 <||@
3831
+ Comment 52 block B4 null <||@
3832
+ Comment 52 32 [] = LABEL numbPhis: 0 align: false label: ? <||@
3833
+ Comment 52 36 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$OneImpl.interfaceCall()> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
3834
+ Comment 52 9 <||@
3835
+ Comment 55 {HotSpotMethod<JavaExamples$OneImpl.interfaceCall()>} <||@
3836
+ Comment 60 []at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 1, duringCall: true, rethrow: false]
3837
+ |0
3838
+ locals: |- <||@
3839
+ Comment 61 42 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
3840
+ Comment 70 12 <||@
3841
+ Comment 80 block B1 null <||@
3842
+ Comment 80 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
3843
+ Comment 80 -1 r10|QWORD = MOVE input: Object[null] <||@
3844
+ Comment 87 22 JUMP ~[] destination: B1 -> B3 <||@
3845
+ Comment 89 block B5 null <||@
3846
+ Comment 89 44 [] = LABEL numbPhis: 0 align: false label: ? <||@
3847
+ Comment 89 46 MOV [r15|QWORD + 644] y: -2620 size: DWORD <||@
3848
+ Comment 100 48 MOV [r15|QWORD + 656] y: 0 size: QWORD <||@
3849
+ Comment 111 50 DEOPT info [bci:0] <||@
3850
+ Comment 111 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_uncommon_trap, type=address, offset=0, address=0x1044bc130, value=4562715454]:0x10ff5833e} <||@
3851
+ Comment 116 [rsi:0]at JavaExamples.exampleInterfaceCallOneImpl(JavaExamples.java:107) [bci: 0, duringCall: false, rethrow: false]
3852
+ |0
3853
+ locals: |rsi|QWORD[.] <||@
3854
+ Comment 117 {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} <||@
3855
+ Comment 117 4 <||@
3856
+ Comment 123 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
3857
+ Comment 123 5 <||@
3858
+ HexCodeFile>>> <|@
3859
+ end_nmethod