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,1673 +0,0 @@
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