seafoam 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,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