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