seafoam 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,780 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-74[JavaExamples.exampleThrow()]"
3
+ method "HotSpotCompilation-74[JavaExamples.exampleThrow()]"
4
+ date 1583364091636
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: v5
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v5 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid a2 <|@
34
+ d <@d|@=== Debug Properties ===
35
+ isDefaultStable: false
36
+ nodeSourcePosition: at JavaExamples.exampleThrow(JavaExamples.java:273) [bci: 0]
37
+ rawvalue: Instance<java.lang.RuntimeException>
38
+ stableDimension: 0
39
+ stamp: a!# Ljava/lang/RuntimeException;
40
+ stampKind: a -
41
+ value: Object[Instance<java.lang.RuntimeException>]
42
+ === Inputs ===
43
+ === Succesors ===
44
+ === Usages ===
45
+ v5
46
+ === Predecessor ===
47
+ - >@ <|@
48
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
49
+ f <@*|@fixed>@ <|@
50
+ tid v5 <|@
51
+ d <@d|@=== Debug Properties ===
52
+ nodeSourcePosition: at JavaExamples.exampleThrow() [bci: -1]
53
+ stamp: void
54
+ === Inputs ===
55
+ exception: a2
56
+ === Succesors ===
57
+ === Usages ===
58
+ === Predecessor ===
59
+ v0 >@ <|@
60
+ instruction <@Unwind|@org.graalvm.compiler.nodes.UnwindNode>@ exception: a2 <|@ <|@
61
+ end_IR
62
+ end_block
63
+ end_cfg
64
+ begin_cfg
65
+ name "After LIRGeneration"
66
+ begin_block
67
+ name "B0"
68
+ from_bci -1
69
+ to_bci -1
70
+ predecessors
71
+ successors
72
+ xhandlers
73
+ flags
74
+ probability 4607182418800017408
75
+ begin_IR
76
+ LIR
77
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
78
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
79
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
80
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
81
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
82
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
83
+ end_IR
84
+ end_block
85
+ end_cfg
86
+ begin_bytecodes
87
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
88
+ 3: athrow
89
+ <|@
90
+ end_bytecodes
91
+ begin_cfg
92
+ name "After LIR generation"
93
+ begin_block
94
+ name "B0"
95
+ from_bci -1
96
+ to_bci -1
97
+ predecessors
98
+ successors
99
+ xhandlers
100
+ flags
101
+ probability 4607182418800017408
102
+ begin_IR
103
+ HIR
104
+ f <@#|@fixed with next>@ <|@
105
+ tid v0 <|@
106
+ d <@d|@=== Debug Properties ===
107
+ stamp: void
108
+ withSpeculationFence: false
109
+ === Inputs ===
110
+ stateAfter: -
111
+ === Succesors ===
112
+ next: v5
113
+ === Usages ===
114
+ === Predecessor ===
115
+ - >@ <|@
116
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v5 <|@ <|@
117
+ f <@~|@floating>@ <|@
118
+ tid a2 <|@
119
+ result v0|QWORD[.] <|@
120
+ d <@d|@=== Debug Properties ===
121
+ isDefaultStable: false
122
+ nodeSourcePosition: at JavaExamples.exampleThrow(JavaExamples.java:273) [bci: 0]
123
+ rawvalue: Instance<java.lang.RuntimeException>
124
+ stableDimension: 0
125
+ stamp: a!# Ljava/lang/RuntimeException;
126
+ stampKind: a -
127
+ value: Object[Instance<java.lang.RuntimeException>]
128
+ === Inputs ===
129
+ === Succesors ===
130
+ === Usages ===
131
+ v5
132
+ === Predecessor ===
133
+ - >@ <|@
134
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
135
+ f <@*|@fixed>@ <|@
136
+ tid v5 <|@
137
+ d <@d|@=== Debug Properties ===
138
+ nodeSourcePosition: at JavaExamples.exampleThrow() [bci: -1]
139
+ stamp: void
140
+ === Inputs ===
141
+ exception: a2
142
+ === Succesors ===
143
+ === Usages ===
144
+ === Predecessor ===
145
+ v0 >@ <|@
146
+ instruction <@Unwind|@org.graalvm.compiler.nodes.UnwindNode>@ exception: a2 <|@ <|@
147
+ end_IR
148
+ begin_IR
149
+ LIR
150
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
151
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
152
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
153
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
154
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
155
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
156
+ end_IR
157
+ end_block
158
+ end_cfg
159
+ begin_cfg
160
+ name "After ConstantLoadOptimization"
161
+ begin_block
162
+ name "B0"
163
+ from_bci -1
164
+ to_bci -1
165
+ predecessors
166
+ successors
167
+ xhandlers
168
+ flags
169
+ probability 4607182418800017408
170
+ begin_IR
171
+ LIR
172
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
173
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
174
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
175
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
176
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
177
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
178
+ end_IR
179
+ end_block
180
+ end_cfg
181
+ begin_bytecodes
182
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
183
+ 3: athrow
184
+ <|@
185
+ end_bytecodes
186
+ begin_cfg
187
+ name "After SaveCalleeSaveRegisters"
188
+ begin_block
189
+ name "B0"
190
+ from_bci -1
191
+ to_bci -1
192
+ predecessors
193
+ successors
194
+ xhandlers
195
+ flags
196
+ probability 4607182418800017408
197
+ begin_IR
198
+ LIR
199
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
200
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
201
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
202
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
203
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
204
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
205
+ end_IR
206
+ end_block
207
+ end_cfg
208
+ begin_bytecodes
209
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
210
+ 3: athrow
211
+ <|@
212
+ end_bytecodes
213
+ begin_cfg
214
+ name "After PreAllocationOptimizationStage"
215
+ begin_block
216
+ name "B0"
217
+ from_bci -1
218
+ to_bci -1
219
+ predecessors
220
+ successors
221
+ xhandlers
222
+ flags
223
+ probability 4607182418800017408
224
+ begin_IR
225
+ LIR
226
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
227
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
228
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
229
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
230
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
231
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
232
+ end_IR
233
+ end_block
234
+ end_cfg
235
+ begin_bytecodes
236
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
237
+ 3: athrow
238
+ <|@
239
+ end_bytecodes
240
+ begin_cfg
241
+ name "After MarkBasePointers"
242
+ begin_block
243
+ name "B0"
244
+ from_bci -1
245
+ to_bci -1
246
+ predecessors
247
+ successors
248
+ xhandlers
249
+ flags
250
+ probability 4607182418800017408
251
+ begin_IR
252
+ LIR
253
+ nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
254
+ nr -1 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
255
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
256
+ nr -1 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
257
+ nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
258
+ nr -1 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
259
+ end_IR
260
+ end_block
261
+ end_cfg
262
+ begin_bytecodes
263
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
264
+ 3: athrow
265
+ <|@
266
+ end_bytecodes
267
+ begin_cfg
268
+ name "Before register allocation"
269
+ begin_block
270
+ name "B0"
271
+ from_bci -1
272
+ to_bci -1
273
+ predecessors
274
+ successors
275
+ xhandlers
276
+ flags
277
+ probability 4607182418800017408
278
+ begin_IR
279
+ LIR
280
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
281
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
282
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
283
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
284
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
285
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
286
+ end_IR
287
+ end_block
288
+ end_cfg
289
+ begin_bytecodes
290
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
291
+ 3: athrow
292
+ <|@
293
+ end_bytecodes
294
+ begin_cfg
295
+ name "After SSALinearScanLifetimeAnalysis"
296
+ begin_block
297
+ name "B0"
298
+ from_bci -1
299
+ to_bci -1
300
+ predecessors
301
+ successors
302
+ xhandlers
303
+ flags
304
+ probability 4607182418800017408
305
+ begin_IR
306
+ LIR
307
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
308
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
309
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
310
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
311
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
312
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
313
+ end_IR
314
+ end_block
315
+ end_cfg
316
+ begin_bytecodes
317
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
318
+ 3: athrow
319
+ <|@
320
+ end_bytecodes
321
+ begin_intervals
322
+ name "Before register allocation"
323
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
324
+ rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[8, 10[ "NoSpillStore"
325
+ v0|q QWORD "[v0|q]" v0|q -1 [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
326
+ v1|q QWORD "[v1|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
327
+ end_intervals
328
+ begin_intervals
329
+ name "After register allocation"
330
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
331
+ rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[8, 10[ "NoSpillStore"
332
+ v0|q QWORD "[rsi|q]" v0|q -1 [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
333
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
334
+ end_intervals
335
+ begin_cfg
336
+ name "After LinearScanRegisterAllocation"
337
+ begin_block
338
+ name "B0"
339
+ from_bci -1
340
+ to_bci -1
341
+ predecessors
342
+ successors
343
+ xhandlers
344
+ flags
345
+ probability 4607182418800017408
346
+ begin_IR
347
+ LIR
348
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
349
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
350
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
351
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
352
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
353
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
354
+ end_IR
355
+ end_block
356
+ end_cfg
357
+ begin_bytecodes
358
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
359
+ 3: athrow
360
+ <|@
361
+ end_bytecodes
362
+ begin_intervals
363
+ name "After optimize spill position"
364
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
365
+ rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[8, 10[ "NoSpillStore"
366
+ v0|q QWORD "[rsi|q]" v0|q -1 [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
367
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
368
+ end_intervals
369
+ begin_cfg
370
+ name "After LinearScanOptimizeSpillPosition"
371
+ begin_block
372
+ name "B0"
373
+ from_bci -1
374
+ to_bci -1
375
+ predecessors
376
+ successors
377
+ xhandlers
378
+ flags
379
+ probability 4607182418800017408
380
+ begin_IR
381
+ LIR
382
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
383
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
384
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
385
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
386
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
387
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
388
+ end_IR
389
+ end_block
390
+ end_cfg
391
+ begin_bytecodes
392
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
393
+ 3: athrow
394
+ <|@
395
+ end_bytecodes
396
+ begin_intervals
397
+ name "After resolve data flow"
398
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
399
+ rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[8, 10[ "NoSpillStore"
400
+ v0|q QWORD "[rsi|q]" v0|q -1 [6, 8[6 MustHaveRegister 8 ShouldHaveRegister "NoSpillStore"
401
+ v1|q QWORD "[rbp|q]" v1|q rbp|q [2, 10[2 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
402
+ end_intervals
403
+ begin_cfg
404
+ name "After SSALinearScanResolveDataFlow"
405
+ begin_block
406
+ name "B0"
407
+ from_bci -1
408
+ to_bci -1
409
+ predecessors
410
+ successors
411
+ xhandlers
412
+ flags
413
+ probability 4607182418800017408
414
+ begin_IR
415
+ LIR
416
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
417
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
418
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
419
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
420
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
421
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
422
+ end_IR
423
+ end_block
424
+ end_cfg
425
+ begin_bytecodes
426
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
427
+ 3: athrow
428
+ <|@
429
+ end_bytecodes
430
+ begin_cfg
431
+ name "After SSALinearScanEliminateSpillMove"
432
+ begin_block
433
+ name "B0"
434
+ from_bci -1
435
+ to_bci -1
436
+ predecessors
437
+ successors
438
+ xhandlers
439
+ flags
440
+ probability 4607182418800017408
441
+ begin_IR
442
+ LIR
443
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
444
+ nr 2 <|@ instruction v1|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
445
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
446
+ nr 6 <|@ instruction v0|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
447
+ nr 8 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
448
+ nr 10 <|@ instruction UNWIND (savedRbp: v1|QWORD, exception: rsi|QWORD[.]) <|@ <|@
449
+ end_IR
450
+ end_block
451
+ end_cfg
452
+ begin_bytecodes
453
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
454
+ 3: athrow
455
+ <|@
456
+ end_bytecodes
457
+ begin_cfg
458
+ name "After LinearScanAssignLocations"
459
+ begin_block
460
+ name "B0"
461
+ from_bci -1
462
+ to_bci -1
463
+ predecessors
464
+ successors
465
+ xhandlers
466
+ flags
467
+ probability 4607182418800017408
468
+ begin_IR
469
+ LIR
470
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
471
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
472
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
473
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
474
+ end_IR
475
+ end_block
476
+ end_cfg
477
+ begin_bytecodes
478
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
479
+ 3: athrow
480
+ <|@
481
+ end_bytecodes
482
+ begin_cfg
483
+ name "After LinearScan"
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 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
496
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
497
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
498
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
499
+ end_IR
500
+ end_block
501
+ end_cfg
502
+ begin_bytecodes
503
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
504
+ 3: athrow
505
+ <|@
506
+ end_bytecodes
507
+ begin_cfg
508
+ name "After LSStackSlotAllocator"
509
+ begin_block
510
+ name "B0"
511
+ from_bci -1
512
+ to_bci -1
513
+ predecessors
514
+ successors
515
+ xhandlers
516
+ flags
517
+ probability 4607182418800017408
518
+ begin_IR
519
+ LIR
520
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
521
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
522
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
523
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
524
+ end_IR
525
+ end_block
526
+ end_cfg
527
+ begin_bytecodes
528
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
529
+ 3: athrow
530
+ <|@
531
+ end_bytecodes
532
+ begin_cfg
533
+ name "After LocationMarker"
534
+ begin_block
535
+ name "B0"
536
+ from_bci -1
537
+ to_bci -1
538
+ predecessors
539
+ successors
540
+ xhandlers
541
+ flags
542
+ probability 4607182418800017408
543
+ begin_IR
544
+ LIR
545
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
546
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
547
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
548
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
549
+ end_IR
550
+ end_block
551
+ end_cfg
552
+ begin_bytecodes
553
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
554
+ 3: athrow
555
+ <|@
556
+ end_bytecodes
557
+ begin_cfg
558
+ name "After AllocationStage"
559
+ begin_block
560
+ name "B0"
561
+ from_bci -1
562
+ to_bci -1
563
+ predecessors
564
+ successors
565
+ xhandlers
566
+ flags
567
+ probability 4607182418800017408
568
+ begin_IR
569
+ LIR
570
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
571
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
572
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
573
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
574
+ end_IR
575
+ end_block
576
+ end_cfg
577
+ begin_bytecodes
578
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
579
+ 3: athrow
580
+ <|@
581
+ end_bytecodes
582
+ begin_cfg
583
+ name "After EdgeMoveOptimizer"
584
+ begin_block
585
+ name "B0"
586
+ from_bci -1
587
+ to_bci -1
588
+ predecessors
589
+ successors
590
+ xhandlers
591
+ flags
592
+ probability 4607182418800017408
593
+ begin_IR
594
+ LIR
595
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
596
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
597
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
598
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
599
+ end_IR
600
+ end_block
601
+ end_cfg
602
+ begin_bytecodes
603
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
604
+ 3: athrow
605
+ <|@
606
+ end_bytecodes
607
+ begin_cfg
608
+ name "After ControlFlowOptimizer"
609
+ begin_block
610
+ name "B0"
611
+ from_bci -1
612
+ to_bci -1
613
+ predecessors
614
+ successors
615
+ xhandlers
616
+ flags
617
+ probability 4607182418800017408
618
+ begin_IR
619
+ LIR
620
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
621
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
622
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
623
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
624
+ end_IR
625
+ end_block
626
+ end_cfg
627
+ begin_bytecodes
628
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
629
+ 3: athrow
630
+ <|@
631
+ end_bytecodes
632
+ begin_cfg
633
+ name "After RedundantMoveElimination"
634
+ begin_block
635
+ name "B0"
636
+ from_bci -1
637
+ to_bci -1
638
+ predecessors
639
+ successors
640
+ xhandlers
641
+ flags
642
+ probability 4607182418800017408
643
+ begin_IR
644
+ LIR
645
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
646
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
647
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
648
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
649
+ end_IR
650
+ end_block
651
+ end_cfg
652
+ begin_bytecodes
653
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
654
+ 3: athrow
655
+ <|@
656
+ end_bytecodes
657
+ begin_cfg
658
+ name "After NullCheckOptimizer"
659
+ begin_block
660
+ name "B0"
661
+ from_bci -1
662
+ to_bci -1
663
+ predecessors
664
+ successors
665
+ xhandlers
666
+ flags
667
+ probability 4607182418800017408
668
+ begin_IR
669
+ LIR
670
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
671
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
672
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
673
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
674
+ end_IR
675
+ end_block
676
+ end_cfg
677
+ begin_bytecodes
678
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
679
+ 3: athrow
680
+ <|@
681
+ end_bytecodes
682
+ begin_cfg
683
+ name "After StackMoveOptimization"
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 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
696
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
697
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
698
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
699
+ end_IR
700
+ end_block
701
+ end_cfg
702
+ begin_bytecodes
703
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
704
+ 3: athrow
705
+ <|@
706
+ end_bytecodes
707
+ begin_cfg
708
+ name "After PostAllocationOptimizationStage"
709
+ begin_block
710
+ name "B0"
711
+ from_bci -1
712
+ to_bci -1
713
+ predecessors
714
+ successors
715
+ xhandlers
716
+ flags
717
+ probability 4607182418800017408
718
+ begin_IR
719
+ LIR
720
+ nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
721
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <|@ <|@
722
+ nr 6 <|@ instruction rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <|@ <|@
723
+ nr 10 <|@ instruction UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <|@ <|@
724
+ end_IR
725
+ end_block
726
+ end_cfg
727
+ begin_bytecodes
728
+ 0: getstatic #57 // RUNTIME_EXCEPTION:java.lang.RuntimeException
729
+ 3: athrow
730
+ <|@
731
+ end_bytecodes
732
+ begin_cfg
733
+ name "After code generation"
734
+ end_cfg
735
+ begin_nmethod
736
+ <<<HexCodeFile
737
+ Platform AMD64 64 <||@
738
+ HexCode 0 0f1f44000048beaddeaddeaddeadde488b1424e9e8ffffff90e80000000090e80000000090 <||@
739
+ Comment 0 3 <||@
740
+ Comment 0 1 <||@
741
+ Comment 5 block B0 null <||@
742
+ Comment 5 0 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
743
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <||@
744
+ Comment 5 6 rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <||@
745
+ Comment 5 {Object[Instance<java.lang.RuntimeException>]} <||@
746
+ Comment 15 10 UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <||@
747
+ Comment 19 {Stub<UnwindExceptionToCallerStub.unwindExceptionToCaller>@0x112e24220:CallingConvention[rsi|QWORD[.], rdx|QWORD]:CallingConvention[rsi|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,rsi|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,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL,rbp|ILLEGAL,rbx|ILLEGAL,r13|ILLEGAL,r14|ILLEGAL} <||@
748
+ Comment 25 {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} <||@
749
+ Comment 25 4 <||@
750
+ Comment 31 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
751
+ Comment 31 5 <||@
752
+ HexCodeFile>>> <|@
753
+ end_nmethod
754
+ begin_compilation
755
+ name " HotSpotCompilation-74[JavaExamples.exampleThrow()]"
756
+ method "HotSpotCompilation-74[JavaExamples.exampleThrow()]"
757
+ date 1583364091643
758
+ end_compilation
759
+ begin_cfg
760
+ name "After code installation"
761
+ end_cfg
762
+ begin_nmethod
763
+ <<<HexCodeFile
764
+ Platform AMD64 64 <||@
765
+ HexCode 112e327a0 0f1f44000048bee87f5f1507000000488b1424e9681affff90e8621bffff90e87c1aebff90f4f4f4 <||@
766
+ Comment 0 3 <||@
767
+ Comment 0 1 <||@
768
+ Comment 5 block B0 null <||@
769
+ Comment 5 0 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
770
+ Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@1453a2858 slotKind: QWORD <||@
771
+ Comment 5 6 rsi|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.RuntimeException>] <||@
772
+ Comment 5 {Object[Instance<java.lang.RuntimeException>]} <||@
773
+ Comment 15 10 UNWIND (savedRbp: rbp|QWORD, exception: rsi|QWORD[.]) <||@
774
+ Comment 19 {Stub<UnwindExceptionToCallerStub.unwindExceptionToCaller>@0x112e24220:CallingConvention[rsi|QWORD[.], rdx|QWORD]:CallingConvention[rsi|QWORD[.], rdx|QWORD]; temps=rdi|ILLEGAL,rsi|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,r8|ILLEGAL,r9|ILLEGAL,r10|ILLEGAL,r11|ILLEGAL,rbp|ILLEGAL,rbx|ILLEGAL,r13|ILLEGAL,r14|ILLEGAL} <||@
775
+ Comment 25 {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} <||@
776
+ Comment 25 4 <||@
777
+ Comment 31 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
778
+ Comment 31 5 <||@
779
+ HexCodeFile>>> <|@
780
+ end_nmethod