seafoam 0.3 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +40 -0
  3. data/.gitignore +0 -1
  4. data/.rubocop.yml +1 -1
  5. data/.ruby-version +1 -1
  6. data/Gemfile.lock +59 -0
  7. data/README.md +76 -3
  8. data/bin/bgv2isabelle +16 -45
  9. data/bin/bgv2json +18 -36
  10. data/bin/cfg2asm +24 -0
  11. data/bin/seafoam +1 -1
  12. data/demos/box-unbox-stats +65 -0
  13. data/docs/bgv.md +2 -1
  14. data/docs/getting-graphs.md +8 -0
  15. data/examples/Fib.java +1 -1
  16. data/examples/fib-java.bgv.gz +0 -0
  17. data/examples/fib.js +1 -1
  18. data/examples/java/JavaExamples.java +1 -1
  19. data/examples/ruby/clamps.rb +20 -0
  20. data/examples/ruby/graal.patch +15 -0
  21. data/examples/ruby/ruby_examples.rb +278 -0
  22. data/lib/seafoam.rb +5 -1
  23. data/lib/seafoam/annotators/graal.rb +1 -1
  24. data/lib/seafoam/bgv/bgv_parser.rb +10 -2
  25. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  26. data/lib/seafoam/cfg/disassembler.rb +70 -0
  27. data/lib/seafoam/commands.rb +190 -30
  28. data/lib/seafoam/graal/source.rb +23 -0
  29. data/lib/seafoam/graph.rb +25 -1
  30. data/lib/seafoam/graphviz_writer.rb +21 -2
  31. data/lib/seafoam/isabelle_writer.rb +46 -0
  32. data/lib/seafoam/json_writer.rb +58 -0
  33. data/lib/seafoam/version.rb +1 -1
  34. data/seafoam.gemspec +4 -2
  35. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  36. data/spec/seafoam/bgv/bgv_parser_spec.rb +13 -3
  37. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  38. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  39. data/spec/seafoam/command_spec.rb +86 -40
  40. data/spec/seafoam/json_writer_spec.rb +14 -0
  41. data/spec/seafoam/spec_helpers.rb +4 -0
  42. data/spec/seafoam/spotlight_spec.rb +1 -1
  43. data/tools/render-all +2 -2
  44. metadata +33 -96
  45. data/.github/workflows/rubocop.yml +0 -10
  46. data/.github/workflows/specs.yml +0 -19
  47. data/examples/fib-java.bgv +0 -0
  48. data/examples/fib-js.bgv +0 -0
  49. data/examples/fib-ruby.bgv +0 -0
  50. data/examples/identity.bgv +0 -0
  51. data/examples/java/exampleArithOperator.bgv +0 -0
  52. data/examples/java/exampleArithOperator.cfg +0 -925
  53. data/examples/java/exampleArrayAllocation.bgv +0 -0
  54. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  55. data/examples/java/exampleArrayRead.bgv +0 -0
  56. data/examples/java/exampleArrayRead.cfg +0 -2263
  57. data/examples/java/exampleArrayWrite.bgv +0 -0
  58. data/examples/java/exampleArrayWrite.cfg +0 -2315
  59. data/examples/java/exampleCatch.bgv +0 -0
  60. data/examples/java/exampleCatch.cfg +0 -4150
  61. data/examples/java/exampleCompareOperator.bgv +0 -0
  62. data/examples/java/exampleCompareOperator.cfg +0 -1109
  63. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  64. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  65. data/examples/java/exampleExactArith.bgv +0 -0
  66. data/examples/java/exampleExactArith.cfg +0 -1888
  67. data/examples/java/exampleFieldRead.bgv +0 -0
  68. data/examples/java/exampleFieldRead.cfg +0 -1228
  69. data/examples/java/exampleFieldWrite.bgv +0 -0
  70. data/examples/java/exampleFieldWrite.cfg +0 -1102
  71. data/examples/java/exampleFor.bgv +0 -0
  72. data/examples/java/exampleFor.cfg +0 -3936
  73. data/examples/java/exampleFullEscape.bgv +0 -0
  74. data/examples/java/exampleFullEscape.cfg +0 -5893
  75. data/examples/java/exampleIf.bgv +0 -0
  76. data/examples/java/exampleIf.cfg +0 -2462
  77. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  78. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  79. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  80. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  81. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  82. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  83. data/examples/java/exampleIntSwitch.bgv +0 -0
  84. data/examples/java/exampleIntSwitch.cfg +0 -3121
  85. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  86. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  87. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  88. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  89. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  90. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  91. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  92. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  93. data/examples/java/exampleLocalVariables.bgv +0 -0
  94. data/examples/java/exampleLocalVariables.cfg +0 -1195
  95. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  96. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  97. data/examples/java/exampleNestedWhile.bgv +0 -0
  98. data/examples/java/exampleNestedWhile.cfg +0 -15499
  99. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  100. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  101. data/examples/java/exampleNoEscape.bgv +0 -0
  102. data/examples/java/exampleNoEscape.cfg +0 -974
  103. data/examples/java/exampleObjectAllocation.bgv +0 -0
  104. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  105. data/examples/java/examplePartialEscape.bgv +0 -0
  106. data/examples/java/examplePartialEscape.cfg +0 -7042
  107. data/examples/java/examplePhi.bgv +0 -0
  108. data/examples/java/examplePhi.cfg +0 -3227
  109. data/examples/java/exampleReducible.bgv +0 -0
  110. data/examples/java/exampleReducible.cfg +0 -5578
  111. data/examples/java/exampleSimpleCall.bgv +0 -0
  112. data/examples/java/exampleSimpleCall.cfg +0 -1435
  113. data/examples/java/exampleStamp.bgv +0 -0
  114. data/examples/java/exampleStamp.cfg +0 -913
  115. data/examples/java/exampleStaticCall.bgv +0 -0
  116. data/examples/java/exampleStaticCall.cfg +0 -1154
  117. data/examples/java/exampleStringSwitch.bgv +0 -0
  118. data/examples/java/exampleStringSwitch.cfg +0 -15377
  119. data/examples/java/exampleSynchronized.bgv +0 -0
  120. data/examples/java/exampleSynchronized.cfg +0 -26027
  121. data/examples/java/exampleThrow.bgv +0 -0
  122. data/examples/java/exampleThrow.cfg +0 -780
  123. data/examples/java/exampleThrowCatch.bgv +0 -0
  124. data/examples/java/exampleThrowCatch.cfg +0 -744
  125. data/examples/java/exampleUnsafeRead.bgv +0 -0
  126. data/examples/java/exampleUnsafeRead.cfg +0 -912
  127. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  128. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  129. data/examples/java/exampleWhile.bgv +0 -0
  130. data/examples/java/exampleWhile.cfg +0 -3936
  131. data/examples/java/exampleWhileBreak.bgv +0 -0
  132. data/examples/java/exampleWhileBreak.cfg +0 -5963
  133. data/examples/matmult-java.bgv +0 -0
  134. data/examples/matmult-ruby.bgv +0 -0
  135. data/examples/overflow.bgv +0 -0
  136. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  137. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
@@ -1,1358 +0,0 @@
1
- begin_compilation
2
- name " HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
3
- method "HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
4
- date 1583840237781
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
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: v17
28
- === Usages ===
29
- === Predecessor ===
30
- - >@ <|@
31
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v17 <|@ <|@
32
- f <@~|@floating>@ <|@
33
- tid a16 <|@
34
- d <@d|@=== Debug Properties ===
35
- isDefaultStable: false
36
- rawvalue: null
37
- stableDimension: 0
38
- stamp: a - NULL
39
- stampKind: a -
40
- value: Object[null]
41
- === Inputs ===
42
- === Succesors ===
43
- === Usages ===
44
- ?2
45
- === Predecessor ===
46
- - >@ <|@
47
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
48
- tid ?2 <|@
49
- d <@d|@=== Debug Properties ===
50
- bci: 0
51
- code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
52
- duringCall: false
53
- localsSize: 1
54
- locksSize: 0
55
- rethrowException: false
56
- sourceFile: JavaExamples.java
57
- sourceLine: 111
58
- stackSize: 0
59
- === Inputs ===
60
- outerFrameState: -
61
- values: a16
62
- === Succesors ===
63
- === Usages ===
64
- v17
65
- === Predecessor ===
66
- - >@ <|@
67
- instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a16 <|@ <|@
68
- f <@~|@floating>@ <|@
69
- tid a1 <|@
70
- d <@d|@=== Debug Properties ===
71
- index: 0
72
- stamp: a -
73
- uncheckedStamp: a LJavaExamples$InterfaceManyImpls;
74
- === Inputs ===
75
- === Succesors ===
76
- === Usages ===
77
- v17 v10
78
- === Predecessor ===
79
- - >@ <|@
80
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
81
- f <@#|@fixed with next>@ <|@
82
- tid v17 <|@
83
- d <@d|@=== Debug Properties ===
84
- stamp: void
85
- === Inputs ===
86
- stateBefore: ?2
87
- object: a1
88
- === Succesors ===
89
- next: i4
90
- === Usages ===
91
- === Predecessor ===
92
- v0 >@ <|@
93
- instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?2 object: a1 #next: i4 <|@ <|@
94
- tid v10 <|@
95
- d <@d|@=== Debug Properties ===
96
- callType: JavaCall
97
- invokeKind: Interface
98
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
99
- returnStamp: i32
100
- signature: [Ljdk.vm.ci.meta.JavaType;@10f0cdc60
101
- stamp: void
102
- targetMethod: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>
103
- === Inputs ===
104
- arguments: a1
105
- === Succesors ===
106
- === Usages ===
107
- i4
108
- === Predecessor ===
109
- - >@ <|@
110
- instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
111
- tid ?15 <|@
112
- d <@d|@=== Debug Properties ===
113
- bci: 1
114
- code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
115
- duringCall: true
116
- localsSize: 1
117
- locksSize: 0
118
- rethrowException: false
119
- sourceFile: JavaExamples.java
120
- sourceLine: 111
121
- stackSize: 0
122
- === Inputs ===
123
- outerFrameState: -
124
- values: -
125
- === Succesors ===
126
- === Usages ===
127
- i4
128
- === Predecessor ===
129
- - >@ <|@
130
- instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
131
- f <@#|@fixed with next>@ <|@
132
- tid i4 <|@
133
- d <@d|@=== Debug Properties ===
134
- bci: 1
135
- identity: ANY_LOCATION
136
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
137
- polymorphic: true
138
- stamp: i32
139
- targetMethod: Direct#JavaExamples$InterfaceManyImpls.interfaceCall
140
- useForInlining: true
141
- === Inputs ===
142
- stateAfter: -
143
- classInit: -
144
- callTarget: v10
145
- stateDuring: ?15
146
- === Succesors ===
147
- next: v6
148
- === Usages ===
149
- v6
150
- === Predecessor ===
151
- v17 >@ <|@
152
- instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v10 stateDuring: ?15 #next: v6 <|@ <|@
153
- f <@*|@fixed>@ <|@
154
- tid v6 <|@
155
- d <@d|@=== Debug Properties ===
156
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 6]
157
- stamp: void
158
- === Inputs ===
159
- result: i4
160
- memoryMap: -
161
- === Succesors ===
162
- === Usages ===
163
- === Predecessor ===
164
- i4 >@ <|@
165
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
166
- end_IR
167
- end_block
168
- end_cfg
169
- begin_cfg
170
- name "After LIRGeneration"
171
- begin_block
172
- name "B0"
173
- from_bci -1
174
- to_bci -1
175
- predecessors
176
- successors
177
- xhandlers
178
- flags
179
- probability 4607182418800017408
180
- begin_IR
181
- LIR
182
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
183
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
184
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
185
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
186
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
187
- locals: Object[null]
188
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
189
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
190
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
191
- locals: -
192
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
193
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
194
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
195
- 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 <|@ <|@
196
- end_IR
197
- end_block
198
- end_cfg
199
- begin_bytecodes
200
- 0: aload_0
201
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
202
- 6: ireturn
203
- <|@
204
- end_bytecodes
205
- begin_cfg
206
- name "After LIR generation"
207
- begin_block
208
- name "B0"
209
- from_bci -1
210
- to_bci -1
211
- predecessors
212
- successors
213
- xhandlers
214
- flags
215
- probability 4607182418800017408
216
- begin_IR
217
- HIR
218
- f <@#|@fixed with next>@ <|@
219
- tid v0 <|@
220
- d <@d|@=== Debug Properties ===
221
- stamp: void
222
- withSpeculationFence: false
223
- === Inputs ===
224
- stateAfter: -
225
- === Succesors ===
226
- next: v17
227
- === Usages ===
228
- === Predecessor ===
229
- - >@ <|@
230
- instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v17 <|@ <|@
231
- f <@~|@floating>@ <|@
232
- tid a16 <|@
233
- result Object[null] <|@
234
- d <@d|@=== Debug Properties ===
235
- isDefaultStable: false
236
- rawvalue: null
237
- stableDimension: 0
238
- stamp: a - NULL
239
- stampKind: a -
240
- value: Object[null]
241
- === Inputs ===
242
- === Succesors ===
243
- === Usages ===
244
- ?2
245
- === Predecessor ===
246
- - >@ <|@
247
- instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
248
- tid ?2 <|@
249
- d <@d|@=== Debug Properties ===
250
- bci: 0
251
- code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
252
- duringCall: false
253
- localsSize: 1
254
- locksSize: 0
255
- rethrowException: false
256
- sourceFile: JavaExamples.java
257
- sourceLine: 111
258
- stackSize: 0
259
- === Inputs ===
260
- outerFrameState: -
261
- values: a16
262
- === Succesors ===
263
- === Usages ===
264
- v17
265
- === Predecessor ===
266
- - >@ <|@
267
- instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a16 <|@ <|@
268
- f <@~|@floating>@ <|@
269
- tid a1 <|@
270
- result v0|QWORD[.] <|@
271
- d <@d|@=== Debug Properties ===
272
- index: 0
273
- stamp: a -
274
- uncheckedStamp: a LJavaExamples$InterfaceManyImpls;
275
- === Inputs ===
276
- === Succesors ===
277
- === Usages ===
278
- v17 v10
279
- === Predecessor ===
280
- - >@ <|@
281
- instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
282
- f <@#|@fixed with next>@ <|@
283
- tid v17 <|@
284
- d <@d|@=== Debug Properties ===
285
- stamp: void
286
- === Inputs ===
287
- stateBefore: ?2
288
- object: a1
289
- === Succesors ===
290
- next: i4
291
- === Usages ===
292
- === Predecessor ===
293
- v0 >@ <|@
294
- instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?2 object: a1 #next: i4 <|@ <|@
295
- tid v10 <|@
296
- d <@d|@=== Debug Properties ===
297
- callType: JavaCall
298
- invokeKind: Interface
299
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
300
- returnStamp: i32
301
- signature: [Ljdk.vm.ci.meta.JavaType;@10f0cdc60
302
- stamp: void
303
- targetMethod: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>
304
- === Inputs ===
305
- arguments: a1
306
- === Succesors ===
307
- === Usages ===
308
- i4
309
- === Predecessor ===
310
- - >@ <|@
311
- instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 <|@ <|@
312
- tid ?15 <|@
313
- d <@d|@=== Debug Properties ===
314
- bci: 1
315
- code: ResolvedJavaMethodBytecode<JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)>
316
- duringCall: true
317
- localsSize: 1
318
- locksSize: 0
319
- rethrowException: false
320
- sourceFile: JavaExamples.java
321
- sourceLine: 111
322
- stackSize: 0
323
- === Inputs ===
324
- outerFrameState: -
325
- values: -
326
- === Succesors ===
327
- === Usages ===
328
- i4
329
- === Predecessor ===
330
- - >@ <|@
331
- instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
332
- f <@#|@fixed with next>@ <|@
333
- tid i4 <|@
334
- result v1|DWORD <|@
335
- d <@d|@=== Debug Properties ===
336
- bci: 1
337
- identity: ANY_LOCATION
338
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
339
- polymorphic: true
340
- stamp: i32
341
- targetMethod: Direct#JavaExamples$InterfaceManyImpls.interfaceCall
342
- useForInlining: true
343
- === Inputs ===
344
- stateAfter: -
345
- classInit: -
346
- callTarget: v10
347
- stateDuring: ?15
348
- === Succesors ===
349
- next: v6
350
- === Usages ===
351
- v6
352
- === Predecessor ===
353
- v17 >@ <|@
354
- instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v10 stateDuring: ?15 #next: v6 <|@ <|@
355
- f <@*|@fixed>@ <|@
356
- tid v6 <|@
357
- d <@d|@=== Debug Properties ===
358
- nodeSourcePosition: at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 6]
359
- stamp: void
360
- === Inputs ===
361
- result: i4
362
- memoryMap: -
363
- === Succesors ===
364
- === Usages ===
365
- === Predecessor ===
366
- i4 >@ <|@
367
- instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i4 memoryMap: - <|@ <|@
368
- end_IR
369
- begin_IR
370
- LIR
371
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
372
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
373
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
374
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
375
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
376
- locals: Object[null]
377
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
378
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
379
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
380
- locals: -
381
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
382
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
383
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
384
- 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 <|@ <|@
385
- end_IR
386
- end_block
387
- end_cfg
388
- begin_cfg
389
- name "After ConstantLoadOptimization"
390
- begin_block
391
- name "B0"
392
- from_bci -1
393
- to_bci -1
394
- predecessors
395
- successors
396
- xhandlers
397
- flags
398
- probability 4607182418800017408
399
- begin_IR
400
- LIR
401
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
402
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
403
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
404
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
405
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
406
- locals: Object[null]
407
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
408
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
409
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
410
- locals: -
411
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
412
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
413
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
414
- 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 <|@ <|@
415
- end_IR
416
- end_block
417
- end_cfg
418
- begin_bytecodes
419
- 0: aload_0
420
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
421
- 6: ireturn
422
- <|@
423
- end_bytecodes
424
- begin_cfg
425
- name "After SaveCalleeSaveRegisters"
426
- begin_block
427
- name "B0"
428
- from_bci -1
429
- to_bci -1
430
- predecessors
431
- successors
432
- xhandlers
433
- flags
434
- probability 4607182418800017408
435
- begin_IR
436
- LIR
437
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
438
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
439
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
440
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
441
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
442
- locals: Object[null]
443
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
444
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
445
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
446
- locals: -
447
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
448
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
449
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
450
- 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 <|@ <|@
451
- end_IR
452
- end_block
453
- end_cfg
454
- begin_bytecodes
455
- 0: aload_0
456
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
457
- 6: ireturn
458
- <|@
459
- end_bytecodes
460
- begin_cfg
461
- name "After PreAllocationOptimizationStage"
462
- begin_block
463
- name "B0"
464
- from_bci -1
465
- to_bci -1
466
- predecessors
467
- successors
468
- xhandlers
469
- flags
470
- probability 4607182418800017408
471
- begin_IR
472
- LIR
473
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
474
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
475
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
476
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
477
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
478
- locals: Object[null]
479
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
480
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
481
- nr -1 <|@ st <@st|@JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
482
- locals: -
483
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
484
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
485
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
486
- 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 <|@ <|@
487
- end_IR
488
- end_block
489
- end_cfg
490
- begin_bytecodes
491
- 0: aload_0
492
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
493
- 6: ireturn
494
- <|@
495
- end_bytecodes
496
- begin_cfg
497
- name "After MarkBasePointers"
498
- begin_block
499
- name "B0"
500
- from_bci -1
501
- to_bci -1
502
- predecessors
503
- successors
504
- xhandlers
505
- flags
506
- probability 4607182418800017408
507
- begin_IR
508
- LIR
509
- nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
510
- nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
511
- nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
512
- nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
513
- nr -1 <|@ st <@st|@live-base-pointers: []
514
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
515
- locals: Object[null]
516
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
517
- nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
518
- nr -1 <|@ st <@st|@live-base-pointers: []
519
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
520
- locals: -
521
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
522
- nr -1 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
523
- nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
524
- 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 <|@ <|@
525
- end_IR
526
- end_block
527
- end_cfg
528
- begin_bytecodes
529
- 0: aload_0
530
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
531
- 6: ireturn
532
- <|@
533
- end_bytecodes
534
- begin_cfg
535
- name "Before register allocation"
536
- begin_block
537
- name "B0"
538
- from_bci -1
539
- to_bci -1
540
- predecessors
541
- successors
542
- xhandlers
543
- flags
544
- probability 4607182418800017408
545
- begin_IR
546
- LIR
547
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
548
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
549
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
550
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
551
- nr 8 <|@ st <@st|@live-base-pointers: []
552
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
553
- locals: Object[null]
554
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
555
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
556
- nr 12 <|@ st <@st|@live-base-pointers: []
557
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
558
- locals: -
559
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
560
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
561
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
562
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
563
- end_IR
564
- end_block
565
- end_cfg
566
- begin_bytecodes
567
- 0: aload_0
568
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
569
- 6: ireturn
570
- <|@
571
- end_bytecodes
572
- begin_cfg
573
- name "After SSALinearScanLifetimeAnalysis"
574
- begin_block
575
- name "B0"
576
- from_bci -1
577
- to_bci -1
578
- predecessors
579
- successors
580
- xhandlers
581
- flags
582
- probability 4607182418800017408
583
- begin_IR
584
- LIR
585
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
586
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
587
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
588
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
589
- nr 8 <|@ st <@st|@live-base-pointers: []
590
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
591
- locals: Object[null]
592
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
593
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
594
- nr 12 <|@ st <@st|@live-base-pointers: []
595
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
596
- locals: -
597
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
598
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
599
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
600
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
601
- end_IR
602
- end_block
603
- end_cfg
604
- begin_bytecodes
605
- 0: aload_0
606
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
607
- 6: ireturn
608
- <|@
609
- end_bytecodes
610
- begin_intervals
611
- name "Before register allocation"
612
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
613
- rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
614
- rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
615
- rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
616
- rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
617
- rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
618
- rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
619
- r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
620
- r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
621
- r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
622
- r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
623
- r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
624
- r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
625
- xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
626
- xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
627
- xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
628
- xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
629
- xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
630
- xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
631
- xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
632
- xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
633
- xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
634
- xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
635
- xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
636
- xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
637
- xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
638
- xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
639
- xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
640
- xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
641
- v0|q QWORD "[v0|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
642
- v1|d DWORD "[v1|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
643
- end_intervals
644
- begin_intervals
645
- name "After register allocation"
646
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
647
- rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
648
- rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
649
- rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
650
- rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
651
- rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
652
- rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
653
- r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
654
- r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
655
- r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
656
- r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
657
- r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
658
- r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
659
- xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
660
- xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
661
- xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
662
- xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
663
- xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
664
- xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
665
- xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
666
- xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
667
- xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
668
- xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
669
- xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
670
- xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
671
- xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
672
- xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
673
- xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
674
- xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
675
- v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
676
- v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
677
- end_intervals
678
- begin_cfg
679
- name "After LinearScanRegisterAllocation"
680
- begin_block
681
- name "B0"
682
- from_bci -1
683
- to_bci -1
684
- predecessors
685
- successors
686
- xhandlers
687
- flags
688
- probability 4607182418800017408
689
- begin_IR
690
- LIR
691
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
692
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
693
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
694
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
695
- nr 8 <|@ st <@st|@live-base-pointers: []
696
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
697
- locals: Object[null]
698
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
699
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
700
- nr 12 <|@ st <@st|@live-base-pointers: []
701
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
702
- locals: -
703
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
704
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
705
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
706
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
707
- end_IR
708
- end_block
709
- end_cfg
710
- begin_bytecodes
711
- 0: aload_0
712
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
713
- 6: ireturn
714
- <|@
715
- end_bytecodes
716
- begin_intervals
717
- name "After optimize spill position"
718
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
719
- rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
720
- rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
721
- rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
722
- rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
723
- rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
724
- rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
725
- r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
726
- r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
727
- r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
728
- r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
729
- r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
730
- r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
731
- xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
732
- xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
733
- xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
734
- xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
735
- xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
736
- xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
737
- xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
738
- xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
739
- xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
740
- xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
741
- xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
742
- xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
743
- xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
744
- xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
745
- xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
746
- xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
747
- v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
748
- v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
749
- end_intervals
750
- begin_cfg
751
- name "After LinearScanOptimizeSpillPosition"
752
- begin_block
753
- name "B0"
754
- from_bci -1
755
- to_bci -1
756
- predecessors
757
- successors
758
- xhandlers
759
- flags
760
- probability 4607182418800017408
761
- begin_IR
762
- LIR
763
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
764
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
765
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
766
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
767
- nr 8 <|@ st <@st|@live-base-pointers: []
768
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
769
- locals: Object[null]
770
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
771
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
772
- nr 12 <|@ st <@st|@live-base-pointers: []
773
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
774
- locals: -
775
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
776
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
777
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
778
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
779
- end_IR
780
- end_block
781
- end_cfg
782
- begin_bytecodes
783
- 0: aload_0
784
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
785
- 6: ireturn
786
- <|@
787
- end_bytecodes
788
- begin_intervals
789
- name "After resolve data flow"
790
- rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[12, 14[[16, 18[ "NoOptimization"
791
- rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
792
- rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
793
- rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
794
- rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
795
- rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[10, 13[ "NoOptimization"
796
- rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
797
- r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
798
- r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
799
- r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
800
- r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
801
- r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
802
- r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
803
- xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
804
- xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
805
- xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
806
- xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
807
- xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
808
- xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
809
- xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
810
- xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
811
- xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
812
- xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
813
- xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
814
- xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
815
- xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
816
- xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
817
- xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
818
- xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
819
- v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 10[6 MustHaveRegister 8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
820
- v1|d DWORD "[rax|d]" v1|d rax|d [14, 16[14 MustHaveRegister 16 ShouldHaveRegister "NoSpillStore"
821
- end_intervals
822
- begin_cfg
823
- name "After SSALinearScanResolveDataFlow"
824
- begin_block
825
- name "B0"
826
- from_bci -1
827
- to_bci -1
828
- predecessors
829
- successors
830
- xhandlers
831
- flags
832
- probability 4607182418800017408
833
- begin_IR
834
- LIR
835
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
836
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
837
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
838
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
839
- nr 8 <|@ st <@st|@live-base-pointers: []
840
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
841
- locals: Object[null]
842
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
843
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
844
- nr 12 <|@ st <@st|@live-base-pointers: []
845
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
846
- locals: -
847
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
848
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
849
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
850
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
851
- end_IR
852
- end_block
853
- end_cfg
854
- begin_bytecodes
855
- 0: aload_0
856
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
857
- 6: ireturn
858
- <|@
859
- end_bytecodes
860
- begin_cfg
861
- name "After SSALinearScanEliminateSpillMove"
862
- begin_block
863
- name "B0"
864
- from_bci -1
865
- to_bci -1
866
- predecessors
867
- successors
868
- xhandlers
869
- flags
870
- probability 4607182418800017408
871
- begin_IR
872
- LIR
873
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
874
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
875
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
876
- nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
877
- nr 8 <|@ st <@st|@live-base-pointers: []
878
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
879
- locals: Object[null]
880
- >@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
881
- nr 10 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
882
- nr 12 <|@ st <@st|@live-base-pointers: []
883
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
884
- locals: -
885
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
886
- nr 14 <|@ instruction v1|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
887
- nr 16 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
888
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
889
- end_IR
890
- end_block
891
- end_cfg
892
- begin_bytecodes
893
- 0: aload_0
894
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
895
- 6: ireturn
896
- <|@
897
- end_bytecodes
898
- begin_cfg
899
- name "After LinearScanAssignLocations"
900
- begin_block
901
- name "B0"
902
- from_bci -1
903
- to_bci -1
904
- predecessors
905
- successors
906
- xhandlers
907
- flags
908
- probability 4607182418800017408
909
- begin_IR
910
- LIR
911
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
912
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
913
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
914
- nr 8 <|@ st <@st|@live-base-pointers: []
915
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
916
- locals: Object[null]
917
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
918
- nr 12 <|@ st <@st|@live-base-pointers: []
919
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
920
- locals: -
921
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
922
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
923
- end_IR
924
- end_block
925
- end_cfg
926
- begin_bytecodes
927
- 0: aload_0
928
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
929
- 6: ireturn
930
- <|@
931
- end_bytecodes
932
- begin_cfg
933
- name "After LinearScan"
934
- begin_block
935
- name "B0"
936
- from_bci -1
937
- to_bci -1
938
- predecessors
939
- successors
940
- xhandlers
941
- flags
942
- probability 4607182418800017408
943
- begin_IR
944
- LIR
945
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
946
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
947
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
948
- nr 8 <|@ st <@st|@live-base-pointers: []
949
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
950
- locals: Object[null]
951
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
952
- nr 12 <|@ st <@st|@live-base-pointers: []
953
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
954
- locals: -
955
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
956
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
957
- end_IR
958
- end_block
959
- end_cfg
960
- begin_bytecodes
961
- 0: aload_0
962
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
963
- 6: ireturn
964
- <|@
965
- end_bytecodes
966
- begin_cfg
967
- name "After LSStackSlotAllocator"
968
- begin_block
969
- name "B0"
970
- from_bci -1
971
- to_bci -1
972
- predecessors
973
- successors
974
- xhandlers
975
- flags
976
- probability 4607182418800017408
977
- begin_IR
978
- LIR
979
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
980
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
981
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
982
- nr 8 <|@ st <@st|@live-base-pointers: []
983
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
984
- locals: Object[null]
985
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
986
- nr 12 <|@ st <@st|@live-base-pointers: []
987
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
988
- locals: -
989
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
990
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
991
- end_IR
992
- end_block
993
- end_cfg
994
- begin_bytecodes
995
- 0: aload_0
996
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
997
- 6: ireturn
998
- <|@
999
- end_bytecodes
1000
- begin_cfg
1001
- name "After LocationMarker"
1002
- begin_block
1003
- name "B0"
1004
- from_bci -1
1005
- to_bci -1
1006
- predecessors
1007
- successors
1008
- xhandlers
1009
- flags
1010
- probability 4607182418800017408
1011
- begin_IR
1012
- LIR
1013
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1014
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1015
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1016
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1017
- live-base-pointers: []
1018
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1019
- locals: Object[null]
1020
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1021
- nr 12 <|@ st <@st|@reference-map: []
1022
- live-base-pointers: []
1023
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1024
- locals: -
1025
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1026
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1027
- end_IR
1028
- end_block
1029
- end_cfg
1030
- begin_bytecodes
1031
- 0: aload_0
1032
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1033
- 6: ireturn
1034
- <|@
1035
- end_bytecodes
1036
- begin_cfg
1037
- name "After AllocationStage"
1038
- begin_block
1039
- name "B0"
1040
- from_bci -1
1041
- to_bci -1
1042
- predecessors
1043
- successors
1044
- xhandlers
1045
- flags
1046
- probability 4607182418800017408
1047
- begin_IR
1048
- LIR
1049
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1050
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1051
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1052
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1053
- live-base-pointers: []
1054
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1055
- locals: Object[null]
1056
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1057
- nr 12 <|@ st <@st|@reference-map: []
1058
- live-base-pointers: []
1059
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1060
- locals: -
1061
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1062
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1063
- end_IR
1064
- end_block
1065
- end_cfg
1066
- begin_bytecodes
1067
- 0: aload_0
1068
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1069
- 6: ireturn
1070
- <|@
1071
- end_bytecodes
1072
- begin_cfg
1073
- name "After EdgeMoveOptimizer"
1074
- begin_block
1075
- name "B0"
1076
- from_bci -1
1077
- to_bci -1
1078
- predecessors
1079
- successors
1080
- xhandlers
1081
- flags
1082
- probability 4607182418800017408
1083
- begin_IR
1084
- LIR
1085
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1086
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1087
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1088
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1089
- live-base-pointers: []
1090
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1091
- locals: Object[null]
1092
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1093
- nr 12 <|@ st <@st|@reference-map: []
1094
- live-base-pointers: []
1095
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1096
- locals: -
1097
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1098
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1099
- end_IR
1100
- end_block
1101
- end_cfg
1102
- begin_bytecodes
1103
- 0: aload_0
1104
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1105
- 6: ireturn
1106
- <|@
1107
- end_bytecodes
1108
- begin_cfg
1109
- name "After ControlFlowOptimizer"
1110
- begin_block
1111
- name "B0"
1112
- from_bci -1
1113
- to_bci -1
1114
- predecessors
1115
- successors
1116
- xhandlers
1117
- flags
1118
- probability 4607182418800017408
1119
- begin_IR
1120
- LIR
1121
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1122
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1123
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1124
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1125
- live-base-pointers: []
1126
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1127
- locals: Object[null]
1128
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1129
- nr 12 <|@ st <@st|@reference-map: []
1130
- live-base-pointers: []
1131
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1132
- locals: -
1133
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1134
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1135
- end_IR
1136
- end_block
1137
- end_cfg
1138
- begin_bytecodes
1139
- 0: aload_0
1140
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1141
- 6: ireturn
1142
- <|@
1143
- end_bytecodes
1144
- begin_cfg
1145
- name "After RedundantMoveElimination"
1146
- begin_block
1147
- name "B0"
1148
- from_bci -1
1149
- to_bci -1
1150
- predecessors
1151
- successors
1152
- xhandlers
1153
- flags
1154
- probability 4607182418800017408
1155
- begin_IR
1156
- LIR
1157
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1158
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1159
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1160
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1161
- live-base-pointers: []
1162
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1163
- locals: Object[null]
1164
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1165
- nr 12 <|@ st <@st|@reference-map: []
1166
- live-base-pointers: []
1167
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1168
- locals: -
1169
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1170
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1171
- end_IR
1172
- end_block
1173
- end_cfg
1174
- begin_bytecodes
1175
- 0: aload_0
1176
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1177
- 6: ireturn
1178
- <|@
1179
- end_bytecodes
1180
- begin_cfg
1181
- name "After NullCheckOptimizer"
1182
- begin_block
1183
- name "B0"
1184
- from_bci -1
1185
- to_bci -1
1186
- predecessors
1187
- successors
1188
- xhandlers
1189
- flags
1190
- probability 4607182418800017408
1191
- begin_IR
1192
- LIR
1193
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1194
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1195
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1196
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1197
- live-base-pointers: []
1198
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1199
- locals: Object[null]
1200
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1201
- nr 12 <|@ st <@st|@reference-map: []
1202
- live-base-pointers: []
1203
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1204
- locals: -
1205
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1206
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1207
- end_IR
1208
- end_block
1209
- end_cfg
1210
- begin_bytecodes
1211
- 0: aload_0
1212
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1213
- 6: ireturn
1214
- <|@
1215
- end_bytecodes
1216
- begin_cfg
1217
- name "After StackMoveOptimization"
1218
- begin_block
1219
- name "B0"
1220
- from_bci -1
1221
- to_bci -1
1222
- predecessors
1223
- successors
1224
- xhandlers
1225
- flags
1226
- probability 4607182418800017408
1227
- begin_IR
1228
- LIR
1229
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1230
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1231
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1232
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1233
- live-base-pointers: []
1234
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1235
- locals: Object[null]
1236
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1237
- nr 12 <|@ st <@st|@reference-map: []
1238
- live-base-pointers: []
1239
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1240
- locals: -
1241
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1242
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1243
- end_IR
1244
- end_block
1245
- end_cfg
1246
- begin_bytecodes
1247
- 0: aload_0
1248
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1249
- 6: ireturn
1250
- <|@
1251
- end_bytecodes
1252
- begin_cfg
1253
- name "After PostAllocationOptimizationStage"
1254
- begin_block
1255
- name "B0"
1256
- from_bci -1
1257
- to_bci -1
1258
- predecessors
1259
- successors
1260
- xhandlers
1261
- flags
1262
- probability 4607182418800017408
1263
- begin_IR
1264
- LIR
1265
- nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1266
- nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1267
- nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <|@ <|@
1268
- nr 8 <|@ st <@st|@reference-map: [rsi:0]
1269
- live-base-pointers: []
1270
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0]
1271
- locals: Object[null]
1272
- >@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
1273
- nr 12 <|@ st <@st|@reference-map: []
1274
- live-base-pointers: []
1275
- JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1]
1276
- locals: -
1277
- >@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <|@ <|@
1278
- nr 18 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <|@ <|@
1279
- end_IR
1280
- end_block
1281
- end_cfg
1282
- begin_bytecodes
1283
- 0: aload_0
1284
- 1: invokeinterface#55, 1 // JavaExamples$InterfaceManyImpls.interfaceCall:()int
1285
- 6: ireturn
1286
- <|@
1287
- end_bytecodes
1288
- begin_cfg
1289
- name "After code generation"
1290
- end_cfg
1291
- begin_nmethod
1292
- <<<HexCodeFile
1293
- Platform AMD64 64 <||@
1294
- HexCode 0 89842400c0feff4883ec1848896c2410850648b8ffffffffffffffff666690e80000000090488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
1295
- Comment 0 [stack overflow check] <||@
1296
- Comment 0 3 <||@
1297
- Comment 0 1 <||@
1298
- Comment 11 block B0 null <||@
1299
- Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1300
- Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1301
- Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <||@
1302
- Comment 16 8 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
1303
- Comment 16 [rsi:0]at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0, duringCall: false, rethrow: false]
1304
- |0
1305
- locals: |Object[null] <||@
1306
- Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1307
- Comment 18 12 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
1308
- Comment 18 6 <||@
1309
- Comment 31 {HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>} <||@
1310
- Comment 36 []at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1, duringCall: true, rethrow: false]
1311
- |0
1312
- locals: |- <||@
1313
- Comment 37 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
1314
- Comment 46 12 <||@
1315
- Comment 56 {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} <||@
1316
- Comment 56 4 <||@
1317
- Comment 62 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
1318
- Comment 62 5 <||@
1319
- HexCodeFile>>> <|@
1320
- end_nmethod
1321
- begin_compilation
1322
- name " HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
1323
- method "HotSpotCompilation-361[JavaExamples.exampleInterfaceCallManyImpls(JavaExamples$InterfaceManyImpls)]"
1324
- date 1583840237799
1325
- end_compilation
1326
- begin_cfg
1327
- name "After code installation"
1328
- end_cfg
1329
- begin_nmethod
1330
- <<<HexCodeFile
1331
- Platform AMD64 64 <||@
1332
- HexCode 1100a6aa0 89842400c0feff4883ec1848896c2410850648b8280a06c007000000666690e83c1eebff90488b6c24104883c418850532d51ff2c5f877c3e8c337ffff90e85d17ebff90f4f4f4f4 <||@
1333
- Comment 0 [stack overflow check] <||@
1334
- Comment 0 3 <||@
1335
- Comment 0 1 <||@
1336
- Comment 11 block B0 null <||@
1337
- Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1338
- Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1339
- Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@12fc690a8 slotKind: QWORD <||@
1340
- Comment 16 8 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
1341
- Comment 16 [rsi:0]at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 0, duringCall: false, rethrow: false]
1342
- |0
1343
- locals: |Object[null] <||@
1344
- Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1345
- Comment 18 12 rax|DWORD = CALL_DIRECT [rsi|QWORD[.]] [] callTarget: HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()> invokeKind: Interface config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 state [bci:1] <||@
1346
- Comment 18 6 <||@
1347
- Comment 31 {HotSpotMethod<JavaExamples$InterfaceManyImpls.interfaceCall()>} <||@
1348
- Comment 36 []at JavaExamples.exampleInterfaceCallManyImpls(JavaExamples.java:111) [bci: 1, duringCall: true, rethrow: false]
1349
- |0
1350
- locals: |- <||@
1351
- Comment 37 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13b805f38 <||@
1352
- Comment 46 12 <||@
1353
- Comment 56 {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} <||@
1354
- Comment 56 4 <||@
1355
- Comment 62 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
1356
- Comment 62 5 <||@
1357
- HexCodeFile>>> <|@
1358
- end_nmethod