v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden
Seth Brenith 7be64db45f Reland "[interpreter] Short Star bytecode"
This is a reland of cf93071c91

Original change's description:
> [interpreter] Short Star bytecode
>
> Design doc:
> https://docs.google.com/document/d/1g_NExMT78II_KnIYNa9MvyPYIj23qAiFUEsyemY5KRk/edit
>
> This change adds 16 new interpreter opcodes, kStar0 through kStar15, so
> that we can use a single byte to represent the common operation of
> storing to a low-numbered register. This generally reduces the quantity
> of bytecode generated on web sites by 8-9%.
>
> In order to not degrade speed, a couple of other changes are required:
>
> The existing lookahead logic to check for Star after certain other
> bytecode handlers is updated to check for these new short Star codes
> instead. Furthermore, that lookahead logic is updated to contain its own
> copy of the dispatch jump rather than merging control flow with the
> lookahead-failed case, to improve branch prediction.
>
> A bunch of constants use bytecode size in bytes as a proxy for the size
> or complexity of a function, and are adjusted downward proportionally to
> the decrease in generated bytecode size.
>
> Other small drive-by fix: update generate-bytecode-expectations to emit
> \n instead of \r\n on Windows.
>
> Change-Id: I6307c2b0f5794a3a1088bb0fb94f6e1615441ed5
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2641180
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
> Cr-Commit-Position: refs/heads/master@{#72773}

Change-Id: I1afb670c25694498b3989de615858f984a8c7f6f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698057
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72821}
2021-02-17 16:18:26 +00:00

791 lines
21 KiB
Plaintext

#
# Autogenerated by generate-bytecode-expectations.
#
---
wrap: no
top level: yes
print callee: yes
oneshot opt: yes
---
snippet: "
(function() {
l = {};
l.aa = 2;
l.bb = l.aa;
return arguments.callee;
})();
"
frame size: 3
parameter count: 1
bytecode array length: 35
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
/* 45 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
B(LdaSmi), I8(2),
/* 50 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(1), U8(0),
/* 63 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
/* 70 E> */ B(LdaGlobal), U8(0), U8(2),
B(Star2),
/* 72 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(1),
/* 68 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0),
/* 101 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(3),
/* 108 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
l = {};
for (i = 0; i < 5; ++i) {
l.aa = 2;
l.bb = l.aa;
}
return arguments.callee;
})();
"
frame size: 3
parameter count: 1
bytecode array length: 62
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
/* 50 S> */ B(LdaZero),
/* 52 E> */ B(StaGlobal), U8(1), U8(2),
/* 59 S> */ B(LdaGlobal), U8(1), U8(4),
B(Star1),
B(LdaSmi), I8(5),
/* 59 E> */ B(TestLessThan), R(1), U8(6),
B(JumpIfFalse), U8(39),
/* 81 S> */ B(LdaGlobal), U8(0), U8(7),
B(Star1),
B(LdaSmi), I8(2),
/* 86 E> */ B(StaNamedProperty), R(1), U8(2), U8(9),
/* 101 S> */ B(LdaGlobal), U8(0), U8(7),
B(Star1),
/* 108 E> */ B(LdaGlobal), U8(0), U8(7),
B(Star2),
/* 110 E> */ B(LdaNamedProperty), R(2), U8(2), U8(11),
/* 106 E> */ B(StaNamedProperty), R(1), U8(3), U8(13),
/* 66 S> */ B(LdaGlobal), U8(1), U8(4),
B(Inc), U8(15),
/* 66 E> */ B(StaGlobal), U8(1), U8(2),
/* 45 E> */ B(JumpLoop), U8(45), I8(0),
/* 149 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4),
/* 156 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
l = {};
c = 4;
while(c > 4) {
l.aa = 2;
l.bb = l.aa;
c--;
}
return arguments.callee;
})();
"
frame size: 3
parameter count: 1
bytecode array length: 63
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
/* 45 S> */ B(LdaSmi), I8(4),
/* 47 E> */ B(StaGlobal), U8(1), U8(2),
/* 68 S> */ B(LdaGlobal), U8(1), U8(4),
B(Star1),
B(LdaSmi), I8(4),
/* 68 E> */ B(TestGreaterThan), R(1), U8(6),
B(JumpIfFalse), U8(39),
/* 85 S> */ B(LdaGlobal), U8(0), U8(7),
B(Star1),
B(LdaSmi), I8(2),
/* 90 E> */ B(StaNamedProperty), R(1), U8(2), U8(9),
/* 105 S> */ B(LdaGlobal), U8(0), U8(7),
B(Star1),
/* 112 E> */ B(LdaGlobal), U8(0), U8(7),
B(Star2),
/* 114 E> */ B(LdaNamedProperty), R(2), U8(2), U8(11),
/* 110 E> */ B(StaNamedProperty), R(1), U8(3), U8(13),
/* 128 S> */ B(LdaGlobal), U8(1), U8(4),
B(Dec), U8(15),
/* 129 E> */ B(StaGlobal), U8(1), U8(2),
/* 60 E> */ B(JumpLoop), U8(45), I8(0),
/* 168 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4),
/* 175 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["c"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
l = {};
c = 4;
do {
l.aa = 2;
l.bb = l.aa;
c--;
} while(c > 4)
return arguments.callee;
})();
"
frame size: 3
parameter count: 1
bytecode array length: 63
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(CreateEmptyObjectLiteral),
/* 31 E> */ B(StaGlobal), U8(0), U8(0),
/* 45 S> */ B(LdaSmi), I8(4),
/* 47 E> */ B(StaGlobal), U8(1), U8(2),
/* 75 S> */ B(LdaGlobal), U8(0), U8(4),
B(Star1),
B(LdaSmi), I8(2),
/* 80 E> */ B(StaNamedProperty), R(1), U8(2), U8(6),
/* 95 S> */ B(LdaGlobal), U8(0), U8(4),
B(Star1),
/* 102 E> */ B(LdaGlobal), U8(0), U8(4),
B(Star2),
/* 104 E> */ B(LdaNamedProperty), R(2), U8(2), U8(8),
/* 100 E> */ B(StaNamedProperty), R(1), U8(3), U8(10),
/* 118 S> */ B(LdaGlobal), U8(1), U8(12),
B(Dec), U8(14),
/* 119 E> */ B(StaGlobal), U8(1), U8(2),
/* 141 S> */ B(LdaGlobal), U8(1), U8(12),
B(Star1),
B(LdaSmi), I8(4),
/* 141 E> */ B(TestGreaterThan), R(1), U8(15),
B(JumpIfFalse), U8(5),
/* 60 E> */ B(JumpLoop), U8(45), I8(0),
/* 171 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4),
/* 178 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["c"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
l = {
'aa': 3.3,
'bb': 4.4
};
if (l.aa < 3) {
l.aa = 3;
} else {
l.aa = l.bb;
}
return arguments.callee;
})();
"
frame size: 4
parameter count: 1
bytecode array length: 62
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star2),
B(LdaSmi), I8(41),
B(Star3),
B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2),
/* 31 E> */ B(StaGlobal), U8(1), U8(0),
/* 95 S> */ B(LdaGlobal), U8(1), U8(2),
B(Star1),
/* 101 E> */ B(LdaNamedPropertyNoFeedback), R(1), U8(2),
B(Star1),
B(LdaSmi), I8(3),
/* 104 E> */ B(TestLessThan), R(1), U8(4),
B(JumpIfFalse), U8(14),
/* 121 S> */ B(LdaGlobal), U8(1), U8(2),
B(Star1),
B(LdaSmi), I8(3),
/* 126 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0),
B(Jump), U8(17),
/* 158 S> */ B(LdaGlobal), U8(1), U8(2),
B(Star1),
/* 165 E> */ B(LdaGlobal), U8(1), U8(2),
B(Star2),
/* 167 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(3),
/* 163 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0),
/* 206 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4),
/* 213 S> */ B(Return),
]
constant pool: [
OBJECT_BOILERPLATE_DESCRIPTION_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
a = [0, [1, 1,2,], 3];
return arguments.callee;
})();
"
frame size: 5
parameter count: 1
bytecode array length: 20
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star3),
B(LdaSmi), I8(4),
B(Star4),
B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2),
/* 31 E> */ B(StaGlobal), U8(1), U8(0),
/* 77 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2),
/* 84 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
(function() {
a = [];
return arguments.callee;
})();
"
frame size: 5
parameter count: 1
bytecode array length: 20
bytecodes: [
/* 16 E> */ B(CreateMappedArguments),
B(Star0),
/* 29 S> */ B(LdaConstant), U8(0),
B(Star3),
B(LdaSmi), I8(37),
B(Star4),
B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2),
/* 31 E> */ B(StaGlobal), U8(1), U8(0),
/* 62 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2),
/* 69 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
this.f0 = function() {};
this.f1 = function(a) {};
this.f2 = function(a, b) {};
this.f3 = function(a, b, c) {};
this.f4 = function(a, b, c, d) {};
this.f5 = function(a, b, c, d, e) {};
(function() {
this.f0();
this.f1(1);
this.f2(1, 2);
this.f3(1, 2, 3);
this.f4(1, 2, 3, 4);
this.f5(1, 2, 3, 4, 5);
return arguments.callee;
})();
"
frame size: 8
parameter count: 1
bytecode array length: 114
bytecodes: [
/* 237 E> */ B(CreateMappedArguments),
B(Star0),
/* 255 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(0),
B(Star1),
/* 255 E> */ B(CallNoFeedback), R(1), R(this), U8(1),
/* 274 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(1),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(Mov), R(this), R(2),
/* 274 E> */ B(CallNoFeedback), R(1), R(2), U8(2),
/* 294 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(2),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(Mov), R(this), R(2),
/* 294 E> */ B(CallNoFeedback), R(1), R(2), U8(3),
/* 317 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(3),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
B(Mov), R(this), R(2),
/* 317 E> */ B(CallNoFeedback), R(1), R(2), U8(4),
/* 343 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(4),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
B(LdaSmi), I8(4),
B(Star6),
B(Mov), R(this), R(2),
/* 343 E> */ B(CallNoFeedback), R(1), R(2), U8(5),
/* 372 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(5),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
B(LdaSmi), I8(4),
B(Star6),
B(LdaSmi), I8(5),
B(Star7),
B(Mov), R(this), R(2),
/* 372 E> */ B(CallNoFeedback), R(1), R(2), U8(6),
/* 416 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(6),
/* 423 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
function f0() {}
function f1(a) {}
function f2(a, b) {}
function f3(a, b, c) {}
function f4(a, b, c, d) {}
function f5(a, b, c, d, e) {}
(function() {
f0();
f1(1);
f2(1, 2);
f3(1, 2, 3);
f4(1, 2, 3, 4);
f5(1, 2, 3, 4, 5);
return arguments.callee;
})();
"
frame size: 8
parameter count: 1
bytecode array length: 111
bytecodes: [
/* 189 E> */ B(CreateMappedArguments),
B(Star0),
/* 202 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(0), U8(0),
B(Star1),
/* 202 E> */ B(CallNoFeedback), R(1), R(2), U8(1),
/* 216 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(1), U8(2),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
/* 216 E> */ B(CallNoFeedback), R(1), R(2), U8(2),
/* 231 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(2), U8(4),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
/* 231 E> */ B(CallNoFeedback), R(1), R(2), U8(3),
/* 249 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(3), U8(6),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
/* 249 E> */ B(CallNoFeedback), R(1), R(2), U8(4),
/* 270 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(4), U8(8),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
B(LdaSmi), I8(4),
B(Star6),
/* 270 E> */ B(CallNoFeedback), R(1), R(2), U8(5),
/* 294 S> */ B(LdaUndefined),
B(Star2),
B(LdaGlobal), U8(5), U8(10),
B(Star1),
B(LdaSmi), I8(1),
B(Star3),
B(LdaSmi), I8(2),
B(Star4),
B(LdaSmi), I8(3),
B(Star5),
B(LdaSmi), I8(4),
B(Star6),
B(LdaSmi), I8(5),
B(Star7),
/* 294 E> */ B(CallNoFeedback), R(1), R(2), U8(6),
/* 338 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(6),
/* 345 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
var t = 0;
function f2() {};
if (t == 0) {
(function(){
l = {};
l.a = 3;
l.b = 4;
f2();
return arguments.callee;
})();
}
"
frame size: 2
parameter count: 1
bytecode array length: 38
bytecodes: [
/* 79 E> */ B(CreateMappedArguments),
B(Star0),
/* 93 S> */ B(CreateEmptyObjectLiteral),
/* 95 E> */ B(StaGlobal), U8(0), U8(0),
/* 111 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
B(LdaSmi), I8(3),
/* 115 E> */ B(StaNamedProperty), R(1), U8(1), U8(4),
/* 130 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
B(LdaSmi), I8(4),
/* 134 E> */ B(StaNamedProperty), R(1), U8(2), U8(6),
/* 149 S> */ B(LdaGlobal), U8(3), U8(8),
B(Star1),
/* 149 E> */ B(CallUndefinedReceiver0), R(1), U8(10),
/* 182 S> */ B(LdaNamedProperty), R(0), U8(4), U8(12),
/* 189 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
function f2() {};
function f() {
return (function(){
l = {};
l.a = 3;
l.b = 4;
f2();
return arguments.callee;
})();
}
f();
"
frame size: 2
parameter count: 1
bytecode array length: 38
bytecodes: [
/* 76 E> */ B(CreateMappedArguments),
B(Star0),
/* 92 S> */ B(CreateEmptyObjectLiteral),
/* 94 E> */ B(StaGlobal), U8(0), U8(0),
/* 112 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
B(LdaSmi), I8(3),
/* 116 E> */ B(StaNamedProperty), R(1), U8(1), U8(4),
/* 133 S> */ B(LdaGlobal), U8(0), U8(2),
B(Star1),
B(LdaSmi), I8(4),
/* 137 E> */ B(StaNamedProperty), R(1), U8(2), U8(6),
/* 154 S> */ B(LdaGlobal), U8(3), U8(8),
B(Star1),
/* 154 E> */ B(CallUndefinedReceiver0), R(1), U8(10),
/* 189 S> */ B(LdaNamedProperty), R(0), U8(4), U8(12),
/* 196 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
var f = function(l) { l.a = 3; return l; };
f({});
f;
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecodes: [
/* 32 S> */ B(LdaSmi), I8(3),
/* 36 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 41 S> */ B(Ldar), R(arg0),
/* 50 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]
---
snippet: "
var f = (function(l) { l.a = 3; return l; });
f;
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecodes: [
/* 33 S> */ B(LdaSmi), I8(3),
/* 37 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 42 S> */ B(Ldar), R(arg0),
/* 51 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]
---
snippet: "
var f = (function foo(l) { l.a = 3; return l; });
f;
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecodes: [
/* 37 S> */ B(LdaSmi), I8(3),
/* 41 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 46 S> */ B(Ldar), R(arg0),
/* 55 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]
---
snippet: "
var f = function foo(l) { l.a = 3; return l; };
f({});
f;
"
frame size: 0
parameter count: 2
bytecode array length: 9
bytecodes: [
/* 36 S> */ B(LdaSmi), I8(3),
/* 40 E> */ B(StaNamedProperty), R(arg0), U8(0), U8(0),
/* 45 S> */ B(Ldar), R(arg0),
/* 54 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]
---
snippet: "
l = {};
var f = (function foo(l) { l.a = 3; return arguments.callee; })(l);
f;
"
frame size: 3
parameter count: 2
bytecode array length: 24
bytecodes: [
/* 46 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
B(CreateMappedArguments),
B(Star0),
/* 53 S> */ B(LdaCurrentContextSlot), U8(2),
B(Star2),
B(LdaSmi), I8(3),
/* 57 E> */ B(StaNamedPropertyNoFeedback), R(2), U8(1), U8(0),
/* 79 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2),
/* 86 S> */ B(Return),
]
constant pool: [
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]
---
snippet: "
var f = (function foo(l) { l.a = 3; return arguments.callee; })({});
f;
"
frame size: 3
parameter count: 2
bytecode array length: 24
bytecodes: [
/* 30 E> */ B(CreateFunctionContext), U8(0), U8(1),
B(PushContext), R(1),
B(Ldar), R(arg0),
B(StaCurrentContextSlot), U8(2),
B(CreateMappedArguments),
B(Star0),
/* 37 S> */ B(LdaCurrentContextSlot), U8(2),
B(Star2),
B(LdaSmi), I8(3),
/* 41 E> */ B(StaNamedPropertyNoFeedback), R(2), U8(1), U8(0),
/* 63 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2),
/* 70 S> */ B(Return),
]
constant pool: [
SCOPE_INFO_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"],
]
handlers: [
]