Commit 0f7356e6 authored by Ross McIlroy's avatar Ross McIlroy Committed by Commit Bot

[Interpreter] Only materialize output register if in a different equivalence set.

We only need to materialize the existing output register for a given
register transfer if it is in a different equivalence set, otherwise we
already have the value we want in the output register.

BUG=v8:4280

Change-Id: Ic4966590ac10445180aff353940d2c93e6a818aa
Reviewed-on: https://chromium-review.googlesource.com/493168Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45051}
parent 7991d960
......@@ -318,6 +318,15 @@ void BytecodeRegisterOptimizer::AddToEquivalenceSet(
void BytecodeRegisterOptimizer::RegisterTransfer(RegisterInfo* input_info,
RegisterInfo* output_info) {
bool output_is_observable =
RegisterIsObservable(output_info->register_value());
bool in_same_equivalence_set =
output_info->IsInSameEquivalenceSet(input_info);
if (in_same_equivalence_set &&
(!output_is_observable || output_info->materialized())) {
return; // Nothing more to do.
}
// Materialize an alternate in the equivalence set that
// |output_info| is leaving.
if (output_info->materialized()) {
......@@ -325,12 +334,10 @@ void BytecodeRegisterOptimizer::RegisterTransfer(RegisterInfo* input_info,
}
// Add |output_info| to new equivalence set.
if (!output_info->IsInSameEquivalenceSet(input_info)) {
if (!in_same_equivalence_set) {
AddToEquivalenceSet(input_info, output_info);
}
bool output_is_observable =
RegisterIsObservable(output_info->register_value());
if (output_is_observable) {
// Force store to be emitted when register is observable.
output_info->set_materialized(false);
......
......@@ -118,7 +118,7 @@ snippet: "
"
frame size: 10
parameter count: 1
bytecode array length: 116
bytecode array length: 114
bytecodes: [
B(CreateFunctionContext), U8(2),
B(PushContext), R(3),
......@@ -158,7 +158,6 @@ bytecodes: [
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
B(CreateClosure), U8(5), U8(4), U8(2),
B(Star), R(8),
B(StaDataPropertyInLiteral), R(6), R(7), U8(3), U8(7),
B(CallRuntime), U16(Runtime::kInstallClassNameAccessorWithCheck), R(4), U8(1),
B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1),
......
......@@ -58,9 +58,9 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(3),
/* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(3),
B(MulSmi), I8(2), U8(5),
/* 61 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(6),
/* 61 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(6),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
......@@ -84,9 +84,9 @@ bytecodes: [
B(Mov), R(1), R(0),
/* 52 S> */ B(LdaSmi), I8(1),
B(Star), R(2),
B(LdaKeyedProperty), R(0), U8(3),
B(LdaKeyedProperty), R(1), U8(3),
B(BitwiseXorSmi), I8(2), U8(5),
/* 57 E> */ B(StaKeyedPropertySloppy), R(0), R(2), U8(6),
/* 57 E> */ B(StaKeyedPropertySloppy), R(1), R(2), U8(6),
B(LdaUndefined),
/* 63 S> */ B(Return),
]
......
......@@ -102,11 +102,11 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(3),
/* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(3),
B(ToNumber), R(2), U8(7),
B(Ldar), R(2),
B(Inc), U8(7),
/* 66 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(5),
/* 66 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(5),
B(Ldar), R(2),
/* 70 S> */ B(Return),
]
......@@ -128,9 +128,9 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 54 S> */ B(LdaNamedProperty), R(0), U8(1), U8(3),
/* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(3),
B(Dec), U8(7),
/* 65 E> */ B(StaNamedPropertySloppy), R(0), U8(1), U8(5),
/* 65 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(5),
/* 70 S> */ B(Return),
]
constant pool: [
......@@ -154,11 +154,11 @@ bytecodes: [
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(1), R(2),
B(Mov), R(2), R(1),
/* 72 S> */ B(Ldar), R(0),
/* 81 E> */ B(LdaKeyedProperty), R(1), U8(3),
/* 81 E> */ B(LdaKeyedProperty), R(2), U8(3),
B(ToNumber), R(4), U8(7),
B(Ldar), R(4),
B(Dec), U8(7),
/* 86 E> */ B(StaKeyedPropertySloppy), R(1), R(0), U8(5),
/* 86 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(5),
B(Ldar), R(4),
/* 90 S> */ B(Return),
]
......@@ -183,9 +183,9 @@ bytecodes: [
/* 60 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(1), R(2),
B(Mov), R(2), R(1),
/* 72 S> */ B(Ldar), R(0),
/* 83 E> */ B(LdaKeyedProperty), R(1), U8(3),
/* 83 E> */ B(LdaKeyedProperty), R(2), U8(3),
B(Inc), U8(7),
/* 87 E> */ B(StaKeyedPropertySloppy), R(1), R(0), U8(5),
/* 87 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(5),
/* 90 S> */ B(Return),
]
constant pool: [
......
......@@ -17,7 +17,7 @@ bytecodes: [
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 56 S> */ B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(0),
B(DeletePropertySloppy), R(1),
/* 75 S> */ B(Return),
]
constant pool: [
......@@ -39,7 +39,7 @@ bytecodes: [
/* 56 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 70 S> */ B(LdaConstant), U8(1),
B(DeletePropertyStrict), R(0),
B(DeletePropertyStrict), R(1),
/* 89 S> */ B(Return),
]
constant pool: [
......@@ -61,7 +61,7 @@ bytecodes: [
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
B(Mov), R(1), R(0),
/* 56 S> */ B(LdaSmi), I8(2),
B(DeletePropertySloppy), R(0),
B(DeletePropertySloppy), R(1),
/* 76 S> */ B(Return),
]
constant pool: [
......
......@@ -50,8 +50,8 @@ bytecodes: [
B(Star), R(13),
B(Ldar), R(closure),
B(CreateCatchContext), R(13), U8(5), U8(6),
B(Star), R(12),
B(PushContext), R(8),
B(Star), R(12),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(4), U8(15),
B(JumpIfFalse), U8(6),
......@@ -191,8 +191,8 @@ bytecodes: [
B(Star), R(14),
B(Ldar), R(closure),
B(CreateCatchContext), R(14), U8(5), U8(6),
B(Star), R(13),
B(PushContext), R(9),
B(Star), R(13),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(5), U8(14),
B(JumpIfFalse), U8(6),
......@@ -345,8 +345,8 @@ bytecodes: [
B(Star), R(13),
B(Ldar), R(closure),
B(CreateCatchContext), R(13), U8(5), U8(6),
B(Star), R(12),
B(PushContext), R(8),
B(Star), R(12),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(4), U8(17),
B(JumpIfFalse), U8(6),
......@@ -489,8 +489,8 @@ bytecodes: [
B(Star), R(12),
B(Ldar), R(closure),
B(CreateCatchContext), R(12), U8(7), U8(8),
B(Star), R(11),
B(PushContext), R(7),
B(Star), R(11),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(3), U8(20),
B(JumpIfFalse), U8(6),
......
......@@ -60,8 +60,8 @@ bytecodes: [
B(Star), R(15),
B(Ldar), R(closure),
/* 49 E> */ B(CreateCatchContext), R(15), U8(4), U8(5),
B(Star), R(14),
B(PushContext), R(10),
B(Star), R(14),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(6), U8(14),
B(JumpIfFalse), U8(6),
......@@ -238,8 +238,8 @@ bytecodes: [
B(Star), R(14),
B(Ldar), R(closure),
B(CreateCatchContext), R(14), U8(8), U8(9),
B(Star), R(13),
B(PushContext), R(9),
B(Star), R(13),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(3), U8(18),
B(JumpIfFalse), U8(6),
......@@ -395,8 +395,8 @@ bytecodes: [
B(Star), R(13),
B(Ldar), R(closure),
B(CreateCatchContext), R(13), U8(6), U8(7),
B(Star), R(12),
B(PushContext), R(8),
B(Star), R(12),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(4), U8(17),
B(JumpIfFalse), U8(6),
......@@ -563,8 +563,8 @@ bytecodes: [
B(Star), R(18),
B(Ldar), R(closure),
/* 58 E> */ B(CreateCatchContext), R(18), U8(7), U8(8),
B(Star), R(17),
B(PushContext), R(13),
B(Star), R(17),
B(LdaSmi), I8(2),
B(TestEqualStrict), R(9), U8(21),
B(JumpIfFalse), U8(6),
......@@ -791,8 +791,8 @@ bytecodes: [
B(Star), R(13),
B(Ldar), R(closure),
B(CreateCatchContext), R(13), U8(7), U8(8),
B(Star), R(12),
B(PushContext), R(2),
B(Star), R(12),
B(LdaContextSlot), R(1), U8(10), U8(0),
B(Star), R(13),
B(LdaSmi), I8(2),
......@@ -1133,8 +1133,8 @@ bytecodes: [
B(Star), R(12),
B(Ldar), R(closure),
B(CreateCatchContext), R(12), U8(6), U8(7),
B(Star), R(11),
B(PushContext), R(2),
B(Star), R(11),
B(LdaContextSlot), R(1), U8(10), U8(0),
B(Star), R(12),
B(LdaSmi), I8(2),
......
......@@ -448,8 +448,8 @@ bytecodes: [
B(Star), R(12),
B(Ldar), R(closure),
B(CreateCatchContext), R(12), U8(7), U8(8),
B(Star), R(11),
B(PushContext), R(2),
B(Star), R(11),
B(LdaContextSlot), R(1), U8(9), U8(0),
B(Star), R(12),
B(LdaSmi), I8(2),
......
......@@ -258,7 +258,7 @@ snippet: "
"
frame size: 2
parameter count: 2
bytecode array length: 410
bytecode array length: 156
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 24 S> */ B(LdaZero),
......@@ -267,135 +267,135 @@ bytecodes: [
B(Star), R(1),
/* 38 S> */ B(LdaConstant), U8(0),
/* 44 E> */ B(TestEqualStrict), R(0), U8(2),
B(JumpIfFalseConstant), U8(1),
B(JumpIfFalse), U8(137),
/* 58 S> */ B(Mov), R(0), R(1),
/* 65 S> */ B(Mov), R(1), R(0),
/* 74 S> */ B(Mov), R(0), R(1),
/* 81 S> */ B(Mov), R(1), R(0),
/* 90 S> */ B(Mov), R(0), R(1),
/* 97 S> */ B(Mov), R(1), R(0),
/* 106 S> */ B(Mov), R(0), R(1),
/* 113 S> */ B(Mov), R(1), R(0),
/* 122 S> */ B(Mov), R(0), R(1),
/* 129 S> */ B(Mov), R(1), R(0),
/* 138 S> */ B(Mov), R(0), R(1),
/* 145 S> */ B(Mov), R(1), R(0),
/* 154 S> */ B(Mov), R(0), R(1),
/* 161 S> */ B(Mov), R(1), R(0),
/* 170 S> */ B(Mov), R(0), R(1),
/* 177 S> */ B(Mov), R(1), R(0),
/* 186 S> */ B(Mov), R(0), R(1),
/* 193 S> */ B(Mov), R(1), R(0),
/* 202 S> */ B(Mov), R(0), R(1),
/* 209 S> */ B(Mov), R(1), R(0),
/* 218 S> */ B(Mov), R(0), R(1),
/* 225 S> */ B(Mov), R(1), R(0),
/* 234 S> */ B(Mov), R(0), R(1),
/* 241 S> */ B(Mov), R(1), R(0),
/* 250 S> */ B(Mov), R(0), R(1),
/* 257 S> */ B(Mov), R(1), R(0),
/* 266 S> */ B(Mov), R(0), R(1),
/* 273 S> */ B(Mov), R(1), R(0),
/* 282 S> */ B(Mov), R(0), R(1),
/* 289 S> */ B(Mov), R(1), R(0),
/* 298 S> */ B(Mov), R(0), R(1),
/* 305 S> */ B(Mov), R(1), R(0),
/* 314 S> */ B(Mov), R(0), R(1),
/* 321 S> */ B(Mov), R(1), R(0),
/* 330 S> */ B(Mov), R(0), R(1),
/* 337 S> */ B(Mov), R(1), R(0),
/* 346 S> */ B(Mov), R(0), R(1),
/* 353 S> */ B(Mov), R(1), R(0),
/* 362 S> */ B(Mov), R(0), R(1),
/* 369 S> */ B(Mov), R(1), R(0),
/* 378 S> */ B(Mov), R(0), R(1),
/* 385 S> */ B(Mov), R(1), R(0),
/* 394 S> */ B(Mov), R(0), R(1),
/* 401 S> */ B(Mov), R(1), R(0),
/* 410 S> */ B(Mov), R(0), R(1),
/* 417 S> */ B(Mov), R(1), R(0),
/* 426 S> */ B(Mov), R(0), R(1),
/* 433 S> */ B(Mov), R(1), R(0),
/* 442 S> */ B(Mov), R(0), R(1),
/* 449 S> */ B(Mov), R(1), R(0),
/* 458 S> */ B(Mov), R(0), R(1),
/* 465 S> */ B(Mov), R(1), R(0),
/* 474 S> */ B(Mov), R(0), R(1),
/* 481 S> */ B(Mov), R(1), R(0),
/* 490 S> */ B(Mov), R(0), R(1),
/* 497 S> */ B(Mov), R(1), R(0),
/* 506 S> */ B(Mov), R(0), R(1),
/* 513 S> */ B(Mov), R(1), R(0),
/* 522 S> */ B(Mov), R(0), R(1),
/* 529 S> */ B(Mov), R(1), R(0),
/* 538 S> */ B(Mov), R(0), R(1),
/* 545 S> */ B(Mov), R(1), R(0),
/* 554 S> */ B(Mov), R(0), R(1),
/* 561 S> */ B(Mov), R(1), R(0),
/* 570 S> */ B(Mov), R(0), R(1),
/* 577 S> */ B(Mov), R(1), R(0),
/* 586 S> */ B(Mov), R(0), R(1),
/* 593 S> */ B(Mov), R(1), R(0),
/* 602 S> */ B(Mov), R(0), R(1),
/* 609 S> */ B(Mov), R(1), R(0),
/* 618 S> */ B(Mov), R(0), R(1),
/* 625 S> */ B(Mov), R(1), R(0),
/* 634 S> */ B(Mov), R(0), R(1),
/* 641 S> */ B(Mov), R(1), R(0),
/* 650 S> */ B(Mov), R(0), R(1),
/* 657 S> */ B(Mov), R(1), R(0),
/* 666 S> */ B(Mov), R(0), R(1),
/* 673 S> */ B(Mov), R(1), R(0),
/* 682 S> */ B(Mov), R(0), R(1),
/* 689 S> */ B(Mov), R(1), R(0),
/* 698 S> */ B(Mov), R(0), R(1),
/* 705 S> */ B(Mov), R(1), R(0),
/* 714 S> */ B(Mov), R(0), R(1),
/* 721 S> */ B(Mov), R(1), R(0),
/* 730 S> */ B(Mov), R(0), R(1),
/* 737 S> */ B(Mov), R(1), R(0),
/* 746 S> */ B(Mov), R(0), R(1),
/* 753 S> */ B(Mov), R(1), R(0),
/* 762 S> */ B(Mov), R(0), R(1),
/* 769 S> */ B(Mov), R(1), R(0),
/* 778 S> */ B(Mov), R(0), R(1),
/* 785 S> */ B(Mov), R(1), R(0),
/* 794 S> */ B(Mov), R(0), R(1),
/* 801 S> */ B(Mov), R(1), R(0),
/* 810 S> */ B(Mov), R(0), R(1),
/* 817 S> */ B(Mov), R(1), R(0),
/* 826 S> */ B(Mov), R(0), R(1),
/* 833 S> */ B(Mov), R(1), R(0),
/* 842 S> */ B(Mov), R(0), R(1),
/* 849 S> */ B(Mov), R(1), R(0),
/* 858 S> */ B(Mov), R(0), R(1),
/* 865 S> */ B(Mov), R(1), R(0),
/* 874 S> */ B(Mov), R(0), R(1),
/* 881 S> */ B(Mov), R(1), R(0),
/* 890 S> */ B(Mov), R(0), R(1),
/* 897 S> */ B(Mov), R(1), R(0),
/* 906 S> */ B(Mov), R(0), R(1),
/* 913 S> */ B(Mov), R(1), R(0),
/* 922 S> */ B(Mov), R(0), R(1),
/* 929 S> */ B(Mov), R(1), R(0),
/* 938 S> */ B(Mov), R(0), R(1),
/* 945 S> */ B(Mov), R(1), R(0),
/* 954 S> */ B(Mov), R(0), R(1),
/* 961 S> */ B(Mov), R(1), R(0),
/* 970 S> */ B(Mov), R(0), R(1),
/* 977 S> */ B(Mov), R(1), R(0),
/* 986 S> */ B(Mov), R(0), R(1),
/* 993 S> */ B(Mov), R(1), R(0),
/* 1002 S> */ B(Mov), R(0), R(1),
/* 1009 S> */ B(Mov), R(1), R(0),
/* 1018 S> */ B(Mov), R(0), R(1),
/* 1025 S> */ B(Mov), R(1), R(0),
/* 1034 S> */ B(Mov), R(0), R(1),
/* 1041 S> */ B(Mov), R(1), R(0),
/* 1050 S> */ B(Mov), R(0), R(1),
/* 1057 S> */ B(Mov), R(1), R(0),
/* 1066 S> */ B(Mov), R(0), R(1),
/* 1073 S> */ B(Mov), R(1), R(0),
/* 65 S> */ B(Nop),
/* 74 S> */ B(Nop),
/* 81 S> */ B(Nop),
/* 90 S> */ B(Nop),
/* 97 S> */ B(Nop),
/* 106 S> */ B(Nop),
/* 113 S> */ B(Nop),
/* 122 S> */ B(Nop),
/* 129 S> */ B(Nop),
/* 138 S> */ B(Nop),
/* 145 S> */ B(Nop),
/* 154 S> */ B(Nop),
/* 161 S> */ B(Nop),
/* 170 S> */ B(Nop),
/* 177 S> */ B(Nop),
/* 186 S> */ B(Nop),
/* 193 S> */ B(Nop),
/* 202 S> */ B(Nop),
/* 209 S> */ B(Nop),
/* 218 S> */ B(Nop),
/* 225 S> */ B(Nop),
/* 234 S> */ B(Nop),
/* 241 S> */ B(Nop),
/* 250 S> */ B(Nop),
/* 257 S> */ B(Nop),
/* 266 S> */ B(Nop),
/* 273 S> */ B(Nop),
/* 282 S> */ B(Nop),
/* 289 S> */ B(Nop),
/* 298 S> */ B(Nop),
/* 305 S> */ B(Nop),
/* 314 S> */ B(Nop),
/* 321 S> */ B(Nop),
/* 330 S> */ B(Nop),
/* 337 S> */ B(Nop),
/* 346 S> */ B(Nop),
/* 353 S> */ B(Nop),
/* 362 S> */ B(Nop),
/* 369 S> */ B(Nop),
/* 378 S> */ B(Nop),
/* 385 S> */ B(Nop),
/* 394 S> */ B(Nop),
/* 401 S> */ B(Nop),
/* 410 S> */ B(Nop),
/* 417 S> */ B(Nop),
/* 426 S> */ B(Nop),
/* 433 S> */ B(Nop),
/* 442 S> */ B(Nop),
/* 449 S> */ B(Nop),
/* 458 S> */ B(Nop),
/* 465 S> */ B(Nop),
/* 474 S> */ B(Nop),
/* 481 S> */ B(Nop),
/* 490 S> */ B(Nop),
/* 497 S> */ B(Nop),
/* 506 S> */ B(Nop),
/* 513 S> */ B(Nop),
/* 522 S> */ B(Nop),
/* 529 S> */ B(Nop),
/* 538 S> */ B(Nop),
/* 545 S> */ B(Nop),
/* 554 S> */ B(Nop),
/* 561 S> */ B(Nop),
/* 570 S> */ B(Nop),
/* 577 S> */ B(Nop),
/* 586 S> */ B(Nop),
/* 593 S> */ B(Nop),
/* 602 S> */ B(Nop),
/* 609 S> */ B(Nop),
/* 618 S> */ B(Nop),
/* 625 S> */ B(Nop),
/* 634 S> */ B(Nop),
/* 641 S> */ B(Nop),
/* 650 S> */ B(Nop),
/* 657 S> */ B(Nop),
/* 666 S> */ B(Nop),
/* 673 S> */ B(Nop),
/* 682 S> */ B(Nop),
/* 689 S> */ B(Nop),
/* 698 S> */ B(Nop),
/* 705 S> */ B(Nop),
/* 714 S> */ B(Nop),
/* 721 S> */ B(Nop),
/* 730 S> */ B(Nop),
/* 737 S> */ B(Nop),
/* 746 S> */ B(Nop),
/* 753 S> */ B(Nop),
/* 762 S> */ B(Nop),
/* 769 S> */ B(Nop),
/* 778 S> */ B(Nop),
/* 785 S> */ B(Nop),
/* 794 S> */ B(Nop),
/* 801 S> */ B(Nop),
/* 810 S> */ B(Nop),
/* 817 S> */ B(Nop),
/* 826 S> */ B(Nop),
/* 833 S> */ B(Nop),
/* 842 S> */ B(Nop),
/* 849 S> */ B(Nop),
/* 858 S> */ B(Nop),
/* 865 S> */ B(Nop),
/* 874 S> */ B(Nop),
/* 881 S> */ B(Nop),
/* 890 S> */ B(Nop),
/* 897 S> */ B(Nop),
/* 906 S> */ B(Nop),
/* 913 S> */ B(Nop),
/* 922 S> */ B(Nop),
/* 929 S> */ B(Nop),
/* 938 S> */ B(Nop),
/* 945 S> */ B(Nop),
/* 954 S> */ B(Nop),
/* 961 S> */ B(Nop),
/* 970 S> */ B(Nop),
/* 977 S> */ B(Nop),
/* 986 S> */ B(Nop),
/* 993 S> */ B(Nop),
/* 1002 S> */ B(Nop),
/* 1009 S> */ B(Nop),
/* 1018 S> */ B(Nop),
/* 1025 S> */ B(Nop),
/* 1034 S> */ B(Nop),
/* 1041 S> */ B(Nop),
/* 1050 S> */ B(Nop),
/* 1057 S> */ B(Nop),
/* 1066 S> */ B(Nop),
/* 1073 S> */ B(Nop),
/* 1081 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1117 S> */ B(Return),
/* 1102 S> */ B(Wide), B(LdaSmi), I16(-200),
......@@ -405,7 +405,6 @@ bytecodes: [
]
constant pool: [
HEAP_NUMBER_TYPE [0.01],
Smi [391],
]
handlers: [
]
......@@ -485,7 +484,7 @@ snippet: "
"
frame size: 2
parameter count: 1
bytecode array length: 407
bytecode array length: 153
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaZero),
......@@ -493,135 +492,135 @@ bytecodes: [
/* 36 S> */ B(LdaZero),
B(Star), R(1),
/* 41 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalseConstant), U8(0),
B(JumpIfToBooleanFalse), U8(137),
/* 52 S> */ B(Mov), R(0), R(1),
/* 59 S> */ B(Mov), R(1), R(0),
/* 68 S> */ B(Mov), R(0), R(1),
/* 75 S> */ B(Mov), R(1), R(0),
/* 84 S> */ B(Mov), R(0), R(1),
/* 91 S> */ B(Mov), R(1), R(0),
/* 100 S> */ B(Mov), R(0), R(1),
/* 107 S> */ B(Mov), R(1), R(0),
/* 116 S> */ B(Mov), R(0), R(1),
/* 123 S> */ B(Mov), R(1), R(0),
/* 132 S> */ B(Mov), R(0), R(1),
/* 139 S> */ B(Mov), R(1), R(0),
/* 148 S> */ B(Mov), R(0), R(1),
/* 155 S> */ B(Mov), R(1), R(0),
/* 164 S> */ B(Mov), R(0), R(1),
/* 171 S> */ B(Mov), R(1), R(0),
/* 180 S> */ B(Mov), R(0), R(1),
/* 187 S> */ B(Mov), R(1), R(0),
/* 196 S> */ B(Mov), R(0), R(1),
/* 203 S> */ B(Mov), R(1), R(0),
/* 212 S> */ B(Mov), R(0), R(1),
/* 219 S> */ B(Mov), R(1), R(0),
/* 228 S> */ B(Mov), R(0), R(1),
/* 235 S> */ B(Mov), R(1), R(0),
/* 244 S> */ B(Mov), R(0), R(1),
/* 251 S> */ B(Mov), R(1), R(0),
/* 260 S> */ B(Mov), R(0), R(1),
/* 267 S> */ B(Mov), R(1), R(0),
/* 276 S> */ B(Mov), R(0), R(1),
/* 283 S> */ B(Mov), R(1), R(0),
/* 292 S> */ B(Mov), R(0), R(1),
/* 299 S> */ B(Mov), R(1), R(0),
/* 308 S> */ B(Mov), R(0), R(1),
/* 315 S> */ B(Mov), R(1), R(0),
/* 324 S> */ B(Mov), R(0), R(1),
/* 331 S> */ B(Mov), R(1), R(0),
/* 340 S> */ B(Mov), R(0), R(1),
/* 347 S> */ B(Mov), R(1), R(0),
/* 356 S> */ B(Mov), R(0), R(1),
/* 363 S> */ B(Mov), R(1), R(0),
/* 372 S> */ B(Mov), R(0), R(1),
/* 379 S> */ B(Mov), R(1), R(0),
/* 388 S> */ B(Mov), R(0), R(1),
/* 395 S> */ B(Mov), R(1), R(0),
/* 404 S> */ B(Mov), R(0), R(1),
/* 411 S> */ B(Mov), R(1), R(0),
/* 420 S> */ B(Mov), R(0), R(1),
/* 427 S> */ B(Mov), R(1), R(0),
/* 436 S> */ B(Mov), R(0), R(1),
/* 443 S> */ B(Mov), R(1), R(0),
/* 452 S> */ B(Mov), R(0), R(1),
/* 459 S> */ B(Mov), R(1), R(0),
/* 468 S> */ B(Mov), R(0), R(1),
/* 475 S> */ B(Mov), R(1), R(0),
/* 484 S> */ B(Mov), R(0), R(1),
/* 491 S> */ B(Mov), R(1), R(0),
/* 500 S> */ B(Mov), R(0), R(1),
/* 507 S> */ B(Mov), R(1), R(0),
/* 516 S> */ B(Mov), R(0), R(1),
/* 523 S> */ B(Mov), R(1), R(0),
/* 532 S> */ B(Mov), R(0), R(1),
/* 539 S> */ B(Mov), R(1), R(0),
/* 548 S> */ B(Mov), R(0), R(1),
/* 555 S> */ B(Mov), R(1), R(0),
/* 564 S> */ B(Mov), R(0), R(1),
/* 571 S> */ B(Mov), R(1), R(0),
/* 580 S> */ B(Mov), R(0), R(1),
/* 587 S> */ B(Mov), R(1), R(0),
/* 596 S> */ B(Mov), R(0), R(1),
/* 603 S> */ B(Mov), R(1), R(0),
/* 612 S> */ B(Mov), R(0), R(1),
/* 619 S> */ B(Mov), R(1), R(0),
/* 628 S> */ B(Mov), R(0), R(1),
/* 635 S> */ B(Mov), R(1), R(0),
/* 644 S> */ B(Mov), R(0), R(1),
/* 651 S> */ B(Mov), R(1), R(0),
/* 660 S> */ B(Mov), R(0), R(1),
/* 667 S> */ B(Mov), R(1), R(0),
/* 676 S> */ B(Mov), R(0), R(1),
/* 683 S> */ B(Mov), R(1), R(0),
/* 692 S> */ B(Mov), R(0), R(1),
/* 699 S> */ B(Mov), R(1), R(0),
/* 708 S> */ B(Mov), R(0), R(1),
/* 715 S> */ B(Mov), R(1), R(0),
/* 724 S> */ B(Mov), R(0), R(1),
/* 731 S> */ B(Mov), R(1), R(0),
/* 740 S> */ B(Mov), R(0), R(1),
/* 747 S> */ B(Mov), R(1), R(0),
/* 756 S> */ B(Mov), R(0), R(1),
/* 763 S> */ B(Mov), R(1), R(0),
/* 772 S> */ B(Mov), R(0), R(1),
/* 779 S> */ B(Mov), R(1), R(0),
/* 788 S> */ B(Mov), R(0), R(1),
/* 795 S> */ B(Mov), R(1), R(0),
/* 804 S> */ B(Mov), R(0), R(1),
/* 811 S> */ B(Mov), R(1), R(0),
/* 820 S> */ B(Mov), R(0), R(1),
/* 827 S> */ B(Mov), R(1), R(0),
/* 836 S> */ B(Mov), R(0), R(1),
/* 843 S> */ B(Mov), R(1), R(0),
/* 852 S> */ B(Mov), R(0), R(1),
/* 859 S> */ B(Mov), R(1), R(0),
/* 868 S> */ B(Mov), R(0), R(1),
/* 875 S> */ B(Mov), R(1), R(0),
/* 884 S> */ B(Mov), R(0), R(1),
/* 891 S> */ B(Mov), R(1), R(0),
/* 900 S> */ B(Mov), R(0), R(1),
/* 907 S> */ B(Mov), R(1), R(0),
/* 916 S> */ B(Mov), R(0), R(1),
/* 923 S> */ B(Mov), R(1), R(0),
/* 932 S> */ B(Mov), R(0), R(1),
/* 939 S> */ B(Mov), R(1), R(0),
/* 948 S> */ B(Mov), R(0), R(1),
/* 955 S> */ B(Mov), R(1), R(0),
/* 964 S> */ B(Mov), R(0), R(1),
/* 971 S> */ B(Mov), R(1), R(0),
/* 980 S> */ B(Mov), R(0), R(1),
/* 987 S> */ B(Mov), R(1), R(0),
/* 996 S> */ B(Mov), R(0), R(1),
/* 1003 S> */ B(Mov), R(1), R(0),
/* 1012 S> */ B(Mov), R(0), R(1),
/* 1019 S> */ B(Mov), R(1), R(0),
/* 1028 S> */ B(Mov), R(0), R(1),
/* 1035 S> */ B(Mov), R(1), R(0),
/* 1044 S> */ B(Mov), R(0), R(1),
/* 1051 S> */ B(Mov), R(1), R(0),
/* 1060 S> */ B(Mov), R(0), R(1),
/* 1067 S> */ B(Mov), R(1), R(0),
/* 59 S> */ B(Nop),
/* 68 S> */ B(Nop),
/* 75 S> */ B(Nop),
/* 84 S> */ B(Nop),
/* 91 S> */ B(Nop),
/* 100 S> */ B(Nop),
/* 107 S> */ B(Nop),
/* 116 S> */ B(Nop),
/* 123 S> */ B(Nop),
/* 132 S> */ B(Nop),
/* 139 S> */ B(Nop),
/* 148 S> */ B(Nop),
/* 155 S> */ B(Nop),
/* 164 S> */ B(Nop),
/* 171 S> */ B(Nop),
/* 180 S> */ B(Nop),
/* 187 S> */ B(Nop),
/* 196 S> */ B(Nop),
/* 203 S> */ B(Nop),
/* 212 S> */ B(Nop),
/* 219 S> */ B(Nop),
/* 228 S> */ B(Nop),
/* 235 S> */ B(Nop),
/* 244 S> */ B(Nop),
/* 251 S> */ B(Nop),
/* 260 S> */ B(Nop),
/* 267 S> */ B(Nop),
/* 276 S> */ B(Nop),
/* 283 S> */ B(Nop),
/* 292 S> */ B(Nop),
/* 299 S> */ B(Nop),
/* 308 S> */ B(Nop),
/* 315 S> */ B(Nop),
/* 324 S> */ B(Nop),
/* 331 S> */ B(Nop),
/* 340 S> */ B(Nop),
/* 347 S> */ B(Nop),
/* 356 S> */ B(Nop),
/* 363 S> */ B(Nop),
/* 372 S> */ B(Nop),
/* 379 S> */ B(Nop),
/* 388 S> */ B(Nop),
/* 395 S> */ B(Nop),
/* 404 S> */ B(Nop),
/* 411 S> */ B(Nop),
/* 420 S> */ B(Nop),
/* 427 S> */ B(Nop),
/* 436 S> */ B(Nop),
/* 443 S> */ B(Nop),
/* 452 S> */ B(Nop),
/* 459 S> */ B(Nop),
/* 468 S> */ B(Nop),
/* 475 S> */ B(Nop),
/* 484 S> */ B(Nop),
/* 491 S> */ B(Nop),
/* 500 S> */ B(Nop),
/* 507 S> */ B(Nop),
/* 516 S> */ B(Nop),
/* 523 S> */ B(Nop),
/* 532 S> */ B(Nop),
/* 539 S> */ B(Nop),
/* 548 S> */ B(Nop),
/* 555 S> */ B(Nop),
/* 564 S> */ B(Nop),
/* 571 S> */ B(Nop),
/* 580 S> */ B(Nop),
/* 587 S> */ B(Nop),
/* 596 S> */ B(Nop),
/* 603 S> */ B(Nop),
/* 612 S> */ B(Nop),
/* 619 S> */ B(Nop),
/* 628 S> */ B(Nop),
/* 635 S> */ B(Nop),
/* 644 S> */ B(Nop),
/* 651 S> */ B(Nop),
/* 660 S> */ B(Nop),
/* 667 S> */ B(Nop),
/* 676 S> */ B(Nop),
/* 683 S> */ B(Nop),
/* 692 S> */ B(Nop),
/* 699 S> */ B(Nop),
/* 708 S> */ B(Nop),
/* 715 S> */ B(Nop),
/* 724 S> */ B(Nop),
/* 731 S> */ B(Nop),
/* 740 S> */ B(Nop),
/* 747 S> */ B(Nop),
/* 756 S> */ B(Nop),
/* 763 S> */ B(Nop),
/* 772 S> */ B(Nop),
/* 779 S> */ B(Nop),
/* 788 S> */ B(Nop),
/* 795 S> */ B(Nop),
/* 804 S> */ B(Nop),
/* 811 S> */ B(Nop),
/* 820 S> */ B(Nop),
/* 827 S> */ B(Nop),
/* 836 S> */ B(Nop),
/* 843 S> */ B(Nop),
/* 852 S> */ B(Nop),
/* 859 S> */ B(Nop),
/* 868 S> */ B(Nop),
/* 875 S> */ B(Nop),
/* 884 S> */ B(Nop),
/* 891 S> */ B(Nop),
/* 900 S> */ B(Nop),
/* 907 S> */ B(Nop),
/* 916 S> */ B(Nop),
/* 923 S> */ B(Nop),
/* 932 S> */ B(Nop),
/* 939 S> */ B(Nop),
/* 948 S> */ B(Nop),
/* 955 S> */ B(Nop),
/* 964 S> */ B(Nop),
/* 971 S> */ B(Nop),
/* 980 S> */ B(Nop),
/* 987 S> */ B(Nop),
/* 996 S> */ B(Nop),
/* 1003 S> */ B(Nop),
/* 1012 S> */ B(Nop),
/* 1019 S> */ B(Nop),
/* 1028 S> */ B(Nop),
/* 1035 S> */ B(Nop),
/* 1044 S> */ B(Nop),
/* 1051 S> */ B(Nop),
/* 1060 S> */ B(Nop),
/* 1067 S> */ B(Nop),
/* 1076 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1112 S> */ B(Return),
/* 1097 S> */ B(Wide), B(LdaSmi), I16(-200),
......@@ -630,7 +629,6 @@ bytecodes: [
/* 1112 S> */ B(Return),
]
constant pool: [
Smi [391],
]
handlers: [
]
......
......@@ -53,7 +53,7 @@ snippet: "
"
frame size: 3
parameter count: 1
bytecode array length: 29
bytecode array length: 26
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
......@@ -65,7 +65,6 @@ bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(2),
/* 45 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Mov), R(1), R(0),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 52 S> */ B(Return),
......
......@@ -281,9 +281,9 @@ handlers: [
snippet: "
var a = 'test'; return { [a]: 1 };
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 24
bytecode array length: 22
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -291,7 +291,6 @@ bytecodes: [
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(67), R(1),
/* 60 E> */ B(ToName), R(2),
B(LdaSmi), I8(1),
B(Star), R(3),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(3),
B(Ldar), R(1),
/* 69 S> */ B(Return),
......@@ -307,9 +306,9 @@ handlers: [
snippet: "
var a = 'test'; return { val: a, [a]: 1 };
"
frame size: 4
frame size: 3
parameter count: 1
bytecode array length: 28
bytecode array length: 26
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -318,7 +317,6 @@ bytecodes: [
/* 64 E> */ B(StaNamedOwnProperty), R(1), U8(2), U8(3),
/* 68 E> */ B(ToName), R(2),
B(LdaSmi), I8(1),
B(Star), R(3),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5),
B(Ldar), R(1),
/* 77 S> */ B(Return),
......@@ -345,9 +343,9 @@ bytecodes: [
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(67), R(1),
/* 60 E> */ B(ToName), R(2),
B(LdaSmi), I8(1),
B(Star), R(3),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(4),
B(CreateObjectLiteral), U8(1), U8(2), U8(67), R(4),
B(Star), R(3),
B(Mov), R(1), R(2),
B(Mov), R(4), R(3),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),
......@@ -375,8 +373,8 @@ bytecodes: [
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(4), U8(67), R(1),
/* 60 E> */ B(ToName), R(2),
B(LdaConstant), U8(2),
B(Star), R(3),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5),
B(Star), R(3),
B(LdaConstant), U8(3),
B(Star), R(3),
B(CreateClosure), U8(4), U8(2), U8(2),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment