seafoam 0.4 → 0.5

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