Commit f255c0c
[vm/bytecode] Revise PushStatic bytecode instruction
PushStatic instruction expects field object to be pushed onto the stack.
This is useless, as PushStatic also references field with its D operand.
This change replaces PushStatic instruction with LoadStatic which doesn't
take field object on the stack, so PushConstant/PushStatic pair is replaced
with a single LoadStatic instruction.
This change also enables constant propagation of values of injected CID
fields, which are not known at bytecode generation time.
Change-Id: Ifbdd3aea2aab338f6c9ec3e5728948c4d8541a4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112489
Commit-Queue: Alexander Markov <[email protected]>
Reviewed-by: Ryan Macnak <[email protected]>
Reviewed-by: Régis Crelier <[email protected]>1 parent f74b0cc commit f255c0c
File tree
9 files changed
+62
-48
lines changed- pkg/vm
- lib/bytecode
- testcases/bytecode
- runtime/vm
- compiler
- assembler
- frontend
9 files changed
+62
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
404 | 404 | | |
405 | 405 | | |
406 | 406 | | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
407 | 411 | | |
408 | 412 | | |
409 | 413 | | |
410 | 414 | | |
411 | 415 | | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
172 | | - | |
| 171 | + | |
| 172 | + | |
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | | - | |
186 | | - | |
| 185 | + | |
| 186 | + | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| |||
412 | 412 | | |
413 | 413 | | |
414 | 414 | | |
415 | | - | |
| 415 | + | |
416 | 416 | | |
417 | 417 | | |
418 | 418 | | |
| |||
633 | 633 | | |
634 | 634 | | |
635 | 635 | | |
636 | | - | |
637 | 636 | | |
638 | 637 | | |
639 | 638 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3074 | 3074 | | |
3075 | 3075 | | |
3076 | 3076 | | |
3077 | | - | |
3078 | | - | |
3079 | | - | |
3080 | | - | |
| 3077 | + | |
3081 | 3078 | | |
3082 | 3079 | | |
3083 | 3080 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
128 | | - | |
| 127 | + | |
129 | 128 | | |
130 | 129 | | |
131 | 130 | | |
132 | 131 | | |
133 | | - | |
134 | | - | |
| 132 | + | |
135 | 133 | | |
136 | 134 | | |
137 | 135 | | |
| |||
143 | 141 | | |
144 | 142 | | |
145 | 143 | | |
146 | | - | |
147 | | - | |
| 144 | + | |
148 | 145 | | |
149 | 146 | | |
150 | 147 | | |
| |||
156 | 153 | | |
157 | 154 | | |
158 | 155 | | |
159 | | - | |
160 | | - | |
| 156 | + | |
161 | 157 | | |
162 | 158 | | |
163 | 159 | | |
164 | 160 | | |
165 | 161 | | |
166 | | - | |
167 | | - | |
| 162 | + | |
168 | 163 | | |
169 | 164 | | |
170 | 165 | | |
| |||
214 | 209 | | |
215 | 210 | | |
216 | 211 | | |
217 | | - | |
218 | | - | |
| 212 | + | |
219 | 213 | | |
220 | 214 | | |
221 | | - | |
222 | | - | |
| 215 | + | |
223 | 216 | | |
224 | 217 | | |
225 | 218 | | |
| |||
232 | 225 | | |
233 | 226 | | |
234 | 227 | | |
235 | | - | |
236 | | - | |
| 228 | + | |
237 | 229 | | |
238 | 230 | | |
239 | 231 | | |
| |||
390 | 382 | | |
391 | 383 | | |
392 | 384 | | |
393 | | - | |
394 | | - | |
| 385 | + | |
395 | 386 | | |
396 | 387 | | |
397 | 388 | | |
| |||
403 | 394 | | |
404 | 395 | | |
405 | 396 | | |
406 | | - | |
407 | | - | |
| 397 | + | |
408 | 398 | | |
409 | 399 | | |
410 | 400 | | |
| |||
592 | 582 | | |
593 | 583 | | |
594 | 584 | | |
595 | | - | |
596 | | - | |
| 585 | + | |
597 | 586 | | |
598 | 587 | | |
599 | | - | |
600 | | - | |
| 588 | + | |
601 | 589 | | |
602 | 590 | | |
603 | 591 | | |
| |||
608 | 596 | | |
609 | 597 | | |
610 | 598 | | |
611 | | - | |
612 | | - | |
| 599 | + | |
613 | 600 | | |
614 | 601 | | |
615 | 602 | | |
616 | | - | |
617 | | - | |
| 603 | + | |
618 | 604 | | |
619 | 605 | | |
620 | 606 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
390 | 390 | | |
391 | 391 | | |
392 | 392 | | |
393 | | - | |
394 | | - | |
| 393 | + | |
395 | 394 | | |
396 | 395 | | |
397 | 396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
250 | 252 | | |
251 | 253 | | |
252 | 254 | | |
| |||
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1207 | 1207 | | |
1208 | 1208 | | |
1209 | 1209 | | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
1210 | 1229 | | |
1211 | 1230 | | |
1212 | 1231 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
615 | 615 | | |
616 | 616 | | |
617 | 617 | | |
618 | | - | |
619 | | - | |
| 618 | + | |
| 619 | + | |
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
| |||
749 | 749 | | |
750 | 750 | | |
751 | 751 | | |
752 | | - | |
| 752 | + | |
753 | 753 | | |
754 | 754 | | |
755 | 755 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2362 | 2362 | | |
2363 | 2363 | | |
2364 | 2364 | | |
| 2365 | + | |
| 2366 | + | |
2365 | 2367 | | |
2366 | 2368 | | |
2367 | 2369 | | |
2368 | 2370 | | |
2369 | 2371 | | |
2370 | 2372 | | |
2371 | 2373 | | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
2372 | 2384 | | |
2373 | 2385 | | |
2374 | 2386 | | |
| |||
0 commit comments