044b2d1bd8
The patch was reverted due to a bug - we failed to evict OSR-optimized code in the case where the SharedFunctionInfo OptimizedCodeMap was empty/cleared. Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. Review-Url: https://codereview.chromium.org/2561083002 Cr-Commit-Position: refs/heads/master@{#41584}
160 lines
4.4 KiB
Plaintext
160 lines
4.4 KiB
Plaintext
#
|
|
# Autogenerated by generate-bytecode-expectations.
|
|
#
|
|
|
|
---
|
|
wrap: no
|
|
test function name: test
|
|
|
|
---
|
|
snippet: "
|
|
var test;
|
|
(function() {
|
|
class A {
|
|
constructor(...args) { this.baseArgs = args; }
|
|
}
|
|
class B extends A {}
|
|
test = new B(1, 2, 3).constructor;
|
|
})();
|
|
"
|
|
frame size: 7
|
|
parameter count: 1
|
|
bytecode array length: 32
|
|
bytecodes: [
|
|
B(CreateRestParameter),
|
|
B(Star), R(2),
|
|
B(Mov), R(closure), R(1),
|
|
B(Mov), R(new_target), R(0),
|
|
B(Ldar), R(new_target),
|
|
/* 93 E> */ B(StackCheck),
|
|
/* 93 S> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1),
|
|
B(Star), R(3),
|
|
B(Mov), R(3), R(4),
|
|
B(Mov), R(0), R(5),
|
|
B(Mov), R(2), R(6),
|
|
/* 93 E> */ B(NewWithSpread), R(4), U8(3),
|
|
/* 93 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var test;
|
|
(function() {
|
|
class A {
|
|
constructor(...args) { this.baseArgs = args; }
|
|
}
|
|
class B extends A {
|
|
constructor(...args) { super(1, ...args); }
|
|
}
|
|
test = new B(1, 2, 3).constructor;
|
|
})();
|
|
"
|
|
frame size: 8
|
|
parameter count: 1
|
|
bytecode array length: 69
|
|
bytecodes: [
|
|
B(CreateRestParameter),
|
|
B(Star), R(2),
|
|
B(Mov), R(closure), R(1),
|
|
B(Mov), R(new_target), R(0),
|
|
B(Ldar), R(new_target),
|
|
/* 128 E> */ B(StackCheck),
|
|
/* 140 S> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1),
|
|
B(Star), R(3),
|
|
B(LdaSmi), U8(1),
|
|
B(Star), R(6),
|
|
B(Mov), R(3), R(4),
|
|
B(Mov), R(0), R(5),
|
|
B(Mov), R(2), R(7),
|
|
/* 152 E> */ B(NewWithSpread), R(4), U8(4),
|
|
B(Star), R(3),
|
|
B(Ldar), R(this),
|
|
B(JumpIfNotHole), U8(4),
|
|
B(Jump), U8(11),
|
|
B(LdaConstant), U8(0),
|
|
B(Star), R(4),
|
|
/* 140 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
|
|
B(Mov), R(3), R(this),
|
|
B(Ldar), R(this),
|
|
B(JumpIfNotHole), U8(11),
|
|
B(LdaConstant), U8(0),
|
|
B(Star), R(3),
|
|
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
|
|
/* 159 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var test;
|
|
(function() {
|
|
class A {
|
|
constructor(...args) { this.baseArgs = args; }
|
|
}
|
|
class B extends A {
|
|
constructor(...args) { super(1, ...args, 1); }
|
|
}
|
|
test = new B(1, 2, 3).constructor;
|
|
})();
|
|
"
|
|
frame size: 13
|
|
parameter count: 1
|
|
bytecode array length: 96
|
|
bytecodes: [
|
|
B(CreateRestParameter),
|
|
B(Star), R(2),
|
|
B(Mov), R(closure), R(1),
|
|
B(Mov), R(new_target), R(0),
|
|
B(Ldar), R(new_target),
|
|
/* 128 E> */ B(StackCheck),
|
|
/* 140 S> */ B(LdaUndefined),
|
|
B(Star), R(3),
|
|
/* 140 E> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1),
|
|
B(Star), R(4),
|
|
B(LdaUndefined),
|
|
B(Star), R(7),
|
|
B(CreateArrayLiteral), U8(0), U8(0), U8(9),
|
|
B(Star), R(8),
|
|
B(LdaUndefined),
|
|
B(Star), R(11),
|
|
B(Mov), R(2), R(12),
|
|
/* 152 E> */ B(CallJSRuntime), U8(157), R(11), U8(2),
|
|
B(Star), R(9),
|
|
B(CreateArrayLiteral), U8(1), U8(1), U8(9),
|
|
B(Star), R(10),
|
|
B(CallJSRuntime), U8(156), R(7), U8(4),
|
|
B(Star), R(5),
|
|
B(Mov), R(0), R(6),
|
|
/* 140 E> */ B(CallJSRuntime), U8(153), R(3), U8(4),
|
|
B(Star), R(3),
|
|
B(Ldar), R(this),
|
|
B(JumpIfNotHole), U8(4),
|
|
B(Jump), U8(11),
|
|
B(LdaConstant), U8(2),
|
|
B(Star), R(4),
|
|
/* 140 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
|
|
B(Mov), R(3), R(this),
|
|
B(Ldar), R(this),
|
|
B(JumpIfNotHole), U8(11),
|
|
B(LdaConstant), U8(2),
|
|
B(Star), R(3),
|
|
B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
|
|
/* 162 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|