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

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

Issue 2547043002: [Interpreter] Optimize equality check with null/undefined with a check on the map. (Closed)
Patch Set: Address comments from Ross. Created 4 years 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: 268 14 bytecode array length: 266
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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 B(Star), R(9), 64 B(Star), R(9),
65 B(Jump), U8(7), 65 B(Jump), U8(7),
66 B(Star), R(10), 66 B(Star), R(10),
67 B(LdaZero), 67 B(LdaZero),
68 B(Star), R(9), 68 B(Star), R(9),
69 B(LdaTheHole), 69 B(LdaTheHole),
70 B(SetPendingMessage), 70 B(SetPendingMessage),
71 B(Star), R(11), 71 B(Star), R(11),
72 B(LdaZero), 72 B(LdaZero),
73 B(TestEqualStrict), R(4), U8(15), 73 B(TestEqualStrict), R(4), U8(15),
74 B(JumpIfTrue), U8(113), 74 B(JumpIfTrue), U8(111),
75 B(LdaNamedProperty), R(2), U8(7), U8(16), 75 B(LdaNamedProperty), R(2), U8(7), U8(16),
76 B(Star), R(6), 76 B(Star), R(6),
77 B(LdaNull), 77 B(TestUndetectable), R(6),
78 B(TestEqual), R(6), U8(18),
79 B(JumpIfFalse), U8(4), 78 B(JumpIfFalse), U8(4),
80 B(Jump), U8(99), 79 B(Jump), U8(99),
81 B(LdaSmi), U8(1), 80 B(LdaSmi), U8(1),
82 B(TestEqualStrict), R(4), U8(19), 81 B(TestEqualStrict), R(4), U8(19),
83 B(JumpIfFalse), U8(67), 82 B(JumpIfFalse), U8(67),
84 B(Ldar), R(6), 83 B(Ldar), R(6),
85 B(TypeOf), 84 B(TypeOf),
86 B(Star), R(12), 85 B(Star), R(12),
87 B(LdaConstant), U8(8), 86 B(LdaConstant), U8(8),
88 B(TestEqualStrict), R(12), U8(20), 87 B(TestEqualStrict), R(12), U8(20),
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 136 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
138 FIXED_ARRAY_TYPE, 137 FIXED_ARRAY_TYPE,
139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 138 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
141 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 140 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
142 FIXED_ARRAY_TYPE, 141 FIXED_ARRAY_TYPE,
143 ] 142 ]
144 handlers: [ 143 handlers: [
145 [7, 120, 126], 144 [7, 120, 126],
146 [10, 84, 86], 145 [10, 84, 86],
147 [195, 205, 207], 146 [193, 203, 205],
148 ] 147 ]
149 148
150 --- 149 ---
151 snippet: " 150 snippet: "
152 var x = 'potatoes'; 151 var x = 'potatoes';
153 for (var p of x) { return p; } 152 for (var p of x) { return p; }
154 " 153 "
155 frame size: 16 154 frame size: 16
156 parameter count: 1 155 parameter count: 1
157 bytecode array length: 279 156 bytecode array length: 277
158 bytecodes: [ 157 bytecodes: [
159 /* 30 E> */ B(StackCheck), 158 /* 30 E> */ B(StackCheck),
160 /* 42 S> */ B(LdaConstant), U8(0), 159 /* 42 S> */ B(LdaConstant), U8(0),
161 B(Star), R(0), 160 B(Star), R(0),
162 B(LdaZero), 161 B(LdaZero),
163 B(Star), R(5), 162 B(Star), R(5),
164 B(Mov), R(context), R(12), 163 B(Mov), R(context), R(12),
165 B(Mov), R(context), R(13), 164 B(Mov), R(context), R(13),
166 /* 68 S> */ B(LdaConstant), U8(1), 165 /* 68 S> */ B(LdaConstant), U8(1),
167 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4), 166 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4),
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 B(Star), R(10), 207 B(Star), R(10),
209 B(Jump), U8(8), 208 B(Jump), U8(8),
210 B(Star), R(11), 209 B(Star), R(11),
211 B(LdaSmi), U8(1), 210 B(LdaSmi), U8(1),
212 B(Star), R(10), 211 B(Star), R(10),
213 B(LdaTheHole), 212 B(LdaTheHole),
214 B(SetPendingMessage), 213 B(SetPendingMessage),
215 B(Star), R(12), 214 B(Star), R(12),
216 B(LdaZero), 215 B(LdaZero),
217 B(TestEqualStrict), R(5), U8(15), 216 B(TestEqualStrict), R(5), U8(15),
218 B(JumpIfTrue), U8(113), 217 B(JumpIfTrue), U8(111),
219 B(LdaNamedProperty), R(3), U8(7), U8(16), 218 B(LdaNamedProperty), R(3), U8(7), U8(16),
220 B(Star), R(7), 219 B(Star), R(7),
221 B(LdaNull), 220 B(TestUndetectable), R(7),
222 B(TestEqual), R(7), U8(18),
223 B(JumpIfFalse), U8(4), 221 B(JumpIfFalse), U8(4),
224 B(Jump), U8(99), 222 B(Jump), U8(99),
225 B(LdaSmi), U8(1), 223 B(LdaSmi), U8(1),
226 B(TestEqualStrict), R(5), U8(19), 224 B(TestEqualStrict), R(5), U8(19),
227 B(JumpIfFalse), U8(67), 225 B(JumpIfFalse), U8(67),
228 B(Ldar), R(7), 226 B(Ldar), R(7),
229 B(TypeOf), 227 B(TypeOf),
230 B(Star), R(13), 228 B(Star), R(13),
231 B(LdaConstant), U8(8), 229 B(LdaConstant), U8(8),
232 B(TestEqualStrict), R(13), U8(20), 230 B(TestEqualStrict), R(13), U8(20),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 284 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
287 FIXED_ARRAY_TYPE, 285 FIXED_ARRAY_TYPE,
288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 286 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
289 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 287 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
290 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 288 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
291 FIXED_ARRAY_TYPE, 289 FIXED_ARRAY_TYPE,
292 ] 290 ]
293 handlers: [ 291 handlers: [
294 [11, 120, 126], 292 [11, 120, 126],
295 [14, 84, 86], 293 [14, 84, 86],
296 [196, 206, 208], 294 [194, 204, 206],
297 ] 295 ]
298 296
299 --- 297 ---
300 snippet: " 298 snippet: "
301 for (var x of [10, 20, 30]) { 299 for (var x of [10, 20, 30]) {
302 if (x == 10) continue; 300 if (x == 10) continue;
303 if (x == 20) break; 301 if (x == 20) break;
304 } 302 }
305 " 303 "
306 frame size: 15 304 frame size: 15
307 parameter count: 1 305 parameter count: 1
308 bytecode array length: 286 306 bytecode array length: 284
309 bytecodes: [ 307 bytecodes: [
310 /* 30 E> */ B(StackCheck), 308 /* 30 E> */ B(StackCheck),
311 B(LdaZero), 309 B(LdaZero),
312 B(Star), R(4), 310 B(Star), R(4),
313 B(Mov), R(context), R(11), 311 B(Mov), R(context), R(11),
314 B(Mov), R(context), R(12), 312 B(Mov), R(context), R(12),
315 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 313 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
316 B(Star), R(14), 314 B(Star), R(14),
317 B(LdaConstant), U8(1), 315 B(LdaConstant), U8(1),
318 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 316 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 B(Star), R(9), 364 B(Star), R(9),
367 B(Jump), U8(7), 365 B(Jump), U8(7),
368 B(Star), R(10), 366 B(Star), R(10),
369 B(LdaZero), 367 B(LdaZero),
370 B(Star), R(9), 368 B(Star), R(9),
371 B(LdaTheHole), 369 B(LdaTheHole),
372 B(SetPendingMessage), 370 B(SetPendingMessage),
373 B(Star), R(11), 371 B(Star), R(11),
374 B(LdaZero), 372 B(LdaZero),
375 B(TestEqualStrict), R(4), U8(17), 373 B(TestEqualStrict), R(4), U8(17),
376 B(JumpIfTrue), U8(113), 374 B(JumpIfTrue), U8(111),
377 B(LdaNamedProperty), R(2), U8(7), U8(18), 375 B(LdaNamedProperty), R(2), U8(7), U8(18),
378 B(Star), R(6), 376 B(Star), R(6),
379 B(LdaNull), 377 B(TestUndetectable), R(6),
380 B(TestEqual), R(6), U8(20),
381 B(JumpIfFalse), U8(4), 378 B(JumpIfFalse), U8(4),
382 B(Jump), U8(99), 379 B(Jump), U8(99),
383 B(LdaSmi), U8(1), 380 B(LdaSmi), U8(1),
384 B(TestEqualStrict), R(4), U8(21), 381 B(TestEqualStrict), R(4), U8(21),
385 B(JumpIfFalse), U8(67), 382 B(JumpIfFalse), U8(67),
386 B(Ldar), R(6), 383 B(Ldar), R(6),
387 B(TypeOf), 384 B(TypeOf),
388 B(Star), R(12), 385 B(Star), R(12),
389 B(LdaConstant), U8(8), 386 B(LdaConstant), U8(8),
390 B(TestEqualStrict), R(12), U8(22), 387 B(TestEqualStrict), R(12), U8(22),
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 436 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
440 FIXED_ARRAY_TYPE, 437 FIXED_ARRAY_TYPE,
441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 439 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
443 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 440 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
444 FIXED_ARRAY_TYPE, 441 FIXED_ARRAY_TYPE,
445 ] 442 ]
446 handlers: [ 443 handlers: [
447 [7, 138, 144], 444 [7, 138, 144],
448 [10, 102, 104], 445 [10, 102, 104],
449 [213, 223, 225], 446 [211, 221, 223],
450 ] 447 ]
451 448
452 --- 449 ---
453 snippet: " 450 snippet: "
454 var x = { 'a': 1, 'b': 2 }; 451 var x = { 'a': 1, 'b': 2 };
455 for (x['a'] of [1,2,3]) { return x['a']; } 452 for (x['a'] of [1,2,3]) { return x['a']; }
456 " 453 "
457 frame size: 14 454 frame size: 14
458 parameter count: 1 455 parameter count: 1
459 bytecode array length: 293 456 bytecode array length: 291
460 bytecodes: [ 457 bytecodes: [
461 /* 30 E> */ B(StackCheck), 458 /* 30 E> */ B(StackCheck),
462 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 459 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
463 B(Mov), R(8), R(0), 460 B(Mov), R(8), R(0),
464 B(LdaZero), 461 B(LdaZero),
465 B(Star), R(3), 462 B(Star), R(3),
466 B(Mov), R(context), R(10), 463 B(Mov), R(context), R(10),
467 B(Mov), R(context), R(11), 464 B(Mov), R(context), R(11),
468 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), 465 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9),
469 B(Star), R(13), 466 B(Star), R(13),
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 B(Star), R(8), 511 B(Star), R(8),
515 B(Jump), U8(8), 512 B(Jump), U8(8),
516 B(Star), R(9), 513 B(Star), R(9),
517 B(LdaSmi), U8(1), 514 B(LdaSmi), U8(1),
518 B(Star), R(8), 515 B(Star), R(8),
519 B(LdaTheHole), 516 B(LdaTheHole),
520 B(SetPendingMessage), 517 B(SetPendingMessage),
521 B(Star), R(10), 518 B(Star), R(10),
522 B(LdaZero), 519 B(LdaZero),
523 B(TestEqualStrict), R(3), U8(19), 520 B(TestEqualStrict), R(3), U8(19),
524 B(JumpIfTrue), U8(113), 521 B(JumpIfTrue), U8(111),
525 B(LdaNamedProperty), R(1), U8(9), U8(20), 522 B(LdaNamedProperty), R(1), U8(9), U8(20),
526 B(Star), R(5), 523 B(Star), R(5),
527 B(LdaNull), 524 B(TestUndetectable), R(5),
528 B(TestEqual), R(5), U8(22),
529 B(JumpIfFalse), U8(4), 525 B(JumpIfFalse), U8(4),
530 B(Jump), U8(99), 526 B(Jump), U8(99),
531 B(LdaSmi), U8(1), 527 B(LdaSmi), U8(1),
532 B(TestEqualStrict), R(3), U8(23), 528 B(TestEqualStrict), R(3), U8(23),
533 B(JumpIfFalse), U8(67), 529 B(JumpIfFalse), U8(67),
534 B(Ldar), R(5), 530 B(Ldar), R(5),
535 B(TypeOf), 531 B(TypeOf),
536 B(Star), R(11), 532 B(Star), R(11),
537 B(LdaConstant), U8(10), 533 B(LdaConstant), U8(10),
538 B(TestEqualStrict), R(11), U8(24), 534 B(TestEqualStrict), R(11), U8(24),
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 590 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
595 FIXED_ARRAY_TYPE, 591 FIXED_ARRAY_TYPE,
596 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
598 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 594 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
599 FIXED_ARRAY_TYPE, 595 FIXED_ARRAY_TYPE,
600 ] 596 ]
601 handlers: [ 597 handlers: [
602 [15, 134, 140], 598 [15, 134, 140],
603 [18, 98, 100], 599 [18, 98, 100],
604 [210, 220, 222], 600 [208, 218, 220],
605 ] 601 ]
606 602
OLDNEW
« no previous file with comments | « src/interpreter/mkpeephole.cc ('k') | test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698