seafoam 0.4 → 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/workflows.yml +39 -0
  3. data/.rubocop.yml +1 -1
  4. data/README.md +75 -2
  5. data/bin/bgv2isabelle +16 -45
  6. data/bin/bgv2json +18 -36
  7. data/bin/cfg2asm +24 -0
  8. data/bin/seafoam +1 -1
  9. data/demos/box-unbox-stats +65 -0
  10. data/docs/getting-graphs.md +4 -0
  11. data/examples/fib-java.bgv.gz +0 -0
  12. data/examples/fib.js +1 -1
  13. data/examples/java/JavaExamples.java +1 -1
  14. data/examples/ruby/clamps.rb +20 -0
  15. data/examples/ruby/graal.patch +15 -0
  16. data/examples/ruby/ruby_examples.rb +278 -0
  17. data/lib/seafoam.rb +5 -0
  18. data/lib/seafoam/annotators/graal.rb +1 -1
  19. data/lib/seafoam/cfg/cfg_parser.rb +93 -0
  20. data/lib/seafoam/cfg/disassembler.rb +70 -0
  21. data/lib/seafoam/commands.rb +185 -29
  22. data/lib/seafoam/graal/source.rb +23 -0
  23. data/lib/seafoam/isabelle_writer.rb +46 -0
  24. data/lib/seafoam/json_writer.rb +58 -0
  25. data/lib/seafoam/version.rb +1 -1
  26. data/seafoam.gemspec +2 -1
  27. data/spec/seafoam/annotators/graal_spec.rb +7 -7
  28. data/spec/seafoam/bgv/bgv_parser_spec.rb +2 -2
  29. data/spec/seafoam/cfg/cfg_parser_spec.rb +21 -0
  30. data/spec/seafoam/cfg/disassembler_spec.rb +32 -0
  31. data/spec/seafoam/command_spec.rb +78 -30
  32. data/spec/seafoam/json_writer_spec.rb +14 -0
  33. data/spec/seafoam/spec_helpers.rb +4 -0
  34. data/tools/render-all +2 -2
  35. metadata +36 -102
  36. data/.github/workflows/rubocop.yml +0 -10
  37. data/.github/workflows/specs.yml +0 -19
  38. data/examples/fib-java.bgv +0 -0
  39. data/examples/fib-js.bgv +0 -0
  40. data/examples/fib-ruby.bgv +0 -0
  41. data/examples/identity.bgv +0 -0
  42. data/examples/java/exampleArithOperator.bgv +0 -0
  43. data/examples/java/exampleArithOperator.cfg +0 -925
  44. data/examples/java/exampleArrayAllocation.bgv +0 -0
  45. data/examples/java/exampleArrayAllocation.cfg +0 -5268
  46. data/examples/java/exampleArrayRead.bgv +0 -0
  47. data/examples/java/exampleArrayRead.cfg +0 -2263
  48. data/examples/java/exampleArrayWrite.bgv +0 -0
  49. data/examples/java/exampleArrayWrite.cfg +0 -2315
  50. data/examples/java/exampleCatch.bgv +0 -0
  51. data/examples/java/exampleCatch.cfg +0 -4150
  52. data/examples/java/exampleCompareOperator.bgv +0 -0
  53. data/examples/java/exampleCompareOperator.cfg +0 -1109
  54. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  55. data/examples/java/exampleDoubleSynchronized.cfg +0 -26497
  56. data/examples/java/exampleExactArith.bgv +0 -0
  57. data/examples/java/exampleExactArith.cfg +0 -1888
  58. data/examples/java/exampleFieldRead.bgv +0 -0
  59. data/examples/java/exampleFieldRead.cfg +0 -1228
  60. data/examples/java/exampleFieldWrite.bgv +0 -0
  61. data/examples/java/exampleFieldWrite.cfg +0 -1102
  62. data/examples/java/exampleFor.bgv +0 -0
  63. data/examples/java/exampleFor.cfg +0 -3936
  64. data/examples/java/exampleFullEscape.bgv +0 -0
  65. data/examples/java/exampleFullEscape.cfg +0 -5893
  66. data/examples/java/exampleIf.bgv +0 -0
  67. data/examples/java/exampleIf.cfg +0 -2462
  68. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  69. data/examples/java/exampleIfNeverTaken.cfg +0 -2476
  70. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  71. data/examples/java/exampleInstanceOfManyImpls.cfg +0 -6391
  72. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  73. data/examples/java/exampleInstanceOfOneImpl.cfg +0 -2604
  74. data/examples/java/exampleIntSwitch.bgv +0 -0
  75. data/examples/java/exampleIntSwitch.cfg +0 -3121
  76. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  77. data/examples/java/exampleInterfaceCallManyImpls.cfg +0 -1358
  78. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  79. data/examples/java/exampleInterfaceCallOneImpl.cfg +0 -3859
  80. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  81. data/examples/java/exampleLocalInstanceOf.cfg +0 -5276
  82. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  83. data/examples/java/exampleLocalSynchronized.cfg +0 -1364
  84. data/examples/java/exampleLocalVariables.bgv +0 -0
  85. data/examples/java/exampleLocalVariables.cfg +0 -1195
  86. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  87. data/examples/java/exampleLocalVariablesState.cfg +0 -1673
  88. data/examples/java/exampleNestedWhile.bgv +0 -0
  89. data/examples/java/exampleNestedWhile.cfg +0 -15499
  90. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  91. data/examples/java/exampleNestedWhileBreak.cfg +0 -11162
  92. data/examples/java/exampleNoEscape.bgv +0 -0
  93. data/examples/java/exampleNoEscape.cfg +0 -974
  94. data/examples/java/exampleObjectAllocation.bgv +0 -0
  95. data/examples/java/exampleObjectAllocation.cfg +0 -5287
  96. data/examples/java/examplePartialEscape.bgv +0 -0
  97. data/examples/java/examplePartialEscape.cfg +0 -7042
  98. data/examples/java/examplePhi.bgv +0 -0
  99. data/examples/java/examplePhi.cfg +0 -3227
  100. data/examples/java/exampleReducible.bgv +0 -0
  101. data/examples/java/exampleReducible.cfg +0 -5578
  102. data/examples/java/exampleSimpleCall.bgv +0 -0
  103. data/examples/java/exampleSimpleCall.cfg +0 -1435
  104. data/examples/java/exampleStamp.bgv +0 -0
  105. data/examples/java/exampleStamp.cfg +0 -913
  106. data/examples/java/exampleStaticCall.bgv +0 -0
  107. data/examples/java/exampleStaticCall.cfg +0 -1154
  108. data/examples/java/exampleStringSwitch.bgv +0 -0
  109. data/examples/java/exampleStringSwitch.cfg +0 -15377
  110. data/examples/java/exampleSynchronized.bgv +0 -0
  111. data/examples/java/exampleSynchronized.cfg +0 -26027
  112. data/examples/java/exampleThrow.bgv +0 -0
  113. data/examples/java/exampleThrow.cfg +0 -780
  114. data/examples/java/exampleThrowCatch.bgv +0 -0
  115. data/examples/java/exampleThrowCatch.cfg +0 -744
  116. data/examples/java/exampleUnsafeRead.bgv +0 -0
  117. data/examples/java/exampleUnsafeRead.cfg +0 -912
  118. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  119. data/examples/java/exampleUnsafeWrite.cfg +0 -962
  120. data/examples/java/exampleWhile.bgv +0 -0
  121. data/examples/java/exampleWhile.cfg +0 -3936
  122. data/examples/java/exampleWhileBreak.bgv +0 -0
  123. data/examples/java/exampleWhileBreak.cfg +0 -5963
  124. data/examples/matmult-java.bgv +0 -0
  125. data/examples/matmult-ruby.bgv +0 -0
  126. data/examples/overflow.bgv +0 -0
  127. data/spec/seafoam/bgv/fixtures/not.bgv +0 -1
  128. data/spec/seafoam/bgv/fixtures/unsupported.bgv +0 -1
Binary file
@@ -1,1228 +0,0 @@
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