seafoam 0.3 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +40 -0
  3. data/.gitignore +0 -1
  4. data/.rubocop.yml +1 -1
  5. data/.ruby-version +1 -1
  6. data/Gemfile.lock +59 -0
  7. data/README.md +76 -3
  8. data/bin/bgv2isabelle +16 -45
  9. data/bin/bgv2json +18 -36
  10. data/bin/cfg2asm +24 -0
  11. data/bin/seafoam +1 -1
  12. data/demos/box-unbox-stats +65 -0
  13. data/docs/bgv.md +2 -1
  14. data/docs/getting-graphs.md +8 -0
  15. data/examples/Fib.java +1 -1
  16. data/examples/fib-java.bgv.gz +0 -0
  17. data/examples/fib.js +1 -1
  18. data/examples/java/JavaExamples.java +1 -1
  19. data/examples/ruby/clamps.rb +20 -0
  20. data/examples/ruby/graal.patch +15 -0
  21. data/examples/ruby/ruby_examples.rb +278 -0
  22. data/lib/seafoam.rb +5 -1
  23. data/lib/seafoam/annotators/graal.rb +1 -1
  24. data/lib/seafoam/bgv/bgv_parser.rb +10 -2
  25. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  26. data/lib/seafoam/cfg/disassembler.rb +70 -0
  27. data/lib/seafoam/commands.rb +190 -30
  28. data/lib/seafoam/graal/source.rb +23 -0
  29. data/lib/seafoam/graph.rb +25 -1
  30. data/lib/seafoam/graphviz_writer.rb +21 -2
  31. data/lib/seafoam/isabelle_writer.rb +46 -0
  32. data/lib/seafoam/json_writer.rb +58 -0
  33. data/lib/seafoam/version.rb +1 -1
  34. data/seafoam.gemspec +4 -2
  35. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  36. data/spec/seafoam/bgv/bgv_parser_spec.rb +13 -3
  37. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  38. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  39. data/spec/seafoam/command_spec.rb +86 -40
  40. data/spec/seafoam/json_writer_spec.rb +14 -0
  41. data/spec/seafoam/spec_helpers.rb +4 -0
  42. data/spec/seafoam/spotlight_spec.rb +1 -1
  43. data/tools/render-all +2 -2
  44. metadata +33 -96
  45. data/.github/workflows/rubocop.yml +0 -10
  46. data/.github/workflows/specs.yml +0 -19
  47. data/examples/fib-java.bgv +0 -0
  48. data/examples/fib-js.bgv +0 -0
  49. data/examples/fib-ruby.bgv +0 -0
  50. data/examples/identity.bgv +0 -0
  51. data/examples/java/exampleArithOperator.bgv +0 -0
  52. data/examples/java/exampleArithOperator.cfg +0 -925
  53. data/examples/java/exampleArrayAllocation.bgv +0 -0
  54. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  55. data/examples/java/exampleArrayRead.bgv +0 -0
  56. data/examples/java/exampleArrayRead.cfg +0 -2263
  57. data/examples/java/exampleArrayWrite.bgv +0 -0
  58. data/examples/java/exampleArrayWrite.cfg +0 -2315
  59. data/examples/java/exampleCatch.bgv +0 -0
  60. data/examples/java/exampleCatch.cfg +0 -4150
  61. data/examples/java/exampleCompareOperator.bgv +0 -0
  62. data/examples/java/exampleCompareOperator.cfg +0 -1109
  63. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  64. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  65. data/examples/java/exampleExactArith.bgv +0 -0
  66. data/examples/java/exampleExactArith.cfg +0 -1888
  67. data/examples/java/exampleFieldRead.bgv +0 -0
  68. data/examples/java/exampleFieldRead.cfg +0 -1228
  69. data/examples/java/exampleFieldWrite.bgv +0 -0
  70. data/examples/java/exampleFieldWrite.cfg +0 -1102
  71. data/examples/java/exampleFor.bgv +0 -0
  72. data/examples/java/exampleFor.cfg +0 -3936
  73. data/examples/java/exampleFullEscape.bgv +0 -0
  74. data/examples/java/exampleFullEscape.cfg +0 -5893
  75. data/examples/java/exampleIf.bgv +0 -0
  76. data/examples/java/exampleIf.cfg +0 -2462
  77. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  78. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  79. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  80. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  81. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  82. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  83. data/examples/java/exampleIntSwitch.bgv +0 -0
  84. data/examples/java/exampleIntSwitch.cfg +0 -3121
  85. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  86. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  87. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  88. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  89. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  90. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  91. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  92. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  93. data/examples/java/exampleLocalVariables.bgv +0 -0
  94. data/examples/java/exampleLocalVariables.cfg +0 -1195
  95. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  96. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  97. data/examples/java/exampleNestedWhile.bgv +0 -0
  98. data/examples/java/exampleNestedWhile.cfg +0 -15499
  99. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  100. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  101. data/examples/java/exampleNoEscape.bgv +0 -0
  102. data/examples/java/exampleNoEscape.cfg +0 -974
  103. data/examples/java/exampleObjectAllocation.bgv +0 -0
  104. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  105. data/examples/java/examplePartialEscape.bgv +0 -0
  106. data/examples/java/examplePartialEscape.cfg +0 -7042
  107. data/examples/java/examplePhi.bgv +0 -0
  108. data/examples/java/examplePhi.cfg +0 -3227
  109. data/examples/java/exampleReducible.bgv +0 -0
  110. data/examples/java/exampleReducible.cfg +0 -5578
  111. data/examples/java/exampleSimpleCall.bgv +0 -0
  112. data/examples/java/exampleSimpleCall.cfg +0 -1435
  113. data/examples/java/exampleStamp.bgv +0 -0
  114. data/examples/java/exampleStamp.cfg +0 -913
  115. data/examples/java/exampleStaticCall.bgv +0 -0
  116. data/examples/java/exampleStaticCall.cfg +0 -1154
  117. data/examples/java/exampleStringSwitch.bgv +0 -0
  118. data/examples/java/exampleStringSwitch.cfg +0 -15377
  119. data/examples/java/exampleSynchronized.bgv +0 -0
  120. data/examples/java/exampleSynchronized.cfg +0 -26027
  121. data/examples/java/exampleThrow.bgv +0 -0
  122. data/examples/java/exampleThrow.cfg +0 -780
  123. data/examples/java/exampleThrowCatch.bgv +0 -0
  124. data/examples/java/exampleThrowCatch.cfg +0 -744
  125. data/examples/java/exampleUnsafeRead.bgv +0 -0
  126. data/examples/java/exampleUnsafeRead.cfg +0 -912
  127. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  128. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  129. data/examples/java/exampleWhile.bgv +0 -0
  130. data/examples/java/exampleWhile.cfg +0 -3936
  131. data/examples/java/exampleWhileBreak.bgv +0 -0
  132. data/examples/java/exampleWhileBreak.cfg +0 -5963
  133. data/examples/matmult-java.bgv +0 -0
  134. data/examples/matmult-ruby.bgv +0 -0
  135. data/examples/overflow.bgv +0 -0
  136. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  137. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
Binary file
@@ -1,780 +0,0 @@
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