[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:
parent
6695290c5e
commit
6ae030590d
@ -6,6 +6,7 @@
|
||||
'files': [
|
||||
'./cctest.status',
|
||||
'./testcfg.py',
|
||||
'./interpreter/bytecode_expectations/',
|
||||
],
|
||||
},
|
||||
'includes': [
|
||||
|
@ -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 << " ";
|
||||
|
@ -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
|
||||
|
@ -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
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
859
test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
Normal file
859
test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
91
test/cctest/interpreter/bytecode_expectations/CallNew.golden
Normal file
91
test/cctest/interpreter/bytecode_expectations/CallNew.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
147
test/cctest/interpreter/bytecode_expectations/Delete.golden
Normal file
147
test/cctest/interpreter/bytecode_expectations/Delete.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
50
test/cctest/interpreter/bytecode_expectations/Eval.golden
Normal file
50
test/cctest/interpreter/bytecode_expectations/Eval.golden
Normal 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: [
|
||||
]
|
||||
|
263
test/cctest/interpreter/bytecode_expectations/ForIn.golden
Normal file
263
test/cctest/interpreter/bytecode_expectations/ForIn.golden
Normal 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: [
|
||||
]
|
||||
|
250
test/cctest/interpreter/bytecode_expectations/ForOf.golden
Normal file
250
test/cctest/interpreter/bytecode_expectations/ForOf.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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: [
|
||||
]
|
||||
|
115
test/cctest/interpreter/bytecode_expectations/LetVariable.golden
Normal file
115
test/cctest/interpreter/bytecode_expectations/LetVariable.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
605
test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden
Normal file
605
test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
140
test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
Normal file
140
test/cctest/interpreter/bytecode_expectations/LookupSlot.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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
@ -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: [
|
||||
]
|
||||
|
@ -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
@ -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: [
|
||||
]
|
||||
|
140
test/cctest/interpreter/bytecode_expectations/Parameters.golden
Normal file
140
test/cctest/interpreter/bytecode_expectations/Parameters.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
1576
test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden
Normal file
1576
test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden
Normal file
File diff suppressed because it is too large
Load Diff
3359
test/cctest/interpreter/bytecode_expectations/PropertyStores.golden
Normal file
3359
test/cctest/interpreter/bytecode_expectations/PropertyStores.golden
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
@ -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: [
|
||||
]
|
||||
|
1172
test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden
Normal file
1172
test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden
Normal file
File diff suppressed because it is too large
Load Diff
@ -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: [
|
||||
]
|
||||
|
524
test/cctest/interpreter/bytecode_expectations/Switch.golden
Normal file
524
test/cctest/interpreter/bytecode_expectations/Switch.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
67
test/cctest/interpreter/bytecode_expectations/Throw.golden
Normal file
67
test/cctest/interpreter/bytecode_expectations/Throw.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
@ -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],
|
||||
]
|
||||
|
181
test/cctest/interpreter/bytecode_expectations/TryFinally.golden
Normal file
181
test/cctest/interpreter/bytecode_expectations/TryFinally.golden
Normal 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],
|
||||
]
|
||||
|
56
test/cctest/interpreter/bytecode_expectations/Typeof.golden
Normal file
56
test/cctest/interpreter/bytecode_expectations/Typeof.golden
Normal 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: [
|
||||
]
|
||||
|
@ -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: [
|
||||
]
|
||||
|
1371
test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
Normal file
1371
test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
Normal file
File diff suppressed because it is too large
Load Diff
@ -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: [
|
||||
]
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user