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.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,1228 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-360[JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)]"
3
+ method "HotSpotCompilation-360[JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)]"
4
+ date 1583364092063
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: i18
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i18 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid a19 <|@
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
+ ?2
45
+ === Predecessor ===
46
+ - >@ <|@
47
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
48
+ tid ?2 <|@
49
+ d <@d|@=== Debug Properties ===
50
+ bci: 0
51
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)>
52
+ duringCall: false
53
+ localsSize: 1
54
+ locksSize: 0
55
+ rethrowException: false
56
+ sourceFile: JavaExamples.java
57
+ sourceLine: 304
58
+ stackSize: 0
59
+ === Inputs ===
60
+ outerFrameState: -
61
+ values: a19
62
+ === Succesors ===
63
+ === Usages ===
64
+ i18
65
+ === Predecessor ===
66
+ - >@ <|@
67
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a19 <|@ <|@
68
+ f <@~|@floating>@ <|@
69
+ tid a1 <|@
70
+ d <@d|@=== Debug Properties ===
71
+ index: 0
72
+ stamp: a# LJavaExamples$ExampleObject;
73
+ uncheckedStamp: [null]
74
+ === Inputs ===
75
+ === Succesors ===
76
+ === Usages ===
77
+ v20
78
+ === Predecessor ===
79
+ - >@ <|@
80
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
81
+ f <@~|@floating>@ <|@
82
+ tid v20 <|@
83
+ d <@d|@=== Debug Properties ===
84
+ displacement: 12
85
+ scale: Times1
86
+ stamp: void*
87
+ === Inputs ===
88
+ base: a1
89
+ index: -
90
+ === Succesors ===
91
+ === Usages ===
92
+ i18
93
+ === Predecessor ===
94
+ - >@ <|@
95
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
96
+ f <@#|@fixed with next>@ <|@
97
+ tid i18 <|@
98
+ d <@d|@=== Debug Properties ===
99
+ barrierType: NONE
100
+ forceFixed: false
101
+ location: JavaExamples$ExampleObject.x
102
+ nodeSourcePosition: at JavaExamples.exampleFieldRead(JavaExamples.java:305) [bci: 19]
103
+ nullCheck: true
104
+ stamp: i32
105
+ === Inputs ===
106
+ stateBefore: ?2
107
+ guard: -
108
+ address: v20
109
+ lastLocationAccess: -
110
+ === Succesors ===
111
+ next: v6
112
+ === Usages ===
113
+ v6
114
+ === Predecessor ===
115
+ v0 >@ <|@
116
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: ?2 guard: - address: v20 lastLocationAccess: - #next: v6 <|@ <|@
117
+ f <@*|@fixed>@ <|@
118
+ tid v6 <|@
119
+ d <@d|@=== Debug Properties ===
120
+ nodeSourcePosition: at JavaExamples.exampleFieldRead(JavaExamples.java:305) [bci: 22]
121
+ stamp: void
122
+ === Inputs ===
123
+ result: i18
124
+ memoryMap: -
125
+ === Succesors ===
126
+ === Usages ===
127
+ === Predecessor ===
128
+ i18 >@ <|@
129
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i18 memoryMap: - <|@ <|@
130
+ end_IR
131
+ end_block
132
+ end_cfg
133
+ begin_cfg
134
+ name "After LIRGeneration"
135
+ begin_block
136
+ name "B0"
137
+ from_bci -1
138
+ to_bci -1
139
+ predecessors
140
+ successors
141
+ xhandlers
142
+ flags
143
+ probability 4607182418800017408
144
+ begin_IR
145
+ LIR
146
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
147
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
148
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
149
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
150
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
151
+ locals: Object[null]
152
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
153
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
154
+ 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@13ae06790 <|@ <|@
155
+ end_IR
156
+ end_block
157
+ end_cfg
158
+ begin_bytecodes
159
+ 0: getstatic #59 // $assertionsDisabled:boolean
160
+ 3: ifne 18
161
+ 6: aload_0
162
+ 7: ifnonnull 18
163
+ 10: new #70 // java.lang.AssertionError
164
+ 13: dup
165
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
166
+ 17: athrow
167
+ 18: aload_0
168
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
169
+ 22: ireturn
170
+ <|@
171
+ end_bytecodes
172
+ begin_cfg
173
+ name "After LIR generation"
174
+ begin_block
175
+ name "B0"
176
+ from_bci -1
177
+ to_bci -1
178
+ predecessors
179
+ successors
180
+ xhandlers
181
+ flags
182
+ probability 4607182418800017408
183
+ begin_IR
184
+ HIR
185
+ f <@#|@fixed with next>@ <|@
186
+ tid v0 <|@
187
+ d <@d|@=== Debug Properties ===
188
+ stamp: void
189
+ withSpeculationFence: false
190
+ === Inputs ===
191
+ stateAfter: -
192
+ === Succesors ===
193
+ next: i18
194
+ === Usages ===
195
+ === Predecessor ===
196
+ - >@ <|@
197
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: i18 <|@ <|@
198
+ f <@~|@floating>@ <|@
199
+ tid a19 <|@
200
+ result Object[null] <|@
201
+ d <@d|@=== Debug Properties ===
202
+ isDefaultStable: false
203
+ rawvalue: null
204
+ stableDimension: 0
205
+ stamp: a - NULL
206
+ stampKind: a -
207
+ value: Object[null]
208
+ === Inputs ===
209
+ === Succesors ===
210
+ === Usages ===
211
+ ?2
212
+ === Predecessor ===
213
+ - >@ <|@
214
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
215
+ tid ?2 <|@
216
+ d <@d|@=== Debug Properties ===
217
+ bci: 0
218
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)>
219
+ duringCall: false
220
+ localsSize: 1
221
+ locksSize: 0
222
+ rethrowException: false
223
+ sourceFile: JavaExamples.java
224
+ sourceLine: 304
225
+ stackSize: 0
226
+ === Inputs ===
227
+ outerFrameState: -
228
+ values: a19
229
+ === Succesors ===
230
+ === Usages ===
231
+ i18
232
+ === Predecessor ===
233
+ - >@ <|@
234
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a19 <|@ <|@
235
+ f <@~|@floating>@ <|@
236
+ tid a1 <|@
237
+ result v0|QWORD[.] <|@
238
+ d <@d|@=== Debug Properties ===
239
+ index: 0
240
+ stamp: a# LJavaExamples$ExampleObject;
241
+ uncheckedStamp: [null]
242
+ === Inputs ===
243
+ === Succesors ===
244
+ === Usages ===
245
+ v20
246
+ === Predecessor ===
247
+ - >@ <|@
248
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
249
+ f <@~|@floating>@ <|@
250
+ tid v20 <|@
251
+ result [v0|QWORD[.] + 12] <|@
252
+ d <@d|@=== Debug Properties ===
253
+ displacement: 12
254
+ scale: Times1
255
+ stamp: void*
256
+ === Inputs ===
257
+ base: a1
258
+ index: -
259
+ === Succesors ===
260
+ === Usages ===
261
+ i18
262
+ === Predecessor ===
263
+ - >@ <|@
264
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
265
+ f <@#|@fixed with next>@ <|@
266
+ tid i18 <|@
267
+ result v1|DWORD <|@
268
+ d <@d|@=== Debug Properties ===
269
+ barrierType: NONE
270
+ forceFixed: false
271
+ location: JavaExamples$ExampleObject.x
272
+ nodeSourcePosition: at JavaExamples.exampleFieldRead(JavaExamples.java:305) [bci: 19]
273
+ nullCheck: true
274
+ stamp: i32
275
+ === Inputs ===
276
+ stateBefore: ?2
277
+ guard: -
278
+ address: v20
279
+ lastLocationAccess: -
280
+ === Succesors ===
281
+ next: v6
282
+ === Usages ===
283
+ v6
284
+ === Predecessor ===
285
+ v0 >@ <|@
286
+ instruction <@Read|@org.graalvm.compiler.nodes.memory.ReadNode>@ stateBefore: ?2 guard: - address: v20 lastLocationAccess: - #next: v6 <|@ <|@
287
+ f <@*|@fixed>@ <|@
288
+ tid v6 <|@
289
+ d <@d|@=== Debug Properties ===
290
+ nodeSourcePosition: at JavaExamples.exampleFieldRead(JavaExamples.java:305) [bci: 22]
291
+ stamp: void
292
+ === Inputs ===
293
+ result: i18
294
+ memoryMap: -
295
+ === Succesors ===
296
+ === Usages ===
297
+ === Predecessor ===
298
+ i18 >@ <|@
299
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: i18 memoryMap: - <|@ <|@
300
+ end_IR
301
+ begin_IR
302
+ LIR
303
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
304
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
305
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
306
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
307
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
308
+ locals: Object[null]
309
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
310
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
311
+ 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@13ae06790 <|@ <|@
312
+ end_IR
313
+ end_block
314
+ end_cfg
315
+ begin_cfg
316
+ name "After ConstantLoadOptimization"
317
+ begin_block
318
+ name "B0"
319
+ from_bci -1
320
+ to_bci -1
321
+ predecessors
322
+ successors
323
+ xhandlers
324
+ flags
325
+ probability 4607182418800017408
326
+ begin_IR
327
+ LIR
328
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
329
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
330
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
331
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
332
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
333
+ locals: Object[null]
334
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
335
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
336
+ 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@13ae06790 <|@ <|@
337
+ end_IR
338
+ end_block
339
+ end_cfg
340
+ begin_bytecodes
341
+ 0: getstatic #59 // $assertionsDisabled:boolean
342
+ 3: ifne 18
343
+ 6: aload_0
344
+ 7: ifnonnull 18
345
+ 10: new #70 // java.lang.AssertionError
346
+ 13: dup
347
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
348
+ 17: athrow
349
+ 18: aload_0
350
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
351
+ 22: ireturn
352
+ <|@
353
+ end_bytecodes
354
+ begin_cfg
355
+ name "After SaveCalleeSaveRegisters"
356
+ begin_block
357
+ name "B0"
358
+ from_bci -1
359
+ to_bci -1
360
+ predecessors
361
+ successors
362
+ xhandlers
363
+ flags
364
+ probability 4607182418800017408
365
+ begin_IR
366
+ LIR
367
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
368
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
369
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
370
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
371
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
372
+ locals: Object[null]
373
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
374
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
375
+ 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@13ae06790 <|@ <|@
376
+ end_IR
377
+ end_block
378
+ end_cfg
379
+ begin_bytecodes
380
+ 0: getstatic #59 // $assertionsDisabled:boolean
381
+ 3: ifne 18
382
+ 6: aload_0
383
+ 7: ifnonnull 18
384
+ 10: new #70 // java.lang.AssertionError
385
+ 13: dup
386
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
387
+ 17: athrow
388
+ 18: aload_0
389
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
390
+ 22: ireturn
391
+ <|@
392
+ end_bytecodes
393
+ begin_cfg
394
+ name "After PreAllocationOptimizationStage"
395
+ begin_block
396
+ name "B0"
397
+ from_bci -1
398
+ to_bci -1
399
+ predecessors
400
+ successors
401
+ xhandlers
402
+ flags
403
+ probability 4607182418800017408
404
+ begin_IR
405
+ LIR
406
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
407
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
408
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
409
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
410
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
411
+ locals: Object[null]
412
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
413
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
414
+ 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@13ae06790 <|@ <|@
415
+ end_IR
416
+ end_block
417
+ end_cfg
418
+ begin_bytecodes
419
+ 0: getstatic #59 // $assertionsDisabled:boolean
420
+ 3: ifne 18
421
+ 6: aload_0
422
+ 7: ifnonnull 18
423
+ 10: new #70 // java.lang.AssertionError
424
+ 13: dup
425
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
426
+ 17: athrow
427
+ 18: aload_0
428
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
429
+ 22: ireturn
430
+ <|@
431
+ end_bytecodes
432
+ begin_cfg
433
+ name "After MarkBasePointers"
434
+ begin_block
435
+ name "B0"
436
+ from_bci -1
437
+ to_bci -1
438
+ predecessors
439
+ successors
440
+ xhandlers
441
+ flags
442
+ probability 4607182418800017408
443
+ begin_IR
444
+ LIR
445
+ nr -1 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
446
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
447
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
448
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
449
+ nr -1 <|@ st <@st|@live-base-pointers: []
450
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
451
+ locals: Object[null]
452
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
453
+ nr -1 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
454
+ 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@13ae06790 <|@ <|@
455
+ end_IR
456
+ end_block
457
+ end_cfg
458
+ begin_bytecodes
459
+ 0: getstatic #59 // $assertionsDisabled:boolean
460
+ 3: ifne 18
461
+ 6: aload_0
462
+ 7: ifnonnull 18
463
+ 10: new #70 // java.lang.AssertionError
464
+ 13: dup
465
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
466
+ 17: athrow
467
+ 18: aload_0
468
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
469
+ 22: ireturn
470
+ <|@
471
+ end_bytecodes
472
+ begin_cfg
473
+ name "Before register allocation"
474
+ begin_block
475
+ name "B0"
476
+ from_bci -1
477
+ to_bci -1
478
+ predecessors
479
+ successors
480
+ xhandlers
481
+ flags
482
+ probability 4607182418800017408
483
+ begin_IR
484
+ LIR
485
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
486
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
487
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
488
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
489
+ nr 8 <|@ st <@st|@live-base-pointers: []
490
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
491
+ locals: Object[null]
492
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
493
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
494
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) 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: getstatic #59 // $assertionsDisabled:boolean
500
+ 3: ifne 18
501
+ 6: aload_0
502
+ 7: ifnonnull 18
503
+ 10: new #70 // java.lang.AssertionError
504
+ 13: dup
505
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
506
+ 17: athrow
507
+ 18: aload_0
508
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
509
+ 22: ireturn
510
+ <|@
511
+ end_bytecodes
512
+ begin_cfg
513
+ name "After SSALinearScanLifetimeAnalysis"
514
+ begin_block
515
+ name "B0"
516
+ from_bci -1
517
+ to_bci -1
518
+ predecessors
519
+ successors
520
+ xhandlers
521
+ flags
522
+ probability 4607182418800017408
523
+ begin_IR
524
+ LIR
525
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
526
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
527
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
528
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
529
+ nr 8 <|@ st <@st|@live-base-pointers: []
530
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
531
+ locals: Object[null]
532
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
533
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
534
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
535
+ end_IR
536
+ end_block
537
+ end_cfg
538
+ begin_bytecodes
539
+ 0: getstatic #59 // $assertionsDisabled:boolean
540
+ 3: ifne 18
541
+ 6: aload_0
542
+ 7: ifnonnull 18
543
+ 10: new #70 // java.lang.AssertionError
544
+ 13: dup
545
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
546
+ 17: athrow
547
+ 18: aload_0
548
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
549
+ 22: ireturn
550
+ <|@
551
+ end_bytecodes
552
+ begin_intervals
553
+ name "Before register allocation"
554
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
555
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
556
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
557
+ v0|q QWORD "[v0|q]" v0|q rsi|q [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
558
+ v1|d DWORD "[v1|d]" v1|d -1 [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
559
+ end_intervals
560
+ begin_intervals
561
+ name "After register allocation"
562
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
563
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
564
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
565
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
566
+ v1|d DWORD "[rax|d]" v1|d -1 [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
567
+ end_intervals
568
+ begin_cfg
569
+ name "After LinearScanRegisterAllocation"
570
+ begin_block
571
+ name "B0"
572
+ from_bci -1
573
+ to_bci -1
574
+ predecessors
575
+ successors
576
+ xhandlers
577
+ flags
578
+ probability 4607182418800017408
579
+ begin_IR
580
+ LIR
581
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
582
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
583
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
584
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
585
+ nr 8 <|@ st <@st|@live-base-pointers: []
586
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
587
+ locals: Object[null]
588
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
589
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
590
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
591
+ end_IR
592
+ end_block
593
+ end_cfg
594
+ begin_bytecodes
595
+ 0: getstatic #59 // $assertionsDisabled:boolean
596
+ 3: ifne 18
597
+ 6: aload_0
598
+ 7: ifnonnull 18
599
+ 10: new #70 // java.lang.AssertionError
600
+ 13: dup
601
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
602
+ 17: athrow
603
+ 18: aload_0
604
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
605
+ 22: ireturn
606
+ <|@
607
+ end_bytecodes
608
+ begin_intervals
609
+ name "After optimize spill position"
610
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
611
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
612
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
613
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
614
+ v1|d DWORD "[rax|d]" v1|d -1 [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
615
+ end_intervals
616
+ begin_cfg
617
+ name "After LinearScanOptimizeSpillPosition"
618
+ begin_block
619
+ name "B0"
620
+ from_bci -1
621
+ to_bci -1
622
+ predecessors
623
+ successors
624
+ xhandlers
625
+ flags
626
+ probability 4607182418800017408
627
+ begin_IR
628
+ LIR
629
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
630
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
631
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
632
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
633
+ nr 8 <|@ st <@st|@live-base-pointers: []
634
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
635
+ locals: Object[null]
636
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
637
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
638
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
639
+ end_IR
640
+ end_block
641
+ end_cfg
642
+ begin_bytecodes
643
+ 0: getstatic #59 // $assertionsDisabled:boolean
644
+ 3: ifne 18
645
+ 6: aload_0
646
+ 7: ifnonnull 18
647
+ 10: new #70 // java.lang.AssertionError
648
+ 13: dup
649
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
650
+ 17: athrow
651
+ 18: aload_0
652
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
653
+ 22: ireturn
654
+ <|@
655
+ end_bytecodes
656
+ begin_intervals
657
+ name "After resolve data flow"
658
+ rax|d fixed "[rax|d]" rax|d v1|d [0, 1[[10, 12[ "NoSpillStore"
659
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
660
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
661
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 8[6 MustHaveRegister 8 MustHaveRegister "NoSpillStore"
662
+ v1|d DWORD "[rax|d]" v1|d -1 [8, 10[8 MustHaveRegister 10 ShouldHaveRegister "NoSpillStore"
663
+ end_intervals
664
+ begin_cfg
665
+ name "After SSALinearScanResolveDataFlow"
666
+ begin_block
667
+ name "B0"
668
+ from_bci -1
669
+ to_bci -1
670
+ predecessors
671
+ successors
672
+ xhandlers
673
+ flags
674
+ probability 4607182418800017408
675
+ begin_IR
676
+ LIR
677
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
678
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
679
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
680
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
681
+ nr 8 <|@ st <@st|@live-base-pointers: []
682
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
683
+ locals: Object[null]
684
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
685
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
686
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
687
+ end_IR
688
+ end_block
689
+ end_cfg
690
+ begin_bytecodes
691
+ 0: getstatic #59 // $assertionsDisabled:boolean
692
+ 3: ifne 18
693
+ 6: aload_0
694
+ 7: ifnonnull 18
695
+ 10: new #70 // java.lang.AssertionError
696
+ 13: dup
697
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
698
+ 17: athrow
699
+ 18: aload_0
700
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
701
+ 22: ireturn
702
+ <|@
703
+ end_bytecodes
704
+ begin_cfg
705
+ name "After SSALinearScanEliminateSpillMove"
706
+ begin_block
707
+ name "B0"
708
+ from_bci -1
709
+ to_bci -1
710
+ predecessors
711
+ successors
712
+ xhandlers
713
+ flags
714
+ probability 4607182418800017408
715
+ begin_IR
716
+ LIR
717
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
718
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
719
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
720
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
721
+ nr 8 <|@ st <@st|@live-base-pointers: []
722
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
723
+ locals: Object[null]
724
+ >@ <|@ instruction v1|DWORD = MOV [v0|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
725
+ nr 10 <|@ instruction rax|DWORD = MOVE v1|DWORD moveKind: DWORD <|@ <|@
726
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
727
+ end_IR
728
+ end_block
729
+ end_cfg
730
+ begin_bytecodes
731
+ 0: getstatic #59 // $assertionsDisabled:boolean
732
+ 3: ifne 18
733
+ 6: aload_0
734
+ 7: ifnonnull 18
735
+ 10: new #70 // java.lang.AssertionError
736
+ 13: dup
737
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
738
+ 17: athrow
739
+ 18: aload_0
740
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
741
+ 22: ireturn
742
+ <|@
743
+ end_bytecodes
744
+ begin_cfg
745
+ name "After LinearScanAssignLocations"
746
+ begin_block
747
+ name "B0"
748
+ from_bci -1
749
+ to_bci -1
750
+ predecessors
751
+ successors
752
+ xhandlers
753
+ flags
754
+ probability 4607182418800017408
755
+ begin_IR
756
+ LIR
757
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
758
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
759
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
760
+ nr 8 <|@ st <@st|@live-base-pointers: []
761
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
762
+ locals: Object[null]
763
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
764
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
765
+ end_IR
766
+ end_block
767
+ end_cfg
768
+ begin_bytecodes
769
+ 0: getstatic #59 // $assertionsDisabled:boolean
770
+ 3: ifne 18
771
+ 6: aload_0
772
+ 7: ifnonnull 18
773
+ 10: new #70 // java.lang.AssertionError
774
+ 13: dup
775
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
776
+ 17: athrow
777
+ 18: aload_0
778
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
779
+ 22: ireturn
780
+ <|@
781
+ end_bytecodes
782
+ begin_cfg
783
+ name "After LinearScan"
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|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
796
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
797
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
798
+ nr 8 <|@ st <@st|@live-base-pointers: []
799
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
800
+ locals: Object[null]
801
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
802
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) 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: getstatic #59 // $assertionsDisabled:boolean
808
+ 3: ifne 18
809
+ 6: aload_0
810
+ 7: ifnonnull 18
811
+ 10: new #70 // java.lang.AssertionError
812
+ 13: dup
813
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
814
+ 17: athrow
815
+ 18: aload_0
816
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
817
+ 22: ireturn
818
+ <|@
819
+ end_bytecodes
820
+ begin_cfg
821
+ name "After LSStackSlotAllocator"
822
+ begin_block
823
+ name "B0"
824
+ from_bci -1
825
+ to_bci -1
826
+ predecessors
827
+ successors
828
+ xhandlers
829
+ flags
830
+ probability 4607182418800017408
831
+ begin_IR
832
+ LIR
833
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
834
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
835
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
836
+ nr 8 <|@ st <@st|@live-base-pointers: []
837
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
838
+ locals: Object[null]
839
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
840
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
841
+ end_IR
842
+ end_block
843
+ end_cfg
844
+ begin_bytecodes
845
+ 0: getstatic #59 // $assertionsDisabled:boolean
846
+ 3: ifne 18
847
+ 6: aload_0
848
+ 7: ifnonnull 18
849
+ 10: new #70 // java.lang.AssertionError
850
+ 13: dup
851
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
852
+ 17: athrow
853
+ 18: aload_0
854
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
855
+ 22: ireturn
856
+ <|@
857
+ end_bytecodes
858
+ begin_cfg
859
+ name "After LocationMarker"
860
+ begin_block
861
+ name "B0"
862
+ from_bci -1
863
+ to_bci -1
864
+ predecessors
865
+ successors
866
+ xhandlers
867
+ flags
868
+ probability 4607182418800017408
869
+ begin_IR
870
+ LIR
871
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
872
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
873
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
874
+ nr 8 <|@ st <@st|@reference-map: []
875
+ live-base-pointers: []
876
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
877
+ locals: Object[null]
878
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
879
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
880
+ end_IR
881
+ end_block
882
+ end_cfg
883
+ begin_bytecodes
884
+ 0: getstatic #59 // $assertionsDisabled:boolean
885
+ 3: ifne 18
886
+ 6: aload_0
887
+ 7: ifnonnull 18
888
+ 10: new #70 // java.lang.AssertionError
889
+ 13: dup
890
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
891
+ 17: athrow
892
+ 18: aload_0
893
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
894
+ 22: ireturn
895
+ <|@
896
+ end_bytecodes
897
+ begin_cfg
898
+ name "After AllocationStage"
899
+ begin_block
900
+ name "B0"
901
+ from_bci -1
902
+ to_bci -1
903
+ predecessors
904
+ successors
905
+ xhandlers
906
+ flags
907
+ probability 4607182418800017408
908
+ begin_IR
909
+ LIR
910
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
911
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
912
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
913
+ nr 8 <|@ st <@st|@reference-map: []
914
+ live-base-pointers: []
915
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
916
+ locals: Object[null]
917
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
918
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
919
+ end_IR
920
+ end_block
921
+ end_cfg
922
+ begin_bytecodes
923
+ 0: getstatic #59 // $assertionsDisabled:boolean
924
+ 3: ifne 18
925
+ 6: aload_0
926
+ 7: ifnonnull 18
927
+ 10: new #70 // java.lang.AssertionError
928
+ 13: dup
929
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
930
+ 17: athrow
931
+ 18: aload_0
932
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
933
+ 22: ireturn
934
+ <|@
935
+ end_bytecodes
936
+ begin_cfg
937
+ name "After EdgeMoveOptimizer"
938
+ begin_block
939
+ name "B0"
940
+ from_bci -1
941
+ to_bci -1
942
+ predecessors
943
+ successors
944
+ xhandlers
945
+ flags
946
+ probability 4607182418800017408
947
+ begin_IR
948
+ LIR
949
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
950
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
951
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
952
+ nr 8 <|@ st <@st|@reference-map: []
953
+ live-base-pointers: []
954
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
955
+ locals: Object[null]
956
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
957
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
958
+ end_IR
959
+ end_block
960
+ end_cfg
961
+ begin_bytecodes
962
+ 0: getstatic #59 // $assertionsDisabled:boolean
963
+ 3: ifne 18
964
+ 6: aload_0
965
+ 7: ifnonnull 18
966
+ 10: new #70 // java.lang.AssertionError
967
+ 13: dup
968
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
969
+ 17: athrow
970
+ 18: aload_0
971
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
972
+ 22: ireturn
973
+ <|@
974
+ end_bytecodes
975
+ begin_cfg
976
+ name "After ControlFlowOptimizer"
977
+ begin_block
978
+ name "B0"
979
+ from_bci -1
980
+ to_bci -1
981
+ predecessors
982
+ successors
983
+ xhandlers
984
+ flags
985
+ probability 4607182418800017408
986
+ begin_IR
987
+ LIR
988
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
989
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
990
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
991
+ nr 8 <|@ st <@st|@reference-map: []
992
+ live-base-pointers: []
993
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
994
+ locals: Object[null]
995
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
996
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
997
+ end_IR
998
+ end_block
999
+ end_cfg
1000
+ begin_bytecodes
1001
+ 0: getstatic #59 // $assertionsDisabled:boolean
1002
+ 3: ifne 18
1003
+ 6: aload_0
1004
+ 7: ifnonnull 18
1005
+ 10: new #70 // java.lang.AssertionError
1006
+ 13: dup
1007
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
1008
+ 17: athrow
1009
+ 18: aload_0
1010
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
1011
+ 22: ireturn
1012
+ <|@
1013
+ end_bytecodes
1014
+ begin_cfg
1015
+ name "After RedundantMoveElimination"
1016
+ begin_block
1017
+ name "B0"
1018
+ from_bci -1
1019
+ to_bci -1
1020
+ predecessors
1021
+ successors
1022
+ xhandlers
1023
+ flags
1024
+ probability 4607182418800017408
1025
+ begin_IR
1026
+ LIR
1027
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1028
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1029
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
1030
+ nr 8 <|@ st <@st|@reference-map: []
1031
+ live-base-pointers: []
1032
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
1033
+ locals: Object[null]
1034
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
1035
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
1036
+ end_IR
1037
+ end_block
1038
+ end_cfg
1039
+ begin_bytecodes
1040
+ 0: getstatic #59 // $assertionsDisabled:boolean
1041
+ 3: ifne 18
1042
+ 6: aload_0
1043
+ 7: ifnonnull 18
1044
+ 10: new #70 // java.lang.AssertionError
1045
+ 13: dup
1046
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
1047
+ 17: athrow
1048
+ 18: aload_0
1049
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
1050
+ 22: ireturn
1051
+ <|@
1052
+ end_bytecodes
1053
+ begin_cfg
1054
+ name "After NullCheckOptimizer"
1055
+ begin_block
1056
+ name "B0"
1057
+ from_bci -1
1058
+ to_bci -1
1059
+ predecessors
1060
+ successors
1061
+ xhandlers
1062
+ flags
1063
+ probability 4607182418800017408
1064
+ begin_IR
1065
+ LIR
1066
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1067
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1068
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
1069
+ nr 8 <|@ st <@st|@reference-map: []
1070
+ live-base-pointers: []
1071
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
1072
+ locals: Object[null]
1073
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
1074
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
1075
+ end_IR
1076
+ end_block
1077
+ end_cfg
1078
+ begin_bytecodes
1079
+ 0: getstatic #59 // $assertionsDisabled:boolean
1080
+ 3: ifne 18
1081
+ 6: aload_0
1082
+ 7: ifnonnull 18
1083
+ 10: new #70 // java.lang.AssertionError
1084
+ 13: dup
1085
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
1086
+ 17: athrow
1087
+ 18: aload_0
1088
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
1089
+ 22: ireturn
1090
+ <|@
1091
+ end_bytecodes
1092
+ begin_cfg
1093
+ name "After StackMoveOptimization"
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|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1106
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1107
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
1108
+ nr 8 <|@ st <@st|@reference-map: []
1109
+ live-base-pointers: []
1110
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
1111
+ locals: Object[null]
1112
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
1113
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
1114
+ end_IR
1115
+ end_block
1116
+ end_cfg
1117
+ begin_bytecodes
1118
+ 0: getstatic #59 // $assertionsDisabled:boolean
1119
+ 3: ifne 18
1120
+ 6: aload_0
1121
+ 7: ifnonnull 18
1122
+ 10: new #70 // java.lang.AssertionError
1123
+ 13: dup
1124
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
1125
+ 17: athrow
1126
+ 18: aload_0
1127
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
1128
+ 22: ireturn
1129
+ <|@
1130
+ end_bytecodes
1131
+ begin_cfg
1132
+ name "After PostAllocationOptimizationStage"
1133
+ begin_block
1134
+ name "B0"
1135
+ from_bci -1
1136
+ to_bci -1
1137
+ predecessors
1138
+ successors
1139
+ xhandlers
1140
+ flags
1141
+ probability 4607182418800017408
1142
+ begin_IR
1143
+ LIR
1144
+ nr 0 <|@ instruction [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1145
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1146
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <|@ <|@
1147
+ nr 8 <|@ st <@st|@reference-map: []
1148
+ live-base-pointers: []
1149
+ JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0]
1150
+ locals: Object[null]
1151
+ >@ <|@ instruction rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <|@ <|@
1152
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <|@ <|@
1153
+ end_IR
1154
+ end_block
1155
+ end_cfg
1156
+ begin_bytecodes
1157
+ 0: getstatic #59 // $assertionsDisabled:boolean
1158
+ 3: ifne 18
1159
+ 6: aload_0
1160
+ 7: ifnonnull 18
1161
+ 10: new #70 // java.lang.AssertionError
1162
+ 13: dup
1163
+ 14: invokespecial #60 // java.lang.AssertionError.<init>:()void
1164
+ 17: athrow
1165
+ 18: aload_0
1166
+ 19: getfield #58 // JavaExamples$ExampleObject.x:int
1167
+ 22: ireturn
1168
+ <|@
1169
+ end_bytecodes
1170
+ begin_cfg
1171
+ name "After code generation"
1172
+ end_cfg
1173
+ begin_nmethod
1174
+ <<<HexCodeFile
1175
+ Platform AMD64 64 <||@
1176
+ HexCode 0 89842400c0feff4883ec1848896c24108b460c488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
1177
+ Comment 0 [stack overflow check] <||@
1178
+ Comment 0 3 <||@
1179
+ Comment 0 1 <||@
1180
+ Comment 11 block B0 null <||@
1181
+ Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1182
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1183
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <||@
1184
+ Comment 16 8 rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <||@
1185
+ Comment 16 []at JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0, duringCall: false, rethrow: false]
1186
+ |0
1187
+ locals: |Object[null] <||@
1188
+ Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1189
+ Comment 19 12 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
1190
+ Comment 28 12 <||@
1191
+ Comment 38 {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} <||@
1192
+ Comment 38 4 <||@
1193
+ Comment 44 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1194
+ Comment 44 5 <||@
1195
+ HexCodeFile>>> <|@
1196
+ end_nmethod
1197
+ begin_compilation
1198
+ name " HotSpotCompilation-360[JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)]"
1199
+ method "HotSpotCompilation-360[JavaExamples.exampleFieldRead(JavaExamples$ExampleObject)]"
1200
+ date 1583364092081
1201
+ end_compilation
1202
+ begin_cfg
1203
+ name "After code installation"
1204
+ end_cfg
1205
+ begin_nmethod
1206
+ <<<HexCodeFile
1207
+ Platform AMD64 64 <||@
1208
+ HexCode 112e369e0 89842400c0feff4883ec1848896c24108b460c488b6c24104883c4188505044693fbc5f877c3e815d9feff90e82fd8eaff90f4f4f4f4f4f4 <||@
1209
+ Comment 0 [stack overflow check] <||@
1210
+ Comment 0 3 <||@
1211
+ Comment 0 1 <||@
1212
+ Comment 11 block B0 null <||@
1213
+ Comment 11 0 [rsi|QWORD[.], rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1214
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1215
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@142211aa0 slotKind: QWORD <||@
1216
+ Comment 16 8 rax|DWORD = MOV [rsi|QWORD[.] + 12] size: DWORD state [bci:0] <||@
1217
+ Comment 16 []at JavaExamples.exampleFieldRead(JavaExamples.java:304) [bci: 0, duringCall: false, rethrow: false]
1218
+ |0
1219
+ locals: |Object[null] <||@
1220
+ Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1221
+ Comment 19 12 RETURN (savedRbp: stack:16|QWORD, value: rax|DWORD) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@13ae06790 <||@
1222
+ Comment 28 12 <||@
1223
+ Comment 38 {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} <||@
1224
+ Comment 38 4 <||@
1225
+ Comment 44 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1226
+ Comment 44 5 <||@
1227
+ HexCodeFile>>> <|@
1228
+ end_nmethod