[Interpreter] Refactor bytecode generator test suite.

Bytecode expectations have been moved to external (.golden) files,
one per test. Each test in the suite builds a representation of the
the compiled bytecode using BytecodeExpectationsPrinter. The output is
then compared to the golden file. If the comparision fails, a textual
diff can be used to identify the discrepancies.

Only the test snippets are left in the cc file, which also allows to
make it more compact and meaningful. Leaving the snippets in the cc
file was a deliberate choice to allow keeping the "truth" about the
tests in the cc file, which will rarely change, as opposed to golden
files.

Golden files can be generated and kept up to date using
generate-bytecode-expectations, which also means that the test suite
can be batch updated whenever the bytecode or golden format changes.

The golden format has been slightly amended (no more comments about
`void*`, add size of the bytecode array) following the consideration
made while converting the tests.

There is also a fix: BytecodeExpectationsPrinter::top_level_ was left
uninitialized, leading to undefined behaviour.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1717293002

Cr-Commit-Position: refs/heads/master@{#34285}
This commit is contained in:
ssanfilippo 2016-02-25 04:07:07 -08:00 committed by Commit bot
parent 6695290c5e
commit 6ae030590d
76 changed files with 30906 additions and 8553 deletions

View File

@ -6,6 +6,7 @@
'files': [
'./cctest.status',
'./testcfg.py',
'./interpreter/bytecode_expectations/',
],
},
'includes': [

View File

@ -224,14 +224,14 @@ void BytecodeExpectationsPrinter::PrintFrameSize(
int frame_size = bytecode_array->frame_size();
DCHECK_EQ(frame_size % kPointerSize, 0);
stream << "frame size: " << frame_size / kPointerSize;
if (frame_size > 0) stream << " # in multiples of sizeof(void*)";
stream << "\nparameter count: " << bytecode_array->parameter_count() << '\n';
stream << "frame size: " << frame_size / kPointerSize
<< "\nparameter count: " << bytecode_array->parameter_count() << '\n';
}
void BytecodeExpectationsPrinter::PrintBytecodeSequence(
std::ostream& stream, i::Handle<i::BytecodeArray> bytecode_array) const {
stream << "bytecodes: [\n";
stream << "bytecode array length: " << bytecode_array->length()
<< "\nbytecodes: [\n";
BytecodeArrayIterator bytecode_iter(bytecode_array);
for (; !bytecode_iter.done(); bytecode_iter.Advance()) {
stream << " ";

View File

@ -36,6 +36,7 @@ class BytecodeExpectationsPrinter final {
const_pool_type_(t),
execute_(true),
wrap_(true),
top_level_(false),
test_function_name_(kDefaultTopFunctionName) {}
void PrintExpectation(std::ostream& stream, // NOLINT

View File

@ -0,0 +1,125 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
return [ 1, 2 ];
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return [ a, a + 1 ];
"
frame size: 4
parameter count: 1
bytecode array length: 39
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(2),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(0),
B(KeyedStoreICSloppy), R(2), R(1), U8(1),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(Add), R(3),
B(KeyedStoreICSloppy), R(2), R(1), U8(1),
B(Ldar), R(2),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
return [ [ 1, 2 ], [ 3 ] ];
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(CreateArrayLiteral), U8(0), U8(2), U8(2),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return [ [ a, 2 ], [ a + 2 ] ];
"
frame size: 6
parameter count: 1
bytecode array length: 69
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateArrayLiteral), U8(0), U8(2), U8(2),
B(Star), R(2),
B(LdaZero),
B(Star), R(1),
B(CreateArrayLiteral), U8(1), U8(0), U8(3),
B(Star), R(4),
B(LdaZero),
B(Star), R(3),
B(Ldar), R(0),
B(KeyedStoreICSloppy), R(4), R(3), U8(1),
B(Ldar), R(4),
B(KeyedStoreICSloppy), R(2), R(1), U8(5),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(CreateArrayLiteral), U8(2), U8(1), U8(3),
B(Star), R(4),
B(LdaZero),
B(Star), R(3),
B(Ldar), R(0),
B(Star), R(5),
B(LdaSmi8), U8(2),
B(Add), R(5),
B(KeyedStoreICSloppy), R(4), R(3), U8(3),
B(Ldar), R(4),
B(KeyedStoreICSloppy), R(2), R(1), U8(5),
B(Ldar), R(2),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,279 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
var x = 0, y = 1;
return (x = 2, y = 3, x = 4, y = 5);
"
frame size: 2
parameter count: 1
bytecode array length: 25
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(LdaSmi8), U8(4),
B(Star), R(0),
B(LdaSmi8), U8(5),
B(Star), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 55;
var y = (x = 100);
return y;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(55),
B(Star), R(0),
B(LdaSmi8), U8(100),
B(Star), R(0),
B(Star), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 55;
x = x + (x = 100) + (x = 101);
return x;
"
frame size: 3
parameter count: 1
bytecode array length: 24
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(55),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(100),
B(Star), R(0),
B(Add), R(1),
B(Star), R(2),
B(LdaSmi8), U8(101),
B(Star), R(0),
B(Add), R(2),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 55;
x = (x = 56) - x + (x = 57);
x++;
return x;
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(55),
B(Star), R(0),
B(LdaSmi8), U8(56),
B(Star), R(0),
B(Star), R(1),
B(Ldar), R(0),
B(Sub), R(1),
B(Star), R(2),
B(LdaSmi8), U8(57),
B(Star), R(0),
B(Add), R(2),
B(Star), R(0),
B(ToNumber),
B(Star), R(1),
B(Inc),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 55;
var y = x + (x = 1) + (x = 2) + (x = 3);
return y;
"
frame size: 4
parameter count: 1
bytecode array length: 32
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(55),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Add), R(2),
B(Star), R(3),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(Add), R(3),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(Add), R(2),
B(Star), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 55;
var x = x + (x = 1) + (x = 2) + (x = 3);
return x;
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(55),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Add), R(1),
B(Star), R(2),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(Add), R(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(Add), R(1),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10, y = 20;
return x + (x = 1) + (x + 1) * (y = 2) + (y = 3) + (x = 4) + (y = 5) + y;
"
frame size: 5
parameter count: 1
bytecode array length: 70
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Add), R(2),
B(Star), R(3),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(4),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(Mul), R(4),
B(Add), R(3),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Add), R(2),
B(Star), R(3),
B(LdaSmi8), U8(4),
B(Star), R(0),
B(Add), R(3),
B(Star), R(2),
B(LdaSmi8), U8(5),
B(Star), R(1),
B(Add), R(2),
B(Star), R(3),
B(Ldar), R(1),
B(Add), R(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 17;
return 1 + x + (x++) + (++x);
"
frame size: 4
parameter count: 1
bytecode array length: 38
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(17),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Ldar), R(0),
B(Add), R(1),
B(Star), R(2),
B(Ldar), R(0),
B(ToNumber),
B(Star), R(1),
B(Inc),
B(Star), R(0),
B(Ldar), R(1),
B(Add), R(2),
B(Star), R(3),
B(Ldar), R(0),
B(ToNumber),
B(Inc),
B(Star), R(0),
B(Add), R(3),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,92 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var a = 1; if (a || a < 0) { return 1; }
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanTrue), U8(9),
B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
B(TestLessThan), R(1),
B(JumpIfToBooleanFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; if (a && a < 0) { return 1; }
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(9),
B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
B(TestLessThan), R(1),
B(JumpIfToBooleanFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; a = (a || a < 0) ? 2 : 3;
"
frame size: 2
parameter count: 1
bytecode array length: 26
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanTrue), U8(9),
B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
B(TestLessThan), R(1),
B(JumpIfToBooleanFalse), U8(6),
B(LdaSmi8), U8(2),
B(Jump), U8(4),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,859 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var x = 0;
while (false) { x = 99; break; continue; }
return x;
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
while (false) {
x = x + 1;
};
return x;
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
var y = 1;
while (x < 10) {
y = y * 12;
x = x + 1;
if (x == 3) continue;
if (x == 4) break;
}
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 66
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(10),
B(TestLessThan), R(2),
B(JumpIfFalse), U8(47),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(12),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(-39),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(4),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(4),
B(Jump), U8(-53),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var i = 0;
while (true) {
if (i < 0) continue;
if (i == 3) break;
if (i == 4) break;
if (i == 10) continue;
if (i == 5) break;
i = i + 1;
}
return i;
"
frame size: 2
parameter count: 1
bytecode array length: 79
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
B(TestLessThan), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(-10),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(50),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(4),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(38),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(10),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(-46),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(5),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(14),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-70),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var i = 0;
while (true) {
while (i < 3) {
if (i == 2) break;
i = i + 1;
}
i = i + 1;
break;
}
return i;
"
frame size: 2
parameter count: 1
bytecode array length: 57
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(TestLessThan), R(1),
B(JumpIfFalse), U8(27),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(14),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-33),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(4),
B(Jump), U8(-48),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10;
var y = 1;
while (x) {
y = y * 12;
x = x - 1;
}
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 39
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(25),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(12),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Sub), R(2),
B(Star), R(0),
B(Jump), U8(-25),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; var y = 1;
do {
y = y * 10;
if (x == 5) break;
if (x == 6) continue;
x = x + 1;
} while (x < 10);
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 66
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(10),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(5),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(34),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(6),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(12),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(10),
B(TestLessThan), R(2),
B(JumpIfTrue), U8(-53),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10;
var y = 1;
do {
y = y * 12;
x = x - 1;
} while (x);
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 37
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(12),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Sub), R(2),
B(Star), R(0),
B(Ldar), R(0),
B(JumpIfToBooleanTrue), U8(-23),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; var y = 1;
do {
y = y * 10;
if (x == 5) break;
x = x + 1;
if (x == 6) continue;
} while (false);
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 54
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(10),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(5),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(22),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(6),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(2),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; var y = 1;
do {
y = y * 10;
if (x == 5) break;
x = x + 1;
if (x == 6) continue;
} while (true);
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 56
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(10),
B(Mul), R(2),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(5),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(24),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(6),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(-41),
B(Jump), U8(-43),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
for (;;) {
if (x == 1) break;
if (x == 2) continue;
x = x + 1;
}
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(26),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(-23),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-35),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
for (var x = 0;;) {
if (x == 1) break;
if (x == 2) continue;
x = x + 1;
}
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(26),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(-23),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-35),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
for (;; x = x + 1) {
if (x == 1) break;
if (x == 2) continue;
}
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(26),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(2),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-35),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
for (var x = 0;; x = x + 1) {
if (x == 1) break;
if (x == 2) continue;
}
"
frame size: 2
parameter count: 1
bytecode array length: 43
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(26),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(2),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-35),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var u = 0;
for (var i = 0; i < 100; i = i + 1) {
u = u + 1;
continue;
}
"
frame size: 3
parameter count: 1
bytecode array length: 44
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(100),
B(TestLessThan), R(2),
B(JumpIfFalse), U8(27),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Jump), U8(2),
B(Ldar), R(1),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(1),
B(Jump), U8(-33),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var y = 1;
for (var x = 10; x; --x) {
y = y * 12;
}
return y;
"
frame size: 3
parameter count: 1
bytecode array length: 35
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(10),
B(Star), R(1),
B(Ldar), R(1),
B(JumpIfToBooleanFalse), U8(21),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(12),
B(Mul), R(2),
B(Star), R(0),
B(Ldar), R(1),
B(ToNumber),
B(Dec),
B(Star), R(1),
B(Jump), U8(-21),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
for (var i = 0; false; i++) {
x = x + 1;
};
return x;
"
frame size: 2
parameter count: 1
bytecode array length: 10
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0;
for (var i = 0; true; ++i) {
x = x + 1;
if (x == 20) break;
};
return x;
"
frame size: 3
parameter count: 1
bytecode array length: 39
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(20),
B(TestEqual), R(2),
B(JumpIfFalse), U8(4),
B(Jump), U8(10),
B(Ldar), R(1),
B(ToNumber),
B(Inc),
B(Star), R(1),
B(Jump), U8(-27),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 0;
while (a) {
{
let z = 1;
function f() { z = 2; }
if (z) continue;
z++;
}
}
"
frame size: 7
parameter count: 1
bytecode array length: 118
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(1),
B(JumpIfToBooleanFalse), U8(110),
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
B(PushContext), R(3),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(1), U8(0),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(Star), R(2),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(3),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(JumpIfToBooleanFalse), U8(6),
B(PopContext), R(3),
B(Jump), U8(-67),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(3),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(ToNumber),
B(Star), R(4),
B(Inc),
B(Star), R(5),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(3),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
B(Ldar), R(5),
B(StaContextSlot), R(context), U8(4),
B(PopContext), R(3),
B(Jump), U8(-110),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,232 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var x = 0;
label: {
x = x + 1;
break label;
x = x + 1;
}
return x;
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(2),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var sum = 0;
outer: {
for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 3; ++y) {
++sum;
if (x + y == 12) { break outer; }
}
}
}
return sum;
"
frame size: 5
parameter count: 1
bytecode array length: 75
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(1),
B(Star), R(3),
B(LdaSmi8), U8(10),
B(TestLessThan), R(3),
B(JumpIfFalse), U8(57),
B(StackCheck),
B(LdaZero),
B(Star), R(2),
B(Ldar), R(2),
B(Star), R(3),
B(LdaSmi8), U8(3),
B(TestLessThan), R(3),
B(JumpIfFalse), U8(35),
B(StackCheck),
B(Ldar), R(0),
B(ToNumber),
B(Inc),
B(Star), R(0),
B(Ldar), R(1),
B(Star), R(3),
B(Ldar), R(2),
B(Add), R(3),
B(Star), R(4),
B(LdaSmi8), U8(12),
B(TestEqual), R(4),
B(JumpIfFalse), U8(4),
B(Jump), U8(18),
B(Ldar), R(2),
B(ToNumber),
B(Inc),
B(Star), R(2),
B(Jump), U8(-41),
B(Ldar), R(1),
B(ToNumber),
B(Inc),
B(Star), R(1),
B(Jump), U8(-63),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
outer: {
let y = 10;
function f() { return y; }
break outer;
}
"
frame size: 5
parameter count: 1
bytecode array length: 51
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(3), U8(2),
B(PushContext), R(2),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(1), U8(0),
B(Star), R(0),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(Star), R(1),
B(Jump), U8(2),
B(PopContext), R(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
let x = 1;
outer: {
inner: {
let y = 2;
function f() { return x + y; }
if (y) break outer;
y = 3;
}
}
x = 4;
"
frame size: 6
parameter count: 1
bytecode array length: 131
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(2),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(LdaConstant), U8(0),
B(Star), R(4),
B(Ldar), R(closure),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(4), U8(2),
B(PushContext), R(3),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(1), U8(0),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(StaContextSlot), R(context), U8(4),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(Star), R(1),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(3),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(JumpIfToBooleanFalse), U8(6),
B(PopContext), R(3),
B(Jump), U8(27),
B(LdaSmi8), U8(3),
B(Star), R(4),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(3),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1),
B(Ldar), R(4),
B(StaContextSlot), R(context), U8(4),
B(PopContext), R(3),
B(LdaSmi8), U8(4),
B(Star), R(4),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(4),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1),
B(Ldar), R(4),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,64 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
function t() { }
function f() { return t(); }
f();
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Star), R(1),
B(LdaGlobal), U8(0), U8(3),
B(Star), R(0),
B(Call), R(0), R(1), U8(1), U8(1),
B(Return),
]
constant pool: [
"t",
]
handlers: [
]
---
snippet: "
function t(a, b, c) { }
function f() { return t(1, 2, 3); }
f();
"
frame size: 5
parameter count: 1
bytecode array length: 27
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Star), R(1),
B(LdaGlobal), U8(0), U8(3),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(2),
B(LdaSmi8), U8(2),
B(Star), R(3),
B(LdaSmi8), U8(3),
B(Star), R(4),
B(Call), R(0), R(1), U8(4), U8(1),
B(Return),
]
constant pool: [
"t",
]
handlers: [
]

View File

@ -0,0 +1,58 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
g = function(){}; eval(''); return g();
"
frame size: 9
parameter count: 1
bytecode array length: 85
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(StaLookupSlotSloppy), U8(1),
B(LdaConstant), U8(2),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(3),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi8), U8(30),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
B(Star), R(1),
B(Call), R(1), R(2), U8(2), U8(0),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(Call), R(1), R(2), U8(1), U8(3),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,91 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
function bar() { this.value = 0; }
function f() { return new bar(); }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(2),
B(Star), R(0),
B(New), R(0), R(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
function bar(x) { this.value = 18; this.x = x;}
function f() { return new bar(3); }
f();
"
frame size: 2
parameter count: 1
bytecode array length: 17
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(2),
B(Star), R(0),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Ldar), R(0),
B(New), R(0), R(1), U8(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
function bar(w, x, y, z) {
this.value = 18;
this.x = x;
this.y = y;
this.z = z;
}
function f() { return new bar(3, 4, 5); }
f();
"
frame size: 4
parameter count: 1
bytecode array length: 25
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(2),
B(Star), R(0),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(LdaSmi8), U8(4),
B(Star), R(2),
B(LdaSmi8), U8(5),
B(Star), R(3),
B(Ldar), R(0),
B(New), R(0), R(1), U8(3),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,94 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
function f() { %TheHole() }
f();
"
frame size: 0
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a) { return %IsArray(a) }
f(undefined);
"
frame size: 1
parameter count: 2
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kIsArray), R(0), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() { return %Add(1, 2) }
f();
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kAdd), R(0), U8(2),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() { return %spread_iterable([1]) }
f();
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Star), R(0),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(1),
B(CallJSRuntime), U16(127), R(0), U8(2),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,245 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
class Person {
constructor(name) { this.name = name; }
speak() { console.log(this.name + ' is speaking.'); }
}
"
frame size: 9
parameter count: 1
bytecode array length: 71
bytecodes: [
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(LdaTheHole),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(2),
B(CreateClosure), U8(0), U8(0),
B(Star), R(3),
B(LdaSmi8), U8(34),
B(Star), R(4),
B(LdaConstant), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4),
B(Star), R(2),
B(LoadIC), R(2), U8(2), U8(1),
B(Star), R(3),
B(Mov), R(3), R(4),
B(LdaConstant), U8(3),
B(Star), R(5),
B(CreateClosure), U8(4), U8(0),
B(Star), R(6),
B(LdaSmi8), U8(2),
B(Star), R(7),
B(LdaZero),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5),
B(CallRuntime), U16(Runtime::kFinalizeClassDefinition), R(2), U8(2),
B(Star), R(0),
B(Star), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
kInstanceTypeDontCare,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
class person {
constructor(name) { this.name = name; }
speak() { console.log(this.name + ' is speaking.'); }
}
"
frame size: 9
parameter count: 1
bytecode array length: 71
bytecodes: [
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(LdaTheHole),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(2),
B(CreateClosure), U8(0), U8(0),
B(Star), R(3),
B(LdaSmi8), U8(34),
B(Star), R(4),
B(LdaConstant), U8(1),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4),
B(Star), R(2),
B(LoadIC), R(2), U8(2), U8(1),
B(Star), R(3),
B(Mov), R(3), R(4),
B(LdaConstant), U8(3),
B(Star), R(5),
B(CreateClosure), U8(4), U8(0),
B(Star), R(6),
B(LdaSmi8), U8(2),
B(Star), R(7),
B(LdaZero),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5),
B(CallRuntime), U16(Runtime::kFinalizeClassDefinition), R(2), U8(2),
B(Star), R(0),
B(Star), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
kInstanceTypeDontCare,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var n0 = 'a';
var n1 = 'b';
class N {
[n0]() { return n0; }
static [n1]() { return n1; }
}
"
frame size: 10
parameter count: 1
bytecode array length: 125
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(2),
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(LdaConstant), U8(0),
B(StaContextSlot), R(context), U8(4),
B(LdaConstant), U8(1),
B(StaContextSlot), R(context), U8(5),
B(LdaTheHole),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(3),
B(CreateClosure), U8(2), U8(0),
B(Star), R(4),
B(LdaSmi8), U8(62),
B(Star), R(5),
B(LdaConstant), U8(3),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
B(Star), R(3),
B(LoadIC), R(3), U8(4), U8(1),
B(Star), R(4),
B(Mov), R(4), R(5),
B(LdaContextSlot), R(context), U8(4),
B(ToName),
B(Star), R(6),
B(CreateClosure), U8(5), U8(0),
B(Star), R(7),
B(LdaSmi8), U8(2),
B(Star), R(8),
B(LdaSmi8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(5), U8(5),
B(Mov), R(3), R(5),
B(LdaContextSlot), R(context), U8(5),
B(ToName),
B(Star), R(6),
B(LdaConstant), U8(4),
B(TestEqualStrict), R(6),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
B(CreateClosure), U8(6), U8(0),
B(Star), R(7),
B(LdaSmi8), U8(1),
B(Star), R(9),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(5), U8(5),
B(CallRuntime), U16(Runtime::kFinalizeClassDefinition), R(3), U8(2),
B(Star), R(0),
B(Star), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
kInstanceTypeDontCare,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var count = 0;
class C { constructor() { count++; }}
return new C();
"
frame size: 10
parameter count: 1
bytecode array length: 74
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(2),
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(LdaZero),
B(StaContextSlot), R(context), U8(4),
B(LdaTheHole),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(3),
B(CreateClosure), U8(0), U8(0),
B(Star), R(4),
B(LdaSmi8), U8(49),
B(Star), R(5),
B(LdaSmi8), U8(86),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
B(Star), R(3),
B(LoadIC), R(3), U8(1), U8(1),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kFinalizeClassDefinition), R(3), U8(2),
B(Star), R(0),
B(Star), R(1),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
B(Star), R(3),
B(New), R(3), R(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,140 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var a = 1; a += 2;
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Add), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; a /= 2;
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Div), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = { val: 2 }; a.name *= 2;
"
frame size: 3
parameter count: 1
bytecode array length: 27
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(1),
B(Star), R(2),
B(LdaSmi8), U8(2),
B(Mul), R(2),
B(StoreICSloppy), R(1), U8(1), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = { 1: 2 }; a[1] ^= 2;
"
frame size: 4
parameter count: 1
bytecode array length: 30
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Star), R(2),
B(KeyedLoadIC), R(1), U8(1),
B(Star), R(3),
B(LdaSmi8), U8(2),
B(BitwiseXor), R(3),
B(KeyedStoreICSloppy), R(1), R(2), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; (function f() { return a; }); a |= 24;
"
frame size: 2
parameter count: 1
bytecode array length: 30
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(LdaContextSlot), R(context), U8(4),
B(Star), R(1),
B(LdaSmi8), U8(24),
B(BitwiseOr), R(1),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,55 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
return 1 ? 2 : 3;
"
frame size: 0
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(JumpIfToBooleanFalse), U8(6),
B(LdaSmi8), U8(2),
B(Jump), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return 1 ? 2 ? 3 : 4 : 5;
"
frame size: 0
parameter count: 1
bytecode array length: 20
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(JumpIfToBooleanFalse), U8(14),
B(LdaSmi8), U8(2),
B(JumpIfToBooleanFalse), U8(6),
B(LdaSmi8), U8(3),
B(Jump), U8(4),
B(LdaSmi8), U8(4),
B(Jump), U8(4),
B(LdaSmi8), U8(5),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,117 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
const x = 10;
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
const x = 10; return x;
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(1), U8(1),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
const x = ( x = 20);
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
const x = 10; x = 20;
"
frame size: 3
parameter count: 1
bytecode array length: 36
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]

View File

@ -0,0 +1,139 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
const x = 10; function f1() {return x;}
"
frame size: 2
parameter count: 1
bytecode array length: 24
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
const x = 10; function f1() {return x;} return x;
"
frame size: 3
parameter count: 1
bytecode array length: 37
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
const x = (x = 20); function f1() {return x;}
"
frame size: 4
parameter count: 1
bytecode array length: 50
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(20),
B(Star), R(2),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(2),
B(StaContextSlot), R(context), U8(4),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
const x = 10; x = 20; function f1() {return x;}
"
frame size: 4
parameter count: 1
bytecode array length: 52
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaSmi8), U8(20),
B(Star), R(2),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Ldar), R(2),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,106 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
function f(arg1) { return function() { arg1 = 2; }; }
f();
"
frame size: 1
parameter count: 2
bytecode array length: 17
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(arg0),
B(StaContextSlot), R(context), U8(4),
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
function f(arg1) { var a = function() { arg1 = 2; }; return arg1; }
f();
"
frame size: 2
parameter count: 2
bytecode array length: 22
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaContextSlot), R(context), U8(4),
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(LdaContextSlot), R(context), U8(4),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
function f(a1, a2, a3, a4) { return function() { a1 = a3; }; }
f();
"
frame size: 1
parameter count: 5
bytecode array length: 22
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(arg0),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(arg2),
B(StaContextSlot), R(context), U8(4),
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
function f() { var self = this; return function() { self = 2; }; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 17
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,921 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var a; return function() { a = 1; };
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return function() { a = 2; };
"
frame size: 1
parameter count: 1
bytecode array length: 17
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; var b = 2; return function() { a = 2; b = 3 };
"
frame size: 1
parameter count: 1
bytecode array length: 22
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(LdaSmi8), U8(2),
B(StaContextSlot), R(context), U8(5),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var a; (function() { a = 2; })(); return a;
"
frame size: 3
parameter count: 1
bytecode array length: 25
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(LdaUndefined),
B(Star), R(2),
B(CreateClosure), U8(0), U8(0),
B(Star), R(1),
B(Call), R(1), R(2), U8(1), U8(1),
B(LdaContextSlot), R(context), U8(4),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
'use strict';
let a = 1;
{ let b = 2; return function() { a + b; }; }
"
frame size: 4
parameter count: 1
bytecode array length: 47
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(LdaConstant), U8(0),
B(Star), R(2),
B(Ldar), R(closure),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kPushBlockContext), R(2), U8(2),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(LdaSmi8), U8(2),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(1), U8(0),
B(PopContext), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
'use strict';
var a0 = 0;
var a1 = 0;
var a2 = 0;
var a3 = 0;
var a4 = 0;
var a5 = 0;
var a6 = 0;
var a7 = 0;
var a8 = 0;
var a9 = 0;
var a10 = 0;
var a11 = 0;
var a12 = 0;
var a13 = 0;
var a14 = 0;
var a15 = 0;
var a16 = 0;
var a17 = 0;
var a18 = 0;
var a19 = 0;
var a20 = 0;
var a21 = 0;
var a22 = 0;
var a23 = 0;
var a24 = 0;
var a25 = 0;
var a26 = 0;
var a27 = 0;
var a28 = 0;
var a29 = 0;
var a30 = 0;
var a31 = 0;
var a32 = 0;
var a33 = 0;
var a34 = 0;
var a35 = 0;
var a36 = 0;
var a37 = 0;
var a38 = 0;
var a39 = 0;
var a40 = 0;
var a41 = 0;
var a42 = 0;
var a43 = 0;
var a44 = 0;
var a45 = 0;
var a46 = 0;
var a47 = 0;
var a48 = 0;
var a49 = 0;
var a50 = 0;
var a51 = 0;
var a52 = 0;
var a53 = 0;
var a54 = 0;
var a55 = 0;
var a56 = 0;
var a57 = 0;
var a58 = 0;
var a59 = 0;
var a60 = 0;
var a61 = 0;
var a62 = 0;
var a63 = 0;
var a64 = 0;
var a65 = 0;
var a66 = 0;
var a67 = 0;
var a68 = 0;
var a69 = 0;
var a70 = 0;
var a71 = 0;
var a72 = 0;
var a73 = 0;
var a74 = 0;
var a75 = 0;
var a76 = 0;
var a77 = 0;
var a78 = 0;
var a79 = 0;
var a80 = 0;
var a81 = 0;
var a82 = 0;
var a83 = 0;
var a84 = 0;
var a85 = 0;
var a86 = 0;
var a87 = 0;
var a88 = 0;
var a89 = 0;
var a90 = 0;
var a91 = 0;
var a92 = 0;
var a93 = 0;
var a94 = 0;
var a95 = 0;
var a96 = 0;
var a97 = 0;
var a98 = 0;
var a99 = 0;
var a100 = 0;
var a101 = 0;
var a102 = 0;
var a103 = 0;
var a104 = 0;
var a105 = 0;
var a106 = 0;
var a107 = 0;
var a108 = 0;
var a109 = 0;
var a110 = 0;
var a111 = 0;
var a112 = 0;
var a113 = 0;
var a114 = 0;
var a115 = 0;
var a116 = 0;
var a117 = 0;
var a118 = 0;
var a119 = 0;
var a120 = 0;
var a121 = 0;
var a122 = 0;
var a123 = 0;
var a124 = 0;
var a125 = 0;
var a126 = 0;
var a127 = 0;
var a128 = 0;
var a129 = 0;
var a130 = 0;
var a131 = 0;
var a132 = 0;
var a133 = 0;
var a134 = 0;
var a135 = 0;
var a136 = 0;
var a137 = 0;
var a138 = 0;
var a139 = 0;
var a140 = 0;
var a141 = 0;
var a142 = 0;
var a143 = 0;
var a144 = 0;
var a145 = 0;
var a146 = 0;
var a147 = 0;
var a148 = 0;
var a149 = 0;
var a150 = 0;
var a151 = 0;
var a152 = 0;
var a153 = 0;
var a154 = 0;
var a155 = 0;
var a156 = 0;
var a157 = 0;
var a158 = 0;
var a159 = 0;
var a160 = 0;
var a161 = 0;
var a162 = 0;
var a163 = 0;
var a164 = 0;
var a165 = 0;
var a166 = 0;
var a167 = 0;
var a168 = 0;
var a169 = 0;
var a170 = 0;
var a171 = 0;
var a172 = 0;
var a173 = 0;
var a174 = 0;
var a175 = 0;
var a176 = 0;
var a177 = 0;
var a178 = 0;
var a179 = 0;
var a180 = 0;
var a181 = 0;
var a182 = 0;
var a183 = 0;
var a184 = 0;
var a185 = 0;
var a186 = 0;
var a187 = 0;
var a188 = 0;
var a189 = 0;
var a190 = 0;
var a191 = 0;
var a192 = 0;
var a193 = 0;
var a194 = 0;
var a195 = 0;
var a196 = 0;
var a197 = 0;
var a198 = 0;
var a199 = 0;
var a200 = 0;
var a201 = 0;
var a202 = 0;
var a203 = 0;
var a204 = 0;
var a205 = 0;
var a206 = 0;
var a207 = 0;
var a208 = 0;
var a209 = 0;
var a210 = 0;
var a211 = 0;
var a212 = 0;
var a213 = 0;
var a214 = 0;
var a215 = 0;
var a216 = 0;
var a217 = 0;
var a218 = 0;
var a219 = 0;
var a220 = 0;
var a221 = 0;
var a222 = 0;
var a223 = 0;
var a224 = 0;
var a225 = 0;
var a226 = 0;
var a227 = 0;
var a228 = 0;
var a229 = 0;
var a230 = 0;
var a231 = 0;
var a232 = 0;
var a233 = 0;
var a234 = 0;
var a235 = 0;
var a236 = 0;
var a237 = 0;
var a238 = 0;
var a239 = 0;
var a240 = 0;
var a241 = 0;
var a242 = 0;
var a243 = 0;
var a244 = 0;
var a245 = 0;
var a246 = 0;
var a247 = 0;
var a248 = 0;
eval();
var b = 100;
return b
"
frame size: 3
parameter count: 1
bytecode array length: 1042
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateUnmappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(LdaZero),
B(StaContextSlot), R(context), U8(7),
B(LdaZero),
B(StaContextSlot), R(context), U8(8),
B(LdaZero),
B(StaContextSlot), R(context), U8(9),
B(LdaZero),
B(StaContextSlot), R(context), U8(10),
B(LdaZero),
B(StaContextSlot), R(context), U8(11),
B(LdaZero),
B(StaContextSlot), R(context), U8(12),
B(LdaZero),
B(StaContextSlot), R(context), U8(13),
B(LdaZero),
B(StaContextSlot), R(context), U8(14),
B(LdaZero),
B(StaContextSlot), R(context), U8(15),
B(LdaZero),
B(StaContextSlot), R(context), U8(16),
B(LdaZero),
B(StaContextSlot), R(context), U8(17),
B(LdaZero),
B(StaContextSlot), R(context), U8(18),
B(LdaZero),
B(StaContextSlot), R(context), U8(19),
B(LdaZero),
B(StaContextSlot), R(context), U8(20),
B(LdaZero),
B(StaContextSlot), R(context), U8(21),
B(LdaZero),
B(StaContextSlot), R(context), U8(22),
B(LdaZero),
B(StaContextSlot), R(context), U8(23),
B(LdaZero),
B(StaContextSlot), R(context), U8(24),
B(LdaZero),
B(StaContextSlot), R(context), U8(25),
B(LdaZero),
B(StaContextSlot), R(context), U8(26),
B(LdaZero),
B(StaContextSlot), R(context), U8(27),
B(LdaZero),
B(StaContextSlot), R(context), U8(28),
B(LdaZero),
B(StaContextSlot), R(context), U8(29),
B(LdaZero),
B(StaContextSlot), R(context), U8(30),
B(LdaZero),
B(StaContextSlot), R(context), U8(31),
B(LdaZero),
B(StaContextSlot), R(context), U8(32),
B(LdaZero),
B(StaContextSlot), R(context), U8(33),
B(LdaZero),
B(StaContextSlot), R(context), U8(34),
B(LdaZero),
B(StaContextSlot), R(context), U8(35),
B(LdaZero),
B(StaContextSlot), R(context), U8(36),
B(LdaZero),
B(StaContextSlot), R(context), U8(37),
B(LdaZero),
B(StaContextSlot), R(context), U8(38),
B(LdaZero),
B(StaContextSlot), R(context), U8(39),
B(LdaZero),
B(StaContextSlot), R(context), U8(40),
B(LdaZero),
B(StaContextSlot), R(context), U8(41),
B(LdaZero),
B(StaContextSlot), R(context), U8(42),
B(LdaZero),
B(StaContextSlot), R(context), U8(43),
B(LdaZero),
B(StaContextSlot), R(context), U8(44),
B(LdaZero),
B(StaContextSlot), R(context), U8(45),
B(LdaZero),
B(StaContextSlot), R(context), U8(46),
B(LdaZero),
B(StaContextSlot), R(context), U8(47),
B(LdaZero),
B(StaContextSlot), R(context), U8(48),
B(LdaZero),
B(StaContextSlot), R(context), U8(49),
B(LdaZero),
B(StaContextSlot), R(context), U8(50),
B(LdaZero),
B(StaContextSlot), R(context), U8(51),
B(LdaZero),
B(StaContextSlot), R(context), U8(52),
B(LdaZero),
B(StaContextSlot), R(context), U8(53),
B(LdaZero),
B(StaContextSlot), R(context), U8(54),
B(LdaZero),
B(StaContextSlot), R(context), U8(55),
B(LdaZero),
B(StaContextSlot), R(context), U8(56),
B(LdaZero),
B(StaContextSlot), R(context), U8(57),
B(LdaZero),
B(StaContextSlot), R(context), U8(58),
B(LdaZero),
B(StaContextSlot), R(context), U8(59),
B(LdaZero),
B(StaContextSlot), R(context), U8(60),
B(LdaZero),
B(StaContextSlot), R(context), U8(61),
B(LdaZero),
B(StaContextSlot), R(context), U8(62),
B(LdaZero),
B(StaContextSlot), R(context), U8(63),
B(LdaZero),
B(StaContextSlot), R(context), U8(64),
B(LdaZero),
B(StaContextSlot), R(context), U8(65),
B(LdaZero),
B(StaContextSlot), R(context), U8(66),
B(LdaZero),
B(StaContextSlot), R(context), U8(67),
B(LdaZero),
B(StaContextSlot), R(context), U8(68),
B(LdaZero),
B(StaContextSlot), R(context), U8(69),
B(LdaZero),
B(StaContextSlot), R(context), U8(70),
B(LdaZero),
B(StaContextSlot), R(context), U8(71),
B(LdaZero),
B(StaContextSlot), R(context), U8(72),
B(LdaZero),
B(StaContextSlot), R(context), U8(73),
B(LdaZero),
B(StaContextSlot), R(context), U8(74),
B(LdaZero),
B(StaContextSlot), R(context), U8(75),
B(LdaZero),
B(StaContextSlot), R(context), U8(76),
B(LdaZero),
B(StaContextSlot), R(context), U8(77),
B(LdaZero),
B(StaContextSlot), R(context), U8(78),
B(LdaZero),
B(StaContextSlot), R(context), U8(79),
B(LdaZero),
B(StaContextSlot), R(context), U8(80),
B(LdaZero),
B(StaContextSlot), R(context), U8(81),
B(LdaZero),
B(StaContextSlot), R(context), U8(82),
B(LdaZero),
B(StaContextSlot), R(context), U8(83),
B(LdaZero),
B(StaContextSlot), R(context), U8(84),
B(LdaZero),
B(StaContextSlot), R(context), U8(85),
B(LdaZero),
B(StaContextSlot), R(context), U8(86),
B(LdaZero),
B(StaContextSlot), R(context), U8(87),
B(LdaZero),
B(StaContextSlot), R(context), U8(88),
B(LdaZero),
B(StaContextSlot), R(context), U8(89),
B(LdaZero),
B(StaContextSlot), R(context), U8(90),
B(LdaZero),
B(StaContextSlot), R(context), U8(91),
B(LdaZero),
B(StaContextSlot), R(context), U8(92),
B(LdaZero),
B(StaContextSlot), R(context), U8(93),
B(LdaZero),
B(StaContextSlot), R(context), U8(94),
B(LdaZero),
B(StaContextSlot), R(context), U8(95),
B(LdaZero),
B(StaContextSlot), R(context), U8(96),
B(LdaZero),
B(StaContextSlot), R(context), U8(97),
B(LdaZero),
B(StaContextSlot), R(context), U8(98),
B(LdaZero),
B(StaContextSlot), R(context), U8(99),
B(LdaZero),
B(StaContextSlot), R(context), U8(100),
B(LdaZero),
B(StaContextSlot), R(context), U8(101),
B(LdaZero),
B(StaContextSlot), R(context), U8(102),
B(LdaZero),
B(StaContextSlot), R(context), U8(103),
B(LdaZero),
B(StaContextSlot), R(context), U8(104),
B(LdaZero),
B(StaContextSlot), R(context), U8(105),
B(LdaZero),
B(StaContextSlot), R(context), U8(106),
B(LdaZero),
B(StaContextSlot), R(context), U8(107),
B(LdaZero),
B(StaContextSlot), R(context), U8(108),
B(LdaZero),
B(StaContextSlot), R(context), U8(109),
B(LdaZero),
B(StaContextSlot), R(context), U8(110),
B(LdaZero),
B(StaContextSlot), R(context), U8(111),
B(LdaZero),
B(StaContextSlot), R(context), U8(112),
B(LdaZero),
B(StaContextSlot), R(context), U8(113),
B(LdaZero),
B(StaContextSlot), R(context), U8(114),
B(LdaZero),
B(StaContextSlot), R(context), U8(115),
B(LdaZero),
B(StaContextSlot), R(context), U8(116),
B(LdaZero),
B(StaContextSlot), R(context), U8(117),
B(LdaZero),
B(StaContextSlot), R(context), U8(118),
B(LdaZero),
B(StaContextSlot), R(context), U8(119),
B(LdaZero),
B(StaContextSlot), R(context), U8(120),
B(LdaZero),
B(StaContextSlot), R(context), U8(121),
B(LdaZero),
B(StaContextSlot), R(context), U8(122),
B(LdaZero),
B(StaContextSlot), R(context), U8(123),
B(LdaZero),
B(StaContextSlot), R(context), U8(124),
B(LdaZero),
B(StaContextSlot), R(context), U8(125),
B(LdaZero),
B(StaContextSlot), R(context), U8(126),
B(LdaZero),
B(StaContextSlot), R(context), U8(127),
B(LdaZero),
B(StaContextSlot), R(context), U8(128),
B(LdaZero),
B(StaContextSlot), R(context), U8(129),
B(LdaZero),
B(StaContextSlot), R(context), U8(130),
B(LdaZero),
B(StaContextSlot), R(context), U8(131),
B(LdaZero),
B(StaContextSlot), R(context), U8(132),
B(LdaZero),
B(StaContextSlot), R(context), U8(133),
B(LdaZero),
B(StaContextSlot), R(context), U8(134),
B(LdaZero),
B(StaContextSlot), R(context), U8(135),
B(LdaZero),
B(StaContextSlot), R(context), U8(136),
B(LdaZero),
B(StaContextSlot), R(context), U8(137),
B(LdaZero),
B(StaContextSlot), R(context), U8(138),
B(LdaZero),
B(StaContextSlot), R(context), U8(139),
B(LdaZero),
B(StaContextSlot), R(context), U8(140),
B(LdaZero),
B(StaContextSlot), R(context), U8(141),
B(LdaZero),
B(StaContextSlot), R(context), U8(142),
B(LdaZero),
B(StaContextSlot), R(context), U8(143),
B(LdaZero),
B(StaContextSlot), R(context), U8(144),
B(LdaZero),
B(StaContextSlot), R(context), U8(145),
B(LdaZero),
B(StaContextSlot), R(context), U8(146),
B(LdaZero),
B(StaContextSlot), R(context), U8(147),
B(LdaZero),
B(StaContextSlot), R(context), U8(148),
B(LdaZero),
B(StaContextSlot), R(context), U8(149),
B(LdaZero),
B(StaContextSlot), R(context), U8(150),
B(LdaZero),
B(StaContextSlot), R(context), U8(151),
B(LdaZero),
B(StaContextSlot), R(context), U8(152),
B(LdaZero),
B(StaContextSlot), R(context), U8(153),
B(LdaZero),
B(StaContextSlot), R(context), U8(154),
B(LdaZero),
B(StaContextSlot), R(context), U8(155),
B(LdaZero),
B(StaContextSlot), R(context), U8(156),
B(LdaZero),
B(StaContextSlot), R(context), U8(157),
B(LdaZero),
B(StaContextSlot), R(context), U8(158),
B(LdaZero),
B(StaContextSlot), R(context), U8(159),
B(LdaZero),
B(StaContextSlot), R(context), U8(160),
B(LdaZero),
B(StaContextSlot), R(context), U8(161),
B(LdaZero),
B(StaContextSlot), R(context), U8(162),
B(LdaZero),
B(StaContextSlot), R(context), U8(163),
B(LdaZero),
B(StaContextSlot), R(context), U8(164),
B(LdaZero),
B(StaContextSlot), R(context), U8(165),
B(LdaZero),
B(StaContextSlot), R(context), U8(166),
B(LdaZero),
B(StaContextSlot), R(context), U8(167),
B(LdaZero),
B(StaContextSlot), R(context), U8(168),
B(LdaZero),
B(StaContextSlot), R(context), U8(169),
B(LdaZero),
B(StaContextSlot), R(context), U8(170),
B(LdaZero),
B(StaContextSlot), R(context), U8(171),
B(LdaZero),
B(StaContextSlot), R(context), U8(172),
B(LdaZero),
B(StaContextSlot), R(context), U8(173),
B(LdaZero),
B(StaContextSlot), R(context), U8(174),
B(LdaZero),
B(StaContextSlot), R(context), U8(175),
B(LdaZero),
B(StaContextSlot), R(context), U8(176),
B(LdaZero),
B(StaContextSlot), R(context), U8(177),
B(LdaZero),
B(StaContextSlot), R(context), U8(178),
B(LdaZero),
B(StaContextSlot), R(context), U8(179),
B(LdaZero),
B(StaContextSlot), R(context), U8(180),
B(LdaZero),
B(StaContextSlot), R(context), U8(181),
B(LdaZero),
B(StaContextSlot), R(context), U8(182),
B(LdaZero),
B(StaContextSlot), R(context), U8(183),
B(LdaZero),
B(StaContextSlot), R(context), U8(184),
B(LdaZero),
B(StaContextSlot), R(context), U8(185),
B(LdaZero),
B(StaContextSlot), R(context), U8(186),
B(LdaZero),
B(StaContextSlot), R(context), U8(187),
B(LdaZero),
B(StaContextSlot), R(context), U8(188),
B(LdaZero),
B(StaContextSlot), R(context), U8(189),
B(LdaZero),
B(StaContextSlot), R(context), U8(190),
B(LdaZero),
B(StaContextSlot), R(context), U8(191),
B(LdaZero),
B(StaContextSlot), R(context), U8(192),
B(LdaZero),
B(StaContextSlot), R(context), U8(193),
B(LdaZero),
B(StaContextSlot), R(context), U8(194),
B(LdaZero),
B(StaContextSlot), R(context), U8(195),
B(LdaZero),
B(StaContextSlot), R(context), U8(196),
B(LdaZero),
B(StaContextSlot), R(context), U8(197),
B(LdaZero),
B(StaContextSlot), R(context), U8(198),
B(LdaZero),
B(StaContextSlot), R(context), U8(199),
B(LdaZero),
B(StaContextSlot), R(context), U8(200),
B(LdaZero),
B(StaContextSlot), R(context), U8(201),
B(LdaZero),
B(StaContextSlot), R(context), U8(202),
B(LdaZero),
B(StaContextSlot), R(context), U8(203),
B(LdaZero),
B(StaContextSlot), R(context), U8(204),
B(LdaZero),
B(StaContextSlot), R(context), U8(205),
B(LdaZero),
B(StaContextSlot), R(context), U8(206),
B(LdaZero),
B(StaContextSlot), R(context), U8(207),
B(LdaZero),
B(StaContextSlot), R(context), U8(208),
B(LdaZero),
B(StaContextSlot), R(context), U8(209),
B(LdaZero),
B(StaContextSlot), R(context), U8(210),
B(LdaZero),
B(StaContextSlot), R(context), U8(211),
B(LdaZero),
B(StaContextSlot), R(context), U8(212),
B(LdaZero),
B(StaContextSlot), R(context), U8(213),
B(LdaZero),
B(StaContextSlot), R(context), U8(214),
B(LdaZero),
B(StaContextSlot), R(context), U8(215),
B(LdaZero),
B(StaContextSlot), R(context), U8(216),
B(LdaZero),
B(StaContextSlot), R(context), U8(217),
B(LdaZero),
B(StaContextSlot), R(context), U8(218),
B(LdaZero),
B(StaContextSlot), R(context), U8(219),
B(LdaZero),
B(StaContextSlot), R(context), U8(220),
B(LdaZero),
B(StaContextSlot), R(context), U8(221),
B(LdaZero),
B(StaContextSlot), R(context), U8(222),
B(LdaZero),
B(StaContextSlot), R(context), U8(223),
B(LdaZero),
B(StaContextSlot), R(context), U8(224),
B(LdaZero),
B(StaContextSlot), R(context), U8(225),
B(LdaZero),
B(StaContextSlot), R(context), U8(226),
B(LdaZero),
B(StaContextSlot), R(context), U8(227),
B(LdaZero),
B(StaContextSlot), R(context), U8(228),
B(LdaZero),
B(StaContextSlot), R(context), U8(229),
B(LdaZero),
B(StaContextSlot), R(context), U8(230),
B(LdaZero),
B(StaContextSlot), R(context), U8(231),
B(LdaZero),
B(StaContextSlot), R(context), U8(232),
B(LdaZero),
B(StaContextSlot), R(context), U8(233),
B(LdaZero),
B(StaContextSlot), R(context), U8(234),
B(LdaZero),
B(StaContextSlot), R(context), U8(235),
B(LdaZero),
B(StaContextSlot), R(context), U8(236),
B(LdaZero),
B(StaContextSlot), R(context), U8(237),
B(LdaZero),
B(StaContextSlot), R(context), U8(238),
B(LdaZero),
B(StaContextSlot), R(context), U8(239),
B(LdaZero),
B(StaContextSlot), R(context), U8(240),
B(LdaZero),
B(StaContextSlot), R(context), U8(241),
B(LdaZero),
B(StaContextSlot), R(context), U8(242),
B(LdaZero),
B(StaContextSlot), R(context), U8(243),
B(LdaZero),
B(StaContextSlot), R(context), U8(244),
B(LdaZero),
B(StaContextSlot), R(context), U8(245),
B(LdaZero),
B(StaContextSlot), R(context), U8(246),
B(LdaZero),
B(StaContextSlot), R(context), U8(247),
B(LdaZero),
B(StaContextSlot), R(context), U8(248),
B(LdaZero),
B(StaContextSlot), R(context), U8(249),
B(LdaZero),
B(StaContextSlot), R(context), U8(250),
B(LdaZero),
B(StaContextSlot), R(context), U8(251),
B(LdaZero),
B(StaContextSlot), R(context), U8(252),
B(LdaZero),
B(StaContextSlot), R(context), U8(253),
B(LdaZero),
B(StaContextSlot), R(context), U8(254),
B(LdaZero),
B(StaContextSlot), R(context), U8(255),
B(LdaUndefined),
B(Star), R(2),
B(LdaGlobal), U8(0), U8(1),
B(Star), R(1),
B(Call), R(1), R(2), U8(1), U8(0),
B(LdaSmi8), U8(100),
B(StaContextSlotWide), R(context), U16(256),
B(LdaContextSlotWide), R(context), U16(256),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,298 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var a = 1; return ++a;
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(ToNumber),
B(Inc),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; return a++;
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(ToNumber),
B(Star), R(1),
B(Inc),
B(Star), R(0),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; return --a;
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(ToNumber),
B(Dec),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; return a--;
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(ToNumber),
B(Star), R(1),
B(Dec),
B(Star), R(0),
B(Ldar), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = { val: 1 }; return a.val++;
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(1),
B(ToNumber),
B(Star), R(2),
B(Inc),
B(StoreICSloppy), R(1), U8(1), U8(3),
B(Ldar), R(2),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = { val: 1 }; return --a.val;
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(1),
B(ToNumber),
B(Dec),
B(StoreICSloppy), R(1), U8(1), U8(3),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var name = 'var'; var a = { val: 1 }; return a[name]--;
"
frame size: 5
parameter count: 1
bytecode array length: 33
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(0), U8(9),
B(Star), R(2),
B(Star), R(1),
B(Star), R(2),
B(Ldar), R(0),
B(Star), R(3),
B(KeyedLoadIC), R(2), U8(1),
B(ToNumber),
B(Star), R(4),
B(Dec),
B(KeyedStoreICSloppy), R(2), R(3), U8(3),
B(Ldar), R(4),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var name = 'var'; var a = { val: 1 }; return ++a[name];
"
frame size: 4
parameter count: 1
bytecode array length: 29
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(0), U8(9),
B(Star), R(2),
B(Star), R(1),
B(Star), R(2),
B(Ldar), R(0),
B(Star), R(3),
B(KeyedLoadIC), R(2), U8(1),
B(ToNumber),
B(Inc),
B(KeyedStoreICSloppy), R(2), R(3), U8(3),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; var b = function() { return a }; return ++a;
"
frame size: 2
parameter count: 1
bytecode array length: 27
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(LdaContextSlot), R(context), U8(4),
B(ToNumber),
B(Inc),
B(StaContextSlot), R(context), U8(4),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; var b = function() { return a }; return a--;
"
frame size: 3
parameter count: 1
bytecode array length: 31
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(StackCheck),
B(LdaSmi8), U8(1),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(LdaContextSlot), R(context), U8(4),
B(ToNumber),
B(Star), R(2),
B(Dec),
B(StaContextSlot), R(context), U8(4),
B(Ldar), R(2),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var idx = 1; var a = [1, 2]; return a[idx++] = 2;
"
frame size: 4
parameter count: 1
bytecode array length: 28
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(1),
B(Star), R(2),
B(Ldar), R(0),
B(ToNumber),
B(Star), R(3),
B(Inc),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(KeyedStoreICSloppy), R(2), R(3), U8(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,148 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
function f() { return arguments; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() { return arguments[0]; }
f();
"
frame size: 2
parameter count: 1
bytecode array length: 13
bytecodes: [
B(CreateMappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaZero),
B(KeyedLoadIC), R(1), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() { 'use strict'; return arguments; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a) { return arguments[0]; }
f();
"
frame size: 3
parameter count: 2
bytecode array length: 25
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(LdaZero),
B(KeyedLoadIC), R(2), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a, b, c) { return arguments; }
f();
"
frame size: 2
parameter count: 4
bytecode array length: 29
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaContextSlot), R(context), U8(6),
B(Ldar), R(arg1),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(arg2),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a, b, c) { 'use strict'; return arguments; }
f();
"
frame size: 1
parameter count: 4
bytecode array length: 7
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,116 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: no
test function name: f
---
snippet: "
function f(...restArgs) { return restArgs; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a, ...restArgs) { return restArgs; }
f();
"
frame size: 2
parameter count: 2
bytecode array length: 14
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a, ...restArgs) { return restArgs[0]; }
f();
"
frame size: 3
parameter count: 2
bytecode array length: 20
bytecodes: [
B(CreateRestParameter),
B(Star), R(0),
B(LdaTheHole),
B(Star), R(1),
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaZero),
B(KeyedLoadIC), R(2), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a, ...restArgs) { return restArgs[0] + arguments[0]; }
f();
"
frame size: 5
parameter count: 2
bytecode array length: 35
bytecodes: [
B(CreateUnmappedArguments),
B(Star), R(0),
B(CreateRestParameter),
B(Star), R(1),
B(LdaTheHole),
B(Star), R(2),
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(2),
B(Ldar), R(1),
B(Star), R(3),
B(LdaZero),
B(KeyedLoadIC), R(3), U8(1),
B(Star), R(4),
B(Ldar), R(0),
B(Star), R(3),
B(LdaZero),
B(KeyedLoadIC), R(3), U8(3),
B(Add), R(4),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,84 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
return; var a = 1; a();
"
frame size: 1
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
if (false) { return; }; var a = 1;
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
if (true) { return 1; } else { return 2; };
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1; if (a) { return 1; }; return 2;
"
frame size: 1
parameter count: 1
bytecode array length: 13
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(LdaSmi8), U8(2),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,128 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: no
wrap: no
top level: yes
---
snippet: "
var a = 1;
"
frame size: 4
parameter count: 1
bytecode array length: 31
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
B(StackCheck),
B(LdaConstant), U8(1),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
function f() {}
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(0), U8(2),
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1;
a=2;
"
frame size: 4
parameter count: 1
bytecode array length: 37
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
B(StackCheck),
B(LdaConstant), U8(1),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3),
B(LdaSmi8), U8(2),
B(StaGlobalSloppy), U8(1), U8(3),
B(Star), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
function f() {}
f();
"
frame size: 3
parameter count: 1
bytecode array length: 29
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
B(StackCheck),
B(LdaUndefined),
B(Star), R(2),
B(LdaGlobal), U8(1), U8(1),
B(Star), R(1),
B(Call), R(1), R(2), U8(1), U8(3),
B(Star), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,147 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
var a = {x:13, y:14}; return delete a.x;
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
'use strict'; var a = {x:13, y:14}; return delete a.x;
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaConstant), U8(1),
B(DeletePropertyStrict), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = {1:13, 2:14}; return delete a[2];
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(DeletePropertySloppy), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 10; return delete a;
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaFalse),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
'use strict';
var a = {1:10};
(function f1() {return a;});
return delete a[1];
"
frame size: 2
parameter count: 1
bytecode array length: 30
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(1), U8(0),
B(LdaContextSlot), R(context), U8(4),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(DeletePropertyStrict), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
return delete 'test';
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaTrue),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,89 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
var f;
var x = 1;
z = 10;
function f1() {
var y;
eval(\"function t() { delete x; }; f = t; f();\");
}
f1();
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
var f;
var x = 1;
z = 10;
function f1() {
var y;
eval(\"function t() { return delete y; }; f = t; f();\");
}
f1();
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaFalse),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var f;
var x = 1;
z = 10;
function f1() {
var y;
eval(\"function t() { return delete z; }; f = t; f();\");
}
f1();
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),
B(Return),
]
constant pool: [
"z",
]
handlers: [
]

View File

@ -0,0 +1,27 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
debugger;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Debugger),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,79 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
do expressions: yes
---
snippet: "
var a = do { }; return a;
"
frame size: 2
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = do { var x = 100; }; return a;
"
frame size: 3
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(100),
B(Star), R(1),
B(LdaUndefined),
B(Star), R(0),
B(Star), R(2),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
while(true) { var a = 10; a = do { ++a; break; }; a = 20; }
"
frame size: 2
parameter count: 1
bytecode array length: 26
bytecodes: [
B(StackCheck),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(1),
B(ToNumber),
B(Inc),
B(Star), R(1),
B(Star), R(0),
B(Jump), U8(12),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Jump), U8(-21),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,50 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
return eval('1;');
"
frame size: 9
parameter count: 1
bytecode array length: 65
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi8), U8(30),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
B(Star), R(1),
B(Call), R(1), R(2), U8(2), U8(0),
B(Return),
]
constant pool: [
"eval",
"1;",
]
handlers: [
]

View File

@ -0,0 +1,263 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
for (var p in null) {}
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
for (var p in undefined) {}
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
for (var p in undefined) {}
"
frame size: 2
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 'potatoes';
for (var p in x) { return p; }
"
frame size: 8
parameter count: 1
bytecode array length: 46
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(1),
B(JumpIfUndefined), U8(39),
B(JumpIfNull), U8(37),
B(ToObject),
B(JumpIfNull), U8(34),
B(Star), R(3),
B(ForInPrepare), R(4),
B(LdaZero),
B(Star), R(7),
B(ForInDone), R(7), R(6),
B(JumpIfTrue), U8(22),
B(ForInNext), R(3), R(7), R(4),
B(JumpIfUndefined), U8(10),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(Return),
B(ForInStep), R(7),
B(Star), R(7),
B(Jump), U8(-23),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var x = 0;
for (var p in [1,2,3]) { x += p; }
"
frame size: 9
parameter count: 1
bytecode array length: 58
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(1),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(JumpIfUndefined), U8(48),
B(JumpIfNull), U8(46),
B(ToObject),
B(JumpIfNull), U8(43),
B(Star), R(3),
B(ForInPrepare), R(4),
B(LdaZero),
B(Star), R(7),
B(ForInDone), R(7), R(6),
B(JumpIfTrue), U8(31),
B(ForInNext), R(3), R(7), R(4),
B(JumpIfUndefined), U8(19),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(2),
B(Ldar), R(1),
B(Star), R(8),
B(Ldar), R(2),
B(Add), R(8),
B(Star), R(1),
B(ForInStep), R(7),
B(Star), R(7),
B(Jump), U8(-32),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var x = { 'a': 1, 'b': 2 };
for (x['a'] in [10, 20, 30]) {
if (x['a'] == 10) continue;
if (x['a'] == 20) break;
}
"
frame size: 8
parameter count: 1
bytecode array length: 95
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Star), R(0),
B(CreateArrayLiteral), U8(1), U8(1), U8(3),
B(JumpIfUndefined), U8(80),
B(JumpIfNull), U8(78),
B(ToObject),
B(JumpIfNull), U8(75),
B(Star), R(1),
B(ForInPrepare), R(2),
B(LdaZero),
B(Star), R(5),
B(ForInDone), R(5), R(4),
B(JumpIfTrue), U8(63),
B(ForInNext), R(1), R(5), R(2),
B(JumpIfUndefined), U8(51),
B(Star), R(6),
B(Ldar), R(0),
B(Star), R(7),
B(Ldar), R(6),
B(StoreICSloppy), R(7), U8(2), U8(7),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(6),
B(LoadIC), R(6), U8(2), U8(3),
B(Star), R(7),
B(LdaSmi8), U8(10),
B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
B(Jump), U8(20),
B(Ldar), R(0),
B(Star), R(6),
B(LoadIC), R(6), U8(2), U8(5),
B(Star), R(7),
B(LdaSmi8), U8(20),
B(TestEqual), R(7),
B(JumpIfFalse), U8(4),
B(Jump), U8(8),
B(ForInStep), R(5),
B(Star), R(5),
B(Jump), U8(-64),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var x = [ 10, 11, 12 ] ;
for (x[0] in [1,2,3]) { return x[3]; }
"
frame size: 9
parameter count: 1
bytecode array length: 70
bytecodes: [
B(StackCheck),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(0),
B(CreateArrayLiteral), U8(1), U8(1), U8(3),
B(JumpIfUndefined), U8(57),
B(JumpIfNull), U8(55),
B(ToObject),
B(JumpIfNull), U8(52),
B(Star), R(1),
B(ForInPrepare), R(2),
B(LdaZero),
B(Star), R(5),
B(ForInDone), R(5), R(4),
B(JumpIfTrue), U8(40),
B(ForInNext), R(1), R(5), R(2),
B(JumpIfUndefined), U8(28),
B(Star), R(6),
B(Ldar), R(0),
B(Star), R(7),
B(LdaZero),
B(Star), R(8),
B(Ldar), R(6),
B(KeyedStoreICSloppy), R(7), R(8), U8(5),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(6),
B(LdaSmi8), U8(3),
B(KeyedLoadIC), R(6), U8(3),
B(Return),
B(ForInStep), R(5),
B(Star), R(5),
B(Jump), U8(-41),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,250 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
for (var p of [0, 1, 2]) {}
"
frame size: 7
parameter count: 1
bytecode array length: 86
bytecodes: [
B(StackCheck),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(5),
B(LdaConstant), U8(1),
B(KeyedLoadIC), R(5), U8(3),
B(Star), R(4),
B(Call), R(4), R(5), U8(1), U8(1),
B(Star), R(1),
B(Ldar), R(1),
B(Star), R(6),
B(LoadIC), R(6), U8(2), U8(7),
B(Star), R(5),
B(Call), R(5), R(6), U8(1), U8(5),
B(Star), R(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_IsJSReceiver), R(4), U8(1),
B(LogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(4), U8(1),
B(Ldar), R(2),
B(Star), R(4),
B(LoadIC), R(4), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(19),
B(Ldar), R(2),
B(Star), R(4),
B(LoadIC), R(4), U8(4), U8(11),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(3),
B(Jump), U8(-61),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SYMBOL_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var x = 'potatoes';
for (var p of x) { return p; }
"
frame size: 8
parameter count: 1
bytecode array length: 85
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(Star), R(6),
B(LdaConstant), U8(1),
B(KeyedLoadIC), R(6), U8(3),
B(Star), R(5),
B(Call), R(5), R(6), U8(1), U8(1),
B(Star), R(1),
B(Ldar), R(1),
B(Star), R(7),
B(LoadIC), R(7), U8(2), U8(7),
B(Star), R(6),
B(Call), R(6), R(7), U8(1), U8(5),
B(Star), R(2),
B(Star), R(5),
B(CallRuntime), U16(Runtime::k_IsJSReceiver), R(5), U8(1),
B(LogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1),
B(Ldar), R(2),
B(Star), R(5),
B(LoadIC), R(5), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(18),
B(Ldar), R(2),
B(Star), R(5),
B(LoadIC), R(5), U8(4), U8(11),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(4),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SYMBOL_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
for (var x of [10, 20, 30]) {
if (x == 10) continue;
if (x == 20) break;
}
"
frame size: 7
parameter count: 1
bytecode array length: 108
bytecodes: [
B(StackCheck),
B(CreateArrayLiteral), U8(0), U8(0), U8(3),
B(Star), R(5),
B(LdaConstant), U8(1),
B(KeyedLoadIC), R(5), U8(3),
B(Star), R(4),
B(Call), R(4), R(5), U8(1), U8(1),
B(Star), R(1),
B(Ldar), R(1),
B(Star), R(6),
B(LoadIC), R(6), U8(2), U8(7),
B(Star), R(5),
B(Call), R(5), R(6), U8(1), U8(5),
B(Star), R(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::k_IsJSReceiver), R(4), U8(1),
B(LogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(2),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(4), U8(1),
B(Ldar), R(2),
B(Star), R(4),
B(LoadIC), R(4), U8(3), U8(9),
B(JumpIfToBooleanTrue), U8(41),
B(Ldar), R(2),
B(Star), R(4),
B(LoadIC), R(4), U8(4), U8(11),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(3),
B(Star), R(4),
B(LdaSmi8), U8(10),
B(TestEqual), R(4),
B(JumpIfFalse), U8(4),
B(Jump), U8(-69),
B(Ldar), R(3),
B(Star), R(4),
B(LdaSmi8), U8(20),
B(TestEqual), R(4),
B(JumpIfFalse), U8(4),
B(Jump), U8(4),
B(Jump), U8(-83),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SYMBOL_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var x = { 'a': 1, 'b': 2 };
for (x['a'] of [1,2,3]) { return x['a']; }
"
frame size: 6
parameter count: 1
bytecode array length: 103
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(3),
B(Star), R(2),
B(CreateArrayLiteral), U8(1), U8(1), U8(3),
B(Star), R(4),
B(LdaConstant), U8(2),
B(KeyedLoadIC), R(4), U8(3),
B(Star), R(3),
B(Call), R(3), R(4), U8(1), U8(1),
B(Star), R(0),
B(Ldar), R(0),
B(Star), R(5),
B(LoadIC), R(5), U8(3), U8(7),
B(Star), R(4),
B(Call), R(4), R(5), U8(1), U8(5),
B(Star), R(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::k_IsJSReceiver), R(3), U8(1),
B(LogicalNot),
B(JumpIfFalse), U8(11),
B(Ldar), R(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1),
B(Ldar), R(1),
B(Star), R(3),
B(LoadIC), R(3), U8(4), U8(9),
B(JumpIfToBooleanTrue), U8(28),
B(Ldar), R(2),
B(Star), R(3),
B(Ldar), R(1),
B(Star), R(4),
B(LoadIC), R(4), U8(5), U8(11),
B(StoreICSloppy), R(3), U8(6), U8(13),
B(StackCheck),
B(Ldar), R(2),
B(Star), R(3),
B(LoadIC), R(3), U8(6), U8(15),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SYMBOL_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,73 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
return function(){ }
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(CreateClosure), U8(0), U8(0),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
return (function(){ })()
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Star), R(1),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(Call), R(0), R(1), U8(1), U8(1),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
return (function(x){ return x; })(1)
"
frame size: 3
parameter count: 1
bytecode array length: 19
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Star), R(1),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Star), R(2),
B(Call), R(0), R(1), U8(2), U8(1),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,58 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
var global = 1;
function f() { return global &= 1; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(BitwiseAnd), R(0),
B(StaGlobalSloppy), U8(0), U8(3),
B(Return),
]
constant pool: [
"global",
]
handlers: [
]
---
snippet: "
unallocated = 1;
function f() { return unallocated += 1; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(Add), R(0),
B(StaGlobalSloppy), U8(0), U8(3),
B(Return),
]
constant pool: [
"unallocated",
]
handlers: [
]

View File

@ -0,0 +1,106 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
var global = 1;
function f() { return ++global; }
f();
"
frame size: 0
parameter count: 1
bytecode array length: 10
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(ToNumber),
B(Inc),
B(StaGlobalSloppy), U8(0), U8(3),
B(Return),
]
constant pool: [
"global",
]
handlers: [
]
---
snippet: "
var global = 1;
function f() { return global--; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(ToNumber),
B(Star), R(0),
B(Dec),
B(StaGlobalSloppy), U8(0), U8(3),
B(Ldar), R(0),
B(Return),
]
constant pool: [
"global",
]
handlers: [
]
---
snippet: "
unallocated = 1;
function f() { 'use strict'; return --unallocated; }
f();
"
frame size: 0
parameter count: 1
bytecode array length: 10
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(ToNumber),
B(Dec),
B(StaGlobalStrict), U8(0), U8(3),
B(Return),
]
constant pool: [
"unallocated",
]
handlers: [
]
---
snippet: "
unallocated = 1;
function f() { return unallocated++; }
f();
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(ToNumber),
B(Star), R(0),
B(Inc),
B(StaGlobalSloppy), U8(0), U8(3),
B(Ldar), R(0),
B(Return),
]
constant pool: [
"unallocated",
]
handlers: [
]

View File

@ -0,0 +1,116 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
var a = {x:13, y:14};
function f() {
return delete a.x;
};
f();
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Star), R(0),
B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(0),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
a = {1:13, 2:14};
function f() {
'use strict';
return delete a[1];
};
f();
"
frame size: 1
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(1),
B(DeletePropertyStrict), R(0),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = {x:13, y:14};
function f() {
return delete a;
};
f();
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(LdaContextSlot), R(context), U8(3),
B(Star), R(0),
B(LdaContextSlot), R(0), U8(2),
B(Star), R(1),
B(LdaConstant), U8(0),
B(DeletePropertySloppy), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
b = 30;
function f() {
return delete b;
};
f();
"
frame size: 2
parameter count: 1
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(LdaContextSlot), R(context), U8(3),
B(Star), R(0),
B(LdaContextSlot), R(0), U8(2),
B(Star), R(1),
B(LdaConstant), U8(0),
B(DeletePropertySloppy), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,772 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: no
test function name: f
---
snippet: "
function f() {
if (0) {
return 1;
} else {
return -1;
}
};
f();
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(-1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() {
if ('lucky') {
return 1;
} else {
return -1;
}
};
f();
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() {
if (false) {
return 1;
} else {
return -1;
}
};
f();
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(-1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() {
if (false) {
return 1;
}
};
f();
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() {
var a = 1;
if (a) {
a += 1;
} else {
return 2;
}
};
f();
"
frame size: 2
parameter count: 1
bytecode array length: 24
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(14),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(5),
B(LdaSmi8), U8(2),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(a) {
if (a <= 0) {
return 200;
} else {
return -200;
}
};
f(99);
"
frame size: 1
parameter count: 2
bytecode array length: 18
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(LdaZero),
B(TestLessThanOrEqual), R(0),
B(JumpIfFalse), U8(5),
B(LdaConstant), U8(0),
B(Return),
B(LdaConstant), U8(1),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
200,
-200,
]
handlers: [
]
---
snippet: "
function f(a, b) { if (a in b) { return 200; } }f('prop', { prop: 'yes'});
"
frame size: 1
parameter count: 3
bytecode array length: 16
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestIn), R(0),
B(JumpIfFalse), U8(5),
B(LdaConstant), U8(0),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
200,
]
handlers: [
]
---
snippet: "
function f(z) { var a = 0; var b = 0; if (a === 0.01) {
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
return 200; } else { return -200; } } f(0.001);
"
frame size: 3
parameter count: 2
bytecode array length: 283
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaConstant), U8(0),
B(TestEqualStrict), R(2),
B(JumpIfFalseConstant), U8(2),
B(Ldar), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Return),
B(LdaConstant), U8(3),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
0.01,
200,
263,
-200,
]
handlers: [
]
---
snippet: "
function f() {
var a = 0; var b = 0;
if (a) {
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
b = a; a = b;
return 200; } else { return -200; }
};
f();
"
frame size: 2
parameter count: 1
bytecode array length: 277
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaZero),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfToBooleanFalseConstant), U8(1),
B(Ldar), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(Star), R(1),
B(Star), R(0),
B(LdaConstant), U8(0),
B(Return),
B(LdaConstant), U8(2),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
200,
263,
-200,
]
handlers: [
]
---
snippet: "
function f(a, b) {
if (a == b) { return 1; }
if (a === b) { return 1; }
if (a < b) { return 1; }
if (a > b) { return 1; }
if (a <= b) { return 1; }
if (a >= b) { return 1; }
if (a in b) { return 1; }
if (a instanceof b) { return 1; }
return 0;
}
f(1, 1);
"
frame size: 1
parameter count: 3
bytecode array length: 107
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestEqual), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestEqualStrict), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestLessThan), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestGreaterThan), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestLessThanOrEqual), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestGreaterThanOrEqual), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestIn), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(Ldar), R(arg0),
B(Star), R(0),
B(Ldar), R(arg1),
B(TestInstanceOf), R(0),
B(JumpIfFalse), U8(5),
B(LdaSmi8), U8(1),
B(Return),
B(LdaZero),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f() {
var a = 0;
if (a) {
return 20;
} else {
return -20;
}
};
f();
"
frame size: 1
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(5),
B(LdaSmi8), U8(20),
B(Return),
B(LdaSmi8), U8(-20),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,32 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
legacy const: yes
---
snippet: "
const a = 1; { var a = 2; }
"
frame size: 3
parameter count: 1
bytecode array length: 14
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kNewSyntaxError), R(1), U8(2),
B(Throw),
]
constant pool: [
kInstanceTypeDontCare,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,68 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
return 12345678;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Return),
]
constant pool: [
12345678,
]
handlers: [
]
---
snippet: "
var a = 1234; return 5678;
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Return),
]
constant pool: [
1234,
5678,
]
handlers: [
]
---
snippet: "
var a = 1234; return 1234;
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(LdaConstant), U8(0),
B(Return),
]
constant pool: [
1234,
]
handlers: [
]

View File

@ -0,0 +1,118 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
legacy const: yes
---
snippet: "
const x = 10;
"
frame size: 2
parameter count: 1
bytecode array length: 19
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
const x = 10; return x;
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
const x = ( x = 20);
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(Ldar), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
const x = 10; x = 20;
"
frame size: 2
parameter count: 1
bytecode array length: 27
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(Ldar), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,115 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
let x = 10;
"
frame size: 1
parameter count: 1
bytecode array length: 10
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
let x = 10; return x;
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(1), U8(1),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
let x = (x = 20);
"
frame size: 3
parameter count: 1
bytecode array length: 27
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Ldar), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
let x = 10; x = 20;
"
frame size: 3
parameter count: 1
bytecode array length: 31
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(LdaSmi8), U8(20),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Ldar), R(1),
B(Star), R(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]

View File

@ -0,0 +1,137 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
let x = 10; function f1() {return x;}
"
frame size: 2
parameter count: 1
bytecode array length: 24
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
let x = 10; function f1() {return x;} return x;
"
frame size: 3
parameter count: 1
bytecode array length: 37
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
let x = (x = 20); function f1() {return x;}
"
frame size: 4
parameter count: 1
bytecode array length: 45
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(20),
B(Star), R(2),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(Ldar), R(2),
B(StaContextSlot), R(context), U8(4),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
let x = 10; x = 20; function f1() {return x;}
"
frame size: 4
parameter count: 1
bytecode array length: 47
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(1),
B(LdaTheHole),
B(StaContextSlot), R(context), U8(4),
B(CreateClosure), U8(0), U8(0),
B(Star), R(0),
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaContextSlot), R(context), U8(4),
B(LdaSmi8), U8(20),
B(Star), R(2),
B(LdaContextSlot), R(context), U8(4),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
B(Ldar), R(2),
B(StaContextSlot), R(context), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,605 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
var a = 1;
function f() { return a; }
f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Return),
]
constant pool: [
"a",
]
handlers: [
]
---
snippet: "
function t() { }
function f() { return t; }
f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Return),
]
constant pool: [
"t",
]
handlers: [
]
---
snippet: "
a = 1;
function f() { return a; }
f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaGlobal), U8(0), U8(1),
B(Return),
]
constant pool: [
"a",
]
handlers: [
]
---
snippet: "
a = 1;
function f(b) {
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
b.name;
return a;
}
f({name: 1});
"
frame size: 1
parameter count: 2
bytecode array length: 1031
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(1),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(3),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(5),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(7),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(9),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(11),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(13),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(15),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(17),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(19),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(21),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(23),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(25),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(27),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(29),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(31),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(33),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(35),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(37),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(39),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(41),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(43),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(45),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(47),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(49),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(51),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(53),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(55),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(57),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(59),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(61),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(63),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(65),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(67),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(69),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(71),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(73),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(75),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(77),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(79),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(81),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(83),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(85),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(87),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(89),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(91),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(93),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(95),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(97),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(99),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(101),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(103),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(105),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(107),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(109),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(111),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(113),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(115),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(117),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(119),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(121),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(123),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(125),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(127),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(129),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(131),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(133),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(135),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(137),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(139),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(141),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(143),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(145),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(147),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(149),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(151),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(153),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(155),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(157),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(159),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(161),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(163),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(165),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(167),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(169),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(171),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(173),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(175),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(177),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(179),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(181),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(183),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(185),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(187),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(189),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(191),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(193),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(195),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(197),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(199),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(201),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(203),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(205),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(207),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(209),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(211),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(213),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(215),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(217),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(219),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(221),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(223),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(225),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(227),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(229),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(231),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(233),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(235),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(237),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(239),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(241),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(243),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(245),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(247),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(249),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(251),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(253),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(255),
B(LdaGlobalWide), U16(1), U16(257),
B(Return),
]
constant pool: [
"name",
"a",
]
handlers: [
]

View File

@ -0,0 +1,953 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var x = 0; return x || 3;
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(JumpIfToBooleanTrue), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return (x == 1) || 3;
"
frame size: 2
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(TestEqual), R(1),
B(JumpIfTrue), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return x && 3;
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return (x == 0) && 3;
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Star), R(1),
B(LdaZero),
B(TestEqual), R(1),
B(JumpIfFalse), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return x || (1, 2, 3);
"
frame size: 1
parameter count: 1
bytecode array length: 9
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(JumpIfToBooleanTrue), U8(4),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 2, b = 3, c = 4; return a || (a, b, a, b, c = 5, 3);
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(LdaSmi8), U8(4),
B(Star), R(2),
B(Ldar), R(0),
B(JumpIfToBooleanTrue), U8(16),
B(Ldar), R(0),
B(Ldar), R(1),
B(Ldar), R(0),
B(Ldar), R(1),
B(LdaSmi8), U8(5),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1; var a = 2, b = 3; return x || (
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 3
parameter count: 1
bytecode array length: 276
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(2),
B(Ldar), R(0),
B(JumpIfToBooleanTrueConstant), U8(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
260,
]
handlers: [
]
---
snippet: "
var x = 0; var a = 2, b = 3; return x && (
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 3
parameter count: 1
bytecode array length: 275
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(2),
B(Ldar), R(0),
B(JumpIfToBooleanFalseConstant), U8(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
260,
]
handlers: [
]
---
snippet: "
var x = 1; var a = 2, b = 3; return (x > 3) || (
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 4
parameter count: 1
bytecode array length: 282
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(2),
B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi8), U8(3),
B(TestGreaterThan), R(3),
B(JumpIfTrueConstant), U8(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
260,
]
handlers: [
]
---
snippet: "
var x = 0; var a = 2, b = 3; return (x < 5) && (
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2,
a = 1, b = 2, 3);
"
frame size: 4
parameter count: 1
bytecode array length: 281
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(2),
B(Ldar), R(0),
B(Star), R(3),
B(LdaSmi8), U8(5),
B(TestLessThan), R(3),
B(JumpIfFalseConstant), U8(0),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
260,
]
handlers: [
]
---
snippet: "
return 0 && 3;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return 1 || 3;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1; return x && 3 || 0, 1;
"
frame size: 1
parameter count: 1
bytecode array length: 15
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(4),
B(LdaSmi8), U8(3),
B(JumpIfToBooleanTrue), U8(3),
B(LdaZero),
B(LdaSmi8), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,140 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
eval('var x = 10;'); return x;
"
frame size: 9
parameter count: 1
bytecode array length: 67
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi8), U8(30),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
B(Star), R(1),
B(Call), R(1), R(2), U8(2), U8(0),
B(LdaLookupSlot), U8(2),
B(Return),
]
constant pool: [
"eval",
"var x = 10;",
"x",
]
handlers: [
]
---
snippet: "
eval('var x = 10;'); return typeof x;
"
frame size: 9
parameter count: 1
bytecode array length: 68
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi8), U8(30),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
B(Star), R(1),
B(Call), R(1), R(2), U8(2), U8(0),
B(LdaLookupSlotInsideTypeof), U8(2),
B(TypeOf),
B(Return),
]
constant pool: [
"eval",
"var x = 10;",
"x",
]
handlers: [
]
---
snippet: "
x = 20; return eval('');
"
frame size: 9
parameter count: 1
bytecode array length: 69
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(LdaSmi8), U8(20),
B(StaLookupSlotSloppy), U8(0),
B(LdaConstant), U8(1),
B(Star), R(3),
B(CallRuntimeForPair), U16(Runtime::kLoadLookupSlotForCall), R(3), U8(1), R(1),
B(LdaConstant), U8(2),
B(Star), R(3),
B(Mov), R(1), R(4),
B(Mov), R(3), R(5),
B(Mov), R(closure), R(6),
B(LdaZero),
B(Star), R(7),
B(LdaSmi8), U8(30),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(5),
B(Star), R(1),
B(Call), R(1), R(2), U8(2), U8(0),
B(Return),
]
constant pool: [
"x",
"eval",
"",
]
handlers: [
]

View File

@ -0,0 +1,107 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
var f;
var x = 1;
function f1() {
eval(\"function t() { return x; }; f = t; f();\");
}
f1();
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaLookupSlot), U8(0),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
var f;
var x = 1;
function f1() {
eval(\"function t() { x = 10; }; f = t; f();\");
}
f1();
"
frame size: 0
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaLookupSlotSloppy), U8(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
var f;
var x = 1;
function f1() {
eval(\"function t() { 'use strict'; x = 10; }; f = t; f();\");
}
f1();
"
frame size: 0
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(StaLookupSlotStrict), U8(0),
B(LdaUndefined),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]
---
snippet: "
var f;
var x = 1;
function f1() {
eval(\"function t() { return typeof x; }; f = t; f();\");
}
f1();
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaLookupSlotInsideTypeof), U8(0),
B(TypeOf),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
return new.target;
"
frame size: 2
parameter count: 1
bytecode array length: 19
bytecodes: [
B(Ldar), R(new_target),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(1), U8(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
new.target;
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecodes: [
B(Ldar), R(new_target),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(JumpIfNotHole), U8(11),
B(LdaConstant), U8(0),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(1), U8(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,463 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
return { };
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(13),
B(Star), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
return { name: 'string', val: 9.2 };
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return { name: 'string', val: a };
"
frame size: 2
parameter count: 1
bytecode array length: 20
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Ldar), R(0),
B(StoreICSloppy), R(1), U8(1), U8(1),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return { val: a, val: a + 1 };
"
frame size: 3
parameter count: 1
bytecode array length: 26
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Ldar), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(Add), R(2),
B(StoreICSloppy), R(1), U8(1), U8(1),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
return { func: function() { } };
"
frame size: 1
parameter count: 1
bytecode array length: 17
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(CreateClosure), U8(1), U8(0),
B(StoreICSloppy), R(0), U8(2), U8(1),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
return { func(a) { return a; } };
"
frame size: 1
parameter count: 1
bytecode array length: 17
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(CreateClosure), U8(1), U8(0),
B(StoreICSloppy), R(0), U8(2), U8(1),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
return { get a() { return 2; } };
"
frame size: 6
parameter count: 1
bytecode array length: 33
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CreateClosure), U8(2), U8(0),
B(Star), R(3),
B(LdaNull),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
return { get a() { return this.x; }, set a(val) { this.x = val } };
"
frame size: 6
parameter count: 1
bytecode array length: 35
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(CreateClosure), U8(2), U8(0),
B(Star), R(3),
B(CreateClosure), U8(3), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
return { set b(val) { this.y = val } };
"
frame size: 6
parameter count: 1
bytecode array length: 33
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaConstant), U8(1),
B(Star), R(2),
B(LdaNull),
B(Star), R(3),
B(CreateClosure), U8(2), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]
---
snippet: "
var a = 1; return { 1: a };
"
frame size: 6
parameter count: 1
bytecode array length: 33
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(1),
B(Mov), R(1), R(2),
B(LdaSmi8), U8(1),
B(Star), R(3),
B(Ldar), R(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
return { __proto__: null };
"
frame size: 3
parameter count: 1
bytecode array length: 21
bytecodes: [
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(13),
B(Star), R(0),
B(Mov), R(0), R(1),
B(LdaNull),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2),
B(Ldar), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 'test'; return { [a]: 1 };
"
frame size: 7
parameter count: 1
bytecode array length: 37
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(0), U8(13),
B(Star), R(1),
B(Mov), R(1), R(2),
B(Ldar), R(0),
B(ToName),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var a = 'test'; return { val: a, [a]: 1 };
"
frame size: 7
parameter count: 1
bytecode array length: 43
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(0), U8(9),
B(Star), R(1),
B(Ldar), R(0),
B(StoreICSloppy), R(1), U8(2), U8(1),
B(Mov), R(1), R(2),
B(Ldar), R(0),
B(ToName),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]
---
snippet: "
var a = 'test'; return { [a]: 1, __proto__: {} };
"
frame size: 7
parameter count: 1
bytecode array length: 53
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(1), U8(13),
B(Star), R(1),
B(Mov), R(1), R(2),
B(Ldar), R(0),
B(ToName),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Mov), R(1), R(2),
B(CreateObjectLiteral), U8(1), U8(0), U8(13),
B(Star), R(4),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
]
handlers: [
]
---
snippet: "
var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} };
"
frame size: 7
parameter count: 1
bytecode array length: 77
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(CreateObjectLiteral), U8(1), U8(0), U8(13),
B(Star), R(1),
B(Mov), R(1), R(2),
B(Ldar), R(0),
B(ToName),
B(Star), R(3),
B(LdaConstant), U8(2),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(LdaZero),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5),
B(Mov), R(1), R(2),
B(LdaConstant), U8(3),
B(Star), R(3),
B(CreateClosure), U8(4), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4),
B(Mov), R(1), R(2),
B(LdaConstant), U8(3),
B(Star), R(3),
B(CreateClosure), U8(5), U8(0),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked), R(2), U8(4),
B(Ldar), R(1),
B(Return),
]
constant pool: [
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
function Outer() {
var outerVar = 1;
function Inner(innerArg) {
this.innerFunc = function() { return outerVar * innerArg; }
}
this.getInnerFunc = function() { return new Inner(1).innerFunc; }
}
var f = new Outer().getInnerFunc();
f();
"
frame size: 2
parameter count: 1
bytecode array length: 21
bytecodes: [
B(StackCheck),
B(Ldar), R(context),
B(Star), R(0),
B(LdaContextSlot), R(0), U8(1),
B(Star), R(0),
B(LdaContextSlot), R(0), U8(4),
B(Star), R(1),
B(LdaContextSlot), R(context), U8(4),
B(Mul), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function Outer() {
var outerVar = 1;
function Inner(innerArg) {
this.innerFunc = function() { outerVar = innerArg; }
}
this.getInnerFunc = function() { return new Inner(1).innerFunc; }
}
var f = new Outer().getInnerFunc();
f();
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecodes: [
B(StackCheck),
B(LdaContextSlot), R(context), U8(4),
B(Star), R(0),
B(Ldar), R(context),
B(Star), R(1),
B(LdaContextSlot), R(1), U8(1),
B(Star), R(1),
B(Ldar), R(0),
B(StaContextSlot), R(1), U8(4),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,140 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: no
test function name: f
---
snippet: "
function f() { return this; }
f();
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Ldar), R(this),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1) { return arg1; }
f();
"
frame size: 0
parameter count: 2
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1) { return this; }
f();
"
frame size: 0
parameter count: 2
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Ldar), R(this),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1, arg2, arg3, arg4, arg5, arg6, arg7) { return arg4; }
f();
"
frame size: 0
parameter count: 8
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Ldar), R(arg3),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1, arg2, arg3, arg4, arg5, arg6, arg7) { return this; }
f();
"
frame size: 0
parameter count: 8
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(Ldar), R(this),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1) { arg1 = 1; }
f();
"
frame size: 0
parameter count: 2
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(arg0),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
function f(arg1, arg2, arg3, arg4) { arg2 = 1; }
f();
"
frame size: 0
parameter count: 5
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(arg1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,277 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var x = 0; return x;
"
frame size: 1
parameter count: 1
bytecode array length: 5
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return x + 3;
"
frame size: 2
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Add), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return x - 3;
"
frame size: 2
parameter count: 1
bytecode array length: 11
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Sub), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 4; return x * 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(4),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Mul), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 4; return x / 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(4),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Div), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 4; return x % 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(4),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Mod), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1; return x | 2;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(BitwiseOr), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1; return x ^ 2;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(BitwiseXor), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1; return x & 2;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(BitwiseAnd), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10; return x << 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(ShiftLeft), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10; return x >> 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(ShiftRight), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 10; return x >>> 3;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(10),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(ShiftRightLogical), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 0; return (x, 3);
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(LdaSmi8), U8(3),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,178 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return null;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaNull),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return true;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaTrue),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return false;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaFalse),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return 0;
"
frame size: 0
parameter count: 1
bytecode array length: 3
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return +1;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return -1;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(-1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return +127;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(127),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
return -128;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(-128),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,626 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
function f(a) { return a.func(); }
f(new (function Obj() { this.func = function() { return; }})())
"
frame size: 2
parameter count: 2
bytecode array length: 17
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(LoadIC), R(1), U8(0), U8(3),
B(Star), R(0),
B(Call), R(0), R(1), U8(1), U8(1),
B(Return),
]
constant pool: [
"func",
]
handlers: [
]
---
snippet: "
function f(a, b, c) { return a.func(b, c); }
f(new (function Obj() { this.func = function() { return; }})(), 1, 2)
"
frame size: 4
parameter count: 4
bytecode array length: 25
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(LoadIC), R(1), U8(0), U8(3),
B(Star), R(0),
B(Ldar), R(arg1),
B(Star), R(2),
B(Ldar), R(arg2),
B(Star), R(3),
B(Call), R(0), R(1), U8(3), U8(1),
B(Return),
]
constant pool: [
"func",
]
handlers: [
]
---
snippet: "
function f(a, b) { return a.func(b + b, b); }
f(new (function Obj() { this.func = function() { return; }})(), 1)
"
frame size: 4
parameter count: 3
bytecode array length: 31
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(1),
B(LoadIC), R(1), U8(0), U8(3),
B(Star), R(0),
B(Ldar), R(arg1),
B(Star), R(3),
B(Ldar), R(arg1),
B(Add), R(3),
B(Star), R(2),
B(Ldar), R(arg1),
B(Star), R(3),
B(Call), R(0), R(1), U8(3), U8(1),
B(Return),
]
constant pool: [
"func",
]
handlers: [
]
---
snippet: "
function f(a) {
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
a.func;
return a.func(); }
f(new (function Obj() { this.func = function() { return; }})())
"
frame size: 2
parameter count: 2
bytecode array length: 1047
bytecodes: [
B(StackCheck),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(1),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(3),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(5),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(7),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(9),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(11),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(13),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(15),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(17),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(19),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(21),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(23),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(25),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(27),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(29),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(31),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(33),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(35),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(37),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(39),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(41),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(43),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(45),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(47),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(49),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(51),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(53),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(55),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(57),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(59),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(61),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(63),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(65),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(67),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(69),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(71),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(73),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(75),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(77),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(79),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(81),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(83),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(85),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(87),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(89),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(91),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(93),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(95),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(97),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(99),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(101),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(103),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(105),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(107),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(109),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(111),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(113),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(115),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(117),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(119),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(121),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(123),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(125),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(127),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(129),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(131),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(133),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(135),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(137),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(139),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(141),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(143),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(145),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(147),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(149),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(151),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(153),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(155),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(157),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(159),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(161),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(163),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(165),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(167),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(169),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(171),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(173),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(175),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(177),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(179),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(181),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(183),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(185),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(187),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(189),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(191),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(193),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(195),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(197),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(199),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(201),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(203),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(205),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(207),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(209),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(211),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(213),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(215),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(217),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(219),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(221),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(223),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(225),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(227),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(229),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(231),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(233),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(235),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(237),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(239),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(241),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(243),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(245),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(247),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(249),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(251),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(253),
B(Ldar), R(arg0),
B(Star), R(0),
B(LoadIC), R(0), U8(0), U8(255),
B(Ldar), R(arg0),
B(Star), R(1),
B(LoadICWide), R(1), U16(0), U16(259),
B(Star), R(0),
B(CallWide), R16(0), R16(1), U16(1), U16(257),
B(Return),
]
constant pool: [
"func",
]
handlers: [
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,71 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
return /ab+d/;
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
B(Return),
]
constant pool: [
"ab+d",
]
handlers: [
]
---
snippet: "
return /(\\w+)\\s(\\w+)/i;
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(CreateRegExpLiteral), U8(0), U8(0), U8(2),
B(Return),
]
constant pool: [
"(\x5cw+)\x5cs(\x5cw+)",
]
handlers: [
]
---
snippet: "
return /ab+d/.exec('abdd');
"
frame size: 3
parameter count: 1
bytecode array length: 23
bytecodes: [
B(StackCheck),
B(CreateRegExpLiteral), U8(0), U8(0), U8(0),
B(Star), R(1),
B(LoadIC), R(1), U8(1), U8(3),
B(Star), R(0),
B(LdaConstant), U8(2),
B(Star), R(2),
B(Call), R(0), R(1), U8(2), U8(1),
B(Return),
]
constant pool: [
"ab+d",
"exec",
"abdd",
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,104 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var ld_a = 1;
while(true) {
ld_a = ld_a + ld_a;
if (ld_a > 10) break;
}
return ld_a;
"
frame size: 2
parameter count: 1
bytecode array length: 31
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(Ldar), R(0),
B(Add), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(10),
B(TestGreaterThan), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(4),
B(Jump), U8(-21),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var ld_a = 1;
do {
ld_a = ld_a + ld_a;
if (ld_a > 10) continue;
} while(false);
return ld_a;
"
frame size: 2
parameter count: 1
bytecode array length: 29
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(Ldar), R(0),
B(Add), R(1),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(10),
B(TestGreaterThan), R(1),
B(JumpIfFalse), U8(4),
B(Jump), U8(2),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var ld_a = 1;
ld_a = ld_a + ld_a;
return ld_a;
"
frame size: 2
parameter count: 1
bytecode array length: 14
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Star), R(1),
B(Ldar), R(0),
B(Add), R(1),
B(Star), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,68 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
return \"This is a string\";
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Return),
]
constant pool: [
"This is a string",
]
handlers: [
]
---
snippet: "
var a = \"First string\"; return \"Second string\";
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(LdaConstant), U8(1),
B(Return),
]
constant pool: [
"First string",
"Second string",
]
handlers: [
]
---
snippet: "
var a = \"Same string\"; return \"Same string\";
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(LdaConstant), U8(0),
B(Return),
]
constant pool: [
"Same string",
]
handlers: [
]

View File

@ -0,0 +1,524 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var a = 1;
switch(a) {
case 1: return 2;
case 2: return 3;
}
"
frame size: 3
parameter count: 1
bytecode array length: 31
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(7),
B(Jump), U8(8),
B(LdaSmi8), U8(2),
B(Return),
B(LdaSmi8), U8(3),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case 1: a = 2; break;
case 2: a = 3; break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 37
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(Jump), U8(14),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(Jump), U8(8),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case 1: a = 2; // fall-through
case 2: a = 3; break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 35
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(8),
B(Jump), U8(12),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case 2: break;
case 3: break;
default: a = 1; break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 35
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(3),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(6),
B(Jump), U8(6),
B(Jump), U8(10),
B(Jump), U8(8),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(typeof(a)) {
case 2: a = 1; break;
case 3: a = 2; break;
default: a = 3; break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 44
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(TypeOf),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(3),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(Jump), U8(14),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Jump), U8(14),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(Jump), U8(8),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case typeof(a): a = 1; break;
default: a = 2; break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 32
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(Ldar), R(1),
B(TypeOf),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(4),
B(Jump), U8(8),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Jump), U8(8),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case 1:
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
a = 2;
break;
case 2:
a = 3;
break;
}
"
frame size: 3
parameter count: 1
bytecode array length: 289
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(1),
B(Star), R(0),
B(Star), R(2),
B(LdaSmi8), U8(1),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(2),
B(JumpIfTrueConstant), U8(0),
B(JumpConstant), U8(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(LdaSmi8), U8(2),
B(Star), R(1),
B(Jump), U8(8),
B(LdaSmi8), U8(3),
B(Star), R(1),
B(Jump), U8(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
262,
266,
]
handlers: [
]
---
snippet: "
var a = 1;
switch(a) {
case 1:
switch(a + 1) {
case 2 : a = 1; break;
default : a = 2; break;
} // fall-through
case 2: a = 3;
}
"
frame size: 5
parameter count: 1
bytecode array length: 61
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(2),
B(Star), R(0),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(10),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(3),
B(JumpIfTrue), U8(36),
B(Jump), U8(38),
B(Ldar), R(2),
B(Star), R(4),
B(LdaSmi8), U8(1),
B(Add), R(4),
B(Star), R(1),
B(Star), R(4),
B(LdaSmi8), U8(2),
B(TestEqualStrict), R(4),
B(JumpIfTrue), U8(4),
B(Jump), U8(8),
B(LdaSmi8), U8(1),
B(Star), R(2),
B(Jump), U8(8),
B(LdaSmi8), U8(2),
B(Star), R(2),
B(Jump), U8(2),
B(LdaSmi8), U8(3),
B(Star), R(2),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,66 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: no
test function name: f
---
snippet: "
var f;
f = function f() {};
f();
"
frame size: 2
parameter count: 1
bytecode array length: 19
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(closure),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var f;
f = function f() { return f; };
f();
"
frame size: 2
parameter count: 1
bytecode array length: 23
bytecodes: [
B(LdaTheHole),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(closure),
B(Star), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(5),
B(Mov), R(1), R(0),
B(Ldar), R(1),
B(Ldar), R(0),
B(JumpIfNotHole), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]

View File

@ -0,0 +1,67 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
throw 1;
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Throw),
]
constant pool: [
]
handlers: [
]
---
snippet: "
throw 'Error';
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Throw),
]
constant pool: [
"Error",
]
handlers: [
]
---
snippet: "
var a = 1; if (a) { throw 'Error'; };
"
frame size: 1
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(JumpIfToBooleanFalse), U8(5),
B(LdaConstant), U8(0),
B(Throw),
B(LdaUndefined),
B(Return),
]
constant pool: [
"Error",
]
handlers: [
]

View File

@ -0,0 +1,49 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: no
wrap: no
top level: yes
---
snippet: "
var a = { func: function() { } };
"
frame size: 5
parameter count: 1
bytecode array length: 49
bytecodes: [
B(LdaConstant), U8(0),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kDeclareGlobals), R(1), U8(2),
B(StackCheck),
B(LdaConstant), U8(1),
B(Star), R(1),
B(LdaZero),
B(Star), R(2),
B(CreateObjectLiteral), U8(2), U8(0), U8(11),
B(Star), R(4),
B(CreateClosure), U8(3), U8(1),
B(StoreICSloppy), R(4), U8(4), U8(3),
B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1),
B(Ldar), R(4),
B(Star), R(3),
B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3),
B(LdaUndefined),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::SHARED_FUNCTION_INFO_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -0,0 +1,99 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
try { return 1; } catch(e) { return 2; }
"
frame size: 5
parameter count: 1
bytecode array length: 40
bytecodes: [
B(StackCheck),
B(Mov), R(context), R(1),
B(LdaSmi8), U8(1),
B(Return),
B(Star), R(3),
B(LdaConstant), U8(0),
B(Star), R(2),
B(Ldar), R(closure),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(2), U8(3),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(1),
B(PushContext), R(0),
B(LdaSmi8), U8(2),
B(PopContext), R(0),
B(Return),
B(LdaUndefined),
B(Return),
]
constant pool: [
"e",
]
handlers: [
[4, 7, 7],
]
---
snippet: "
var a;
try { a = 1 } catch(e1) {};
try { a = 2 } catch(e2) { a = 3 }
"
frame size: 6
parameter count: 1
bytecode array length: 81
bytecodes: [
B(StackCheck),
B(Mov), R(context), R(2),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Jump), U8(30),
B(Star), R(4),
B(LdaConstant), U8(0),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(3), U8(3),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(2),
B(PushContext), R(1),
B(PopContext), R(1),
B(Mov), R(context), R(2),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(Jump), U8(34),
B(Star), R(4),
B(LdaConstant), U8(1),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(3), U8(3),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(2),
B(PushContext), R(1),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(PopContext), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
"e1",
"e2",
]
handlers: [
[4, 8, 10],
[41, 45, 47],
]

View File

@ -0,0 +1,181 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: yes
---
snippet: "
var a = 1;
try { a = 2; } finally { a = 3; }
"
frame size: 4
parameter count: 1
bytecode array length: 51
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Mov), R(context), R(3),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(LdaSmi8), U8(-1),
B(Star), R(1),
B(Jump), U8(7),
B(Star), R(2),
B(LdaZero),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(3),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(3), U8(1),
B(LdaZero),
B(TestEqualStrict), R(1),
B(JumpIfTrue), U8(4),
B(Jump), U8(5),
B(Ldar), R(2),
B(ReThrow),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
[8, 12, 18],
]
---
snippet: "
var a = 1;
try { a = 2; } catch(e) { a = 20 } finally { a = 3; }
"
frame size: 9
parameter count: 1
bytecode array length: 88
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Mov), R(context), R(4),
B(Mov), R(context), R(5),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(Jump), U8(34),
B(Star), R(7),
B(LdaConstant), U8(0),
B(Star), R(6),
B(Ldar), R(closure),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(5),
B(PushContext), R(1),
B(LdaSmi8), U8(20),
B(Star), R(0),
B(PopContext), R(1),
B(LdaSmi8), U8(-1),
B(Star), R(2),
B(Jump), U8(7),
B(Star), R(3),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(4),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
B(LdaZero),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(4),
B(Jump), U8(5),
B(Ldar), R(3),
B(ReThrow),
B(LdaUndefined),
B(Return),
]
constant pool: [
"e",
]
handlers: [
[8, 49, 55],
[11, 15, 17],
]
---
snippet: "
var a; try {
try { a = 1 } catch(e) { a = 2 }
} catch(e) { a = 20 } finally { a = 3; }
"
frame size: 10
parameter count: 1
bytecode array length: 121
bytecodes: [
B(StackCheck),
B(Mov), R(context), R(4),
B(Mov), R(context), R(5),
B(Mov), R(context), R(6),
B(LdaSmi8), U8(1),
B(Star), R(0),
B(Jump), U8(34),
B(Star), R(8),
B(LdaConstant), U8(0),
B(Star), R(7),
B(Ldar), R(closure),
B(Star), R(9),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(7), U8(3),
B(Star), R(6),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(6),
B(PushContext), R(1),
B(LdaSmi8), U8(2),
B(Star), R(0),
B(PopContext), R(1),
B(Jump), U8(34),
B(Star), R(7),
B(LdaConstant), U8(0),
B(Star), R(6),
B(Ldar), R(closure),
B(Star), R(8),
B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
B(Star), R(5),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Ldar), R(5),
B(PushContext), R(1),
B(LdaSmi8), U8(20),
B(Star), R(0),
B(PopContext), R(1),
B(LdaSmi8), U8(-1),
B(Star), R(2),
B(Jump), U8(7),
B(Star), R(3),
B(LdaZero),
B(Star), R(2),
B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
B(Star), R(4),
B(LdaSmi8), U8(3),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
B(LdaZero),
B(TestEqualStrict), R(2),
B(JumpIfTrue), U8(4),
B(Jump), U8(5),
B(Ldar), R(3),
B(ReThrow),
B(LdaUndefined),
B(Return),
]
constant pool: [
"e",
]
handlers: [
[4, 82, 88],
[7, 48, 50],
[10, 14, 16],
]

View File

@ -0,0 +1,56 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: string
execute: yes
wrap: no
test function name: f
---
snippet: "
function f() {
var x = 13;
return typeof(x);
};
f();
"
frame size: 1
parameter count: 1
bytecode array length: 7
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(13),
B(Star), R(0),
B(TypeOf),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 13;
function f() {
return typeof(x);
};
f();
"
frame size: 0
parameter count: 1
bytecode array length: 6
bytecodes: [
B(StackCheck),
B(LdaGlobalInsideTypeof), U8(0), U8(1),
B(TypeOf),
B(Return),
]
constant pool: [
"x",
]
handlers: [
]

View File

@ -0,0 +1,195 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: number
execute: yes
wrap: yes
---
snippet: "
var x = 0;
while (x != 10) {
x = x + 10;
}
return x;
"
frame size: 2
parameter count: 1
bytecode array length: 31
bytecodes: [
B(StackCheck),
B(LdaZero),
B(Star), R(0),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(10),
B(TestEqual), R(1),
B(LogicalNot),
B(JumpIfFalse), U8(15),
B(StackCheck),
B(Ldar), R(0),
B(Star), R(1),
B(LdaSmi8), U8(10),
B(Add), R(1),
B(Star), R(0),
B(Jump), U8(-22),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = false;
do {
x = !x;
} while(x == false);
return x;
"
frame size: 2
parameter count: 1
bytecode array length: 22
bytecodes: [
B(StackCheck),
B(LdaFalse),
B(Star), R(0),
B(StackCheck),
B(Ldar), R(0),
B(LogicalNot),
B(Star), R(0),
B(Ldar), R(0),
B(Star), R(1),
B(LdaFalse),
B(TestEqual), R(1),
B(JumpIfTrue), U8(-13),
B(Ldar), R(0),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 101;
return void(x * 3);
"
frame size: 2
parameter count: 1
bytecode array length: 13
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(101),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(3),
B(Mul), R(1),
B(LdaUndefined),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 1234;
var y = void (x * x - 1);
return y;
"
frame size: 4
parameter count: 1
bytecode array length: 21
bytecodes: [
B(StackCheck),
B(LdaConstant), U8(0),
B(Star), R(0),
B(Star), R(2),
B(Ldar), R(0),
B(Mul), R(2),
B(Star), R(3),
B(LdaSmi8), U8(1),
B(Sub), R(3),
B(LdaUndefined),
B(Star), R(1),
B(Return),
]
constant pool: [
1234,
]
handlers: [
]
---
snippet: "
var x = 13;
return ~x;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(13),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(-1),
B(BitwiseXor), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 13;
return +x;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(13),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(1),
B(Mul), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]
---
snippet: "
var x = 13;
return -x;
"
frame size: 2
parameter count: 1
bytecode array length: 12
bytecodes: [
B(StackCheck),
B(LdaSmi8), U8(13),
B(Star), R(0),
B(Star), R(1),
B(LdaSmi8), U8(-1),
B(Mul), R(1),
B(Return),
]
constant pool: [
]
handlers: [
]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,45 @@
#
# Autogenerated by generate-bytecode-expectations.
#
---
pool type: mixed
execute: yes
wrap: yes
---
snippet: "
with ({x:42}) { return x; }
"
frame size: 5
parameter count: 1
bytecode array length: 47
bytecodes: [
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1),
B(PushContext), R(0),
B(Ldar), R(this),
B(StaContextSlot), R(context), U8(4),
B(CreateMappedArguments),
B(StaContextSlot), R(context), U8(5),
B(Ldar), R(new_target),
B(StaContextSlot), R(context), U8(6),
B(StackCheck),
B(CreateObjectLiteral), U8(0), U8(0), U8(9),
B(Star), R(2),
B(ToObject),
B(Star), R(3),
B(Ldar), R(closure),
B(Star), R(4),
B(CallRuntime), U16(Runtime::kPushWithContext), R(3), U8(2),
B(PushContext), R(1),
B(LdaLookupSlot), U8(1),
B(PopContext), R(0),
B(Return),
]
constant pool: [
InstanceType::FIXED_ARRAY_TYPE,
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
]
handlers: [
]

View File

@ -381,7 +381,7 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT
if (options.legacy_const()) i::FLAG_legacy_const = true;
if (options.do_expressions()) i::FLAG_harmony_do_expressions = true;
stream << "#\n# Autogenerated by generate-bytecode-expectations\n#\n\n";
stream << "#\n# Autogenerated by generate-bytecode-expectations.\n#\n\n";
options.PrintHeader(stream);
for (const std::string& snippet : snippet_list) {
printer.PrintExpectation(stream, snippet);

File diff suppressed because it is too large Load Diff