b28b7e1328
For historical reasons, the interpreter's bytecode expectations tests required a type for the constant pool. This had two disadvantages: 1. Strings and numbers were not visible in mixed pools, and 2. Mismatches of pool types (e.g. when rebaselining) would cause parser errors This removes the pool types, making everything 'mixed', but appending the values to string and number valued constants. Specifying a pool type in the *.golden header now prints a warning (for backwards compatibility). BUG=v8:5350 Review-Url: https://codereview.chromium.org/2310103002 Cr-Commit-Position: refs/heads/master@{#39216}
204 lines
5.1 KiB
Plaintext
204 lines
5.1 KiB
Plaintext
#
|
|
# Autogenerated by generate-bytecode-expectations.
|
|
#
|
|
|
|
---
|
|
execute: yes
|
|
wrap: yes
|
|
|
|
---
|
|
snippet: "
|
|
var x = 0;
|
|
label: {
|
|
x = x + 1;
|
|
break label;
|
|
x = x + 1;
|
|
}
|
|
return x;
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 15
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaZero),
|
|
B(Star), R(0),
|
|
/* 56 S> */ B(AddSmi), U8(1), R(0), U8(1),
|
|
B(Star), R(0),
|
|
/* 69 S> */ B(Jump), U8(2),
|
|
/* 97 S> */ B(Ldar), R(0),
|
|
/* 107 S> */ 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: 67
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 44 S> */ B(LdaZero),
|
|
B(Star), R(0),
|
|
/* 71 S> */ B(LdaZero),
|
|
B(Star), R(1),
|
|
/* 76 S> */ B(LdaSmi), U8(10),
|
|
/* 76 E> */ B(TestLessThan), R(1), U8(1),
|
|
B(JumpIfFalse), U8(52),
|
|
/* 58 E> */ B(StackCheck),
|
|
/* 106 S> */ B(LdaZero),
|
|
B(Star), R(2),
|
|
/* 111 S> */ B(LdaSmi), U8(3),
|
|
/* 111 E> */ B(TestLessThan), R(2), U8(3),
|
|
B(JumpIfFalse), U8(33),
|
|
/* 93 E> */ B(StackCheck),
|
|
/* 129 S> */ B(Ldar), R(0),
|
|
B(Inc), U8(5),
|
|
B(Star), R(0),
|
|
/* 142 S> */ B(Ldar), R(2),
|
|
/* 150 E> */ B(Add), R(1), U8(6),
|
|
B(Star), R(4),
|
|
B(LdaSmi), U8(12),
|
|
/* 152 E> */ B(TestEqual), R(4), U8(7),
|
|
B(JumpIfFalse), U8(4),
|
|
/* 161 S> */ B(Jump), U8(18),
|
|
/* 118 S> */ B(Ldar), R(2),
|
|
B(Inc), U8(4),
|
|
B(Star), R(2),
|
|
B(Jump), U8(-36),
|
|
/* 84 S> */ B(Ldar), R(1),
|
|
B(Inc), U8(2),
|
|
B(Star), R(1),
|
|
B(Jump), U8(-55),
|
|
/* 188 S> */ B(Ldar), R(0),
|
|
/* 200 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
outer: {
|
|
let y = 10;
|
|
function f() { return y; }
|
|
break outer;
|
|
}
|
|
"
|
|
frame size: 3
|
|
parameter count: 1
|
|
bytecode array length: 32
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
B(Ldar), R(closure),
|
|
B(CreateBlockContext), U8(0),
|
|
B(PushContext), R(2),
|
|
B(LdaTheHole),
|
|
B(StaContextSlot), R(context), U8(4),
|
|
B(CreateClosure), U8(1), U8(2),
|
|
B(Star), R(0),
|
|
/* 53 S> */ B(LdaSmi), U8(10),
|
|
/* 53 E> */ B(StaContextSlot), R(context), U8(4),
|
|
B(Mov), R(0), R(1),
|
|
B(Ldar), R(0),
|
|
/* 88 S> */ B(Jump), U8(2),
|
|
B(PopContext), R(2),
|
|
B(LdaUndefined),
|
|
/* 103 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
SHARED_FUNCTION_INFO_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: 107
|
|
bytecodes: [
|
|
B(CreateFunctionContext), U8(1),
|
|
B(PushContext), R(2),
|
|
B(LdaTheHole),
|
|
B(StaContextSlot), R(context), U8(4),
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaSmi), U8(1),
|
|
/* 42 E> */ B(StaContextSlot), R(context), U8(4),
|
|
B(Ldar), R(closure),
|
|
B(CreateBlockContext), U8(0),
|
|
B(PushContext), R(3),
|
|
B(LdaTheHole),
|
|
B(StaContextSlot), R(context), U8(4),
|
|
B(CreateClosure), U8(1), U8(2),
|
|
B(Star), R(0),
|
|
/* 76 S> */ B(LdaSmi), U8(2),
|
|
/* 76 E> */ B(StaContextSlot), R(context), U8(4),
|
|
B(Mov), R(0), R(1),
|
|
/* 118 S> */ B(LdaContextSlot), R(context), U8(4),
|
|
B(JumpIfNotHole), U8(11),
|
|
B(LdaConstant), U8(2),
|
|
B(Star), R(4),
|
|
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
|
|
B(JumpIfToBooleanFalse), U8(6),
|
|
/* 125 S> */ B(PopContext), R(3),
|
|
B(Jump), U8(27),
|
|
/* 142 S> */ B(LdaSmi), U8(3),
|
|
B(Star), R(4),
|
|
/* 144 E> */ B(LdaContextSlot), R(context), U8(4),
|
|
B(JumpIfNotHole), U8(11),
|
|
B(LdaConstant), U8(2),
|
|
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),
|
|
/* 155 S> */ B(LdaSmi), U8(4),
|
|
B(Star), R(4),
|
|
/* 157 E> */ 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(LdaUndefined),
|
|
/* 162 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|