seafoam 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,1673 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
3
+ method "HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
4
+ date 1583713938447
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: i6
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i6 <|@ <|@
32
+ tid v13 <|@
33
+ d <@d|@=== Debug Properties ===
34
+ callType: JavaCall
35
+ invokeKind: Static
36
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
37
+ returnStamp: i32
38
+ signature: [Ljdk.vm.ci.meta.JavaType;@13bad8e28
39
+ stamp: void
40
+ targetMethod: HotSpotMethod<JavaExamples.opaqueCall()>
41
+ === Inputs ===
42
+ === Succesors ===
43
+ === Usages ===
44
+ i6
45
+ === Predecessor ===
46
+ - >@ <|@
47
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
48
+ f <@~|@floating>@ <|@
49
+ tid i1 <|@
50
+ d <@d|@=== Debug Properties ===
51
+ index: 0
52
+ stamp: i32
53
+ uncheckedStamp: [null]
54
+ === Inputs ===
55
+ === Succesors ===
56
+ === Usages ===
57
+ i4
58
+ === Predecessor ===
59
+ - >@ <|@
60
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
61
+ f <@~|@floating>@ <|@
62
+ tid i2 <|@
63
+ d <@d|@=== Debug Properties ===
64
+ index: 1
65
+ stamp: i32
66
+ uncheckedStamp: [null]
67
+ === Inputs ===
68
+ === Succesors ===
69
+ === Usages ===
70
+ i4
71
+ === Predecessor ===
72
+ - >@ <|@
73
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
74
+ f <@~|@floating>@ <|@
75
+ tid i4 <|@
76
+ d <@d|@=== Debug Properties ===
77
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:74) [bci: 2]
78
+ stamp: i32
79
+ === Inputs ===
80
+ x: i1
81
+ y: i2
82
+ === Succesors ===
83
+ === Usages ===
84
+ ?14 i10 i11
85
+ === Predecessor ===
86
+ - >@ <|@
87
+ instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i2 <|@ <|@
88
+ tid ?14 <|@
89
+ d <@d|@=== Debug Properties ===
90
+ bci: 4
91
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleLocalVariablesState(int, int)>
92
+ duringCall: true
93
+ localsSize: 3
94
+ locksSize: 0
95
+ rethrowException: false
96
+ sourceFile: JavaExamples.java
97
+ sourceLine: 75
98
+ stackSize: 0
99
+ === Inputs ===
100
+ outerFrameState: -
101
+ values: - - i4
102
+ === Succesors ===
103
+ === Usages ===
104
+ i6
105
+ === Predecessor ===
106
+ - >@ <|@
107
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - i4 <|@ <|@
108
+ f <@#|@fixed with next>@ <|@
109
+ tid i6 <|@
110
+ d <@d|@=== Debug Properties ===
111
+ bci: 4
112
+ identity: ANY_LOCATION
113
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
114
+ polymorphic: false
115
+ stamp: i32
116
+ targetMethod: Direct#JavaExamples.opaqueCall
117
+ useForInlining: true
118
+ === Inputs ===
119
+ stateAfter: -
120
+ classInit: -
121
+ callTarget: v13
122
+ stateDuring: ?14
123
+ === Succesors ===
124
+ next: v12
125
+ === Usages ===
126
+ === Predecessor ===
127
+ v0 >@ <|@
128
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v13 stateDuring: ?14 #next: v12 <|@ <|@
129
+ f <@~|@floating>@ <|@
130
+ tid i9 <|@
131
+ d <@d|@=== Debug Properties ===
132
+ isDefaultStable: false
133
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
134
+ rawvalue: 1
135
+ stableDimension: 0
136
+ stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
137
+ stampKind: i32
138
+ value: int[1|0x1]
139
+ === Inputs ===
140
+ === Succesors ===
141
+ === Usages ===
142
+ i10
143
+ === Predecessor ===
144
+ - >@ <|@
145
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
146
+ f <@~|@floating>@ <|@
147
+ tid i10 <|@
148
+ d <@d|@=== Debug Properties ===
149
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
150
+ stamp: i32 [-2147483648 - 2147483646] ⇈00000000fffffffe
151
+ === Inputs ===
152
+ x: i4
153
+ y: i9
154
+ === Succesors ===
155
+ === Usages ===
156
+ i11
157
+ === Predecessor ===
158
+ - >@ <|@
159
+ instruction <@<<|@org.graalvm.compiler.nodes.calc.LeftShiftNode>@ x: i4 y: i9 <|@ <|@
160
+ f <@~|@floating>@ <|@
161
+ tid i11 <|@
162
+ d <@d|@=== Debug Properties ===
163
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 12]
164
+ stamp: i32
165
+ === Inputs ===
166
+ x: i4
167
+ y: i10
168
+ === Succesors ===
169
+ === Usages ===
170
+ v12
171
+ === Predecessor ===
172
+ - >@ <|@
173
+ instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i4 y: i10 <|@ <|@
174
+ f <@*|@fixed>@ <|@
175
+ tid v12 <|@
176
+ d <@d|@=== Debug Properties ===
177
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 13]
178
+ stamp: void
179
+ === Inputs ===
180
+ result: i11
181
+ memoryMap: -
182
+ === Succesors ===
183
+ === Usages ===
184
+ === Predecessor ===
185
+ i6 >@ <|@
186
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i11 memoryMap: - <|@ <|@
187
+ end_IR
188
+ end_block
189
+ end_cfg
190
+ begin_cfg
191
+ name "After LIRGeneration"
192
+ begin_block
193
+ name "B0"
194
+ from_bci -1
195
+ to_bci -1
196
+ predecessors
197
+ successors
198
+ xhandlers
199
+ flags
200
+ probability 4607182418800017408
201
+ begin_IR
202
+ LIR
203
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
204
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
205
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
206
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
207
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
208
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
209
+ nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
210
+ locals: - - v2|DWORD
211
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
212
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
213
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
214
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
215
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
216
+ 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@113b187d8 <|@ <|@
217
+ end_IR
218
+ end_block
219
+ end_cfg
220
+ begin_bytecodes
221
+ 0: iload_0
222
+ 1: iload_1
223
+ 2: iadd
224
+ 3: istore_2
225
+ 4: invokestatic #48 // opaqueCall:()int
226
+ 7: pop
227
+ 8: iload_2
228
+ 9: iconst_2
229
+ 10: imul
230
+ 11: iload_2
231
+ 12: iadd
232
+ 13: ireturn
233
+ <|@
234
+ end_bytecodes
235
+ begin_cfg
236
+ name "After LIR generation"
237
+ begin_block
238
+ name "B0"
239
+ from_bci -1
240
+ to_bci -1
241
+ predecessors
242
+ successors
243
+ xhandlers
244
+ flags
245
+ probability 4607182418800017408
246
+ begin_IR
247
+ HIR
248
+ f <@#|@fixed with next>@ <|@
249
+ tid v0 <|@
250
+ d <@d|@=== Debug Properties ===
251
+ stamp: void
252
+ withSpeculationFence: false
253
+ === Inputs ===
254
+ stateAfter: -
255
+ === Succesors ===
256
+ next: i6
257
+ === Usages ===
258
+ === Predecessor ===
259
+ - >@ <|@
260
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i6 <|@ <|@
261
+ tid v13 <|@
262
+ d <@d|@=== Debug Properties ===
263
+ callType: JavaCall
264
+ invokeKind: Static
265
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
266
+ returnStamp: i32
267
+ signature: [Ljdk.vm.ci.meta.JavaType;@13bad8e28
268
+ stamp: void
269
+ targetMethod: HotSpotMethod<JavaExamples.opaqueCall()>
270
+ === Inputs ===
271
+ === Succesors ===
272
+ === Usages ===
273
+ i6
274
+ === Predecessor ===
275
+ - >@ <|@
276
+ instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
277
+ f <@~|@floating>@ <|@
278
+ tid i1 <|@
279
+ result v0|DWORD <|@
280
+ d <@d|@=== Debug Properties ===
281
+ index: 0
282
+ stamp: i32
283
+ uncheckedStamp: [null]
284
+ === Inputs ===
285
+ === Succesors ===
286
+ === Usages ===
287
+ i4
288
+ === Predecessor ===
289
+ - >@ <|@
290
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
291
+ f <@~|@floating>@ <|@
292
+ tid i2 <|@
293
+ result v1|DWORD <|@
294
+ d <@d|@=== Debug Properties ===
295
+ index: 1
296
+ stamp: i32
297
+ uncheckedStamp: [null]
298
+ === Inputs ===
299
+ === Succesors ===
300
+ === Usages ===
301
+ i4
302
+ === Predecessor ===
303
+ - >@ <|@
304
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
305
+ f <@~|@floating>@ <|@
306
+ tid i4 <|@
307
+ result v2|DWORD <|@
308
+ d <@d|@=== Debug Properties ===
309
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:74) [bci: 2]
310
+ stamp: i32
311
+ === Inputs ===
312
+ x: i1
313
+ y: i2
314
+ === Succesors ===
315
+ === Usages ===
316
+ ?14 i10 i11
317
+ === Predecessor ===
318
+ - >@ <|@
319
+ instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i1 y: i2 <|@ <|@
320
+ tid ?14 <|@
321
+ d <@d|@=== Debug Properties ===
322
+ bci: 4
323
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleLocalVariablesState(int, int)>
324
+ duringCall: true
325
+ localsSize: 3
326
+ locksSize: 0
327
+ rethrowException: false
328
+ sourceFile: JavaExamples.java
329
+ sourceLine: 75
330
+ stackSize: 0
331
+ === Inputs ===
332
+ outerFrameState: -
333
+ values: - - i4
334
+ === Succesors ===
335
+ === Usages ===
336
+ i6
337
+ === Predecessor ===
338
+ - >@ <|@
339
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - i4 <|@ <|@
340
+ f <@#|@fixed with next>@ <|@
341
+ tid i6 <|@
342
+ result v3|DWORD <|@
343
+ d <@d|@=== Debug Properties ===
344
+ bci: 4
345
+ identity: ANY_LOCATION
346
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
347
+ polymorphic: false
348
+ stamp: i32
349
+ targetMethod: Direct#JavaExamples.opaqueCall
350
+ useForInlining: true
351
+ === Inputs ===
352
+ stateAfter: -
353
+ classInit: -
354
+ callTarget: v13
355
+ stateDuring: ?14
356
+ === Succesors ===
357
+ next: v12
358
+ === Usages ===
359
+ === Predecessor ===
360
+ v0 >@ <|@
361
+ instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v13 stateDuring: ?14 #next: v12 <|@ <|@
362
+ f <@~|@floating>@ <|@
363
+ tid i9 <|@
364
+ result int[1|0x1] <|@
365
+ d <@d|@=== Debug Properties ===
366
+ isDefaultStable: false
367
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
368
+ rawvalue: 1
369
+ stableDimension: 0
370
+ stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
371
+ stampKind: i32
372
+ value: int[1|0x1]
373
+ === Inputs ===
374
+ === Succesors ===
375
+ === Usages ===
376
+ i10
377
+ === Predecessor ===
378
+ - >@ <|@
379
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
380
+ f <@~|@floating>@ <|@
381
+ tid i10 <|@
382
+ result v4|DWORD <|@
383
+ d <@d|@=== Debug Properties ===
384
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 10]
385
+ stamp: i32 [-2147483648 - 2147483646] ⇈00000000fffffffe
386
+ === Inputs ===
387
+ x: i4
388
+ y: i9
389
+ === Succesors ===
390
+ === Usages ===
391
+ i11
392
+ === Predecessor ===
393
+ - >@ <|@
394
+ instruction <@<<|@org.graalvm.compiler.nodes.calc.LeftShiftNode>@ x: i4 y: i9 <|@ <|@
395
+ f <@~|@floating>@ <|@
396
+ tid i11 <|@
397
+ result v5|DWORD <|@
398
+ d <@d|@=== Debug Properties ===
399
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 12]
400
+ stamp: i32
401
+ === Inputs ===
402
+ x: i4
403
+ y: i10
404
+ === Succesors ===
405
+ === Usages ===
406
+ v12
407
+ === Predecessor ===
408
+ - >@ <|@
409
+ instruction <@+|@org.graalvm.compiler.nodes.calc.AddNode>@ x: i4 y: i10 <|@ <|@
410
+ f <@*|@fixed>@ <|@
411
+ tid v12 <|@
412
+ d <@d|@=== Debug Properties ===
413
+ nodeSourcePosition: at JavaExamples.exampleLocalVariablesState(JavaExamples.java:76) [bci: 13]
414
+ stamp: void
415
+ === Inputs ===
416
+ result: i11
417
+ memoryMap: -
418
+ === Succesors ===
419
+ === Usages ===
420
+ === Predecessor ===
421
+ i6 >@ <|@
422
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i11 memoryMap: - <|@ <|@
423
+ end_IR
424
+ begin_IR
425
+ LIR
426
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
427
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
428
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
429
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
430
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
431
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
432
+ nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
433
+ locals: - - v2|DWORD
434
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
435
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
436
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
437
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
438
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
439
+ 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@113b187d8 <|@ <|@
440
+ end_IR
441
+ end_block
442
+ end_cfg
443
+ begin_cfg
444
+ name "After ConstantLoadOptimization"
445
+ begin_block
446
+ name "B0"
447
+ from_bci -1
448
+ to_bci -1
449
+ predecessors
450
+ successors
451
+ xhandlers
452
+ flags
453
+ probability 4607182418800017408
454
+ begin_IR
455
+ LIR
456
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
457
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
458
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
459
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
460
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
461
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
462
+ nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
463
+ locals: - - v2|DWORD
464
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
465
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
466
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
467
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
468
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
469
+ 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@113b187d8 <|@ <|@
470
+ end_IR
471
+ end_block
472
+ end_cfg
473
+ begin_bytecodes
474
+ 0: iload_0
475
+ 1: iload_1
476
+ 2: iadd
477
+ 3: istore_2
478
+ 4: invokestatic #48 // opaqueCall:()int
479
+ 7: pop
480
+ 8: iload_2
481
+ 9: iconst_2
482
+ 10: imul
483
+ 11: iload_2
484
+ 12: iadd
485
+ 13: ireturn
486
+ <|@
487
+ end_bytecodes
488
+ begin_cfg
489
+ name "After SaveCalleeSaveRegisters"
490
+ begin_block
491
+ name "B0"
492
+ from_bci -1
493
+ to_bci -1
494
+ predecessors
495
+ successors
496
+ xhandlers
497
+ flags
498
+ probability 4607182418800017408
499
+ begin_IR
500
+ LIR
501
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
502
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
503
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
504
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
505
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
506
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
507
+ nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
508
+ locals: - - v2|DWORD
509
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
510
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
511
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
512
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
513
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
514
+ 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@113b187d8 <|@ <|@
515
+ end_IR
516
+ end_block
517
+ end_cfg
518
+ begin_bytecodes
519
+ 0: iload_0
520
+ 1: iload_1
521
+ 2: iadd
522
+ 3: istore_2
523
+ 4: invokestatic #48 // opaqueCall:()int
524
+ 7: pop
525
+ 8: iload_2
526
+ 9: iconst_2
527
+ 10: imul
528
+ 11: iload_2
529
+ 12: iadd
530
+ 13: ireturn
531
+ <|@
532
+ end_bytecodes
533
+ begin_cfg
534
+ name "After PreAllocationOptimizationStage"
535
+ begin_block
536
+ name "B0"
537
+ from_bci -1
538
+ to_bci -1
539
+ predecessors
540
+ successors
541
+ xhandlers
542
+ flags
543
+ probability 4607182418800017408
544
+ begin_IR
545
+ LIR
546
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
547
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
548
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
549
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
550
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
551
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
552
+ nr -1 <|@ st <@st|@JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
553
+ locals: - - v2|DWORD
554
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
555
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
556
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
557
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
558
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
559
+ 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@113b187d8 <|@ <|@
560
+ end_IR
561
+ end_block
562
+ end_cfg
563
+ begin_bytecodes
564
+ 0: iload_0
565
+ 1: iload_1
566
+ 2: iadd
567
+ 3: istore_2
568
+ 4: invokestatic #48 // opaqueCall:()int
569
+ 7: pop
570
+ 8: iload_2
571
+ 9: iconst_2
572
+ 10: imul
573
+ 11: iload_2
574
+ 12: iadd
575
+ 13: ireturn
576
+ <|@
577
+ end_bytecodes
578
+ begin_cfg
579
+ name "After MarkBasePointers"
580
+ begin_block
581
+ name "B0"
582
+ from_bci -1
583
+ to_bci -1
584
+ predecessors
585
+ successors
586
+ xhandlers
587
+ flags
588
+ probability 4607182418800017408
589
+ begin_IR
590
+ LIR
591
+ nr -1 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
592
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
593
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
594
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
595
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
596
+ nr -1 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
597
+ nr -1 <|@ st <@st|@live-base-pointers: []
598
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
599
+ locals: - - v2|DWORD
600
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
601
+ nr -1 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
602
+ nr -1 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
603
+ nr -1 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
604
+ nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
605
+ 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@113b187d8 <|@ <|@
606
+ end_IR
607
+ end_block
608
+ end_cfg
609
+ begin_bytecodes
610
+ 0: iload_0
611
+ 1: iload_1
612
+ 2: iadd
613
+ 3: istore_2
614
+ 4: invokestatic #48 // opaqueCall:()int
615
+ 7: pop
616
+ 8: iload_2
617
+ 9: iconst_2
618
+ 10: imul
619
+ 11: iload_2
620
+ 12: iadd
621
+ 13: ireturn
622
+ <|@
623
+ end_bytecodes
624
+ begin_cfg
625
+ name "Before register allocation"
626
+ begin_block
627
+ name "B0"
628
+ from_bci -1
629
+ to_bci -1
630
+ predecessors
631
+ successors
632
+ xhandlers
633
+ flags
634
+ probability 4607182418800017408
635
+ begin_IR
636
+ LIR
637
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
638
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
639
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
640
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
641
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
642
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
643
+ nr 12 <|@ st <@st|@live-base-pointers: []
644
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
645
+ locals: - - v2|DWORD
646
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
647
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
648
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
649
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
650
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
651
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
652
+ end_IR
653
+ end_block
654
+ end_cfg
655
+ begin_bytecodes
656
+ 0: iload_0
657
+ 1: iload_1
658
+ 2: iadd
659
+ 3: istore_2
660
+ 4: invokestatic #48 // opaqueCall:()int
661
+ 7: pop
662
+ 8: iload_2
663
+ 9: iconst_2
664
+ 10: imul
665
+ 11: iload_2
666
+ 12: iadd
667
+ 13: ireturn
668
+ <|@
669
+ end_bytecodes
670
+ begin_cfg
671
+ name "After SSALinearScanLifetimeAnalysis"
672
+ begin_block
673
+ name "B0"
674
+ from_bci -1
675
+ to_bci -1
676
+ predecessors
677
+ successors
678
+ xhandlers
679
+ flags
680
+ probability 4607182418800017408
681
+ begin_IR
682
+ LIR
683
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
684
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
685
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
686
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
687
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
688
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
689
+ nr 12 <|@ st <@st|@live-base-pointers: []
690
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
691
+ locals: - - v2|DWORD
692
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
693
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
694
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
695
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
696
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
697
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
698
+ end_IR
699
+ end_block
700
+ end_cfg
701
+ begin_bytecodes
702
+ 0: iload_0
703
+ 1: iload_1
704
+ 2: iadd
705
+ 3: istore_2
706
+ 4: invokestatic #48 // opaqueCall:()int
707
+ 7: pop
708
+ 8: iload_2
709
+ 9: iconst_2
710
+ 10: imul
711
+ 11: iload_2
712
+ 12: iadd
713
+ 13: ireturn
714
+ <|@
715
+ end_bytecodes
716
+ begin_intervals
717
+ name "Before register allocation"
718
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
719
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
720
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
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|- -1 [0, 6[[12, 13[ "NoSpillStore"
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|d DWORD "[v0|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
748
+ v1|d DWORD "[v1|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
749
+ v2|d DWORD "[v2|d]" v2|d v0|d [10, 18[10 MustHaveRegister 16 ShouldHaveRegister 18 ShouldHaveRegister "NoSpillStore"
750
+ v3|d DWORD "[v3|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
751
+ v4|d DWORD "[v4|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
752
+ v5|d DWORD "[v5|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
753
+ end_intervals
754
+ begin_intervals
755
+ name "After register allocation"
756
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
757
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
758
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
759
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
760
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
761
+ rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
762
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
763
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
764
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
765
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
766
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
767
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
768
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
769
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
770
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
771
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
772
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
773
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
774
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
775
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
776
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
777
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
778
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
779
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
780
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
781
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
782
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
783
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
784
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
785
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
786
+ v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
787
+ v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
788
+ v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
789
+ v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
790
+ v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
791
+ v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
792
+ end_intervals
793
+ begin_cfg
794
+ name "After LinearScanRegisterAllocation"
795
+ begin_block
796
+ name "B0"
797
+ from_bci -1
798
+ to_bci -1
799
+ predecessors
800
+ successors
801
+ xhandlers
802
+ flags
803
+ probability 4607182418800017408
804
+ begin_IR
805
+ LIR
806
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
807
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
808
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
809
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
810
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
811
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
812
+ nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
813
+ nr 12 <|@ st <@st|@live-base-pointers: []
814
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
815
+ locals: - - v2|DWORD
816
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
817
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
818
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
819
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
820
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
821
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
822
+ end_IR
823
+ end_block
824
+ end_cfg
825
+ begin_bytecodes
826
+ 0: iload_0
827
+ 1: iload_1
828
+ 2: iadd
829
+ 3: istore_2
830
+ 4: invokestatic #48 // opaqueCall:()int
831
+ 7: pop
832
+ 8: iload_2
833
+ 9: iconst_2
834
+ 10: imul
835
+ 11: iload_2
836
+ 12: iadd
837
+ 13: ireturn
838
+ <|@
839
+ end_bytecodes
840
+ begin_intervals
841
+ name "After optimize spill position"
842
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
843
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
844
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
845
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
846
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
847
+ rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
848
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
849
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
850
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
851
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
852
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
853
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
854
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
855
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
856
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
857
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
858
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
859
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
860
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
861
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
862
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
863
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
864
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
865
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
866
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
867
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
868
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
869
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
870
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
871
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
872
+ v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
873
+ v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
874
+ v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
875
+ v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
876
+ v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
877
+ v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
878
+ end_intervals
879
+ begin_cfg
880
+ name "After LinearScanOptimizeSpillPosition"
881
+ begin_block
882
+ name "B0"
883
+ from_bci -1
884
+ to_bci -1
885
+ predecessors
886
+ successors
887
+ xhandlers
888
+ flags
889
+ probability 4607182418800017408
890
+ begin_IR
891
+ LIR
892
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
893
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
894
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
895
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
896
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
897
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
898
+ nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
899
+ nr 12 <|@ st <@st|@live-base-pointers: []
900
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
901
+ locals: - - v2|DWORD
902
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
903
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
904
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
905
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
906
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
907
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
908
+ end_IR
909
+ end_block
910
+ end_cfg
911
+ begin_bytecodes
912
+ 0: iload_0
913
+ 1: iload_1
914
+ 2: iadd
915
+ 3: istore_2
916
+ 4: invokestatic #48 // opaqueCall:()int
917
+ 7: pop
918
+ 8: iload_2
919
+ 9: iconst_2
920
+ 10: imul
921
+ 11: iload_2
922
+ 12: iadd
923
+ 13: ireturn
924
+ <|@
925
+ end_bytecodes
926
+ begin_intervals
927
+ name "After resolve data flow"
928
+ rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[12, 14[[20, 22[ "NoOptimization"
929
+ rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
930
+ rdx|- fixed "[rdx|-]" rdx|- -1 [0, 8[[12, 13[ "NoSpillStore"
931
+ rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
932
+ rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[12, 13[ "NoSpillStore"
933
+ rsi|- fixed "[rsi|-]" rsi|- -1 [0, 6[[12, 13[ "NoSpillStore"
934
+ rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
935
+ r8|- fixed "[r8|-]" r8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
936
+ r9|- fixed "[r9|-]" r9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
937
+ r10|- fixed "[r10|-]" r10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
938
+ r11|- fixed "[r11|-]" r11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
939
+ r13|- fixed "[r13|-]" r13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
940
+ r14|- fixed "[r14|-]" r14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
941
+ xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
942
+ xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
943
+ xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
944
+ xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
945
+ xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
946
+ xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
947
+ xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
948
+ xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
949
+ xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
950
+ xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
951
+ xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
952
+ xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
953
+ xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
954
+ xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
955
+ xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
956
+ xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[12, 13[ "NoDefinitionFound"
957
+ v0|d DWORD "[rsi|d]" v0|d rsi|- [6, 10[6 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
958
+ v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
959
+ v2|d DWORD "[rsi|d]" v2|d v0|d [10, 11[10 MustHaveRegister "OneSpillStore"
960
+ v3|d DWORD "[rax|d]" v3|d rax|d [14, 15[14 MustHaveRegister "NoSpillStore"
961
+ v4|d DWORD "[rsi|d]" v4|d v2|d [16, 18[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
962
+ v5|d DWORD "[rsi|d]" v5|d v4|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
963
+ v6|d DWORD "[vstack:0|d]" v2|d v2|d [11, 18[16 ShouldHaveRegister 18 ShouldHaveRegister "OneSpillStore"
964
+ end_intervals
965
+ begin_cfg
966
+ name "After SSALinearScanResolveDataFlow"
967
+ begin_block
968
+ name "B0"
969
+ from_bci -1
970
+ to_bci -1
971
+ predecessors
972
+ successors
973
+ xhandlers
974
+ flags
975
+ probability 4607182418800017408
976
+ begin_IR
977
+ LIR
978
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
979
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
980
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
981
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
982
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
983
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
984
+ nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
985
+ nr 12 <|@ st <@st|@live-base-pointers: []
986
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
987
+ locals: - - v2|DWORD
988
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
989
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
990
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
991
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
992
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
993
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
994
+ end_IR
995
+ end_block
996
+ end_cfg
997
+ begin_bytecodes
998
+ 0: iload_0
999
+ 1: iload_1
1000
+ 2: iadd
1001
+ 3: istore_2
1002
+ 4: invokestatic #48 // opaqueCall:()int
1003
+ 7: pop
1004
+ 8: iload_2
1005
+ 9: iconst_2
1006
+ 10: imul
1007
+ 11: iload_2
1008
+ 12: iadd
1009
+ 13: ireturn
1010
+ <|@
1011
+ end_bytecodes
1012
+ begin_cfg
1013
+ name "After SSALinearScanEliminateSpillMove"
1014
+ begin_block
1015
+ name "B0"
1016
+ from_bci -1
1017
+ to_bci -1
1018
+ predecessors
1019
+ successors
1020
+ xhandlers
1021
+ flags
1022
+ probability 4607182418800017408
1023
+ begin_IR
1024
+ LIR
1025
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1026
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1027
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1028
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1029
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
1030
+ nr 10 <|@ instruction v2|DWORD = ADD (x: v0|DWORD, y: v1|DWORD) size: DWORD <|@ <|@
1031
+ nr -1 <|@ instruction v6|DWORD = MOVE v2|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1032
+ nr 12 <|@ st <@st|@live-base-pointers: []
1033
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1034
+ locals: - - v2|DWORD
1035
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1036
+ nr 14 <|@ instruction v3|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
1037
+ nr 16 <|@ instruction v4|DWORD = SHL v2|DWORD size: DWORD <|@ <|@
1038
+ nr 18 <|@ instruction v5|DWORD = ADD (x: v4|DWORD, y: v2|DWORD) size: DWORD <|@ <|@
1039
+ nr 20 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
1040
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
1041
+ end_IR
1042
+ end_block
1043
+ end_cfg
1044
+ begin_bytecodes
1045
+ 0: iload_0
1046
+ 1: iload_1
1047
+ 2: iadd
1048
+ 3: istore_2
1049
+ 4: invokestatic #48 // opaqueCall:()int
1050
+ 7: pop
1051
+ 8: iload_2
1052
+ 9: iconst_2
1053
+ 10: imul
1054
+ 11: iload_2
1055
+ 12: iadd
1056
+ 13: ireturn
1057
+ <|@
1058
+ end_bytecodes
1059
+ begin_cfg
1060
+ name "After LinearScanAssignLocations"
1061
+ begin_block
1062
+ name "B0"
1063
+ from_bci -1
1064
+ to_bci -1
1065
+ predecessors
1066
+ successors
1067
+ xhandlers
1068
+ flags
1069
+ probability 4607182418800017408
1070
+ begin_IR
1071
+ LIR
1072
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1073
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1074
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1075
+ nr 10 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1076
+ nr -1 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1077
+ nr 12 <|@ st <@st|@live-base-pointers: []
1078
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1079
+ locals: - - vstack:0|DWORD
1080
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1081
+ nr 16 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
1082
+ nr 18 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
1083
+ nr 20 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1084
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
1085
+ end_IR
1086
+ end_block
1087
+ end_cfg
1088
+ begin_bytecodes
1089
+ 0: iload_0
1090
+ 1: iload_1
1091
+ 2: iadd
1092
+ 3: istore_2
1093
+ 4: invokestatic #48 // opaqueCall:()int
1094
+ 7: pop
1095
+ 8: iload_2
1096
+ 9: iconst_2
1097
+ 10: imul
1098
+ 11: iload_2
1099
+ 12: iadd
1100
+ 13: ireturn
1101
+ <|@
1102
+ end_bytecodes
1103
+ begin_cfg
1104
+ name "After LinearScan"
1105
+ begin_block
1106
+ name "B0"
1107
+ from_bci -1
1108
+ to_bci -1
1109
+ predecessors
1110
+ successors
1111
+ xhandlers
1112
+ flags
1113
+ probability 4607182418800017408
1114
+ begin_IR
1115
+ LIR
1116
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1117
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1118
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1119
+ nr 10 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1120
+ nr -1 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1121
+ nr 12 <|@ st <@st|@live-base-pointers: []
1122
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1123
+ locals: - - vstack:0|DWORD
1124
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1125
+ nr 16 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
1126
+ nr 18 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
1127
+ nr 20 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1128
+ nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <|@ <|@
1129
+ end_IR
1130
+ end_block
1131
+ end_cfg
1132
+ begin_bytecodes
1133
+ 0: iload_0
1134
+ 1: iload_1
1135
+ 2: iadd
1136
+ 3: istore_2
1137
+ 4: invokestatic #48 // opaqueCall:()int
1138
+ 7: pop
1139
+ 8: iload_2
1140
+ 9: iconst_2
1141
+ 10: imul
1142
+ 11: iload_2
1143
+ 12: iadd
1144
+ 13: ireturn
1145
+ <|@
1146
+ end_bytecodes
1147
+ begin_cfg
1148
+ name "After StackSlot numbering"
1149
+ begin_block
1150
+ name "B0"
1151
+ from_bci -1
1152
+ to_bci -1
1153
+ predecessors
1154
+ successors
1155
+ xhandlers
1156
+ flags
1157
+ probability 4607182418800017408
1158
+ begin_IR
1159
+ LIR
1160
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1161
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1162
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1163
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1164
+ nr 8 <|@ instruction vstack:0|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1165
+ nr 10 <|@ st <@st|@live-base-pointers: []
1166
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1167
+ locals: - - vstack:0|DWORD
1168
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1169
+ nr 12 <|@ instruction rsi|DWORD = SHL vstack:0|DWORD size: DWORD <|@ <|@
1170
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: vstack:0|DWORD) size: DWORD <|@ <|@
1171
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1172
+ 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@113b187d8 <|@ <|@
1173
+ end_IR
1174
+ end_block
1175
+ end_cfg
1176
+ begin_bytecodes
1177
+ 0: iload_0
1178
+ 1: iload_1
1179
+ 2: iadd
1180
+ 3: istore_2
1181
+ 4: invokestatic #48 // opaqueCall:()int
1182
+ 7: pop
1183
+ 8: iload_2
1184
+ 9: iconst_2
1185
+ 10: imul
1186
+ 11: iload_2
1187
+ 12: iadd
1188
+ 13: ireturn
1189
+ <|@
1190
+ end_bytecodes
1191
+ begin_intervals
1192
+ name "Before stack slot allocation"
1193
+ vstack:0|d DWORD "[vstack:0|d]" vstack:0|d -1 [8, 14[ "NOT_SUPPORTED"
1194
+ end_intervals
1195
+ begin_intervals
1196
+ name "After stack slot allocation"
1197
+ vstack:0|d DWORD "[stack:28|d]" vstack:0|d -1 [8, 14[ "NOT_SUPPORTED"
1198
+ end_intervals
1199
+ begin_cfg
1200
+ name "After LSStackSlotAllocator"
1201
+ begin_block
1202
+ name "B0"
1203
+ from_bci -1
1204
+ to_bci -1
1205
+ predecessors
1206
+ successors
1207
+ xhandlers
1208
+ flags
1209
+ probability 4607182418800017408
1210
+ begin_IR
1211
+ LIR
1212
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1213
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1214
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1215
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1216
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1217
+ nr 10 <|@ st <@st|@live-base-pointers: []
1218
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1219
+ locals: - - stack:28|DWORD
1220
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1221
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1222
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1223
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1224
+ 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@113b187d8 <|@ <|@
1225
+ end_IR
1226
+ end_block
1227
+ end_cfg
1228
+ begin_bytecodes
1229
+ 0: iload_0
1230
+ 1: iload_1
1231
+ 2: iadd
1232
+ 3: istore_2
1233
+ 4: invokestatic #48 // opaqueCall:()int
1234
+ 7: pop
1235
+ 8: iload_2
1236
+ 9: iconst_2
1237
+ 10: imul
1238
+ 11: iload_2
1239
+ 12: iadd
1240
+ 13: ireturn
1241
+ <|@
1242
+ end_bytecodes
1243
+ begin_cfg
1244
+ name "After LocationMarker"
1245
+ begin_block
1246
+ name "B0"
1247
+ from_bci -1
1248
+ to_bci -1
1249
+ predecessors
1250
+ successors
1251
+ xhandlers
1252
+ flags
1253
+ probability 4607182418800017408
1254
+ begin_IR
1255
+ LIR
1256
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1257
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1258
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1259
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1260
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1261
+ nr 10 <|@ st <@st|@reference-map: []
1262
+ live-base-pointers: []
1263
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1264
+ locals: - - stack:28|DWORD
1265
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1266
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1267
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1268
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1269
+ 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@113b187d8 <|@ <|@
1270
+ end_IR
1271
+ end_block
1272
+ end_cfg
1273
+ begin_bytecodes
1274
+ 0: iload_0
1275
+ 1: iload_1
1276
+ 2: iadd
1277
+ 3: istore_2
1278
+ 4: invokestatic #48 // opaqueCall:()int
1279
+ 7: pop
1280
+ 8: iload_2
1281
+ 9: iconst_2
1282
+ 10: imul
1283
+ 11: iload_2
1284
+ 12: iadd
1285
+ 13: ireturn
1286
+ <|@
1287
+ end_bytecodes
1288
+ begin_cfg
1289
+ name "After AllocationStage"
1290
+ begin_block
1291
+ name "B0"
1292
+ from_bci -1
1293
+ to_bci -1
1294
+ predecessors
1295
+ successors
1296
+ xhandlers
1297
+ flags
1298
+ probability 4607182418800017408
1299
+ begin_IR
1300
+ LIR
1301
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1302
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1303
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1304
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1305
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1306
+ nr 10 <|@ st <@st|@reference-map: []
1307
+ live-base-pointers: []
1308
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1309
+ locals: - - stack:28|DWORD
1310
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1311
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1312
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1313
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1314
+ 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@113b187d8 <|@ <|@
1315
+ end_IR
1316
+ end_block
1317
+ end_cfg
1318
+ begin_bytecodes
1319
+ 0: iload_0
1320
+ 1: iload_1
1321
+ 2: iadd
1322
+ 3: istore_2
1323
+ 4: invokestatic #48 // opaqueCall:()int
1324
+ 7: pop
1325
+ 8: iload_2
1326
+ 9: iconst_2
1327
+ 10: imul
1328
+ 11: iload_2
1329
+ 12: iadd
1330
+ 13: ireturn
1331
+ <|@
1332
+ end_bytecodes
1333
+ begin_cfg
1334
+ name "After EdgeMoveOptimizer"
1335
+ begin_block
1336
+ name "B0"
1337
+ from_bci -1
1338
+ to_bci -1
1339
+ predecessors
1340
+ successors
1341
+ xhandlers
1342
+ flags
1343
+ probability 4607182418800017408
1344
+ begin_IR
1345
+ LIR
1346
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1347
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1348
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1349
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1350
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1351
+ nr 10 <|@ st <@st|@reference-map: []
1352
+ live-base-pointers: []
1353
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1354
+ locals: - - stack:28|DWORD
1355
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1356
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1357
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1358
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1359
+ 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@113b187d8 <|@ <|@
1360
+ end_IR
1361
+ end_block
1362
+ end_cfg
1363
+ begin_bytecodes
1364
+ 0: iload_0
1365
+ 1: iload_1
1366
+ 2: iadd
1367
+ 3: istore_2
1368
+ 4: invokestatic #48 // opaqueCall:()int
1369
+ 7: pop
1370
+ 8: iload_2
1371
+ 9: iconst_2
1372
+ 10: imul
1373
+ 11: iload_2
1374
+ 12: iadd
1375
+ 13: ireturn
1376
+ <|@
1377
+ end_bytecodes
1378
+ begin_cfg
1379
+ name "After ControlFlowOptimizer"
1380
+ begin_block
1381
+ name "B0"
1382
+ from_bci -1
1383
+ to_bci -1
1384
+ predecessors
1385
+ successors
1386
+ xhandlers
1387
+ flags
1388
+ probability 4607182418800017408
1389
+ begin_IR
1390
+ LIR
1391
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1392
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1393
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1394
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1395
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1396
+ nr 10 <|@ st <@st|@reference-map: []
1397
+ live-base-pointers: []
1398
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1399
+ locals: - - stack:28|DWORD
1400
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1401
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1402
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1403
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1404
+ 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@113b187d8 <|@ <|@
1405
+ end_IR
1406
+ end_block
1407
+ end_cfg
1408
+ begin_bytecodes
1409
+ 0: iload_0
1410
+ 1: iload_1
1411
+ 2: iadd
1412
+ 3: istore_2
1413
+ 4: invokestatic #48 // opaqueCall:()int
1414
+ 7: pop
1415
+ 8: iload_2
1416
+ 9: iconst_2
1417
+ 10: imul
1418
+ 11: iload_2
1419
+ 12: iadd
1420
+ 13: ireturn
1421
+ <|@
1422
+ end_bytecodes
1423
+ begin_cfg
1424
+ name "After RedundantMoveElimination"
1425
+ begin_block
1426
+ name "B0"
1427
+ from_bci -1
1428
+ to_bci -1
1429
+ predecessors
1430
+ successors
1431
+ xhandlers
1432
+ flags
1433
+ probability 4607182418800017408
1434
+ begin_IR
1435
+ LIR
1436
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1437
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1438
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1439
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1440
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1441
+ nr 10 <|@ st <@st|@reference-map: []
1442
+ live-base-pointers: []
1443
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1444
+ locals: - - stack:28|DWORD
1445
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1446
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1447
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1448
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1449
+ 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@113b187d8 <|@ <|@
1450
+ end_IR
1451
+ end_block
1452
+ end_cfg
1453
+ begin_bytecodes
1454
+ 0: iload_0
1455
+ 1: iload_1
1456
+ 2: iadd
1457
+ 3: istore_2
1458
+ 4: invokestatic #48 // opaqueCall:()int
1459
+ 7: pop
1460
+ 8: iload_2
1461
+ 9: iconst_2
1462
+ 10: imul
1463
+ 11: iload_2
1464
+ 12: iadd
1465
+ 13: ireturn
1466
+ <|@
1467
+ end_bytecodes
1468
+ begin_cfg
1469
+ name "After NullCheckOptimizer"
1470
+ begin_block
1471
+ name "B0"
1472
+ from_bci -1
1473
+ to_bci -1
1474
+ predecessors
1475
+ successors
1476
+ xhandlers
1477
+ flags
1478
+ probability 4607182418800017408
1479
+ begin_IR
1480
+ LIR
1481
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1482
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1483
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1484
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1485
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1486
+ nr 10 <|@ st <@st|@reference-map: []
1487
+ live-base-pointers: []
1488
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1489
+ locals: - - stack:28|DWORD
1490
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1491
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1492
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1493
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1494
+ 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@113b187d8 <|@ <|@
1495
+ end_IR
1496
+ end_block
1497
+ end_cfg
1498
+ begin_bytecodes
1499
+ 0: iload_0
1500
+ 1: iload_1
1501
+ 2: iadd
1502
+ 3: istore_2
1503
+ 4: invokestatic #48 // opaqueCall:()int
1504
+ 7: pop
1505
+ 8: iload_2
1506
+ 9: iconst_2
1507
+ 10: imul
1508
+ 11: iload_2
1509
+ 12: iadd
1510
+ 13: ireturn
1511
+ <|@
1512
+ end_bytecodes
1513
+ begin_cfg
1514
+ name "After StackMoveOptimization"
1515
+ begin_block
1516
+ name "B0"
1517
+ from_bci -1
1518
+ to_bci -1
1519
+ predecessors
1520
+ successors
1521
+ xhandlers
1522
+ flags
1523
+ probability 4607182418800017408
1524
+ begin_IR
1525
+ LIR
1526
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1527
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1528
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1529
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1530
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1531
+ nr 10 <|@ st <@st|@reference-map: []
1532
+ live-base-pointers: []
1533
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1534
+ locals: - - stack:28|DWORD
1535
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1536
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1537
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1538
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1539
+ 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@113b187d8 <|@ <|@
1540
+ end_IR
1541
+ end_block
1542
+ end_cfg
1543
+ begin_bytecodes
1544
+ 0: iload_0
1545
+ 1: iload_1
1546
+ 2: iadd
1547
+ 3: istore_2
1548
+ 4: invokestatic #48 // opaqueCall:()int
1549
+ 7: pop
1550
+ 8: iload_2
1551
+ 9: iconst_2
1552
+ 10: imul
1553
+ 11: iload_2
1554
+ 12: iadd
1555
+ 13: ireturn
1556
+ <|@
1557
+ end_bytecodes
1558
+ begin_cfg
1559
+ name "After PostAllocationOptimizationStage"
1560
+ begin_block
1561
+ name "B0"
1562
+ from_bci -1
1563
+ to_bci -1
1564
+ predecessors
1565
+ successors
1566
+ xhandlers
1567
+ flags
1568
+ probability 4607182418800017408
1569
+ begin_IR
1570
+ LIR
1571
+ nr 0 <|@ instruction [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1572
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1573
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <|@ <|@
1574
+ nr 6 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <|@ <|@
1575
+ nr 8 <|@ instruction stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD // MoveResolver resolve mapping <|@ <|@
1576
+ nr 10 <|@ st <@st|@reference-map: []
1577
+ live-base-pointers: []
1578
+ JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4]
1579
+ locals: - - stack:28|DWORD
1580
+ >@ <|@ instruction rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <|@ <|@
1581
+ nr 12 <|@ instruction rsi|DWORD = SHL stack:28|DWORD size: DWORD <|@ <|@
1582
+ nr 14 <|@ instruction rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <|@ <|@
1583
+ nr 16 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
1584
+ 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@113b187d8 <|@ <|@
1585
+ end_IR
1586
+ end_block
1587
+ end_cfg
1588
+ begin_bytecodes
1589
+ 0: iload_0
1590
+ 1: iload_1
1591
+ 2: iadd
1592
+ 3: istore_2
1593
+ 4: invokestatic #48 // opaqueCall:()int
1594
+ 7: pop
1595
+ 8: iload_2
1596
+ 9: iconst_2
1597
+ 10: imul
1598
+ 11: iload_2
1599
+ 12: iadd
1600
+ 13: ireturn
1601
+ <|@
1602
+ end_bytecodes
1603
+ begin_cfg
1604
+ name "After code generation"
1605
+ end_cfg
1606
+ begin_nmethod
1607
+ <<<HexCodeFile
1608
+ Platform AMD64 64 <||@
1609
+ HexCode 0 89842400c0feff4883ec1848896c241003f28974240490e800000000908b742404d1e6037424048bc6488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
1610
+ Comment 0 [stack overflow check] <||@
1611
+ Comment 0 3 <||@
1612
+ Comment 0 1 <||@
1613
+ Comment 11 block B0 null <||@
1614
+ Comment 11 0 [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1615
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1616
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <||@
1617
+ Comment 16 6 rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <||@
1618
+ Comment 18 8 stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
1619
+ Comment 22 10 rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <||@
1620
+ Comment 22 8 <||@
1621
+ Comment 23 {HotSpotMethod<JavaExamples.opaqueCall()>} <||@
1622
+ Comment 28 []at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4, duringCall: true, rethrow: false]
1623
+ |0 |1 |2
1624
+ locals: |- |- |stack:28|DWORD <||@
1625
+ Comment 29 12 rsi|DWORD = SHL stack:28|DWORD size: DWORD <||@
1626
+ Comment 35 14 rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <||@
1627
+ Comment 39 16 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
1628
+ Comment 41 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <||@
1629
+ Comment 50 12 <||@
1630
+ Comment 60 {Stub<ExceptionHandlerStub.exceptionHandler>@0x118dc28e0: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} <||@
1631
+ Comment 60 4 <||@
1632
+ Comment 66 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10b6bc128, value=4710744640]:0x118c84240} <||@
1633
+ Comment 66 5 <||@
1634
+ HexCodeFile>>> <|@
1635
+ end_nmethod
1636
+ begin_compilation
1637
+ name " HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
1638
+ method "HotSpotCompilation-337[JavaExamples.exampleLocalVariablesState(int, int)]"
1639
+ date 1583713938465
1640
+ end_compilation
1641
+ begin_cfg
1642
+ name "After code installation"
1643
+ end_cfg
1644
+ begin_nmethod
1645
+ <<<HexCodeFile
1646
+ Platform AMD64 64 <||@
1647
+ HexCode 118dcca60 89842400c0feff4883ec1848896c241003f28974240490e8c478f8ff908b742404d1e6037424048bc6488b6c24104883c41885056ef582f0c5f877c3e83f5effff90e89977ebff90f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
1648
+ Comment 0 [stack overflow check] <||@
1649
+ Comment 0 3 <||@
1650
+ Comment 0 1 <||@
1651
+ Comment 11 block B0 null <||@
1652
+ Comment 11 0 [rsi|DWORD, rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1653
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1654
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13bf3e570 slotKind: QWORD <||@
1655
+ Comment 16 6 rsi|DWORD = ADD (x: rsi|DWORD, y: rdx|DWORD) size: DWORD <||@
1656
+ Comment 18 8 stack:28|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
1657
+ Comment 22 10 rax|DWORD = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.opaqueCall()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 state [bci:4] <||@
1658
+ Comment 22 8 <||@
1659
+ Comment 23 {HotSpotMethod<JavaExamples.opaqueCall()>} <||@
1660
+ Comment 28 []at JavaExamples.exampleLocalVariablesState(JavaExamples.java:75) [bci: 4, duringCall: true, rethrow: false]
1661
+ |0 |1 |2
1662
+ locals: |- |- |stack:28|DWORD <||@
1663
+ Comment 29 12 rsi|DWORD = SHL stack:28|DWORD size: DWORD <||@
1664
+ Comment 35 14 rsi|DWORD = ADD (x: rsi|DWORD, y: stack:28|DWORD) size: DWORD <||@
1665
+ Comment 39 16 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
1666
+ Comment 41 18 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@113b187d8 <||@
1667
+ Comment 50 12 <||@
1668
+ Comment 60 {Stub<ExceptionHandlerStub.exceptionHandler>@0x118dc28e0: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} <||@
1669
+ Comment 60 4 <||@
1670
+ Comment 66 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x10b6bc128, value=4710744640]:0x118c84240} <||@
1671
+ Comment 66 5 <||@
1672
+ HexCodeFile>>> <|@
1673
+ end_nmethod