Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/ForOf.golden

Issue 2489513005: [Interpreter] Remove all Ldr style bytecodes and replace with Star lookahead. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 1 #
2 # Autogenerated by generate-bytecode-expectations. 2 # Autogenerated by generate-bytecode-expectations.
3 # 3 #
4 4
5 --- 5 ---
6 wrap: yes 6 wrap: yes
7 7
8 --- 8 ---
9 snippet: " 9 snippet: "
10 for (var p of [0, 1, 2]) {} 10 for (var p of [0, 1, 2]) {}
11 " 11 "
12 frame size: 15 12 frame size: 15
13 parameter count: 1 13 parameter count: 1
14 bytecode array length: 281 14 bytecode array length: 282
15 bytecodes: [ 15 bytecodes: [
16 /* 30 E> */ B(StackCheck), 16 /* 30 E> */ B(StackCheck),
17 B(LdaZero), 17 B(LdaZero),
18 B(Star), R(4), 18 B(Star), R(4),
19 B(Mov), R(context), R(11), 19 B(Mov), R(context), R(11),
20 B(Mov), R(context), R(12), 20 B(Mov), R(context), R(12),
21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
22 B(Star), R(14), 22 B(Star), R(14),
23 B(LdaConstant), U8(1), 23 B(LdaConstant), U8(1),
24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
(...skipping 13 matching lines...) Expand all
38 B(LdaNamedProperty), R(3), U8(4), U8(12), 38 B(LdaNamedProperty), R(3), U8(4), U8(12),
39 B(Star), R(5), 39 B(Star), R(5),
40 B(LdaSmi), U8(2), 40 B(LdaSmi), U8(2),
41 B(Star), R(4), 41 B(Star), R(4),
42 B(Mov), R(5), R(0), 42 B(Mov), R(5), R(0),
43 /* 34 E> */ B(StackCheck), 43 /* 34 E> */ B(StackCheck),
44 B(Mov), R(0), R(1), 44 B(Mov), R(0), R(1),
45 B(LdaZero), 45 B(LdaZero),
46 B(Star), R(4), 46 B(Star), R(4),
47 B(JumpLoop), U8(-51), U8(0), 47 B(JumpLoop), U8(-51), U8(0),
48 B(Jump), U8(35), 48 B(Jump), U8(36),
49 B(Star), R(13), 49 B(Star), R(13),
50 B(Ldar), R(closure), 50 B(Ldar), R(closure),
51 B(CreateCatchContext), R(13), U8(5), U8(6), 51 B(CreateCatchContext), R(13), U8(5), U8(6),
52 B(Star), R(12), 52 B(Star), R(12),
53 B(PushContext), R(8), 53 B(PushContext), R(8),
54 B(LdaSmi), U8(2), 54 B(LdaSmi), U8(2),
55 B(TestEqualStrict), R(4), U8(14), 55 B(TestEqualStrict), R(4), U8(14),
56 B(JumpIfFalse), U8(6), 56 B(JumpIfFalse), U8(6),
57 B(LdaSmi), U8(1), 57 B(LdaSmi), U8(1),
58 B(Star), R(4), 58 B(Star), R(4),
59 B(LdrCurrentContextSlot), U8(4), R(13), 59 B(LdaCurrentContextSlot), U8(4),
60 B(Star), R(13),
60 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 61 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
61 B(PopContext), R(8), 62 B(PopContext), R(8),
62 B(LdaSmi), U8(-1), 63 B(LdaSmi), U8(-1),
63 B(Star), R(9), 64 B(Star), R(9),
64 B(Jump), U8(7), 65 B(Jump), U8(7),
65 B(Star), R(10), 66 B(Star), R(10),
66 B(LdaZero), 67 B(LdaZero),
67 B(Star), R(9), 68 B(Star), R(9),
68 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 69 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
69 B(Star), R(11), 70 B(Star), R(11),
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
136 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 137 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
137 FIXED_ARRAY_TYPE, 138 FIXED_ARRAY_TYPE,
138 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
140 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 141 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
141 FIXED_ARRAY_TYPE, 142 FIXED_ARRAY_TYPE,
142 ] 143 ]
143 handlers: [ 144 handlers: [
144 [7, 119, 125], 145 [7, 120, 126],
145 [10, 84, 86], 146 [10, 84, 86],
146 [203, 213, 215], 147 [204, 214, 216],
147 ] 148 ]
148 149
149 --- 150 ---
150 snippet: " 151 snippet: "
151 var x = 'potatoes'; 152 var x = 'potatoes';
152 for (var p of x) { return p; } 153 for (var p of x) { return p; }
153 " 154 "
154 frame size: 16 155 frame size: 16
155 parameter count: 1 156 parameter count: 1
156 bytecode array length: 292 157 bytecode array length: 293
157 bytecodes: [ 158 bytecodes: [
158 /* 30 E> */ B(StackCheck), 159 /* 30 E> */ B(StackCheck),
159 /* 42 S> */ B(LdaConstant), U8(0), 160 /* 42 S> */ B(LdaConstant), U8(0),
160 B(Star), R(0), 161 B(Star), R(0),
161 B(LdaZero), 162 B(LdaZero),
162 B(Star), R(5), 163 B(Star), R(5),
163 B(Mov), R(context), R(12), 164 B(Mov), R(context), R(12),
164 B(Mov), R(context), R(13), 165 B(Mov), R(context), R(13),
165 /* 68 S> */ B(LdaConstant), U8(1), 166 /* 68 S> */ B(LdaConstant), U8(1),
166 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4), 167 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4),
(...skipping 13 matching lines...) Expand all
180 B(LdaNamedProperty), R(4), U8(4), U8(12), 181 B(LdaNamedProperty), R(4), U8(4), U8(12),
181 B(Star), R(6), 182 B(Star), R(6),
182 B(LdaSmi), U8(2), 183 B(LdaSmi), U8(2),
183 B(Star), R(5), 184 B(Star), R(5),
184 B(Mov), R(6), R(1), 185 B(Mov), R(6), R(1),
185 /* 54 E> */ B(StackCheck), 186 /* 54 E> */ B(StackCheck),
186 B(Mov), R(1), R(2), 187 B(Mov), R(1), R(2),
187 /* 73 S> */ B(LdaZero), 188 /* 73 S> */ B(LdaZero),
188 B(Star), R(10), 189 B(Star), R(10),
189 B(Mov), R(1), R(11), 190 B(Mov), R(1), R(11),
190 B(Jump), U8(49), 191 B(Jump), U8(50),
191 B(Jump), U8(35), 192 B(Jump), U8(36),
192 B(Star), R(14), 193 B(Star), R(14),
193 B(Ldar), R(closure), 194 B(Ldar), R(closure),
194 B(CreateCatchContext), R(14), U8(5), U8(6), 195 B(CreateCatchContext), R(14), U8(5), U8(6),
195 B(Star), R(13), 196 B(Star), R(13),
196 B(PushContext), R(9), 197 B(PushContext), R(9),
197 B(LdaSmi), U8(2), 198 B(LdaSmi), U8(2),
198 B(TestEqualStrict), R(5), U8(14), 199 B(TestEqualStrict), R(5), U8(14),
199 B(JumpIfFalse), U8(6), 200 B(JumpIfFalse), U8(6),
200 B(LdaSmi), U8(1), 201 B(LdaSmi), U8(1),
201 B(Star), R(5), 202 B(Star), R(5),
202 B(LdrCurrentContextSlot), U8(4), R(14), 203 B(LdaCurrentContextSlot), U8(4),
204 B(Star), R(14),
203 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 205 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
204 B(PopContext), R(9), 206 B(PopContext), R(9),
205 B(LdaSmi), U8(-1), 207 B(LdaSmi), U8(-1),
206 B(Star), R(10), 208 B(Star), R(10),
207 B(Jump), U8(8), 209 B(Jump), U8(8),
208 B(Star), R(11), 210 B(Star), R(11),
209 B(LdaSmi), U8(1), 211 B(LdaSmi), U8(1),
210 B(Star), R(10), 212 B(Star), R(10),
211 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 213 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
212 B(Star), R(12), 214 B(Star), R(12),
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 284 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
283 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 285 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
284 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 286 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
285 FIXED_ARRAY_TYPE, 287 FIXED_ARRAY_TYPE,
286 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
287 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 289 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
288 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 290 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
289 FIXED_ARRAY_TYPE, 291 FIXED_ARRAY_TYPE,
290 ] 292 ]
291 handlers: [ 293 handlers: [
292 [11, 119, 125], 294 [11, 120, 126],
293 [14, 84, 86], 295 [14, 84, 86],
294 [204, 214, 216], 296 [205, 215, 217],
295 ] 297 ]
296 298
297 --- 299 ---
298 snippet: " 300 snippet: "
299 for (var x of [10, 20, 30]) { 301 for (var x of [10, 20, 30]) {
300 if (x == 10) continue; 302 if (x == 10) continue;
301 if (x == 20) break; 303 if (x == 20) break;
302 } 304 }
303 " 305 "
304 frame size: 15 306 frame size: 15
305 parameter count: 1 307 parameter count: 1
306 bytecode array length: 299 308 bytecode array length: 300
307 bytecodes: [ 309 bytecodes: [
308 /* 30 E> */ B(StackCheck), 310 /* 30 E> */ B(StackCheck),
309 B(LdaZero), 311 B(LdaZero),
310 B(Star), R(4), 312 B(Star), R(4),
311 B(Mov), R(context), R(11), 313 B(Mov), R(context), R(11),
312 B(Mov), R(context), R(12), 314 B(Mov), R(context), R(12),
313 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 315 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
314 B(Star), R(14), 316 B(Star), R(14),
315 B(LdaConstant), U8(1), 317 B(LdaConstant), U8(1),
316 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 318 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
(...skipping 21 matching lines...) Expand all
338 /* 72 E> */ B(TestEqual), R(1), U8(14), 340 /* 72 E> */ B(TestEqual), R(1), U8(14),
339 B(JumpIfFalse), U8(4), 341 B(JumpIfFalse), U8(4),
340 /* 79 S> */ B(Jump), U8(14), 342 /* 79 S> */ B(Jump), U8(14),
341 /* 91 S> */ B(LdaSmi), U8(20), 343 /* 91 S> */ B(LdaSmi), U8(20),
342 /* 97 E> */ B(TestEqual), R(1), U8(15), 344 /* 97 E> */ B(TestEqual), R(1), U8(15),
343 B(JumpIfFalse), U8(4), 345 B(JumpIfFalse), U8(4),
344 /* 104 S> */ B(Jump), U8(8), 346 /* 104 S> */ B(Jump), U8(8),
345 B(LdaZero), 347 B(LdaZero),
346 B(Star), R(4), 348 B(Star), R(4),
347 B(JumpLoop), U8(-69), U8(0), 349 B(JumpLoop), U8(-69), U8(0),
348 B(Jump), U8(35), 350 B(Jump), U8(36),
349 B(Star), R(13), 351 B(Star), R(13),
350 B(Ldar), R(closure), 352 B(Ldar), R(closure),
351 B(CreateCatchContext), R(13), U8(5), U8(6), 353 B(CreateCatchContext), R(13), U8(5), U8(6),
352 B(Star), R(12), 354 B(Star), R(12),
353 B(PushContext), R(8), 355 B(PushContext), R(8),
354 B(LdaSmi), U8(2), 356 B(LdaSmi), U8(2),
355 B(TestEqualStrict), R(4), U8(16), 357 B(TestEqualStrict), R(4), U8(16),
356 B(JumpIfFalse), U8(6), 358 B(JumpIfFalse), U8(6),
357 B(LdaSmi), U8(1), 359 B(LdaSmi), U8(1),
358 B(Star), R(4), 360 B(Star), R(4),
359 B(LdrCurrentContextSlot), U8(4), R(13), 361 B(LdaCurrentContextSlot), U8(4),
362 B(Star), R(13),
360 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 363 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
361 B(PopContext), R(8), 364 B(PopContext), R(8),
362 B(LdaSmi), U8(-1), 365 B(LdaSmi), U8(-1),
363 B(Star), R(9), 366 B(Star), R(9),
364 B(Jump), U8(7), 367 B(Jump), U8(7),
365 B(Star), R(10), 368 B(Star), R(10),
366 B(LdaZero), 369 B(LdaZero),
367 B(Star), R(9), 370 B(Star), R(9),
368 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 371 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
369 B(Star), R(11), 372 B(Star), R(11),
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
434 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 437 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
435 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
436 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 439 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
437 FIXED_ARRAY_TYPE, 440 FIXED_ARRAY_TYPE,
438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
439 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
440 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 443 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
441 FIXED_ARRAY_TYPE, 444 FIXED_ARRAY_TYPE,
442 ] 445 ]
443 handlers: [ 446 handlers: [
444 [7, 137, 143], 447 [7, 138, 144],
445 [10, 102, 104], 448 [10, 102, 104],
446 [221, 231, 233], 449 [222, 232, 234],
447 ] 450 ]
448 451
449 --- 452 ---
450 snippet: " 453 snippet: "
451 var x = { 'a': 1, 'b': 2 }; 454 var x = { 'a': 1, 'b': 2 };
452 for (x['a'] of [1,2,3]) { return x['a']; } 455 for (x['a'] of [1,2,3]) { return x['a']; }
453 " 456 "
454 frame size: 14 457 frame size: 14
455 parameter count: 1 458 parameter count: 1
456 bytecode array length: 306 459 bytecode array length: 307
457 bytecodes: [ 460 bytecodes: [
458 /* 30 E> */ B(StackCheck), 461 /* 30 E> */ B(StackCheck),
459 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 462 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
460 B(Mov), R(8), R(0), 463 B(Mov), R(8), R(0),
461 B(LdaZero), 464 B(LdaZero),
462 B(Star), R(3), 465 B(Star), R(3),
463 B(Mov), R(context), R(10), 466 B(Mov), R(context), R(10),
464 B(Mov), R(context), R(11), 467 B(Mov), R(context), R(11),
465 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), 468 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9),
466 B(Star), R(13), 469 B(Star), R(13),
(...skipping 17 matching lines...) Expand all
484 B(LdaSmi), U8(2), 487 B(LdaSmi), U8(2),
485 B(Star), R(3), 488 B(Star), R(3),
486 B(Ldar), R(4), 489 B(Ldar), R(4),
487 B(StaNamedPropertySloppy), R(0), U8(6), U8(14), 490 B(StaNamedPropertySloppy), R(0), U8(6), U8(14),
488 /* 62 E> */ B(StackCheck), 491 /* 62 E> */ B(StackCheck),
489 /* 88 S> */ B(Nop), 492 /* 88 S> */ B(Nop),
490 /* 96 E> */ B(LdaNamedProperty), R(0), U8(6), U8(16), 493 /* 96 E> */ B(LdaNamedProperty), R(0), U8(6), U8(16),
491 B(Star), R(9), 494 B(Star), R(9),
492 B(LdaZero), 495 B(LdaZero),
493 B(Star), R(8), 496 B(Star), R(8),
494 B(Jump), U8(49), 497 B(Jump), U8(50),
495 B(Jump), U8(35), 498 B(Jump), U8(36),
496 B(Star), R(12), 499 B(Star), R(12),
497 B(Ldar), R(closure), 500 B(Ldar), R(closure),
498 B(CreateCatchContext), R(12), U8(7), U8(8), 501 B(CreateCatchContext), R(12), U8(7), U8(8),
499 B(Star), R(11), 502 B(Star), R(11),
500 B(PushContext), R(7), 503 B(PushContext), R(7),
501 B(LdaSmi), U8(2), 504 B(LdaSmi), U8(2),
502 B(TestEqualStrict), R(3), U8(18), 505 B(TestEqualStrict), R(3), U8(18),
503 B(JumpIfFalse), U8(6), 506 B(JumpIfFalse), U8(6),
504 B(LdaSmi), U8(1), 507 B(LdaSmi), U8(1),
505 B(Star), R(3), 508 B(Star), R(3),
506 B(LdrCurrentContextSlot), U8(4), R(12), 509 B(LdaCurrentContextSlot), U8(4),
510 B(Star), R(12),
507 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 511 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
508 B(PopContext), R(7), 512 B(PopContext), R(7),
509 B(LdaSmi), U8(-1), 513 B(LdaSmi), U8(-1),
510 B(Star), R(8), 514 B(Star), R(8),
511 B(Jump), U8(8), 515 B(Jump), U8(8),
512 B(Star), R(9), 516 B(Star), R(9),
513 B(LdaSmi), U8(1), 517 B(LdaSmi), U8(1),
514 B(Star), R(8), 518 B(Star), R(8),
515 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 519 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
516 B(Star), R(10), 520 B(Star), R(10),
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
589 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], 593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
590 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 594 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
591 FIXED_ARRAY_TYPE, 595 FIXED_ARRAY_TYPE,
592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 596 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
594 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 598 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
595 FIXED_ARRAY_TYPE, 599 FIXED_ARRAY_TYPE,
596 ] 600 ]
597 handlers: [ 601 handlers: [
598 [15, 133, 139], 602 [15, 134, 140],
599 [18, 98, 100], 603 [18, 98, 100],
600 [218, 228, 230], 604 [219, 229, 231],
601 ] 605 ]
602 606
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698