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.
- checksums.yaml +7 -0
- data/.github/probots.yml +2 -0
- data/.github/workflows/rubocop.yml +10 -0
- data/.github/workflows/specs.yml +19 -0
- data/.gitignore +7 -0
- data/.rubocop.yml +34 -0
- data/.ruby-version +1 -0
- data/.seafoam/config +1 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +5 -0
- data/Gemfile +2 -0
- data/LICENSE.md +7 -0
- data/README.md +298 -0
- data/bin/bgv2isabelle +53 -0
- data/bin/bgv2json +42 -0
- data/bin/seafoam +24 -0
- data/docs/annotators.md +43 -0
- data/docs/bgv.md +284 -0
- data/docs/getting-graphs.md +47 -0
- data/examples/Fib.java +24 -0
- data/examples/MatMult.java +39 -0
- data/examples/fib-java.bgv +0 -0
- data/examples/fib-js.bgv +0 -0
- data/examples/fib-ruby.bgv +0 -0
- data/examples/fib.js +15 -0
- data/examples/fib.rb +15 -0
- data/examples/identity.bgv +0 -0
- data/examples/identity.rb +13 -0
- data/examples/java/Irreducible.j +35 -0
- data/examples/java/IrreducibleDecompiled.java +21 -0
- data/examples/java/JavaExamples.java +418 -0
- data/examples/java/exampleArithOperator.bgv +0 -0
- data/examples/java/exampleArithOperator.cfg +925 -0
- data/examples/java/exampleArrayAllocation.bgv +0 -0
- data/examples/java/exampleArrayAllocation.cfg +5268 -0
- data/examples/java/exampleArrayRead.bgv +0 -0
- data/examples/java/exampleArrayRead.cfg +2263 -0
- data/examples/java/exampleArrayWrite.bgv +0 -0
- data/examples/java/exampleArrayWrite.cfg +2315 -0
- data/examples/java/exampleCatch.bgv +0 -0
- data/examples/java/exampleCatch.cfg +4150 -0
- data/examples/java/exampleCompareOperator.bgv +0 -0
- data/examples/java/exampleCompareOperator.cfg +1109 -0
- data/examples/java/exampleDoubleSynchronized.bgv +0 -0
- data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
- data/examples/java/exampleExactArith.bgv +0 -0
- data/examples/java/exampleExactArith.cfg +1888 -0
- data/examples/java/exampleFieldRead.bgv +0 -0
- data/examples/java/exampleFieldRead.cfg +1228 -0
- data/examples/java/exampleFieldWrite.bgv +0 -0
- data/examples/java/exampleFieldWrite.cfg +1102 -0
- data/examples/java/exampleFor.bgv +0 -0
- data/examples/java/exampleFor.cfg +3936 -0
- data/examples/java/exampleFullEscape.bgv +0 -0
- data/examples/java/exampleFullEscape.cfg +5893 -0
- data/examples/java/exampleIf.bgv +0 -0
- data/examples/java/exampleIf.cfg +2462 -0
- data/examples/java/exampleIfNeverTaken.bgv +0 -0
- data/examples/java/exampleIfNeverTaken.cfg +2476 -0
- data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
- data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
- data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
- data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
- data/examples/java/exampleIntSwitch.bgv +0 -0
- data/examples/java/exampleIntSwitch.cfg +3121 -0
- data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
- data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
- data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
- data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
- data/examples/java/exampleLocalInstanceOf.bgv +0 -0
- data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
- data/examples/java/exampleLocalSynchronized.bgv +0 -0
- data/examples/java/exampleLocalSynchronized.cfg +1364 -0
- data/examples/java/exampleLocalVariables.bgv +0 -0
- data/examples/java/exampleLocalVariables.cfg +1195 -0
- data/examples/java/exampleLocalVariablesState.bgv +0 -0
- data/examples/java/exampleLocalVariablesState.cfg +1673 -0
- data/examples/java/exampleNestedWhile.bgv +0 -0
- data/examples/java/exampleNestedWhile.cfg +15499 -0
- data/examples/java/exampleNestedWhileBreak.bgv +0 -0
- data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
- data/examples/java/exampleNoEscape.bgv +0 -0
- data/examples/java/exampleNoEscape.cfg +974 -0
- data/examples/java/exampleObjectAllocation.bgv +0 -0
- data/examples/java/exampleObjectAllocation.cfg +5287 -0
- data/examples/java/examplePartialEscape.bgv +0 -0
- data/examples/java/examplePartialEscape.cfg +7042 -0
- data/examples/java/examplePhi.bgv +0 -0
- data/examples/java/examplePhi.cfg +3227 -0
- data/examples/java/exampleReducible.bgv +0 -0
- data/examples/java/exampleReducible.cfg +5578 -0
- data/examples/java/exampleSimpleCall.bgv +0 -0
- data/examples/java/exampleSimpleCall.cfg +1435 -0
- data/examples/java/exampleStamp.bgv +0 -0
- data/examples/java/exampleStamp.cfg +913 -0
- data/examples/java/exampleStaticCall.bgv +0 -0
- data/examples/java/exampleStaticCall.cfg +1154 -0
- data/examples/java/exampleStringSwitch.bgv +0 -0
- data/examples/java/exampleStringSwitch.cfg +15377 -0
- data/examples/java/exampleSynchronized.bgv +0 -0
- data/examples/java/exampleSynchronized.cfg +26027 -0
- data/examples/java/exampleThrow.bgv +0 -0
- data/examples/java/exampleThrow.cfg +780 -0
- data/examples/java/exampleThrowCatch.bgv +0 -0
- data/examples/java/exampleThrowCatch.cfg +744 -0
- data/examples/java/exampleUnsafeRead.bgv +0 -0
- data/examples/java/exampleUnsafeRead.cfg +912 -0
- data/examples/java/exampleUnsafeWrite.bgv +0 -0
- data/examples/java/exampleUnsafeWrite.cfg +962 -0
- data/examples/java/exampleWhile.bgv +0 -0
- data/examples/java/exampleWhile.cfg +3936 -0
- data/examples/java/exampleWhileBreak.bgv +0 -0
- data/examples/java/exampleWhileBreak.cfg +5963 -0
- data/examples/matmult-java.bgv +0 -0
- data/examples/matmult-ruby.bgv +0 -0
- data/examples/matmult.rb +29 -0
- data/examples/overflow.bgv +0 -0
- data/examples/overflow.rb +13 -0
- data/lib/seafoam.rb +13 -0
- data/lib/seafoam/annotators.rb +54 -0
- data/lib/seafoam/annotators/fallback.rb +27 -0
- data/lib/seafoam/annotators/graal.rb +376 -0
- data/lib/seafoam/bgv/bgv_parser.rb +602 -0
- data/lib/seafoam/binary/binary_reader.rb +21 -0
- data/lib/seafoam/binary/io_binary_reader.rb +88 -0
- data/lib/seafoam/colors.rb +18 -0
- data/lib/seafoam/commands.rb +447 -0
- data/lib/seafoam/config.rb +34 -0
- data/lib/seafoam/graph.rb +91 -0
- data/lib/seafoam/graphviz_writer.rb +213 -0
- data/lib/seafoam/spotlight.rb +28 -0
- data/lib/seafoam/version.rb +5 -0
- data/seafoam.gemspec +20 -0
- data/spec/seafoam/annotators/fallback_spec.rb +69 -0
- data/spec/seafoam/annotators/graal_spec.rb +96 -0
- data/spec/seafoam/annotators_spec.rb +61 -0
- data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
- data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
- data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
- data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
- data/spec/seafoam/command_spec.rb +252 -0
- data/spec/seafoam/graph_spec.rb +172 -0
- data/spec/seafoam/graphviz_writer_spec.rb +63 -0
- data/spec/seafoam/spec_helpers.rb +30 -0
- data/spec/seafoam/spotlight_spec.rb +38 -0
- data/tools/render-all +36 -0
- metadata +238 -0
|
Binary file
|
|
@@ -0,0 +1,4150 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-358[JavaExamples.exampleCatch()]"
|
|
3
|
+
method "HotSpotCompilation-358[JavaExamples.exampleCatch()]"
|
|
4
|
+
date 1583364092000
|
|
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 "B1"
|
|
14
|
+
xhandlers"B2"
|
|
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: v6
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v6 <|@ <|@
|
|
32
|
+
tid ?76 <|@
|
|
33
|
+
d <@d|@=== Debug Properties ===
|
|
34
|
+
bci: 0
|
|
35
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleCatch()>
|
|
36
|
+
duringCall: true
|
|
37
|
+
localsSize: 1
|
|
38
|
+
locksSize: 0
|
|
39
|
+
rethrowException: false
|
|
40
|
+
sourceFile: JavaExamples.java
|
|
41
|
+
sourceLine: 278
|
|
42
|
+
stackSize: 0
|
|
43
|
+
=== Inputs ===
|
|
44
|
+
outerFrameState: -
|
|
45
|
+
values: -
|
|
46
|
+
=== Succesors ===
|
|
47
|
+
=== Usages ===
|
|
48
|
+
v6
|
|
49
|
+
=== Predecessor ===
|
|
50
|
+
- >@ <|@
|
|
51
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
|
|
52
|
+
tid v26 <|@
|
|
53
|
+
d <@d|@=== Debug Properties ===
|
|
54
|
+
callType: JavaCall
|
|
55
|
+
invokeKind: Static
|
|
56
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
57
|
+
returnStamp: void
|
|
58
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@14800d688
|
|
59
|
+
stamp: void
|
|
60
|
+
targetMethod: HotSpotMethod<JavaExamples.exampleThrow()>
|
|
61
|
+
=== Inputs ===
|
|
62
|
+
=== Succesors ===
|
|
63
|
+
=== Usages ===
|
|
64
|
+
v6
|
|
65
|
+
=== Predecessor ===
|
|
66
|
+
- >@ <|@
|
|
67
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
|
|
68
|
+
f <@*|@fixed>@ <|@
|
|
69
|
+
tid v6 <|@
|
|
70
|
+
d <@d|@=== Debug Properties ===
|
|
71
|
+
bci: 0
|
|
72
|
+
exceptionProbability: 1.0E-5
|
|
73
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
74
|
+
polymorphic: false
|
|
75
|
+
stamp: void
|
|
76
|
+
targetMethod: Direct#JavaExamples.exampleThrow
|
|
77
|
+
useForInlining: true
|
|
78
|
+
=== Inputs ===
|
|
79
|
+
classInit: -
|
|
80
|
+
callTarget: v26
|
|
81
|
+
stateDuring: ?76
|
|
82
|
+
stateAfter: -
|
|
83
|
+
=== Succesors ===
|
|
84
|
+
next: v8
|
|
85
|
+
exceptionEdge: v32
|
|
86
|
+
=== Usages ===
|
|
87
|
+
=== Predecessor ===
|
|
88
|
+
v0 >@ <|@
|
|
89
|
+
instruction <@InvokeWithException|@org.graalvm.compiler.nodes.InvokeWithExceptionNode>@ classInit: - callTarget: v26 stateDuring: ?76 stateAfter: - #next: v8 #exceptionEdge: v32 <|@ <|@
|
|
90
|
+
end_IR
|
|
91
|
+
end_block
|
|
92
|
+
begin_block
|
|
93
|
+
name "B1"
|
|
94
|
+
from_bci -1
|
|
95
|
+
to_bci -1
|
|
96
|
+
predecessors "B0"
|
|
97
|
+
successors
|
|
98
|
+
xhandlers
|
|
99
|
+
flags
|
|
100
|
+
probability 4607182328728024861
|
|
101
|
+
begin_IR
|
|
102
|
+
HIR
|
|
103
|
+
f <@#|@fixed with next>@ <|@
|
|
104
|
+
tid v8 <|@
|
|
105
|
+
d <@d|@=== Debug Properties ===
|
|
106
|
+
locationIdentity: ANY_LOCATION
|
|
107
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
108
|
+
stamp: void
|
|
109
|
+
withSpeculationFence: false
|
|
110
|
+
=== Inputs ===
|
|
111
|
+
=== Succesors ===
|
|
112
|
+
next: v25
|
|
113
|
+
=== Usages ===
|
|
114
|
+
=== Predecessor ===
|
|
115
|
+
v6 >@ <|@
|
|
116
|
+
instruction <@KillingBegin|@org.graalvm.compiler.nodes.KillingBeginNode>@ #next: v25 <|@ <|@
|
|
117
|
+
f <@*|@fixed>@ <|@
|
|
118
|
+
tid v25 <|@
|
|
119
|
+
d <@d|@=== Debug Properties ===
|
|
120
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:282) [bci: 11]
|
|
121
|
+
stamp: void
|
|
122
|
+
=== Inputs ===
|
|
123
|
+
result: -
|
|
124
|
+
memoryMap: -
|
|
125
|
+
=== Succesors ===
|
|
126
|
+
=== Usages ===
|
|
127
|
+
=== Predecessor ===
|
|
128
|
+
v8 >@ <|@
|
|
129
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
|
|
130
|
+
end_IR
|
|
131
|
+
end_block
|
|
132
|
+
begin_block
|
|
133
|
+
name "B2"
|
|
134
|
+
from_bci -1
|
|
135
|
+
to_bci -1
|
|
136
|
+
predecessors "B0"
|
|
137
|
+
successors "B3" "B4"
|
|
138
|
+
xhandlers
|
|
139
|
+
flags "ex"
|
|
140
|
+
probability 4532020583610935537
|
|
141
|
+
begin_IR
|
|
142
|
+
HIR
|
|
143
|
+
f <@#|@fixed with next>@ <|@
|
|
144
|
+
tid v32 <|@
|
|
145
|
+
d <@d|@=== Debug Properties ===
|
|
146
|
+
locationIdentity: ANY_LOCATION
|
|
147
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
148
|
+
stamp: void
|
|
149
|
+
withSpeculationFence: false
|
|
150
|
+
=== Inputs ===
|
|
151
|
+
=== Succesors ===
|
|
152
|
+
next: j34
|
|
153
|
+
=== Usages ===
|
|
154
|
+
=== Predecessor ===
|
|
155
|
+
v6 >@ <|@
|
|
156
|
+
instruction <@KillingBegin|@org.graalvm.compiler.nodes.KillingBeginNode>@ #next: j34 <|@ <|@
|
|
157
|
+
f <@#|@fixed with next>@ <|@
|
|
158
|
+
tid j34 <|@
|
|
159
|
+
d <@d|@=== Debug Properties ===
|
|
160
|
+
directUse: true
|
|
161
|
+
incoming: false
|
|
162
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
163
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
164
|
+
register: r15
|
|
165
|
+
stamp: i64
|
|
166
|
+
=== Inputs ===
|
|
167
|
+
=== Succesors ===
|
|
168
|
+
next: a43
|
|
169
|
+
=== Usages ===
|
|
170
|
+
v100 v101
|
|
171
|
+
=== Predecessor ===
|
|
172
|
+
v32 >@ <|@
|
|
173
|
+
instruction <@ReadRegister|@org.graalvm.compiler.replacements.nodes.ReadRegisterNode>@ #next: a43 <|@ <|@
|
|
174
|
+
f <@~|@floating>@ <|@
|
|
175
|
+
tid v100 <|@
|
|
176
|
+
d <@d|@=== Debug Properties ===
|
|
177
|
+
displacement: 704
|
|
178
|
+
scale: Times1
|
|
179
|
+
stamp: void*
|
|
180
|
+
=== Inputs ===
|
|
181
|
+
base: j34
|
|
182
|
+
index: -
|
|
183
|
+
=== Succesors ===
|
|
184
|
+
=== Usages ===
|
|
185
|
+
a43 v44
|
|
186
|
+
=== Predecessor ===
|
|
187
|
+
- >@ <|@
|
|
188
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j34 index: - <|@ <|@
|
|
189
|
+
f <@#|@fixed with next>@ <|@
|
|
190
|
+
tid a43 <|@
|
|
191
|
+
d <@d|@=== Debug Properties ===
|
|
192
|
+
barrierType: NONE
|
|
193
|
+
forceFixed: true
|
|
194
|
+
location: ExceptionOop
|
|
195
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
196
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
197
|
+
nullCheck: false
|
|
198
|
+
stamp: a! Ljava/lang/Throwable;
|
|
199
|
+
=== Inputs ===
|
|
200
|
+
stateBefore: -
|
|
201
|
+
guard: -
|
|
202
|
+
address: v100
|
|
203
|
+
lastLocationAccess: -
|
|
204
|
+
=== Succesors ===
|
|
205
|
+
next: v44
|
|
206
|
+
=== Usages ===
|
|
207
|
+
v103 v23 a28
|
|
208
|
+
=== Predecessor ===
|
|
209
|
+
j34 >@ <|@
|
|
210
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v100 lastLocationAccess: - #next: v44 <|@ <|@
|
|
211
|
+
f <@~|@floating>@ <|@
|
|
212
|
+
tid a35 <|@
|
|
213
|
+
d <@d|@=== Debug Properties ===
|
|
214
|
+
isDefaultStable: false
|
|
215
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
216
|
+
rawvalue: null
|
|
217
|
+
stableDimension: 0
|
|
218
|
+
stamp: a - NULL
|
|
219
|
+
stampKind: a -
|
|
220
|
+
value: Object[null]
|
|
221
|
+
=== Inputs ===
|
|
222
|
+
=== Succesors ===
|
|
223
|
+
=== Usages ===
|
|
224
|
+
v44
|
|
225
|
+
=== Predecessor ===
|
|
226
|
+
- >@ <|@
|
|
227
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
228
|
+
f <@#|@fixed with next>@ <|@
|
|
229
|
+
tid v44 <|@
|
|
230
|
+
d <@d|@=== Debug Properties ===
|
|
231
|
+
barrierType: NONE
|
|
232
|
+
location: ExceptionOop
|
|
233
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
234
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
235
|
+
nullCheck: false
|
|
236
|
+
stamp: void
|
|
237
|
+
volatileAccess: false
|
|
238
|
+
=== Inputs ===
|
|
239
|
+
stateBefore: -
|
|
240
|
+
guard: -
|
|
241
|
+
address: v100
|
|
242
|
+
value: a35
|
|
243
|
+
stateAfter: -
|
|
244
|
+
lastLocationAccess: -
|
|
245
|
+
=== Succesors ===
|
|
246
|
+
next: v45
|
|
247
|
+
=== Usages ===
|
|
248
|
+
=== Predecessor ===
|
|
249
|
+
a43 >@ <|@
|
|
250
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v100 value: a35 stateAfter: - lastLocationAccess: - #next: v45 <|@ <|@
|
|
251
|
+
f <@~|@floating>@ <|@
|
|
252
|
+
tid v101 <|@
|
|
253
|
+
d <@d|@=== Debug Properties ===
|
|
254
|
+
displacement: 712
|
|
255
|
+
scale: Times1
|
|
256
|
+
stamp: void*
|
|
257
|
+
=== Inputs ===
|
|
258
|
+
base: j34
|
|
259
|
+
index: -
|
|
260
|
+
=== Succesors ===
|
|
261
|
+
=== Usages ===
|
|
262
|
+
v45
|
|
263
|
+
=== Predecessor ===
|
|
264
|
+
- >@ <|@
|
|
265
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j34 index: - <|@ <|@
|
|
266
|
+
f <@~|@floating>@ <|@
|
|
267
|
+
tid j40 <|@
|
|
268
|
+
d <@d|@=== Debug Properties ===
|
|
269
|
+
isDefaultStable: false
|
|
270
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
271
|
+
rawvalue: 0
|
|
272
|
+
stableDimension: 0
|
|
273
|
+
stamp: i64 [0] ⇈0000000000000000
|
|
274
|
+
stampKind: i64
|
|
275
|
+
value: long[0|0x0]
|
|
276
|
+
=== Inputs ===
|
|
277
|
+
=== Succesors ===
|
|
278
|
+
=== Usages ===
|
|
279
|
+
v45
|
|
280
|
+
=== Predecessor ===
|
|
281
|
+
- >@ <|@
|
|
282
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
283
|
+
f <@#|@fixed with next>@ <|@
|
|
284
|
+
tid v45 <|@
|
|
285
|
+
d <@d|@=== Debug Properties ===
|
|
286
|
+
barrierType: NONE
|
|
287
|
+
location: ExceptionPc
|
|
288
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
289
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
290
|
+
nullCheck: false
|
|
291
|
+
stamp: void
|
|
292
|
+
volatileAccess: false
|
|
293
|
+
=== Inputs ===
|
|
294
|
+
stateBefore: -
|
|
295
|
+
guard: -
|
|
296
|
+
address: v101
|
|
297
|
+
value: j40
|
|
298
|
+
stateAfter: -
|
|
299
|
+
lastLocationAccess: -
|
|
300
|
+
=== Succesors ===
|
|
301
|
+
next: v97
|
|
302
|
+
=== Usages ===
|
|
303
|
+
=== Predecessor ===
|
|
304
|
+
v44 >@ <|@
|
|
305
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v101 value: j40 stateAfter: - lastLocationAccess: - #next: v97 <|@ <|@
|
|
306
|
+
f <@~|@floating>@ <|@
|
|
307
|
+
tid v103 <|@
|
|
308
|
+
d <@d|@=== Debug Properties ===
|
|
309
|
+
displacement: 8
|
|
310
|
+
scale: Times1
|
|
311
|
+
stamp: void*
|
|
312
|
+
=== Inputs ===
|
|
313
|
+
base: a43
|
|
314
|
+
index: -
|
|
315
|
+
=== Succesors ===
|
|
316
|
+
=== Usages ===
|
|
317
|
+
v97
|
|
318
|
+
=== Predecessor ===
|
|
319
|
+
- >@ <|@
|
|
320
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a43 index: - <|@ <|@
|
|
321
|
+
f <@#|@fixed with next>@ <|@
|
|
322
|
+
tid v97 <|@
|
|
323
|
+
d <@d|@=== Debug Properties ===
|
|
324
|
+
barrierType: NONE
|
|
325
|
+
forceFixed: false
|
|
326
|
+
location: CompressedHub:final
|
|
327
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
328
|
+
nullCheck: false
|
|
329
|
+
stamp: Klass*!(compressed base: 0 shift: 3)
|
|
330
|
+
=== Inputs ===
|
|
331
|
+
stateBefore: -
|
|
332
|
+
guard: -
|
|
333
|
+
address: v103
|
|
334
|
+
lastLocationAccess: -
|
|
335
|
+
=== Succesors ===
|
|
336
|
+
next: v98
|
|
337
|
+
=== Usages ===
|
|
338
|
+
v102
|
|
339
|
+
=== Predecessor ===
|
|
340
|
+
v45 >@ <|@
|
|
341
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v103 lastLocationAccess: - #next: v98 <|@ <|@
|
|
342
|
+
f <@~|@floating>@ <|@
|
|
343
|
+
tid v102 <|@
|
|
344
|
+
d <@d|@=== Debug Properties ===
|
|
345
|
+
displacement: 64
|
|
346
|
+
scale: Times8
|
|
347
|
+
stamp: void*
|
|
348
|
+
=== Inputs ===
|
|
349
|
+
base: -
|
|
350
|
+
index: v97
|
|
351
|
+
=== Succesors ===
|
|
352
|
+
=== Usages ===
|
|
353
|
+
v98
|
|
354
|
+
=== Predecessor ===
|
|
355
|
+
- >@ <|@
|
|
356
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: - index: v97 <|@ <|@
|
|
357
|
+
f <@#|@fixed with next>@ <|@
|
|
358
|
+
tid v98 <|@
|
|
359
|
+
d <@d|@=== Debug Properties ===
|
|
360
|
+
barrierType: NONE
|
|
361
|
+
forceFixed: false
|
|
362
|
+
location: PrimarySupers:final
|
|
363
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofPrimary(InstanceOfSnippets.java:154) [bci: 0]
|
|
364
|
+
at JavaExamples.exampleCatch() [bci: -4]
|
|
365
|
+
nullCheck: false
|
|
366
|
+
stamp: Klass*
|
|
367
|
+
=== Inputs ===
|
|
368
|
+
stateBefore: -
|
|
369
|
+
guard: -
|
|
370
|
+
address: v102
|
|
371
|
+
lastLocationAccess: -
|
|
372
|
+
=== Succesors ===
|
|
373
|
+
next: v14
|
|
374
|
+
=== Usages ===
|
|
375
|
+
v60
|
|
376
|
+
=== Predecessor ===
|
|
377
|
+
v97 >@ <|@
|
|
378
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v102 lastLocationAccess: - #next: v14 <|@ <|@
|
|
379
|
+
f <@~|@floating>@ <|@
|
|
380
|
+
tid v50 <|@
|
|
381
|
+
d <@d|@=== Debug Properties ===
|
|
382
|
+
isDefaultStable: false
|
|
383
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
384
|
+
rawvalue: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}
|
|
385
|
+
stableDimension: 0
|
|
386
|
+
stamp: Klass*!
|
|
387
|
+
stampKind: Klass*
|
|
388
|
+
value: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}
|
|
389
|
+
=== Inputs ===
|
|
390
|
+
=== Succesors ===
|
|
391
|
+
=== Usages ===
|
|
392
|
+
v60
|
|
393
|
+
=== Predecessor ===
|
|
394
|
+
- >@ <|@
|
|
395
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
396
|
+
f <@~|@floating>@ <|@
|
|
397
|
+
tid v60 <|@
|
|
398
|
+
d <@d|@=== Debug Properties ===
|
|
399
|
+
condition: EQ
|
|
400
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
401
|
+
stamp: void
|
|
402
|
+
unorderedIsTrue: false
|
|
403
|
+
=== Inputs ===
|
|
404
|
+
x: v98
|
|
405
|
+
y: v50
|
|
406
|
+
=== Succesors ===
|
|
407
|
+
=== Usages ===
|
|
408
|
+
v14
|
|
409
|
+
=== Predecessor ===
|
|
410
|
+
- >@ <|@
|
|
411
|
+
instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v98 y: v50 <|@ <|@
|
|
412
|
+
f <@*|@fixed>@ <|@
|
|
413
|
+
tid v14 <|@
|
|
414
|
+
d <@d|@=== Debug Properties ===
|
|
415
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
416
|
+
stamp: void
|
|
417
|
+
trueSuccessorProbability: 0.5
|
|
418
|
+
=== Inputs ===
|
|
419
|
+
condition: v60
|
|
420
|
+
=== Succesors ===
|
|
421
|
+
trueSuccessor: v9
|
|
422
|
+
falseSuccessor: v12
|
|
423
|
+
=== Usages ===
|
|
424
|
+
=== Predecessor ===
|
|
425
|
+
v98 >@ <|@
|
|
426
|
+
instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v60 #trueSuccessor: v9 #falseSuccessor: v12 <|@ <|@
|
|
427
|
+
end_IR
|
|
428
|
+
end_block
|
|
429
|
+
begin_block
|
|
430
|
+
name "B3"
|
|
431
|
+
from_bci -1
|
|
432
|
+
to_bci -1
|
|
433
|
+
predecessors "B2"
|
|
434
|
+
successors
|
|
435
|
+
xhandlers
|
|
436
|
+
flags
|
|
437
|
+
probability 4527516983983565041
|
|
438
|
+
begin_IR
|
|
439
|
+
HIR
|
|
440
|
+
f <@#|@fixed with next>@ <|@
|
|
441
|
+
tid v9 <|@
|
|
442
|
+
d <@d|@=== Debug Properties ===
|
|
443
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
444
|
+
stamp: void
|
|
445
|
+
withSpeculationFence: false
|
|
446
|
+
=== Inputs ===
|
|
447
|
+
=== Succesors ===
|
|
448
|
+
next: v105
|
|
449
|
+
=== Usages ===
|
|
450
|
+
=== Predecessor ===
|
|
451
|
+
v14 >@ <|@
|
|
452
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v105 <|@ <|@
|
|
453
|
+
f <@#|@fixed with next>@ <|@
|
|
454
|
+
tid v105 <|@
|
|
455
|
+
d <@d|@=== Debug Properties ===
|
|
456
|
+
barriers: 10
|
|
457
|
+
location: ANY_LOCATION
|
|
458
|
+
stamp: void
|
|
459
|
+
=== Inputs ===
|
|
460
|
+
=== Succesors ===
|
|
461
|
+
next: v31
|
|
462
|
+
=== Usages ===
|
|
463
|
+
=== Predecessor ===
|
|
464
|
+
v9 >@ <|@
|
|
465
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v31 <|@ <|@
|
|
466
|
+
f <@~|@floating>@ <|@
|
|
467
|
+
tid a27 <|@
|
|
468
|
+
d <@d|@=== Debug Properties ===
|
|
469
|
+
isDefaultStable: false
|
|
470
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
471
|
+
rawvalue: Instance<java.lang.Class>
|
|
472
|
+
stableDimension: 0
|
|
473
|
+
stamp: a!# Ljava/lang/Class;
|
|
474
|
+
stampKind: a -
|
|
475
|
+
value: Object[Instance<java.lang.Class>]
|
|
476
|
+
=== Inputs ===
|
|
477
|
+
=== Succesors ===
|
|
478
|
+
=== Usages ===
|
|
479
|
+
v99 j82
|
|
480
|
+
=== Predecessor ===
|
|
481
|
+
- >@ <|@
|
|
482
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
483
|
+
f <@~|@floating>@ <|@
|
|
484
|
+
tid v99 <|@
|
|
485
|
+
d <@d|@=== Debug Properties ===
|
|
486
|
+
displacement: 116
|
|
487
|
+
scale: Times1
|
|
488
|
+
stamp: void*
|
|
489
|
+
=== Inputs ===
|
|
490
|
+
base: a27
|
|
491
|
+
index: -
|
|
492
|
+
=== Succesors ===
|
|
493
|
+
=== Usages ===
|
|
494
|
+
v31
|
|
495
|
+
=== Predecessor ===
|
|
496
|
+
- >@ <|@
|
|
497
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a27 index: - <|@ <|@
|
|
498
|
+
f <@~|@floating>@ <|@
|
|
499
|
+
tid a28 <|@
|
|
500
|
+
d <@d|@=== Debug Properties ===
|
|
501
|
+
encoding: base: 0 shift: 3
|
|
502
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
503
|
+
op: Compress
|
|
504
|
+
stamp: n! Ljava/lang/Throwable;
|
|
505
|
+
=== Inputs ===
|
|
506
|
+
value: a43
|
|
507
|
+
=== Succesors ===
|
|
508
|
+
=== Usages ===
|
|
509
|
+
v31
|
|
510
|
+
=== Predecessor ===
|
|
511
|
+
- >@ <|@
|
|
512
|
+
instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: a43 <|@ <|@
|
|
513
|
+
f <@#|@fixed with next>@ <|@
|
|
514
|
+
tid v31 <|@
|
|
515
|
+
d <@d|@=== Debug Properties ===
|
|
516
|
+
barrierType: FIELD
|
|
517
|
+
location: JavaExamples.objectField
|
|
518
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
519
|
+
nullCheck: false
|
|
520
|
+
stamp: void
|
|
521
|
+
volatileAccess: true
|
|
522
|
+
=== Inputs ===
|
|
523
|
+
stateBefore: -
|
|
524
|
+
guard: -
|
|
525
|
+
address: v99
|
|
526
|
+
value: a28
|
|
527
|
+
stateAfter: -
|
|
528
|
+
lastLocationAccess: -
|
|
529
|
+
=== Succesors ===
|
|
530
|
+
next: v106
|
|
531
|
+
=== Usages ===
|
|
532
|
+
=== Predecessor ===
|
|
533
|
+
v105 >@ <|@
|
|
534
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v99 value: a28 stateAfter: - lastLocationAccess: - #next: v106 <|@ <|@
|
|
535
|
+
f <@#|@fixed with next>@ <|@
|
|
536
|
+
tid v106 <|@
|
|
537
|
+
d <@d|@=== Debug Properties ===
|
|
538
|
+
barriers: 12
|
|
539
|
+
location: ANY_LOCATION
|
|
540
|
+
stamp: void
|
|
541
|
+
=== Inputs ===
|
|
542
|
+
=== Succesors ===
|
|
543
|
+
next: j82
|
|
544
|
+
=== Usages ===
|
|
545
|
+
=== Predecessor ===
|
|
546
|
+
v31 >@ <|@
|
|
547
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: j82 <|@ <|@
|
|
548
|
+
f <@#|@fixed with next>@ <|@
|
|
549
|
+
tid j82 <|@
|
|
550
|
+
d <@d|@=== Debug Properties ===
|
|
551
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
552
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
553
|
+
stamp: i64
|
|
554
|
+
trackedPointer: true
|
|
555
|
+
=== Inputs ===
|
|
556
|
+
input: a27
|
|
557
|
+
=== Succesors ===
|
|
558
|
+
next: v89
|
|
559
|
+
=== Usages ===
|
|
560
|
+
j85
|
|
561
|
+
=== Predecessor ===
|
|
562
|
+
v106 >@ <|@
|
|
563
|
+
instruction <@WordCast|@org.graalvm.compiler.word.WordCastNode>@ input: a27 #next: v89 <|@ <|@
|
|
564
|
+
f <@~|@floating>@ <|@
|
|
565
|
+
tid i84 <|@
|
|
566
|
+
d <@d|@=== Debug Properties ===
|
|
567
|
+
isDefaultStable: false
|
|
568
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
569
|
+
rawvalue: 9
|
|
570
|
+
stableDimension: 0
|
|
571
|
+
stamp: i32 [9] ⇊0000000000000009 ⇈0000000000000009
|
|
572
|
+
stampKind: i32
|
|
573
|
+
value: int[9|0x9]
|
|
574
|
+
=== Inputs ===
|
|
575
|
+
=== Succesors ===
|
|
576
|
+
=== Usages ===
|
|
577
|
+
j85
|
|
578
|
+
=== Predecessor ===
|
|
579
|
+
- >@ <|@
|
|
580
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
581
|
+
f <@~|@floating>@ <|@
|
|
582
|
+
tid j85 <|@
|
|
583
|
+
d <@d|@=== Debug Properties ===
|
|
584
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
585
|
+
stamp: i64 [0 - 36028797018963967] ⇈007fffffffffffff
|
|
586
|
+
=== Inputs ===
|
|
587
|
+
x: j82
|
|
588
|
+
y: i84
|
|
589
|
+
=== Succesors ===
|
|
590
|
+
=== Usages ===
|
|
591
|
+
v104
|
|
592
|
+
=== Predecessor ===
|
|
593
|
+
- >@ <|@
|
|
594
|
+
instruction <@>>>|@org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode>@ x: j82 y: i84 <|@ <|@
|
|
595
|
+
f <@~|@floating>@ <|@
|
|
596
|
+
tid j93 <|@
|
|
597
|
+
d <@d|@=== Debug Properties ===
|
|
598
|
+
isDefaultStable: false
|
|
599
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
600
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
601
|
+
rawvalue: 4531113984
|
|
602
|
+
stableDimension: 0
|
|
603
|
+
stamp: i64 [4531113984] ⇊000000010e135000 ⇈000000010e135000
|
|
604
|
+
stampKind: i64
|
|
605
|
+
value: long[4531113984|0x10e135000]
|
|
606
|
+
=== Inputs ===
|
|
607
|
+
=== Succesors ===
|
|
608
|
+
=== Usages ===
|
|
609
|
+
v104
|
|
610
|
+
=== Predecessor ===
|
|
611
|
+
- >@ <|@
|
|
612
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
613
|
+
f <@~|@floating>@ <|@
|
|
614
|
+
tid v104 <|@
|
|
615
|
+
d <@d|@=== Debug Properties ===
|
|
616
|
+
displacement: 0
|
|
617
|
+
scale: Times1
|
|
618
|
+
stamp: void*
|
|
619
|
+
=== Inputs ===
|
|
620
|
+
base: j85
|
|
621
|
+
index: j93
|
|
622
|
+
=== Succesors ===
|
|
623
|
+
=== Usages ===
|
|
624
|
+
v89
|
|
625
|
+
=== Predecessor ===
|
|
626
|
+
- >@ <|@
|
|
627
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j85 index: j93 <|@ <|@
|
|
628
|
+
f <@~|@floating>@ <|@
|
|
629
|
+
tid i90 <|@
|
|
630
|
+
d <@d|@=== Debug Properties ===
|
|
631
|
+
isDefaultStable: false
|
|
632
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
633
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
634
|
+
rawvalue: 0
|
|
635
|
+
stableDimension: 0
|
|
636
|
+
stamp: i8 [0] ⇈0000000000000000
|
|
637
|
+
stampKind: i8
|
|
638
|
+
value: byte[0|0x0]
|
|
639
|
+
=== Inputs ===
|
|
640
|
+
=== Succesors ===
|
|
641
|
+
=== Usages ===
|
|
642
|
+
v89
|
|
643
|
+
=== Predecessor ===
|
|
644
|
+
- >@ <|@
|
|
645
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
646
|
+
f <@#|@fixed with next>@ <|@
|
|
647
|
+
tid v89 <|@
|
|
648
|
+
d <@d|@=== Debug Properties ===
|
|
649
|
+
barrierType: NONE
|
|
650
|
+
location: GC-Card
|
|
651
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
652
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
653
|
+
nullCheck: false
|
|
654
|
+
stamp: void
|
|
655
|
+
volatileAccess: false
|
|
656
|
+
=== Inputs ===
|
|
657
|
+
stateBefore: -
|
|
658
|
+
guard: -
|
|
659
|
+
address: v104
|
|
660
|
+
value: i90
|
|
661
|
+
stateAfter: -
|
|
662
|
+
lastLocationAccess: -
|
|
663
|
+
=== Succesors ===
|
|
664
|
+
next: v24
|
|
665
|
+
=== Usages ===
|
|
666
|
+
=== Predecessor ===
|
|
667
|
+
j82 >@ <|@
|
|
668
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v104 value: i90 stateAfter: - lastLocationAccess: - #next: v24 <|@ <|@
|
|
669
|
+
f <@*|@fixed>@ <|@
|
|
670
|
+
tid v24 <|@
|
|
671
|
+
d <@d|@=== Debug Properties ===
|
|
672
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:282) [bci: 11]
|
|
673
|
+
stamp: void
|
|
674
|
+
=== Inputs ===
|
|
675
|
+
result: -
|
|
676
|
+
memoryMap: -
|
|
677
|
+
=== Succesors ===
|
|
678
|
+
=== Usages ===
|
|
679
|
+
=== Predecessor ===
|
|
680
|
+
v89 >@ <|@
|
|
681
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
|
|
682
|
+
end_IR
|
|
683
|
+
end_block
|
|
684
|
+
begin_block
|
|
685
|
+
name "B4"
|
|
686
|
+
from_bci -1
|
|
687
|
+
to_bci -1
|
|
688
|
+
predecessors "B2"
|
|
689
|
+
successors
|
|
690
|
+
xhandlers
|
|
691
|
+
flags
|
|
692
|
+
probability 4527516983983565041
|
|
693
|
+
begin_IR
|
|
694
|
+
HIR
|
|
695
|
+
f <@#|@fixed with next>@ <|@
|
|
696
|
+
tid v12 <|@
|
|
697
|
+
d <@d|@=== Debug Properties ===
|
|
698
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
699
|
+
stamp: void
|
|
700
|
+
withSpeculationFence: false
|
|
701
|
+
=== Inputs ===
|
|
702
|
+
=== Succesors ===
|
|
703
|
+
next: v23
|
|
704
|
+
=== Usages ===
|
|
705
|
+
=== Predecessor ===
|
|
706
|
+
v14 >@ <|@
|
|
707
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v23 <|@ <|@
|
|
708
|
+
f <@*|@fixed>@ <|@
|
|
709
|
+
tid v23 <|@
|
|
710
|
+
d <@d|@=== Debug Properties ===
|
|
711
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -1]
|
|
712
|
+
stamp: void
|
|
713
|
+
=== Inputs ===
|
|
714
|
+
exception: a43
|
|
715
|
+
=== Succesors ===
|
|
716
|
+
=== Usages ===
|
|
717
|
+
=== Predecessor ===
|
|
718
|
+
v12 >@ <|@
|
|
719
|
+
instruction <@Unwind|@org.graalvm.compiler.nodes.UnwindNode>@ exception: a43 <|@ <|@
|
|
720
|
+
end_IR
|
|
721
|
+
end_block
|
|
722
|
+
end_cfg
|
|
723
|
+
begin_cfg
|
|
724
|
+
name "After LIRGeneration"
|
|
725
|
+
begin_block
|
|
726
|
+
name "B0"
|
|
727
|
+
from_bci -1
|
|
728
|
+
to_bci -1
|
|
729
|
+
predecessors
|
|
730
|
+
successors "B1"
|
|
731
|
+
xhandlers"B2"
|
|
732
|
+
flags
|
|
733
|
+
probability 4607182418800017408
|
|
734
|
+
begin_IR
|
|
735
|
+
LIR
|
|
736
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
737
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
738
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
739
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
740
|
+
locals: -
|
|
741
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
742
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
743
|
+
end_IR
|
|
744
|
+
end_block
|
|
745
|
+
begin_block
|
|
746
|
+
name "B1"
|
|
747
|
+
from_bci -1
|
|
748
|
+
to_bci -1
|
|
749
|
+
predecessors "B0"
|
|
750
|
+
successors
|
|
751
|
+
xhandlers
|
|
752
|
+
flags
|
|
753
|
+
probability 4607182328728024861
|
|
754
|
+
begin_IR
|
|
755
|
+
LIR
|
|
756
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
757
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
758
|
+
end_IR
|
|
759
|
+
end_block
|
|
760
|
+
begin_block
|
|
761
|
+
name "B2"
|
|
762
|
+
from_bci -1
|
|
763
|
+
to_bci -1
|
|
764
|
+
predecessors "B0"
|
|
765
|
+
successors "B3" "B4"
|
|
766
|
+
xhandlers
|
|
767
|
+
flags "ex"
|
|
768
|
+
probability 4532020583610935537
|
|
769
|
+
begin_IR
|
|
770
|
+
LIR
|
|
771
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
772
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
773
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
774
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
775
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
776
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
777
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
778
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
779
|
+
end_IR
|
|
780
|
+
end_block
|
|
781
|
+
begin_block
|
|
782
|
+
name "B4"
|
|
783
|
+
from_bci -1
|
|
784
|
+
to_bci -1
|
|
785
|
+
predecessors "B2"
|
|
786
|
+
successors
|
|
787
|
+
xhandlers
|
|
788
|
+
flags
|
|
789
|
+
probability 4527516983983565041
|
|
790
|
+
begin_IR
|
|
791
|
+
LIR
|
|
792
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
793
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
794
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
795
|
+
end_IR
|
|
796
|
+
end_block
|
|
797
|
+
begin_block
|
|
798
|
+
name "B3"
|
|
799
|
+
from_bci -1
|
|
800
|
+
to_bci -1
|
|
801
|
+
predecessors "B2"
|
|
802
|
+
successors
|
|
803
|
+
xhandlers
|
|
804
|
+
flags
|
|
805
|
+
probability 4527516983983565041
|
|
806
|
+
begin_IR
|
|
807
|
+
LIR
|
|
808
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
809
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
810
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
811
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
812
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
813
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
814
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
815
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
816
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
817
|
+
end_IR
|
|
818
|
+
end_block
|
|
819
|
+
end_cfg
|
|
820
|
+
begin_bytecodes
|
|
821
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
822
|
+
3: goto 11
|
|
823
|
+
6: astore_0
|
|
824
|
+
7: aload_0
|
|
825
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
826
|
+
11: return
|
|
827
|
+
<|@
|
|
828
|
+
end_bytecodes
|
|
829
|
+
begin_cfg
|
|
830
|
+
name "After LIR generation"
|
|
831
|
+
begin_block
|
|
832
|
+
name "B0"
|
|
833
|
+
from_bci -1
|
|
834
|
+
to_bci -1
|
|
835
|
+
predecessors
|
|
836
|
+
successors "B1"
|
|
837
|
+
xhandlers"B2"
|
|
838
|
+
flags
|
|
839
|
+
probability 4607182418800017408
|
|
840
|
+
begin_IR
|
|
841
|
+
HIR
|
|
842
|
+
f <@#|@fixed with next>@ <|@
|
|
843
|
+
tid v0 <|@
|
|
844
|
+
d <@d|@=== Debug Properties ===
|
|
845
|
+
stamp: void
|
|
846
|
+
withSpeculationFence: false
|
|
847
|
+
=== Inputs ===
|
|
848
|
+
stateAfter: -
|
|
849
|
+
=== Succesors ===
|
|
850
|
+
next: v6
|
|
851
|
+
=== Usages ===
|
|
852
|
+
=== Predecessor ===
|
|
853
|
+
- >@ <|@
|
|
854
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v6 <|@ <|@
|
|
855
|
+
tid ?76 <|@
|
|
856
|
+
d <@d|@=== Debug Properties ===
|
|
857
|
+
bci: 0
|
|
858
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleCatch()>
|
|
859
|
+
duringCall: true
|
|
860
|
+
localsSize: 1
|
|
861
|
+
locksSize: 0
|
|
862
|
+
rethrowException: false
|
|
863
|
+
sourceFile: JavaExamples.java
|
|
864
|
+
sourceLine: 278
|
|
865
|
+
stackSize: 0
|
|
866
|
+
=== Inputs ===
|
|
867
|
+
outerFrameState: -
|
|
868
|
+
values: -
|
|
869
|
+
=== Succesors ===
|
|
870
|
+
=== Usages ===
|
|
871
|
+
v6
|
|
872
|
+
=== Predecessor ===
|
|
873
|
+
- >@ <|@
|
|
874
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - <|@ <|@
|
|
875
|
+
tid v26 <|@
|
|
876
|
+
d <@d|@=== Debug Properties ===
|
|
877
|
+
callType: JavaCall
|
|
878
|
+
invokeKind: Static
|
|
879
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
880
|
+
returnStamp: void
|
|
881
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@14800d688
|
|
882
|
+
stamp: void
|
|
883
|
+
targetMethod: HotSpotMethod<JavaExamples.exampleThrow()>
|
|
884
|
+
=== Inputs ===
|
|
885
|
+
=== Succesors ===
|
|
886
|
+
=== Usages ===
|
|
887
|
+
v6
|
|
888
|
+
=== Predecessor ===
|
|
889
|
+
- >@ <|@
|
|
890
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ <|@ <|@
|
|
891
|
+
f <@*|@fixed>@ <|@
|
|
892
|
+
tid v6 <|@
|
|
893
|
+
d <@d|@=== Debug Properties ===
|
|
894
|
+
bci: 0
|
|
895
|
+
exceptionProbability: 1.0E-5
|
|
896
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
897
|
+
polymorphic: false
|
|
898
|
+
stamp: void
|
|
899
|
+
targetMethod: Direct#JavaExamples.exampleThrow
|
|
900
|
+
useForInlining: true
|
|
901
|
+
=== Inputs ===
|
|
902
|
+
classInit: -
|
|
903
|
+
callTarget: v26
|
|
904
|
+
stateDuring: ?76
|
|
905
|
+
stateAfter: -
|
|
906
|
+
=== Succesors ===
|
|
907
|
+
next: v8
|
|
908
|
+
exceptionEdge: v32
|
|
909
|
+
=== Usages ===
|
|
910
|
+
=== Predecessor ===
|
|
911
|
+
v0 >@ <|@
|
|
912
|
+
instruction <@InvokeWithException|@org.graalvm.compiler.nodes.InvokeWithExceptionNode>@ classInit: - callTarget: v26 stateDuring: ?76 stateAfter: - #next: v8 #exceptionEdge: v32 <|@ <|@
|
|
913
|
+
end_IR
|
|
914
|
+
begin_IR
|
|
915
|
+
LIR
|
|
916
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
917
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
918
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
919
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
920
|
+
locals: -
|
|
921
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
922
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
923
|
+
end_IR
|
|
924
|
+
end_block
|
|
925
|
+
begin_block
|
|
926
|
+
name "B1"
|
|
927
|
+
from_bci -1
|
|
928
|
+
to_bci -1
|
|
929
|
+
predecessors "B0"
|
|
930
|
+
successors
|
|
931
|
+
xhandlers
|
|
932
|
+
flags
|
|
933
|
+
probability 4607182328728024861
|
|
934
|
+
begin_IR
|
|
935
|
+
HIR
|
|
936
|
+
f <@#|@fixed with next>@ <|@
|
|
937
|
+
tid v8 <|@
|
|
938
|
+
d <@d|@=== Debug Properties ===
|
|
939
|
+
locationIdentity: ANY_LOCATION
|
|
940
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
941
|
+
stamp: void
|
|
942
|
+
withSpeculationFence: false
|
|
943
|
+
=== Inputs ===
|
|
944
|
+
=== Succesors ===
|
|
945
|
+
next: v25
|
|
946
|
+
=== Usages ===
|
|
947
|
+
=== Predecessor ===
|
|
948
|
+
v6 >@ <|@
|
|
949
|
+
instruction <@KillingBegin|@org.graalvm.compiler.nodes.KillingBeginNode>@ #next: v25 <|@ <|@
|
|
950
|
+
f <@*|@fixed>@ <|@
|
|
951
|
+
tid v25 <|@
|
|
952
|
+
d <@d|@=== Debug Properties ===
|
|
953
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:282) [bci: 11]
|
|
954
|
+
stamp: void
|
|
955
|
+
=== Inputs ===
|
|
956
|
+
result: -
|
|
957
|
+
memoryMap: -
|
|
958
|
+
=== Succesors ===
|
|
959
|
+
=== Usages ===
|
|
960
|
+
=== Predecessor ===
|
|
961
|
+
v8 >@ <|@
|
|
962
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
|
|
963
|
+
end_IR
|
|
964
|
+
begin_IR
|
|
965
|
+
LIR
|
|
966
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
967
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
968
|
+
end_IR
|
|
969
|
+
end_block
|
|
970
|
+
begin_block
|
|
971
|
+
name "B2"
|
|
972
|
+
from_bci -1
|
|
973
|
+
to_bci -1
|
|
974
|
+
predecessors "B0"
|
|
975
|
+
successors "B3" "B4"
|
|
976
|
+
xhandlers
|
|
977
|
+
flags "ex"
|
|
978
|
+
probability 4532020583610935537
|
|
979
|
+
begin_IR
|
|
980
|
+
HIR
|
|
981
|
+
f <@#|@fixed with next>@ <|@
|
|
982
|
+
tid v32 <|@
|
|
983
|
+
d <@d|@=== Debug Properties ===
|
|
984
|
+
locationIdentity: ANY_LOCATION
|
|
985
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
986
|
+
stamp: void
|
|
987
|
+
withSpeculationFence: false
|
|
988
|
+
=== Inputs ===
|
|
989
|
+
=== Succesors ===
|
|
990
|
+
next: j34
|
|
991
|
+
=== Usages ===
|
|
992
|
+
=== Predecessor ===
|
|
993
|
+
v6 >@ <|@
|
|
994
|
+
instruction <@KillingBegin|@org.graalvm.compiler.nodes.KillingBeginNode>@ #next: j34 <|@ <|@
|
|
995
|
+
f <@#|@fixed with next>@ <|@
|
|
996
|
+
tid j34 <|@
|
|
997
|
+
result r15|QWORD <|@
|
|
998
|
+
d <@d|@=== Debug Properties ===
|
|
999
|
+
directUse: true
|
|
1000
|
+
incoming: false
|
|
1001
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
1002
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1003
|
+
register: r15
|
|
1004
|
+
stamp: i64
|
|
1005
|
+
=== Inputs ===
|
|
1006
|
+
=== Succesors ===
|
|
1007
|
+
next: a43
|
|
1008
|
+
=== Usages ===
|
|
1009
|
+
v100 v101
|
|
1010
|
+
=== Predecessor ===
|
|
1011
|
+
v32 >@ <|@
|
|
1012
|
+
instruction <@ReadRegister|@org.graalvm.compiler.replacements.nodes.ReadRegisterNode>@ #next: a43 <|@ <|@
|
|
1013
|
+
f <@~|@floating>@ <|@
|
|
1014
|
+
tid v100 <|@
|
|
1015
|
+
result [r15|QWORD + 704] <|@
|
|
1016
|
+
d <@d|@=== Debug Properties ===
|
|
1017
|
+
displacement: 704
|
|
1018
|
+
scale: Times1
|
|
1019
|
+
stamp: void*
|
|
1020
|
+
=== Inputs ===
|
|
1021
|
+
base: j34
|
|
1022
|
+
index: -
|
|
1023
|
+
=== Succesors ===
|
|
1024
|
+
=== Usages ===
|
|
1025
|
+
a43 v44
|
|
1026
|
+
=== Predecessor ===
|
|
1027
|
+
- >@ <|@
|
|
1028
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j34 index: - <|@ <|@
|
|
1029
|
+
f <@#|@fixed with next>@ <|@
|
|
1030
|
+
tid a43 <|@
|
|
1031
|
+
result v0|QWORD[.] <|@
|
|
1032
|
+
d <@d|@=== Debug Properties ===
|
|
1033
|
+
barrierType: NONE
|
|
1034
|
+
forceFixed: true
|
|
1035
|
+
location: ExceptionOop
|
|
1036
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
1037
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1038
|
+
nullCheck: false
|
|
1039
|
+
stamp: a! Ljava/lang/Throwable;
|
|
1040
|
+
=== Inputs ===
|
|
1041
|
+
stateBefore: -
|
|
1042
|
+
guard: -
|
|
1043
|
+
address: v100
|
|
1044
|
+
lastLocationAccess: -
|
|
1045
|
+
=== Succesors ===
|
|
1046
|
+
next: v44
|
|
1047
|
+
=== Usages ===
|
|
1048
|
+
v103 v23 a28
|
|
1049
|
+
=== Predecessor ===
|
|
1050
|
+
j34 >@ <|@
|
|
1051
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v100 lastLocationAccess: - #next: v44 <|@ <|@
|
|
1052
|
+
f <@~|@floating>@ <|@
|
|
1053
|
+
tid a35 <|@
|
|
1054
|
+
result Object[null] <|@
|
|
1055
|
+
d <@d|@=== Debug Properties ===
|
|
1056
|
+
isDefaultStable: false
|
|
1057
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1058
|
+
rawvalue: null
|
|
1059
|
+
stableDimension: 0
|
|
1060
|
+
stamp: a - NULL
|
|
1061
|
+
stampKind: a -
|
|
1062
|
+
value: Object[null]
|
|
1063
|
+
=== Inputs ===
|
|
1064
|
+
=== Succesors ===
|
|
1065
|
+
=== Usages ===
|
|
1066
|
+
v44
|
|
1067
|
+
=== Predecessor ===
|
|
1068
|
+
- >@ <|@
|
|
1069
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1070
|
+
f <@#|@fixed with next>@ <|@
|
|
1071
|
+
tid v44 <|@
|
|
1072
|
+
d <@d|@=== Debug Properties ===
|
|
1073
|
+
barrierType: NONE
|
|
1074
|
+
location: ExceptionOop
|
|
1075
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
1076
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1077
|
+
nullCheck: false
|
|
1078
|
+
stamp: void
|
|
1079
|
+
volatileAccess: false
|
|
1080
|
+
=== Inputs ===
|
|
1081
|
+
stateBefore: -
|
|
1082
|
+
guard: -
|
|
1083
|
+
address: v100
|
|
1084
|
+
value: a35
|
|
1085
|
+
stateAfter: -
|
|
1086
|
+
lastLocationAccess: -
|
|
1087
|
+
=== Succesors ===
|
|
1088
|
+
next: v45
|
|
1089
|
+
=== Usages ===
|
|
1090
|
+
=== Predecessor ===
|
|
1091
|
+
a43 >@ <|@
|
|
1092
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v100 value: a35 stateAfter: - lastLocationAccess: - #next: v45 <|@ <|@
|
|
1093
|
+
f <@~|@floating>@ <|@
|
|
1094
|
+
tid v101 <|@
|
|
1095
|
+
result [r15|QWORD + 712] <|@
|
|
1096
|
+
d <@d|@=== Debug Properties ===
|
|
1097
|
+
displacement: 712
|
|
1098
|
+
scale: Times1
|
|
1099
|
+
stamp: void*
|
|
1100
|
+
=== Inputs ===
|
|
1101
|
+
base: j34
|
|
1102
|
+
index: -
|
|
1103
|
+
=== Succesors ===
|
|
1104
|
+
=== Usages ===
|
|
1105
|
+
v45
|
|
1106
|
+
=== Predecessor ===
|
|
1107
|
+
- >@ <|@
|
|
1108
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j34 index: - <|@ <|@
|
|
1109
|
+
f <@~|@floating>@ <|@
|
|
1110
|
+
tid j40 <|@
|
|
1111
|
+
result long[0|0x0] <|@
|
|
1112
|
+
d <@d|@=== Debug Properties ===
|
|
1113
|
+
isDefaultStable: false
|
|
1114
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1115
|
+
rawvalue: 0
|
|
1116
|
+
stableDimension: 0
|
|
1117
|
+
stamp: i64 [0] ⇈0000000000000000
|
|
1118
|
+
stampKind: i64
|
|
1119
|
+
value: long[0|0x0]
|
|
1120
|
+
=== Inputs ===
|
|
1121
|
+
=== Succesors ===
|
|
1122
|
+
=== Usages ===
|
|
1123
|
+
v45
|
|
1124
|
+
=== Predecessor ===
|
|
1125
|
+
- >@ <|@
|
|
1126
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1127
|
+
f <@#|@fixed with next>@ <|@
|
|
1128
|
+
tid v45 <|@
|
|
1129
|
+
d <@d|@=== Debug Properties ===
|
|
1130
|
+
barrierType: NONE
|
|
1131
|
+
location: ExceptionPc
|
|
1132
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.LoadExceptionObjectSnippets.loadException(LoadExceptionObjectSnippets.java:76) [bci: 0]
|
|
1133
|
+
at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1134
|
+
nullCheck: false
|
|
1135
|
+
stamp: void
|
|
1136
|
+
volatileAccess: false
|
|
1137
|
+
=== Inputs ===
|
|
1138
|
+
stateBefore: -
|
|
1139
|
+
guard: -
|
|
1140
|
+
address: v101
|
|
1141
|
+
value: j40
|
|
1142
|
+
stateAfter: -
|
|
1143
|
+
lastLocationAccess: -
|
|
1144
|
+
=== Succesors ===
|
|
1145
|
+
next: v97
|
|
1146
|
+
=== Usages ===
|
|
1147
|
+
=== Predecessor ===
|
|
1148
|
+
v44 >@ <|@
|
|
1149
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v101 value: j40 stateAfter: - lastLocationAccess: - #next: v97 <|@ <|@
|
|
1150
|
+
f <@~|@floating>@ <|@
|
|
1151
|
+
tid v103 <|@
|
|
1152
|
+
result [v0|QWORD[.] + 8] <|@
|
|
1153
|
+
d <@d|@=== Debug Properties ===
|
|
1154
|
+
displacement: 8
|
|
1155
|
+
scale: Times1
|
|
1156
|
+
stamp: void*
|
|
1157
|
+
=== Inputs ===
|
|
1158
|
+
base: a43
|
|
1159
|
+
index: -
|
|
1160
|
+
=== Succesors ===
|
|
1161
|
+
=== Usages ===
|
|
1162
|
+
v97
|
|
1163
|
+
=== Predecessor ===
|
|
1164
|
+
- >@ <|@
|
|
1165
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a43 index: - <|@ <|@
|
|
1166
|
+
f <@#|@fixed with next>@ <|@
|
|
1167
|
+
tid v97 <|@
|
|
1168
|
+
result v1|DWORD <|@
|
|
1169
|
+
d <@d|@=== Debug Properties ===
|
|
1170
|
+
barrierType: NONE
|
|
1171
|
+
forceFixed: false
|
|
1172
|
+
location: CompressedHub:final
|
|
1173
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1174
|
+
nullCheck: false
|
|
1175
|
+
stamp: Klass*!(compressed base: 0 shift: 3)
|
|
1176
|
+
=== Inputs ===
|
|
1177
|
+
stateBefore: -
|
|
1178
|
+
guard: -
|
|
1179
|
+
address: v103
|
|
1180
|
+
lastLocationAccess: -
|
|
1181
|
+
=== Succesors ===
|
|
1182
|
+
next: v98
|
|
1183
|
+
=== Usages ===
|
|
1184
|
+
v102
|
|
1185
|
+
=== Predecessor ===
|
|
1186
|
+
v45 >@ <|@
|
|
1187
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v103 lastLocationAccess: - #next: v98 <|@ <|@
|
|
1188
|
+
f <@~|@floating>@ <|@
|
|
1189
|
+
tid v102 <|@
|
|
1190
|
+
result [v1|DWORD * 8 + 64] <|@
|
|
1191
|
+
d <@d|@=== Debug Properties ===
|
|
1192
|
+
displacement: 64
|
|
1193
|
+
scale: Times8
|
|
1194
|
+
stamp: void*
|
|
1195
|
+
=== Inputs ===
|
|
1196
|
+
base: -
|
|
1197
|
+
index: v97
|
|
1198
|
+
=== Succesors ===
|
|
1199
|
+
=== Usages ===
|
|
1200
|
+
v98
|
|
1201
|
+
=== Predecessor ===
|
|
1202
|
+
- >@ <|@
|
|
1203
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: - index: v97 <|@ <|@
|
|
1204
|
+
f <@#|@fixed with next>@ <|@
|
|
1205
|
+
tid v98 <|@
|
|
1206
|
+
result INTERIOR_MATCH <|@
|
|
1207
|
+
d <@d|@=== Debug Properties ===
|
|
1208
|
+
barrierType: NONE
|
|
1209
|
+
forceFixed: false
|
|
1210
|
+
location: PrimarySupers:final
|
|
1211
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofPrimary(InstanceOfSnippets.java:154) [bci: 0]
|
|
1212
|
+
at JavaExamples.exampleCatch() [bci: -4]
|
|
1213
|
+
nullCheck: false
|
|
1214
|
+
stamp: Klass*
|
|
1215
|
+
=== Inputs ===
|
|
1216
|
+
stateBefore: -
|
|
1217
|
+
guard: -
|
|
1218
|
+
address: v102
|
|
1219
|
+
lastLocationAccess: -
|
|
1220
|
+
=== Succesors ===
|
|
1221
|
+
next: v14
|
|
1222
|
+
=== Usages ===
|
|
1223
|
+
v60
|
|
1224
|
+
=== Predecessor ===
|
|
1225
|
+
v97 >@ <|@
|
|
1226
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v102 lastLocationAccess: - #next: v14 <|@ <|@
|
|
1227
|
+
f <@~|@floating>@ <|@
|
|
1228
|
+
tid v50 <|@
|
|
1229
|
+
result v2|QWORD <|@
|
|
1230
|
+
d <@d|@=== Debug Properties ===
|
|
1231
|
+
isDefaultStable: false
|
|
1232
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1233
|
+
rawvalue: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}
|
|
1234
|
+
stableDimension: 0
|
|
1235
|
+
stamp: Klass*!
|
|
1236
|
+
stampKind: Klass*
|
|
1237
|
+
value: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}
|
|
1238
|
+
=== Inputs ===
|
|
1239
|
+
=== Succesors ===
|
|
1240
|
+
=== Usages ===
|
|
1241
|
+
v60
|
|
1242
|
+
=== Predecessor ===
|
|
1243
|
+
- >@ <|@
|
|
1244
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1245
|
+
f <@~|@floating>@ <|@
|
|
1246
|
+
tid v60 <|@
|
|
1247
|
+
result INTERIOR_MATCH <|@
|
|
1248
|
+
d <@d|@=== Debug Properties ===
|
|
1249
|
+
condition: EQ
|
|
1250
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1251
|
+
stamp: void
|
|
1252
|
+
unorderedIsTrue: false
|
|
1253
|
+
=== Inputs ===
|
|
1254
|
+
x: v98
|
|
1255
|
+
y: v50
|
|
1256
|
+
=== Succesors ===
|
|
1257
|
+
=== Usages ===
|
|
1258
|
+
v14
|
|
1259
|
+
=== Predecessor ===
|
|
1260
|
+
- >@ <|@
|
|
1261
|
+
instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v98 y: v50 <|@ <|@
|
|
1262
|
+
f <@*|@fixed>@ <|@
|
|
1263
|
+
tid v14 <|@
|
|
1264
|
+
result org.graalvm.compiler.core.match.ComplexMatchValue@138c68718 <|@
|
|
1265
|
+
d <@d|@=== Debug Properties ===
|
|
1266
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1267
|
+
stamp: void
|
|
1268
|
+
trueSuccessorProbability: 0.5
|
|
1269
|
+
=== Inputs ===
|
|
1270
|
+
condition: v60
|
|
1271
|
+
=== Succesors ===
|
|
1272
|
+
trueSuccessor: v9
|
|
1273
|
+
falseSuccessor: v12
|
|
1274
|
+
=== Usages ===
|
|
1275
|
+
=== Predecessor ===
|
|
1276
|
+
v98 >@ <|@
|
|
1277
|
+
instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v60 #trueSuccessor: v9 #falseSuccessor: v12 <|@ <|@
|
|
1278
|
+
end_IR
|
|
1279
|
+
begin_IR
|
|
1280
|
+
LIR
|
|
1281
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1282
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
1283
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
1284
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
1285
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1286
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
1287
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
1288
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
1289
|
+
end_IR
|
|
1290
|
+
end_block
|
|
1291
|
+
begin_block
|
|
1292
|
+
name "B3"
|
|
1293
|
+
from_bci -1
|
|
1294
|
+
to_bci -1
|
|
1295
|
+
predecessors "B2"
|
|
1296
|
+
successors
|
|
1297
|
+
xhandlers
|
|
1298
|
+
flags
|
|
1299
|
+
probability 4527516983983565041
|
|
1300
|
+
begin_IR
|
|
1301
|
+
HIR
|
|
1302
|
+
f <@#|@fixed with next>@ <|@
|
|
1303
|
+
tid v9 <|@
|
|
1304
|
+
d <@d|@=== Debug Properties ===
|
|
1305
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1306
|
+
stamp: void
|
|
1307
|
+
withSpeculationFence: false
|
|
1308
|
+
=== Inputs ===
|
|
1309
|
+
=== Succesors ===
|
|
1310
|
+
next: v105
|
|
1311
|
+
=== Usages ===
|
|
1312
|
+
=== Predecessor ===
|
|
1313
|
+
v14 >@ <|@
|
|
1314
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v105 <|@ <|@
|
|
1315
|
+
f <@#|@fixed with next>@ <|@
|
|
1316
|
+
tid v105 <|@
|
|
1317
|
+
d <@d|@=== Debug Properties ===
|
|
1318
|
+
barriers: 10
|
|
1319
|
+
location: ANY_LOCATION
|
|
1320
|
+
stamp: void
|
|
1321
|
+
=== Inputs ===
|
|
1322
|
+
=== Succesors ===
|
|
1323
|
+
next: v31
|
|
1324
|
+
=== Usages ===
|
|
1325
|
+
=== Predecessor ===
|
|
1326
|
+
v9 >@ <|@
|
|
1327
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: v31 <|@ <|@
|
|
1328
|
+
f <@~|@floating>@ <|@
|
|
1329
|
+
tid a27 <|@
|
|
1330
|
+
result v3|QWORD[.] <|@
|
|
1331
|
+
d <@d|@=== Debug Properties ===
|
|
1332
|
+
isDefaultStable: false
|
|
1333
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1334
|
+
rawvalue: Instance<java.lang.Class>
|
|
1335
|
+
stableDimension: 0
|
|
1336
|
+
stamp: a!# Ljava/lang/Class;
|
|
1337
|
+
stampKind: a -
|
|
1338
|
+
value: Object[Instance<java.lang.Class>]
|
|
1339
|
+
=== Inputs ===
|
|
1340
|
+
=== Succesors ===
|
|
1341
|
+
=== Usages ===
|
|
1342
|
+
v99 j82
|
|
1343
|
+
=== Predecessor ===
|
|
1344
|
+
- >@ <|@
|
|
1345
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1346
|
+
f <@~|@floating>@ <|@
|
|
1347
|
+
tid v99 <|@
|
|
1348
|
+
result [v3|QWORD[.] + 116] <|@
|
|
1349
|
+
d <@d|@=== Debug Properties ===
|
|
1350
|
+
displacement: 116
|
|
1351
|
+
scale: Times1
|
|
1352
|
+
stamp: void*
|
|
1353
|
+
=== Inputs ===
|
|
1354
|
+
base: a27
|
|
1355
|
+
index: -
|
|
1356
|
+
=== Succesors ===
|
|
1357
|
+
=== Usages ===
|
|
1358
|
+
v31
|
|
1359
|
+
=== Predecessor ===
|
|
1360
|
+
- >@ <|@
|
|
1361
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a27 index: - <|@ <|@
|
|
1362
|
+
f <@~|@floating>@ <|@
|
|
1363
|
+
tid a28 <|@
|
|
1364
|
+
result v4|DWORD[.] <|@
|
|
1365
|
+
d <@d|@=== Debug Properties ===
|
|
1366
|
+
encoding: base: 0 shift: 3
|
|
1367
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1368
|
+
op: Compress
|
|
1369
|
+
stamp: n! Ljava/lang/Throwable;
|
|
1370
|
+
=== Inputs ===
|
|
1371
|
+
value: a43
|
|
1372
|
+
=== Succesors ===
|
|
1373
|
+
=== Usages ===
|
|
1374
|
+
v31
|
|
1375
|
+
=== Predecessor ===
|
|
1376
|
+
- >@ <|@
|
|
1377
|
+
instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: a43 <|@ <|@
|
|
1378
|
+
f <@#|@fixed with next>@ <|@
|
|
1379
|
+
tid v31 <|@
|
|
1380
|
+
d <@d|@=== Debug Properties ===
|
|
1381
|
+
barrierType: FIELD
|
|
1382
|
+
location: JavaExamples.objectField
|
|
1383
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1384
|
+
nullCheck: false
|
|
1385
|
+
stamp: void
|
|
1386
|
+
volatileAccess: true
|
|
1387
|
+
=== Inputs ===
|
|
1388
|
+
stateBefore: -
|
|
1389
|
+
guard: -
|
|
1390
|
+
address: v99
|
|
1391
|
+
value: a28
|
|
1392
|
+
stateAfter: -
|
|
1393
|
+
lastLocationAccess: -
|
|
1394
|
+
=== Succesors ===
|
|
1395
|
+
next: v106
|
|
1396
|
+
=== Usages ===
|
|
1397
|
+
=== Predecessor ===
|
|
1398
|
+
v105 >@ <|@
|
|
1399
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v99 value: a28 stateAfter: - lastLocationAccess: - #next: v106 <|@ <|@
|
|
1400
|
+
f <@#|@fixed with next>@ <|@
|
|
1401
|
+
tid v106 <|@
|
|
1402
|
+
d <@d|@=== Debug Properties ===
|
|
1403
|
+
barriers: 12
|
|
1404
|
+
location: ANY_LOCATION
|
|
1405
|
+
stamp: void
|
|
1406
|
+
=== Inputs ===
|
|
1407
|
+
=== Succesors ===
|
|
1408
|
+
next: j82
|
|
1409
|
+
=== Usages ===
|
|
1410
|
+
=== Predecessor ===
|
|
1411
|
+
v31 >@ <|@
|
|
1412
|
+
instruction <@Membar|@org.graalvm.compiler.nodes.extended.MembarNode>@ #next: j82 <|@ <|@
|
|
1413
|
+
f <@#|@fixed with next>@ <|@
|
|
1414
|
+
tid j82 <|@
|
|
1415
|
+
result v3|QWORD[.] <|@
|
|
1416
|
+
d <@d|@=== Debug Properties ===
|
|
1417
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
1418
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1419
|
+
stamp: i64
|
|
1420
|
+
trackedPointer: true
|
|
1421
|
+
=== Inputs ===
|
|
1422
|
+
input: a27
|
|
1423
|
+
=== Succesors ===
|
|
1424
|
+
next: v89
|
|
1425
|
+
=== Usages ===
|
|
1426
|
+
j85
|
|
1427
|
+
=== Predecessor ===
|
|
1428
|
+
v106 >@ <|@
|
|
1429
|
+
instruction <@WordCast|@org.graalvm.compiler.word.WordCastNode>@ input: a27 #next: v89 <|@ <|@
|
|
1430
|
+
f <@~|@floating>@ <|@
|
|
1431
|
+
tid i84 <|@
|
|
1432
|
+
result int[9|0x9] <|@
|
|
1433
|
+
d <@d|@=== Debug Properties ===
|
|
1434
|
+
isDefaultStable: false
|
|
1435
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1436
|
+
rawvalue: 9
|
|
1437
|
+
stableDimension: 0
|
|
1438
|
+
stamp: i32 [9] ⇊0000000000000009 ⇈0000000000000009
|
|
1439
|
+
stampKind: i32
|
|
1440
|
+
value: int[9|0x9]
|
|
1441
|
+
=== Inputs ===
|
|
1442
|
+
=== Succesors ===
|
|
1443
|
+
=== Usages ===
|
|
1444
|
+
j85
|
|
1445
|
+
=== Predecessor ===
|
|
1446
|
+
- >@ <|@
|
|
1447
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1448
|
+
f <@~|@floating>@ <|@
|
|
1449
|
+
tid j85 <|@
|
|
1450
|
+
result v5|QWORD[*] <|@
|
|
1451
|
+
d <@d|@=== Debug Properties ===
|
|
1452
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1453
|
+
stamp: i64 [0 - 36028797018963967] ⇈007fffffffffffff
|
|
1454
|
+
=== Inputs ===
|
|
1455
|
+
x: j82
|
|
1456
|
+
y: i84
|
|
1457
|
+
=== Succesors ===
|
|
1458
|
+
=== Usages ===
|
|
1459
|
+
v104
|
|
1460
|
+
=== Predecessor ===
|
|
1461
|
+
- >@ <|@
|
|
1462
|
+
instruction <@>>>|@org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode>@ x: j82 y: i84 <|@ <|@
|
|
1463
|
+
f <@~|@floating>@ <|@
|
|
1464
|
+
tid j93 <|@
|
|
1465
|
+
result v6|QWORD <|@
|
|
1466
|
+
d <@d|@=== Debug Properties ===
|
|
1467
|
+
isDefaultStable: false
|
|
1468
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
1469
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1470
|
+
rawvalue: 4531113984
|
|
1471
|
+
stableDimension: 0
|
|
1472
|
+
stamp: i64 [4531113984] ⇊000000010e135000 ⇈000000010e135000
|
|
1473
|
+
stampKind: i64
|
|
1474
|
+
value: long[4531113984|0x10e135000]
|
|
1475
|
+
=== Inputs ===
|
|
1476
|
+
=== Succesors ===
|
|
1477
|
+
=== Usages ===
|
|
1478
|
+
v104
|
|
1479
|
+
=== Predecessor ===
|
|
1480
|
+
- >@ <|@
|
|
1481
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1482
|
+
f <@~|@floating>@ <|@
|
|
1483
|
+
tid v104 <|@
|
|
1484
|
+
result [v5|QWORD[*] + v6|QWORD * 1] <|@
|
|
1485
|
+
d <@d|@=== Debug Properties ===
|
|
1486
|
+
displacement: 0
|
|
1487
|
+
scale: Times1
|
|
1488
|
+
stamp: void*
|
|
1489
|
+
=== Inputs ===
|
|
1490
|
+
base: j85
|
|
1491
|
+
index: j93
|
|
1492
|
+
=== Succesors ===
|
|
1493
|
+
=== Usages ===
|
|
1494
|
+
v89
|
|
1495
|
+
=== Predecessor ===
|
|
1496
|
+
- >@ <|@
|
|
1497
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: j85 index: j93 <|@ <|@
|
|
1498
|
+
f <@~|@floating>@ <|@
|
|
1499
|
+
tid i90 <|@
|
|
1500
|
+
result byte[0|0x0] <|@
|
|
1501
|
+
d <@d|@=== Debug Properties ===
|
|
1502
|
+
isDefaultStable: false
|
|
1503
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
1504
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1505
|
+
rawvalue: 0
|
|
1506
|
+
stableDimension: 0
|
|
1507
|
+
stamp: i8 [0] ⇈0000000000000000
|
|
1508
|
+
stampKind: i8
|
|
1509
|
+
value: byte[0|0x0]
|
|
1510
|
+
=== Inputs ===
|
|
1511
|
+
=== Succesors ===
|
|
1512
|
+
=== Usages ===
|
|
1513
|
+
v89
|
|
1514
|
+
=== Predecessor ===
|
|
1515
|
+
- >@ <|@
|
|
1516
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
1517
|
+
f <@#|@fixed with next>@ <|@
|
|
1518
|
+
tid v89 <|@
|
|
1519
|
+
d <@d|@=== Debug Properties ===
|
|
1520
|
+
barrierType: NONE
|
|
1521
|
+
location: GC-Card
|
|
1522
|
+
nodeSourcePosition: at org.graalvm.compiler.replacements.gc.SerialWriteBarrierSnippets.serialImpreciseWriteBarrier(SerialWriteBarrierSnippets.java:60) [bci: 0]
|
|
1523
|
+
at JavaExamples.exampleCatch(JavaExamples.java:280) [bci: 8]
|
|
1524
|
+
nullCheck: false
|
|
1525
|
+
stamp: void
|
|
1526
|
+
volatileAccess: false
|
|
1527
|
+
=== Inputs ===
|
|
1528
|
+
stateBefore: -
|
|
1529
|
+
guard: -
|
|
1530
|
+
address: v104
|
|
1531
|
+
value: i90
|
|
1532
|
+
stateAfter: -
|
|
1533
|
+
lastLocationAccess: -
|
|
1534
|
+
=== Succesors ===
|
|
1535
|
+
next: v24
|
|
1536
|
+
=== Usages ===
|
|
1537
|
+
=== Predecessor ===
|
|
1538
|
+
j82 >@ <|@
|
|
1539
|
+
instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: - guard: - address: v104 value: i90 stateAfter: - lastLocationAccess: - #next: v24 <|@ <|@
|
|
1540
|
+
f <@*|@fixed>@ <|@
|
|
1541
|
+
tid v24 <|@
|
|
1542
|
+
d <@d|@=== Debug Properties ===
|
|
1543
|
+
nodeSourcePosition: at JavaExamples.exampleCatch(JavaExamples.java:282) [bci: 11]
|
|
1544
|
+
stamp: void
|
|
1545
|
+
=== Inputs ===
|
|
1546
|
+
result: -
|
|
1547
|
+
memoryMap: -
|
|
1548
|
+
=== Succesors ===
|
|
1549
|
+
=== Usages ===
|
|
1550
|
+
=== Predecessor ===
|
|
1551
|
+
v89 >@ <|@
|
|
1552
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
|
|
1553
|
+
end_IR
|
|
1554
|
+
begin_IR
|
|
1555
|
+
LIR
|
|
1556
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1557
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1558
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
1559
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
1560
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1561
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
1562
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
1563
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
1564
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1565
|
+
end_IR
|
|
1566
|
+
end_block
|
|
1567
|
+
begin_block
|
|
1568
|
+
name "B4"
|
|
1569
|
+
from_bci -1
|
|
1570
|
+
to_bci -1
|
|
1571
|
+
predecessors "B2"
|
|
1572
|
+
successors
|
|
1573
|
+
xhandlers
|
|
1574
|
+
flags
|
|
1575
|
+
probability 4527516983983565041
|
|
1576
|
+
begin_IR
|
|
1577
|
+
HIR
|
|
1578
|
+
f <@#|@fixed with next>@ <|@
|
|
1579
|
+
tid v12 <|@
|
|
1580
|
+
d <@d|@=== Debug Properties ===
|
|
1581
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -4]
|
|
1582
|
+
stamp: void
|
|
1583
|
+
withSpeculationFence: false
|
|
1584
|
+
=== Inputs ===
|
|
1585
|
+
=== Succesors ===
|
|
1586
|
+
next: v23
|
|
1587
|
+
=== Usages ===
|
|
1588
|
+
=== Predecessor ===
|
|
1589
|
+
v14 >@ <|@
|
|
1590
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v23 <|@ <|@
|
|
1591
|
+
f <@*|@fixed>@ <|@
|
|
1592
|
+
tid v23 <|@
|
|
1593
|
+
d <@d|@=== Debug Properties ===
|
|
1594
|
+
nodeSourcePosition: at JavaExamples.exampleCatch() [bci: -1]
|
|
1595
|
+
stamp: void
|
|
1596
|
+
=== Inputs ===
|
|
1597
|
+
exception: a43
|
|
1598
|
+
=== Succesors ===
|
|
1599
|
+
=== Usages ===
|
|
1600
|
+
=== Predecessor ===
|
|
1601
|
+
v12 >@ <|@
|
|
1602
|
+
instruction <@Unwind|@org.graalvm.compiler.nodes.UnwindNode>@ exception: a43 <|@ <|@
|
|
1603
|
+
end_IR
|
|
1604
|
+
begin_IR
|
|
1605
|
+
LIR
|
|
1606
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1607
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1608
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
1609
|
+
end_IR
|
|
1610
|
+
end_block
|
|
1611
|
+
end_cfg
|
|
1612
|
+
begin_cfg
|
|
1613
|
+
name "After ConstantLoadOptimization"
|
|
1614
|
+
begin_block
|
|
1615
|
+
name "B0"
|
|
1616
|
+
from_bci -1
|
|
1617
|
+
to_bci -1
|
|
1618
|
+
predecessors
|
|
1619
|
+
successors "B1"
|
|
1620
|
+
xhandlers"B2"
|
|
1621
|
+
flags
|
|
1622
|
+
probability 4607182418800017408
|
|
1623
|
+
begin_IR
|
|
1624
|
+
LIR
|
|
1625
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1626
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1627
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
1628
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1629
|
+
locals: -
|
|
1630
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
1631
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
1632
|
+
end_IR
|
|
1633
|
+
end_block
|
|
1634
|
+
begin_block
|
|
1635
|
+
name "B1"
|
|
1636
|
+
from_bci -1
|
|
1637
|
+
to_bci -1
|
|
1638
|
+
predecessors "B0"
|
|
1639
|
+
successors
|
|
1640
|
+
xhandlers
|
|
1641
|
+
flags
|
|
1642
|
+
probability 4607182328728024861
|
|
1643
|
+
begin_IR
|
|
1644
|
+
LIR
|
|
1645
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1646
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1647
|
+
end_IR
|
|
1648
|
+
end_block
|
|
1649
|
+
begin_block
|
|
1650
|
+
name "B2"
|
|
1651
|
+
from_bci -1
|
|
1652
|
+
to_bci -1
|
|
1653
|
+
predecessors "B0"
|
|
1654
|
+
successors "B3" "B4"
|
|
1655
|
+
xhandlers
|
|
1656
|
+
flags "ex"
|
|
1657
|
+
probability 4532020583610935537
|
|
1658
|
+
begin_IR
|
|
1659
|
+
LIR
|
|
1660
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1661
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
1662
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
1663
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
1664
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1665
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
1666
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
1667
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
1668
|
+
end_IR
|
|
1669
|
+
end_block
|
|
1670
|
+
begin_block
|
|
1671
|
+
name "B4"
|
|
1672
|
+
from_bci -1
|
|
1673
|
+
to_bci -1
|
|
1674
|
+
predecessors "B2"
|
|
1675
|
+
successors
|
|
1676
|
+
xhandlers
|
|
1677
|
+
flags
|
|
1678
|
+
probability 4527516983983565041
|
|
1679
|
+
begin_IR
|
|
1680
|
+
LIR
|
|
1681
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1682
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1683
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
1684
|
+
end_IR
|
|
1685
|
+
end_block
|
|
1686
|
+
begin_block
|
|
1687
|
+
name "B3"
|
|
1688
|
+
from_bci -1
|
|
1689
|
+
to_bci -1
|
|
1690
|
+
predecessors "B2"
|
|
1691
|
+
successors
|
|
1692
|
+
xhandlers
|
|
1693
|
+
flags
|
|
1694
|
+
probability 4527516983983565041
|
|
1695
|
+
begin_IR
|
|
1696
|
+
LIR
|
|
1697
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1698
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1699
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
1700
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
1701
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1702
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
1703
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
1704
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
1705
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1706
|
+
end_IR
|
|
1707
|
+
end_block
|
|
1708
|
+
end_cfg
|
|
1709
|
+
begin_bytecodes
|
|
1710
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
1711
|
+
3: goto 11
|
|
1712
|
+
6: astore_0
|
|
1713
|
+
7: aload_0
|
|
1714
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
1715
|
+
11: return
|
|
1716
|
+
<|@
|
|
1717
|
+
end_bytecodes
|
|
1718
|
+
begin_cfg
|
|
1719
|
+
name "After SaveCalleeSaveRegisters"
|
|
1720
|
+
begin_block
|
|
1721
|
+
name "B0"
|
|
1722
|
+
from_bci -1
|
|
1723
|
+
to_bci -1
|
|
1724
|
+
predecessors
|
|
1725
|
+
successors "B1"
|
|
1726
|
+
xhandlers"B2"
|
|
1727
|
+
flags
|
|
1728
|
+
probability 4607182418800017408
|
|
1729
|
+
begin_IR
|
|
1730
|
+
LIR
|
|
1731
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1732
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1733
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
1734
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1735
|
+
locals: -
|
|
1736
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
1737
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
1738
|
+
end_IR
|
|
1739
|
+
end_block
|
|
1740
|
+
begin_block
|
|
1741
|
+
name "B1"
|
|
1742
|
+
from_bci -1
|
|
1743
|
+
to_bci -1
|
|
1744
|
+
predecessors "B0"
|
|
1745
|
+
successors
|
|
1746
|
+
xhandlers
|
|
1747
|
+
flags
|
|
1748
|
+
probability 4607182328728024861
|
|
1749
|
+
begin_IR
|
|
1750
|
+
LIR
|
|
1751
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1752
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1753
|
+
end_IR
|
|
1754
|
+
end_block
|
|
1755
|
+
begin_block
|
|
1756
|
+
name "B2"
|
|
1757
|
+
from_bci -1
|
|
1758
|
+
to_bci -1
|
|
1759
|
+
predecessors "B0"
|
|
1760
|
+
successors "B3" "B4"
|
|
1761
|
+
xhandlers
|
|
1762
|
+
flags "ex"
|
|
1763
|
+
probability 4532020583610935537
|
|
1764
|
+
begin_IR
|
|
1765
|
+
LIR
|
|
1766
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1767
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
1768
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
1769
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
1770
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1771
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
1772
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
1773
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
1774
|
+
end_IR
|
|
1775
|
+
end_block
|
|
1776
|
+
begin_block
|
|
1777
|
+
name "B4"
|
|
1778
|
+
from_bci -1
|
|
1779
|
+
to_bci -1
|
|
1780
|
+
predecessors "B2"
|
|
1781
|
+
successors
|
|
1782
|
+
xhandlers
|
|
1783
|
+
flags
|
|
1784
|
+
probability 4527516983983565041
|
|
1785
|
+
begin_IR
|
|
1786
|
+
LIR
|
|
1787
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1788
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1789
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
1790
|
+
end_IR
|
|
1791
|
+
end_block
|
|
1792
|
+
begin_block
|
|
1793
|
+
name "B3"
|
|
1794
|
+
from_bci -1
|
|
1795
|
+
to_bci -1
|
|
1796
|
+
predecessors "B2"
|
|
1797
|
+
successors
|
|
1798
|
+
xhandlers
|
|
1799
|
+
flags
|
|
1800
|
+
probability 4527516983983565041
|
|
1801
|
+
begin_IR
|
|
1802
|
+
LIR
|
|
1803
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1804
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1805
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
1806
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
1807
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1808
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
1809
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
1810
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
1811
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1812
|
+
end_IR
|
|
1813
|
+
end_block
|
|
1814
|
+
end_cfg
|
|
1815
|
+
begin_bytecodes
|
|
1816
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
1817
|
+
3: goto 11
|
|
1818
|
+
6: astore_0
|
|
1819
|
+
7: aload_0
|
|
1820
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
1821
|
+
11: return
|
|
1822
|
+
<|@
|
|
1823
|
+
end_bytecodes
|
|
1824
|
+
begin_cfg
|
|
1825
|
+
name "After PreAllocationOptimizationStage"
|
|
1826
|
+
begin_block
|
|
1827
|
+
name "B0"
|
|
1828
|
+
from_bci -1
|
|
1829
|
+
to_bci -1
|
|
1830
|
+
predecessors
|
|
1831
|
+
successors "B1"
|
|
1832
|
+
xhandlers"B2"
|
|
1833
|
+
flags
|
|
1834
|
+
probability 4607182418800017408
|
|
1835
|
+
begin_IR
|
|
1836
|
+
LIR
|
|
1837
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1838
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1839
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
1840
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1841
|
+
locals: -
|
|
1842
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
1843
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
1844
|
+
end_IR
|
|
1845
|
+
end_block
|
|
1846
|
+
begin_block
|
|
1847
|
+
name "B1"
|
|
1848
|
+
from_bci -1
|
|
1849
|
+
to_bci -1
|
|
1850
|
+
predecessors "B0"
|
|
1851
|
+
successors
|
|
1852
|
+
xhandlers
|
|
1853
|
+
flags
|
|
1854
|
+
probability 4607182328728024861
|
|
1855
|
+
begin_IR
|
|
1856
|
+
LIR
|
|
1857
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1858
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1859
|
+
end_IR
|
|
1860
|
+
end_block
|
|
1861
|
+
begin_block
|
|
1862
|
+
name "B2"
|
|
1863
|
+
from_bci -1
|
|
1864
|
+
to_bci -1
|
|
1865
|
+
predecessors "B0"
|
|
1866
|
+
successors "B3" "B4"
|
|
1867
|
+
xhandlers
|
|
1868
|
+
flags "ex"
|
|
1869
|
+
probability 4532020583610935537
|
|
1870
|
+
begin_IR
|
|
1871
|
+
LIR
|
|
1872
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1873
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
1874
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
1875
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
1876
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1877
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
1878
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
1879
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
1880
|
+
end_IR
|
|
1881
|
+
end_block
|
|
1882
|
+
begin_block
|
|
1883
|
+
name "B4"
|
|
1884
|
+
from_bci -1
|
|
1885
|
+
to_bci -1
|
|
1886
|
+
predecessors "B2"
|
|
1887
|
+
successors
|
|
1888
|
+
xhandlers
|
|
1889
|
+
flags
|
|
1890
|
+
probability 4527516983983565041
|
|
1891
|
+
begin_IR
|
|
1892
|
+
LIR
|
|
1893
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1894
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1895
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
1896
|
+
end_IR
|
|
1897
|
+
end_block
|
|
1898
|
+
begin_block
|
|
1899
|
+
name "B3"
|
|
1900
|
+
from_bci -1
|
|
1901
|
+
to_bci -1
|
|
1902
|
+
predecessors "B2"
|
|
1903
|
+
successors
|
|
1904
|
+
xhandlers
|
|
1905
|
+
flags
|
|
1906
|
+
probability 4527516983983565041
|
|
1907
|
+
begin_IR
|
|
1908
|
+
LIR
|
|
1909
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1910
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
1911
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
1912
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
1913
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
1914
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
1915
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
1916
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
1917
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1918
|
+
end_IR
|
|
1919
|
+
end_block
|
|
1920
|
+
end_cfg
|
|
1921
|
+
begin_bytecodes
|
|
1922
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
1923
|
+
3: goto 11
|
|
1924
|
+
6: astore_0
|
|
1925
|
+
7: aload_0
|
|
1926
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
1927
|
+
11: return
|
|
1928
|
+
<|@
|
|
1929
|
+
end_bytecodes
|
|
1930
|
+
begin_cfg
|
|
1931
|
+
name "After MarkBasePointers"
|
|
1932
|
+
begin_block
|
|
1933
|
+
name "B0"
|
|
1934
|
+
from_bci -1
|
|
1935
|
+
to_bci -1
|
|
1936
|
+
predecessors
|
|
1937
|
+
successors "B1"
|
|
1938
|
+
xhandlers"B2"
|
|
1939
|
+
flags
|
|
1940
|
+
probability 4607182418800017408
|
|
1941
|
+
begin_IR
|
|
1942
|
+
LIR
|
|
1943
|
+
nr -1 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1944
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1945
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
1946
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
1947
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
1948
|
+
locals: -
|
|
1949
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
1950
|
+
nr -1 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
1951
|
+
end_IR
|
|
1952
|
+
end_block
|
|
1953
|
+
begin_block
|
|
1954
|
+
name "B1"
|
|
1955
|
+
from_bci -1
|
|
1956
|
+
to_bci -1
|
|
1957
|
+
predecessors "B0"
|
|
1958
|
+
successors
|
|
1959
|
+
xhandlers
|
|
1960
|
+
flags
|
|
1961
|
+
probability 4607182328728024861
|
|
1962
|
+
begin_IR
|
|
1963
|
+
LIR
|
|
1964
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1965
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
1966
|
+
end_IR
|
|
1967
|
+
end_block
|
|
1968
|
+
begin_block
|
|
1969
|
+
name "B2"
|
|
1970
|
+
from_bci -1
|
|
1971
|
+
to_bci -1
|
|
1972
|
+
predecessors "B0"
|
|
1973
|
+
successors "B3" "B4"
|
|
1974
|
+
xhandlers
|
|
1975
|
+
flags "ex"
|
|
1976
|
+
probability 4532020583610935537
|
|
1977
|
+
begin_IR
|
|
1978
|
+
LIR
|
|
1979
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1980
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
1981
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
1982
|
+
nr -1 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
1983
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1984
|
+
nr -1 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
1985
|
+
nr -1 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
1986
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
1987
|
+
end_IR
|
|
1988
|
+
end_block
|
|
1989
|
+
begin_block
|
|
1990
|
+
name "B4"
|
|
1991
|
+
from_bci -1
|
|
1992
|
+
to_bci -1
|
|
1993
|
+
predecessors "B2"
|
|
1994
|
+
successors
|
|
1995
|
+
xhandlers
|
|
1996
|
+
flags
|
|
1997
|
+
probability 4527516983983565041
|
|
1998
|
+
begin_IR
|
|
1999
|
+
LIR
|
|
2000
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2001
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2002
|
+
nr -1 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2003
|
+
end_IR
|
|
2004
|
+
end_block
|
|
2005
|
+
begin_block
|
|
2006
|
+
name "B3"
|
|
2007
|
+
from_bci -1
|
|
2008
|
+
to_bci -1
|
|
2009
|
+
predecessors "B2"
|
|
2010
|
+
successors
|
|
2011
|
+
xhandlers
|
|
2012
|
+
flags
|
|
2013
|
+
probability 4527516983983565041
|
|
2014
|
+
begin_IR
|
|
2015
|
+
LIR
|
|
2016
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2017
|
+
nr -1 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2018
|
+
nr -1 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2019
|
+
nr -1 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2020
|
+
nr -1 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2021
|
+
nr -1 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2022
|
+
nr -1 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2023
|
+
nr -1 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2024
|
+
nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2025
|
+
end_IR
|
|
2026
|
+
end_block
|
|
2027
|
+
end_cfg
|
|
2028
|
+
begin_bytecodes
|
|
2029
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2030
|
+
3: goto 11
|
|
2031
|
+
6: astore_0
|
|
2032
|
+
7: aload_0
|
|
2033
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2034
|
+
11: return
|
|
2035
|
+
<|@
|
|
2036
|
+
end_bytecodes
|
|
2037
|
+
begin_cfg
|
|
2038
|
+
name "Before register allocation"
|
|
2039
|
+
begin_block
|
|
2040
|
+
name "B0"
|
|
2041
|
+
from_bci -1
|
|
2042
|
+
to_bci -1
|
|
2043
|
+
predecessors
|
|
2044
|
+
successors "B1"
|
|
2045
|
+
xhandlers"B2"
|
|
2046
|
+
flags
|
|
2047
|
+
probability 4607182418800017408
|
|
2048
|
+
begin_IR
|
|
2049
|
+
LIR
|
|
2050
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2051
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2052
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2053
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2054
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2055
|
+
locals: -
|
|
2056
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2057
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2058
|
+
end_IR
|
|
2059
|
+
end_block
|
|
2060
|
+
begin_block
|
|
2061
|
+
name "B1"
|
|
2062
|
+
from_bci -1
|
|
2063
|
+
to_bci -1
|
|
2064
|
+
predecessors "B0"
|
|
2065
|
+
successors
|
|
2066
|
+
xhandlers
|
|
2067
|
+
flags
|
|
2068
|
+
probability 4607182328728024861
|
|
2069
|
+
begin_IR
|
|
2070
|
+
LIR
|
|
2071
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2072
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2073
|
+
end_IR
|
|
2074
|
+
end_block
|
|
2075
|
+
begin_block
|
|
2076
|
+
name "B2"
|
|
2077
|
+
from_bci -1
|
|
2078
|
+
to_bci -1
|
|
2079
|
+
predecessors "B0"
|
|
2080
|
+
successors "B3" "B4"
|
|
2081
|
+
xhandlers
|
|
2082
|
+
flags "ex"
|
|
2083
|
+
probability 4532020583610935537
|
|
2084
|
+
begin_IR
|
|
2085
|
+
LIR
|
|
2086
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2087
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2088
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2089
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2090
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2091
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2092
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2093
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2094
|
+
end_IR
|
|
2095
|
+
end_block
|
|
2096
|
+
begin_block
|
|
2097
|
+
name "B4"
|
|
2098
|
+
from_bci -1
|
|
2099
|
+
to_bci -1
|
|
2100
|
+
predecessors "B2"
|
|
2101
|
+
successors
|
|
2102
|
+
xhandlers
|
|
2103
|
+
flags
|
|
2104
|
+
probability 4527516983983565041
|
|
2105
|
+
begin_IR
|
|
2106
|
+
LIR
|
|
2107
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2108
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2109
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2110
|
+
end_IR
|
|
2111
|
+
end_block
|
|
2112
|
+
begin_block
|
|
2113
|
+
name "B3"
|
|
2114
|
+
from_bci -1
|
|
2115
|
+
to_bci -1
|
|
2116
|
+
predecessors "B2"
|
|
2117
|
+
successors
|
|
2118
|
+
xhandlers
|
|
2119
|
+
flags
|
|
2120
|
+
probability 4527516983983565041
|
|
2121
|
+
begin_IR
|
|
2122
|
+
LIR
|
|
2123
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2124
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2125
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2126
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2127
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2128
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2129
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2130
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2131
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2132
|
+
end_IR
|
|
2133
|
+
end_block
|
|
2134
|
+
end_cfg
|
|
2135
|
+
begin_bytecodes
|
|
2136
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2137
|
+
3: goto 11
|
|
2138
|
+
6: astore_0
|
|
2139
|
+
7: aload_0
|
|
2140
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2141
|
+
11: return
|
|
2142
|
+
<|@
|
|
2143
|
+
end_bytecodes
|
|
2144
|
+
begin_cfg
|
|
2145
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
2146
|
+
begin_block
|
|
2147
|
+
name "B0"
|
|
2148
|
+
from_bci -1
|
|
2149
|
+
to_bci -1
|
|
2150
|
+
predecessors
|
|
2151
|
+
successors "B1"
|
|
2152
|
+
xhandlers"B2"
|
|
2153
|
+
flags
|
|
2154
|
+
probability 4607182418800017408
|
|
2155
|
+
begin_IR
|
|
2156
|
+
LIR
|
|
2157
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2158
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2159
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2160
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2161
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2162
|
+
locals: -
|
|
2163
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2164
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2165
|
+
end_IR
|
|
2166
|
+
end_block
|
|
2167
|
+
begin_block
|
|
2168
|
+
name "B1"
|
|
2169
|
+
from_bci -1
|
|
2170
|
+
to_bci -1
|
|
2171
|
+
predecessors "B0"
|
|
2172
|
+
successors
|
|
2173
|
+
xhandlers
|
|
2174
|
+
flags
|
|
2175
|
+
probability 4607182328728024861
|
|
2176
|
+
begin_IR
|
|
2177
|
+
LIR
|
|
2178
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2179
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2180
|
+
end_IR
|
|
2181
|
+
end_block
|
|
2182
|
+
begin_block
|
|
2183
|
+
name "B2"
|
|
2184
|
+
from_bci -1
|
|
2185
|
+
to_bci -1
|
|
2186
|
+
predecessors "B0"
|
|
2187
|
+
successors "B3" "B4"
|
|
2188
|
+
xhandlers
|
|
2189
|
+
flags "ex"
|
|
2190
|
+
probability 4532020583610935537
|
|
2191
|
+
begin_IR
|
|
2192
|
+
LIR
|
|
2193
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2194
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2195
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2196
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2197
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2198
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2199
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2200
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2201
|
+
end_IR
|
|
2202
|
+
end_block
|
|
2203
|
+
begin_block
|
|
2204
|
+
name "B4"
|
|
2205
|
+
from_bci -1
|
|
2206
|
+
to_bci -1
|
|
2207
|
+
predecessors "B2"
|
|
2208
|
+
successors
|
|
2209
|
+
xhandlers
|
|
2210
|
+
flags
|
|
2211
|
+
probability 4527516983983565041
|
|
2212
|
+
begin_IR
|
|
2213
|
+
LIR
|
|
2214
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2215
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2216
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2217
|
+
end_IR
|
|
2218
|
+
end_block
|
|
2219
|
+
begin_block
|
|
2220
|
+
name "B3"
|
|
2221
|
+
from_bci -1
|
|
2222
|
+
to_bci -1
|
|
2223
|
+
predecessors "B2"
|
|
2224
|
+
successors
|
|
2225
|
+
xhandlers
|
|
2226
|
+
flags
|
|
2227
|
+
probability 4527516983983565041
|
|
2228
|
+
begin_IR
|
|
2229
|
+
LIR
|
|
2230
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2231
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2232
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2233
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2234
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2235
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2236
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2237
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2238
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2239
|
+
end_IR
|
|
2240
|
+
end_block
|
|
2241
|
+
end_cfg
|
|
2242
|
+
begin_bytecodes
|
|
2243
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2244
|
+
3: goto 11
|
|
2245
|
+
6: astore_0
|
|
2246
|
+
7: aload_0
|
|
2247
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2248
|
+
11: return
|
|
2249
|
+
<|@
|
|
2250
|
+
end_bytecodes
|
|
2251
|
+
begin_intervals
|
|
2252
|
+
name "Before register allocation"
|
|
2253
|
+
rax|- fixed "[rax|-]" rax|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2254
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2255
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2256
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2257
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[6, 7[ "NoSpillStore"
|
|
2258
|
+
rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[6, 7[[32, 34[ "NoSpillStore"
|
|
2259
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2260
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2261
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2262
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2263
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2264
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2265
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2266
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2267
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2268
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2269
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2270
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2271
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2272
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2273
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2274
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2275
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2276
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2277
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2278
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2279
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2280
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2281
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2282
|
+
v0|q QWORD "[v0|q]" v0|q -1 [16, 32[[36, 40[16 MustHaveRegister 22 MustHaveRegister 32 ShouldHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
2283
|
+
v1|d DWORD "[v1|d]" v1|d -1 [22, 26[22 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2284
|
+
v2|q QWORD "[v2|q]" v2|q -1 [24, 26[24 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2285
|
+
v3|q QWORD "[v3|q]" v3|q -1 [38, 46[38 MustHaveRegister 42 MustHaveRegister 46 MustHaveRegister "NoSpillStore"
|
|
2286
|
+
v4|d DWORD "[v4|d]" v4|d v0|q [40, 42[40 MustHaveRegister 42 MustHaveRegister "NoSpillStore"
|
|
2287
|
+
v5|q QWORD "[v5|q]" v5|q v3|q [46, 50[46 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2288
|
+
v6|q QWORD "[v6|q]" v6|q -1 [48, 50[48 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2289
|
+
end_intervals
|
|
2290
|
+
begin_intervals
|
|
2291
|
+
name "After register allocation"
|
|
2292
|
+
rax|- fixed "[rax|-]" rax|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2293
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2294
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2295
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2296
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[6, 7[ "NoSpillStore"
|
|
2297
|
+
rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[6, 7[[32, 34[ "NoSpillStore"
|
|
2298
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2299
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2300
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2301
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2302
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2303
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2304
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2305
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2306
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2307
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2308
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2309
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2310
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2311
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2312
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2313
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2314
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2315
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2316
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2317
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2318
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2319
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2320
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2321
|
+
v0|q QWORD "[r10|q]" v0|q -1 [16, 32[[36, 40[16 MustHaveRegister 22 MustHaveRegister 32 ShouldHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
2322
|
+
v1|d DWORD "[rsi|d]" v1|d -1 [22, 26[22 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2323
|
+
v2|q QWORD "[r11|q]" v2|q -1 [24, 26[24 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2324
|
+
v3|q QWORD "[r11|q]" v3|q -1 [38, 46[38 MustHaveRegister 42 MustHaveRegister 46 MustHaveRegister "NoSpillStore"
|
|
2325
|
+
v4|d DWORD "[r10|d]" v4|d v0|q [40, 42[40 MustHaveRegister 42 MustHaveRegister "NoSpillStore"
|
|
2326
|
+
v5|q QWORD "[r11|q]" v5|q v3|q [46, 50[46 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2327
|
+
v6|q QWORD "[r10|q]" v6|q -1 [48, 50[48 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2328
|
+
end_intervals
|
|
2329
|
+
begin_cfg
|
|
2330
|
+
name "After LinearScanRegisterAllocation"
|
|
2331
|
+
begin_block
|
|
2332
|
+
name "B0"
|
|
2333
|
+
from_bci -1
|
|
2334
|
+
to_bci -1
|
|
2335
|
+
predecessors
|
|
2336
|
+
successors "B1"
|
|
2337
|
+
xhandlers"B2"
|
|
2338
|
+
flags
|
|
2339
|
+
probability 4607182418800017408
|
|
2340
|
+
begin_IR
|
|
2341
|
+
LIR
|
|
2342
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2343
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2344
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2345
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2346
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2347
|
+
locals: -
|
|
2348
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2349
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2350
|
+
end_IR
|
|
2351
|
+
end_block
|
|
2352
|
+
begin_block
|
|
2353
|
+
name "B1"
|
|
2354
|
+
from_bci -1
|
|
2355
|
+
to_bci -1
|
|
2356
|
+
predecessors "B0"
|
|
2357
|
+
successors
|
|
2358
|
+
xhandlers
|
|
2359
|
+
flags
|
|
2360
|
+
probability 4607182328728024861
|
|
2361
|
+
begin_IR
|
|
2362
|
+
LIR
|
|
2363
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2364
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2365
|
+
end_IR
|
|
2366
|
+
end_block
|
|
2367
|
+
begin_block
|
|
2368
|
+
name "B2"
|
|
2369
|
+
from_bci -1
|
|
2370
|
+
to_bci -1
|
|
2371
|
+
predecessors "B0"
|
|
2372
|
+
successors "B3" "B4"
|
|
2373
|
+
xhandlers
|
|
2374
|
+
flags "ex"
|
|
2375
|
+
probability 4532020583610935537
|
|
2376
|
+
begin_IR
|
|
2377
|
+
LIR
|
|
2378
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2379
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2380
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2381
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2382
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2383
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2384
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2385
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2386
|
+
end_IR
|
|
2387
|
+
end_block
|
|
2388
|
+
begin_block
|
|
2389
|
+
name "B4"
|
|
2390
|
+
from_bci -1
|
|
2391
|
+
to_bci -1
|
|
2392
|
+
predecessors "B2"
|
|
2393
|
+
successors
|
|
2394
|
+
xhandlers
|
|
2395
|
+
flags
|
|
2396
|
+
probability 4527516983983565041
|
|
2397
|
+
begin_IR
|
|
2398
|
+
LIR
|
|
2399
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2400
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2401
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2402
|
+
end_IR
|
|
2403
|
+
end_block
|
|
2404
|
+
begin_block
|
|
2405
|
+
name "B3"
|
|
2406
|
+
from_bci -1
|
|
2407
|
+
to_bci -1
|
|
2408
|
+
predecessors "B2"
|
|
2409
|
+
successors
|
|
2410
|
+
xhandlers
|
|
2411
|
+
flags
|
|
2412
|
+
probability 4527516983983565041
|
|
2413
|
+
begin_IR
|
|
2414
|
+
LIR
|
|
2415
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2416
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2417
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2418
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2419
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2420
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2421
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2422
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2423
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2424
|
+
end_IR
|
|
2425
|
+
end_block
|
|
2426
|
+
end_cfg
|
|
2427
|
+
begin_bytecodes
|
|
2428
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2429
|
+
3: goto 11
|
|
2430
|
+
6: astore_0
|
|
2431
|
+
7: aload_0
|
|
2432
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2433
|
+
11: return
|
|
2434
|
+
<|@
|
|
2435
|
+
end_bytecodes
|
|
2436
|
+
begin_intervals
|
|
2437
|
+
name "After optimize spill position"
|
|
2438
|
+
rax|- fixed "[rax|-]" rax|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2439
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2440
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2441
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2442
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[6, 7[ "NoSpillStore"
|
|
2443
|
+
rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[6, 7[[32, 34[ "NoSpillStore"
|
|
2444
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2445
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2446
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2447
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2448
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2449
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2450
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2451
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2452
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2453
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2454
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2455
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2456
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2457
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2458
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2459
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2460
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2461
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2462
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2463
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2464
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2465
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2466
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2467
|
+
v0|q QWORD "[r10|q]" v0|q -1 [16, 32[[36, 40[16 MustHaveRegister 22 MustHaveRegister 32 ShouldHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
2468
|
+
v1|d DWORD "[rsi|d]" v1|d -1 [22, 26[22 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2469
|
+
v2|q QWORD "[r11|q]" v2|q -1 [24, 26[24 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2470
|
+
v3|q QWORD "[r11|q]" v3|q -1 [38, 46[38 MustHaveRegister 42 MustHaveRegister 46 MustHaveRegister "NoSpillStore"
|
|
2471
|
+
v4|d DWORD "[r10|d]" v4|d v0|q [40, 42[40 MustHaveRegister 42 MustHaveRegister "NoSpillStore"
|
|
2472
|
+
v5|q QWORD "[r11|q]" v5|q v3|q [46, 50[46 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2473
|
+
v6|q QWORD "[r10|q]" v6|q -1 [48, 50[48 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2474
|
+
end_intervals
|
|
2475
|
+
begin_cfg
|
|
2476
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
2477
|
+
begin_block
|
|
2478
|
+
name "B0"
|
|
2479
|
+
from_bci -1
|
|
2480
|
+
to_bci -1
|
|
2481
|
+
predecessors
|
|
2482
|
+
successors "B1"
|
|
2483
|
+
xhandlers"B2"
|
|
2484
|
+
flags
|
|
2485
|
+
probability 4607182418800017408
|
|
2486
|
+
begin_IR
|
|
2487
|
+
LIR
|
|
2488
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2489
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2490
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2491
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2492
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2493
|
+
locals: -
|
|
2494
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2495
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2496
|
+
end_IR
|
|
2497
|
+
end_block
|
|
2498
|
+
begin_block
|
|
2499
|
+
name "B1"
|
|
2500
|
+
from_bci -1
|
|
2501
|
+
to_bci -1
|
|
2502
|
+
predecessors "B0"
|
|
2503
|
+
successors
|
|
2504
|
+
xhandlers
|
|
2505
|
+
flags
|
|
2506
|
+
probability 4607182328728024861
|
|
2507
|
+
begin_IR
|
|
2508
|
+
LIR
|
|
2509
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2510
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2511
|
+
end_IR
|
|
2512
|
+
end_block
|
|
2513
|
+
begin_block
|
|
2514
|
+
name "B2"
|
|
2515
|
+
from_bci -1
|
|
2516
|
+
to_bci -1
|
|
2517
|
+
predecessors "B0"
|
|
2518
|
+
successors "B3" "B4"
|
|
2519
|
+
xhandlers
|
|
2520
|
+
flags "ex"
|
|
2521
|
+
probability 4532020583610935537
|
|
2522
|
+
begin_IR
|
|
2523
|
+
LIR
|
|
2524
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2525
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2526
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2527
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2528
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2529
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2530
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2531
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2532
|
+
end_IR
|
|
2533
|
+
end_block
|
|
2534
|
+
begin_block
|
|
2535
|
+
name "B4"
|
|
2536
|
+
from_bci -1
|
|
2537
|
+
to_bci -1
|
|
2538
|
+
predecessors "B2"
|
|
2539
|
+
successors
|
|
2540
|
+
xhandlers
|
|
2541
|
+
flags
|
|
2542
|
+
probability 4527516983983565041
|
|
2543
|
+
begin_IR
|
|
2544
|
+
LIR
|
|
2545
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2546
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2547
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2548
|
+
end_IR
|
|
2549
|
+
end_block
|
|
2550
|
+
begin_block
|
|
2551
|
+
name "B3"
|
|
2552
|
+
from_bci -1
|
|
2553
|
+
to_bci -1
|
|
2554
|
+
predecessors "B2"
|
|
2555
|
+
successors
|
|
2556
|
+
xhandlers
|
|
2557
|
+
flags
|
|
2558
|
+
probability 4527516983983565041
|
|
2559
|
+
begin_IR
|
|
2560
|
+
LIR
|
|
2561
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2562
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2563
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2564
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2565
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2566
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2567
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2568
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2569
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2570
|
+
end_IR
|
|
2571
|
+
end_block
|
|
2572
|
+
end_cfg
|
|
2573
|
+
begin_bytecodes
|
|
2574
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2575
|
+
3: goto 11
|
|
2576
|
+
6: astore_0
|
|
2577
|
+
7: aload_0
|
|
2578
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2579
|
+
11: return
|
|
2580
|
+
<|@
|
|
2581
|
+
end_bytecodes
|
|
2582
|
+
begin_intervals
|
|
2583
|
+
name "After resolve data flow"
|
|
2584
|
+
rax|- fixed "[rax|-]" rax|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2585
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2586
|
+
rdx|- fixed "[rdx|-]" rdx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2587
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2588
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[6, 7[ "NoSpillStore"
|
|
2589
|
+
rsi|q fixed "[rsi|q]" rsi|q v0|q [0, 1[[6, 7[[32, 34[ "NoSpillStore"
|
|
2590
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2591
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2592
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2593
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2594
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2595
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2596
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2597
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2598
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2599
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2600
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2601
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2602
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2603
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2604
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2605
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2606
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2607
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2608
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2609
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2610
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2611
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2612
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[6, 7[ "NoDefinitionFound"
|
|
2613
|
+
v0|q QWORD "[r10|q]" v0|q -1 [16, 32[[36, 40[16 MustHaveRegister 22 MustHaveRegister 32 ShouldHaveRegister 40 MustHaveRegister "NoSpillStore"
|
|
2614
|
+
v1|d DWORD "[rsi|d]" v1|d -1 [22, 26[22 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2615
|
+
v2|q QWORD "[r11|q]" v2|q -1 [24, 26[24 MustHaveRegister 26 MustHaveRegister "NoSpillStore"
|
|
2616
|
+
v3|q QWORD "[r11|q]" v3|q -1 [38, 46[38 MustHaveRegister 42 MustHaveRegister 46 MustHaveRegister "NoSpillStore"
|
|
2617
|
+
v4|d DWORD "[r10|d]" v4|d v0|q [40, 42[40 MustHaveRegister 42 MustHaveRegister "NoSpillStore"
|
|
2618
|
+
v5|q QWORD "[r11|q]" v5|q v3|q [46, 50[46 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2619
|
+
v6|q QWORD "[r10|q]" v6|q -1 [48, 50[48 MustHaveRegister 50 MustHaveRegister "NoSpillStore"
|
|
2620
|
+
end_intervals
|
|
2621
|
+
begin_cfg
|
|
2622
|
+
name "After SSALinearScanResolveDataFlow"
|
|
2623
|
+
begin_block
|
|
2624
|
+
name "B0"
|
|
2625
|
+
from_bci -1
|
|
2626
|
+
to_bci -1
|
|
2627
|
+
predecessors
|
|
2628
|
+
successors "B1"
|
|
2629
|
+
xhandlers"B2"
|
|
2630
|
+
flags
|
|
2631
|
+
probability 4607182418800017408
|
|
2632
|
+
begin_IR
|
|
2633
|
+
LIR
|
|
2634
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2635
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2636
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2637
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2638
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2639
|
+
locals: -
|
|
2640
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2641
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2642
|
+
end_IR
|
|
2643
|
+
end_block
|
|
2644
|
+
begin_block
|
|
2645
|
+
name "B1"
|
|
2646
|
+
from_bci -1
|
|
2647
|
+
to_bci -1
|
|
2648
|
+
predecessors "B0"
|
|
2649
|
+
successors
|
|
2650
|
+
xhandlers
|
|
2651
|
+
flags
|
|
2652
|
+
probability 4607182328728024861
|
|
2653
|
+
begin_IR
|
|
2654
|
+
LIR
|
|
2655
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2656
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2657
|
+
end_IR
|
|
2658
|
+
end_block
|
|
2659
|
+
begin_block
|
|
2660
|
+
name "B2"
|
|
2661
|
+
from_bci -1
|
|
2662
|
+
to_bci -1
|
|
2663
|
+
predecessors "B0"
|
|
2664
|
+
successors "B3" "B4"
|
|
2665
|
+
xhandlers
|
|
2666
|
+
flags "ex"
|
|
2667
|
+
probability 4532020583610935537
|
|
2668
|
+
begin_IR
|
|
2669
|
+
LIR
|
|
2670
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2671
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2672
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2673
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2674
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2675
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2676
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2677
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2678
|
+
end_IR
|
|
2679
|
+
end_block
|
|
2680
|
+
begin_block
|
|
2681
|
+
name "B4"
|
|
2682
|
+
from_bci -1
|
|
2683
|
+
to_bci -1
|
|
2684
|
+
predecessors "B2"
|
|
2685
|
+
successors
|
|
2686
|
+
xhandlers
|
|
2687
|
+
flags
|
|
2688
|
+
probability 4527516983983565041
|
|
2689
|
+
begin_IR
|
|
2690
|
+
LIR
|
|
2691
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2692
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2693
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2694
|
+
end_IR
|
|
2695
|
+
end_block
|
|
2696
|
+
begin_block
|
|
2697
|
+
name "B3"
|
|
2698
|
+
from_bci -1
|
|
2699
|
+
to_bci -1
|
|
2700
|
+
predecessors "B2"
|
|
2701
|
+
successors
|
|
2702
|
+
xhandlers
|
|
2703
|
+
flags
|
|
2704
|
+
probability 4527516983983565041
|
|
2705
|
+
begin_IR
|
|
2706
|
+
LIR
|
|
2707
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2708
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2709
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2710
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2711
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2712
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2713
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2714
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2715
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2716
|
+
end_IR
|
|
2717
|
+
end_block
|
|
2718
|
+
end_cfg
|
|
2719
|
+
begin_bytecodes
|
|
2720
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2721
|
+
3: goto 11
|
|
2722
|
+
6: astore_0
|
|
2723
|
+
7: aload_0
|
|
2724
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2725
|
+
11: return
|
|
2726
|
+
<|@
|
|
2727
|
+
end_bytecodes
|
|
2728
|
+
begin_cfg
|
|
2729
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
2730
|
+
begin_block
|
|
2731
|
+
name "B0"
|
|
2732
|
+
from_bci -1
|
|
2733
|
+
to_bci -1
|
|
2734
|
+
predecessors
|
|
2735
|
+
successors "B1"
|
|
2736
|
+
xhandlers"B2"
|
|
2737
|
+
flags
|
|
2738
|
+
probability 4607182418800017408
|
|
2739
|
+
begin_IR
|
|
2740
|
+
LIR
|
|
2741
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2742
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2743
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2744
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2745
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2746
|
+
locals: -
|
|
2747
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2748
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2749
|
+
end_IR
|
|
2750
|
+
end_block
|
|
2751
|
+
begin_block
|
|
2752
|
+
name "B1"
|
|
2753
|
+
from_bci -1
|
|
2754
|
+
to_bci -1
|
|
2755
|
+
predecessors "B0"
|
|
2756
|
+
successors
|
|
2757
|
+
xhandlers
|
|
2758
|
+
flags
|
|
2759
|
+
probability 4607182328728024861
|
|
2760
|
+
begin_IR
|
|
2761
|
+
LIR
|
|
2762
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2763
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2764
|
+
end_IR
|
|
2765
|
+
end_block
|
|
2766
|
+
begin_block
|
|
2767
|
+
name "B2"
|
|
2768
|
+
from_bci -1
|
|
2769
|
+
to_bci -1
|
|
2770
|
+
predecessors "B0"
|
|
2771
|
+
successors "B3" "B4"
|
|
2772
|
+
xhandlers
|
|
2773
|
+
flags "ex"
|
|
2774
|
+
probability 4532020583610935537
|
|
2775
|
+
begin_IR
|
|
2776
|
+
LIR
|
|
2777
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2778
|
+
nr 16 <|@ instruction v0|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2779
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2780
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2781
|
+
nr 22 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2782
|
+
nr 24 <|@ instruction v2|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2783
|
+
nr 26 <|@ instruction CMP (x: v2|QWORD, y: [v1|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2784
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2785
|
+
end_IR
|
|
2786
|
+
end_block
|
|
2787
|
+
begin_block
|
|
2788
|
+
name "B4"
|
|
2789
|
+
from_bci -1
|
|
2790
|
+
to_bci -1
|
|
2791
|
+
predecessors "B2"
|
|
2792
|
+
successors
|
|
2793
|
+
xhandlers
|
|
2794
|
+
flags
|
|
2795
|
+
probability 4527516983983565041
|
|
2796
|
+
begin_IR
|
|
2797
|
+
LIR
|
|
2798
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2799
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2800
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2801
|
+
end_IR
|
|
2802
|
+
end_block
|
|
2803
|
+
begin_block
|
|
2804
|
+
name "B3"
|
|
2805
|
+
from_bci -1
|
|
2806
|
+
to_bci -1
|
|
2807
|
+
predecessors "B2"
|
|
2808
|
+
successors
|
|
2809
|
+
xhandlers
|
|
2810
|
+
flags
|
|
2811
|
+
probability 4527516983983565041
|
|
2812
|
+
begin_IR
|
|
2813
|
+
LIR
|
|
2814
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2815
|
+
nr 38 <|@ instruction v3|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2816
|
+
nr 40 <|@ instruction v4|DWORD[.] = COMPRESSPOINTER (input: v0|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2817
|
+
nr 42 <|@ instruction MOV (x: [v3|QWORD[.] + 116], y: v4|DWORD[.]) size: DWORD <|@ <|@
|
|
2818
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2819
|
+
nr 46 <|@ instruction v5|QWORD[*] = SHR v3|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2820
|
+
nr 48 <|@ instruction v6|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2821
|
+
nr 50 <|@ instruction MOVB [v5|QWORD[*] + v6|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2822
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2823
|
+
end_IR
|
|
2824
|
+
end_block
|
|
2825
|
+
end_cfg
|
|
2826
|
+
begin_bytecodes
|
|
2827
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2828
|
+
3: goto 11
|
|
2829
|
+
6: astore_0
|
|
2830
|
+
7: aload_0
|
|
2831
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2832
|
+
11: return
|
|
2833
|
+
<|@
|
|
2834
|
+
end_bytecodes
|
|
2835
|
+
begin_cfg
|
|
2836
|
+
name "After LinearScanAssignLocations"
|
|
2837
|
+
begin_block
|
|
2838
|
+
name "B0"
|
|
2839
|
+
from_bci -1
|
|
2840
|
+
to_bci -1
|
|
2841
|
+
predecessors
|
|
2842
|
+
successors "B1"
|
|
2843
|
+
xhandlers"B2"
|
|
2844
|
+
flags
|
|
2845
|
+
probability 4607182418800017408
|
|
2846
|
+
begin_IR
|
|
2847
|
+
LIR
|
|
2848
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2849
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2850
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2851
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2852
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2853
|
+
locals: -
|
|
2854
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2855
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2856
|
+
end_IR
|
|
2857
|
+
end_block
|
|
2858
|
+
begin_block
|
|
2859
|
+
name "B1"
|
|
2860
|
+
from_bci -1
|
|
2861
|
+
to_bci -1
|
|
2862
|
+
predecessors "B0"
|
|
2863
|
+
successors
|
|
2864
|
+
xhandlers
|
|
2865
|
+
flags
|
|
2866
|
+
probability 4607182328728024861
|
|
2867
|
+
begin_IR
|
|
2868
|
+
LIR
|
|
2869
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2870
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2871
|
+
end_IR
|
|
2872
|
+
end_block
|
|
2873
|
+
begin_block
|
|
2874
|
+
name "B2"
|
|
2875
|
+
from_bci -1
|
|
2876
|
+
to_bci -1
|
|
2877
|
+
predecessors "B0"
|
|
2878
|
+
successors "B3" "B4"
|
|
2879
|
+
xhandlers
|
|
2880
|
+
flags "ex"
|
|
2881
|
+
probability 4532020583610935537
|
|
2882
|
+
begin_IR
|
|
2883
|
+
LIR
|
|
2884
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2885
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2886
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2887
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2888
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2889
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2890
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2891
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2892
|
+
end_IR
|
|
2893
|
+
end_block
|
|
2894
|
+
begin_block
|
|
2895
|
+
name "B4"
|
|
2896
|
+
from_bci -1
|
|
2897
|
+
to_bci -1
|
|
2898
|
+
predecessors "B2"
|
|
2899
|
+
successors
|
|
2900
|
+
xhandlers
|
|
2901
|
+
flags
|
|
2902
|
+
probability 4527516983983565041
|
|
2903
|
+
begin_IR
|
|
2904
|
+
LIR
|
|
2905
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2906
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
2907
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
2908
|
+
end_IR
|
|
2909
|
+
end_block
|
|
2910
|
+
begin_block
|
|
2911
|
+
name "B3"
|
|
2912
|
+
from_bci -1
|
|
2913
|
+
to_bci -1
|
|
2914
|
+
predecessors "B2"
|
|
2915
|
+
successors
|
|
2916
|
+
xhandlers
|
|
2917
|
+
flags
|
|
2918
|
+
probability 4527516983983565041
|
|
2919
|
+
begin_IR
|
|
2920
|
+
LIR
|
|
2921
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2922
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
2923
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
2924
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
2925
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
2926
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
2927
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
2928
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
2929
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2930
|
+
end_IR
|
|
2931
|
+
end_block
|
|
2932
|
+
end_cfg
|
|
2933
|
+
begin_bytecodes
|
|
2934
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
2935
|
+
3: goto 11
|
|
2936
|
+
6: astore_0
|
|
2937
|
+
7: aload_0
|
|
2938
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
2939
|
+
11: return
|
|
2940
|
+
<|@
|
|
2941
|
+
end_bytecodes
|
|
2942
|
+
begin_cfg
|
|
2943
|
+
name "After LinearScan"
|
|
2944
|
+
begin_block
|
|
2945
|
+
name "B0"
|
|
2946
|
+
from_bci -1
|
|
2947
|
+
to_bci -1
|
|
2948
|
+
predecessors
|
|
2949
|
+
successors "B1"
|
|
2950
|
+
xhandlers"B2"
|
|
2951
|
+
flags
|
|
2952
|
+
probability 4607182418800017408
|
|
2953
|
+
begin_IR
|
|
2954
|
+
LIR
|
|
2955
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2956
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
2957
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
2958
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
2959
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
2960
|
+
locals: -
|
|
2961
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
2962
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
2963
|
+
end_IR
|
|
2964
|
+
end_block
|
|
2965
|
+
begin_block
|
|
2966
|
+
name "B1"
|
|
2967
|
+
from_bci -1
|
|
2968
|
+
to_bci -1
|
|
2969
|
+
predecessors "B0"
|
|
2970
|
+
successors
|
|
2971
|
+
xhandlers
|
|
2972
|
+
flags
|
|
2973
|
+
probability 4607182328728024861
|
|
2974
|
+
begin_IR
|
|
2975
|
+
LIR
|
|
2976
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2977
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
2978
|
+
end_IR
|
|
2979
|
+
end_block
|
|
2980
|
+
begin_block
|
|
2981
|
+
name "B2"
|
|
2982
|
+
from_bci -1
|
|
2983
|
+
to_bci -1
|
|
2984
|
+
predecessors "B0"
|
|
2985
|
+
successors "B3" "B4"
|
|
2986
|
+
xhandlers
|
|
2987
|
+
flags "ex"
|
|
2988
|
+
probability 4532020583610935537
|
|
2989
|
+
begin_IR
|
|
2990
|
+
LIR
|
|
2991
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2992
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
2993
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
2994
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
2995
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2996
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
2997
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
2998
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
2999
|
+
end_IR
|
|
3000
|
+
end_block
|
|
3001
|
+
begin_block
|
|
3002
|
+
name "B4"
|
|
3003
|
+
from_bci -1
|
|
3004
|
+
to_bci -1
|
|
3005
|
+
predecessors "B2"
|
|
3006
|
+
successors
|
|
3007
|
+
xhandlers
|
|
3008
|
+
flags
|
|
3009
|
+
probability 4527516983983565041
|
|
3010
|
+
begin_IR
|
|
3011
|
+
LIR
|
|
3012
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3013
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3014
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3015
|
+
end_IR
|
|
3016
|
+
end_block
|
|
3017
|
+
begin_block
|
|
3018
|
+
name "B3"
|
|
3019
|
+
from_bci -1
|
|
3020
|
+
to_bci -1
|
|
3021
|
+
predecessors "B2"
|
|
3022
|
+
successors
|
|
3023
|
+
xhandlers
|
|
3024
|
+
flags
|
|
3025
|
+
probability 4527516983983565041
|
|
3026
|
+
begin_IR
|
|
3027
|
+
LIR
|
|
3028
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3029
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3030
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3031
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3032
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3033
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3034
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3035
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3036
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3037
|
+
end_IR
|
|
3038
|
+
end_block
|
|
3039
|
+
end_cfg
|
|
3040
|
+
begin_bytecodes
|
|
3041
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3042
|
+
3: goto 11
|
|
3043
|
+
6: astore_0
|
|
3044
|
+
7: aload_0
|
|
3045
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3046
|
+
11: return
|
|
3047
|
+
<|@
|
|
3048
|
+
end_bytecodes
|
|
3049
|
+
begin_cfg
|
|
3050
|
+
name "After LSStackSlotAllocator"
|
|
3051
|
+
begin_block
|
|
3052
|
+
name "B0"
|
|
3053
|
+
from_bci -1
|
|
3054
|
+
to_bci -1
|
|
3055
|
+
predecessors
|
|
3056
|
+
successors "B1"
|
|
3057
|
+
xhandlers"B2"
|
|
3058
|
+
flags
|
|
3059
|
+
probability 4607182418800017408
|
|
3060
|
+
begin_IR
|
|
3061
|
+
LIR
|
|
3062
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3063
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3064
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3065
|
+
nr 6 <|@ st <@st|@live-base-pointers: []
|
|
3066
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3067
|
+
locals: -
|
|
3068
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3069
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3070
|
+
end_IR
|
|
3071
|
+
end_block
|
|
3072
|
+
begin_block
|
|
3073
|
+
name "B1"
|
|
3074
|
+
from_bci -1
|
|
3075
|
+
to_bci -1
|
|
3076
|
+
predecessors "B0"
|
|
3077
|
+
successors
|
|
3078
|
+
xhandlers
|
|
3079
|
+
flags
|
|
3080
|
+
probability 4607182328728024861
|
|
3081
|
+
begin_IR
|
|
3082
|
+
LIR
|
|
3083
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3084
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3085
|
+
end_IR
|
|
3086
|
+
end_block
|
|
3087
|
+
begin_block
|
|
3088
|
+
name "B2"
|
|
3089
|
+
from_bci -1
|
|
3090
|
+
to_bci -1
|
|
3091
|
+
predecessors "B0"
|
|
3092
|
+
successors "B3" "B4"
|
|
3093
|
+
xhandlers
|
|
3094
|
+
flags "ex"
|
|
3095
|
+
probability 4532020583610935537
|
|
3096
|
+
begin_IR
|
|
3097
|
+
LIR
|
|
3098
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3099
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3100
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3101
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3102
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3103
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3104
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3105
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3106
|
+
end_IR
|
|
3107
|
+
end_block
|
|
3108
|
+
begin_block
|
|
3109
|
+
name "B4"
|
|
3110
|
+
from_bci -1
|
|
3111
|
+
to_bci -1
|
|
3112
|
+
predecessors "B2"
|
|
3113
|
+
successors
|
|
3114
|
+
xhandlers
|
|
3115
|
+
flags
|
|
3116
|
+
probability 4527516983983565041
|
|
3117
|
+
begin_IR
|
|
3118
|
+
LIR
|
|
3119
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3120
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3121
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3122
|
+
end_IR
|
|
3123
|
+
end_block
|
|
3124
|
+
begin_block
|
|
3125
|
+
name "B3"
|
|
3126
|
+
from_bci -1
|
|
3127
|
+
to_bci -1
|
|
3128
|
+
predecessors "B2"
|
|
3129
|
+
successors
|
|
3130
|
+
xhandlers
|
|
3131
|
+
flags
|
|
3132
|
+
probability 4527516983983565041
|
|
3133
|
+
begin_IR
|
|
3134
|
+
LIR
|
|
3135
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3136
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3137
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3138
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3139
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3140
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3141
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3142
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3143
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3144
|
+
end_IR
|
|
3145
|
+
end_block
|
|
3146
|
+
end_cfg
|
|
3147
|
+
begin_bytecodes
|
|
3148
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3149
|
+
3: goto 11
|
|
3150
|
+
6: astore_0
|
|
3151
|
+
7: aload_0
|
|
3152
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3153
|
+
11: return
|
|
3154
|
+
<|@
|
|
3155
|
+
end_bytecodes
|
|
3156
|
+
begin_cfg
|
|
3157
|
+
name "After LocationMarker"
|
|
3158
|
+
begin_block
|
|
3159
|
+
name "B0"
|
|
3160
|
+
from_bci -1
|
|
3161
|
+
to_bci -1
|
|
3162
|
+
predecessors
|
|
3163
|
+
successors "B1"
|
|
3164
|
+
xhandlers"B2"
|
|
3165
|
+
flags
|
|
3166
|
+
probability 4607182418800017408
|
|
3167
|
+
begin_IR
|
|
3168
|
+
LIR
|
|
3169
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3170
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3171
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3172
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3173
|
+
live-base-pointers: []
|
|
3174
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3175
|
+
locals: -
|
|
3176
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3177
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3178
|
+
end_IR
|
|
3179
|
+
end_block
|
|
3180
|
+
begin_block
|
|
3181
|
+
name "B1"
|
|
3182
|
+
from_bci -1
|
|
3183
|
+
to_bci -1
|
|
3184
|
+
predecessors "B0"
|
|
3185
|
+
successors
|
|
3186
|
+
xhandlers
|
|
3187
|
+
flags
|
|
3188
|
+
probability 4607182328728024861
|
|
3189
|
+
begin_IR
|
|
3190
|
+
LIR
|
|
3191
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3192
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3193
|
+
end_IR
|
|
3194
|
+
end_block
|
|
3195
|
+
begin_block
|
|
3196
|
+
name "B2"
|
|
3197
|
+
from_bci -1
|
|
3198
|
+
to_bci -1
|
|
3199
|
+
predecessors "B0"
|
|
3200
|
+
successors "B3" "B4"
|
|
3201
|
+
xhandlers
|
|
3202
|
+
flags "ex"
|
|
3203
|
+
probability 4532020583610935537
|
|
3204
|
+
begin_IR
|
|
3205
|
+
LIR
|
|
3206
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3207
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3208
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3209
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3210
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3211
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3212
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3213
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3214
|
+
end_IR
|
|
3215
|
+
end_block
|
|
3216
|
+
begin_block
|
|
3217
|
+
name "B4"
|
|
3218
|
+
from_bci -1
|
|
3219
|
+
to_bci -1
|
|
3220
|
+
predecessors "B2"
|
|
3221
|
+
successors
|
|
3222
|
+
xhandlers
|
|
3223
|
+
flags
|
|
3224
|
+
probability 4527516983983565041
|
|
3225
|
+
begin_IR
|
|
3226
|
+
LIR
|
|
3227
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3228
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3229
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3230
|
+
end_IR
|
|
3231
|
+
end_block
|
|
3232
|
+
begin_block
|
|
3233
|
+
name "B3"
|
|
3234
|
+
from_bci -1
|
|
3235
|
+
to_bci -1
|
|
3236
|
+
predecessors "B2"
|
|
3237
|
+
successors
|
|
3238
|
+
xhandlers
|
|
3239
|
+
flags
|
|
3240
|
+
probability 4527516983983565041
|
|
3241
|
+
begin_IR
|
|
3242
|
+
LIR
|
|
3243
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3244
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3245
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3246
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3247
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3248
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3249
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3250
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3251
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3252
|
+
end_IR
|
|
3253
|
+
end_block
|
|
3254
|
+
end_cfg
|
|
3255
|
+
begin_bytecodes
|
|
3256
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3257
|
+
3: goto 11
|
|
3258
|
+
6: astore_0
|
|
3259
|
+
7: aload_0
|
|
3260
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3261
|
+
11: return
|
|
3262
|
+
<|@
|
|
3263
|
+
end_bytecodes
|
|
3264
|
+
begin_cfg
|
|
3265
|
+
name "After AllocationStage"
|
|
3266
|
+
begin_block
|
|
3267
|
+
name "B0"
|
|
3268
|
+
from_bci -1
|
|
3269
|
+
to_bci -1
|
|
3270
|
+
predecessors
|
|
3271
|
+
successors "B1"
|
|
3272
|
+
xhandlers"B2"
|
|
3273
|
+
flags
|
|
3274
|
+
probability 4607182418800017408
|
|
3275
|
+
begin_IR
|
|
3276
|
+
LIR
|
|
3277
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3278
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3279
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3280
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3281
|
+
live-base-pointers: []
|
|
3282
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3283
|
+
locals: -
|
|
3284
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3285
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3286
|
+
end_IR
|
|
3287
|
+
end_block
|
|
3288
|
+
begin_block
|
|
3289
|
+
name "B1"
|
|
3290
|
+
from_bci -1
|
|
3291
|
+
to_bci -1
|
|
3292
|
+
predecessors "B0"
|
|
3293
|
+
successors
|
|
3294
|
+
xhandlers
|
|
3295
|
+
flags
|
|
3296
|
+
probability 4607182328728024861
|
|
3297
|
+
begin_IR
|
|
3298
|
+
LIR
|
|
3299
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3300
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3301
|
+
end_IR
|
|
3302
|
+
end_block
|
|
3303
|
+
begin_block
|
|
3304
|
+
name "B2"
|
|
3305
|
+
from_bci -1
|
|
3306
|
+
to_bci -1
|
|
3307
|
+
predecessors "B0"
|
|
3308
|
+
successors "B3" "B4"
|
|
3309
|
+
xhandlers
|
|
3310
|
+
flags "ex"
|
|
3311
|
+
probability 4532020583610935537
|
|
3312
|
+
begin_IR
|
|
3313
|
+
LIR
|
|
3314
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3315
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3316
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3317
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3318
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3319
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3320
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3321
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3322
|
+
end_IR
|
|
3323
|
+
end_block
|
|
3324
|
+
begin_block
|
|
3325
|
+
name "B4"
|
|
3326
|
+
from_bci -1
|
|
3327
|
+
to_bci -1
|
|
3328
|
+
predecessors "B2"
|
|
3329
|
+
successors
|
|
3330
|
+
xhandlers
|
|
3331
|
+
flags
|
|
3332
|
+
probability 4527516983983565041
|
|
3333
|
+
begin_IR
|
|
3334
|
+
LIR
|
|
3335
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3336
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3337
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3338
|
+
end_IR
|
|
3339
|
+
end_block
|
|
3340
|
+
begin_block
|
|
3341
|
+
name "B3"
|
|
3342
|
+
from_bci -1
|
|
3343
|
+
to_bci -1
|
|
3344
|
+
predecessors "B2"
|
|
3345
|
+
successors
|
|
3346
|
+
xhandlers
|
|
3347
|
+
flags
|
|
3348
|
+
probability 4527516983983565041
|
|
3349
|
+
begin_IR
|
|
3350
|
+
LIR
|
|
3351
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3352
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3353
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3354
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3355
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3356
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3357
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3358
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3359
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3360
|
+
end_IR
|
|
3361
|
+
end_block
|
|
3362
|
+
end_cfg
|
|
3363
|
+
begin_bytecodes
|
|
3364
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3365
|
+
3: goto 11
|
|
3366
|
+
6: astore_0
|
|
3367
|
+
7: aload_0
|
|
3368
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3369
|
+
11: return
|
|
3370
|
+
<|@
|
|
3371
|
+
end_bytecodes
|
|
3372
|
+
begin_cfg
|
|
3373
|
+
name "After EdgeMoveOptimizer"
|
|
3374
|
+
begin_block
|
|
3375
|
+
name "B0"
|
|
3376
|
+
from_bci -1
|
|
3377
|
+
to_bci -1
|
|
3378
|
+
predecessors
|
|
3379
|
+
successors "B1"
|
|
3380
|
+
xhandlers"B2"
|
|
3381
|
+
flags
|
|
3382
|
+
probability 4607182418800017408
|
|
3383
|
+
begin_IR
|
|
3384
|
+
LIR
|
|
3385
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3386
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3387
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3388
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3389
|
+
live-base-pointers: []
|
|
3390
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3391
|
+
locals: -
|
|
3392
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3393
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3394
|
+
end_IR
|
|
3395
|
+
end_block
|
|
3396
|
+
begin_block
|
|
3397
|
+
name "B1"
|
|
3398
|
+
from_bci -1
|
|
3399
|
+
to_bci -1
|
|
3400
|
+
predecessors "B0"
|
|
3401
|
+
successors
|
|
3402
|
+
xhandlers
|
|
3403
|
+
flags
|
|
3404
|
+
probability 4607182328728024861
|
|
3405
|
+
begin_IR
|
|
3406
|
+
LIR
|
|
3407
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3408
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3409
|
+
end_IR
|
|
3410
|
+
end_block
|
|
3411
|
+
begin_block
|
|
3412
|
+
name "B2"
|
|
3413
|
+
from_bci -1
|
|
3414
|
+
to_bci -1
|
|
3415
|
+
predecessors "B0"
|
|
3416
|
+
successors "B3" "B4"
|
|
3417
|
+
xhandlers
|
|
3418
|
+
flags "ex"
|
|
3419
|
+
probability 4532020583610935537
|
|
3420
|
+
begin_IR
|
|
3421
|
+
LIR
|
|
3422
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3423
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3424
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3425
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3426
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3427
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3428
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3429
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3430
|
+
end_IR
|
|
3431
|
+
end_block
|
|
3432
|
+
begin_block
|
|
3433
|
+
name "B4"
|
|
3434
|
+
from_bci -1
|
|
3435
|
+
to_bci -1
|
|
3436
|
+
predecessors "B2"
|
|
3437
|
+
successors
|
|
3438
|
+
xhandlers
|
|
3439
|
+
flags
|
|
3440
|
+
probability 4527516983983565041
|
|
3441
|
+
begin_IR
|
|
3442
|
+
LIR
|
|
3443
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3444
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3445
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3446
|
+
end_IR
|
|
3447
|
+
end_block
|
|
3448
|
+
begin_block
|
|
3449
|
+
name "B3"
|
|
3450
|
+
from_bci -1
|
|
3451
|
+
to_bci -1
|
|
3452
|
+
predecessors "B2"
|
|
3453
|
+
successors
|
|
3454
|
+
xhandlers
|
|
3455
|
+
flags
|
|
3456
|
+
probability 4527516983983565041
|
|
3457
|
+
begin_IR
|
|
3458
|
+
LIR
|
|
3459
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3460
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3461
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3462
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3463
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3464
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3465
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3466
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3467
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3468
|
+
end_IR
|
|
3469
|
+
end_block
|
|
3470
|
+
end_cfg
|
|
3471
|
+
begin_bytecodes
|
|
3472
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3473
|
+
3: goto 11
|
|
3474
|
+
6: astore_0
|
|
3475
|
+
7: aload_0
|
|
3476
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3477
|
+
11: return
|
|
3478
|
+
<|@
|
|
3479
|
+
end_bytecodes
|
|
3480
|
+
begin_cfg
|
|
3481
|
+
name "After ControlFlowOptimizer"
|
|
3482
|
+
begin_block
|
|
3483
|
+
name "B0"
|
|
3484
|
+
from_bci -1
|
|
3485
|
+
to_bci -1
|
|
3486
|
+
predecessors
|
|
3487
|
+
successors "B1"
|
|
3488
|
+
xhandlers"B2"
|
|
3489
|
+
flags
|
|
3490
|
+
probability 4607182418800017408
|
|
3491
|
+
begin_IR
|
|
3492
|
+
LIR
|
|
3493
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3494
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3495
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3496
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3497
|
+
live-base-pointers: []
|
|
3498
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3499
|
+
locals: -
|
|
3500
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3501
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3502
|
+
end_IR
|
|
3503
|
+
end_block
|
|
3504
|
+
begin_block
|
|
3505
|
+
name "B1"
|
|
3506
|
+
from_bci -1
|
|
3507
|
+
to_bci -1
|
|
3508
|
+
predecessors "B0"
|
|
3509
|
+
successors
|
|
3510
|
+
xhandlers
|
|
3511
|
+
flags
|
|
3512
|
+
probability 4607182328728024861
|
|
3513
|
+
begin_IR
|
|
3514
|
+
LIR
|
|
3515
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3516
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3517
|
+
end_IR
|
|
3518
|
+
end_block
|
|
3519
|
+
begin_block
|
|
3520
|
+
name "B2"
|
|
3521
|
+
from_bci -1
|
|
3522
|
+
to_bci -1
|
|
3523
|
+
predecessors "B0"
|
|
3524
|
+
successors "B3" "B4"
|
|
3525
|
+
xhandlers
|
|
3526
|
+
flags "ex"
|
|
3527
|
+
probability 4532020583610935537
|
|
3528
|
+
begin_IR
|
|
3529
|
+
LIR
|
|
3530
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3531
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3532
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3533
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3534
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3535
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3536
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3537
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3538
|
+
end_IR
|
|
3539
|
+
end_block
|
|
3540
|
+
begin_block
|
|
3541
|
+
name "B4"
|
|
3542
|
+
from_bci -1
|
|
3543
|
+
to_bci -1
|
|
3544
|
+
predecessors "B2"
|
|
3545
|
+
successors
|
|
3546
|
+
xhandlers
|
|
3547
|
+
flags
|
|
3548
|
+
probability 4527516983983565041
|
|
3549
|
+
begin_IR
|
|
3550
|
+
LIR
|
|
3551
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3552
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3553
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3554
|
+
end_IR
|
|
3555
|
+
end_block
|
|
3556
|
+
begin_block
|
|
3557
|
+
name "B3"
|
|
3558
|
+
from_bci -1
|
|
3559
|
+
to_bci -1
|
|
3560
|
+
predecessors "B2"
|
|
3561
|
+
successors
|
|
3562
|
+
xhandlers
|
|
3563
|
+
flags
|
|
3564
|
+
probability 4527516983983565041
|
|
3565
|
+
begin_IR
|
|
3566
|
+
LIR
|
|
3567
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3568
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3569
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3570
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3571
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3572
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3573
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3574
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3575
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3576
|
+
end_IR
|
|
3577
|
+
end_block
|
|
3578
|
+
end_cfg
|
|
3579
|
+
begin_bytecodes
|
|
3580
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3581
|
+
3: goto 11
|
|
3582
|
+
6: astore_0
|
|
3583
|
+
7: aload_0
|
|
3584
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3585
|
+
11: return
|
|
3586
|
+
<|@
|
|
3587
|
+
end_bytecodes
|
|
3588
|
+
begin_cfg
|
|
3589
|
+
name "After RedundantMoveElimination"
|
|
3590
|
+
begin_block
|
|
3591
|
+
name "B0"
|
|
3592
|
+
from_bci -1
|
|
3593
|
+
to_bci -1
|
|
3594
|
+
predecessors
|
|
3595
|
+
successors "B1"
|
|
3596
|
+
xhandlers"B2"
|
|
3597
|
+
flags
|
|
3598
|
+
probability 4607182418800017408
|
|
3599
|
+
begin_IR
|
|
3600
|
+
LIR
|
|
3601
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3602
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3603
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3604
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3605
|
+
live-base-pointers: []
|
|
3606
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3607
|
+
locals: -
|
|
3608
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3609
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3610
|
+
end_IR
|
|
3611
|
+
end_block
|
|
3612
|
+
begin_block
|
|
3613
|
+
name "B1"
|
|
3614
|
+
from_bci -1
|
|
3615
|
+
to_bci -1
|
|
3616
|
+
predecessors "B0"
|
|
3617
|
+
successors
|
|
3618
|
+
xhandlers
|
|
3619
|
+
flags
|
|
3620
|
+
probability 4607182328728024861
|
|
3621
|
+
begin_IR
|
|
3622
|
+
LIR
|
|
3623
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3624
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3625
|
+
end_IR
|
|
3626
|
+
end_block
|
|
3627
|
+
begin_block
|
|
3628
|
+
name "B2"
|
|
3629
|
+
from_bci -1
|
|
3630
|
+
to_bci -1
|
|
3631
|
+
predecessors "B0"
|
|
3632
|
+
successors "B3" "B4"
|
|
3633
|
+
xhandlers
|
|
3634
|
+
flags "ex"
|
|
3635
|
+
probability 4532020583610935537
|
|
3636
|
+
begin_IR
|
|
3637
|
+
LIR
|
|
3638
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3639
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3640
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3641
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3642
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3643
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3644
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3645
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3646
|
+
end_IR
|
|
3647
|
+
end_block
|
|
3648
|
+
begin_block
|
|
3649
|
+
name "B4"
|
|
3650
|
+
from_bci -1
|
|
3651
|
+
to_bci -1
|
|
3652
|
+
predecessors "B2"
|
|
3653
|
+
successors
|
|
3654
|
+
xhandlers
|
|
3655
|
+
flags
|
|
3656
|
+
probability 4527516983983565041
|
|
3657
|
+
begin_IR
|
|
3658
|
+
LIR
|
|
3659
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3660
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3661
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3662
|
+
end_IR
|
|
3663
|
+
end_block
|
|
3664
|
+
begin_block
|
|
3665
|
+
name "B3"
|
|
3666
|
+
from_bci -1
|
|
3667
|
+
to_bci -1
|
|
3668
|
+
predecessors "B2"
|
|
3669
|
+
successors
|
|
3670
|
+
xhandlers
|
|
3671
|
+
flags
|
|
3672
|
+
probability 4527516983983565041
|
|
3673
|
+
begin_IR
|
|
3674
|
+
LIR
|
|
3675
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3676
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3677
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3678
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3679
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3680
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3681
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3682
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3683
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3684
|
+
end_IR
|
|
3685
|
+
end_block
|
|
3686
|
+
end_cfg
|
|
3687
|
+
begin_bytecodes
|
|
3688
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3689
|
+
3: goto 11
|
|
3690
|
+
6: astore_0
|
|
3691
|
+
7: aload_0
|
|
3692
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3693
|
+
11: return
|
|
3694
|
+
<|@
|
|
3695
|
+
end_bytecodes
|
|
3696
|
+
begin_cfg
|
|
3697
|
+
name "After NullCheckOptimizer"
|
|
3698
|
+
begin_block
|
|
3699
|
+
name "B0"
|
|
3700
|
+
from_bci -1
|
|
3701
|
+
to_bci -1
|
|
3702
|
+
predecessors
|
|
3703
|
+
successors "B1"
|
|
3704
|
+
xhandlers"B2"
|
|
3705
|
+
flags
|
|
3706
|
+
probability 4607182418800017408
|
|
3707
|
+
begin_IR
|
|
3708
|
+
LIR
|
|
3709
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3710
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3711
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3712
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3713
|
+
live-base-pointers: []
|
|
3714
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3715
|
+
locals: -
|
|
3716
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3717
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3718
|
+
end_IR
|
|
3719
|
+
end_block
|
|
3720
|
+
begin_block
|
|
3721
|
+
name "B1"
|
|
3722
|
+
from_bci -1
|
|
3723
|
+
to_bci -1
|
|
3724
|
+
predecessors "B0"
|
|
3725
|
+
successors
|
|
3726
|
+
xhandlers
|
|
3727
|
+
flags
|
|
3728
|
+
probability 4607182328728024861
|
|
3729
|
+
begin_IR
|
|
3730
|
+
LIR
|
|
3731
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3732
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3733
|
+
end_IR
|
|
3734
|
+
end_block
|
|
3735
|
+
begin_block
|
|
3736
|
+
name "B2"
|
|
3737
|
+
from_bci -1
|
|
3738
|
+
to_bci -1
|
|
3739
|
+
predecessors "B0"
|
|
3740
|
+
successors "B3" "B4"
|
|
3741
|
+
xhandlers
|
|
3742
|
+
flags "ex"
|
|
3743
|
+
probability 4532020583610935537
|
|
3744
|
+
begin_IR
|
|
3745
|
+
LIR
|
|
3746
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3747
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3748
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3749
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3750
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3751
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3752
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3753
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3754
|
+
end_IR
|
|
3755
|
+
end_block
|
|
3756
|
+
begin_block
|
|
3757
|
+
name "B4"
|
|
3758
|
+
from_bci -1
|
|
3759
|
+
to_bci -1
|
|
3760
|
+
predecessors "B2"
|
|
3761
|
+
successors
|
|
3762
|
+
xhandlers
|
|
3763
|
+
flags
|
|
3764
|
+
probability 4527516983983565041
|
|
3765
|
+
begin_IR
|
|
3766
|
+
LIR
|
|
3767
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3768
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3769
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3770
|
+
end_IR
|
|
3771
|
+
end_block
|
|
3772
|
+
begin_block
|
|
3773
|
+
name "B3"
|
|
3774
|
+
from_bci -1
|
|
3775
|
+
to_bci -1
|
|
3776
|
+
predecessors "B2"
|
|
3777
|
+
successors
|
|
3778
|
+
xhandlers
|
|
3779
|
+
flags
|
|
3780
|
+
probability 4527516983983565041
|
|
3781
|
+
begin_IR
|
|
3782
|
+
LIR
|
|
3783
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3784
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3785
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3786
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3787
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3788
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3789
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3790
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3791
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3792
|
+
end_IR
|
|
3793
|
+
end_block
|
|
3794
|
+
end_cfg
|
|
3795
|
+
begin_bytecodes
|
|
3796
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3797
|
+
3: goto 11
|
|
3798
|
+
6: astore_0
|
|
3799
|
+
7: aload_0
|
|
3800
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3801
|
+
11: return
|
|
3802
|
+
<|@
|
|
3803
|
+
end_bytecodes
|
|
3804
|
+
begin_cfg
|
|
3805
|
+
name "After StackMoveOptimization"
|
|
3806
|
+
begin_block
|
|
3807
|
+
name "B0"
|
|
3808
|
+
from_bci -1
|
|
3809
|
+
to_bci -1
|
|
3810
|
+
predecessors
|
|
3811
|
+
successors "B1"
|
|
3812
|
+
xhandlers"B2"
|
|
3813
|
+
flags
|
|
3814
|
+
probability 4607182418800017408
|
|
3815
|
+
begin_IR
|
|
3816
|
+
LIR
|
|
3817
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3818
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3819
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3820
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3821
|
+
live-base-pointers: []
|
|
3822
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3823
|
+
locals: -
|
|
3824
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3825
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3826
|
+
end_IR
|
|
3827
|
+
end_block
|
|
3828
|
+
begin_block
|
|
3829
|
+
name "B1"
|
|
3830
|
+
from_bci -1
|
|
3831
|
+
to_bci -1
|
|
3832
|
+
predecessors "B0"
|
|
3833
|
+
successors
|
|
3834
|
+
xhandlers
|
|
3835
|
+
flags
|
|
3836
|
+
probability 4607182328728024861
|
|
3837
|
+
begin_IR
|
|
3838
|
+
LIR
|
|
3839
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3840
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3841
|
+
end_IR
|
|
3842
|
+
end_block
|
|
3843
|
+
begin_block
|
|
3844
|
+
name "B2"
|
|
3845
|
+
from_bci -1
|
|
3846
|
+
to_bci -1
|
|
3847
|
+
predecessors "B0"
|
|
3848
|
+
successors "B3" "B4"
|
|
3849
|
+
xhandlers
|
|
3850
|
+
flags "ex"
|
|
3851
|
+
probability 4532020583610935537
|
|
3852
|
+
begin_IR
|
|
3853
|
+
LIR
|
|
3854
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3855
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3856
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3857
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3858
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3859
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3860
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3861
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3862
|
+
end_IR
|
|
3863
|
+
end_block
|
|
3864
|
+
begin_block
|
|
3865
|
+
name "B4"
|
|
3866
|
+
from_bci -1
|
|
3867
|
+
to_bci -1
|
|
3868
|
+
predecessors "B2"
|
|
3869
|
+
successors
|
|
3870
|
+
xhandlers
|
|
3871
|
+
flags
|
|
3872
|
+
probability 4527516983983565041
|
|
3873
|
+
begin_IR
|
|
3874
|
+
LIR
|
|
3875
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3876
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3877
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3878
|
+
end_IR
|
|
3879
|
+
end_block
|
|
3880
|
+
begin_block
|
|
3881
|
+
name "B3"
|
|
3882
|
+
from_bci -1
|
|
3883
|
+
to_bci -1
|
|
3884
|
+
predecessors "B2"
|
|
3885
|
+
successors
|
|
3886
|
+
xhandlers
|
|
3887
|
+
flags
|
|
3888
|
+
probability 4527516983983565041
|
|
3889
|
+
begin_IR
|
|
3890
|
+
LIR
|
|
3891
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3892
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
3893
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
3894
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
3895
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
3896
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
3897
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
3898
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
3899
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3900
|
+
end_IR
|
|
3901
|
+
end_block
|
|
3902
|
+
end_cfg
|
|
3903
|
+
begin_bytecodes
|
|
3904
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
3905
|
+
3: goto 11
|
|
3906
|
+
6: astore_0
|
|
3907
|
+
7: aload_0
|
|
3908
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
3909
|
+
11: return
|
|
3910
|
+
<|@
|
|
3911
|
+
end_bytecodes
|
|
3912
|
+
begin_cfg
|
|
3913
|
+
name "After PostAllocationOptimizationStage"
|
|
3914
|
+
begin_block
|
|
3915
|
+
name "B0"
|
|
3916
|
+
from_bci -1
|
|
3917
|
+
to_bci -1
|
|
3918
|
+
predecessors
|
|
3919
|
+
successors "B1"
|
|
3920
|
+
xhandlers"B2"
|
|
3921
|
+
flags
|
|
3922
|
+
probability 4607182418800017408
|
|
3923
|
+
begin_IR
|
|
3924
|
+
LIR
|
|
3925
|
+
nr 0 <|@ instruction [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3926
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
3927
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <|@ <|@
|
|
3928
|
+
nr 6 <|@ st <@st|@reference-map: []
|
|
3929
|
+
live-base-pointers: []
|
|
3930
|
+
JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0]
|
|
3931
|
+
locals: -
|
|
3932
|
+
>@ <|@ instruction - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <|@ <|@
|
|
3933
|
+
nr 8 <|@ instruction JUMP ~[] destination: B0 -> B1 <|@ <|@
|
|
3934
|
+
end_IR
|
|
3935
|
+
end_block
|
|
3936
|
+
begin_block
|
|
3937
|
+
name "B1"
|
|
3938
|
+
from_bci -1
|
|
3939
|
+
to_bci -1
|
|
3940
|
+
predecessors "B0"
|
|
3941
|
+
successors
|
|
3942
|
+
xhandlers
|
|
3943
|
+
flags
|
|
3944
|
+
probability 4607182328728024861
|
|
3945
|
+
begin_IR
|
|
3946
|
+
LIR
|
|
3947
|
+
nr 10 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3948
|
+
nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
3949
|
+
end_IR
|
|
3950
|
+
end_block
|
|
3951
|
+
begin_block
|
|
3952
|
+
name "B2"
|
|
3953
|
+
from_bci -1
|
|
3954
|
+
to_bci -1
|
|
3955
|
+
predecessors "B0"
|
|
3956
|
+
successors "B3" "B4"
|
|
3957
|
+
xhandlers
|
|
3958
|
+
flags "ex"
|
|
3959
|
+
probability 4532020583610935537
|
|
3960
|
+
begin_IR
|
|
3961
|
+
LIR
|
|
3962
|
+
nr 14 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3963
|
+
nr 16 <|@ instruction r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <|@ <|@
|
|
3964
|
+
nr 18 <|@ instruction MOV [r15|QWORD + 704] y: 0 size: QWORD <|@ <|@
|
|
3965
|
+
nr 20 <|@ instruction MOV [r15|QWORD + 712] y: 0 size: QWORD <|@ <|@
|
|
3966
|
+
nr 22 <|@ instruction rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
3967
|
+
nr 24 <|@ instruction r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <|@ <|@
|
|
3968
|
+
nr 26 <|@ instruction CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <|@ <|@
|
|
3969
|
+
nr 28 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <|@ <|@
|
|
3970
|
+
end_IR
|
|
3971
|
+
end_block
|
|
3972
|
+
begin_block
|
|
3973
|
+
name "B4"
|
|
3974
|
+
from_bci -1
|
|
3975
|
+
to_bci -1
|
|
3976
|
+
predecessors "B2"
|
|
3977
|
+
successors
|
|
3978
|
+
xhandlers
|
|
3979
|
+
flags
|
|
3980
|
+
probability 4527516983983565041
|
|
3981
|
+
begin_IR
|
|
3982
|
+
LIR
|
|
3983
|
+
nr 30 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
3984
|
+
nr 32 <|@ instruction rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <|@ <|@
|
|
3985
|
+
nr 34 <|@ instruction UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <|@ <|@
|
|
3986
|
+
end_IR
|
|
3987
|
+
end_block
|
|
3988
|
+
begin_block
|
|
3989
|
+
name "B3"
|
|
3990
|
+
from_bci -1
|
|
3991
|
+
to_bci -1
|
|
3992
|
+
predecessors "B2"
|
|
3993
|
+
successors
|
|
3994
|
+
xhandlers
|
|
3995
|
+
flags
|
|
3996
|
+
probability 4527516983983565041
|
|
3997
|
+
begin_IR
|
|
3998
|
+
LIR
|
|
3999
|
+
nr 36 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
4000
|
+
nr 38 <|@ instruction r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <|@ <|@
|
|
4001
|
+
nr 40 <|@ instruction r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <|@ <|@
|
|
4002
|
+
nr 42 <|@ instruction MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <|@ <|@
|
|
4003
|
+
nr 44 <|@ instruction MEMBAR barriers: 4 <|@ <|@
|
|
4004
|
+
nr 46 <|@ instruction r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <|@ <|@
|
|
4005
|
+
nr 48 <|@ instruction r10|QWORD = MOVE input: long[4531113984|0x10e135000] <|@ <|@
|
|
4006
|
+
nr 50 <|@ instruction MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <|@ <|@
|
|
4007
|
+
nr 52 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
|
|
4008
|
+
end_IR
|
|
4009
|
+
end_block
|
|
4010
|
+
end_cfg
|
|
4011
|
+
begin_bytecodes
|
|
4012
|
+
0: invokestatic #30 // exampleThrow:()void
|
|
4013
|
+
3: goto 11
|
|
4014
|
+
6: astore_0
|
|
4015
|
+
7: aload_0
|
|
4016
|
+
8: putstatic #53 // objectField:java.lang.Object
|
|
4017
|
+
11: return
|
|
4018
|
+
<|@
|
|
4019
|
+
end_bytecodes
|
|
4020
|
+
begin_cfg
|
|
4021
|
+
name "After code generation"
|
|
4022
|
+
end_cfg
|
|
4023
|
+
begin_nmethod
|
|
4024
|
+
<<<HexCodeFile
|
|
4025
|
+
Platform AMD64 64 <||@
|
|
4026
|
+
HexCode 0 89842400c0feff4883ec1848896c24100f1f8000000000e80000000090488b6c24104883c418850500000000c5f877c34d8b97c002000049c787c00200000000000049c787c802000000000000418b720849bbaddeaddeaddeadde4c3b1cf5400000000f8416000000498bf2488b6c24104883c418488b1424e982ffffff9049bbaddeaddeaddeadde49c1ea0345895374f08304240049c1eb0949ba0050130e0100000043c6041300488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
|
|
4027
|
+
Comment 0 [stack overflow check] <||@
|
|
4028
|
+
Comment 0 ------ Exception Handlers ------
|
|
4029
|
+
28 -> 48
|
|
4030
|
+
<||@
|
|
4031
|
+
Comment 0 3 <||@
|
|
4032
|
+
Comment 0 1 <||@
|
|
4033
|
+
Comment 11 block B0 null <||@
|
|
4034
|
+
Comment 11 0 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4035
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
4036
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <||@
|
|
4037
|
+
Comment 16 6 - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <||@
|
|
4038
|
+
Comment 16 8 <||@
|
|
4039
|
+
Comment 23 {HotSpotMethod<JavaExamples.exampleThrow()>} <||@
|
|
4040
|
+
Comment 28 [exception -> 48] <||@
|
|
4041
|
+
Comment 28 []at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0, duringCall: true, rethrow: false]
|
|
4042
|
+
|0
|
|
4043
|
+
locals: |- <||@
|
|
4044
|
+
Comment 29 8 JUMP ~[] destination: B0 -> B1 <||@
|
|
4045
|
+
Comment 29 block B1 null <||@
|
|
4046
|
+
Comment 29 10 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4047
|
+
Comment 29 12 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
|
|
4048
|
+
Comment 38 12 <||@
|
|
4049
|
+
Comment 48 block B2 null <||@
|
|
4050
|
+
Comment 48 14 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4051
|
+
Comment 48 16 r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <||@
|
|
4052
|
+
Comment 48 [exception handler for 28] <||@
|
|
4053
|
+
Comment 55 18 MOV [r15|QWORD + 704] y: 0 size: QWORD <||@
|
|
4054
|
+
Comment 66 20 MOV [r15|QWORD + 712] y: 0 size: QWORD <||@
|
|
4055
|
+
Comment 77 22 rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <||@
|
|
4056
|
+
Comment 81 24 r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <||@
|
|
4057
|
+
Comment 81 {meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}} <||@
|
|
4058
|
+
Comment 91 26 CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <||@
|
|
4059
|
+
Comment 99 28 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <||@
|
|
4060
|
+
Comment 105 block B4 null <||@
|
|
4061
|
+
Comment 105 30 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4062
|
+
Comment 105 32 rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <||@
|
|
4063
|
+
Comment 108 34 UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <||@
|
|
4064
|
+
Comment 121 {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} <||@
|
|
4065
|
+
Comment 127 block B3 null <||@
|
|
4066
|
+
Comment 127 36 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4067
|
+
Comment 127 38 r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
|
|
4068
|
+
Comment 127 {Object[Instance<java.lang.Class>]} <||@
|
|
4069
|
+
Comment 137 40 r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <||@
|
|
4070
|
+
Comment 141 42 MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <||@
|
|
4071
|
+
Comment 145 44 MEMBAR barriers: 4 <||@
|
|
4072
|
+
Comment 150 46 r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <||@
|
|
4073
|
+
Comment 154 48 r10|QWORD = MOVE input: long[4531113984|0x10e135000] <||@
|
|
4074
|
+
Comment 164 50 MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <||@
|
|
4075
|
+
Comment 169 52 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
|
|
4076
|
+
Comment 178 12 <||@
|
|
4077
|
+
Comment 188 {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} <||@
|
|
4078
|
+
Comment 188 4 <||@
|
|
4079
|
+
Comment 194 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
|
|
4080
|
+
Comment 194 5 <||@
|
|
4081
|
+
HexCodeFile>>> <|@
|
|
4082
|
+
end_nmethod
|
|
4083
|
+
begin_compilation
|
|
4084
|
+
name " HotSpotCompilation-358[JavaExamples.exampleCatch()]"
|
|
4085
|
+
method "HotSpotCompilation-358[JavaExamples.exampleCatch()]"
|
|
4086
|
+
date 1583364092048
|
|
4087
|
+
end_compilation
|
|
4088
|
+
begin_cfg
|
|
4089
|
+
name "After code installation"
|
|
4090
|
+
end_cfg
|
|
4091
|
+
begin_nmethod
|
|
4092
|
+
<<<HexCodeFile
|
|
4093
|
+
Platform AMD64 64 <||@
|
|
4094
|
+
HexCode 112e36f60 89842400c0feff4883ec1848896c24100f1f8000000000e824b8ffff90488b6c24104883c41885057a4093fbc5f877c34d8b97c002000049c787c00200000000000049c787c802000000000000418b720849bb283100c0070000004c3b1cf5400000000f8416000000498bf2488b6c24104883c418488b1424e942d2feff9049bbb0275f150700000049c1ea0345895374f08304240049c1eb0949ba0050130e0100000043c6041300488b6c24104883c4188505ee3f93fbc5f877c3e8ffd2feff90e819d2eaff90f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
|
|
4095
|
+
Comment 0 [stack overflow check] <||@
|
|
4096
|
+
Comment 0 ------ Exception Handlers ------
|
|
4097
|
+
28 -> 48
|
|
4098
|
+
<||@
|
|
4099
|
+
Comment 0 3 <||@
|
|
4100
|
+
Comment 0 1 <||@
|
|
4101
|
+
Comment 11 block B0 null <||@
|
|
4102
|
+
Comment 11 0 [rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4103
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
4104
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@138c66a38 slotKind: QWORD <||@
|
|
4105
|
+
Comment 16 6 - = CALL_DIRECT [] [] callTarget: HotSpotMethod<JavaExamples.exampleThrow()> invokeKind: Static config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 state [bci:0] <||@
|
|
4106
|
+
Comment 16 8 <||@
|
|
4107
|
+
Comment 23 {HotSpotMethod<JavaExamples.exampleThrow()>} <||@
|
|
4108
|
+
Comment 28 [exception -> 48] <||@
|
|
4109
|
+
Comment 28 []at JavaExamples.exampleCatch(JavaExamples.java:278) [bci: 0, duringCall: true, rethrow: false]
|
|
4110
|
+
|0
|
|
4111
|
+
locals: |- <||@
|
|
4112
|
+
Comment 29 8 JUMP ~[] destination: B0 -> B1 <||@
|
|
4113
|
+
Comment 29 block B1 null <||@
|
|
4114
|
+
Comment 29 10 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4115
|
+
Comment 29 12 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
|
|
4116
|
+
Comment 38 12 <||@
|
|
4117
|
+
Comment 48 block B2 null <||@
|
|
4118
|
+
Comment 48 14 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4119
|
+
Comment 48 16 r10|QWORD[.] = MOV [r15|QWORD + 704] size: QWORD <||@
|
|
4120
|
+
Comment 48 [exception handler for 28] <||@
|
|
4121
|
+
Comment 55 18 MOV [r15|QWORD + 704] y: 0 size: QWORD <||@
|
|
4122
|
+
Comment 66 20 MOV [r15|QWORD + 712] y: 0 size: QWORD <||@
|
|
4123
|
+
Comment 77 22 rsi|DWORD = MOV [r10|QWORD[.] + 8] size: DWORD <||@
|
|
4124
|
+
Comment 81 24 r11|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>} <||@
|
|
4125
|
+
Comment 81 {meta{HotSpotType<Ljava/lang/RuntimeException;, resolved>}} <||@
|
|
4126
|
+
Comment 91 26 CMP (x: r11|QWORD, y: [rsi|DWORD * 8 + 64]) size: QWORD <||@
|
|
4127
|
+
Comment 99 28 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B2 -> B3 falseDestination: B2 -> B4 <||@
|
|
4128
|
+
Comment 105 block B4 null <||@
|
|
4129
|
+
Comment 105 30 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4130
|
+
Comment 105 32 rsi|QWORD[.] = MOVE r10|QWORD[.] moveKind: QWORD <||@
|
|
4131
|
+
Comment 108 34 UNWIND (savedRbp: stack:16|QWORD, exception: rsi|QWORD[.]) <||@
|
|
4132
|
+
Comment 121 {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} <||@
|
|
4133
|
+
Comment 127 block B3 null <||@
|
|
4134
|
+
Comment 127 36 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
4135
|
+
Comment 127 38 r11|QWORD[.] = HOTSPOTLOADOBJECTCONSTANT input: Object[Instance<java.lang.Class>] <||@
|
|
4136
|
+
Comment 127 {Object[Instance<java.lang.Class>]} <||@
|
|
4137
|
+
Comment 137 40 r10|DWORD[.] = COMPRESSPOINTER (input: r10|QWORD[.], ~baseRegister: r12|ILLEGAL) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@138c66c68 encoding: base: 0 shift: 3 <||@
|
|
4138
|
+
Comment 141 42 MOV (x: [r11|QWORD[.] + 116], y: r10|DWORD[.]) size: DWORD <||@
|
|
4139
|
+
Comment 145 44 MEMBAR barriers: 4 <||@
|
|
4140
|
+
Comment 150 46 r11|QWORD[*] = SHR r11|QWORD[.] y: 9 size: QWORD <||@
|
|
4141
|
+
Comment 154 48 r10|QWORD = MOVE input: long[4531113984|0x10e135000] <||@
|
|
4142
|
+
Comment 164 50 MOVB [r11|QWORD[*] + r10|QWORD * 1] y: 0 size: BYTE <||@
|
|
4143
|
+
Comment 169 52 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
|
|
4144
|
+
Comment 178 12 <||@
|
|
4145
|
+
Comment 188 {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} <||@
|
|
4146
|
+
Comment 188 4 <||@
|
|
4147
|
+
Comment 194 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
|
|
4148
|
+
Comment 194 5 <||@
|
|
4149
|
+
HexCodeFile>>> <|@
|
|
4150
|
+
end_nmethod
|