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,1102 @@
1
+ begin_compilation
2
+ name " HotSpotCompilation-128[JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)]"
3
+ method "HotSpotCompilation-128[JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)]"
4
+ date 1583364091871
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: v12
28
+ === Usages ===
29
+ === Predecessor ===
30
+ - >@ <|@
31
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v12 <|@ <|@
32
+ f <@~|@floating>@ <|@
33
+ tid a17 <|@
34
+ d <@d|@=== Debug Properties ===
35
+ isDefaultStable: false
36
+ rawvalue: null
37
+ stableDimension: 0
38
+ stamp: a - NULL
39
+ stampKind: a -
40
+ value: Object[null]
41
+ === Inputs ===
42
+ === Succesors ===
43
+ === Usages ===
44
+ ?3
45
+ === Predecessor ===
46
+ - >@ <|@
47
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
48
+ f <@~|@floating>@ <|@
49
+ tid i2 <|@
50
+ d <@d|@=== Debug Properties ===
51
+ index: 1
52
+ stamp: i32
53
+ uncheckedStamp: [null]
54
+ === Inputs ===
55
+ === Succesors ===
56
+ === Usages ===
57
+ ?3 v12
58
+ === Predecessor ===
59
+ - >@ <|@
60
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
61
+ tid ?3 <|@
62
+ d <@d|@=== Debug Properties ===
63
+ bci: 0
64
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)>
65
+ duringCall: false
66
+ localsSize: 2
67
+ locksSize: 0
68
+ rethrowException: false
69
+ sourceFile: JavaExamples.java
70
+ sourceLine: 300
71
+ stackSize: 0
72
+ === Inputs ===
73
+ outerFrameState: -
74
+ values: a17 i2
75
+ === Succesors ===
76
+ === Usages ===
77
+ v12
78
+ === Predecessor ===
79
+ - >@ <|@
80
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a17 i2 <|@ <|@
81
+ f <@~|@floating>@ <|@
82
+ tid a1 <|@
83
+ d <@d|@=== Debug Properties ===
84
+ index: 0
85
+ stamp: a# LJavaExamples$ExampleObject;
86
+ uncheckedStamp: [null]
87
+ === Inputs ===
88
+ === Succesors ===
89
+ === Usages ===
90
+ v18
91
+ === Predecessor ===
92
+ - >@ <|@
93
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
94
+ f <@~|@floating>@ <|@
95
+ tid v18 <|@
96
+ d <@d|@=== Debug Properties ===
97
+ displacement: 12
98
+ scale: Times1
99
+ stamp: void*
100
+ === Inputs ===
101
+ base: a1
102
+ index: -
103
+ === Succesors ===
104
+ === Usages ===
105
+ v12
106
+ === Predecessor ===
107
+ - >@ <|@
108
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
109
+ f <@#|@fixed with next>@ <|@
110
+ tid v12 <|@
111
+ d <@d|@=== Debug Properties ===
112
+ barrierType: NONE
113
+ location: JavaExamples$ExampleObject.x
114
+ nodeSourcePosition: at JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 2]
115
+ nullCheck: true
116
+ stamp: void
117
+ volatileAccess: false
118
+ === Inputs ===
119
+ stateBefore: ?3
120
+ guard: -
121
+ address: v18
122
+ value: i2
123
+ stateAfter: -
124
+ lastLocationAccess: -
125
+ === Succesors ===
126
+ next: v6
127
+ === Usages ===
128
+ === Predecessor ===
129
+ v0 >@ <|@
130
+ instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: ?3 guard: - address: v18 value: i2 stateAfter: - lastLocationAccess: - #next: v6 <|@ <|@
131
+ f <@*|@fixed>@ <|@
132
+ tid v6 <|@
133
+ d <@d|@=== Debug Properties ===
134
+ nodeSourcePosition: at JavaExamples.exampleFieldWrite(JavaExamples.java:301) [bci: 5]
135
+ stamp: void
136
+ === Inputs ===
137
+ result: -
138
+ memoryMap: -
139
+ === Succesors ===
140
+ === Usages ===
141
+ === Predecessor ===
142
+ v12 >@ <|@
143
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
144
+ end_IR
145
+ end_block
146
+ end_cfg
147
+ begin_cfg
148
+ name "After LIRGeneration"
149
+ begin_block
150
+ name "B0"
151
+ from_bci -1
152
+ to_bci -1
153
+ predecessors
154
+ successors
155
+ xhandlers
156
+ flags
157
+ probability 4607182418800017408
158
+ begin_IR
159
+ LIR
160
+ nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
161
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
162
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
163
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
164
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
165
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
166
+ locals: Object[null] v1|DWORD
167
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
168
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
169
+ end_IR
170
+ end_block
171
+ end_cfg
172
+ begin_bytecodes
173
+ 0: aload_0
174
+ 1: iload_1
175
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
176
+ 5: return
177
+ <|@
178
+ end_bytecodes
179
+ begin_cfg
180
+ name "After LIR generation"
181
+ begin_block
182
+ name "B0"
183
+ from_bci -1
184
+ to_bci -1
185
+ predecessors
186
+ successors
187
+ xhandlers
188
+ flags
189
+ probability 4607182418800017408
190
+ begin_IR
191
+ HIR
192
+ f <@#|@fixed with next>@ <|@
193
+ tid v0 <|@
194
+ d <@d|@=== Debug Properties ===
195
+ stamp: void
196
+ withSpeculationFence: false
197
+ === Inputs ===
198
+ stateAfter: -
199
+ === Succesors ===
200
+ next: v12
201
+ === Usages ===
202
+ === Predecessor ===
203
+ - >@ <|@
204
+ instruction <@StartNode|@org.graalvm.compiler.nodes.StartNode>@ stateAfter: - #next: v12 <|@ <|@
205
+ f <@~|@floating>@ <|@
206
+ tid a17 <|@
207
+ result Object[null] <|@
208
+ d <@d|@=== Debug Properties ===
209
+ isDefaultStable: false
210
+ rawvalue: null
211
+ stableDimension: 0
212
+ stamp: a - NULL
213
+ stampKind: a -
214
+ value: Object[null]
215
+ === Inputs ===
216
+ === Succesors ===
217
+ === Usages ===
218
+ ?3
219
+ === Predecessor ===
220
+ - >@ <|@
221
+ instruction <@Constant|@org.graalvm.compiler.nodes.ConstantNode>@ <|@ <|@
222
+ f <@~|@floating>@ <|@
223
+ tid i2 <|@
224
+ result v1|DWORD <|@
225
+ d <@d|@=== Debug Properties ===
226
+ index: 1
227
+ stamp: i32
228
+ uncheckedStamp: [null]
229
+ === Inputs ===
230
+ === Succesors ===
231
+ === Usages ===
232
+ ?3 v12
233
+ === Predecessor ===
234
+ - >@ <|@
235
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
236
+ tid ?3 <|@
237
+ d <@d|@=== Debug Properties ===
238
+ bci: 0
239
+ code: ResolvedJavaMethodBytecode<JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)>
240
+ duringCall: false
241
+ localsSize: 2
242
+ locksSize: 0
243
+ rethrowException: false
244
+ sourceFile: JavaExamples.java
245
+ sourceLine: 300
246
+ stackSize: 0
247
+ === Inputs ===
248
+ outerFrameState: -
249
+ values: a17 i2
250
+ === Succesors ===
251
+ === Usages ===
252
+ v12
253
+ === Predecessor ===
254
+ - >@ <|@
255
+ instruction <@FrameState|@org.graalvm.compiler.nodes.FrameState>@ outerFrameState: - values: a17 i2 <|@ <|@
256
+ f <@~|@floating>@ <|@
257
+ tid a1 <|@
258
+ result v0|QWORD[.] <|@
259
+ d <@d|@=== Debug Properties ===
260
+ index: 0
261
+ stamp: a# LJavaExamples$ExampleObject;
262
+ uncheckedStamp: [null]
263
+ === Inputs ===
264
+ === Succesors ===
265
+ === Usages ===
266
+ v18
267
+ === Predecessor ===
268
+ - >@ <|@
269
+ instruction <@Parameter|@org.graalvm.compiler.nodes.ParameterNode>@ <|@ <|@
270
+ f <@~|@floating>@ <|@
271
+ tid v18 <|@
272
+ result [v0|QWORD[.] + 12] <|@
273
+ d <@d|@=== Debug Properties ===
274
+ displacement: 12
275
+ scale: Times1
276
+ stamp: void*
277
+ === Inputs ===
278
+ base: a1
279
+ index: -
280
+ === Succesors ===
281
+ === Usages ===
282
+ v12
283
+ === Predecessor ===
284
+ - >@ <|@
285
+ instruction <@AMD64Address|@org.graalvm.compiler.core.amd64.AMD64AddressNode>@ base: a1 index: - <|@ <|@
286
+ f <@#|@fixed with next>@ <|@
287
+ tid v12 <|@
288
+ d <@d|@=== Debug Properties ===
289
+ barrierType: NONE
290
+ location: JavaExamples$ExampleObject.x
291
+ nodeSourcePosition: at JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 2]
292
+ nullCheck: true
293
+ stamp: void
294
+ volatileAccess: false
295
+ === Inputs ===
296
+ stateBefore: ?3
297
+ guard: -
298
+ address: v18
299
+ value: i2
300
+ stateAfter: -
301
+ lastLocationAccess: -
302
+ === Succesors ===
303
+ next: v6
304
+ === Usages ===
305
+ === Predecessor ===
306
+ v0 >@ <|@
307
+ instruction <@Write|@org.graalvm.compiler.nodes.memory.WriteNode>@ stateBefore: ?3 guard: - address: v18 value: i2 stateAfter: - lastLocationAccess: - #next: v6 <|@ <|@
308
+ f <@*|@fixed>@ <|@
309
+ tid v6 <|@
310
+ d <@d|@=== Debug Properties ===
311
+ nodeSourcePosition: at JavaExamples.exampleFieldWrite(JavaExamples.java:301) [bci: 5]
312
+ stamp: void
313
+ === Inputs ===
314
+ result: -
315
+ memoryMap: -
316
+ === Succesors ===
317
+ === Usages ===
318
+ === Predecessor ===
319
+ v12 >@ <|@
320
+ instruction <@Return|@org.graalvm.compiler.nodes.ReturnNode>@ result: - memoryMap: - <|@ <|@
321
+ end_IR
322
+ begin_IR
323
+ LIR
324
+ nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
325
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
326
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
327
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
328
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
329
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
330
+ locals: Object[null] v1|DWORD
331
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
332
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
333
+ end_IR
334
+ end_block
335
+ end_cfg
336
+ begin_cfg
337
+ name "After ConstantLoadOptimization"
338
+ begin_block
339
+ name "B0"
340
+ from_bci -1
341
+ to_bci -1
342
+ predecessors
343
+ successors
344
+ xhandlers
345
+ flags
346
+ probability 4607182418800017408
347
+ begin_IR
348
+ LIR
349
+ nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
350
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
351
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
352
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
353
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
354
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
355
+ locals: Object[null] v1|DWORD
356
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
357
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
358
+ end_IR
359
+ end_block
360
+ end_cfg
361
+ begin_bytecodes
362
+ 0: aload_0
363
+ 1: iload_1
364
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
365
+ 5: return
366
+ <|@
367
+ end_bytecodes
368
+ begin_cfg
369
+ name "After SaveCalleeSaveRegisters"
370
+ begin_block
371
+ name "B0"
372
+ from_bci -1
373
+ to_bci -1
374
+ predecessors
375
+ successors
376
+ xhandlers
377
+ flags
378
+ probability 4607182418800017408
379
+ begin_IR
380
+ LIR
381
+ nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
382
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
383
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
384
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
385
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
386
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
387
+ locals: Object[null] v1|DWORD
388
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
389
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
390
+ end_IR
391
+ end_block
392
+ end_cfg
393
+ begin_bytecodes
394
+ 0: aload_0
395
+ 1: iload_1
396
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
397
+ 5: return
398
+ <|@
399
+ end_bytecodes
400
+ begin_cfg
401
+ name "After PreAllocationOptimizationStage"
402
+ begin_block
403
+ name "B0"
404
+ from_bci -1
405
+ to_bci -1
406
+ predecessors
407
+ successors
408
+ xhandlers
409
+ flags
410
+ probability 4607182418800017408
411
+ begin_IR
412
+ LIR
413
+ nr -1 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
414
+ nr -1 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
415
+ nr -1 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
416
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
417
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
418
+ nr -1 <|@ st <@st|@JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
419
+ locals: Object[null] v1|DWORD
420
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
421
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
422
+ end_IR
423
+ end_block
424
+ end_cfg
425
+ begin_bytecodes
426
+ 0: aload_0
427
+ 1: iload_1
428
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
429
+ 5: return
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[.], rdx|DWORD, 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@13c640828 slotKind: QWORD <|@ <|@
448
+ nr -1 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
449
+ nr -1 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
450
+ nr -1 <|@ st <@st|@live-base-pointers: []
451
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
452
+ locals: Object[null] v1|DWORD
453
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
454
+ nr -1 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
455
+ end_IR
456
+ end_block
457
+ end_cfg
458
+ begin_bytecodes
459
+ 0: aload_0
460
+ 1: iload_1
461
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
462
+ 5: return
463
+ <|@
464
+ end_bytecodes
465
+ begin_cfg
466
+ name "Before register allocation"
467
+ begin_block
468
+ name "B0"
469
+ from_bci -1
470
+ to_bci -1
471
+ predecessors
472
+ successors
473
+ xhandlers
474
+ flags
475
+ probability 4607182418800017408
476
+ begin_IR
477
+ LIR
478
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
479
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
480
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
481
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
482
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
483
+ nr 10 <|@ st <@st|@live-base-pointers: []
484
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
485
+ locals: Object[null] v1|DWORD
486
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
487
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
488
+ end_IR
489
+ end_block
490
+ end_cfg
491
+ begin_bytecodes
492
+ 0: aload_0
493
+ 1: iload_1
494
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
495
+ 5: return
496
+ <|@
497
+ end_bytecodes
498
+ begin_cfg
499
+ name "After SSALinearScanLifetimeAnalysis"
500
+ begin_block
501
+ name "B0"
502
+ from_bci -1
503
+ to_bci -1
504
+ predecessors
505
+ successors
506
+ xhandlers
507
+ flags
508
+ probability 4607182418800017408
509
+ begin_IR
510
+ LIR
511
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
512
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
513
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
514
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
515
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
516
+ nr 10 <|@ st <@st|@live-base-pointers: []
517
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
518
+ locals: Object[null] v1|DWORD
519
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
520
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
521
+ end_IR
522
+ end_block
523
+ end_cfg
524
+ begin_bytecodes
525
+ 0: aload_0
526
+ 1: iload_1
527
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
528
+ 5: return
529
+ <|@
530
+ end_bytecodes
531
+ begin_intervals
532
+ name "Before register allocation"
533
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
534
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
535
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
536
+ v0|q QWORD "[v0|q]" v0|q rsi|q [6, 10[6 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
537
+ v1|d DWORD "[v1|d]" v1|d rdx|d [8, 11[8 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
538
+ end_intervals
539
+ begin_intervals
540
+ name "After register allocation"
541
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
542
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
543
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
544
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 10[6 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
545
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 11[8 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
546
+ end_intervals
547
+ begin_cfg
548
+ name "After LinearScanRegisterAllocation"
549
+ begin_block
550
+ name "B0"
551
+ from_bci -1
552
+ to_bci -1
553
+ predecessors
554
+ successors
555
+ xhandlers
556
+ flags
557
+ probability 4607182418800017408
558
+ begin_IR
559
+ LIR
560
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
561
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
562
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
563
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
564
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
565
+ nr 10 <|@ st <@st|@live-base-pointers: []
566
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
567
+ locals: Object[null] v1|DWORD
568
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
569
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
570
+ end_IR
571
+ end_block
572
+ end_cfg
573
+ begin_bytecodes
574
+ 0: aload_0
575
+ 1: iload_1
576
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
577
+ 5: return
578
+ <|@
579
+ end_bytecodes
580
+ begin_intervals
581
+ name "After optimize spill position"
582
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
583
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
584
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
585
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 10[6 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
586
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 11[8 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
587
+ end_intervals
588
+ begin_cfg
589
+ name "After LinearScanOptimizeSpillPosition"
590
+ begin_block
591
+ name "B0"
592
+ from_bci -1
593
+ to_bci -1
594
+ predecessors
595
+ successors
596
+ xhandlers
597
+ flags
598
+ probability 4607182418800017408
599
+ begin_IR
600
+ LIR
601
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
602
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
603
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
604
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
605
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
606
+ nr 10 <|@ st <@st|@live-base-pointers: []
607
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
608
+ locals: Object[null] v1|DWORD
609
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
610
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
611
+ end_IR
612
+ end_block
613
+ end_cfg
614
+ begin_bytecodes
615
+ 0: aload_0
616
+ 1: iload_1
617
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
618
+ 5: return
619
+ <|@
620
+ end_bytecodes
621
+ begin_intervals
622
+ name "After resolve data flow"
623
+ rdx|d fixed "[rdx|d]" rdx|d -1 [0, 8[ "NoSpillStore"
624
+ rbp|q fixed "[rbp|q]" rbp|q -1 [0, 2[ "NoSpillStore"
625
+ rsi|q fixed "[rsi|q]" rsi|q -1 [0, 6[ "NoSpillStore"
626
+ v0|q QWORD "[rsi|q]" v0|q rsi|q [6, 10[6 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
627
+ v1|d DWORD "[rdx|d]" v1|d rdx|d [8, 11[8 MustHaveRegister 10 MustHaveRegister "NoSpillStore"
628
+ end_intervals
629
+ begin_cfg
630
+ name "After SSALinearScanResolveDataFlow"
631
+ begin_block
632
+ name "B0"
633
+ from_bci -1
634
+ to_bci -1
635
+ predecessors
636
+ successors
637
+ xhandlers
638
+ flags
639
+ probability 4607182418800017408
640
+ begin_IR
641
+ LIR
642
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
643
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
644
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
645
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
646
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
647
+ nr 10 <|@ st <@st|@live-base-pointers: []
648
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
649
+ locals: Object[null] v1|DWORD
650
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
651
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
652
+ end_IR
653
+ end_block
654
+ end_cfg
655
+ begin_bytecodes
656
+ 0: aload_0
657
+ 1: iload_1
658
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
659
+ 5: return
660
+ <|@
661
+ end_bytecodes
662
+ begin_cfg
663
+ name "After SSALinearScanEliminateSpillMove"
664
+ begin_block
665
+ name "B0"
666
+ from_bci -1
667
+ to_bci -1
668
+ predecessors
669
+ successors
670
+ xhandlers
671
+ flags
672
+ probability 4607182418800017408
673
+ begin_IR
674
+ LIR
675
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
676
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
677
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
678
+ nr 6 <|@ instruction v0|QWORD[.] = MOVE rsi|QWORD[.] moveKind: QWORD <|@ <|@
679
+ nr 8 <|@ instruction v1|DWORD = MOVE rdx|DWORD moveKind: DWORD <|@ <|@
680
+ nr 10 <|@ st <@st|@live-base-pointers: []
681
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
682
+ locals: Object[null] v1|DWORD
683
+ >@ <|@ instruction MOV (x: [v0|QWORD[.] + 12], y: v1|DWORD) size: DWORD state [bci:0] <|@ <|@
684
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
685
+ end_IR
686
+ end_block
687
+ end_cfg
688
+ begin_bytecodes
689
+ 0: aload_0
690
+ 1: iload_1
691
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
692
+ 5: return
693
+ <|@
694
+ end_bytecodes
695
+ begin_cfg
696
+ name "After LinearScanAssignLocations"
697
+ begin_block
698
+ name "B0"
699
+ from_bci -1
700
+ to_bci -1
701
+ predecessors
702
+ successors
703
+ xhandlers
704
+ flags
705
+ probability 4607182418800017408
706
+ begin_IR
707
+ LIR
708
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
709
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
710
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
711
+ nr 10 <|@ st <@st|@live-base-pointers: []
712
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
713
+ locals: Object[null] rdx|DWORD
714
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
715
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
716
+ end_IR
717
+ end_block
718
+ end_cfg
719
+ begin_bytecodes
720
+ 0: aload_0
721
+ 1: iload_1
722
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
723
+ 5: return
724
+ <|@
725
+ end_bytecodes
726
+ begin_cfg
727
+ name "After LinearScan"
728
+ begin_block
729
+ name "B0"
730
+ from_bci -1
731
+ to_bci -1
732
+ predecessors
733
+ successors
734
+ xhandlers
735
+ flags
736
+ probability 4607182418800017408
737
+ begin_IR
738
+ LIR
739
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
740
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
741
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
742
+ nr 10 <|@ st <@st|@live-base-pointers: []
743
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
744
+ locals: Object[null] rdx|DWORD
745
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
746
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
747
+ end_IR
748
+ end_block
749
+ end_cfg
750
+ begin_bytecodes
751
+ 0: aload_0
752
+ 1: iload_1
753
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
754
+ 5: return
755
+ <|@
756
+ end_bytecodes
757
+ begin_cfg
758
+ name "After LSStackSlotAllocator"
759
+ begin_block
760
+ name "B0"
761
+ from_bci -1
762
+ to_bci -1
763
+ predecessors
764
+ successors
765
+ xhandlers
766
+ flags
767
+ probability 4607182418800017408
768
+ begin_IR
769
+ LIR
770
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
771
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
772
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
773
+ nr 10 <|@ st <@st|@live-base-pointers: []
774
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
775
+ locals: Object[null] rdx|DWORD
776
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
777
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
778
+ end_IR
779
+ end_block
780
+ end_cfg
781
+ begin_bytecodes
782
+ 0: aload_0
783
+ 1: iload_1
784
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
785
+ 5: return
786
+ <|@
787
+ end_bytecodes
788
+ begin_cfg
789
+ name "After LocationMarker"
790
+ begin_block
791
+ name "B0"
792
+ from_bci -1
793
+ to_bci -1
794
+ predecessors
795
+ successors
796
+ xhandlers
797
+ flags
798
+ probability 4607182418800017408
799
+ begin_IR
800
+ LIR
801
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
802
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
803
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
804
+ nr 10 <|@ st <@st|@reference-map: []
805
+ live-base-pointers: []
806
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
807
+ locals: Object[null] rdx|DWORD
808
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
809
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
810
+ end_IR
811
+ end_block
812
+ end_cfg
813
+ begin_bytecodes
814
+ 0: aload_0
815
+ 1: iload_1
816
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
817
+ 5: return
818
+ <|@
819
+ end_bytecodes
820
+ begin_cfg
821
+ name "After AllocationStage"
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[.], rdx|DWORD, 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@13c640828 slotKind: QWORD <|@ <|@
836
+ nr 10 <|@ st <@st|@reference-map: []
837
+ live-base-pointers: []
838
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
839
+ locals: Object[null] rdx|DWORD
840
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
841
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
842
+ end_IR
843
+ end_block
844
+ end_cfg
845
+ begin_bytecodes
846
+ 0: aload_0
847
+ 1: iload_1
848
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
849
+ 5: return
850
+ <|@
851
+ end_bytecodes
852
+ begin_cfg
853
+ name "After EdgeMoveOptimizer"
854
+ begin_block
855
+ name "B0"
856
+ from_bci -1
857
+ to_bci -1
858
+ predecessors
859
+ successors
860
+ xhandlers
861
+ flags
862
+ probability 4607182418800017408
863
+ begin_IR
864
+ LIR
865
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
866
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
867
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
868
+ nr 10 <|@ st <@st|@reference-map: []
869
+ live-base-pointers: []
870
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
871
+ locals: Object[null] rdx|DWORD
872
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
873
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
874
+ end_IR
875
+ end_block
876
+ end_cfg
877
+ begin_bytecodes
878
+ 0: aload_0
879
+ 1: iload_1
880
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
881
+ 5: return
882
+ <|@
883
+ end_bytecodes
884
+ begin_cfg
885
+ name "After ControlFlowOptimizer"
886
+ begin_block
887
+ name "B0"
888
+ from_bci -1
889
+ to_bci -1
890
+ predecessors
891
+ successors
892
+ xhandlers
893
+ flags
894
+ probability 4607182418800017408
895
+ begin_IR
896
+ LIR
897
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
898
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
899
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
900
+ nr 10 <|@ st <@st|@reference-map: []
901
+ live-base-pointers: []
902
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
903
+ locals: Object[null] rdx|DWORD
904
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
905
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
906
+ end_IR
907
+ end_block
908
+ end_cfg
909
+ begin_bytecodes
910
+ 0: aload_0
911
+ 1: iload_1
912
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
913
+ 5: return
914
+ <|@
915
+ end_bytecodes
916
+ begin_cfg
917
+ name "After RedundantMoveElimination"
918
+ begin_block
919
+ name "B0"
920
+ from_bci -1
921
+ to_bci -1
922
+ predecessors
923
+ successors
924
+ xhandlers
925
+ flags
926
+ probability 4607182418800017408
927
+ begin_IR
928
+ LIR
929
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
930
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
931
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
932
+ nr 10 <|@ st <@st|@reference-map: []
933
+ live-base-pointers: []
934
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
935
+ locals: Object[null] rdx|DWORD
936
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
937
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
938
+ end_IR
939
+ end_block
940
+ end_cfg
941
+ begin_bytecodes
942
+ 0: aload_0
943
+ 1: iload_1
944
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
945
+ 5: return
946
+ <|@
947
+ end_bytecodes
948
+ begin_cfg
949
+ name "After NullCheckOptimizer"
950
+ begin_block
951
+ name "B0"
952
+ from_bci -1
953
+ to_bci -1
954
+ predecessors
955
+ successors
956
+ xhandlers
957
+ flags
958
+ probability 4607182418800017408
959
+ begin_IR
960
+ LIR
961
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
962
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
963
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
964
+ nr 10 <|@ st <@st|@reference-map: []
965
+ live-base-pointers: []
966
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
967
+ locals: Object[null] rdx|DWORD
968
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
969
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
970
+ end_IR
971
+ end_block
972
+ end_cfg
973
+ begin_bytecodes
974
+ 0: aload_0
975
+ 1: iload_1
976
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
977
+ 5: return
978
+ <|@
979
+ end_bytecodes
980
+ begin_cfg
981
+ name "After StackMoveOptimization"
982
+ begin_block
983
+ name "B0"
984
+ from_bci -1
985
+ to_bci -1
986
+ predecessors
987
+ successors
988
+ xhandlers
989
+ flags
990
+ probability 4607182418800017408
991
+ begin_IR
992
+ LIR
993
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
994
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
995
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
996
+ nr 10 <|@ st <@st|@reference-map: []
997
+ live-base-pointers: []
998
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
999
+ locals: Object[null] rdx|DWORD
1000
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
1001
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1002
+ end_IR
1003
+ end_block
1004
+ end_cfg
1005
+ begin_bytecodes
1006
+ 0: aload_0
1007
+ 1: iload_1
1008
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
1009
+ 5: return
1010
+ <|@
1011
+ end_bytecodes
1012
+ begin_cfg
1013
+ name "After PostAllocationOptimizationStage"
1014
+ begin_block
1015
+ name "B0"
1016
+ from_bci -1
1017
+ to_bci -1
1018
+ predecessors
1019
+ successors
1020
+ xhandlers
1021
+ flags
1022
+ probability 4607182418800017408
1023
+ begin_IR
1024
+ LIR
1025
+ nr 0 <|@ instruction [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <|@ <|@
1026
+ nr 2 <|@ instruction stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <|@ <|@
1027
+ nr 4 <|@ instruction [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <|@ <|@
1028
+ nr 10 <|@ st <@st|@reference-map: []
1029
+ live-base-pointers: []
1030
+ JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0]
1031
+ locals: Object[null] rdx|DWORD
1032
+ >@ <|@ instruction MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <|@ <|@
1033
+ nr 12 <|@ instruction RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <|@ <|@
1034
+ end_IR
1035
+ end_block
1036
+ end_cfg
1037
+ begin_bytecodes
1038
+ 0: aload_0
1039
+ 1: iload_1
1040
+ 2: putfield #58 // JavaExamples$ExampleObject.x:int
1041
+ 5: return
1042
+ <|@
1043
+ end_bytecodes
1044
+ begin_cfg
1045
+ name "After code generation"
1046
+ end_cfg
1047
+ begin_nmethod
1048
+ <<<HexCodeFile
1049
+ Platform AMD64 64 <||@
1050
+ HexCode 0 89842400c0feff4883ec1848896c241089560c488b6c24104883c418850500000000c5f877c3e80000000090e80000000090 <||@
1051
+ Comment 0 [stack overflow check] <||@
1052
+ Comment 0 3 <||@
1053
+ Comment 0 1 <||@
1054
+ Comment 11 block B0 null <||@
1055
+ Comment 11 0 [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1056
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1057
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <||@
1058
+ Comment 16 10 MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <||@
1059
+ Comment 16 []at JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0, duringCall: false, rethrow: false]
1060
+ |0 |1
1061
+ locals: |Object[null] |rdx|DWORD <||@
1062
+ Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1063
+ Comment 19 12 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
1064
+ Comment 28 12 <||@
1065
+ 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} <||@
1066
+ Comment 38 4 <||@
1067
+ Comment 44 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1068
+ Comment 44 5 <||@
1069
+ HexCodeFile>>> <|@
1070
+ end_nmethod
1071
+ begin_compilation
1072
+ name " HotSpotCompilation-128[JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)]"
1073
+ method "HotSpotCompilation-128[JavaExamples.exampleFieldWrite(JavaExamples$ExampleObject, int)]"
1074
+ date 1583364091880
1075
+ end_compilation
1076
+ begin_cfg
1077
+ name "After code installation"
1078
+ end_cfg
1079
+ begin_nmethod
1080
+ <<<HexCodeFile
1081
+ Platform AMD64 64 <||@
1082
+ HexCode 112e352a0 89842400c0feff4883ec1848896c241089560c488b6c24104883c4188505445d93fbc5f877c3e855f0feff90e86fefeaff90f4f4f4f4f4f4 <||@
1083
+ Comment 0 [stack overflow check] <||@
1084
+ Comment 0 3 <||@
1085
+ Comment 0 1 <||@
1086
+ Comment 11 block B0 null <||@
1087
+ Comment 11 0 [rsi|QWORD[.], rdx|DWORD, rbp|QWORD] = LABEL numbPhis: 0 align: false label: ? <||@
1088
+ Comment 11 2 stack:16|QWORD = MOVE rbp|QWORD moveKind: QWORD <||@
1089
+ Comment 16 4 [] = HOTSPOTLOCKSTACK frameMapBuilder: org.graalvm.compiler.lir.amd64.AMD64FrameMapBuilder@13c640828 slotKind: QWORD <||@
1090
+ Comment 16 10 MOV (x: [rsi|QWORD[.] + 12], y: rdx|DWORD) size: DWORD state [bci:0] <||@
1091
+ Comment 16 []at JavaExamples.exampleFieldWrite(JavaExamples.java:300) [bci: 0, duringCall: false, rethrow: false]
1092
+ |0 |1
1093
+ locals: |Object[null] |rdx|DWORD <||@
1094
+ Comment 16 {infopoint: IMPLICIT_EXCEPTION} <||@
1095
+ Comment 19 12 RETURN (savedRbp: stack:16|QWORD, value: -) isStub: false requiresReservedStackAccessCheck: false thread: r15 scratchForSafepointOnReturn: rcx config: org.graalvm.compiler.hotspot.GraalHotSpotVMConfig@147e07170 <||@
1096
+ Comment 28 12 <||@
1097
+ 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} <||@
1098
+ Comment 38 4 <||@
1099
+ Comment 44 {Field[name=CompilerToVM::Data::SharedRuntime_deopt_blob_unpack, type=address, offset=0, address=0x1108bc128, value=4610474560]:0x112ce4240} <||@
1100
+ Comment 44 5 <||@
1101
+ HexCodeFile>>> <|@
1102
+ end_nmethod