seafoam 0.2 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +39 -0
  3. data/.rubocop.yml +4 -1
  4. data/README.md +107 -27
  5. data/bin/bgv2isabelle +16 -45
  6. data/bin/bgv2json +18 -36
  7. data/bin/cfg2asm +24 -0
  8. data/bin/seafoam +2 -2
  9. data/demos/box-unbox-stats +65 -0
  10. data/docs/bgv.md +16 -7
  11. data/docs/getting-graphs.md +12 -0
  12. data/docs/json.md +35 -0
  13. data/examples/fib-java.bgv.gz +0 -0
  14. data/examples/fib.js +1 -1
  15. data/examples/java/JavaExamples.java +1 -1
  16. data/examples/ruby/clamps.rb +20 -0
  17. data/examples/ruby/graal.patch +15 -0
  18. data/examples/ruby/ruby_examples.rb +278 -0
  19. data/lib/seafoam.rb +5 -1
  20. data/lib/seafoam/annotators/graal.rb +1 -1
  21. data/lib/seafoam/bgv/bgv_parser.rb +12 -2
  22. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  23. data/lib/seafoam/cfg/disassembler.rb +70 -0
  24. data/lib/seafoam/commands.rb +196 -36
  25. data/lib/seafoam/graal/source.rb +23 -0
  26. data/lib/seafoam/isabelle_writer.rb +46 -0
  27. data/lib/seafoam/json_writer.rb +58 -0
  28. data/lib/seafoam/version.rb +1 -1
  29. data/seafoam.gemspec +4 -2
  30. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  31. data/spec/seafoam/bgv/bgv_parser_spec.rb +27 -14
  32. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  33. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  34. data/spec/seafoam/command_spec.rb +94 -30
  35. data/spec/seafoam/graphviz_writer_spec.rb +2 -2
  36. data/spec/seafoam/json_writer_spec.rb +14 -0
  37. data/spec/seafoam/spec_helpers.rb +5 -1
  38. data/spec/seafoam/spotlight_spec.rb +1 -1
  39. data/tools/render-all +2 -2
  40. metadata +34 -98
  41. data/.github/workflows/rubocop.yml +0 -10
  42. data/.github/workflows/specs.yml +0 -19
  43. data/examples/fib-java.bgv +0 -0
  44. data/examples/fib-js.bgv +0 -0
  45. data/examples/fib-ruby.bgv +0 -0
  46. data/examples/identity.bgv +0 -0
  47. data/examples/java/exampleArithOperator.bgv +0 -0
  48. data/examples/java/exampleArithOperator.cfg +0 -925
  49. data/examples/java/exampleArrayAllocation.bgv +0 -0
  50. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  51. data/examples/java/exampleArrayRead.bgv +0 -0
  52. data/examples/java/exampleArrayRead.cfg +0 -2263
  53. data/examples/java/exampleArrayWrite.bgv +0 -0
  54. data/examples/java/exampleArrayWrite.cfg +0 -2315
  55. data/examples/java/exampleCatch.bgv +0 -0
  56. data/examples/java/exampleCatch.cfg +0 -4150
  57. data/examples/java/exampleCompareOperator.bgv +0 -0
  58. data/examples/java/exampleCompareOperator.cfg +0 -1109
  59. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  60. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  61. data/examples/java/exampleExactArith.bgv +0 -0
  62. data/examples/java/exampleExactArith.cfg +0 -1888
  63. data/examples/java/exampleFieldRead.bgv +0 -0
  64. data/examples/java/exampleFieldRead.cfg +0 -1228
  65. data/examples/java/exampleFieldWrite.bgv +0 -0
  66. data/examples/java/exampleFieldWrite.cfg +0 -1102
  67. data/examples/java/exampleFor.bgv +0 -0
  68. data/examples/java/exampleFor.cfg +0 -3936
  69. data/examples/java/exampleFullEscape.bgv +0 -0
  70. data/examples/java/exampleFullEscape.cfg +0 -5893
  71. data/examples/java/exampleIf.bgv +0 -0
  72. data/examples/java/exampleIf.cfg +0 -2462
  73. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  74. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  75. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  76. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  77. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  78. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  79. data/examples/java/exampleIntSwitch.bgv +0 -0
  80. data/examples/java/exampleIntSwitch.cfg +0 -3121
  81. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  82. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  83. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  84. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  85. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  86. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  87. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  88. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  89. data/examples/java/exampleLocalVariables.bgv +0 -0
  90. data/examples/java/exampleLocalVariables.cfg +0 -1195
  91. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  92. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  93. data/examples/java/exampleNestedWhile.bgv +0 -0
  94. data/examples/java/exampleNestedWhile.cfg +0 -15499
  95. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  96. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  97. data/examples/java/exampleNoEscape.bgv +0 -0
  98. data/examples/java/exampleNoEscape.cfg +0 -974
  99. data/examples/java/exampleObjectAllocation.bgv +0 -0
  100. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  101. data/examples/java/examplePartialEscape.bgv +0 -0
  102. data/examples/java/examplePartialEscape.cfg +0 -7042
  103. data/examples/java/examplePhi.bgv +0 -0
  104. data/examples/java/examplePhi.cfg +0 -3227
  105. data/examples/java/exampleReducible.bgv +0 -0
  106. data/examples/java/exampleReducible.cfg +0 -5578
  107. data/examples/java/exampleSimpleCall.bgv +0 -0
  108. data/examples/java/exampleSimpleCall.cfg +0 -1435
  109. data/examples/java/exampleStamp.bgv +0 -0
  110. data/examples/java/exampleStamp.cfg +0 -913
  111. data/examples/java/exampleStaticCall.bgv +0 -0
  112. data/examples/java/exampleStaticCall.cfg +0 -1154
  113. data/examples/java/exampleStringSwitch.bgv +0 -0
  114. data/examples/java/exampleStringSwitch.cfg +0 -15377
  115. data/examples/java/exampleSynchronized.bgv +0 -0
  116. data/examples/java/exampleSynchronized.cfg +0 -26027
  117. data/examples/java/exampleThrow.bgv +0 -0
  118. data/examples/java/exampleThrow.cfg +0 -780
  119. data/examples/java/exampleThrowCatch.bgv +0 -0
  120. data/examples/java/exampleThrowCatch.cfg +0 -744
  121. data/examples/java/exampleUnsafeRead.bgv +0 -0
  122. data/examples/java/exampleUnsafeRead.cfg +0 -912
  123. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  124. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  125. data/examples/java/exampleWhile.bgv +0 -0
  126. data/examples/java/exampleWhile.cfg +0 -3936
  127. data/examples/java/exampleWhileBreak.bgv +0 -0
  128. data/examples/java/exampleWhileBreak.cfg +0 -5963
  129. data/examples/matmult-java.bgv +0 -0
  130. data/examples/matmult-ruby.bgv +0 -0
  131. data/examples/overflow.bgv +0 -0
  132. data/lib/seafoam/binary/binary_reader.rb +0 -21
  133. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  134. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
@@ -1,3859 +0,0 @@
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