seafoam 0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.github/probots.yml +2 -0
  3. data/.github/workflows/rubocop.yml +10 -0
  4. data/.github/workflows/specs.yml +19 -0
  5. data/.gitignore +7 -0
  6. data/.rubocop.yml +34 -0
  7. data/.ruby-version +1 -0
  8. data/.seafoam/config +1 -0
  9. data/CODE_OF_CONDUCT.md +128 -0
  10. data/CONTRIBUTING.md +5 -0
  11. data/Gemfile +2 -0
  12. data/LICENSE.md +7 -0
  13. data/README.md +298 -0
  14. data/bin/bgv2isabelle +53 -0
  15. data/bin/bgv2json +42 -0
  16. data/bin/seafoam +24 -0
  17. data/docs/annotators.md +43 -0
  18. data/docs/bgv.md +284 -0
  19. data/docs/getting-graphs.md +47 -0
  20. data/examples/Fib.java +24 -0
  21. data/examples/MatMult.java +39 -0
  22. data/examples/fib-java.bgv +0 -0
  23. data/examples/fib-js.bgv +0 -0
  24. data/examples/fib-ruby.bgv +0 -0
  25. data/examples/fib.js +15 -0
  26. data/examples/fib.rb +15 -0
  27. data/examples/identity.bgv +0 -0
  28. data/examples/identity.rb +13 -0
  29. data/examples/java/Irreducible.j +35 -0
  30. data/examples/java/IrreducibleDecompiled.java +21 -0
  31. data/examples/java/JavaExamples.java +418 -0
  32. data/examples/java/exampleArithOperator.bgv +0 -0
  33. data/examples/java/exampleArithOperator.cfg +925 -0
  34. data/examples/java/exampleArrayAllocation.bgv +0 -0
  35. data/examples/java/exampleArrayAllocation.cfg +5268 -0
  36. data/examples/java/exampleArrayRead.bgv +0 -0
  37. data/examples/java/exampleArrayRead.cfg +2263 -0
  38. data/examples/java/exampleArrayWrite.bgv +0 -0
  39. data/examples/java/exampleArrayWrite.cfg +2315 -0
  40. data/examples/java/exampleCatch.bgv +0 -0
  41. data/examples/java/exampleCatch.cfg +4150 -0
  42. data/examples/java/exampleCompareOperator.bgv +0 -0
  43. data/examples/java/exampleCompareOperator.cfg +1109 -0
  44. data/examples/java/exampleDoubleSynchronized.bgv +0 -0
  45. data/examples/java/exampleDoubleSynchronized.cfg +26497 -0
  46. data/examples/java/exampleExactArith.bgv +0 -0
  47. data/examples/java/exampleExactArith.cfg +1888 -0
  48. data/examples/java/exampleFieldRead.bgv +0 -0
  49. data/examples/java/exampleFieldRead.cfg +1228 -0
  50. data/examples/java/exampleFieldWrite.bgv +0 -0
  51. data/examples/java/exampleFieldWrite.cfg +1102 -0
  52. data/examples/java/exampleFor.bgv +0 -0
  53. data/examples/java/exampleFor.cfg +3936 -0
  54. data/examples/java/exampleFullEscape.bgv +0 -0
  55. data/examples/java/exampleFullEscape.cfg +5893 -0
  56. data/examples/java/exampleIf.bgv +0 -0
  57. data/examples/java/exampleIf.cfg +2462 -0
  58. data/examples/java/exampleIfNeverTaken.bgv +0 -0
  59. data/examples/java/exampleIfNeverTaken.cfg +2476 -0
  60. data/examples/java/exampleInstanceOfManyImpls.bgv +0 -0
  61. data/examples/java/exampleInstanceOfManyImpls.cfg +6391 -0
  62. data/examples/java/exampleInstanceOfOneImpl.bgv +0 -0
  63. data/examples/java/exampleInstanceOfOneImpl.cfg +2604 -0
  64. data/examples/java/exampleIntSwitch.bgv +0 -0
  65. data/examples/java/exampleIntSwitch.cfg +3121 -0
  66. data/examples/java/exampleInterfaceCallManyImpls.bgv +0 -0
  67. data/examples/java/exampleInterfaceCallManyImpls.cfg +1358 -0
  68. data/examples/java/exampleInterfaceCallOneImpl.bgv +0 -0
  69. data/examples/java/exampleInterfaceCallOneImpl.cfg +3859 -0
  70. data/examples/java/exampleLocalInstanceOf.bgv +0 -0
  71. data/examples/java/exampleLocalInstanceOf.cfg +5276 -0
  72. data/examples/java/exampleLocalSynchronized.bgv +0 -0
  73. data/examples/java/exampleLocalSynchronized.cfg +1364 -0
  74. data/examples/java/exampleLocalVariables.bgv +0 -0
  75. data/examples/java/exampleLocalVariables.cfg +1195 -0
  76. data/examples/java/exampleLocalVariablesState.bgv +0 -0
  77. data/examples/java/exampleLocalVariablesState.cfg +1673 -0
  78. data/examples/java/exampleNestedWhile.bgv +0 -0
  79. data/examples/java/exampleNestedWhile.cfg +15499 -0
  80. data/examples/java/exampleNestedWhileBreak.bgv +0 -0
  81. data/examples/java/exampleNestedWhileBreak.cfg +11162 -0
  82. data/examples/java/exampleNoEscape.bgv +0 -0
  83. data/examples/java/exampleNoEscape.cfg +974 -0
  84. data/examples/java/exampleObjectAllocation.bgv +0 -0
  85. data/examples/java/exampleObjectAllocation.cfg +5287 -0
  86. data/examples/java/examplePartialEscape.bgv +0 -0
  87. data/examples/java/examplePartialEscape.cfg +7042 -0
  88. data/examples/java/examplePhi.bgv +0 -0
  89. data/examples/java/examplePhi.cfg +3227 -0
  90. data/examples/java/exampleReducible.bgv +0 -0
  91. data/examples/java/exampleReducible.cfg +5578 -0
  92. data/examples/java/exampleSimpleCall.bgv +0 -0
  93. data/examples/java/exampleSimpleCall.cfg +1435 -0
  94. data/examples/java/exampleStamp.bgv +0 -0
  95. data/examples/java/exampleStamp.cfg +913 -0
  96. data/examples/java/exampleStaticCall.bgv +0 -0
  97. data/examples/java/exampleStaticCall.cfg +1154 -0
  98. data/examples/java/exampleStringSwitch.bgv +0 -0
  99. data/examples/java/exampleStringSwitch.cfg +15377 -0
  100. data/examples/java/exampleSynchronized.bgv +0 -0
  101. data/examples/java/exampleSynchronized.cfg +26027 -0
  102. data/examples/java/exampleThrow.bgv +0 -0
  103. data/examples/java/exampleThrow.cfg +780 -0
  104. data/examples/java/exampleThrowCatch.bgv +0 -0
  105. data/examples/java/exampleThrowCatch.cfg +744 -0
  106. data/examples/java/exampleUnsafeRead.bgv +0 -0
  107. data/examples/java/exampleUnsafeRead.cfg +912 -0
  108. data/examples/java/exampleUnsafeWrite.bgv +0 -0
  109. data/examples/java/exampleUnsafeWrite.cfg +962 -0
  110. data/examples/java/exampleWhile.bgv +0 -0
  111. data/examples/java/exampleWhile.cfg +3936 -0
  112. data/examples/java/exampleWhileBreak.bgv +0 -0
  113. data/examples/java/exampleWhileBreak.cfg +5963 -0
  114. data/examples/matmult-java.bgv +0 -0
  115. data/examples/matmult-ruby.bgv +0 -0
  116. data/examples/matmult.rb +29 -0
  117. data/examples/overflow.bgv +0 -0
  118. data/examples/overflow.rb +13 -0
  119. data/lib/seafoam.rb +13 -0
  120. data/lib/seafoam/annotators.rb +54 -0
  121. data/lib/seafoam/annotators/fallback.rb +27 -0
  122. data/lib/seafoam/annotators/graal.rb +376 -0
  123. data/lib/seafoam/bgv/bgv_parser.rb +602 -0
  124. data/lib/seafoam/binary/binary_reader.rb +21 -0
  125. data/lib/seafoam/binary/io_binary_reader.rb +88 -0
  126. data/lib/seafoam/colors.rb +18 -0
  127. data/lib/seafoam/commands.rb +447 -0
  128. data/lib/seafoam/config.rb +34 -0
  129. data/lib/seafoam/graph.rb +91 -0
  130. data/lib/seafoam/graphviz_writer.rb +213 -0
  131. data/lib/seafoam/spotlight.rb +28 -0
  132. data/lib/seafoam/version.rb +5 -0
  133. data/seafoam.gemspec +20 -0
  134. data/spec/seafoam/annotators/fallback_spec.rb +69 -0
  135. data/spec/seafoam/annotators/graal_spec.rb +96 -0
  136. data/spec/seafoam/annotators_spec.rb +61 -0
  137. data/spec/seafoam/bgv/bgv_parser_spec.rb +144 -0
  138. data/spec/seafoam/bgv/fixtures/not.bgv +1 -0
  139. data/spec/seafoam/bgv/fixtures/unsupported.bgv +1 -0
  140. data/spec/seafoam/binary/io_binary_reader_spec.rb +176 -0
  141. data/spec/seafoam/command_spec.rb +252 -0
  142. data/spec/seafoam/graph_spec.rb +172 -0
  143. data/spec/seafoam/graphviz_writer_spec.rb +63 -0
  144. data/spec/seafoam/spec_helpers.rb +30 -0
  145. data/spec/seafoam/spotlight_spec.rb +38 -0
  146. data/tools/render-all +36 -0
  147. metadata +238 -0
@@ -0,0 +1,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