seafoam 0.2

Sign up to get free protection for your applications and to get access to all the features.
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