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,974 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-125[JavaExamples.exampleNoEscape(int)]"
3
+ method "HotSpotCompilation-125[JavaExamples.exampleNoEscape(int)]"
4
+ date 1583364091755
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
+ v9
42
+ === Predecessor ===
43
+ - >@ <|@
44
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
45
+ f <@*|@fixed>@ <|@
46
+ tid v9 <|@
47
+ d <@d|@=== Debug Properties ===
48
+ nodeSourcePosition: at JavaExamples.exampleNoEscape(JavaExamples.java:127) [bci: 11]
49
+ stamp: void
50
+ === Inputs ===
51
+ result: i1
52
+ memoryMap: -
53
+ === Succesors ===
54
+ === Usages ===
55
+ === Predecessor ===
56
+ v0 >@ <|@
57
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
58
+ end_IR
59
+ end_block
60
+ end_cfg
61
+ begin_cfg
62
+ name "After LIRGeneration"
63
+ begin_block
64
+ name "B0"
65
+ from_bci -1
66
+ to_bci -1
67
+ predecessors
68
+ successors
69
+ xhandlers
70
+ flags
71
+ probability 4607182418800017408
72
+ begin_IR
73
+ LIR
74
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
75
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
76
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
77
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
78
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
79
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
80
+ end_IR
81
+ end_block
82
+ end_cfg
83
+ begin_bytecodes
84
+ 0: iconst_1
85
+ 1: newarray int
86
+ 3: dup
87
+ 4: iconst_0
88
+ 5: iload_0
89
+ 6: iastore
90
+ 7: astore_1
91
+ 8: aload_1
92
+ 9: iconst_0
93
+ 10: iaload
94
+ 11: ireturn
95
+ <|@
96
+ end_bytecodes
97
+ begin_cfg
98
+ name "After LIR generation"
99
+ begin_block
100
+ name "B0"
101
+ from_bci -1
102
+ to_bci -1
103
+ predecessors
104
+ successors
105
+ xhandlers
106
+ flags
107
+ probability 4607182418800017408
108
+ begin_IR
109
+ HIR
110
+ f <@#|@fixed with next>@ <|@
111
+ tid v0 <|@
112
+ d <@d|@=== Debug Properties ===
113
+ stamp: void
114
+ withSpeculationFence: false
115
+ === Inputs ===
116
+ stateAfter: -
117
+ === Succesors ===
118
+ next: v9
119
+ === Usages ===
120
+ === Predecessor ===
121
+ - >@ <|@
122
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v9 <|@ <|@
123
+ f <@~|@floating>@ <|@
124
+ tid i1 <|@
125
+ result v0|DWORD <|@
126
+ d <@d|@=== Debug Properties ===
127
+ index: 0
128
+ stamp: i32
129
+ uncheckedStamp: [null]
130
+ === Inputs ===
131
+ === Succesors ===
132
+ === Usages ===
133
+ v9
134
+ === Predecessor ===
135
+ - >@ <|@
136
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
137
+ f <@*|@fixed>@ <|@
138
+ tid v9 <|@
139
+ d <@d|@=== Debug Properties ===
140
+ nodeSourcePosition: at JavaExamples.exampleNoEscape(JavaExamples.java:127) [bci: 11]
141
+ stamp: void
142
+ === Inputs ===
143
+ result: i1
144
+ memoryMap: -
145
+ === Succesors ===
146
+ === Usages ===
147
+ === Predecessor ===
148
+ v0 >@ <|@
149
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i1 memoryMap: - <|@ <|@
150
+ end_IR
151
+ begin_IR
152
+ LIR
153
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
154
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
155
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
156
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
157
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
158
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
159
+ end_IR
160
+ end_block
161
+ end_cfg
162
+ begin_cfg
163
+ name "After ConstantLoadOptimization"
164
+ begin_block
165
+ name "B0"
166
+ from_bci -1
167
+ to_bci -1
168
+ predecessors
169
+ successors
170
+ xhandlers
171
+ flags
172
+ probability 4607182418800017408
173
+ begin_IR
174
+ LIR
175
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
176
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
177
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
178
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
179
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
180
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
181
+ end_IR
182
+ end_block
183
+ end_cfg
184
+ begin_bytecodes
185
+ 0: iconst_1
186
+ 1: newarray int
187
+ 3: dup
188
+ 4: iconst_0
189
+ 5: iload_0
190
+ 6: iastore
191
+ 7: astore_1
192
+ 8: aload_1
193
+ 9: iconst_0
194
+ 10: iaload
195
+ 11: ireturn
196
+ <|@
197
+ end_bytecodes
198
+ begin_cfg
199
+ name "After SaveCalleeSaveRegisters"
200
+ begin_block
201
+ name "B0"
202
+ from_bci -1
203
+ to_bci -1
204
+ predecessors
205
+ successors
206
+ xhandlers
207
+ flags
208
+ probability 4607182418800017408
209
+ begin_IR
210
+ LIR
211
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
212
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
213
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
214
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
215
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
216
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
217
+ end_IR
218
+ end_block
219
+ end_cfg
220
+ begin_bytecodes
221
+ 0: iconst_1
222
+ 1: newarray int
223
+ 3: dup
224
+ 4: iconst_0
225
+ 5: iload_0
226
+ 6: iastore
227
+ 7: astore_1
228
+ 8: aload_1
229
+ 9: iconst_0
230
+ 10: iaload
231
+ 11: ireturn
232
+ <|@
233
+ end_bytecodes
234
+ begin_cfg
235
+ name "After PreAllocationOptimizationStage"
236
+ begin_block
237
+ name "B0"
238
+ from_bci -1
239
+ to_bci -1
240
+ predecessors
241
+ successors
242
+ xhandlers
243
+ flags
244
+ probability 4607182418800017408
245
+ begin_IR
246
+ LIR
247
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
248
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
249
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
250
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
251
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
252
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
253
+ end_IR
254
+ end_block
255
+ end_cfg
256
+ begin_bytecodes
257
+ 0: iconst_1
258
+ 1: newarray int
259
+ 3: dup
260
+ 4: iconst_0
261
+ 5: iload_0
262
+ 6: iastore
263
+ 7: astore_1
264
+ 8: aload_1
265
+ 9: iconst_0
266
+ 10: iaload
267
+ 11: ireturn
268
+ <|@
269
+ end_bytecodes
270
+ begin_cfg
271
+ name "After MarkBasePointers"
272
+ begin_block
273
+ name "B0"
274
+ from_bci -1
275
+ to_bci -1
276
+ predecessors
277
+ successors
278
+ xhandlers
279
+ flags
280
+ probability 4607182418800017408
281
+ begin_IR
282
+ LIR
283
+ nr -1 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
284
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
285
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
286
+ nr -1 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
287
+ nr -1 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
288
+ nr -1 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
289
+ end_IR
290
+ end_block
291
+ end_cfg
292
+ begin_bytecodes
293
+ 0: iconst_1
294
+ 1: newarray int
295
+ 3: dup
296
+ 4: iconst_0
297
+ 5: iload_0
298
+ 6: iastore
299
+ 7: astore_1
300
+ 8: aload_1
301
+ 9: iconst_0
302
+ 10: iaload
303
+ 11: ireturn
304
+ <|@
305
+ end_bytecodes
306
+ begin_cfg
307
+ name "Before register allocation"
308
+ begin_block
309
+ name "B0"
310
+ from_bci -1
311
+ to_bci -1
312
+ predecessors
313
+ successors
314
+ xhandlers
315
+ flags
316
+ probability 4607182418800017408
317
+ begin_IR
318
+ LIR
319
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
320
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
321
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
322
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
323
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
324
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
325
+ end_IR
326
+ end_block
327
+ end_cfg
328
+ begin_bytecodes
329
+ 0: iconst_1
330
+ 1: newarray int
331
+ 3: dup
332
+ 4: iconst_0
333
+ 5: iload_0
334
+ 6: iastore
335
+ 7: astore_1
336
+ 8: aload_1
337
+ 9: iconst_0
338
+ 10: iaload
339
+ 11: ireturn
340
+ <|@
341
+ end_bytecodes
342
+ begin_cfg
343
+ name "After SSALinearScanLifetimeAnalysis"
344
+ begin_block
345
+ name "B0"
346
+ from_bci -1
347
+ to_bci -1
348
+ predecessors
349
+ successors
350
+ xhandlers
351
+ flags
352
+ probability 4607182418800017408
353
+ begin_IR
354
+ LIR
355
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
356
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
357
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
358
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
359
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
360
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
361
+ end_IR
362
+ end_block
363
+ end_cfg
364
+ begin_bytecodes
365
+ 0: iconst_1
366
+ 1: newarray int
367
+ 3: dup
368
+ 4: iconst_0
369
+ 5: iload_0
370
+ 6: iastore
371
+ 7: astore_1
372
+ 8: aload_1
373
+ 9: iconst_0
374
+ 10: iaload
375
+ 11: ireturn
376
+ <|@
377
+ end_bytecodes
378
+ begin_intervals
379
+ name "Before register allocation"
380
+ rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[8, 10[ "NoSpillStore"
381
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
382
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
383
+ v0|d DWORD "[v0|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
384
+ v1|q QWORD "[v1|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
385
+ end_intervals
386
+ begin_intervals
387
+ name "After register allocation"
388
+ rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[8, 10[ "NoSpillStore"
389
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
390
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
391
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
392
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
393
+ end_intervals
394
+ begin_cfg
395
+ name "After LinearScanRegisterAllocation"
396
+ begin_block
397
+ name "B0"
398
+ from_bci -1
399
+ to_bci -1
400
+ predecessors
401
+ successors
402
+ xhandlers
403
+ flags
404
+ probability 4607182418800017408
405
+ begin_IR
406
+ LIR
407
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
408
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
409
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
410
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
411
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
412
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
413
+ end_IR
414
+ end_block
415
+ end_cfg
416
+ begin_bytecodes
417
+ 0: iconst_1
418
+ 1: newarray int
419
+ 3: dup
420
+ 4: iconst_0
421
+ 5: iload_0
422
+ 6: iastore
423
+ 7: astore_1
424
+ 8: aload_1
425
+ 9: iconst_0
426
+ 10: iaload
427
+ 11: ireturn
428
+ <|@
429
+ end_bytecodes
430
+ begin_intervals
431
+ name "After optimize spill position"
432
+ rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[8, 10[ "NoSpillStore"
433
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
434
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
435
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
436
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
437
+ end_intervals
438
+ begin_cfg
439
+ name "After LinearScanOptimizeSpillPosition"
440
+ begin_block
441
+ name "B0"
442
+ from_bci -1
443
+ to_bci -1
444
+ predecessors
445
+ successors
446
+ xhandlers
447
+ flags
448
+ probability 4607182418800017408
449
+ begin_IR
450
+ LIR
451
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
452
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
453
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
454
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
455
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
456
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
457
+ end_IR
458
+ end_block
459
+ end_cfg
460
+ begin_bytecodes
461
+ 0: iconst_1
462
+ 1: newarray int
463
+ 3: dup
464
+ 4: iconst_0
465
+ 5: iload_0
466
+ 6: iastore
467
+ 7: astore_1
468
+ 8: aload_1
469
+ 9: iconst_0
470
+ 10: iaload
471
+ 11: ireturn
472
+ <|@
473
+ end_bytecodes
474
+ begin_intervals
475
+ name "After resolve data flow"
476
+ rax|d fixed "[rax|d]" rax|d v0|d [0, 1[[8, 10[ "NoSpillStore"
477
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
478
+ rsi|d fixed "[rsi|d]" rsi|d -1 [0, 6[ "NoSpillStore"
479
+ v0|d DWORD "[rsi|d]" v0|d rsi|d [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
480
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
481
+ end_intervals
482
+ begin_cfg
483
+ name "After SSALinearScanResolveDataFlow"
484
+ begin_block
485
+ name "B0"
486
+ from_bci -1
487
+ to_bci -1
488
+ predecessors
489
+ successors
490
+ xhandlers
491
+ flags
492
+ probability 4607182418800017408
493
+ begin_IR
494
+ LIR
495
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
496
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
497
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
498
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
499
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
500
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
501
+ end_IR
502
+ end_block
503
+ end_cfg
504
+ begin_bytecodes
505
+ 0: iconst_1
506
+ 1: newarray int
507
+ 3: dup
508
+ 4: iconst_0
509
+ 5: iload_0
510
+ 6: iastore
511
+ 7: astore_1
512
+ 8: aload_1
513
+ 9: iconst_0
514
+ 10: iaload
515
+ 11: ireturn
516
+ <|@
517
+ end_bytecodes
518
+ begin_cfg
519
+ name "After SSALinearScanEliminateSpillMove"
520
+ begin_block
521
+ name "B0"
522
+ from_bci -1
523
+ to_bci -1
524
+ predecessors
525
+ successors
526
+ xhandlers
527
+ flags
528
+ probability 4607182418800017408
529
+ begin_IR
530
+ LIR
531
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
532
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
533
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
534
+ nr 6 <|@ instruction v0|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
535
+ nr 8 <|@ instruction rax|DWORD = MOVE v0|DWORD moveKind: DWORD <|@ <|@
536
+ nr 10 <|@ instruction RETURN (savedRbp: v1|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
537
+ end_IR
538
+ end_block
539
+ end_cfg
540
+ begin_bytecodes
541
+ 0: iconst_1
542
+ 1: newarray int
543
+ 3: dup
544
+ 4: iconst_0
545
+ 5: iload_0
546
+ 6: iastore
547
+ 7: astore_1
548
+ 8: aload_1
549
+ 9: iconst_0
550
+ 10: iaload
551
+ 11: ireturn
552
+ <|@
553
+ end_bytecodes
554
+ begin_cfg
555
+ name "After LinearScanAssignLocations"
556
+ begin_block
557
+ name "B0"
558
+ from_bci -1
559
+ to_bci -1
560
+ predecessors
561
+ successors
562
+ xhandlers
563
+ flags
564
+ probability 4607182418800017408
565
+ begin_IR
566
+ LIR
567
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
568
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
569
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
570
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
571
+ end_IR
572
+ end_block
573
+ end_cfg
574
+ begin_bytecodes
575
+ 0: iconst_1
576
+ 1: newarray int
577
+ 3: dup
578
+ 4: iconst_0
579
+ 5: iload_0
580
+ 6: iastore
581
+ 7: astore_1
582
+ 8: aload_1
583
+ 9: iconst_0
584
+ 10: iaload
585
+ 11: ireturn
586
+ <|@
587
+ end_bytecodes
588
+ begin_cfg
589
+ name "After LinearScan"
590
+ begin_block
591
+ name "B0"
592
+ from_bci -1
593
+ to_bci -1
594
+ predecessors
595
+ successors
596
+ xhandlers
597
+ flags
598
+ probability 4607182418800017408
599
+ begin_IR
600
+ LIR
601
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
602
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
603
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
604
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
605
+ end_IR
606
+ end_block
607
+ end_cfg
608
+ begin_bytecodes
609
+ 0: iconst_1
610
+ 1: newarray int
611
+ 3: dup
612
+ 4: iconst_0
613
+ 5: iload_0
614
+ 6: iastore
615
+ 7: astore_1
616
+ 8: aload_1
617
+ 9: iconst_0
618
+ 10: iaload
619
+ 11: ireturn
620
+ <|@
621
+ end_bytecodes
622
+ begin_cfg
623
+ name "After LSStackSlotAllocator"
624
+ begin_block
625
+ name "B0"
626
+ from_bci -1
627
+ to_bci -1
628
+ predecessors
629
+ successors
630
+ xhandlers
631
+ flags
632
+ probability 4607182418800017408
633
+ begin_IR
634
+ LIR
635
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
636
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
637
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
638
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
639
+ end_IR
640
+ end_block
641
+ end_cfg
642
+ begin_bytecodes
643
+ 0: iconst_1
644
+ 1: newarray int
645
+ 3: dup
646
+ 4: iconst_0
647
+ 5: iload_0
648
+ 6: iastore
649
+ 7: astore_1
650
+ 8: aload_1
651
+ 9: iconst_0
652
+ 10: iaload
653
+ 11: ireturn
654
+ <|@
655
+ end_bytecodes
656
+ begin_cfg
657
+ name "After LocationMarker"
658
+ begin_block
659
+ name "B0"
660
+ from_bci -1
661
+ to_bci -1
662
+ predecessors
663
+ successors
664
+ xhandlers
665
+ flags
666
+ probability 4607182418800017408
667
+ begin_IR
668
+ LIR
669
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
670
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
671
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
672
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
673
+ end_IR
674
+ end_block
675
+ end_cfg
676
+ begin_bytecodes
677
+ 0: iconst_1
678
+ 1: newarray int
679
+ 3: dup
680
+ 4: iconst_0
681
+ 5: iload_0
682
+ 6: iastore
683
+ 7: astore_1
684
+ 8: aload_1
685
+ 9: iconst_0
686
+ 10: iaload
687
+ 11: ireturn
688
+ <|@
689
+ end_bytecodes
690
+ begin_cfg
691
+ name "After AllocationStage"
692
+ begin_block
693
+ name "B0"
694
+ from_bci -1
695
+ to_bci -1
696
+ predecessors
697
+ successors
698
+ xhandlers
699
+ flags
700
+ probability 4607182418800017408
701
+ begin_IR
702
+ LIR
703
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
704
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
705
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
706
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
707
+ end_IR
708
+ end_block
709
+ end_cfg
710
+ begin_bytecodes
711
+ 0: iconst_1
712
+ 1: newarray int
713
+ 3: dup
714
+ 4: iconst_0
715
+ 5: iload_0
716
+ 6: iastore
717
+ 7: astore_1
718
+ 8: aload_1
719
+ 9: iconst_0
720
+ 10: iaload
721
+ 11: ireturn
722
+ <|@
723
+ end_bytecodes
724
+ begin_cfg
725
+ name "After EdgeMoveOptimizer"
726
+ begin_block
727
+ name "B0"
728
+ from_bci -1
729
+ to_bci -1
730
+ predecessors
731
+ successors
732
+ xhandlers
733
+ flags
734
+ probability 4607182418800017408
735
+ begin_IR
736
+ LIR
737
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
738
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
739
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
740
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
741
+ end_IR
742
+ end_block
743
+ end_cfg
744
+ begin_bytecodes
745
+ 0: iconst_1
746
+ 1: newarray int
747
+ 3: dup
748
+ 4: iconst_0
749
+ 5: iload_0
750
+ 6: iastore
751
+ 7: astore_1
752
+ 8: aload_1
753
+ 9: iconst_0
754
+ 10: iaload
755
+ 11: ireturn
756
+ <|@
757
+ end_bytecodes
758
+ begin_cfg
759
+ name "After ControlFlowOptimizer"
760
+ begin_block
761
+ name "B0"
762
+ from_bci -1
763
+ to_bci -1
764
+ predecessors
765
+ successors
766
+ xhandlers
767
+ flags
768
+ probability 4607182418800017408
769
+ begin_IR
770
+ LIR
771
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
772
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
773
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
774
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
775
+ end_IR
776
+ end_block
777
+ end_cfg
778
+ begin_bytecodes
779
+ 0: iconst_1
780
+ 1: newarray int
781
+ 3: dup
782
+ 4: iconst_0
783
+ 5: iload_0
784
+ 6: iastore
785
+ 7: astore_1
786
+ 8: aload_1
787
+ 9: iconst_0
788
+ 10: iaload
789
+ 11: ireturn
790
+ <|@
791
+ end_bytecodes
792
+ begin_cfg
793
+ name "After RedundantMoveElimination"
794
+ begin_block
795
+ name "B0"
796
+ from_bci -1
797
+ to_bci -1
798
+ predecessors
799
+ successors
800
+ xhandlers
801
+ flags
802
+ probability 4607182418800017408
803
+ begin_IR
804
+ LIR
805
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
806
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
807
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
808
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
809
+ end_IR
810
+ end_block
811
+ end_cfg
812
+ begin_bytecodes
813
+ 0: iconst_1
814
+ 1: newarray int
815
+ 3: dup
816
+ 4: iconst_0
817
+ 5: iload_0
818
+ 6: iastore
819
+ 7: astore_1
820
+ 8: aload_1
821
+ 9: iconst_0
822
+ 10: iaload
823
+ 11: ireturn
824
+ <|@
825
+ end_bytecodes
826
+ begin_cfg
827
+ name "After NullCheckOptimizer"
828
+ begin_block
829
+ name "B0"
830
+ from_bci -1
831
+ to_bci -1
832
+ predecessors
833
+ successors
834
+ xhandlers
835
+ flags
836
+ probability 4607182418800017408
837
+ begin_IR
838
+ LIR
839
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
840
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
841
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
842
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
843
+ end_IR
844
+ end_block
845
+ end_cfg
846
+ begin_bytecodes
847
+ 0: iconst_1
848
+ 1: newarray int
849
+ 3: dup
850
+ 4: iconst_0
851
+ 5: iload_0
852
+ 6: iastore
853
+ 7: astore_1
854
+ 8: aload_1
855
+ 9: iconst_0
856
+ 10: iaload
857
+ 11: ireturn
858
+ <|@
859
+ end_bytecodes
860
+ begin_cfg
861
+ name "After StackMoveOptimization"
862
+ begin_block
863
+ name "B0"
864
+ from_bci -1
865
+ to_bci -1
866
+ predecessors
867
+ successors
868
+ xhandlers
869
+ flags
870
+ probability 4607182418800017408
871
+ begin_IR
872
+ LIR
873
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
874
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
875
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
876
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
877
+ end_IR
878
+ end_block
879
+ end_cfg
880
+ begin_bytecodes
881
+ 0: iconst_1
882
+ 1: newarray int
883
+ 3: dup
884
+ 4: iconst_0
885
+ 5: iload_0
886
+ 6: iastore
887
+ 7: astore_1
888
+ 8: aload_1
889
+ 9: iconst_0
890
+ 10: iaload
891
+ 11: ireturn
892
+ <|@
893
+ end_bytecodes
894
+ begin_cfg
895
+ name "After PostAllocationOptimizationStage"
896
+ begin_block
897
+ name "B0"
898
+ from_bci -1
899
+ to_bci -1
900
+ predecessors
901
+ successors
902
+ xhandlers
903
+ flags
904
+ probability 4607182418800017408
905
+ begin_IR
906
+ LIR
907
+ nr 0 <|@ instruction [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
908
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <|@ <|@
909
+ nr 8 <|@ instruction rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <|@ <|@
910
+ nr 10 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
911
+ end_IR
912
+ end_block
913
+ end_cfg
914
+ begin_bytecodes
915
+ 0: iconst_1
916
+ 1: newarray int
917
+ 3: dup
918
+ 4: iconst_0
919
+ 5: iload_0
920
+ 6: iastore
921
+ 7: astore_1
922
+ 8: aload_1
923
+ 9: iconst_0
924
+ 10: iaload
925
+ 11: ireturn
926
+ <|@
927
+ end_bytecodes
928
+ begin_cfg
929
+ name "After code generation"
930
+ end_cfg
931
+ begin_nmethod
932
+ <<<HexCodeFile
933
+ Platform AMD64 64 <||@
934
+ HexCode 0 0f1f4400008bc6850500000000c5f877c3e80000000090e80000000090 <||@
935
+ Comment 0 3 <||@
936
+ Comment 0 1 <||@
937
+ Comment 5 block B0 null <||@
938
+ Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
939
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <||@
940
+ Comment 5 8 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
941
+ Comment 7 10 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
942
+ Comment 7 12 <||@
943
+ Comment 17 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320: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} <||@
944
+ Comment 17 4 <||@
945
+ Comment 23 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
946
+ Comment 23 5 <||@
947
+ HexCodeFile>>> <|@
948
+ end_nmethod
949
+ begin_compilation
950
+ name " HotSpotCompilation-125[JavaExamples.exampleNoEscape(int)]"
951
+ method "HotSpotCompilation-125[JavaExamples.exampleNoEscape(int)]"
952
+ date 1583364091767
953
+ end_compilation
954
+ begin_cfg
955
+ name "After code installation"
956
+ end_cfg
957
+ begin_nmethod
958
+ <<<HexCodeFile
959
+ Platform AMD64 64 <||@
960
+ HexCode 112e32de0 0f1f4400008bc68505198293fbc5f877c3e82a15ffff90e84414ebff90f4f4f4 <||@
961
+ Comment 0 3 <||@
962
+ Comment 0 1 <||@
963
+ Comment 5 block B0 null <||@
964
+ Comment 5 0 [rsi|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
965
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c1922f8 slotKind: QWORD <||@
966
+ Comment 5 8 rax|DWORD = MOVE rsi|DWORD moveKind: DWORD <||@
967
+ Comment 7 10 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
968
+ Comment 7 12 <||@
969
+ Comment 17 {Stub<ExceptionHandlerStub.exceptionHandler>@0x112e24320: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} <||@
970
+ Comment 17 4 <||@
971
+ Comment 23 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
972
+ Comment 23 5 <||@
973
+ HexCodeFile>>> <|@
974
+ end_nmethod