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,1435 @@
|
|
|
1
|
+
begin_compilation
|
|
2
|
+
name " HotSpotCompilation-349[JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)]"
|
|
3
|
+
method "HotSpotCompilation-349[JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)]"
|
|
4
|
+
date 1583364091813
|
|
5
|
+
end_compilation
|
|
6
|
+
begin_cfg
|
|
7
|
+
name "Final HIR schedule"
|
|
8
|
+
begin_block
|
|
9
|
+
name "B0"
|
|
10
|
+
from_bci -1
|
|
11
|
+
to_bci -1
|
|
12
|
+
predecessors
|
|
13
|
+
successors
|
|
14
|
+
xhandlers
|
|
15
|
+
flags
|
|
16
|
+
probability 4607182418800017408
|
|
17
|
+
begin_IR
|
|
18
|
+
HIR
|
|
19
|
+
f <@#|@fixed with next>@ <|@
|
|
20
|
+
tid v0 <|@
|
|
21
|
+
d <@d|@=== Debug Properties ===
|
|
22
|
+
stamp: void
|
|
23
|
+
withSpeculationFence: false
|
|
24
|
+
=== Inputs ===
|
|
25
|
+
stateAfter: -
|
|
26
|
+
=== Succesors ===
|
|
27
|
+
next: v18
|
|
28
|
+
=== Usages ===
|
|
29
|
+
=== Predecessor ===
|
|
30
|
+
- >@ <|@
|
|
31
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v18 <|@ <|@
|
|
32
|
+
f <@~|@floating>@ <|@
|
|
33
|
+
tid a17 <|@
|
|
34
|
+
d <@d|@=== Debug Properties ===
|
|
35
|
+
isDefaultStable: false
|
|
36
|
+
rawvalue: null
|
|
37
|
+
stableDimension: 0
|
|
38
|
+
stamp: a - NULL
|
|
39
|
+
stampKind: a -
|
|
40
|
+
value: Object[null]
|
|
41
|
+
=== Inputs ===
|
|
42
|
+
=== Succesors ===
|
|
43
|
+
=== Usages ===
|
|
44
|
+
?3
|
|
45
|
+
=== Predecessor ===
|
|
46
|
+
- >@ <|@
|
|
47
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
48
|
+
f <@~|@floating>@ <|@
|
|
49
|
+
tid i2 <|@
|
|
50
|
+
d <@d|@=== Debug Properties ===
|
|
51
|
+
index: 1
|
|
52
|
+
stamp: i32
|
|
53
|
+
uncheckedStamp: [null]
|
|
54
|
+
=== Inputs ===
|
|
55
|
+
=== Succesors ===
|
|
56
|
+
=== Usages ===
|
|
57
|
+
?3 v11
|
|
58
|
+
=== Predecessor ===
|
|
59
|
+
- >@ <|@
|
|
60
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
61
|
+
tid ?3 <|@
|
|
62
|
+
d <@d|@=== Debug Properties ===
|
|
63
|
+
bci: 0
|
|
64
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)>
|
|
65
|
+
duringCall: false
|
|
66
|
+
localsSize: 2
|
|
67
|
+
locksSize: 0
|
|
68
|
+
rethrowException: false
|
|
69
|
+
sourceFile: JavaExamples.java
|
|
70
|
+
sourceLine: 104
|
|
71
|
+
stackSize: 0
|
|
72
|
+
=== Inputs ===
|
|
73
|
+
outerFrameState: -
|
|
74
|
+
values: a17 i2
|
|
75
|
+
=== Succesors ===
|
|
76
|
+
=== Usages ===
|
|
77
|
+
v18
|
|
78
|
+
=== Predecessor ===
|
|
79
|
+
- >@ <|@
|
|
80
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a17 i2 <|@ <|@
|
|
81
|
+
f <@~|@floating>@ <|@
|
|
82
|
+
tid a1 <|@
|
|
83
|
+
d <@d|@=== Debug Properties ===
|
|
84
|
+
index: 0
|
|
85
|
+
stamp: a# LJavaExamples$ExampleObject;
|
|
86
|
+
uncheckedStamp: [null]
|
|
87
|
+
=== Inputs ===
|
|
88
|
+
=== Succesors ===
|
|
89
|
+
=== Usages ===
|
|
90
|
+
v18 v11
|
|
91
|
+
=== Predecessor ===
|
|
92
|
+
- >@ <|@
|
|
93
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
94
|
+
f <@#|@fixed with next>@ <|@
|
|
95
|
+
tid v18 <|@
|
|
96
|
+
d <@d|@=== Debug Properties ===
|
|
97
|
+
stamp: void
|
|
98
|
+
=== Inputs ===
|
|
99
|
+
stateBefore: ?3
|
|
100
|
+
object: a1
|
|
101
|
+
=== Succesors ===
|
|
102
|
+
next: i5
|
|
103
|
+
=== Usages ===
|
|
104
|
+
=== Predecessor ===
|
|
105
|
+
v0 >@ <|@
|
|
106
|
+
instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?3 object: a1 #next: i5 <|@ <|@
|
|
107
|
+
tid v11 <|@
|
|
108
|
+
d <@d|@=== Debug Properties ===
|
|
109
|
+
callType: JavaCall
|
|
110
|
+
invokeKind: Special
|
|
111
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
112
|
+
returnStamp: i32
|
|
113
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@13e6c9308
|
|
114
|
+
stamp: void
|
|
115
|
+
targetMethod: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)>
|
|
116
|
+
=== Inputs ===
|
|
117
|
+
arguments: a1 i2
|
|
118
|
+
=== Succesors ===
|
|
119
|
+
=== Usages ===
|
|
120
|
+
i5
|
|
121
|
+
=== Predecessor ===
|
|
122
|
+
- >@ <|@
|
|
123
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 i2 <|@ <|@
|
|
124
|
+
tid ?16 <|@
|
|
125
|
+
d <@d|@=== Debug Properties ===
|
|
126
|
+
bci: 2
|
|
127
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)>
|
|
128
|
+
duringCall: true
|
|
129
|
+
localsSize: 2
|
|
130
|
+
locksSize: 0
|
|
131
|
+
rethrowException: false
|
|
132
|
+
sourceFile: JavaExamples.java
|
|
133
|
+
sourceLine: 104
|
|
134
|
+
stackSize: 0
|
|
135
|
+
=== Inputs ===
|
|
136
|
+
outerFrameState: -
|
|
137
|
+
values: - -
|
|
138
|
+
=== Succesors ===
|
|
139
|
+
=== Usages ===
|
|
140
|
+
i5
|
|
141
|
+
=== Predecessor ===
|
|
142
|
+
- >@ <|@
|
|
143
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - <|@ <|@
|
|
144
|
+
f <@#|@fixed with next>@ <|@
|
|
145
|
+
tid i5 <|@
|
|
146
|
+
d <@d|@=== Debug Properties ===
|
|
147
|
+
bci: 2
|
|
148
|
+
identity: ANY_LOCATION
|
|
149
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
150
|
+
polymorphic: false
|
|
151
|
+
stamp: i32
|
|
152
|
+
targetMethod: Direct#JavaExamples$ExampleObject.instanceCall
|
|
153
|
+
useForInlining: true
|
|
154
|
+
=== Inputs ===
|
|
155
|
+
stateAfter: -
|
|
156
|
+
classInit: -
|
|
157
|
+
callTarget: v11
|
|
158
|
+
stateDuring: ?16
|
|
159
|
+
=== Succesors ===
|
|
160
|
+
next: v7
|
|
161
|
+
=== Usages ===
|
|
162
|
+
v7
|
|
163
|
+
=== Predecessor ===
|
|
164
|
+
v18 >@ <|@
|
|
165
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v11 stateDuring: ?16 #next: v7 <|@ <|@
|
|
166
|
+
f <@*|@fixed>@ <|@
|
|
167
|
+
tid v7 <|@
|
|
168
|
+
d <@d|@=== Debug Properties ===
|
|
169
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 5]
|
|
170
|
+
stamp: void
|
|
171
|
+
=== Inputs ===
|
|
172
|
+
result: i5
|
|
173
|
+
memoryMap: -
|
|
174
|
+
=== Succesors ===
|
|
175
|
+
=== Usages ===
|
|
176
|
+
=== Predecessor ===
|
|
177
|
+
i5 >@ <|@
|
|
178
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i5 memoryMap: - <|@ <|@
|
|
179
|
+
end_IR
|
|
180
|
+
end_block
|
|
181
|
+
end_cfg
|
|
182
|
+
begin_cfg
|
|
183
|
+
name "After LIRGeneration"
|
|
184
|
+
begin_block
|
|
185
|
+
name "B0"
|
|
186
|
+
from_bci -1
|
|
187
|
+
to_bci -1
|
|
188
|
+
predecessors
|
|
189
|
+
successors
|
|
190
|
+
xhandlers
|
|
191
|
+
flags
|
|
192
|
+
probability 4607182418800017408
|
|
193
|
+
begin_IR
|
|
194
|
+
LIR
|
|
195
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
196
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
197
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
198
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
199
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
200
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
201
|
+
locals: Object[null] v1|DWORD
|
|
202
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
203
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
204
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
205
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
206
|
+
locals: - -
|
|
207
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
208
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
209
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
210
|
+
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 <|@ <|@
|
|
211
|
+
end_IR
|
|
212
|
+
end_block
|
|
213
|
+
end_cfg
|
|
214
|
+
begin_bytecodes
|
|
215
|
+
0: aload_0
|
|
216
|
+
1: iload_1
|
|
217
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
218
|
+
5: ireturn
|
|
219
|
+
<|@
|
|
220
|
+
end_bytecodes
|
|
221
|
+
begin_cfg
|
|
222
|
+
name "After LIR generation"
|
|
223
|
+
begin_block
|
|
224
|
+
name "B0"
|
|
225
|
+
from_bci -1
|
|
226
|
+
to_bci -1
|
|
227
|
+
predecessors
|
|
228
|
+
successors
|
|
229
|
+
xhandlers
|
|
230
|
+
flags
|
|
231
|
+
probability 4607182418800017408
|
|
232
|
+
begin_IR
|
|
233
|
+
HIR
|
|
234
|
+
f <@#|@fixed with next>@ <|@
|
|
235
|
+
tid v0 <|@
|
|
236
|
+
d <@d|@=== Debug Properties ===
|
|
237
|
+
stamp: void
|
|
238
|
+
withSpeculationFence: false
|
|
239
|
+
=== Inputs ===
|
|
240
|
+
stateAfter: -
|
|
241
|
+
=== Succesors ===
|
|
242
|
+
next: v18
|
|
243
|
+
=== Usages ===
|
|
244
|
+
=== Predecessor ===
|
|
245
|
+
- >@ <|@
|
|
246
|
+
instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v18 <|@ <|@
|
|
247
|
+
f <@~|@floating>@ <|@
|
|
248
|
+
tid a17 <|@
|
|
249
|
+
result Object[null] <|@
|
|
250
|
+
d <@d|@=== Debug Properties ===
|
|
251
|
+
isDefaultStable: false
|
|
252
|
+
rawvalue: null
|
|
253
|
+
stableDimension: 0
|
|
254
|
+
stamp: a - NULL
|
|
255
|
+
stampKind: a -
|
|
256
|
+
value: Object[null]
|
|
257
|
+
=== Inputs ===
|
|
258
|
+
=== Succesors ===
|
|
259
|
+
=== Usages ===
|
|
260
|
+
?3
|
|
261
|
+
=== Predecessor ===
|
|
262
|
+
- >@ <|@
|
|
263
|
+
instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
|
|
264
|
+
f <@~|@floating>@ <|@
|
|
265
|
+
tid i2 <|@
|
|
266
|
+
result v1|DWORD <|@
|
|
267
|
+
d <@d|@=== Debug Properties ===
|
|
268
|
+
index: 1
|
|
269
|
+
stamp: i32
|
|
270
|
+
uncheckedStamp: [null]
|
|
271
|
+
=== Inputs ===
|
|
272
|
+
=== Succesors ===
|
|
273
|
+
=== Usages ===
|
|
274
|
+
?3 v11
|
|
275
|
+
=== Predecessor ===
|
|
276
|
+
- >@ <|@
|
|
277
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
278
|
+
tid ?3 <|@
|
|
279
|
+
d <@d|@=== Debug Properties ===
|
|
280
|
+
bci: 0
|
|
281
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)>
|
|
282
|
+
duringCall: false
|
|
283
|
+
localsSize: 2
|
|
284
|
+
locksSize: 0
|
|
285
|
+
rethrowException: false
|
|
286
|
+
sourceFile: JavaExamples.java
|
|
287
|
+
sourceLine: 104
|
|
288
|
+
stackSize: 0
|
|
289
|
+
=== Inputs ===
|
|
290
|
+
outerFrameState: -
|
|
291
|
+
values: a17 i2
|
|
292
|
+
=== Succesors ===
|
|
293
|
+
=== Usages ===
|
|
294
|
+
v18
|
|
295
|
+
=== Predecessor ===
|
|
296
|
+
- >@ <|@
|
|
297
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a17 i2 <|@ <|@
|
|
298
|
+
f <@~|@floating>@ <|@
|
|
299
|
+
tid a1 <|@
|
|
300
|
+
result v0|QWORD[.] <|@
|
|
301
|
+
d <@d|@=== Debug Properties ===
|
|
302
|
+
index: 0
|
|
303
|
+
stamp: a# LJavaExamples$ExampleObject;
|
|
304
|
+
uncheckedStamp: [null]
|
|
305
|
+
=== Inputs ===
|
|
306
|
+
=== Succesors ===
|
|
307
|
+
=== Usages ===
|
|
308
|
+
v18 v11
|
|
309
|
+
=== Predecessor ===
|
|
310
|
+
- >@ <|@
|
|
311
|
+
instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
|
|
312
|
+
f <@#|@fixed with next>@ <|@
|
|
313
|
+
tid v18 <|@
|
|
314
|
+
d <@d|@=== Debug Properties ===
|
|
315
|
+
stamp: void
|
|
316
|
+
=== Inputs ===
|
|
317
|
+
stateBefore: ?3
|
|
318
|
+
object: a1
|
|
319
|
+
=== Succesors ===
|
|
320
|
+
next: i5
|
|
321
|
+
=== Usages ===
|
|
322
|
+
=== Predecessor ===
|
|
323
|
+
v0 >@ <|@
|
|
324
|
+
instruction <@NullCheck|@org.graalvm.compiler.nodes.extended.NullCheckNode>@ stateBefore: ?3 object: a1 #next: i5 <|@ <|@
|
|
325
|
+
tid v11 <|@
|
|
326
|
+
d <@d|@=== Debug Properties ===
|
|
327
|
+
callType: JavaCall
|
|
328
|
+
invokeKind: Special
|
|
329
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
330
|
+
returnStamp: i32
|
|
331
|
+
signature: [Ljdk.vm.ci.meta.JavaType;@13e6c9308
|
|
332
|
+
stamp: void
|
|
333
|
+
targetMethod: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)>
|
|
334
|
+
=== Inputs ===
|
|
335
|
+
arguments: a1 i2
|
|
336
|
+
=== Succesors ===
|
|
337
|
+
=== Usages ===
|
|
338
|
+
i5
|
|
339
|
+
=== Predecessor ===
|
|
340
|
+
- >@ <|@
|
|
341
|
+
instruction <@HotSpotDirectCallTarget|@org.graalvm.compiler.hotspot.nodes.HotSpotDirectCallTargetNode>@ arguments: a1 i2 <|@ <|@
|
|
342
|
+
tid ?16 <|@
|
|
343
|
+
d <@d|@=== Debug Properties ===
|
|
344
|
+
bci: 2
|
|
345
|
+
code: ResolvedJavaMethodBytecode<JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)>
|
|
346
|
+
duringCall: true
|
|
347
|
+
localsSize: 2
|
|
348
|
+
locksSize: 0
|
|
349
|
+
rethrowException: false
|
|
350
|
+
sourceFile: JavaExamples.java
|
|
351
|
+
sourceLine: 104
|
|
352
|
+
stackSize: 0
|
|
353
|
+
=== Inputs ===
|
|
354
|
+
outerFrameState: -
|
|
355
|
+
values: - -
|
|
356
|
+
=== Succesors ===
|
|
357
|
+
=== Usages ===
|
|
358
|
+
i5
|
|
359
|
+
=== Predecessor ===
|
|
360
|
+
- >@ <|@
|
|
361
|
+
instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: - - <|@ <|@
|
|
362
|
+
f <@#|@fixed with next>@ <|@
|
|
363
|
+
tid i5 <|@
|
|
364
|
+
result v2|DWORD <|@
|
|
365
|
+
d <@d|@=== Debug Properties ===
|
|
366
|
+
bci: 2
|
|
367
|
+
identity: ANY_LOCATION
|
|
368
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
369
|
+
polymorphic: false
|
|
370
|
+
stamp: i32
|
|
371
|
+
targetMethod: Direct#JavaExamples$ExampleObject.instanceCall
|
|
372
|
+
useForInlining: true
|
|
373
|
+
=== Inputs ===
|
|
374
|
+
stateAfter: -
|
|
375
|
+
classInit: -
|
|
376
|
+
callTarget: v11
|
|
377
|
+
stateDuring: ?16
|
|
378
|
+
=== Succesors ===
|
|
379
|
+
next: v7
|
|
380
|
+
=== Usages ===
|
|
381
|
+
v7
|
|
382
|
+
=== Predecessor ===
|
|
383
|
+
v18 >@ <|@
|
|
384
|
+
instruction <@Invoke|@org.graalvm.compiler.nodes.InvokeNode>@ stateAfter: - classInit: - callTarget: v11 stateDuring: ?16 #next: v7 <|@ <|@
|
|
385
|
+
f <@*|@fixed>@ <|@
|
|
386
|
+
tid v7 <|@
|
|
387
|
+
d <@d|@=== Debug Properties ===
|
|
388
|
+
nodeSourcePosition: at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 5]
|
|
389
|
+
stamp: void
|
|
390
|
+
=== Inputs ===
|
|
391
|
+
result: i5
|
|
392
|
+
memoryMap: -
|
|
393
|
+
=== Succesors ===
|
|
394
|
+
=== Usages ===
|
|
395
|
+
=== Predecessor ===
|
|
396
|
+
i5 >@ <|@
|
|
397
|
+
instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i5 memoryMap: - <|@ <|@
|
|
398
|
+
end_IR
|
|
399
|
+
begin_IR
|
|
400
|
+
LIR
|
|
401
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
402
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
403
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
404
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
405
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
406
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
407
|
+
locals: Object[null] v1|DWORD
|
|
408
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
409
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
410
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
411
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
412
|
+
locals: - -
|
|
413
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
414
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
415
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
416
|
+
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 <|@ <|@
|
|
417
|
+
end_IR
|
|
418
|
+
end_block
|
|
419
|
+
end_cfg
|
|
420
|
+
begin_cfg
|
|
421
|
+
name "After ConstantLoadOptimization"
|
|
422
|
+
begin_block
|
|
423
|
+
name "B0"
|
|
424
|
+
from_bci -1
|
|
425
|
+
to_bci -1
|
|
426
|
+
predecessors
|
|
427
|
+
successors
|
|
428
|
+
xhandlers
|
|
429
|
+
flags
|
|
430
|
+
probability 4607182418800017408
|
|
431
|
+
begin_IR
|
|
432
|
+
LIR
|
|
433
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
434
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
435
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
436
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
437
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
438
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
439
|
+
locals: Object[null] v1|DWORD
|
|
440
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
441
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
442
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
443
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
444
|
+
locals: - -
|
|
445
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
446
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
447
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
448
|
+
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 <|@ <|@
|
|
449
|
+
end_IR
|
|
450
|
+
end_block
|
|
451
|
+
end_cfg
|
|
452
|
+
begin_bytecodes
|
|
453
|
+
0: aload_0
|
|
454
|
+
1: iload_1
|
|
455
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
456
|
+
5: ireturn
|
|
457
|
+
<|@
|
|
458
|
+
end_bytecodes
|
|
459
|
+
begin_cfg
|
|
460
|
+
name "After SaveCalleeSaveRegisters"
|
|
461
|
+
begin_block
|
|
462
|
+
name "B0"
|
|
463
|
+
from_bci -1
|
|
464
|
+
to_bci -1
|
|
465
|
+
predecessors
|
|
466
|
+
successors
|
|
467
|
+
xhandlers
|
|
468
|
+
flags
|
|
469
|
+
probability 4607182418800017408
|
|
470
|
+
begin_IR
|
|
471
|
+
LIR
|
|
472
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
473
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
474
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
475
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
476
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
477
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
478
|
+
locals: Object[null] v1|DWORD
|
|
479
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
480
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
481
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
482
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
483
|
+
locals: - -
|
|
484
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
485
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
486
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
487
|
+
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 <|@ <|@
|
|
488
|
+
end_IR
|
|
489
|
+
end_block
|
|
490
|
+
end_cfg
|
|
491
|
+
begin_bytecodes
|
|
492
|
+
0: aload_0
|
|
493
|
+
1: iload_1
|
|
494
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
495
|
+
5: ireturn
|
|
496
|
+
<|@
|
|
497
|
+
end_bytecodes
|
|
498
|
+
begin_cfg
|
|
499
|
+
name "After PreAllocationOptimizationStage"
|
|
500
|
+
begin_block
|
|
501
|
+
name "B0"
|
|
502
|
+
from_bci -1
|
|
503
|
+
to_bci -1
|
|
504
|
+
predecessors
|
|
505
|
+
successors
|
|
506
|
+
xhandlers
|
|
507
|
+
flags
|
|
508
|
+
probability 4607182418800017408
|
|
509
|
+
begin_IR
|
|
510
|
+
LIR
|
|
511
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
512
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
513
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
514
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
515
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
516
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
517
|
+
locals: Object[null] v1|DWORD
|
|
518
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
519
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
520
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
521
|
+
nr -1 <|@ st <@st|@JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
522
|
+
locals: - -
|
|
523
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
524
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
525
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
526
|
+
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 <|@ <|@
|
|
527
|
+
end_IR
|
|
528
|
+
end_block
|
|
529
|
+
end_cfg
|
|
530
|
+
begin_bytecodes
|
|
531
|
+
0: aload_0
|
|
532
|
+
1: iload_1
|
|
533
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
534
|
+
5: ireturn
|
|
535
|
+
<|@
|
|
536
|
+
end_bytecodes
|
|
537
|
+
begin_cfg
|
|
538
|
+
name "After MarkBasePointers"
|
|
539
|
+
begin_block
|
|
540
|
+
name "B0"
|
|
541
|
+
from_bci -1
|
|
542
|
+
to_bci -1
|
|
543
|
+
predecessors
|
|
544
|
+
successors
|
|
545
|
+
xhandlers
|
|
546
|
+
flags
|
|
547
|
+
probability 4607182418800017408
|
|
548
|
+
begin_IR
|
|
549
|
+
LIR
|
|
550
|
+
nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
551
|
+
nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
552
|
+
nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
553
|
+
nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
554
|
+
nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
555
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
556
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
557
|
+
locals: Object[null] v1|DWORD
|
|
558
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
559
|
+
nr -1 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
560
|
+
nr -1 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
561
|
+
nr -1 <|@ st <@st|@live-base-pointers: []
|
|
562
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
563
|
+
locals: - -
|
|
564
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
565
|
+
nr -1 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
566
|
+
nr -1 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
567
|
+
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 <|@ <|@
|
|
568
|
+
end_IR
|
|
569
|
+
end_block
|
|
570
|
+
end_cfg
|
|
571
|
+
begin_bytecodes
|
|
572
|
+
0: aload_0
|
|
573
|
+
1: iload_1
|
|
574
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
575
|
+
5: ireturn
|
|
576
|
+
<|@
|
|
577
|
+
end_bytecodes
|
|
578
|
+
begin_cfg
|
|
579
|
+
name "Before register allocation"
|
|
580
|
+
begin_block
|
|
581
|
+
name "B0"
|
|
582
|
+
from_bci -1
|
|
583
|
+
to_bci -1
|
|
584
|
+
predecessors
|
|
585
|
+
successors
|
|
586
|
+
xhandlers
|
|
587
|
+
flags
|
|
588
|
+
probability 4607182418800017408
|
|
589
|
+
begin_IR
|
|
590
|
+
LIR
|
|
591
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
592
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
593
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
594
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
595
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
596
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
597
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
598
|
+
locals: Object[null] v1|DWORD
|
|
599
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
600
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
601
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
602
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
603
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
604
|
+
locals: - -
|
|
605
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
606
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
607
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
608
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
609
|
+
end_IR
|
|
610
|
+
end_block
|
|
611
|
+
end_cfg
|
|
612
|
+
begin_bytecodes
|
|
613
|
+
0: aload_0
|
|
614
|
+
1: iload_1
|
|
615
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
616
|
+
5: ireturn
|
|
617
|
+
<|@
|
|
618
|
+
end_bytecodes
|
|
619
|
+
begin_cfg
|
|
620
|
+
name "After SSALinearScanLifetimeAnalysis"
|
|
621
|
+
begin_block
|
|
622
|
+
name "B0"
|
|
623
|
+
from_bci -1
|
|
624
|
+
to_bci -1
|
|
625
|
+
predecessors
|
|
626
|
+
successors
|
|
627
|
+
xhandlers
|
|
628
|
+
flags
|
|
629
|
+
probability 4607182418800017408
|
|
630
|
+
begin_IR
|
|
631
|
+
LIR
|
|
632
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
633
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
634
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
635
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
636
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
637
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
638
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
639
|
+
locals: Object[null] v1|DWORD
|
|
640
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
641
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
642
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
643
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
644
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
645
|
+
locals: - -
|
|
646
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
647
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
648
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
649
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
650
|
+
end_IR
|
|
651
|
+
end_block
|
|
652
|
+
end_cfg
|
|
653
|
+
begin_bytecodes
|
|
654
|
+
0: aload_0
|
|
655
|
+
1: iload_1
|
|
656
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
657
|
+
5: ireturn
|
|
658
|
+
<|@
|
|
659
|
+
end_bytecodes
|
|
660
|
+
begin_intervals
|
|
661
|
+
name "Before register allocation"
|
|
662
|
+
rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[16, 18[[20, 22[ "NoOptimization"
|
|
663
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
664
|
+
rdx|- fixed "[rdx|-]" rdx|- v1|d [0, 8[[14, 17[ "NoOptimization"
|
|
665
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
666
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[16, 17[ "NoSpillStore"
|
|
667
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[12, 17[ "NoOptimization"
|
|
668
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
669
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
670
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
671
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
672
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
673
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
674
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
675
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
676
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
677
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
678
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
679
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
680
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
681
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
682
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
683
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
684
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
685
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
686
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
687
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
688
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
689
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
690
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
691
|
+
v0|q QWORD "[v0|q]" v0|q rsi|- [6, 12[6 MustHaveRegister 10 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
|
|
692
|
+
v1|d DWORD "[v1|d]" v1|d rdx|- [8, 14[8 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
|
|
693
|
+
v2|d DWORD "[v2|d]" v2|d rax|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
694
|
+
end_intervals
|
|
695
|
+
begin_intervals
|
|
696
|
+
name "After register allocation"
|
|
697
|
+
rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[16, 18[[20, 22[ "NoOptimization"
|
|
698
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
699
|
+
rdx|- fixed "[rdx|-]" rdx|- v1|d [0, 8[[14, 17[ "NoOptimization"
|
|
700
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
701
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[16, 17[ "NoSpillStore"
|
|
702
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[12, 17[ "NoOptimization"
|
|
703
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
704
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
705
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
706
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
707
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
708
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
709
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
710
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
711
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
712
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
713
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
714
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
715
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
716
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
717
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
718
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
719
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
720
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
721
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
722
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
723
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
724
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
725
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
726
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 12[6 MustHaveRegister 10 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
|
|
727
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 14[8 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
|
|
728
|
+
v2|d DWORD "[rax|d]" v2|d rax|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
729
|
+
end_intervals
|
|
730
|
+
begin_cfg
|
|
731
|
+
name "After LinearScanRegisterAllocation"
|
|
732
|
+
begin_block
|
|
733
|
+
name "B0"
|
|
734
|
+
from_bci -1
|
|
735
|
+
to_bci -1
|
|
736
|
+
predecessors
|
|
737
|
+
successors
|
|
738
|
+
xhandlers
|
|
739
|
+
flags
|
|
740
|
+
probability 4607182418800017408
|
|
741
|
+
begin_IR
|
|
742
|
+
LIR
|
|
743
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
744
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
745
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
746
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
747
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
748
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
749
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
750
|
+
locals: Object[null] v1|DWORD
|
|
751
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
752
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
753
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
754
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
755
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
756
|
+
locals: - -
|
|
757
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
758
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
759
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
760
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
761
|
+
end_IR
|
|
762
|
+
end_block
|
|
763
|
+
end_cfg
|
|
764
|
+
begin_bytecodes
|
|
765
|
+
0: aload_0
|
|
766
|
+
1: iload_1
|
|
767
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
768
|
+
5: ireturn
|
|
769
|
+
<|@
|
|
770
|
+
end_bytecodes
|
|
771
|
+
begin_intervals
|
|
772
|
+
name "After optimize spill position"
|
|
773
|
+
rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[16, 18[[20, 22[ "NoOptimization"
|
|
774
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
775
|
+
rdx|- fixed "[rdx|-]" rdx|- v1|d [0, 8[[14, 17[ "NoOptimization"
|
|
776
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
777
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[16, 17[ "NoSpillStore"
|
|
778
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[12, 17[ "NoOptimization"
|
|
779
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
780
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
781
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
782
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
783
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
784
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
785
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
786
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
787
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
788
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
789
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
790
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
791
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
792
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
793
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
794
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
795
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
796
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
797
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
798
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
799
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
800
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
801
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
802
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 12[6 MustHaveRegister 10 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
|
|
803
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 14[8 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
|
|
804
|
+
v2|d DWORD "[rax|d]" v2|d rax|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
805
|
+
end_intervals
|
|
806
|
+
begin_cfg
|
|
807
|
+
name "After LinearScanOptimizeSpillPosition"
|
|
808
|
+
begin_block
|
|
809
|
+
name "B0"
|
|
810
|
+
from_bci -1
|
|
811
|
+
to_bci -1
|
|
812
|
+
predecessors
|
|
813
|
+
successors
|
|
814
|
+
xhandlers
|
|
815
|
+
flags
|
|
816
|
+
probability 4607182418800017408
|
|
817
|
+
begin_IR
|
|
818
|
+
LIR
|
|
819
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
820
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
821
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
822
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
823
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
824
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
825
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
826
|
+
locals: Object[null] v1|DWORD
|
|
827
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
828
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
829
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
830
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
831
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
832
|
+
locals: - -
|
|
833
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
834
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
835
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
836
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
837
|
+
end_IR
|
|
838
|
+
end_block
|
|
839
|
+
end_cfg
|
|
840
|
+
begin_bytecodes
|
|
841
|
+
0: aload_0
|
|
842
|
+
1: iload_1
|
|
843
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
844
|
+
5: ireturn
|
|
845
|
+
<|@
|
|
846
|
+
end_bytecodes
|
|
847
|
+
begin_intervals
|
|
848
|
+
name "After resolve data flow"
|
|
849
|
+
rax|d fixed "[rax|d]" rax|d v2|d [0, 1[[16, 18[[20, 22[ "NoOptimization"
|
|
850
|
+
rcx|- fixed "[rcx|-]" rcx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
851
|
+
rdx|- fixed "[rdx|-]" rdx|- v1|d [0, 8[[14, 17[ "NoOptimization"
|
|
852
|
+
rbx|- fixed "[rbx|-]" rbx|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
853
|
+
rbp|- fixed "[rbp|-]" rbp|- -1 [0, 2[[16, 17[ "NoSpillStore"
|
|
854
|
+
rsi|- fixed "[rsi|-]" rsi|- v0|q [0, 6[[12, 17[ "NoOptimization"
|
|
855
|
+
rdi|- fixed "[rdi|-]" rdi|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
856
|
+
r8|- fixed "[r8|-]" r8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
857
|
+
r9|- fixed "[r9|-]" r9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
858
|
+
r10|- fixed "[r10|-]" r10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
859
|
+
r11|- fixed "[r11|-]" r11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
860
|
+
r13|- fixed "[r13|-]" r13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
861
|
+
r14|- fixed "[r14|-]" r14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
862
|
+
xmm0|- fixed "[xmm0|-]" xmm0|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
863
|
+
xmm1|- fixed "[xmm1|-]" xmm1|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
864
|
+
xmm2|- fixed "[xmm2|-]" xmm2|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
865
|
+
xmm3|- fixed "[xmm3|-]" xmm3|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
866
|
+
xmm4|- fixed "[xmm4|-]" xmm4|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
867
|
+
xmm5|- fixed "[xmm5|-]" xmm5|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
868
|
+
xmm6|- fixed "[xmm6|-]" xmm6|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
869
|
+
xmm7|- fixed "[xmm7|-]" xmm7|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
870
|
+
xmm8|- fixed "[xmm8|-]" xmm8|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
871
|
+
xmm9|- fixed "[xmm9|-]" xmm9|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
872
|
+
xmm10|- fixed "[xmm10|-]" xmm10|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
873
|
+
xmm11|- fixed "[xmm11|-]" xmm11|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
874
|
+
xmm12|- fixed "[xmm12|-]" xmm12|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
875
|
+
xmm13|- fixed "[xmm13|-]" xmm13|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
876
|
+
xmm14|- fixed "[xmm14|-]" xmm14|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
877
|
+
xmm15|- fixed "[xmm15|-]" xmm15|- -1 [0, 1[[16, 17[ "NoDefinitionFound"
|
|
878
|
+
v0|q QWORD "[rsi|q]" v0|q rsi|- [6, 12[6 MustHaveRegister 10 MustHaveRegister 12 ShouldHaveRegister "NoSpillStore"
|
|
879
|
+
v1|d DWORD "[rdx|d]" v1|d rdx|- [8, 14[8 MustHaveRegister 14 ShouldHaveRegister "NoSpillStore"
|
|
880
|
+
v2|d DWORD "[rax|d]" v2|d rax|d [18, 20[18 MustHaveRegister 20 ShouldHaveRegister "NoSpillStore"
|
|
881
|
+
end_intervals
|
|
882
|
+
begin_cfg
|
|
883
|
+
name "After SSALinearScanResolveDataFlow"
|
|
884
|
+
begin_block
|
|
885
|
+
name "B0"
|
|
886
|
+
from_bci -1
|
|
887
|
+
to_bci -1
|
|
888
|
+
predecessors
|
|
889
|
+
successors
|
|
890
|
+
xhandlers
|
|
891
|
+
flags
|
|
892
|
+
probability 4607182418800017408
|
|
893
|
+
begin_IR
|
|
894
|
+
LIR
|
|
895
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
896
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
897
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
898
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
899
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
900
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
901
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
902
|
+
locals: Object[null] v1|DWORD
|
|
903
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
904
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
905
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
906
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
907
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
908
|
+
locals: - -
|
|
909
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
910
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
911
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
912
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
913
|
+
end_IR
|
|
914
|
+
end_block
|
|
915
|
+
end_cfg
|
|
916
|
+
begin_bytecodes
|
|
917
|
+
0: aload_0
|
|
918
|
+
1: iload_1
|
|
919
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
920
|
+
5: ireturn
|
|
921
|
+
<|@
|
|
922
|
+
end_bytecodes
|
|
923
|
+
begin_cfg
|
|
924
|
+
name "After SSALinearScanEliminateSpillMove"
|
|
925
|
+
begin_block
|
|
926
|
+
name "B0"
|
|
927
|
+
from_bci -1
|
|
928
|
+
to_bci -1
|
|
929
|
+
predecessors
|
|
930
|
+
successors
|
|
931
|
+
xhandlers
|
|
932
|
+
flags
|
|
933
|
+
probability 4607182418800017408
|
|
934
|
+
begin_IR
|
|
935
|
+
LIR
|
|
936
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
937
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
938
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
939
|
+
nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
|
|
940
|
+
nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
|
|
941
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
942
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
943
|
+
locals: Object[null] v1|DWORD
|
|
944
|
+
>@ <|@ instruction NULLCHECK [v0|QWORD[.]] state [bci:0] <|@ <|@
|
|
945
|
+
nr 12 <|@ instruction rsi|QWORD[.] = MOVE v0|QWORD[.] moveKind: QWORD <|@ <|@
|
|
946
|
+
nr 14 <|@ instruction rdx|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
|
|
947
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
948
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
949
|
+
locals: - -
|
|
950
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
951
|
+
nr 18 <|@ instruction v2|DWORD = MOVE rax|DWORD moveKind: DWORD <|@ <|@
|
|
952
|
+
nr 20 <|@ instruction rax|DWORD = MOVE v2|DWORD moveKind: DWORD <|@ <|@
|
|
953
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
954
|
+
end_IR
|
|
955
|
+
end_block
|
|
956
|
+
end_cfg
|
|
957
|
+
begin_bytecodes
|
|
958
|
+
0: aload_0
|
|
959
|
+
1: iload_1
|
|
960
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
961
|
+
5: ireturn
|
|
962
|
+
<|@
|
|
963
|
+
end_bytecodes
|
|
964
|
+
begin_cfg
|
|
965
|
+
name "After LinearScanAssignLocations"
|
|
966
|
+
begin_block
|
|
967
|
+
name "B0"
|
|
968
|
+
from_bci -1
|
|
969
|
+
to_bci -1
|
|
970
|
+
predecessors
|
|
971
|
+
successors
|
|
972
|
+
xhandlers
|
|
973
|
+
flags
|
|
974
|
+
probability 4607182418800017408
|
|
975
|
+
begin_IR
|
|
976
|
+
LIR
|
|
977
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
978
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
979
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
980
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
981
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
982
|
+
locals: Object[null] rdx|DWORD
|
|
983
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
984
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
985
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
986
|
+
locals: - -
|
|
987
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
988
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
989
|
+
end_IR
|
|
990
|
+
end_block
|
|
991
|
+
end_cfg
|
|
992
|
+
begin_bytecodes
|
|
993
|
+
0: aload_0
|
|
994
|
+
1: iload_1
|
|
995
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
996
|
+
5: ireturn
|
|
997
|
+
<|@
|
|
998
|
+
end_bytecodes
|
|
999
|
+
begin_cfg
|
|
1000
|
+
name "After LinearScan"
|
|
1001
|
+
begin_block
|
|
1002
|
+
name "B0"
|
|
1003
|
+
from_bci -1
|
|
1004
|
+
to_bci -1
|
|
1005
|
+
predecessors
|
|
1006
|
+
successors
|
|
1007
|
+
xhandlers
|
|
1008
|
+
flags
|
|
1009
|
+
probability 4607182418800017408
|
|
1010
|
+
begin_IR
|
|
1011
|
+
LIR
|
|
1012
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1013
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1014
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1015
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
1016
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1017
|
+
locals: Object[null] rdx|DWORD
|
|
1018
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1019
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
1020
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1021
|
+
locals: - -
|
|
1022
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1023
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1024
|
+
end_IR
|
|
1025
|
+
end_block
|
|
1026
|
+
end_cfg
|
|
1027
|
+
begin_bytecodes
|
|
1028
|
+
0: aload_0
|
|
1029
|
+
1: iload_1
|
|
1030
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1031
|
+
5: ireturn
|
|
1032
|
+
<|@
|
|
1033
|
+
end_bytecodes
|
|
1034
|
+
begin_cfg
|
|
1035
|
+
name "After LSStackSlotAllocator"
|
|
1036
|
+
begin_block
|
|
1037
|
+
name "B0"
|
|
1038
|
+
from_bci -1
|
|
1039
|
+
to_bci -1
|
|
1040
|
+
predecessors
|
|
1041
|
+
successors
|
|
1042
|
+
xhandlers
|
|
1043
|
+
flags
|
|
1044
|
+
probability 4607182418800017408
|
|
1045
|
+
begin_IR
|
|
1046
|
+
LIR
|
|
1047
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1048
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1049
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1050
|
+
nr 10 <|@ st <@st|@live-base-pointers: []
|
|
1051
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1052
|
+
locals: Object[null] rdx|DWORD
|
|
1053
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1054
|
+
nr 16 <|@ st <@st|@live-base-pointers: []
|
|
1055
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1056
|
+
locals: - -
|
|
1057
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1058
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1059
|
+
end_IR
|
|
1060
|
+
end_block
|
|
1061
|
+
end_cfg
|
|
1062
|
+
begin_bytecodes
|
|
1063
|
+
0: aload_0
|
|
1064
|
+
1: iload_1
|
|
1065
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1066
|
+
5: ireturn
|
|
1067
|
+
<|@
|
|
1068
|
+
end_bytecodes
|
|
1069
|
+
begin_cfg
|
|
1070
|
+
name "After LocationMarker"
|
|
1071
|
+
begin_block
|
|
1072
|
+
name "B0"
|
|
1073
|
+
from_bci -1
|
|
1074
|
+
to_bci -1
|
|
1075
|
+
predecessors
|
|
1076
|
+
successors
|
|
1077
|
+
xhandlers
|
|
1078
|
+
flags
|
|
1079
|
+
probability 4607182418800017408
|
|
1080
|
+
begin_IR
|
|
1081
|
+
LIR
|
|
1082
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1083
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1084
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1085
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1086
|
+
live-base-pointers: []
|
|
1087
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1088
|
+
locals: Object[null] rdx|DWORD
|
|
1089
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1090
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1091
|
+
live-base-pointers: []
|
|
1092
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1093
|
+
locals: - -
|
|
1094
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1095
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1096
|
+
end_IR
|
|
1097
|
+
end_block
|
|
1098
|
+
end_cfg
|
|
1099
|
+
begin_bytecodes
|
|
1100
|
+
0: aload_0
|
|
1101
|
+
1: iload_1
|
|
1102
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1103
|
+
5: ireturn
|
|
1104
|
+
<|@
|
|
1105
|
+
end_bytecodes
|
|
1106
|
+
begin_cfg
|
|
1107
|
+
name "After AllocationStage"
|
|
1108
|
+
begin_block
|
|
1109
|
+
name "B0"
|
|
1110
|
+
from_bci -1
|
|
1111
|
+
to_bci -1
|
|
1112
|
+
predecessors
|
|
1113
|
+
successors
|
|
1114
|
+
xhandlers
|
|
1115
|
+
flags
|
|
1116
|
+
probability 4607182418800017408
|
|
1117
|
+
begin_IR
|
|
1118
|
+
LIR
|
|
1119
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1120
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1121
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1122
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1123
|
+
live-base-pointers: []
|
|
1124
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1125
|
+
locals: Object[null] rdx|DWORD
|
|
1126
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1127
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1128
|
+
live-base-pointers: []
|
|
1129
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1130
|
+
locals: - -
|
|
1131
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1132
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1133
|
+
end_IR
|
|
1134
|
+
end_block
|
|
1135
|
+
end_cfg
|
|
1136
|
+
begin_bytecodes
|
|
1137
|
+
0: aload_0
|
|
1138
|
+
1: iload_1
|
|
1139
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1140
|
+
5: ireturn
|
|
1141
|
+
<|@
|
|
1142
|
+
end_bytecodes
|
|
1143
|
+
begin_cfg
|
|
1144
|
+
name "After EdgeMoveOptimizer"
|
|
1145
|
+
begin_block
|
|
1146
|
+
name "B0"
|
|
1147
|
+
from_bci -1
|
|
1148
|
+
to_bci -1
|
|
1149
|
+
predecessors
|
|
1150
|
+
successors
|
|
1151
|
+
xhandlers
|
|
1152
|
+
flags
|
|
1153
|
+
probability 4607182418800017408
|
|
1154
|
+
begin_IR
|
|
1155
|
+
LIR
|
|
1156
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1157
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1158
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1159
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1160
|
+
live-base-pointers: []
|
|
1161
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1162
|
+
locals: Object[null] rdx|DWORD
|
|
1163
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1164
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1165
|
+
live-base-pointers: []
|
|
1166
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1167
|
+
locals: - -
|
|
1168
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1169
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1170
|
+
end_IR
|
|
1171
|
+
end_block
|
|
1172
|
+
end_cfg
|
|
1173
|
+
begin_bytecodes
|
|
1174
|
+
0: aload_0
|
|
1175
|
+
1: iload_1
|
|
1176
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1177
|
+
5: ireturn
|
|
1178
|
+
<|@
|
|
1179
|
+
end_bytecodes
|
|
1180
|
+
begin_cfg
|
|
1181
|
+
name "After ControlFlowOptimizer"
|
|
1182
|
+
begin_block
|
|
1183
|
+
name "B0"
|
|
1184
|
+
from_bci -1
|
|
1185
|
+
to_bci -1
|
|
1186
|
+
predecessors
|
|
1187
|
+
successors
|
|
1188
|
+
xhandlers
|
|
1189
|
+
flags
|
|
1190
|
+
probability 4607182418800017408
|
|
1191
|
+
begin_IR
|
|
1192
|
+
LIR
|
|
1193
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1194
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1195
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1196
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1197
|
+
live-base-pointers: []
|
|
1198
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1199
|
+
locals: Object[null] rdx|DWORD
|
|
1200
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1201
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1202
|
+
live-base-pointers: []
|
|
1203
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1204
|
+
locals: - -
|
|
1205
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1206
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1207
|
+
end_IR
|
|
1208
|
+
end_block
|
|
1209
|
+
end_cfg
|
|
1210
|
+
begin_bytecodes
|
|
1211
|
+
0: aload_0
|
|
1212
|
+
1: iload_1
|
|
1213
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1214
|
+
5: ireturn
|
|
1215
|
+
<|@
|
|
1216
|
+
end_bytecodes
|
|
1217
|
+
begin_cfg
|
|
1218
|
+
name "After RedundantMoveElimination"
|
|
1219
|
+
begin_block
|
|
1220
|
+
name "B0"
|
|
1221
|
+
from_bci -1
|
|
1222
|
+
to_bci -1
|
|
1223
|
+
predecessors
|
|
1224
|
+
successors
|
|
1225
|
+
xhandlers
|
|
1226
|
+
flags
|
|
1227
|
+
probability 4607182418800017408
|
|
1228
|
+
begin_IR
|
|
1229
|
+
LIR
|
|
1230
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1231
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1232
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1233
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1234
|
+
live-base-pointers: []
|
|
1235
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1236
|
+
locals: Object[null] rdx|DWORD
|
|
1237
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1238
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1239
|
+
live-base-pointers: []
|
|
1240
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1241
|
+
locals: - -
|
|
1242
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1243
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1244
|
+
end_IR
|
|
1245
|
+
end_block
|
|
1246
|
+
end_cfg
|
|
1247
|
+
begin_bytecodes
|
|
1248
|
+
0: aload_0
|
|
1249
|
+
1: iload_1
|
|
1250
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1251
|
+
5: ireturn
|
|
1252
|
+
<|@
|
|
1253
|
+
end_bytecodes
|
|
1254
|
+
begin_cfg
|
|
1255
|
+
name "After NullCheckOptimizer"
|
|
1256
|
+
begin_block
|
|
1257
|
+
name "B0"
|
|
1258
|
+
from_bci -1
|
|
1259
|
+
to_bci -1
|
|
1260
|
+
predecessors
|
|
1261
|
+
successors
|
|
1262
|
+
xhandlers
|
|
1263
|
+
flags
|
|
1264
|
+
probability 4607182418800017408
|
|
1265
|
+
begin_IR
|
|
1266
|
+
LIR
|
|
1267
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1268
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1269
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1270
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1271
|
+
live-base-pointers: []
|
|
1272
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1273
|
+
locals: Object[null] rdx|DWORD
|
|
1274
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1275
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1276
|
+
live-base-pointers: []
|
|
1277
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1278
|
+
locals: - -
|
|
1279
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1280
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1281
|
+
end_IR
|
|
1282
|
+
end_block
|
|
1283
|
+
end_cfg
|
|
1284
|
+
begin_bytecodes
|
|
1285
|
+
0: aload_0
|
|
1286
|
+
1: iload_1
|
|
1287
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1288
|
+
5: ireturn
|
|
1289
|
+
<|@
|
|
1290
|
+
end_bytecodes
|
|
1291
|
+
begin_cfg
|
|
1292
|
+
name "After StackMoveOptimization"
|
|
1293
|
+
begin_block
|
|
1294
|
+
name "B0"
|
|
1295
|
+
from_bci -1
|
|
1296
|
+
to_bci -1
|
|
1297
|
+
predecessors
|
|
1298
|
+
successors
|
|
1299
|
+
xhandlers
|
|
1300
|
+
flags
|
|
1301
|
+
probability 4607182418800017408
|
|
1302
|
+
begin_IR
|
|
1303
|
+
LIR
|
|
1304
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1305
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1306
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1307
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1308
|
+
live-base-pointers: []
|
|
1309
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1310
|
+
locals: Object[null] rdx|DWORD
|
|
1311
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1312
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1313
|
+
live-base-pointers: []
|
|
1314
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1315
|
+
locals: - -
|
|
1316
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1317
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1318
|
+
end_IR
|
|
1319
|
+
end_block
|
|
1320
|
+
end_cfg
|
|
1321
|
+
begin_bytecodes
|
|
1322
|
+
0: aload_0
|
|
1323
|
+
1: iload_1
|
|
1324
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1325
|
+
5: ireturn
|
|
1326
|
+
<|@
|
|
1327
|
+
end_bytecodes
|
|
1328
|
+
begin_cfg
|
|
1329
|
+
name "After PostAllocationOptimizationStage"
|
|
1330
|
+
begin_block
|
|
1331
|
+
name "B0"
|
|
1332
|
+
from_bci -1
|
|
1333
|
+
to_bci -1
|
|
1334
|
+
predecessors
|
|
1335
|
+
successors
|
|
1336
|
+
xhandlers
|
|
1337
|
+
flags
|
|
1338
|
+
probability 4607182418800017408
|
|
1339
|
+
begin_IR
|
|
1340
|
+
LIR
|
|
1341
|
+
nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
|
|
1342
|
+
nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
|
|
1343
|
+
nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <|@ <|@
|
|
1344
|
+
nr 10 <|@ st <@st|@reference-map: [rsi:0]
|
|
1345
|
+
live-base-pointers: []
|
|
1346
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0]
|
|
1347
|
+
locals: Object[null] rdx|DWORD
|
|
1348
|
+
>@ <|@ instruction NULLCHECK [rsi|QWORD[.]] state [bci:0] <|@ <|@
|
|
1349
|
+
nr 16 <|@ st <@st|@reference-map: []
|
|
1350
|
+
live-base-pointers: []
|
|
1351
|
+
JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2]
|
|
1352
|
+
locals: - -
|
|
1353
|
+
>@ <|@ instruction rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <|@ <|@
|
|
1354
|
+
nr 22 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
|
|
1355
|
+
end_IR
|
|
1356
|
+
end_block
|
|
1357
|
+
end_cfg
|
|
1358
|
+
begin_bytecodes
|
|
1359
|
+
0: aload_0
|
|
1360
|
+
1: iload_1
|
|
1361
|
+
2: invokevirtual #50 // JavaExamples$ExampleObject.instanceCall:(int)int
|
|
1362
|
+
5: ireturn
|
|
1363
|
+
<|@
|
|
1364
|
+
end_bytecodes
|
|
1365
|
+
begin_cfg
|
|
1366
|
+
name "After code generation"
|
|
1367
|
+
end_cfg
|
|
1368
|
+
begin_nmethod
|
|
1369
|
+
<<<HexCodeFile
|
|
1370
|
+
Platform AMD64 64 <||@
|
|
1371
|
+
HexCode 0 89842400c0feff4883ec1848896c241085060f1f440000e80000000090488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
|
|
1372
|
+
Comment 0 [stack overflow check] <||@
|
|
1373
|
+
Comment 0 3 <||@
|
|
1374
|
+
Comment 0 1 <||@
|
|
1375
|
+
Comment 11 block B0 null <||@
|
|
1376
|
+
Comment 11 0 [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1377
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1378
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <||@
|
|
1379
|
+
Comment 16 10 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
|
|
1380
|
+
Comment 16 [rsi:0]at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0, duringCall: false, rethrow: false]
|
|
1381
|
+
|0 |1
|
|
1382
|
+
locals: |Object[null] |rdx|DWORD <||@
|
|
1383
|
+
Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
|
|
1384
|
+
Comment 18 16 rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <||@
|
|
1385
|
+
Comment 18 9 <||@
|
|
1386
|
+
Comment 23 {HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)>} <||@
|
|
1387
|
+
Comment 28 []at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2, duringCall: true, rethrow: false]
|
|
1388
|
+
|0 |1
|
|
1389
|
+
locals: |- |- <||@
|
|
1390
|
+
Comment 29 22 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
|
|
1391
|
+
Comment 38 12 <||@
|
|
1392
|
+
Comment 48 {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} <||@
|
|
1393
|
+
Comment 48 4 <||@
|
|
1394
|
+
Comment 54 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
|
|
1395
|
+
Comment 54 5 <||@
|
|
1396
|
+
HexCodeFile>>> <|@
|
|
1397
|
+
end_nmethod
|
|
1398
|
+
begin_compilation
|
|
1399
|
+
name " HotSpotCompilation-349[JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)]"
|
|
1400
|
+
method "HotSpotCompilation-349[JavaExamples.exampleSimpleCall(JavaExamples$ExampleObject, int)]"
|
|
1401
|
+
date 1583364091828
|
|
1402
|
+
end_compilation
|
|
1403
|
+
begin_cfg
|
|
1404
|
+
name "After code installation"
|
|
1405
|
+
end_cfg
|
|
1406
|
+
begin_nmethod
|
|
1407
|
+
<<<HexCodeFile
|
|
1408
|
+
Platform AMD64 64 <||@
|
|
1409
|
+
HexCode 112e34560 89842400c0feff4883ec1848896c241085060f1f440000e884d2ffff90488b6c24104883c41885057a6a93fbc5f877c3e88bfdfeff90e8a5fceaff90f4f4f4f448bb0000000000000000e9fbfffffff4 <||@
|
|
1410
|
+
Comment 0 [stack overflow check] <||@
|
|
1411
|
+
Comment 0 3 <||@
|
|
1412
|
+
Comment 0 1 <||@
|
|
1413
|
+
Comment 11 block B0 null <||@
|
|
1414
|
+
Comment 11 0 [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
|
|
1415
|
+
Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
|
|
1416
|
+
Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13f368da8 slotKind: QWORD <||@
|
|
1417
|
+
Comment 16 10 NULLCHECK [rsi|QWORD[.]] state [bci:0] <||@
|
|
1418
|
+
Comment 16 [rsi:0]at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 0, duringCall: false, rethrow: false]
|
|
1419
|
+
|0 |1
|
|
1420
|
+
locals: |Object[null] |rdx|DWORD <||@
|
|
1421
|
+
Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
|
|
1422
|
+
Comment 18 16 rax|DWORD = CALL_DIRECT [rsi|QWORD[.], rdx|DWORD] [] callTarget: HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)> invokeKind: Special config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 state [bci:2] <||@
|
|
1423
|
+
Comment 18 9 <||@
|
|
1424
|
+
Comment 23 {HotSpotMethod<JavaExamples$ExampleObject.instanceCall(int)>} <||@
|
|
1425
|
+
Comment 28 []at JavaExamples.exampleSimpleCall(JavaExamples.java:104) [bci: 2, duringCall: true, rethrow: false]
|
|
1426
|
+
|0 |1
|
|
1427
|
+
locals: |- |- <||@
|
|
1428
|
+
Comment 29 22 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
|
|
1429
|
+
Comment 38 12 <||@
|
|
1430
|
+
Comment 48 {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} <||@
|
|
1431
|
+
Comment 48 4 <||@
|
|
1432
|
+
Comment 54 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
|
|
1433
|
+
Comment 54 5 <||@
|
|
1434
|
+
HexCodeFile>>> <|@
|
|
1435
|
+
end_nmethod
|