Chromium Code Reviews| OLD | NEW |
|---|---|
| 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: 274 |
| 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(13), | |
| 23 B(LdaNamedProperty), R(13), U8(1), U8(2), | |
| 22 B(Star), R(14), | 24 B(Star), R(14), |
| 23 B(LdaConstant), U8(1), | 25 B(CallProperty), R(14), R(13), U8(1), U8(4), |
| 24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), | 26 B(JumpIfJSReceiver), U8(7), |
| 25 B(Star), R(13), | 27 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), |
|
caitp
2016/12/06 05:49:11
well, the other downside is how much bigger the by
rmcilroy
2016/12/06 15:02:28
I'm slightly confused by this - it looks like the
caitp
2016/12/06 15:14:58
These nodes were only added for yield* desugaring,
caitp
2016/12/06 16:07:07
Also note, not including the typecheck is an obser
| |
| 26 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2), | |
| 27 B(Star), R(2), | 28 B(Star), R(2), |
| 28 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), | 29 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), |
| 29 B(Star), R(14), | 30 B(Star), R(14), |
| 30 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), | 31 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), |
| 31 B(Star), R(3), | 32 B(Star), R(3), |
| 32 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), | 33 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), |
| 33 B(ToBooleanLogicalNot), | 34 B(ToBooleanLogicalNot), |
| 34 B(JumpIfFalse), U8(7), | 35 B(JumpIfFalse), U8(7), |
| 35 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), | 36 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), |
| 36 B(LdaNamedProperty), R(3), U8(3), U8(10), | 37 B(LdaNamedProperty), R(3), U8(3), U8(10), |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | 136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | 137 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 137 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 138 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 138 FIXED_ARRAY_TYPE, | 139 FIXED_ARRAY_TYPE, |
| 139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | 140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | 141 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 141 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | 142 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 142 FIXED_ARRAY_TYPE, | 143 FIXED_ARRAY_TYPE, |
| 143 ] | 144 ] |
| 144 handlers: [ | 145 handlers: [ |
| 145 [7, 120, 126], | 146 [7, 126, 132], |
| 146 [10, 84, 86], | 147 [10, 90, 92], |
| 147 [195, 205, 207], | 148 [201, 211, 213], |
| 148 ] | 149 ] |
| 149 | 150 |
| 150 --- | 151 --- |
| 151 snippet: " | 152 snippet: " |
| 152 var x = 'potatoes'; | 153 var x = 'potatoes'; |
| 153 for (var p of x) { return p; } | 154 for (var p of x) { return p; } |
| 154 " | 155 " |
| 155 frame size: 16 | 156 frame size: 16 |
| 156 parameter count: 1 | 157 parameter count: 1 |
| 157 bytecode array length: 279 | 158 bytecode array length: 288 |
| 158 bytecodes: [ | 159 bytecodes: [ |
| 159 /* 30 E> */ B(StackCheck), | 160 /* 30 E> */ B(StackCheck), |
| 160 /* 42 S> */ B(LdaConstant), U8(0), | 161 /* 42 S> */ B(LdaConstant), U8(0), |
| 161 B(Star), R(0), | 162 B(Star), R(0), |
| 162 B(LdaZero), | 163 B(LdaZero), |
| 163 B(Star), R(5), | 164 B(Star), R(5), |
| 164 B(Mov), R(context), R(12), | 165 B(Mov), R(context), R(12), |
| 165 B(Mov), R(context), R(13), | 166 B(Mov), R(context), R(13), |
| 166 /* 68 S> */ B(LdaConstant), U8(1), | 167 /* 68 S> */ B(LdaNamedProperty), R(0), U8(1), U8(2), |
| 167 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4), | 168 B(Star), R(15), |
| 168 B(Star), R(14), | 169 B(CallProperty), R(15), R(0), U8(1), U8(4), |
| 169 /* 68 E> */ B(CallProperty), R(14), R(0), U8(1), U8(2), | 170 B(Mov), R(0), R(14), |
| 171 B(JumpIfJSReceiver), U8(7), | |
| 172 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), | |
| 170 B(Star), R(3), | 173 B(Star), R(3), |
| 171 /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8), | 174 /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8), |
| 172 B(Star), R(15), | 175 B(Star), R(15), |
| 173 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6), | 176 /* 65 E> */ B(CallProperty), R(15), R(3), U8(1), U8(6), |
| 174 B(Star), R(4), | 177 B(Star), R(4), |
| 175 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), | 178 /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), |
| 176 B(ToBooleanLogicalNot), | 179 B(ToBooleanLogicalNot), |
| 177 B(JumpIfFalse), U8(7), | 180 B(JumpIfFalse), U8(7), |
| 178 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1), | 181 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (4), U8(1), |
| 179 B(LdaNamedProperty), R(4), U8(3), U8(10), | 182 B(LdaNamedProperty), R(4), U8(3), U8(10), |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 284 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | 287 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 285 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | 288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 286 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 289 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 287 FIXED_ARRAY_TYPE, | 290 FIXED_ARRAY_TYPE, |
| 288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | 291 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 289 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | 292 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 290 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | 293 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 291 FIXED_ARRAY_TYPE, | 294 FIXED_ARRAY_TYPE, |
| 292 ] | 295 ] |
| 293 handlers: [ | 296 handlers: [ |
| 294 [11, 120, 126], | 297 [11, 129, 135], |
| 295 [14, 84, 86], | 298 [14, 93, 95], |
| 296 [196, 206, 208], | 299 [205, 215, 217], |
| 297 ] | 300 ] |
| 298 | 301 |
| 299 --- | 302 --- |
| 300 snippet: " | 303 snippet: " |
| 301 for (var x of [10, 20, 30]) { | 304 for (var x of [10, 20, 30]) { |
| 302 if (x == 10) continue; | 305 if (x == 10) continue; |
| 303 if (x == 20) break; | 306 if (x == 20) break; |
| 304 } | 307 } |
| 305 " | 308 " |
| 306 frame size: 15 | 309 frame size: 15 |
| 307 parameter count: 1 | 310 parameter count: 1 |
| 308 bytecode array length: 286 | 311 bytecode array length: 292 |
| 309 bytecodes: [ | 312 bytecodes: [ |
| 310 /* 30 E> */ B(StackCheck), | 313 /* 30 E> */ B(StackCheck), |
| 311 B(LdaZero), | 314 B(LdaZero), |
| 312 B(Star), R(4), | 315 B(Star), R(4), |
| 313 B(Mov), R(context), R(11), | 316 B(Mov), R(context), R(11), |
| 314 B(Mov), R(context), R(12), | 317 B(Mov), R(context), R(12), |
| 315 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), | 318 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), |
| 319 B(Star), R(13), | |
| 320 B(LdaNamedProperty), R(13), U8(1), U8(2), | |
| 316 B(Star), R(14), | 321 B(Star), R(14), |
| 317 B(LdaConstant), U8(1), | 322 B(CallProperty), R(14), R(13), U8(1), U8(4), |
| 318 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), | 323 B(JumpIfJSReceiver), U8(7), |
| 319 B(Star), R(13), | 324 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), |
| 320 /* 48 E> */ B(CallProperty), R(13), R(14), U8(1), U8(2), | |
| 321 B(Star), R(2), | 325 B(Star), R(2), |
| 322 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), | 326 /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(8), |
| 323 B(Star), R(14), | 327 B(Star), R(14), |
| 324 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), | 328 /* 45 E> */ B(CallProperty), R(14), R(2), U8(1), U8(6), |
| 325 B(Star), R(3), | 329 B(Star), R(3), |
| 326 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), | 330 /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), |
| 327 B(ToBooleanLogicalNot), | 331 B(ToBooleanLogicalNot), |
| 328 B(JumpIfFalse), U8(7), | 332 B(JumpIfFalse), U8(7), |
| 329 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), | 333 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1), |
| 330 B(LdaNamedProperty), R(3), U8(3), U8(10), | 334 B(LdaNamedProperty), R(3), U8(3), U8(10), |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 437 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | 441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |
| 438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | 442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 439 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 443 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 440 FIXED_ARRAY_TYPE, | 444 FIXED_ARRAY_TYPE, |
| 441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | 445 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | 446 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 443 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | 447 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 444 FIXED_ARRAY_TYPE, | 448 FIXED_ARRAY_TYPE, |
| 445 ] | 449 ] |
| 446 handlers: [ | 450 handlers: [ |
| 447 [7, 138, 144], | 451 [7, 144, 150], |
| 448 [10, 102, 104], | 452 [10, 108, 110], |
| 449 [213, 223, 225], | 453 [219, 229, 231], |
| 450 ] | 454 ] |
| 451 | 455 |
| 452 --- | 456 --- |
| 453 snippet: " | 457 snippet: " |
| 454 var x = { 'a': 1, 'b': 2 }; | 458 var x = { 'a': 1, 'b': 2 }; |
| 455 for (x['a'] of [1,2,3]) { return x['a']; } | 459 for (x['a'] of [1,2,3]) { return x['a']; } |
| 456 " | 460 " |
| 457 frame size: 14 | 461 frame size: 14 |
| 458 parameter count: 1 | 462 parameter count: 1 |
| 459 bytecode array length: 293 | 463 bytecode array length: 299 |
| 460 bytecodes: [ | 464 bytecodes: [ |
| 461 /* 30 E> */ B(StackCheck), | 465 /* 30 E> */ B(StackCheck), |
| 462 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), | 466 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), |
| 463 B(Mov), R(8), R(0), | 467 B(Mov), R(8), R(0), |
| 464 B(LdaZero), | 468 B(LdaZero), |
| 465 B(Star), R(3), | 469 B(Star), R(3), |
| 466 B(Mov), R(context), R(10), | 470 B(Mov), R(context), R(10), |
| 467 B(Mov), R(context), R(11), | 471 B(Mov), R(context), R(11), |
| 468 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), | 472 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), |
| 473 B(Star), R(12), | |
| 474 B(LdaNamedProperty), R(12), U8(2), U8(2), | |
| 469 B(Star), R(13), | 475 B(Star), R(13), |
| 470 B(LdaConstant), U8(2), | 476 B(CallProperty), R(13), R(12), U8(1), U8(4), |
| 471 /* 77 E> */ B(LdaKeyedProperty), R(13), U8(4), | 477 B(JumpIfJSReceiver), U8(7), |
| 472 B(Star), R(12), | 478 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), |
| 473 /* 77 E> */ B(CallProperty), R(12), R(13), U8(1), U8(2), | |
| 474 B(Star), R(1), | 479 B(Star), R(1), |
| 475 /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(8), | 480 /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(8), |
| 476 B(Star), R(13), | 481 B(Star), R(13), |
| 477 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6), | 482 /* 74 E> */ B(CallProperty), R(13), R(1), U8(1), U8(6), |
| 478 B(Star), R(2), | 483 B(Star), R(2), |
| 479 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), | 484 /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), |
| 480 B(ToBooleanLogicalNot), | 485 B(ToBooleanLogicalNot), |
| 481 B(JumpIfFalse), U8(7), | 486 B(JumpIfFalse), U8(7), |
| 482 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1), | 487 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1), |
| 483 B(LdaNamedProperty), R(2), U8(4), U8(10), | 488 B(LdaNamedProperty), R(2), U8(4), U8(10), |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 592 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | 597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], |
| 593 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], | 598 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], |
| 594 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | 599 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], |
| 595 FIXED_ARRAY_TYPE, | 600 FIXED_ARRAY_TYPE, |
| 596 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | 601 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], |
| 597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | 602 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], |
| 598 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | 603 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
| 599 FIXED_ARRAY_TYPE, | 604 FIXED_ARRAY_TYPE, |
| 600 ] | 605 ] |
| 601 handlers: [ | 606 handlers: [ |
| 602 [15, 134, 140], | 607 [15, 140, 146], |
| 603 [18, 98, 100], | 608 [18, 104, 106], |
| 604 [210, 220, 222], | 609 [216, 226, 228], |
| 605 ] | 610 ] |
| 606 | 611 |
| OLD | NEW |