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,2604 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
|
|
3
|
+
method "HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
|
|
4
|
+
date 1583840237988
|
|
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" "B2"
|
|
14
|
+
xhandlers
|
|
15
|
+
flags
|
|
16
|
+
probability 4607182418800017408
|
|
17
|
+
begin_IR
|
|
18
|
+
HIR
|
|
19
|
+
f <@#|@fixed with next>@ <|@
|
|
20
|
+
tid v0 <|@
|
|
21
|
+
d <@d|@=== Debug Properties ===
|
|
22
|
+
stamp: void
|
|
23
|
+
withSpeculationFence: false
|
|
24
|
+
=== Inputs ===
|
|
25
|
+
stateAfter: -
|
|
26
|
+
=== Succesors ===
|
|
27
|
+
next: v25
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v25 <|@ <|@
|
|
32
|
+
f <@~|@floating>@ <|@
|
|
33
|
+
tid a1 <|@
|
|
34
|
+
d <@d|@=== Debug Properties ===
|
|
35
|
+
index: 0
|
|
36
|
+
stamp: a Ljava/lang/Object;
|
|
37
|
+
uncheckedStamp: [null]
|
|
38
|
+
=== Inputs ===
|
|
39
|
+
=== Succesors ===
|
|
40
|
+
=== Usages ===
|
|
41
|
+
v35 v20
|
|
42
|
+
=== Predecessor ===
|
|
43
|
+
- >@ <|@
|
|
44
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
45
|
+
f <@~|@floating>@ <|@
|
|
46
|
+
tid v20 <|@
|
|
47
|
+
d <@d|@=== Debug Properties ===
|
|
48
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
49
|
+
nullConstant: Object[null]
|
|
50
|
+
stamp: void
|
|
51
|
+
=== Inputs ===
|
|
52
|
+
value: a1
|
|
53
|
+
=== Succesors ===
|
|
54
|
+
=== Usages ===
|
|
55
|
+
v25
|
|
56
|
+
=== Predecessor ===
|
|
57
|
+
- >@ <|@
|
|
58
|
+
instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
|
|
59
|
+
f <@*|@fixed>@ <|@
|
|
60
|
+
tid v25 <|@
|
|
61
|
+
d <@d|@=== Debug Properties ===
|
|
62
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
63
|
+
stamp: void
|
|
64
|
+
trueSuccessorProbability: 0.5
|
|
65
|
+
=== Inputs ===
|
|
66
|
+
condition: v20
|
|
67
|
+
=== Succesors ===
|
|
68
|
+
trueSuccessor: v23
|
|
69
|
+
falseSuccessor: v24
|
|
70
|
+
=== Usages ===
|
|
71
|
+
=== Predecessor ===
|
|
72
|
+
v0 >@ <|@
|
|
73
|
+
instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v20 #trueSuccessor: v23 #falseSuccessor: v24 <|@ <|@
|
|
74
|
+
end_IR
|
|
75
|
+
end_block
|
|
76
|
+
begin_block
|
|
77
|
+
name "B1"
|
|
78
|
+
from_bci -1
|
|
79
|
+
to_bci -1
|
|
80
|
+
predecessors "B0"
|
|
81
|
+
successors "B3"
|
|
82
|
+
xhandlers
|
|
83
|
+
flags
|
|
84
|
+
probability 4602678819172646912
|
|
85
|
+
begin_IR
|
|
86
|
+
HIR
|
|
87
|
+
f <@#|@fixed with next>@ <|@
|
|
88
|
+
tid v23 <|@
|
|
89
|
+
d <@d|@=== Debug Properties ===
|
|
90
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
91
|
+
stamp: void
|
|
92
|
+
withSpeculationFence: false
|
|
93
|
+
=== Inputs ===
|
|
94
|
+
=== Succesors ===
|
|
95
|
+
next: v21
|
|
96
|
+
=== Usages ===
|
|
97
|
+
=== Predecessor ===
|
|
98
|
+
v25 >@ <|@
|
|
99
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
|
|
100
|
+
f <@~|@floating>@ <|@
|
|
101
|
+
tid v27 <|@
|
|
102
|
+
d <@d|@=== Debug Properties ===
|
|
103
|
+
isDefaultStable: false
|
|
104
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
105
|
+
rawvalue: null
|
|
106
|
+
stableDimension: 0
|
|
107
|
+
stamp: Klass* NULL
|
|
108
|
+
stampKind: Klass*
|
|
109
|
+
value: Object[null]
|
|
110
|
+
=== Inputs ===
|
|
111
|
+
=== Succesors ===
|
|
112
|
+
=== Usages ===
|
|
113
|
+
v33
|
|
114
|
+
=== Predecessor ===
|
|
115
|
+
- >@ <|@
|
|
116
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
117
|
+
f <@*|@fixed>@ <|@
|
|
118
|
+
tid v21 <|@
|
|
119
|
+
d <@d|@=== Debug Properties ===
|
|
120
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
121
|
+
stamp: void
|
|
122
|
+
=== Inputs ===
|
|
123
|
+
=== Succesors ===
|
|
124
|
+
=== Usages ===
|
|
125
|
+
v26
|
|
126
|
+
=== Predecessor ===
|
|
127
|
+
v23 >@ <|@
|
|
128
|
+
instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
|
|
129
|
+
end_IR
|
|
130
|
+
end_block
|
|
131
|
+
begin_block
|
|
132
|
+
name "B2"
|
|
133
|
+
from_bci -1
|
|
134
|
+
to_bci -1
|
|
135
|
+
predecessors "B0"
|
|
136
|
+
successors "B3"
|
|
137
|
+
xhandlers
|
|
138
|
+
flags
|
|
139
|
+
probability 4602678819172646912
|
|
140
|
+
begin_IR
|
|
141
|
+
HIR
|
|
142
|
+
f <@#|@fixed with next>@ <|@
|
|
143
|
+
tid v24 <|@
|
|
144
|
+
d <@d|@=== Debug Properties ===
|
|
145
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
146
|
+
stamp: void
|
|
147
|
+
withSpeculationFence: false
|
|
148
|
+
=== Inputs ===
|
|
149
|
+
=== Succesors ===
|
|
150
|
+
next: v34
|
|
151
|
+
=== Usages ===
|
|
152
|
+
=== Predecessor ===
|
|
153
|
+
v25 >@ <|@
|
|
154
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
|
|
155
|
+
f <@~|@floating>@ <|@
|
|
156
|
+
tid v35 <|@
|
|
157
|
+
d <@d|@=== Debug Properties ===
|
|
158
|
+
displacement: 8
|
|
159
|
+
scale: Times1
|
|
160
|
+
stamp: void*
|
|
161
|
+
=== Inputs ===
|
|
162
|
+
base: a1
|
|
163
|
+
index: -
|
|
164
|
+
=== Succesors ===
|
|
165
|
+
=== Usages ===
|
|
166
|
+
v34
|
|
167
|
+
=== Predecessor ===
|
|
168
|
+
- >@ <|@
|
|
169
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
|
|
170
|
+
f <@#|@fixed with next>@ <|@
|
|
171
|
+
tid v34 <|@
|
|
172
|
+
d <@d|@=== Debug Properties ===
|
|
173
|
+
barrierType: NONE
|
|
174
|
+
forceFixed: false
|
|
175
|
+
location: CompressedHub:final
|
|
176
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
177
|
+
nullCheck: false
|
|
178
|
+
stamp: Klass*!(compressed base: 0 shift: 3)
|
|
179
|
+
=== Inputs ===
|
|
180
|
+
stateBefore: -
|
|
181
|
+
guard: -
|
|
182
|
+
address: v35
|
|
183
|
+
lastLocationAccess: -
|
|
184
|
+
=== Succesors ===
|
|
185
|
+
next: v22
|
|
186
|
+
=== Usages ===
|
|
187
|
+
v32
|
|
188
|
+
=== Predecessor ===
|
|
189
|
+
v24 >@ <|@
|
|
190
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v35 lastLocationAccess: - #next: v22 <|@ <|@
|
|
191
|
+
f <@~|@floating>@ <|@
|
|
192
|
+
tid v32 <|@
|
|
193
|
+
d <@d|@=== Debug Properties ===
|
|
194
|
+
encoding: base: 0 shift: 3
|
|
195
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
196
|
+
op: Uncompress
|
|
197
|
+
stamp: Klass*!
|
|
198
|
+
=== Inputs ===
|
|
199
|
+
value: v34
|
|
200
|
+
=== Succesors ===
|
|
201
|
+
=== Usages ===
|
|
202
|
+
v33
|
|
203
|
+
=== Predecessor ===
|
|
204
|
+
- >@ <|@
|
|
205
|
+
instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v34 <|@ <|@
|
|
206
|
+
f <@*|@fixed>@ <|@
|
|
207
|
+
tid v22 <|@
|
|
208
|
+
d <@d|@=== Debug Properties ===
|
|
209
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
210
|
+
stamp: void
|
|
211
|
+
=== Inputs ===
|
|
212
|
+
=== Succesors ===
|
|
213
|
+
=== Usages ===
|
|
214
|
+
v26
|
|
215
|
+
=== Predecessor ===
|
|
216
|
+
v34 >@ <|@
|
|
217
|
+
instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
|
|
218
|
+
end_IR
|
|
219
|
+
end_block
|
|
220
|
+
begin_block
|
|
221
|
+
name "B3"
|
|
222
|
+
from_bci -1
|
|
223
|
+
to_bci -1
|
|
224
|
+
predecessors "B1" "B2"
|
|
225
|
+
successors
|
|
226
|
+
xhandlers
|
|
227
|
+
flags
|
|
228
|
+
probability 4607182418800017408
|
|
229
|
+
begin_IR
|
|
230
|
+
HIR
|
|
231
|
+
f <@~|@floating>@ <|@
|
|
232
|
+
tid v33 <|@
|
|
233
|
+
d <@d|@=== Debug Properties ===
|
|
234
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
235
|
+
stamp: Klass*
|
|
236
|
+
valueDescription: Klass*
|
|
237
|
+
=== Inputs ===
|
|
238
|
+
merge: v26
|
|
239
|
+
values: v27 v32
|
|
240
|
+
=== Succesors ===
|
|
241
|
+
=== Usages ===
|
|
242
|
+
v11
|
|
243
|
+
=== Predecessor ===
|
|
244
|
+
- >@ <|@
|
|
245
|
+
instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v26 values: v27 v32 <|@ <|@
|
|
246
|
+
f <@#|@fixed with next>@ <|@
|
|
247
|
+
tid v26 <|@
|
|
248
|
+
d <@d|@=== Debug Properties ===
|
|
249
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
250
|
+
stamp: void
|
|
251
|
+
withSpeculationFence: false
|
|
252
|
+
=== Inputs ===
|
|
253
|
+
stateAfter: -
|
|
254
|
+
ends: v21 v22
|
|
255
|
+
=== Succesors ===
|
|
256
|
+
next: v7
|
|
257
|
+
=== Usages ===
|
|
258
|
+
v33
|
|
259
|
+
=== Predecessor ===
|
|
260
|
+
- >@ <|@
|
|
261
|
+
instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v21 v22 #next: v7 <|@ <|@
|
|
262
|
+
f <@~|@floating>@ <|@
|
|
263
|
+
tid v8 <|@
|
|
264
|
+
d <@d|@=== Debug Properties ===
|
|
265
|
+
isDefaultStable: false
|
|
266
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
267
|
+
rawvalue: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
|
|
268
|
+
stableDimension: 0
|
|
269
|
+
stamp: Klass*!
|
|
270
|
+
stampKind: Klass*
|
|
271
|
+
value: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
|
|
272
|
+
=== Inputs ===
|
|
273
|
+
=== Succesors ===
|
|
274
|
+
=== Usages ===
|
|
275
|
+
v11
|
|
276
|
+
=== Predecessor ===
|
|
277
|
+
- >@ <|@
|
|
278
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
279
|
+
f <@~|@floating>@ <|@
|
|
280
|
+
tid v11 <|@
|
|
281
|
+
d <@d|@=== Debug Properties ===
|
|
282
|
+
condition: EQ
|
|
283
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
284
|
+
stamp: void
|
|
285
|
+
unorderedIsTrue: false
|
|
286
|
+
=== Inputs ===
|
|
287
|
+
x: v33
|
|
288
|
+
y: v8
|
|
289
|
+
=== Succesors ===
|
|
290
|
+
=== Usages ===
|
|
291
|
+
i19
|
|
292
|
+
=== Predecessor ===
|
|
293
|
+
- >@ <|@
|
|
294
|
+
instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v33 y: v8 <|@ <|@
|
|
295
|
+
f <@~|@floating>@ <|@
|
|
296
|
+
tid i4 <|@
|
|
297
|
+
d <@d|@=== Debug Properties ===
|
|
298
|
+
isDefaultStable: false
|
|
299
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
300
|
+
rawvalue: 1
|
|
301
|
+
stableDimension: 0
|
|
302
|
+
stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
|
|
303
|
+
stampKind: i32
|
|
304
|
+
value: int[1|0x1]
|
|
305
|
+
=== Inputs ===
|
|
306
|
+
=== Succesors ===
|
|
307
|
+
=== Usages ===
|
|
308
|
+
i19
|
|
309
|
+
=== Predecessor ===
|
|
310
|
+
- >@ <|@
|
|
311
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
312
|
+
f <@~|@floating>@ <|@
|
|
313
|
+
tid i5 <|@
|
|
314
|
+
d <@d|@=== Debug Properties ===
|
|
315
|
+
isDefaultStable: false
|
|
316
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
317
|
+
rawvalue: 0
|
|
318
|
+
stableDimension: 0
|
|
319
|
+
stamp: i32 [0] ⇈0000000000000000
|
|
320
|
+
stampKind: i32
|
|
321
|
+
value: int[0|0x0]
|
|
322
|
+
=== Inputs ===
|
|
323
|
+
=== Succesors ===
|
|
324
|
+
=== Usages ===
|
|
325
|
+
i19
|
|
326
|
+
=== Predecessor ===
|
|
327
|
+
- >@ <|@
|
|
328
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
329
|
+
f <@~|@floating>@ <|@
|
|
330
|
+
tid i19 <|@
|
|
331
|
+
d <@d|@=== Debug Properties ===
|
|
332
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofExact(InstanceOfSnippets.java:140) [bci: 0]
|
|
333
|
+
at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
334
|
+
stamp: i32 [0 - 1] ⇈0000000000000001
|
|
335
|
+
=== Inputs ===
|
|
336
|
+
condition: v11
|
|
337
|
+
trueValue: i4
|
|
338
|
+
falseValue: i5
|
|
339
|
+
=== Succesors ===
|
|
340
|
+
=== Usages ===
|
|
341
|
+
v7
|
|
342
|
+
=== Predecessor ===
|
|
343
|
+
- >@ <|@
|
|
344
|
+
instruction <@Conditional|@org.graalvm.compiler.nodes.calc.ConditionalNode>@ condition: v11 trueValue: i4 falseValue: i5 <|@ <|@
|
|
345
|
+
f <@*|@fixed>@ <|@
|
|
346
|
+
tid v7 <|@
|
|
347
|
+
d <@d|@=== Debug Properties ===
|
|
348
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 4]
|
|
349
|
+
stamp: void
|
|
350
|
+
=== Inputs ===
|
|
351
|
+
result: i19
|
|
352
|
+
memoryMap: -
|
|
353
|
+
=== Succesors ===
|
|
354
|
+
=== Usages ===
|
|
355
|
+
=== Predecessor ===
|
|
356
|
+
v26 >@ <|@
|
|
357
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i19 memoryMap: - <|@ <|@
|
|
358
|
+
end_IR
|
|
359
|
+
end_block
|
|
360
|
+
end_cfg
|
|
361
|
+
begin_cfg
|
|
362
|
+
name "After LIRGeneration"
|
|
363
|
+
begin_block
|
|
364
|
+
name "B0"
|
|
365
|
+
from_bci -1
|
|
366
|
+
to_bci -1
|
|
367
|
+
predecessors
|
|
368
|
+
successors "B1" "B2"
|
|
369
|
+
xhandlers
|
|
370
|
+
flags
|
|
371
|
+
probability 4607182418800017408
|
|
372
|
+
begin_IR
|
|
373
|
+
LIR
|
|
374
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
375
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
376
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
377
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
378
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
379
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
380
|
+
end_IR
|
|
381
|
+
end_block
|
|
382
|
+
begin_block
|
|
383
|
+
name "B2"
|
|
384
|
+
from_bci -1
|
|
385
|
+
to_bci -1
|
|
386
|
+
predecessors "B0"
|
|
387
|
+
successors "B3"
|
|
388
|
+
xhandlers
|
|
389
|
+
flags
|
|
390
|
+
probability 4602678819172646912
|
|
391
|
+
begin_IR
|
|
392
|
+
LIR
|
|
393
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
394
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
395
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
396
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
397
|
+
end_IR
|
|
398
|
+
end_block
|
|
399
|
+
begin_block
|
|
400
|
+
name "B3"
|
|
401
|
+
from_bci -1
|
|
402
|
+
to_bci -1
|
|
403
|
+
predecessors "B1" "B2"
|
|
404
|
+
successors
|
|
405
|
+
xhandlers
|
|
406
|
+
flags
|
|
407
|
+
probability 4607182418800017408
|
|
408
|
+
begin_IR
|
|
409
|
+
LIR
|
|
410
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
411
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
412
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
413
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
414
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
415
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
416
|
+
end_IR
|
|
417
|
+
end_block
|
|
418
|
+
begin_block
|
|
419
|
+
name "B1"
|
|
420
|
+
from_bci -1
|
|
421
|
+
to_bci -1
|
|
422
|
+
predecessors "B0"
|
|
423
|
+
successors "B3"
|
|
424
|
+
xhandlers
|
|
425
|
+
flags
|
|
426
|
+
probability 4602678819172646912
|
|
427
|
+
begin_IR
|
|
428
|
+
LIR
|
|
429
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
430
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
431
|
+
end_IR
|
|
432
|
+
end_block
|
|
433
|
+
end_cfg
|
|
434
|
+
begin_bytecodes
|
|
435
|
+
0: aload_0
|
|
436
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
437
|
+
4: ireturn
|
|
438
|
+
<|@
|
|
439
|
+
end_bytecodes
|
|
440
|
+
begin_cfg
|
|
441
|
+
name "After LIR generation"
|
|
442
|
+
begin_block
|
|
443
|
+
name "B0"
|
|
444
|
+
from_bci -1
|
|
445
|
+
to_bci -1
|
|
446
|
+
predecessors
|
|
447
|
+
successors "B1" "B2"
|
|
448
|
+
xhandlers
|
|
449
|
+
flags
|
|
450
|
+
probability 4607182418800017408
|
|
451
|
+
begin_IR
|
|
452
|
+
HIR
|
|
453
|
+
f <@#|@fixed with next>@ <|@
|
|
454
|
+
tid v0 <|@
|
|
455
|
+
d <@d|@=== Debug Properties ===
|
|
456
|
+
stamp: void
|
|
457
|
+
withSpeculationFence: false
|
|
458
|
+
=== Inputs ===
|
|
459
|
+
stateAfter: -
|
|
460
|
+
=== Succesors ===
|
|
461
|
+
next: v25
|
|
462
|
+
=== Usages ===
|
|
463
|
+
=== Predecessor ===
|
|
464
|
+
- >@ <|@
|
|
465
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v25 <|@ <|@
|
|
466
|
+
f <@~|@floating>@ <|@
|
|
467
|
+
tid a1 <|@
|
|
468
|
+
result v0|QWORD[.] <|@
|
|
469
|
+
d <@d|@=== Debug Properties ===
|
|
470
|
+
index: 0
|
|
471
|
+
stamp: a Ljava/lang/Object;
|
|
472
|
+
uncheckedStamp: [null]
|
|
473
|
+
=== Inputs ===
|
|
474
|
+
=== Succesors ===
|
|
475
|
+
=== Usages ===
|
|
476
|
+
v35 v20
|
|
477
|
+
=== Predecessor ===
|
|
478
|
+
- >@ <|@
|
|
479
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
480
|
+
f <@~|@floating>@ <|@
|
|
481
|
+
tid v20 <|@
|
|
482
|
+
d <@d|@=== Debug Properties ===
|
|
483
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
484
|
+
nullConstant: Object[null]
|
|
485
|
+
stamp: void
|
|
486
|
+
=== Inputs ===
|
|
487
|
+
value: a1
|
|
488
|
+
=== Succesors ===
|
|
489
|
+
=== Usages ===
|
|
490
|
+
v25
|
|
491
|
+
=== Predecessor ===
|
|
492
|
+
- >@ <|@
|
|
493
|
+
instruction <@IsNull|@org.graalvm.compiler.nodes.calc.IsNullNode>@ value: a1 <|@ <|@
|
|
494
|
+
f <@*|@fixed>@ <|@
|
|
495
|
+
tid v25 <|@
|
|
496
|
+
d <@d|@=== Debug Properties ===
|
|
497
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
498
|
+
stamp: void
|
|
499
|
+
trueSuccessorProbability: 0.5
|
|
500
|
+
=== Inputs ===
|
|
501
|
+
condition: v20
|
|
502
|
+
=== Succesors ===
|
|
503
|
+
trueSuccessor: v23
|
|
504
|
+
falseSuccessor: v24
|
|
505
|
+
=== Usages ===
|
|
506
|
+
=== Predecessor ===
|
|
507
|
+
v0 >@ <|@
|
|
508
|
+
instruction <@If|@org.graalvm.compiler.nodes.IfNode>@ condition: v20 #trueSuccessor: v23 #falseSuccessor: v24 <|@ <|@
|
|
509
|
+
end_IR
|
|
510
|
+
begin_IR
|
|
511
|
+
LIR
|
|
512
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
513
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
514
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
515
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
516
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
517
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
518
|
+
end_IR
|
|
519
|
+
end_block
|
|
520
|
+
begin_block
|
|
521
|
+
name "B1"
|
|
522
|
+
from_bci -1
|
|
523
|
+
to_bci -1
|
|
524
|
+
predecessors "B0"
|
|
525
|
+
successors "B3"
|
|
526
|
+
xhandlers
|
|
527
|
+
flags
|
|
528
|
+
probability 4602678819172646912
|
|
529
|
+
begin_IR
|
|
530
|
+
HIR
|
|
531
|
+
f <@#|@fixed with next>@ <|@
|
|
532
|
+
tid v23 <|@
|
|
533
|
+
d <@d|@=== Debug Properties ===
|
|
534
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
535
|
+
stamp: void
|
|
536
|
+
withSpeculationFence: false
|
|
537
|
+
=== Inputs ===
|
|
538
|
+
=== Succesors ===
|
|
539
|
+
next: v21
|
|
540
|
+
=== Usages ===
|
|
541
|
+
=== Predecessor ===
|
|
542
|
+
v25 >@ <|@
|
|
543
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v21 <|@ <|@
|
|
544
|
+
f <@~|@floating>@ <|@
|
|
545
|
+
tid v27 <|@
|
|
546
|
+
result Object[null] <|@
|
|
547
|
+
d <@d|@=== Debug Properties ===
|
|
548
|
+
isDefaultStable: false
|
|
549
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
550
|
+
rawvalue: null
|
|
551
|
+
stableDimension: 0
|
|
552
|
+
stamp: Klass* NULL
|
|
553
|
+
stampKind: Klass*
|
|
554
|
+
value: Object[null]
|
|
555
|
+
=== Inputs ===
|
|
556
|
+
=== Succesors ===
|
|
557
|
+
=== Usages ===
|
|
558
|
+
v33
|
|
559
|
+
=== Predecessor ===
|
|
560
|
+
- >@ <|@
|
|
561
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
562
|
+
f <@*|@fixed>@ <|@
|
|
563
|
+
tid v21 <|@
|
|
564
|
+
d <@d|@=== Debug Properties ===
|
|
565
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
566
|
+
stamp: void
|
|
567
|
+
=== Inputs ===
|
|
568
|
+
=== Succesors ===
|
|
569
|
+
=== Usages ===
|
|
570
|
+
v26
|
|
571
|
+
=== Predecessor ===
|
|
572
|
+
v23 >@ <|@
|
|
573
|
+
instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
|
|
574
|
+
end_IR
|
|
575
|
+
begin_IR
|
|
576
|
+
LIR
|
|
577
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
578
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
579
|
+
end_IR
|
|
580
|
+
end_block
|
|
581
|
+
begin_block
|
|
582
|
+
name "B2"
|
|
583
|
+
from_bci -1
|
|
584
|
+
to_bci -1
|
|
585
|
+
predecessors "B0"
|
|
586
|
+
successors "B3"
|
|
587
|
+
xhandlers
|
|
588
|
+
flags
|
|
589
|
+
probability 4602678819172646912
|
|
590
|
+
begin_IR
|
|
591
|
+
HIR
|
|
592
|
+
f <@#|@fixed with next>@ <|@
|
|
593
|
+
tid v24 <|@
|
|
594
|
+
d <@d|@=== Debug Properties ===
|
|
595
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
596
|
+
stamp: void
|
|
597
|
+
withSpeculationFence: false
|
|
598
|
+
=== Inputs ===
|
|
599
|
+
=== Succesors ===
|
|
600
|
+
next: v34
|
|
601
|
+
=== Usages ===
|
|
602
|
+
=== Predecessor ===
|
|
603
|
+
v25 >@ <|@
|
|
604
|
+
instruction <@Begin|@org.graalvm.compiler.nodes.BeginNode>@ #next: v34 <|@ <|@
|
|
605
|
+
f <@~|@floating>@ <|@
|
|
606
|
+
tid v35 <|@
|
|
607
|
+
result [v0|QWORD[.] + 8] <|@
|
|
608
|
+
d <@d|@=== Debug Properties ===
|
|
609
|
+
displacement: 8
|
|
610
|
+
scale: Times1
|
|
611
|
+
stamp: void*
|
|
612
|
+
=== Inputs ===
|
|
613
|
+
base: a1
|
|
614
|
+
index: -
|
|
615
|
+
=== Succesors ===
|
|
616
|
+
=== Usages ===
|
|
617
|
+
v34
|
|
618
|
+
=== Predecessor ===
|
|
619
|
+
- >@ <|@
|
|
620
|
+
instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
|
|
621
|
+
f <@#|@fixed with next>@ <|@
|
|
622
|
+
tid v34 <|@
|
|
623
|
+
result v1|DWORD <|@
|
|
624
|
+
d <@d|@=== Debug Properties ===
|
|
625
|
+
barrierType: NONE
|
|
626
|
+
forceFixed: false
|
|
627
|
+
location: CompressedHub:final
|
|
628
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
629
|
+
nullCheck: false
|
|
630
|
+
stamp: Klass*!(compressed base: 0 shift: 3)
|
|
631
|
+
=== Inputs ===
|
|
632
|
+
stateBefore: -
|
|
633
|
+
guard: -
|
|
634
|
+
address: v35
|
|
635
|
+
lastLocationAccess: -
|
|
636
|
+
=== Succesors ===
|
|
637
|
+
next: v22
|
|
638
|
+
=== Usages ===
|
|
639
|
+
v32
|
|
640
|
+
=== Predecessor ===
|
|
641
|
+
v24 >@ <|@
|
|
642
|
+
instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: - guard: - address: v35 lastLocationAccess: - #next: v22 <|@ <|@
|
|
643
|
+
f <@~|@floating>@ <|@
|
|
644
|
+
tid v32 <|@
|
|
645
|
+
result v2|QWORD <|@
|
|
646
|
+
d <@d|@=== Debug Properties ===
|
|
647
|
+
encoding: base: 0 shift: 3
|
|
648
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
649
|
+
op: Uncompress
|
|
650
|
+
stamp: Klass*!
|
|
651
|
+
=== Inputs ===
|
|
652
|
+
value: v34
|
|
653
|
+
=== Succesors ===
|
|
654
|
+
=== Usages ===
|
|
655
|
+
v33
|
|
656
|
+
=== Predecessor ===
|
|
657
|
+
- >@ <|@
|
|
658
|
+
instruction <@HotSpotCompression|@org.graalvm.compiler.hotspot.nodes.HotSpotCompressionNode>@ value: v34 <|@ <|@
|
|
659
|
+
f <@*|@fixed>@ <|@
|
|
660
|
+
tid v22 <|@
|
|
661
|
+
d <@d|@=== Debug Properties ===
|
|
662
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
663
|
+
stamp: void
|
|
664
|
+
=== Inputs ===
|
|
665
|
+
=== Succesors ===
|
|
666
|
+
=== Usages ===
|
|
667
|
+
v26
|
|
668
|
+
=== Predecessor ===
|
|
669
|
+
v34 >@ <|@
|
|
670
|
+
instruction <@EndNode|@org.graalvm.compiler.nodes.EndNode>@ <|@ <|@
|
|
671
|
+
end_IR
|
|
672
|
+
begin_IR
|
|
673
|
+
LIR
|
|
674
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
675
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
676
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
677
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
678
|
+
end_IR
|
|
679
|
+
end_block
|
|
680
|
+
begin_block
|
|
681
|
+
name "B3"
|
|
682
|
+
from_bci -1
|
|
683
|
+
to_bci -1
|
|
684
|
+
predecessors "B1" "B2"
|
|
685
|
+
successors
|
|
686
|
+
xhandlers
|
|
687
|
+
flags
|
|
688
|
+
probability 4607182418800017408
|
|
689
|
+
begin_IR
|
|
690
|
+
HIR
|
|
691
|
+
f <@~|@floating>@ <|@
|
|
692
|
+
tid v33 <|@
|
|
693
|
+
result v3|QWORD <|@
|
|
694
|
+
d <@d|@=== Debug Properties ===
|
|
695
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
696
|
+
stamp: Klass*
|
|
697
|
+
valueDescription: Klass*
|
|
698
|
+
=== Inputs ===
|
|
699
|
+
merge: v26
|
|
700
|
+
values: v27 v32
|
|
701
|
+
=== Succesors ===
|
|
702
|
+
=== Usages ===
|
|
703
|
+
v11
|
|
704
|
+
=== Predecessor ===
|
|
705
|
+
- >@ <|@
|
|
706
|
+
instruction <@ValuePhi|@org.graalvm.compiler.nodes.ValuePhiNode>@ merge: v26 values: v27 v32 <|@ <|@
|
|
707
|
+
f <@#|@fixed with next>@ <|@
|
|
708
|
+
tid v26 <|@
|
|
709
|
+
d <@d|@=== Debug Properties ===
|
|
710
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
711
|
+
stamp: void
|
|
712
|
+
withSpeculationFence: false
|
|
713
|
+
=== Inputs ===
|
|
714
|
+
stateAfter: -
|
|
715
|
+
ends: v21 v22
|
|
716
|
+
=== Succesors ===
|
|
717
|
+
next: v7
|
|
718
|
+
=== Usages ===
|
|
719
|
+
v33
|
|
720
|
+
=== Predecessor ===
|
|
721
|
+
- >@ <|@
|
|
722
|
+
instruction <@Merge|@org.graalvm.compiler.nodes.MergeNode>@ stateAfter: - ends: v21 v22 #next: v7 <|@ <|@
|
|
723
|
+
f <@~|@floating>@ <|@
|
|
724
|
+
tid v8 <|@
|
|
725
|
+
result v4|QWORD <|@
|
|
726
|
+
d <@d|@=== Debug Properties ===
|
|
727
|
+
isDefaultStable: false
|
|
728
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
729
|
+
rawvalue: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
|
|
730
|
+
stableDimension: 0
|
|
731
|
+
stamp: Klass*!
|
|
732
|
+
stampKind: Klass*
|
|
733
|
+
value: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}
|
|
734
|
+
=== Inputs ===
|
|
735
|
+
=== Succesors ===
|
|
736
|
+
=== Usages ===
|
|
737
|
+
v11
|
|
738
|
+
=== Predecessor ===
|
|
739
|
+
- >@ <|@
|
|
740
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
741
|
+
f <@~|@floating>@ <|@
|
|
742
|
+
tid v11 <|@
|
|
743
|
+
d <@d|@=== Debug Properties ===
|
|
744
|
+
condition: EQ
|
|
745
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
746
|
+
stamp: void
|
|
747
|
+
unorderedIsTrue: false
|
|
748
|
+
=== Inputs ===
|
|
749
|
+
x: v33
|
|
750
|
+
y: v8
|
|
751
|
+
=== Succesors ===
|
|
752
|
+
=== Usages ===
|
|
753
|
+
i19
|
|
754
|
+
=== Predecessor ===
|
|
755
|
+
- >@ <|@
|
|
756
|
+
instruction <@==|@org.graalvm.compiler.nodes.calc.PointerEqualsNode>@ x: v33 y: v8 <|@ <|@
|
|
757
|
+
f <@~|@floating>@ <|@
|
|
758
|
+
tid i4 <|@
|
|
759
|
+
result int[1|0x1] <|@
|
|
760
|
+
d <@d|@=== Debug Properties ===
|
|
761
|
+
isDefaultStable: false
|
|
762
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
763
|
+
rawvalue: 1
|
|
764
|
+
stableDimension: 0
|
|
765
|
+
stamp: i32 [1] ⇊0000000000000001 ⇈0000000000000001
|
|
766
|
+
stampKind: i32
|
|
767
|
+
value: int[1|0x1]
|
|
768
|
+
=== Inputs ===
|
|
769
|
+
=== Succesors ===
|
|
770
|
+
=== Usages ===
|
|
771
|
+
i19
|
|
772
|
+
=== Predecessor ===
|
|
773
|
+
- >@ <|@
|
|
774
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
775
|
+
f <@~|@floating>@ <|@
|
|
776
|
+
tid i5 <|@
|
|
777
|
+
result int[0|0x0] <|@
|
|
778
|
+
d <@d|@=== Debug Properties ===
|
|
779
|
+
isDefaultStable: false
|
|
780
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
781
|
+
rawvalue: 0
|
|
782
|
+
stableDimension: 0
|
|
783
|
+
stamp: i32 [0] ⇈0000000000000000
|
|
784
|
+
stampKind: i32
|
|
785
|
+
value: int[0|0x0]
|
|
786
|
+
=== Inputs ===
|
|
787
|
+
=== Succesors ===
|
|
788
|
+
=== Usages ===
|
|
789
|
+
i19
|
|
790
|
+
=== Predecessor ===
|
|
791
|
+
- >@ <|@
|
|
792
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
793
|
+
f <@~|@floating>@ <|@
|
|
794
|
+
tid i19 <|@
|
|
795
|
+
result v5|DWORD <|@
|
|
796
|
+
d <@d|@=== Debug Properties ===
|
|
797
|
+
nodeSourcePosition: at org.graalvm.compiler.hotspot.replacements.InstanceOfSnippets.instanceofExact(InstanceOfSnippets.java:140) [bci: 0]
|
|
798
|
+
at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 1]
|
|
799
|
+
stamp: i32 [0 - 1] ⇈0000000000000001
|
|
800
|
+
=== Inputs ===
|
|
801
|
+
condition: v11
|
|
802
|
+
trueValue: i4
|
|
803
|
+
falseValue: i5
|
|
804
|
+
=== Succesors ===
|
|
805
|
+
=== Usages ===
|
|
806
|
+
v7
|
|
807
|
+
=== Predecessor ===
|
|
808
|
+
- >@ <|@
|
|
809
|
+
instruction <@Conditional|@org.graalvm.compiler.nodes.calc.ConditionalNode>@ condition: v11 trueValue: i4 falseValue: i5 <|@ <|@
|
|
810
|
+
f <@*|@fixed>@ <|@
|
|
811
|
+
tid v7 <|@
|
|
812
|
+
d <@d|@=== Debug Properties ===
|
|
813
|
+
nodeSourcePosition: at JavaExamples.exampleInstanceOfOneImpl(JavaExamples.java:328) [bci: 4]
|
|
814
|
+
stamp: void
|
|
815
|
+
=== Inputs ===
|
|
816
|
+
result: i19
|
|
817
|
+
memoryMap: -
|
|
818
|
+
=== Succesors ===
|
|
819
|
+
=== Usages ===
|
|
820
|
+
=== Predecessor ===
|
|
821
|
+
v26 >@ <|@
|
|
822
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i19 memoryMap: - <|@ <|@
|
|
823
|
+
end_IR
|
|
824
|
+
begin_IR
|
|
825
|
+
LIR
|
|
826
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
827
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
828
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
829
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
830
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
831
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
832
|
+
end_IR
|
|
833
|
+
end_block
|
|
834
|
+
end_cfg
|
|
835
|
+
begin_cfg
|
|
836
|
+
name "After ConstantLoadOptimization"
|
|
837
|
+
begin_block
|
|
838
|
+
name "B0"
|
|
839
|
+
from_bci -1
|
|
840
|
+
to_bci -1
|
|
841
|
+
predecessors
|
|
842
|
+
successors "B1" "B2"
|
|
843
|
+
xhandlers
|
|
844
|
+
flags
|
|
845
|
+
probability 4607182418800017408
|
|
846
|
+
begin_IR
|
|
847
|
+
LIR
|
|
848
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
849
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
850
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
851
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
852
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
853
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
854
|
+
end_IR
|
|
855
|
+
end_block
|
|
856
|
+
begin_block
|
|
857
|
+
name "B2"
|
|
858
|
+
from_bci -1
|
|
859
|
+
to_bci -1
|
|
860
|
+
predecessors "B0"
|
|
861
|
+
successors "B3"
|
|
862
|
+
xhandlers
|
|
863
|
+
flags
|
|
864
|
+
probability 4602678819172646912
|
|
865
|
+
begin_IR
|
|
866
|
+
LIR
|
|
867
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
868
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
869
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
870
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
871
|
+
end_IR
|
|
872
|
+
end_block
|
|
873
|
+
begin_block
|
|
874
|
+
name "B3"
|
|
875
|
+
from_bci -1
|
|
876
|
+
to_bci -1
|
|
877
|
+
predecessors "B1" "B2"
|
|
878
|
+
successors
|
|
879
|
+
xhandlers
|
|
880
|
+
flags
|
|
881
|
+
probability 4607182418800017408
|
|
882
|
+
begin_IR
|
|
883
|
+
LIR
|
|
884
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
885
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
886
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
887
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
888
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
889
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
890
|
+
end_IR
|
|
891
|
+
end_block
|
|
892
|
+
begin_block
|
|
893
|
+
name "B1"
|
|
894
|
+
from_bci -1
|
|
895
|
+
to_bci -1
|
|
896
|
+
predecessors "B0"
|
|
897
|
+
successors "B3"
|
|
898
|
+
xhandlers
|
|
899
|
+
flags
|
|
900
|
+
probability 4602678819172646912
|
|
901
|
+
begin_IR
|
|
902
|
+
LIR
|
|
903
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
904
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
905
|
+
end_IR
|
|
906
|
+
end_block
|
|
907
|
+
end_cfg
|
|
908
|
+
begin_bytecodes
|
|
909
|
+
0: aload_0
|
|
910
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
911
|
+
4: ireturn
|
|
912
|
+
<|@
|
|
913
|
+
end_bytecodes
|
|
914
|
+
begin_cfg
|
|
915
|
+
name "After SaveCalleeSaveRegisters"
|
|
916
|
+
begin_block
|
|
917
|
+
name "B0"
|
|
918
|
+
from_bci -1
|
|
919
|
+
to_bci -1
|
|
920
|
+
predecessors
|
|
921
|
+
successors "B1" "B2"
|
|
922
|
+
xhandlers
|
|
923
|
+
flags
|
|
924
|
+
probability 4607182418800017408
|
|
925
|
+
begin_IR
|
|
926
|
+
LIR
|
|
927
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
928
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
929
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
930
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
931
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
932
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
933
|
+
end_IR
|
|
934
|
+
end_block
|
|
935
|
+
begin_block
|
|
936
|
+
name "B2"
|
|
937
|
+
from_bci -1
|
|
938
|
+
to_bci -1
|
|
939
|
+
predecessors "B0"
|
|
940
|
+
successors "B3"
|
|
941
|
+
xhandlers
|
|
942
|
+
flags
|
|
943
|
+
probability 4602678819172646912
|
|
944
|
+
begin_IR
|
|
945
|
+
LIR
|
|
946
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
947
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
948
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
949
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
950
|
+
end_IR
|
|
951
|
+
end_block
|
|
952
|
+
begin_block
|
|
953
|
+
name "B3"
|
|
954
|
+
from_bci -1
|
|
955
|
+
to_bci -1
|
|
956
|
+
predecessors "B1" "B2"
|
|
957
|
+
successors
|
|
958
|
+
xhandlers
|
|
959
|
+
flags
|
|
960
|
+
probability 4607182418800017408
|
|
961
|
+
begin_IR
|
|
962
|
+
LIR
|
|
963
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
964
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
965
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
966
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
967
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
968
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
969
|
+
end_IR
|
|
970
|
+
end_block
|
|
971
|
+
begin_block
|
|
972
|
+
name "B1"
|
|
973
|
+
from_bci -1
|
|
974
|
+
to_bci -1
|
|
975
|
+
predecessors "B0"
|
|
976
|
+
successors "B3"
|
|
977
|
+
xhandlers
|
|
978
|
+
flags
|
|
979
|
+
probability 4602678819172646912
|
|
980
|
+
begin_IR
|
|
981
|
+
LIR
|
|
982
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
983
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
984
|
+
end_IR
|
|
985
|
+
end_block
|
|
986
|
+
end_cfg
|
|
987
|
+
begin_bytecodes
|
|
988
|
+
0: aload_0
|
|
989
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
990
|
+
4: ireturn
|
|
991
|
+
<|@
|
|
992
|
+
end_bytecodes
|
|
993
|
+
begin_cfg
|
|
994
|
+
name "After PreAllocationOptimizationStage"
|
|
995
|
+
begin_block
|
|
996
|
+
name "B0"
|
|
997
|
+
from_bci -1
|
|
998
|
+
to_bci -1
|
|
999
|
+
predecessors
|
|
1000
|
+
successors "B1" "B2"
|
|
1001
|
+
xhandlers
|
|
1002
|
+
flags
|
|
1003
|
+
probability 4607182418800017408
|
|
1004
|
+
begin_IR
|
|
1005
|
+
LIR
|
|
1006
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1007
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1008
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1009
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1010
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1011
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1012
|
+
end_IR
|
|
1013
|
+
end_block
|
|
1014
|
+
begin_block
|
|
1015
|
+
name "B2"
|
|
1016
|
+
from_bci -1
|
|
1017
|
+
to_bci -1
|
|
1018
|
+
predecessors "B0"
|
|
1019
|
+
successors "B3"
|
|
1020
|
+
xhandlers
|
|
1021
|
+
flags
|
|
1022
|
+
probability 4602678819172646912
|
|
1023
|
+
begin_IR
|
|
1024
|
+
LIR
|
|
1025
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1026
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1027
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1028
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1029
|
+
end_IR
|
|
1030
|
+
end_block
|
|
1031
|
+
begin_block
|
|
1032
|
+
name "B3"
|
|
1033
|
+
from_bci -1
|
|
1034
|
+
to_bci -1
|
|
1035
|
+
predecessors "B1" "B2"
|
|
1036
|
+
successors
|
|
1037
|
+
xhandlers
|
|
1038
|
+
flags
|
|
1039
|
+
probability 4607182418800017408
|
|
1040
|
+
begin_IR
|
|
1041
|
+
LIR
|
|
1042
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1043
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1044
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1045
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1046
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1047
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1048
|
+
end_IR
|
|
1049
|
+
end_block
|
|
1050
|
+
begin_block
|
|
1051
|
+
name "B1"
|
|
1052
|
+
from_bci -1
|
|
1053
|
+
to_bci -1
|
|
1054
|
+
predecessors "B0"
|
|
1055
|
+
successors "B3"
|
|
1056
|
+
xhandlers
|
|
1057
|
+
flags
|
|
1058
|
+
probability 4602678819172646912
|
|
1059
|
+
begin_IR
|
|
1060
|
+
LIR
|
|
1061
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1062
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1063
|
+
end_IR
|
|
1064
|
+
end_block
|
|
1065
|
+
end_cfg
|
|
1066
|
+
begin_bytecodes
|
|
1067
|
+
0: aload_0
|
|
1068
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1069
|
+
4: ireturn
|
|
1070
|
+
<|@
|
|
1071
|
+
end_bytecodes
|
|
1072
|
+
begin_cfg
|
|
1073
|
+
name "After MarkBasePointers"
|
|
1074
|
+
begin_block
|
|
1075
|
+
name "B0"
|
|
1076
|
+
from_bci -1
|
|
1077
|
+
to_bci -1
|
|
1078
|
+
predecessors
|
|
1079
|
+
successors "B1" "B2"
|
|
1080
|
+
xhandlers
|
|
1081
|
+
flags
|
|
1082
|
+
probability 4607182418800017408
|
|
1083
|
+
begin_IR
|
|
1084
|
+
LIR
|
|
1085
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1086
|
+
nr -1 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1087
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1088
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1089
|
+
nr -1 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1090
|
+
nr -1 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1091
|
+
end_IR
|
|
1092
|
+
end_block
|
|
1093
|
+
begin_block
|
|
1094
|
+
name "B2"
|
|
1095
|
+
from_bci -1
|
|
1096
|
+
to_bci -1
|
|
1097
|
+
predecessors "B0"
|
|
1098
|
+
successors "B3"
|
|
1099
|
+
xhandlers
|
|
1100
|
+
flags
|
|
1101
|
+
probability 4602678819172646912
|
|
1102
|
+
begin_IR
|
|
1103
|
+
LIR
|
|
1104
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1105
|
+
nr -1 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1106
|
+
nr -1 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1107
|
+
nr -1 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1108
|
+
end_IR
|
|
1109
|
+
end_block
|
|
1110
|
+
begin_block
|
|
1111
|
+
name "B3"
|
|
1112
|
+
from_bci -1
|
|
1113
|
+
to_bci -1
|
|
1114
|
+
predecessors "B1" "B2"
|
|
1115
|
+
successors
|
|
1116
|
+
xhandlers
|
|
1117
|
+
flags
|
|
1118
|
+
probability 4607182418800017408
|
|
1119
|
+
begin_IR
|
|
1120
|
+
LIR
|
|
1121
|
+
nr -1 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1122
|
+
nr -1 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1123
|
+
nr -1 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1124
|
+
nr -1 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1125
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1126
|
+
nr -1 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1127
|
+
end_IR
|
|
1128
|
+
end_block
|
|
1129
|
+
begin_block
|
|
1130
|
+
name "B1"
|
|
1131
|
+
from_bci -1
|
|
1132
|
+
to_bci -1
|
|
1133
|
+
predecessors "B0"
|
|
1134
|
+
successors "B3"
|
|
1135
|
+
xhandlers
|
|
1136
|
+
flags
|
|
1137
|
+
probability 4602678819172646912
|
|
1138
|
+
begin_IR
|
|
1139
|
+
LIR
|
|
1140
|
+
nr -1 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1141
|
+
nr -1 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1142
|
+
end_IR
|
|
1143
|
+
end_block
|
|
1144
|
+
end_cfg
|
|
1145
|
+
begin_bytecodes
|
|
1146
|
+
0: aload_0
|
|
1147
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1148
|
+
4: ireturn
|
|
1149
|
+
<|@
|
|
1150
|
+
end_bytecodes
|
|
1151
|
+
begin_cfg
|
|
1152
|
+
name "Before register allocation"
|
|
1153
|
+
begin_block
|
|
1154
|
+
name "B0"
|
|
1155
|
+
from_bci -1
|
|
1156
|
+
to_bci -1
|
|
1157
|
+
predecessors
|
|
1158
|
+
successors "B1" "B2"
|
|
1159
|
+
xhandlers
|
|
1160
|
+
flags
|
|
1161
|
+
probability 4607182418800017408
|
|
1162
|
+
begin_IR
|
|
1163
|
+
LIR
|
|
1164
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1165
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1166
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1167
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1168
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1169
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1170
|
+
end_IR
|
|
1171
|
+
end_block
|
|
1172
|
+
begin_block
|
|
1173
|
+
name "B2"
|
|
1174
|
+
from_bci -1
|
|
1175
|
+
to_bci -1
|
|
1176
|
+
predecessors "B0"
|
|
1177
|
+
successors "B3"
|
|
1178
|
+
xhandlers
|
|
1179
|
+
flags
|
|
1180
|
+
probability 4602678819172646912
|
|
1181
|
+
begin_IR
|
|
1182
|
+
LIR
|
|
1183
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1184
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1185
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1186
|
+
nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1187
|
+
end_IR
|
|
1188
|
+
end_block
|
|
1189
|
+
begin_block
|
|
1190
|
+
name "B3"
|
|
1191
|
+
from_bci -1
|
|
1192
|
+
to_bci -1
|
|
1193
|
+
predecessors "B1" "B2"
|
|
1194
|
+
successors
|
|
1195
|
+
xhandlers
|
|
1196
|
+
flags
|
|
1197
|
+
probability 4607182418800017408
|
|
1198
|
+
begin_IR
|
|
1199
|
+
LIR
|
|
1200
|
+
nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1201
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1202
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1203
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1204
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1205
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1206
|
+
end_IR
|
|
1207
|
+
end_block
|
|
1208
|
+
begin_block
|
|
1209
|
+
name "B1"
|
|
1210
|
+
from_bci -1
|
|
1211
|
+
to_bci -1
|
|
1212
|
+
predecessors "B0"
|
|
1213
|
+
successors "B3"
|
|
1214
|
+
xhandlers
|
|
1215
|
+
flags
|
|
1216
|
+
probability 4602678819172646912
|
|
1217
|
+
begin_IR
|
|
1218
|
+
LIR
|
|
1219
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1220
|
+
nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1221
|
+
end_IR
|
|
1222
|
+
end_block
|
|
1223
|
+
end_cfg
|
|
1224
|
+
begin_bytecodes
|
|
1225
|
+
0: aload_0
|
|
1226
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1227
|
+
4: ireturn
|
|
1228
|
+
<|@
|
|
1229
|
+
end_bytecodes
|
|
1230
|
+
begin_cfg
|
|
1231
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
1232
|
+
begin_block
|
|
1233
|
+
name "B0"
|
|
1234
|
+
from_bci -1
|
|
1235
|
+
to_bci -1
|
|
1236
|
+
predecessors
|
|
1237
|
+
successors "B1" "B2"
|
|
1238
|
+
xhandlers
|
|
1239
|
+
flags
|
|
1240
|
+
probability 4607182418800017408
|
|
1241
|
+
begin_IR
|
|
1242
|
+
LIR
|
|
1243
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1244
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1245
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1246
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1247
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1248
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1249
|
+
end_IR
|
|
1250
|
+
end_block
|
|
1251
|
+
begin_block
|
|
1252
|
+
name "B2"
|
|
1253
|
+
from_bci -1
|
|
1254
|
+
to_bci -1
|
|
1255
|
+
predecessors "B0"
|
|
1256
|
+
successors "B3"
|
|
1257
|
+
xhandlers
|
|
1258
|
+
flags
|
|
1259
|
+
probability 4602678819172646912
|
|
1260
|
+
begin_IR
|
|
1261
|
+
LIR
|
|
1262
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1263
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1264
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1265
|
+
nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1266
|
+
end_IR
|
|
1267
|
+
end_block
|
|
1268
|
+
begin_block
|
|
1269
|
+
name "B3"
|
|
1270
|
+
from_bci -1
|
|
1271
|
+
to_bci -1
|
|
1272
|
+
predecessors "B1" "B2"
|
|
1273
|
+
successors
|
|
1274
|
+
xhandlers
|
|
1275
|
+
flags
|
|
1276
|
+
probability 4607182418800017408
|
|
1277
|
+
begin_IR
|
|
1278
|
+
LIR
|
|
1279
|
+
nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1280
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1281
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1282
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1283
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1284
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1285
|
+
end_IR
|
|
1286
|
+
end_block
|
|
1287
|
+
begin_block
|
|
1288
|
+
name "B1"
|
|
1289
|
+
from_bci -1
|
|
1290
|
+
to_bci -1
|
|
1291
|
+
predecessors "B0"
|
|
1292
|
+
successors "B3"
|
|
1293
|
+
xhandlers
|
|
1294
|
+
flags
|
|
1295
|
+
probability 4602678819172646912
|
|
1296
|
+
begin_IR
|
|
1297
|
+
LIR
|
|
1298
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1299
|
+
nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1300
|
+
end_IR
|
|
1301
|
+
end_block
|
|
1302
|
+
end_cfg
|
|
1303
|
+
begin_bytecodes
|
|
1304
|
+
0: aload_0
|
|
1305
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1306
|
+
4: ireturn
|
|
1307
|
+
<|@
|
|
1308
|
+
end_bytecodes
|
|
1309
|
+
begin_intervals
|
|
1310
|
+
name "Before register allocation"
|
|
1311
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
|
|
1312
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1313
|
+
rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
|
|
1314
|
+
v0|q QWORD "[v0|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
|
|
1315
|
+
v1|d DWORD "[v1|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1316
|
+
v2|q QWORD "[v2|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
1317
|
+
v3|q QWORD "[v3|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
|
|
1318
|
+
v4|q QWORD "[v4|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
|
|
1319
|
+
v5|d DWORD "[v5|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
|
|
1320
|
+
v6|q QWORD "[v6|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1321
|
+
end_intervals
|
|
1322
|
+
begin_intervals
|
|
1323
|
+
name "After register allocation"
|
|
1324
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
|
|
1325
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1326
|
+
rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
|
|
1327
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
|
|
1328
|
+
v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1329
|
+
v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
1330
|
+
v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
|
|
1331
|
+
v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
|
|
1332
|
+
v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
|
|
1333
|
+
v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1334
|
+
end_intervals
|
|
1335
|
+
begin_cfg
|
|
1336
|
+
name "After LinearScanRegisterAllocation"
|
|
1337
|
+
begin_block
|
|
1338
|
+
name "B0"
|
|
1339
|
+
from_bci -1
|
|
1340
|
+
to_bci -1
|
|
1341
|
+
predecessors
|
|
1342
|
+
successors "B1" "B2"
|
|
1343
|
+
xhandlers
|
|
1344
|
+
flags
|
|
1345
|
+
probability 4607182418800017408
|
|
1346
|
+
begin_IR
|
|
1347
|
+
LIR
|
|
1348
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1349
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1350
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1351
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1352
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1353
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1354
|
+
end_IR
|
|
1355
|
+
end_block
|
|
1356
|
+
begin_block
|
|
1357
|
+
name "B2"
|
|
1358
|
+
from_bci -1
|
|
1359
|
+
to_bci -1
|
|
1360
|
+
predecessors "B0"
|
|
1361
|
+
successors "B3"
|
|
1362
|
+
xhandlers
|
|
1363
|
+
flags
|
|
1364
|
+
probability 4602678819172646912
|
|
1365
|
+
begin_IR
|
|
1366
|
+
LIR
|
|
1367
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1368
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1369
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1370
|
+
nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1371
|
+
end_IR
|
|
1372
|
+
end_block
|
|
1373
|
+
begin_block
|
|
1374
|
+
name "B3"
|
|
1375
|
+
from_bci -1
|
|
1376
|
+
to_bci -1
|
|
1377
|
+
predecessors "B1" "B2"
|
|
1378
|
+
successors
|
|
1379
|
+
xhandlers
|
|
1380
|
+
flags
|
|
1381
|
+
probability 4607182418800017408
|
|
1382
|
+
begin_IR
|
|
1383
|
+
LIR
|
|
1384
|
+
nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1385
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1386
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1387
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1388
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1389
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1390
|
+
end_IR
|
|
1391
|
+
end_block
|
|
1392
|
+
begin_block
|
|
1393
|
+
name "B1"
|
|
1394
|
+
from_bci -1
|
|
1395
|
+
to_bci -1
|
|
1396
|
+
predecessors "B0"
|
|
1397
|
+
successors "B3"
|
|
1398
|
+
xhandlers
|
|
1399
|
+
flags
|
|
1400
|
+
probability 4602678819172646912
|
|
1401
|
+
begin_IR
|
|
1402
|
+
LIR
|
|
1403
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1404
|
+
nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1405
|
+
end_IR
|
|
1406
|
+
end_block
|
|
1407
|
+
end_cfg
|
|
1408
|
+
begin_bytecodes
|
|
1409
|
+
0: aload_0
|
|
1410
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1411
|
+
4: ireturn
|
|
1412
|
+
<|@
|
|
1413
|
+
end_bytecodes
|
|
1414
|
+
begin_intervals
|
|
1415
|
+
name "After optimize spill position"
|
|
1416
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
|
|
1417
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1418
|
+
rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
|
|
1419
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
|
|
1420
|
+
v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1421
|
+
v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
1422
|
+
v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
|
|
1423
|
+
v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
|
|
1424
|
+
v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
|
|
1425
|
+
v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1426
|
+
end_intervals
|
|
1427
|
+
begin_cfg
|
|
1428
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
1429
|
+
begin_block
|
|
1430
|
+
name "B0"
|
|
1431
|
+
from_bci -1
|
|
1432
|
+
to_bci -1
|
|
1433
|
+
predecessors
|
|
1434
|
+
successors "B1" "B2"
|
|
1435
|
+
xhandlers
|
|
1436
|
+
flags
|
|
1437
|
+
probability 4607182418800017408
|
|
1438
|
+
begin_IR
|
|
1439
|
+
LIR
|
|
1440
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1441
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1442
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1443
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1444
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1445
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1446
|
+
end_IR
|
|
1447
|
+
end_block
|
|
1448
|
+
begin_block
|
|
1449
|
+
name "B2"
|
|
1450
|
+
from_bci -1
|
|
1451
|
+
to_bci -1
|
|
1452
|
+
predecessors "B0"
|
|
1453
|
+
successors "B3"
|
|
1454
|
+
xhandlers
|
|
1455
|
+
flags
|
|
1456
|
+
probability 4602678819172646912
|
|
1457
|
+
begin_IR
|
|
1458
|
+
LIR
|
|
1459
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1460
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1461
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1462
|
+
nr 18 <|@ instruction JUMP ~[v2|QWORD] destination: B2 -> B3 <|@ <|@
|
|
1463
|
+
end_IR
|
|
1464
|
+
end_block
|
|
1465
|
+
begin_block
|
|
1466
|
+
name "B3"
|
|
1467
|
+
from_bci -1
|
|
1468
|
+
to_bci -1
|
|
1469
|
+
predecessors "B1" "B2"
|
|
1470
|
+
successors
|
|
1471
|
+
xhandlers
|
|
1472
|
+
flags
|
|
1473
|
+
probability 4607182418800017408
|
|
1474
|
+
begin_IR
|
|
1475
|
+
LIR
|
|
1476
|
+
nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1477
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1478
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1479
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1480
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1481
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1482
|
+
end_IR
|
|
1483
|
+
end_block
|
|
1484
|
+
begin_block
|
|
1485
|
+
name "B1"
|
|
1486
|
+
from_bci -1
|
|
1487
|
+
to_bci -1
|
|
1488
|
+
predecessors "B0"
|
|
1489
|
+
successors "B3"
|
|
1490
|
+
xhandlers
|
|
1491
|
+
flags
|
|
1492
|
+
probability 4602678819172646912
|
|
1493
|
+
begin_IR
|
|
1494
|
+
LIR
|
|
1495
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1496
|
+
nr 22 <|@ instruction JUMP ~[Object[null]] destination: B1 -> B3 <|@ <|@
|
|
1497
|
+
end_IR
|
|
1498
|
+
end_block
|
|
1499
|
+
end_cfg
|
|
1500
|
+
begin_bytecodes
|
|
1501
|
+
0: aload_0
|
|
1502
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1503
|
+
4: ireturn
|
|
1504
|
+
<|@
|
|
1505
|
+
end_bytecodes
|
|
1506
|
+
begin_intervals
|
|
1507
|
+
name "After resolve data flow"
|
|
1508
|
+
rax|d fixed "[rax|d]" rax|d v5|d [0, 1[[32, 34[ "NoSpillStore"
|
|
1509
|
+
rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
|
|
1510
|
+
rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
|
|
1511
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 14[6 MustHaveRegister 8 MustHaveRegister 14 MustHaveRegister "NoSpillStore"
|
|
1512
|
+
v1|d DWORD "[rax|d]" v1|d -1 [14, 16[14 MustHaveRegister 16 MustHaveRegister "NoSpillStore"
|
|
1513
|
+
v2|q QWORD "[rax|q]" v2|q v1|d [16, 19[16 MustHaveRegister 18 ShouldHaveRegister "NoSpillStore"
|
|
1514
|
+
v3|q QWORD "[rax|q]" v3|q v2|q [24, 28[28 ShouldHaveRegister "NoSpillStore"
|
|
1515
|
+
v4|q QWORD "[r10|q]" v4|q -1 [26, 28[26 MustHaveRegister 28 MustHaveRegister "NoSpillStore"
|
|
1516
|
+
v5|d DWORD "[rax|d]" v5|d -1 [30, 32[30 MustHaveRegister 32 ShouldHaveRegister "NoSpillStore"
|
|
1517
|
+
v6|q QWORD "[rbp|q]" v6|q rbp|q [2, 34[2 MustHaveRegister 34 ShouldHaveRegister "NoSpillStore"
|
|
1518
|
+
end_intervals
|
|
1519
|
+
begin_cfg
|
|
1520
|
+
name "After SSALinearScanResolveDataFlow"
|
|
1521
|
+
begin_block
|
|
1522
|
+
name "B0"
|
|
1523
|
+
from_bci -1
|
|
1524
|
+
to_bci -1
|
|
1525
|
+
predecessors
|
|
1526
|
+
successors "B1" "B2"
|
|
1527
|
+
xhandlers
|
|
1528
|
+
flags
|
|
1529
|
+
probability 4607182418800017408
|
|
1530
|
+
begin_IR
|
|
1531
|
+
LIR
|
|
1532
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1533
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1534
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1535
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1536
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1537
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1538
|
+
end_IR
|
|
1539
|
+
end_block
|
|
1540
|
+
begin_block
|
|
1541
|
+
name "B2"
|
|
1542
|
+
from_bci -1
|
|
1543
|
+
to_bci -1
|
|
1544
|
+
predecessors "B0"
|
|
1545
|
+
successors "B3"
|
|
1546
|
+
xhandlers
|
|
1547
|
+
flags
|
|
1548
|
+
probability 4602678819172646912
|
|
1549
|
+
begin_IR
|
|
1550
|
+
LIR
|
|
1551
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1552
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1553
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1554
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1555
|
+
end_IR
|
|
1556
|
+
end_block
|
|
1557
|
+
begin_block
|
|
1558
|
+
name "B3"
|
|
1559
|
+
from_bci -1
|
|
1560
|
+
to_bci -1
|
|
1561
|
+
predecessors "B1" "B2"
|
|
1562
|
+
successors
|
|
1563
|
+
xhandlers
|
|
1564
|
+
flags
|
|
1565
|
+
probability 4607182418800017408
|
|
1566
|
+
begin_IR
|
|
1567
|
+
LIR
|
|
1568
|
+
nr 24 <|@ instruction [v3|QWORD] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1569
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1570
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1571
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1572
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1573
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1574
|
+
end_IR
|
|
1575
|
+
end_block
|
|
1576
|
+
begin_block
|
|
1577
|
+
name "B1"
|
|
1578
|
+
from_bci -1
|
|
1579
|
+
to_bci -1
|
|
1580
|
+
predecessors "B0"
|
|
1581
|
+
successors "B3"
|
|
1582
|
+
xhandlers
|
|
1583
|
+
flags
|
|
1584
|
+
probability 4602678819172646912
|
|
1585
|
+
begin_IR
|
|
1586
|
+
LIR
|
|
1587
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1588
|
+
nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1589
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1590
|
+
end_IR
|
|
1591
|
+
end_block
|
|
1592
|
+
end_cfg
|
|
1593
|
+
begin_bytecodes
|
|
1594
|
+
0: aload_0
|
|
1595
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1596
|
+
4: ireturn
|
|
1597
|
+
<|@
|
|
1598
|
+
end_bytecodes
|
|
1599
|
+
begin_cfg
|
|
1600
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
1601
|
+
begin_block
|
|
1602
|
+
name "B0"
|
|
1603
|
+
from_bci -1
|
|
1604
|
+
to_bci -1
|
|
1605
|
+
predecessors
|
|
1606
|
+
successors "B1" "B2"
|
|
1607
|
+
xhandlers
|
|
1608
|
+
flags
|
|
1609
|
+
probability 4607182418800017408
|
|
1610
|
+
begin_IR
|
|
1611
|
+
LIR
|
|
1612
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1613
|
+
nr 2 <|@ instruction v6|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1614
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1615
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
1616
|
+
nr 8 <|@ instruction TEST (x: v0|QWORD[.], y: v0|QWORD[.]) size: QWORD <|@ <|@
|
|
1617
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1618
|
+
end_IR
|
|
1619
|
+
end_block
|
|
1620
|
+
begin_block
|
|
1621
|
+
name "B2"
|
|
1622
|
+
from_bci -1
|
|
1623
|
+
to_bci -1
|
|
1624
|
+
predecessors "B0"
|
|
1625
|
+
successors "B3"
|
|
1626
|
+
xhandlers
|
|
1627
|
+
flags
|
|
1628
|
+
probability 4602678819172646912
|
|
1629
|
+
begin_IR
|
|
1630
|
+
LIR
|
|
1631
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1632
|
+
nr 14 <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1633
|
+
nr 16 <|@ instruction v2|QWORD = UNCOMPRESSPOINTER (input: v1|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1634
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1635
|
+
end_IR
|
|
1636
|
+
end_block
|
|
1637
|
+
begin_block
|
|
1638
|
+
name "B3"
|
|
1639
|
+
from_bci -1
|
|
1640
|
+
to_bci -1
|
|
1641
|
+
predecessors "B1" "B2"
|
|
1642
|
+
successors
|
|
1643
|
+
xhandlers
|
|
1644
|
+
flags
|
|
1645
|
+
probability 4607182418800017408
|
|
1646
|
+
begin_IR
|
|
1647
|
+
LIR
|
|
1648
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1649
|
+
nr 26 <|@ instruction v4|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1650
|
+
nr 28 <|@ instruction CMP (x: v4|QWORD, y: v3|QWORD) size: QWORD <|@ <|@
|
|
1651
|
+
nr 30 <|@ instruction v5|DWORD = SETCC condition: = <|@ <|@
|
|
1652
|
+
nr 32 <|@ instruction rax|DWORD = MOVE v5|DWORD moveKind: DWORD <|@ <|@
|
|
1653
|
+
nr 34 <|@ instruction RETURN (savedRbp: v6|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1654
|
+
end_IR
|
|
1655
|
+
end_block
|
|
1656
|
+
begin_block
|
|
1657
|
+
name "B1"
|
|
1658
|
+
from_bci -1
|
|
1659
|
+
to_bci -1
|
|
1660
|
+
predecessors "B0"
|
|
1661
|
+
successors "B3"
|
|
1662
|
+
xhandlers
|
|
1663
|
+
flags
|
|
1664
|
+
probability 4602678819172646912
|
|
1665
|
+
begin_IR
|
|
1666
|
+
LIR
|
|
1667
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1668
|
+
nr -1 <|@ instruction v3|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1669
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1670
|
+
end_IR
|
|
1671
|
+
end_block
|
|
1672
|
+
end_cfg
|
|
1673
|
+
begin_bytecodes
|
|
1674
|
+
0: aload_0
|
|
1675
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1676
|
+
4: ireturn
|
|
1677
|
+
<|@
|
|
1678
|
+
end_bytecodes
|
|
1679
|
+
begin_cfg
|
|
1680
|
+
name "After LinearScanAssignLocations"
|
|
1681
|
+
begin_block
|
|
1682
|
+
name "B0"
|
|
1683
|
+
from_bci -1
|
|
1684
|
+
to_bci -1
|
|
1685
|
+
predecessors
|
|
1686
|
+
successors "B1" "B2"
|
|
1687
|
+
xhandlers
|
|
1688
|
+
flags
|
|
1689
|
+
probability 4607182418800017408
|
|
1690
|
+
begin_IR
|
|
1691
|
+
LIR
|
|
1692
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1693
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1694
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
1695
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1696
|
+
end_IR
|
|
1697
|
+
end_block
|
|
1698
|
+
begin_block
|
|
1699
|
+
name "B2"
|
|
1700
|
+
from_bci -1
|
|
1701
|
+
to_bci -1
|
|
1702
|
+
predecessors "B0"
|
|
1703
|
+
successors "B3"
|
|
1704
|
+
xhandlers
|
|
1705
|
+
flags
|
|
1706
|
+
probability 4602678819172646912
|
|
1707
|
+
begin_IR
|
|
1708
|
+
LIR
|
|
1709
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1710
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1711
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1712
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1713
|
+
end_IR
|
|
1714
|
+
end_block
|
|
1715
|
+
begin_block
|
|
1716
|
+
name "B3"
|
|
1717
|
+
from_bci -1
|
|
1718
|
+
to_bci -1
|
|
1719
|
+
predecessors "B1" "B2"
|
|
1720
|
+
successors
|
|
1721
|
+
xhandlers
|
|
1722
|
+
flags
|
|
1723
|
+
probability 4607182418800017408
|
|
1724
|
+
begin_IR
|
|
1725
|
+
LIR
|
|
1726
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1727
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1728
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
1729
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
1730
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1731
|
+
end_IR
|
|
1732
|
+
end_block
|
|
1733
|
+
begin_block
|
|
1734
|
+
name "B1"
|
|
1735
|
+
from_bci -1
|
|
1736
|
+
to_bci -1
|
|
1737
|
+
predecessors "B0"
|
|
1738
|
+
successors "B3"
|
|
1739
|
+
xhandlers
|
|
1740
|
+
flags
|
|
1741
|
+
probability 4602678819172646912
|
|
1742
|
+
begin_IR
|
|
1743
|
+
LIR
|
|
1744
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1745
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1746
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1747
|
+
end_IR
|
|
1748
|
+
end_block
|
|
1749
|
+
end_cfg
|
|
1750
|
+
begin_bytecodes
|
|
1751
|
+
0: aload_0
|
|
1752
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1753
|
+
4: ireturn
|
|
1754
|
+
<|@
|
|
1755
|
+
end_bytecodes
|
|
1756
|
+
begin_cfg
|
|
1757
|
+
name "After LinearScan"
|
|
1758
|
+
begin_block
|
|
1759
|
+
name "B0"
|
|
1760
|
+
from_bci -1
|
|
1761
|
+
to_bci -1
|
|
1762
|
+
predecessors
|
|
1763
|
+
successors "B1" "B2"
|
|
1764
|
+
xhandlers
|
|
1765
|
+
flags
|
|
1766
|
+
probability 4607182418800017408
|
|
1767
|
+
begin_IR
|
|
1768
|
+
LIR
|
|
1769
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1770
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1771
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
1772
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1773
|
+
end_IR
|
|
1774
|
+
end_block
|
|
1775
|
+
begin_block
|
|
1776
|
+
name "B2"
|
|
1777
|
+
from_bci -1
|
|
1778
|
+
to_bci -1
|
|
1779
|
+
predecessors "B0"
|
|
1780
|
+
successors "B3"
|
|
1781
|
+
xhandlers
|
|
1782
|
+
flags
|
|
1783
|
+
probability 4602678819172646912
|
|
1784
|
+
begin_IR
|
|
1785
|
+
LIR
|
|
1786
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1787
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1788
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1789
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1790
|
+
end_IR
|
|
1791
|
+
end_block
|
|
1792
|
+
begin_block
|
|
1793
|
+
name "B3"
|
|
1794
|
+
from_bci -1
|
|
1795
|
+
to_bci -1
|
|
1796
|
+
predecessors "B1" "B2"
|
|
1797
|
+
successors
|
|
1798
|
+
xhandlers
|
|
1799
|
+
flags
|
|
1800
|
+
probability 4607182418800017408
|
|
1801
|
+
begin_IR
|
|
1802
|
+
LIR
|
|
1803
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1804
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1805
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
1806
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
1807
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1808
|
+
end_IR
|
|
1809
|
+
end_block
|
|
1810
|
+
begin_block
|
|
1811
|
+
name "B1"
|
|
1812
|
+
from_bci -1
|
|
1813
|
+
to_bci -1
|
|
1814
|
+
predecessors "B0"
|
|
1815
|
+
successors "B3"
|
|
1816
|
+
xhandlers
|
|
1817
|
+
flags
|
|
1818
|
+
probability 4602678819172646912
|
|
1819
|
+
begin_IR
|
|
1820
|
+
LIR
|
|
1821
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1822
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1823
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1824
|
+
end_IR
|
|
1825
|
+
end_block
|
|
1826
|
+
end_cfg
|
|
1827
|
+
begin_bytecodes
|
|
1828
|
+
0: aload_0
|
|
1829
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1830
|
+
4: ireturn
|
|
1831
|
+
<|@
|
|
1832
|
+
end_bytecodes
|
|
1833
|
+
begin_cfg
|
|
1834
|
+
name "After LSStackSlotAllocator"
|
|
1835
|
+
begin_block
|
|
1836
|
+
name "B0"
|
|
1837
|
+
from_bci -1
|
|
1838
|
+
to_bci -1
|
|
1839
|
+
predecessors
|
|
1840
|
+
successors "B1" "B2"
|
|
1841
|
+
xhandlers
|
|
1842
|
+
flags
|
|
1843
|
+
probability 4607182418800017408
|
|
1844
|
+
begin_IR
|
|
1845
|
+
LIR
|
|
1846
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1847
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1848
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
1849
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1850
|
+
end_IR
|
|
1851
|
+
end_block
|
|
1852
|
+
begin_block
|
|
1853
|
+
name "B2"
|
|
1854
|
+
from_bci -1
|
|
1855
|
+
to_bci -1
|
|
1856
|
+
predecessors "B0"
|
|
1857
|
+
successors "B3"
|
|
1858
|
+
xhandlers
|
|
1859
|
+
flags
|
|
1860
|
+
probability 4602678819172646912
|
|
1861
|
+
begin_IR
|
|
1862
|
+
LIR
|
|
1863
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1864
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1865
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1866
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1867
|
+
end_IR
|
|
1868
|
+
end_block
|
|
1869
|
+
begin_block
|
|
1870
|
+
name "B3"
|
|
1871
|
+
from_bci -1
|
|
1872
|
+
to_bci -1
|
|
1873
|
+
predecessors "B1" "B2"
|
|
1874
|
+
successors
|
|
1875
|
+
xhandlers
|
|
1876
|
+
flags
|
|
1877
|
+
probability 4607182418800017408
|
|
1878
|
+
begin_IR
|
|
1879
|
+
LIR
|
|
1880
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1881
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1882
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
1883
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
1884
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1885
|
+
end_IR
|
|
1886
|
+
end_block
|
|
1887
|
+
begin_block
|
|
1888
|
+
name "B1"
|
|
1889
|
+
from_bci -1
|
|
1890
|
+
to_bci -1
|
|
1891
|
+
predecessors "B0"
|
|
1892
|
+
successors "B3"
|
|
1893
|
+
xhandlers
|
|
1894
|
+
flags
|
|
1895
|
+
probability 4602678819172646912
|
|
1896
|
+
begin_IR
|
|
1897
|
+
LIR
|
|
1898
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1899
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1900
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1901
|
+
end_IR
|
|
1902
|
+
end_block
|
|
1903
|
+
end_cfg
|
|
1904
|
+
begin_bytecodes
|
|
1905
|
+
0: aload_0
|
|
1906
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1907
|
+
4: ireturn
|
|
1908
|
+
<|@
|
|
1909
|
+
end_bytecodes
|
|
1910
|
+
begin_cfg
|
|
1911
|
+
name "After LocationMarker"
|
|
1912
|
+
begin_block
|
|
1913
|
+
name "B0"
|
|
1914
|
+
from_bci -1
|
|
1915
|
+
to_bci -1
|
|
1916
|
+
predecessors
|
|
1917
|
+
successors "B1" "B2"
|
|
1918
|
+
xhandlers
|
|
1919
|
+
flags
|
|
1920
|
+
probability 4607182418800017408
|
|
1921
|
+
begin_IR
|
|
1922
|
+
LIR
|
|
1923
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1924
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
1925
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
1926
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
1927
|
+
end_IR
|
|
1928
|
+
end_block
|
|
1929
|
+
begin_block
|
|
1930
|
+
name "B2"
|
|
1931
|
+
from_bci -1
|
|
1932
|
+
to_bci -1
|
|
1933
|
+
predecessors "B0"
|
|
1934
|
+
successors "B3"
|
|
1935
|
+
xhandlers
|
|
1936
|
+
flags
|
|
1937
|
+
probability 4602678819172646912
|
|
1938
|
+
begin_IR
|
|
1939
|
+
LIR
|
|
1940
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1941
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
1942
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
1943
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
1944
|
+
end_IR
|
|
1945
|
+
end_block
|
|
1946
|
+
begin_block
|
|
1947
|
+
name "B3"
|
|
1948
|
+
from_bci -1
|
|
1949
|
+
to_bci -1
|
|
1950
|
+
predecessors "B1" "B2"
|
|
1951
|
+
successors
|
|
1952
|
+
xhandlers
|
|
1953
|
+
flags
|
|
1954
|
+
probability 4607182418800017408
|
|
1955
|
+
begin_IR
|
|
1956
|
+
LIR
|
|
1957
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
1958
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
1959
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
1960
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
1961
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
1962
|
+
end_IR
|
|
1963
|
+
end_block
|
|
1964
|
+
begin_block
|
|
1965
|
+
name "B1"
|
|
1966
|
+
from_bci -1
|
|
1967
|
+
to_bci -1
|
|
1968
|
+
predecessors "B0"
|
|
1969
|
+
successors "B3"
|
|
1970
|
+
xhandlers
|
|
1971
|
+
flags
|
|
1972
|
+
probability 4602678819172646912
|
|
1973
|
+
begin_IR
|
|
1974
|
+
LIR
|
|
1975
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1976
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
1977
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
1978
|
+
end_IR
|
|
1979
|
+
end_block
|
|
1980
|
+
end_cfg
|
|
1981
|
+
begin_bytecodes
|
|
1982
|
+
0: aload_0
|
|
1983
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
1984
|
+
4: ireturn
|
|
1985
|
+
<|@
|
|
1986
|
+
end_bytecodes
|
|
1987
|
+
begin_cfg
|
|
1988
|
+
name "After AllocationStage"
|
|
1989
|
+
begin_block
|
|
1990
|
+
name "B0"
|
|
1991
|
+
from_bci -1
|
|
1992
|
+
to_bci -1
|
|
1993
|
+
predecessors
|
|
1994
|
+
successors "B1" "B2"
|
|
1995
|
+
xhandlers
|
|
1996
|
+
flags
|
|
1997
|
+
probability 4607182418800017408
|
|
1998
|
+
begin_IR
|
|
1999
|
+
LIR
|
|
2000
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2001
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2002
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2003
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2004
|
+
end_IR
|
|
2005
|
+
end_block
|
|
2006
|
+
begin_block
|
|
2007
|
+
name "B2"
|
|
2008
|
+
from_bci -1
|
|
2009
|
+
to_bci -1
|
|
2010
|
+
predecessors "B0"
|
|
2011
|
+
successors "B3"
|
|
2012
|
+
xhandlers
|
|
2013
|
+
flags
|
|
2014
|
+
probability 4602678819172646912
|
|
2015
|
+
begin_IR
|
|
2016
|
+
LIR
|
|
2017
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2018
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2019
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2020
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2021
|
+
end_IR
|
|
2022
|
+
end_block
|
|
2023
|
+
begin_block
|
|
2024
|
+
name "B3"
|
|
2025
|
+
from_bci -1
|
|
2026
|
+
to_bci -1
|
|
2027
|
+
predecessors "B1" "B2"
|
|
2028
|
+
successors
|
|
2029
|
+
xhandlers
|
|
2030
|
+
flags
|
|
2031
|
+
probability 4607182418800017408
|
|
2032
|
+
begin_IR
|
|
2033
|
+
LIR
|
|
2034
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2035
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2036
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2037
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2038
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2039
|
+
end_IR
|
|
2040
|
+
end_block
|
|
2041
|
+
begin_block
|
|
2042
|
+
name "B1"
|
|
2043
|
+
from_bci -1
|
|
2044
|
+
to_bci -1
|
|
2045
|
+
predecessors "B0"
|
|
2046
|
+
successors "B3"
|
|
2047
|
+
xhandlers
|
|
2048
|
+
flags
|
|
2049
|
+
probability 4602678819172646912
|
|
2050
|
+
begin_IR
|
|
2051
|
+
LIR
|
|
2052
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2053
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2054
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2055
|
+
end_IR
|
|
2056
|
+
end_block
|
|
2057
|
+
end_cfg
|
|
2058
|
+
begin_bytecodes
|
|
2059
|
+
0: aload_0
|
|
2060
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2061
|
+
4: ireturn
|
|
2062
|
+
<|@
|
|
2063
|
+
end_bytecodes
|
|
2064
|
+
begin_cfg
|
|
2065
|
+
name "After EdgeMoveOptimizer"
|
|
2066
|
+
begin_block
|
|
2067
|
+
name "B0"
|
|
2068
|
+
from_bci -1
|
|
2069
|
+
to_bci -1
|
|
2070
|
+
predecessors
|
|
2071
|
+
successors "B1" "B2"
|
|
2072
|
+
xhandlers
|
|
2073
|
+
flags
|
|
2074
|
+
probability 4607182418800017408
|
|
2075
|
+
begin_IR
|
|
2076
|
+
LIR
|
|
2077
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2078
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2079
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2080
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2081
|
+
end_IR
|
|
2082
|
+
end_block
|
|
2083
|
+
begin_block
|
|
2084
|
+
name "B2"
|
|
2085
|
+
from_bci -1
|
|
2086
|
+
to_bci -1
|
|
2087
|
+
predecessors "B0"
|
|
2088
|
+
successors "B3"
|
|
2089
|
+
xhandlers
|
|
2090
|
+
flags
|
|
2091
|
+
probability 4602678819172646912
|
|
2092
|
+
begin_IR
|
|
2093
|
+
LIR
|
|
2094
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2095
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2096
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2097
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2098
|
+
end_IR
|
|
2099
|
+
end_block
|
|
2100
|
+
begin_block
|
|
2101
|
+
name "B3"
|
|
2102
|
+
from_bci -1
|
|
2103
|
+
to_bci -1
|
|
2104
|
+
predecessors "B1" "B2"
|
|
2105
|
+
successors
|
|
2106
|
+
xhandlers
|
|
2107
|
+
flags
|
|
2108
|
+
probability 4607182418800017408
|
|
2109
|
+
begin_IR
|
|
2110
|
+
LIR
|
|
2111
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2112
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2113
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2114
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2115
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2116
|
+
end_IR
|
|
2117
|
+
end_block
|
|
2118
|
+
begin_block
|
|
2119
|
+
name "B1"
|
|
2120
|
+
from_bci -1
|
|
2121
|
+
to_bci -1
|
|
2122
|
+
predecessors "B0"
|
|
2123
|
+
successors "B3"
|
|
2124
|
+
xhandlers
|
|
2125
|
+
flags
|
|
2126
|
+
probability 4602678819172646912
|
|
2127
|
+
begin_IR
|
|
2128
|
+
LIR
|
|
2129
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2130
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2131
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2132
|
+
end_IR
|
|
2133
|
+
end_block
|
|
2134
|
+
end_cfg
|
|
2135
|
+
begin_bytecodes
|
|
2136
|
+
0: aload_0
|
|
2137
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2138
|
+
4: ireturn
|
|
2139
|
+
<|@
|
|
2140
|
+
end_bytecodes
|
|
2141
|
+
begin_cfg
|
|
2142
|
+
name "After ControlFlowOptimizer"
|
|
2143
|
+
begin_block
|
|
2144
|
+
name "B0"
|
|
2145
|
+
from_bci -1
|
|
2146
|
+
to_bci -1
|
|
2147
|
+
predecessors
|
|
2148
|
+
successors "B1" "B2"
|
|
2149
|
+
xhandlers
|
|
2150
|
+
flags
|
|
2151
|
+
probability 4607182418800017408
|
|
2152
|
+
begin_IR
|
|
2153
|
+
LIR
|
|
2154
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2155
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2156
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2157
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2158
|
+
end_IR
|
|
2159
|
+
end_block
|
|
2160
|
+
begin_block
|
|
2161
|
+
name "B2"
|
|
2162
|
+
from_bci -1
|
|
2163
|
+
to_bci -1
|
|
2164
|
+
predecessors "B0"
|
|
2165
|
+
successors "B3"
|
|
2166
|
+
xhandlers
|
|
2167
|
+
flags
|
|
2168
|
+
probability 4602678819172646912
|
|
2169
|
+
begin_IR
|
|
2170
|
+
LIR
|
|
2171
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2172
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2173
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2174
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2175
|
+
end_IR
|
|
2176
|
+
end_block
|
|
2177
|
+
begin_block
|
|
2178
|
+
name "B3"
|
|
2179
|
+
from_bci -1
|
|
2180
|
+
to_bci -1
|
|
2181
|
+
predecessors "B1" "B2"
|
|
2182
|
+
successors
|
|
2183
|
+
xhandlers
|
|
2184
|
+
flags
|
|
2185
|
+
probability 4607182418800017408
|
|
2186
|
+
begin_IR
|
|
2187
|
+
LIR
|
|
2188
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2189
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2190
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2191
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2192
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2193
|
+
end_IR
|
|
2194
|
+
end_block
|
|
2195
|
+
begin_block
|
|
2196
|
+
name "B1"
|
|
2197
|
+
from_bci -1
|
|
2198
|
+
to_bci -1
|
|
2199
|
+
predecessors "B0"
|
|
2200
|
+
successors "B3"
|
|
2201
|
+
xhandlers
|
|
2202
|
+
flags
|
|
2203
|
+
probability 4602678819172646912
|
|
2204
|
+
begin_IR
|
|
2205
|
+
LIR
|
|
2206
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2207
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2208
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2209
|
+
end_IR
|
|
2210
|
+
end_block
|
|
2211
|
+
end_cfg
|
|
2212
|
+
begin_bytecodes
|
|
2213
|
+
0: aload_0
|
|
2214
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2215
|
+
4: ireturn
|
|
2216
|
+
<|@
|
|
2217
|
+
end_bytecodes
|
|
2218
|
+
begin_cfg
|
|
2219
|
+
name "After RedundantMoveElimination"
|
|
2220
|
+
begin_block
|
|
2221
|
+
name "B0"
|
|
2222
|
+
from_bci -1
|
|
2223
|
+
to_bci -1
|
|
2224
|
+
predecessors
|
|
2225
|
+
successors "B1" "B2"
|
|
2226
|
+
xhandlers
|
|
2227
|
+
flags
|
|
2228
|
+
probability 4607182418800017408
|
|
2229
|
+
begin_IR
|
|
2230
|
+
LIR
|
|
2231
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2232
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2233
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2234
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2235
|
+
end_IR
|
|
2236
|
+
end_block
|
|
2237
|
+
begin_block
|
|
2238
|
+
name "B2"
|
|
2239
|
+
from_bci -1
|
|
2240
|
+
to_bci -1
|
|
2241
|
+
predecessors "B0"
|
|
2242
|
+
successors "B3"
|
|
2243
|
+
xhandlers
|
|
2244
|
+
flags
|
|
2245
|
+
probability 4602678819172646912
|
|
2246
|
+
begin_IR
|
|
2247
|
+
LIR
|
|
2248
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2249
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2250
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2251
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2252
|
+
end_IR
|
|
2253
|
+
end_block
|
|
2254
|
+
begin_block
|
|
2255
|
+
name "B3"
|
|
2256
|
+
from_bci -1
|
|
2257
|
+
to_bci -1
|
|
2258
|
+
predecessors "B1" "B2"
|
|
2259
|
+
successors
|
|
2260
|
+
xhandlers
|
|
2261
|
+
flags
|
|
2262
|
+
probability 4607182418800017408
|
|
2263
|
+
begin_IR
|
|
2264
|
+
LIR
|
|
2265
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2266
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2267
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2268
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2269
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2270
|
+
end_IR
|
|
2271
|
+
end_block
|
|
2272
|
+
begin_block
|
|
2273
|
+
name "B1"
|
|
2274
|
+
from_bci -1
|
|
2275
|
+
to_bci -1
|
|
2276
|
+
predecessors "B0"
|
|
2277
|
+
successors "B3"
|
|
2278
|
+
xhandlers
|
|
2279
|
+
flags
|
|
2280
|
+
probability 4602678819172646912
|
|
2281
|
+
begin_IR
|
|
2282
|
+
LIR
|
|
2283
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2284
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2285
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2286
|
+
end_IR
|
|
2287
|
+
end_block
|
|
2288
|
+
end_cfg
|
|
2289
|
+
begin_bytecodes
|
|
2290
|
+
0: aload_0
|
|
2291
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2292
|
+
4: ireturn
|
|
2293
|
+
<|@
|
|
2294
|
+
end_bytecodes
|
|
2295
|
+
begin_cfg
|
|
2296
|
+
name "After NullCheckOptimizer"
|
|
2297
|
+
begin_block
|
|
2298
|
+
name "B0"
|
|
2299
|
+
from_bci -1
|
|
2300
|
+
to_bci -1
|
|
2301
|
+
predecessors
|
|
2302
|
+
successors "B1" "B2"
|
|
2303
|
+
xhandlers
|
|
2304
|
+
flags
|
|
2305
|
+
probability 4607182418800017408
|
|
2306
|
+
begin_IR
|
|
2307
|
+
LIR
|
|
2308
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2309
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2310
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2311
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2312
|
+
end_IR
|
|
2313
|
+
end_block
|
|
2314
|
+
begin_block
|
|
2315
|
+
name "B2"
|
|
2316
|
+
from_bci -1
|
|
2317
|
+
to_bci -1
|
|
2318
|
+
predecessors "B0"
|
|
2319
|
+
successors "B3"
|
|
2320
|
+
xhandlers
|
|
2321
|
+
flags
|
|
2322
|
+
probability 4602678819172646912
|
|
2323
|
+
begin_IR
|
|
2324
|
+
LIR
|
|
2325
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2326
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2327
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2328
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2329
|
+
end_IR
|
|
2330
|
+
end_block
|
|
2331
|
+
begin_block
|
|
2332
|
+
name "B3"
|
|
2333
|
+
from_bci -1
|
|
2334
|
+
to_bci -1
|
|
2335
|
+
predecessors "B1" "B2"
|
|
2336
|
+
successors
|
|
2337
|
+
xhandlers
|
|
2338
|
+
flags
|
|
2339
|
+
probability 4607182418800017408
|
|
2340
|
+
begin_IR
|
|
2341
|
+
LIR
|
|
2342
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2343
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2344
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2345
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2346
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2347
|
+
end_IR
|
|
2348
|
+
end_block
|
|
2349
|
+
begin_block
|
|
2350
|
+
name "B1"
|
|
2351
|
+
from_bci -1
|
|
2352
|
+
to_bci -1
|
|
2353
|
+
predecessors "B0"
|
|
2354
|
+
successors "B3"
|
|
2355
|
+
xhandlers
|
|
2356
|
+
flags
|
|
2357
|
+
probability 4602678819172646912
|
|
2358
|
+
begin_IR
|
|
2359
|
+
LIR
|
|
2360
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2361
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2362
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2363
|
+
end_IR
|
|
2364
|
+
end_block
|
|
2365
|
+
end_cfg
|
|
2366
|
+
begin_bytecodes
|
|
2367
|
+
0: aload_0
|
|
2368
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2369
|
+
4: ireturn
|
|
2370
|
+
<|@
|
|
2371
|
+
end_bytecodes
|
|
2372
|
+
begin_cfg
|
|
2373
|
+
name "After StackMoveOptimization"
|
|
2374
|
+
begin_block
|
|
2375
|
+
name "B0"
|
|
2376
|
+
from_bci -1
|
|
2377
|
+
to_bci -1
|
|
2378
|
+
predecessors
|
|
2379
|
+
successors "B1" "B2"
|
|
2380
|
+
xhandlers
|
|
2381
|
+
flags
|
|
2382
|
+
probability 4607182418800017408
|
|
2383
|
+
begin_IR
|
|
2384
|
+
LIR
|
|
2385
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2386
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2387
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2388
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2389
|
+
end_IR
|
|
2390
|
+
end_block
|
|
2391
|
+
begin_block
|
|
2392
|
+
name "B2"
|
|
2393
|
+
from_bci -1
|
|
2394
|
+
to_bci -1
|
|
2395
|
+
predecessors "B0"
|
|
2396
|
+
successors "B3"
|
|
2397
|
+
xhandlers
|
|
2398
|
+
flags
|
|
2399
|
+
probability 4602678819172646912
|
|
2400
|
+
begin_IR
|
|
2401
|
+
LIR
|
|
2402
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2403
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2404
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2405
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2406
|
+
end_IR
|
|
2407
|
+
end_block
|
|
2408
|
+
begin_block
|
|
2409
|
+
name "B3"
|
|
2410
|
+
from_bci -1
|
|
2411
|
+
to_bci -1
|
|
2412
|
+
predecessors "B1" "B2"
|
|
2413
|
+
successors
|
|
2414
|
+
xhandlers
|
|
2415
|
+
flags
|
|
2416
|
+
probability 4607182418800017408
|
|
2417
|
+
begin_IR
|
|
2418
|
+
LIR
|
|
2419
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2420
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2421
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2422
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2423
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2424
|
+
end_IR
|
|
2425
|
+
end_block
|
|
2426
|
+
begin_block
|
|
2427
|
+
name "B1"
|
|
2428
|
+
from_bci -1
|
|
2429
|
+
to_bci -1
|
|
2430
|
+
predecessors "B0"
|
|
2431
|
+
successors "B3"
|
|
2432
|
+
xhandlers
|
|
2433
|
+
flags
|
|
2434
|
+
probability 4602678819172646912
|
|
2435
|
+
begin_IR
|
|
2436
|
+
LIR
|
|
2437
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2438
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2439
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2440
|
+
end_IR
|
|
2441
|
+
end_block
|
|
2442
|
+
end_cfg
|
|
2443
|
+
begin_bytecodes
|
|
2444
|
+
0: aload_0
|
|
2445
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2446
|
+
4: ireturn
|
|
2447
|
+
<|@
|
|
2448
|
+
end_bytecodes
|
|
2449
|
+
begin_cfg
|
|
2450
|
+
name "After PostAllocationOptimizationStage"
|
|
2451
|
+
begin_block
|
|
2452
|
+
name "B0"
|
|
2453
|
+
from_bci -1
|
|
2454
|
+
to_bci -1
|
|
2455
|
+
predecessors
|
|
2456
|
+
successors "B1" "B2"
|
|
2457
|
+
xhandlers
|
|
2458
|
+
flags
|
|
2459
|
+
probability 4607182418800017408
|
|
2460
|
+
begin_IR
|
|
2461
|
+
LIR
|
|
2462
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2463
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <|@ <|@
|
|
2464
|
+
nr 8 <|@ instruction TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <|@ <|@
|
|
2465
|
+
nr 10 <|@ instruction BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <|@ <|@
|
|
2466
|
+
end_IR
|
|
2467
|
+
end_block
|
|
2468
|
+
begin_block
|
|
2469
|
+
name "B2"
|
|
2470
|
+
from_bci -1
|
|
2471
|
+
to_bci -1
|
|
2472
|
+
predecessors "B0"
|
|
2473
|
+
successors "B3"
|
|
2474
|
+
xhandlers
|
|
2475
|
+
flags
|
|
2476
|
+
probability 4602678819172646912
|
|
2477
|
+
begin_IR
|
|
2478
|
+
LIR
|
|
2479
|
+
nr 12 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2480
|
+
nr 14 <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <|@ <|@
|
|
2481
|
+
nr 16 <|@ instruction rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <|@ <|@
|
|
2482
|
+
nr 18 <|@ instruction JUMP ~[] destination: B2 -> B3 <|@ <|@
|
|
2483
|
+
end_IR
|
|
2484
|
+
end_block
|
|
2485
|
+
begin_block
|
|
2486
|
+
name "B3"
|
|
2487
|
+
from_bci -1
|
|
2488
|
+
to_bci -1
|
|
2489
|
+
predecessors "B1" "B2"
|
|
2490
|
+
successors
|
|
2491
|
+
xhandlers
|
|
2492
|
+
flags
|
|
2493
|
+
probability 4607182418800017408
|
|
2494
|
+
begin_IR
|
|
2495
|
+
LIR
|
|
2496
|
+
nr 24 <|@ instruction [] = LABEL numbPhis: 1 align: false label: ? <|@ <|@
|
|
2497
|
+
nr 26 <|@ instruction r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <|@ <|@
|
|
2498
|
+
nr 28 <|@ instruction CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <|@ <|@
|
|
2499
|
+
nr 30 <|@ instruction rax|DWORD = SETCC condition: = <|@ <|@
|
|
2500
|
+
nr 34 <|@ instruction RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <|@ <|@
|
|
2501
|
+
end_IR
|
|
2502
|
+
end_block
|
|
2503
|
+
begin_block
|
|
2504
|
+
name "B1"
|
|
2505
|
+
from_bci -1
|
|
2506
|
+
to_bci -1
|
|
2507
|
+
predecessors "B0"
|
|
2508
|
+
successors "B3"
|
|
2509
|
+
xhandlers
|
|
2510
|
+
flags
|
|
2511
|
+
probability 4602678819172646912
|
|
2512
|
+
begin_IR
|
|
2513
|
+
LIR
|
|
2514
|
+
nr 20 <|@ instruction [] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
2515
|
+
nr -1 <|@ instruction rax|QWORD = MOVE input: Object[null] // MoveResolver resolve mapping <|@ <|@
|
|
2516
|
+
nr 22 <|@ instruction JUMP ~[] destination: B1 -> B3 <|@ <|@
|
|
2517
|
+
end_IR
|
|
2518
|
+
end_block
|
|
2519
|
+
end_cfg
|
|
2520
|
+
begin_bytecodes
|
|
2521
|
+
0: aload_0
|
|
2522
|
+
1: instanceof #83 // JavaExamples$InterfaceOneImpl
|
|
2523
|
+
4: ireturn
|
|
2524
|
+
<|@
|
|
2525
|
+
end_bytecodes
|
|
2526
|
+
begin_cfg
|
|
2527
|
+
name "After code generation"
|
|
2528
|
+
end_cfg
|
|
2529
|
+
begin_nmethod
|
|
2530
|
+
<<<HexCodeFile
|
|
2531
|
+
Platform AMD64 64 <||@
|
|
2532
|
+
HexCode 0 0f1f4400004885f60f84240000008b460848c1e00349baaddeaddeaddeadde4c3bd00f94c00fb6c0850500000000c5f877c348c7c000000000ebdae80000000090e80000000090 <||@
|
|
2533
|
+
Comment 0 3 <||@
|
|
2534
|
+
Comment 0 1 <||@
|
|
2535
|
+
Comment 5 block B0 null <||@
|
|
2536
|
+
Comment 5 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2537
|
+
Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <||@
|
|
2538
|
+
Comment 5 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
|
|
2539
|
+
Comment 8 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
|
|
2540
|
+
Comment 14 block B2 null <||@
|
|
2541
|
+
Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2542
|
+
Comment 14 14 rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
|
|
2543
|
+
Comment 17 16 rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <||@
|
|
2544
|
+
Comment 21 18 JUMP ~[] destination: B2 -> B3 <||@
|
|
2545
|
+
Comment 21 block B3 null <||@
|
|
2546
|
+
Comment 21 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
|
|
2547
|
+
Comment 21 26 r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
|
|
2548
|
+
Comment 21 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
|
|
2549
|
+
Comment 31 28 CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <||@
|
|
2550
|
+
Comment 34 30 rax|DWORD = SETCC condition: = <||@
|
|
2551
|
+
Comment 40 34 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <||@
|
|
2552
|
+
Comment 40 12 <||@
|
|
2553
|
+
Comment 50 block B1 null <||@
|
|
2554
|
+
Comment 50 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2555
|
+
Comment 50 -1 rax|QWORD = MOVE input: Object[null] <||@
|
|
2556
|
+
Comment 57 22 JUMP ~[] destination: B1 -> B3 <||@
|
|
2557
|
+
Comment 59 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0: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} <||@
|
|
2558
|
+
Comment 59 4 <||@
|
|
2559
|
+
Comment 65 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
|
|
2560
|
+
Comment 65 5 <||@
|
|
2561
|
+
HexCodeFile>>> <|@
|
|
2562
|
+
end_nmethod
|
|
2563
|
+
begin_compilation
|
|
2564
|
+
name " HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
|
|
2565
|
+
method "HotSpotCompilation-377[JavaExamples.exampleInstanceOfOneImpl(Object)]"
|
|
2566
|
+
date 1583840238008
|
|
2567
|
+
end_compilation
|
|
2568
|
+
begin_cfg
|
|
2569
|
+
name "After code installation"
|
|
2570
|
+
end_cfg
|
|
2571
|
+
begin_nmethod
|
|
2572
|
+
<<<HexCodeFile
|
|
2573
|
+
Platform AMD64 64 <||@
|
|
2574
|
+
HexCode 1100a9160 0f1f4400004885f60f84240000008b460848c1e00349ba280806c0070000004c3bd00f94c00fb6c0850578ae1ff2c5f877c348c7c000000000ebdae80011ffff90e89af0eaff90f4 <||@
|
|
2575
|
+
Comment 0 3 <||@
|
|
2576
|
+
Comment 0 1 <||@
|
|
2577
|
+
Comment 5 block B0 null <||@
|
|
2578
|
+
Comment 5 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2579
|
+
Comment 5 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@10f154148 slotKind: QWORD <||@
|
|
2580
|
+
Comment 5 8 TEST (x: rsi|QWORD[.], y: rsi|QWORD[.]) size: QWORD <||@
|
|
2581
|
+
Comment 8 10 BRANCH trueDestinationProbability: 0.5 condition: = trueDestination: B0 -> B1 falseDestination: B0 -> B2 <||@
|
|
2582
|
+
Comment 14 block B2 null <||@
|
|
2583
|
+
Comment 14 12 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2584
|
+
Comment 14 14 rax|DWORD = MOV [rsi|QWORD[.] + 8] size: DWORD <||@
|
|
2585
|
+
Comment 17 16 rax|QWORD = UNCOMPRESSPOINTER (input: rax|DWORD, ~baseRegister: -) nonNull: true lirKindTool: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotLIRKindTool@10f154430 encoding: base: 0 shift: 3 <||@
|
|
2586
|
+
Comment 21 18 JUMP ~[] destination: B2 -> B3 <||@
|
|
2587
|
+
Comment 21 block B3 null <||@
|
|
2588
|
+
Comment 21 24 [] = LABEL numbPhis: 1 align: false label: ? <||@
|
|
2589
|
+
Comment 21 26 r10|QWORD = HOTSPOTLOADMETASPACECONSTANT input: meta{HotSpotType<LJavaExamples$OneImpl;, resolved>} <||@
|
|
2590
|
+
Comment 21 {meta{HotSpotType<LJavaExamples$OneImpl;, resolved>}} <||@
|
|
2591
|
+
Comment 31 28 CMP (x: r10|QWORD, y: rax|QWORD) size: QWORD <||@
|
|
2592
|
+
Comment 34 30 rax|DWORD = SETCC condition: = <||@
|
|
2593
|
+
Comment 40 34 RETURN (savedRbp: rbp|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@10e206fb8 <||@
|
|
2594
|
+
Comment 40 12 <||@
|
|
2595
|
+
Comment 50 block B1 null <||@
|
|
2596
|
+
Comment 50 20 [] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
2597
|
+
Comment 50 -1 rax|QWORD = MOVE input: Object[null] <||@
|
|
2598
|
+
Comment 57 22 JUMP ~[] destination: B1 -> B3 <||@
|
|
2599
|
+
Comment 59 {Stub<ExceptionHandlerStub.exceptionHandler>@0x11009a2a0: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} <||@
|
|
2600
|
+
Comment 59 4 <||@
|
|
2601
|
+
Comment 65 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1044bc128, value=4562715200]:0x10ff58240} <||@
|
|
2602
|
+
Comment 65 5 <||@
|
|
2603
|
+
HexCodeFile>>> <|@
|
|
2604
|
+
end_nmethod
|