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