seafoam 0.2

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