[ignition] Move generator object creation to BytecodeGenerator
This lets us avoid allocating the "this" variable for every generator, since the BytecodeGenerator can directly read the receiver via BytecodeArrayBuilder::Receive() when passing it into %_CreateJSGeneratorObject. Bug: v8:6351 Change-Id: Ib5e1f3303b6b5d5fc051ce76ea62129fd6afac65 Reviewed-on: https://chromium-review.googlesource.com/500507 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#45281}
This commit is contained in:
parent
fc5765ce79
commit
68f0a47b28
@ -774,6 +774,12 @@ void BytecodeGenerator::GenerateBytecodeBody() {
|
||||
// Build assignment to {new.target} variable if it is used.
|
||||
VisitNewTargetVariable(closure_scope()->new_target_var());
|
||||
|
||||
// Create a generator object if necessary and initialize the
|
||||
// {.generator_object} variable.
|
||||
if (IsResumableFunction(info()->literal()->kind())) {
|
||||
BuildGeneratorObjectVariableInitialization();
|
||||
}
|
||||
|
||||
// Emit tracing call if requested to do so.
|
||||
if (FLAG_trace) builder()->CallRuntime(Runtime::kTraceEnter);
|
||||
|
||||
@ -3526,6 +3532,20 @@ void BytecodeGenerator::VisitNewTargetVariable(Variable* variable) {
|
||||
builder()->Bind(&flush_state_label);
|
||||
}
|
||||
|
||||
void BytecodeGenerator::BuildGeneratorObjectVariableInitialization() {
|
||||
DCHECK(IsResumableFunction(info()->literal()->kind()));
|
||||
DCHECK_NOT_NULL(closure_scope()->generator_object_var());
|
||||
|
||||
RegisterAllocationScope register_scope(this);
|
||||
RegisterList args = register_allocator()->NewRegisterList(2);
|
||||
builder()
|
||||
->MoveRegister(Register::function_closure(), args[0])
|
||||
.MoveRegister(builder()->Receiver(), args[1])
|
||||
.CallRuntime(Runtime::kInlineCreateJSGeneratorObject, args);
|
||||
BuildVariableAssignment(closure_scope()->generator_object_var(), Token::INIT,
|
||||
FeedbackSlot::Invalid(), HoleCheckMode::kElided);
|
||||
}
|
||||
|
||||
void BytecodeGenerator::VisitFunctionClosureForContext() {
|
||||
ValueResultScope value_execution_result(this);
|
||||
if (closure_scope()->is_script_scope()) {
|
||||
|
@ -144,6 +144,7 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
|
||||
void BuildClassLiteral(ClassLiteral* expr);
|
||||
void VisitThisFunctionVariable(Variable* variable);
|
||||
void VisitNewTargetVariable(Variable* variable);
|
||||
void BuildGeneratorObjectVariableInitialization();
|
||||
void VisitBlockDeclarationsAndStatements(Block* stmt);
|
||||
void VisitFunctionClosureForContext();
|
||||
void VisitSetHomeObject(Register value, Register home_object,
|
||||
|
@ -3132,22 +3132,6 @@ Block* Parser::BuildRejectPromiseOnException(Block* inner_block) {
|
||||
return result;
|
||||
}
|
||||
|
||||
Assignment* Parser::BuildCreateJSGeneratorObject(int pos, FunctionKind kind) {
|
||||
// .generator = %_CreateJSGeneratorObject(...);
|
||||
DCHECK_NOT_NULL(function_state_->generator_object_variable());
|
||||
ZoneList<Expression*>* args = new (zone()) ZoneList<Expression*>(2, zone());
|
||||
args->Add(factory()->NewThisFunction(pos), zone());
|
||||
args->Add(IsArrowFunction(kind) ? GetLiteralUndefined(pos)
|
||||
: ThisExpression(kNoSourcePosition),
|
||||
zone());
|
||||
Expression* allocation = factory()->NewCallRuntime(
|
||||
Runtime::kInlineCreateJSGeneratorObject, args, pos);
|
||||
VariableProxy* proxy =
|
||||
factory()->NewVariableProxy(function_state_->generator_object_variable());
|
||||
return factory()->NewAssignment(Token::INIT, proxy, allocation,
|
||||
kNoSourcePosition);
|
||||
}
|
||||
|
||||
Expression* Parser::BuildResolvePromise(Expression* value, int pos) {
|
||||
// %ResolvePromise(.promise, value), .promise
|
||||
ZoneList<Expression*>* args = new (zone()) ZoneList<Expression*>(2, zone());
|
||||
@ -3197,13 +3181,17 @@ Variable* Parser::AsyncGeneratorAwaitVariable() {
|
||||
}
|
||||
|
||||
Expression* Parser::BuildInitialYield(int pos, FunctionKind kind) {
|
||||
Assignment* assignment = BuildCreateJSGeneratorObject(pos, kind);
|
||||
VariableProxy* generator =
|
||||
// We access the generator object twice: once for the {generator}
|
||||
// member of the Suspend AST node, and once for the result of
|
||||
// the initial yield.
|
||||
Expression* yield_result =
|
||||
factory()->NewVariableProxy(function_state_->generator_object_variable());
|
||||
Expression* generator_object =
|
||||
factory()->NewVariableProxy(function_state_->generator_object_variable());
|
||||
// The position of the yield is important for reporting the exception
|
||||
// caused by calling the .throw method on a generator suspended at the
|
||||
// initial yield (i.e. right after generator instantiation).
|
||||
return BuildSuspend(generator, assignment, scope()->start_position(),
|
||||
return BuildSuspend(generator_object, yield_result, scope()->start_position(),
|
||||
Suspend::kOnExceptionThrow, SuspendFlags::kYield);
|
||||
}
|
||||
|
||||
@ -3867,9 +3855,6 @@ void Parser::PrepareAsyncFunctionBody(ZoneList<Statement*>* body,
|
||||
if (function_state_->generator_object_variable() == nullptr) {
|
||||
PrepareGeneratorVariables();
|
||||
}
|
||||
body->Add(factory()->NewExpressionStatement(
|
||||
BuildCreateJSGeneratorObject(pos, kind), kNoSourcePosition),
|
||||
zone());
|
||||
}
|
||||
|
||||
// This method completes the desugaring of the body of async_function.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -648,7 +648,7 @@ snippet: "
|
||||
"
|
||||
frame size: 15
|
||||
parameter count: 2
|
||||
bytecode array length: 623
|
||||
bytecode array length: 620
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -658,30 +658,28 @@ bytecodes: [
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(4),
|
||||
B(JumpIfTrue), U8(57),
|
||||
B(JumpIfTrue), U8(54),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(6),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(4),
|
||||
B(CreateFunctionContext), U8(10),
|
||||
B(CreateFunctionContext), U8(9),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Ldar), R(arg0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(Mov), R(closure), R(6),
|
||||
B(Mov), R(this), R(7),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(10),
|
||||
B(Mov), R(closure), R(9),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(Star), R(9),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(10),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(10), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(10), U8(0),
|
||||
B(Ldar), R(9),
|
||||
/* 55 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -712,7 +710,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Mov), R(context), R(11),
|
||||
B(Mov), R(context), R(12),
|
||||
/* 35 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
@ -722,39 +720,39 @@ bytecodes: [
|
||||
B(CallProperty0), R(14), R(13), U8(5),
|
||||
B(JumpIfJSReceiver), U8(7),
|
||||
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
|
||||
/* 35 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 32 S> */ B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 35 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 32 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaNamedProperty), R(14), U8(2), U8(9),
|
||||
B(Star), R(13),
|
||||
/* 32 E> */ B(CallProperty0), R(13), R(14), U8(7),
|
||||
/* 32 E> */ B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
/* 32 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1),
|
||||
B(ToBooleanLogicalNot),
|
||||
B(JumpIfFalse), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(3), U8(11),
|
||||
B(JumpIfToBooleanTrue), U8(73),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(4), U8(13),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 21 E> */ B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(5),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(6),
|
||||
@ -766,7 +764,7 @@ bytecodes: [
|
||||
B(PopContext), R(3),
|
||||
B(PopContext), R(2),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(JumpLoop), U8(120), I8(0),
|
||||
B(Jump), U8(44),
|
||||
B(Star), R(13),
|
||||
@ -774,13 +772,13 @@ bytecodes: [
|
||||
B(CreateCatchContext), R(13), U8(7), U8(8),
|
||||
B(PushContext), R(2),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaSmi), I8(2),
|
||||
B(TestEqualStrict), R(13), U8(15),
|
||||
B(JumpIfFalse), U8(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
|
||||
@ -794,25 +792,25 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrict), R(12), U8(16),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(9), U8(17),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestUndetectable),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(127),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrict), R(12), U8(20),
|
||||
B(JumpIfFalse), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestTypeOf), U8(5),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(18),
|
||||
@ -823,9 +821,9 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
|
||||
B(Throw),
|
||||
B(Mov), R(context), R(12),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(14),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
|
||||
B(Jump), U8(20),
|
||||
@ -839,18 +837,18 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(47),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
|
||||
B(StaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
|
||||
B(JumpIfToBooleanFalse), U8(4),
|
||||
B(Jump), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
|
||||
B(Ldar), R(11),
|
||||
@ -884,7 +882,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(9),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(9), U8(1),
|
||||
B(Ldar), R(8),
|
||||
@ -929,10 +927,10 @@ constant pool: [
|
||||
Smi [449],
|
||||
]
|
||||
handlers: [
|
||||
[49, 556, 562],
|
||||
[141, 338, 344],
|
||||
[144, 294, 296],
|
||||
[430, 446, 448],
|
||||
[57, 553, 559],
|
||||
[138, 335, 341],
|
||||
[141, 291, 293],
|
||||
[427, 443, 445],
|
||||
]
|
||||
|
||||
---
|
||||
@ -944,7 +942,7 @@ snippet: "
|
||||
"
|
||||
frame size: 18
|
||||
parameter count: 2
|
||||
bytecode array length: 750
|
||||
bytecode array length: 747
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(33),
|
||||
@ -954,33 +952,31 @@ bytecodes: [
|
||||
B(Star), R(3),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(153),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(5),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(3),
|
||||
B(CreateFunctionContext), U8(10),
|
||||
B(CreateFunctionContext), U8(9),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Ldar), R(arg0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(Mov), R(this), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(9),
|
||||
B(Mov), R(closure), R(8),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8), U8(2),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(9),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(9), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(9), U8(0),
|
||||
B(Ldar), R(8),
|
||||
/* 49 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -1011,7 +1007,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Mov), R(context), R(10),
|
||||
B(Mov), R(context), R(11),
|
||||
/* 35 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
@ -1021,7 +1017,7 @@ bytecodes: [
|
||||
B(CallProperty0), R(13), R(12), U8(5),
|
||||
B(JumpIfJSReceiver), U8(7),
|
||||
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
|
||||
/* 35 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 35 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(17),
|
||||
@ -1031,38 +1027,38 @@ bytecodes: [
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
|
||||
/* 32 S> */ B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 32 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(2), U8(9),
|
||||
B(Star), R(12),
|
||||
/* 32 E> */ B(CallProperty0), R(12), R(13), U8(7),
|
||||
/* 32 E> */ B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
/* 32 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
|
||||
B(ToBooleanLogicalNot),
|
||||
B(JumpIfFalse), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(3), U8(11),
|
||||
B(JumpIfToBooleanTrue), U8(144),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(4), U8(13),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 21 E> */ B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(5),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 40 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
@ -1070,7 +1066,7 @@ bytecodes: [
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
||||
B(Star), R(12),
|
||||
B(LdaImmutableContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaSmi), I8(1),
|
||||
B(SuspendGenerator), R(13), U8(0),
|
||||
@ -1106,7 +1102,7 @@ bytecodes: [
|
||||
/* 40 E> */ B(Throw),
|
||||
B(PopContext), R(2),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(JumpLoop), U8(212), I8(0),
|
||||
B(Jump), U8(44),
|
||||
B(Star), R(12),
|
||||
@ -1114,13 +1110,13 @@ bytecodes: [
|
||||
B(CreateCatchContext), R(12), U8(6), U8(7),
|
||||
B(PushContext), R(2),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaSmi), I8(2),
|
||||
B(TestEqualStrict), R(12), U8(15),
|
||||
B(JumpIfFalse), U8(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
|
||||
@ -1134,25 +1130,25 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(10),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrict), R(11), U8(16),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaNamedProperty), R(11), U8(8), U8(17),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestUndetectable),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(127),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrict), R(11), U8(20),
|
||||
B(JumpIfFalse), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestTypeOf), U8(5),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(18),
|
||||
@ -1163,9 +1159,9 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
|
||||
B(Throw),
|
||||
B(Mov), R(context), R(11),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
|
||||
B(Jump), U8(20),
|
||||
@ -1179,18 +1175,18 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(47),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
|
||||
B(StaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(11),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1),
|
||||
B(JumpIfToBooleanFalse), U8(4),
|
||||
B(Jump), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(11),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
|
||||
B(Ldar), R(10),
|
||||
@ -1233,7 +1229,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(8),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1),
|
||||
B(Ldar), R(7),
|
||||
@ -1282,10 +1278,10 @@ constant pool: [
|
||||
Smi [561],
|
||||
]
|
||||
handlers: [
|
||||
[55, 674, 680],
|
||||
[147, 436, 442],
|
||||
[150, 392, 394],
|
||||
[529, 545, 547],
|
||||
[63, 671, 677],
|
||||
[144, 433, 439],
|
||||
[147, 389, 391],
|
||||
[526, 542, 544],
|
||||
]
|
||||
|
||||
---
|
||||
@ -1297,7 +1293,7 @@ snippet: "
|
||||
"
|
||||
frame size: 16
|
||||
parameter count: 2
|
||||
bytecode array length: 618
|
||||
bytecode array length: 613
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(22),
|
||||
@ -1310,22 +1306,19 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(4),
|
||||
B(CreateFunctionContext), U8(11),
|
||||
B(CreateFunctionContext), U8(10),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Ldar), R(arg0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(7),
|
||||
B(Mov), R(closure), R(6),
|
||||
B(Mov), R(this), R(7),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(6),
|
||||
B(CallJSRuntime), U8(%async_function_promise_create), R(6), U8(1),
|
||||
B(StaCurrentContextSlot), U8(14),
|
||||
B(StaCurrentContextSlot), U8(13),
|
||||
B(Mov), R(context), R(8),
|
||||
B(Mov), R(context), R(9),
|
||||
B(Ldar), R(closure),
|
||||
@ -1334,7 +1327,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Mov), R(context), R(12),
|
||||
B(Mov), R(context), R(13),
|
||||
/* 40 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
@ -1344,39 +1337,39 @@ bytecodes: [
|
||||
B(CallProperty0), R(15), R(14), U8(5),
|
||||
B(JumpIfJSReceiver), U8(7),
|
||||
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
|
||||
/* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 37 S> */ B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 40 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 37 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(15),
|
||||
B(LdaNamedProperty), R(15), U8(2), U8(9),
|
||||
B(Star), R(14),
|
||||
/* 37 E> */ B(CallProperty0), R(14), R(15), U8(7),
|
||||
/* 37 E> */ B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
/* 37 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(14),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(14), U8(1),
|
||||
B(ToBooleanLogicalNot),
|
||||
B(JumpIfFalse), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(14),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaNamedProperty), R(14), U8(3), U8(11),
|
||||
B(JumpIfToBooleanTrue), U8(73),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaNamedProperty), R(14), U8(4), U8(13),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 26 E> */ B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(5),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(6),
|
||||
@ -1388,7 +1381,7 @@ bytecodes: [
|
||||
B(PopContext), R(3),
|
||||
B(PopContext), R(2),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(JumpLoop), U8(120), I8(0),
|
||||
B(Jump), U8(48),
|
||||
B(Star), R(14),
|
||||
@ -1399,13 +1392,13 @@ bytecodes: [
|
||||
B(SetPendingMessage),
|
||||
B(Ldar), R(13),
|
||||
B(PushContext), R(2),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaSmi), I8(2),
|
||||
B(TestEqualStrict), R(14), U8(15),
|
||||
B(JumpIfFalse), U8(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(14),
|
||||
B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
|
||||
@ -1419,25 +1412,25 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrict), R(13), U8(16),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(9), U8(17),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestUndetectable),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(127),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrict), R(13), U8(20),
|
||||
B(JumpIfFalse), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(TestTypeOf), U8(5),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(18),
|
||||
@ -1448,9 +1441,9 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
|
||||
B(Throw),
|
||||
B(Mov), R(context), R(13),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(15),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2),
|
||||
B(Jump), U8(20),
|
||||
@ -1464,18 +1457,18 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(47),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(14),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
|
||||
B(StaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1),
|
||||
B(JumpIfToBooleanFalse), U8(4),
|
||||
B(Jump), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
|
||||
B(Ldar), R(12),
|
||||
@ -1491,12 +1484,12 @@ bytecodes: [
|
||||
B(PopContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(10),
|
||||
B(LdaCurrentContextSlot), U8(14),
|
||||
B(LdaCurrentContextSlot), U8(13),
|
||||
B(Star), R(11),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(12),
|
||||
B(CallJSRuntime), U8(%promise_resolve), R(10), U8(3),
|
||||
B(LdaCurrentContextSlot), U8(14),
|
||||
B(LdaCurrentContextSlot), U8(13),
|
||||
B(Star), R(7),
|
||||
B(LdaZero),
|
||||
B(Star), R(6),
|
||||
@ -1512,14 +1505,14 @@ bytecodes: [
|
||||
B(PushContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(10),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
B(LdaFalse),
|
||||
B(Star), R(13),
|
||||
B(CallJSRuntime), U8(%promise_internal_reject), R(10), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(PopContext), R(1),
|
||||
B(Star), R(7),
|
||||
@ -1537,7 +1530,7 @@ bytecodes: [
|
||||
B(Star), R(8),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaCurrentContextSlot), U8(14),
|
||||
B(LdaCurrentContextSlot), U8(13),
|
||||
B(Star), R(10),
|
||||
B(CallJSRuntime), U8(%async_function_promise_release), R(9), U8(2),
|
||||
B(Ldar), R(8),
|
||||
@ -1577,11 +1570,11 @@ constant pool: [
|
||||
FIXED_ARRAY_TYPE,
|
||||
]
|
||||
handlers: [
|
||||
[66, 558, 564],
|
||||
[69, 504, 506],
|
||||
[86, 287, 293],
|
||||
[89, 239, 241],
|
||||
[379, 395, 397],
|
||||
[61, 553, 559],
|
||||
[64, 499, 501],
|
||||
[81, 282, 288],
|
||||
[84, 234, 236],
|
||||
[374, 390, 392],
|
||||
]
|
||||
|
||||
---
|
||||
@ -1593,7 +1586,7 @@ snippet: "
|
||||
"
|
||||
frame size: 19
|
||||
parameter count: 2
|
||||
bytecode array length: 770
|
||||
bytecode array length: 765
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -1603,28 +1596,25 @@ bytecodes: [
|
||||
B(Star), R(3),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(103),
|
||||
B(JumpIfTrue), U8(98),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(5),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(3),
|
||||
B(CreateFunctionContext), U8(12),
|
||||
B(CreateFunctionContext), U8(11),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Ldar), R(arg0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(6),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(Mov), R(this), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(5),
|
||||
B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
|
||||
B(StaCurrentContextSlot), U8(8),
|
||||
B(StaCurrentContextSlot), U8(7),
|
||||
B(Mov), R(context), R(7),
|
||||
B(Mov), R(context), R(8),
|
||||
B(Ldar), R(closure),
|
||||
@ -1633,7 +1623,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Mov), R(context), R(11),
|
||||
B(Mov), R(context), R(12),
|
||||
/* 40 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
@ -1643,7 +1633,7 @@ bytecodes: [
|
||||
B(CallProperty0), R(14), R(13), U8(5),
|
||||
B(JumpIfJSReceiver), U8(7),
|
||||
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
|
||||
/* 40 E> */ B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
/* 40 E> */ B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(16),
|
||||
@ -1653,53 +1643,53 @@ bytecodes: [
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
|
||||
/* 37 S> */ B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
/* 37 S> */ B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaNamedProperty), R(14), U8(2), U8(9),
|
||||
B(Star), R(13),
|
||||
/* 37 E> */ B(CallProperty0), R(13), R(14), U8(7),
|
||||
/* 37 E> */ B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
/* 37 E> */ B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1),
|
||||
B(ToBooleanLogicalNot),
|
||||
B(JumpIfFalse), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(3), U8(11),
|
||||
B(JumpIfToBooleanTrue), U8(167),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(4), U8(13),
|
||||
B(StaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 26 E> */ B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(5),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 51 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 45 S> */ B(LdaUndefined),
|
||||
B(Star), R(13),
|
||||
B(LdaImmutableContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(15),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(16),
|
||||
B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaImmutableContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(Star), R(14),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(14), U8(2),
|
||||
@ -1735,7 +1725,7 @@ bytecodes: [
|
||||
B(ReThrow),
|
||||
B(PopContext), R(2),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(JumpLoop), U8(234), I8(0),
|
||||
B(Jump), U8(48),
|
||||
B(Star), R(13),
|
||||
@ -1746,13 +1736,13 @@ bytecodes: [
|
||||
B(SetPendingMessage),
|
||||
B(Ldar), R(12),
|
||||
B(PushContext), R(2),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaSmi), I8(2),
|
||||
B(TestEqualStrict), R(13), U8(15),
|
||||
B(JumpIfFalse), U8(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(13),
|
||||
B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
|
||||
@ -1766,25 +1756,25 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrict), R(12), U8(16),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(8), U8(17),
|
||||
B(StaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(StaContextSlot), R(1), U8(13), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(TestUndetectable),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(127),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrict), R(12), U8(20),
|
||||
B(JumpIfFalse), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(TestTypeOf), U8(5),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(18),
|
||||
@ -1795,9 +1785,9 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
|
||||
B(Throw),
|
||||
B(Mov), R(context), R(12),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(14),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
|
||||
B(Jump), U8(20),
|
||||
@ -1811,18 +1801,18 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(47),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(13), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
|
||||
B(StaContextSlot), R(1), U8(15), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(15), U8(0),
|
||||
B(StaContextSlot), R(1), U8(14), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
|
||||
B(JumpIfToBooleanFalse), U8(4),
|
||||
B(Jump), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(15), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(14), U8(0),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
|
||||
B(Ldar), R(11),
|
||||
@ -1849,12 +1839,12 @@ bytecodes: [
|
||||
B(PopContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(Star), R(10),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(11),
|
||||
B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(Star), R(6),
|
||||
B(LdaSmi), I8(1),
|
||||
B(Star), R(5),
|
||||
@ -1870,14 +1860,14 @@ bytecodes: [
|
||||
B(PushContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(11),
|
||||
B(LdaFalse),
|
||||
B(Star), R(12),
|
||||
B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(PopContext), R(1),
|
||||
B(Star), R(6),
|
||||
@ -1895,7 +1885,7 @@ bytecodes: [
|
||||
B(Star), R(7),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(8),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(Star), R(9),
|
||||
B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
|
||||
B(Ldar), R(7),
|
||||
@ -1939,10 +1929,10 @@ constant pool: [
|
||||
FIXED_ARRAY_TYPE,
|
||||
]
|
||||
handlers: [
|
||||
[71, 701, 707],
|
||||
[74, 647, 649],
|
||||
[91, 406, 412],
|
||||
[94, 358, 360],
|
||||
[499, 515, 517],
|
||||
[66, 696, 702],
|
||||
[69, 642, 644],
|
||||
[86, 401, 407],
|
||||
[89, 353, 355],
|
||||
[494, 510, 512],
|
||||
]
|
||||
|
||||
|
@ -13,7 +13,7 @@ snippet: "
|
||||
"
|
||||
frame size: 12
|
||||
parameter count: 1
|
||||
bytecode array length: 196
|
||||
bytecode array length: 193
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -23,28 +23,26 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(53),
|
||||
B(JumpIfTrue), U8(50),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(1),
|
||||
B(CreateFunctionContext), U8(2),
|
||||
B(CreateFunctionContext), U8(1),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(Mov), R(closure), R(6),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(7), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(7), U8(0),
|
||||
B(Ldar), R(6),
|
||||
/* 16 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -87,7 +85,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(6),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(6), U8(1),
|
||||
B(Ldar), R(5),
|
||||
@ -114,7 +112,7 @@ bytecodes: [
|
||||
constant pool: [
|
||||
]
|
||||
handlers: [
|
||||
[45, 138, 144],
|
||||
[53, 135, 141],
|
||||
]
|
||||
|
||||
---
|
||||
@ -124,7 +122,7 @@ snippet: "
|
||||
"
|
||||
frame size: 12
|
||||
parameter count: 1
|
||||
bytecode array length: 286
|
||||
bytecode array length: 283
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(33),
|
||||
@ -134,31 +132,29 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(59),
|
||||
B(JumpIfTrue), U8(56),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(127),
|
||||
B(JumpIfTrue), U8(124),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(1),
|
||||
B(CreateFunctionContext), U8(2),
|
||||
B(CreateFunctionContext), U8(1),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(Mov), R(closure), R(6),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(7), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(7), U8(0),
|
||||
B(Ldar), R(6),
|
||||
/* 25 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -189,7 +185,7 @@ bytecodes: [
|
||||
B(Star), R(7),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2),
|
||||
B(Star), R(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(LdaSmi), I8(1),
|
||||
B(SuspendGenerator), R(7), U8(0),
|
||||
@ -235,7 +231,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(6),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(6), U8(1),
|
||||
B(Ldar), R(5),
|
||||
@ -267,7 +263,7 @@ bytecodes: [
|
||||
constant pool: [
|
||||
]
|
||||
handlers: [
|
||||
[51, 219, 225],
|
||||
[59, 216, 222],
|
||||
]
|
||||
|
||||
---
|
||||
@ -277,7 +273,7 @@ snippet: "
|
||||
"
|
||||
frame size: 18
|
||||
parameter count: 1
|
||||
bytecode array length: 746
|
||||
bytecode array length: 743
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(33),
|
||||
@ -287,31 +283,29 @@ bytecodes: [
|
||||
B(Star), R(3),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(59),
|
||||
B(JumpIfTrue), U8(56),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(149),
|
||||
B(JumpIfTrue), U8(146),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(5),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(3),
|
||||
B(CreateFunctionContext), U8(9),
|
||||
B(CreateFunctionContext), U8(8),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(Mov), R(this), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(Mov), R(closure), R(8),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(9), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(9), U8(0),
|
||||
B(Ldar), R(8),
|
||||
/* 44 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -342,7 +336,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Mov), R(context), R(10),
|
||||
B(Mov), R(context), R(11),
|
||||
/* 30 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(17),
|
||||
@ -352,7 +346,7 @@ bytecodes: [
|
||||
B(CallProperty0), R(13), R(12), U8(6),
|
||||
B(JumpIfJSReceiver), U8(7),
|
||||
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
|
||||
/* 30 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 30 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(17),
|
||||
@ -362,38 +356,38 @@ bytecodes: [
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
|
||||
/* 27 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 27 S> */ B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaNamedProperty), R(13), U8(3), U8(10),
|
||||
B(Star), R(12),
|
||||
/* 27 E> */ B(CallProperty0), R(12), R(13), U8(8),
|
||||
/* 27 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 27 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
|
||||
B(ToBooleanLogicalNot),
|
||||
B(JumpIfFalse), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(4), U8(12),
|
||||
B(JumpIfToBooleanTrue), U8(144),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaNamedProperty), R(12), U8(5), U8(14),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaSmi), I8(2),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(6),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(5), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 36 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
@ -401,7 +395,7 @@ bytecodes: [
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
|
||||
B(Star), R(12),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
B(Star), R(13),
|
||||
B(LdaSmi), I8(1),
|
||||
B(SuspendGenerator), R(13), U8(0),
|
||||
@ -437,7 +431,7 @@ bytecodes: [
|
||||
/* 36 E> */ B(Throw),
|
||||
B(PopContext), R(2),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(JumpLoop), U8(212), I8(0),
|
||||
B(Jump), U8(44),
|
||||
B(Star), R(12),
|
||||
@ -445,13 +439,13 @@ bytecodes: [
|
||||
B(CreateCatchContext), R(12), U8(7), U8(8),
|
||||
B(PushContext), R(2),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaSmi), I8(2),
|
||||
B(TestEqualStrict), R(12), U8(16),
|
||||
B(JumpIfFalse), U8(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
|
||||
@ -465,25 +459,25 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(10),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrict), R(11), U8(17),
|
||||
B(JumpIfTrue), U8(150),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaNamedProperty), R(11), U8(9), U8(18),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(TestUndetectable),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(127),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrict), R(11), U8(21),
|
||||
B(JumpIfFalse), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(TestTypeOf), U8(5),
|
||||
B(JumpIfFalse), U8(4),
|
||||
B(Jump), U8(18),
|
||||
@ -494,9 +488,9 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
|
||||
B(Throw),
|
||||
B(Mov), R(context), R(11),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(12),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(13),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
|
||||
B(Jump), U8(20),
|
||||
@ -510,18 +504,18 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(47),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(12),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
|
||||
B(StaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(StaContextSlot), R(1), U8(11), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(11),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1),
|
||||
B(JumpIfToBooleanFalse), U8(4),
|
||||
B(Jump), U8(13),
|
||||
B(LdaContextSlot), R(1), U8(12), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(11), U8(0),
|
||||
B(Star), R(11),
|
||||
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
|
||||
B(Ldar), R(10),
|
||||
@ -564,7 +558,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(8),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1),
|
||||
B(Ldar), R(7),
|
||||
@ -614,9 +608,9 @@ constant pool: [
|
||||
Smi [561],
|
||||
]
|
||||
handlers: [
|
||||
[51, 670, 676],
|
||||
[143, 432, 438],
|
||||
[146, 388, 390],
|
||||
[525, 541, 543],
|
||||
[59, 667, 673],
|
||||
[140, 429, 435],
|
||||
[143, 385, 387],
|
||||
[522, 538, 540],
|
||||
]
|
||||
|
||||
|
@ -13,7 +13,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 140
|
||||
bytecode array length: 137
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -23,7 +23,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -35,19 +35,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 13 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -70,8 +68,8 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -90,7 +88,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 140
|
||||
bytecode array length: 137
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -100,7 +98,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -112,19 +110,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 24 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -147,8 +143,8 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -169,7 +165,7 @@ snippet: "
|
||||
"
|
||||
frame size: 10
|
||||
parameter count: 2
|
||||
bytecode array length: 202
|
||||
bytecode array length: 199
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -179,7 +175,7 @@ bytecodes: [
|
||||
B(Star), R(2),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(2),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(4),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1),
|
||||
@ -191,19 +187,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(5),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(4),
|
||||
B(Mov), R(this), R(5),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(Mov), R(closure), R(4),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(5), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(5), U8(0),
|
||||
B(Ldar), R(4),
|
||||
/* 64 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -250,9 +244,9 @@ bytecodes: [
|
||||
B(LdaSmi), I8(42),
|
||||
B(Star), R(5),
|
||||
/* 52 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(5),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaTrue),
|
||||
B(Star), R(5),
|
||||
@ -275,7 +269,7 @@ snippet: "
|
||||
"
|
||||
frame size: 10
|
||||
parameter count: 2
|
||||
bytecode array length: 182
|
||||
bytecode array length: 179
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -285,7 +279,7 @@ bytecodes: [
|
||||
B(Star), R(2),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(2),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(4),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1),
|
||||
@ -297,19 +291,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(5),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(4),
|
||||
B(Mov), R(this), R(5),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(Mov), R(closure), R(4),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(5), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(5), U8(0),
|
||||
B(Ldar), R(4),
|
||||
/* 49 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -349,9 +341,9 @@ bytecodes: [
|
||||
B(Inc), U8(4),
|
||||
/* 42 E> */ B(StaModuleVariable), I8(1), U8(1),
|
||||
B(Ldar), R(4),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaTrue),
|
||||
B(Star), R(5),
|
||||
@ -373,7 +365,7 @@ snippet: "
|
||||
"
|
||||
frame size: 10
|
||||
parameter count: 2
|
||||
bytecode array length: 186
|
||||
bytecode array length: 183
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -383,7 +375,7 @@ bytecodes: [
|
||||
B(Star), R(2),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(2),
|
||||
B(JumpIfTrue), U8(67),
|
||||
B(JumpIfTrue), U8(64),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(4),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1),
|
||||
@ -395,21 +387,19 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(5),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(4),
|
||||
B(Mov), R(this), R(5),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaTheHole),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(Mov), R(closure), R(4),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(5), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(5), U8(0),
|
||||
B(Ldar), R(4),
|
||||
/* 49 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -449,9 +439,9 @@ bytecodes: [
|
||||
B(Inc), U8(4),
|
||||
/* 42 E> */ B(StaModuleVariable), I8(1), U8(1),
|
||||
B(Ldar), R(4),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaTrue),
|
||||
B(Star), R(5),
|
||||
@ -473,7 +463,7 @@ snippet: "
|
||||
"
|
||||
frame size: 10
|
||||
parameter count: 2
|
||||
bytecode array length: 190
|
||||
bytecode array length: 187
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -483,7 +473,7 @@ bytecodes: [
|
||||
B(Star), R(2),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(2),
|
||||
B(JumpIfTrue), U8(67),
|
||||
B(JumpIfTrue), U8(64),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(4),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1),
|
||||
@ -495,21 +485,19 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(5),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(4),
|
||||
B(Mov), R(this), R(5),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaTheHole),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(Mov), R(closure), R(4),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(5),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(5), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(5), U8(0),
|
||||
B(Ldar), R(4),
|
||||
/* 51 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -549,9 +537,9 @@ bytecodes: [
|
||||
B(Inc), U8(4),
|
||||
/* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
|
||||
B(Ldar), R(4),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
B(LdaTrue),
|
||||
B(Star), R(5),
|
||||
@ -571,7 +559,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 151
|
||||
bytecode array length: 148
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -581,7 +569,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(67),
|
||||
B(JumpIfTrue), U8(64),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -593,21 +581,19 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaTheHole),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 32 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -630,10 +616,10 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(CreateClosure), U8(1), U8(3), U8(0),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -653,7 +639,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 184
|
||||
bytecode array length: 181
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -663,7 +649,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(67),
|
||||
B(JumpIfTrue), U8(64),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -675,21 +661,19 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaTheHole),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 26 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -712,7 +696,7 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(CreateClosure), U8(1), U8(3), U8(0),
|
||||
B(Star), R(3),
|
||||
B(LdaTheHole),
|
||||
@ -727,7 +711,7 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1),
|
||||
B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1),
|
||||
B(StaModuleVariable), I8(1), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -747,7 +731,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 140
|
||||
bytecode array length: 137
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -757,7 +741,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -769,19 +753,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 30 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -804,8 +786,8 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -824,7 +806,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 140
|
||||
bytecode array length: 137
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -834,7 +816,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(63),
|
||||
B(JumpIfTrue), U8(60),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -846,19 +828,17 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 19 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -881,8 +861,8 @@ bytecodes: [
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
B(Ldar), R(5),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
@ -902,7 +882,7 @@ snippet: "
|
||||
"
|
||||
frame size: 9
|
||||
parameter count: 2
|
||||
bytecode array length: 178
|
||||
bytecode array length: 175
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -912,7 +892,7 @@ bytecodes: [
|
||||
B(Star), R(1),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(1),
|
||||
B(JumpIfTrue), U8(73),
|
||||
B(JumpIfTrue), U8(70),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
|
||||
@ -924,23 +904,21 @@ bytecodes: [
|
||||
B(Mov), R(closure), R(4),
|
||||
B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(3),
|
||||
B(Mov), R(this), R(4),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaZero),
|
||||
B(Star), R(3),
|
||||
B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(3), U8(1),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
/* 0 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(Mov), R(closure), R(3),
|
||||
/* 0 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(4), U8(0),
|
||||
/* 0 E> */ B(SuspendGenerator), R(4), U8(0),
|
||||
B(Ldar), R(3),
|
||||
/* 45 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -962,19 +940,19 @@ bytecodes: [
|
||||
/* 45 S> */ B(Return),
|
||||
B(Ldar), R(5),
|
||||
/* 0 E> */ B(Throw),
|
||||
/* 27 S> */ B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
/* 27 S> */ B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(4),
|
||||
/* 30 E> */ B(LdaNamedProperty), R(4), U8(1), U8(5),
|
||||
B(Star), R(3),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(6),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(Star), R(6),
|
||||
/* 41 E> */ B(LdaNamedProperty), R(6), U8(2), U8(7),
|
||||
B(Star), R(6),
|
||||
/* 31 E> */ B(CallProperty2), R(3), R(4), R(5), R(6), U8(3),
|
||||
B(StaCurrentContextSlot), U8(7),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(Star), R(3),
|
||||
B(LdaTrue),
|
||||
B(Star), R(4),
|
||||
|
@ -273,7 +273,7 @@ snippet: "
|
||||
"
|
||||
frame size: 15
|
||||
parameter count: 1
|
||||
bytecode array length: 354
|
||||
bytecode array length: 351
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -283,28 +283,26 @@ bytecodes: [
|
||||
B(Star), R(4),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(4),
|
||||
B(JumpIfTrue), U8(53),
|
||||
B(JumpIfTrue), U8(50),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(6),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(4),
|
||||
B(CreateFunctionContext), U8(5),
|
||||
B(CreateFunctionContext), U8(4),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(6),
|
||||
B(Mov), R(this), R(7),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(10),
|
||||
B(Mov), R(closure), R(9),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(9),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(10),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(10), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(10), U8(0),
|
||||
B(Ldar), R(9),
|
||||
/* 62 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -337,30 +335,30 @@ bytecodes: [
|
||||
/* 31 S> */ B(LdaZero),
|
||||
/* 31 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
/* 60 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(1),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(5), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(3),
|
||||
B(JumpIfFalse), U8(9),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Jump), U8(8),
|
||||
/* 44 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Inc), U8(4),
|
||||
/* 44 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 36 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(10),
|
||||
@ -369,7 +367,7 @@ bytecodes: [
|
||||
B(Jump), U8(6),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(6),
|
||||
@ -384,11 +382,11 @@ bytecodes: [
|
||||
/* 57 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(PopContext), R(3),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(4),
|
||||
/* 60 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(JumpLoop), U8(42), I8(1),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(7),
|
||||
@ -416,7 +414,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(9), U8(1),
|
||||
B(Ldar), R(8),
|
||||
@ -446,7 +444,7 @@ constant pool: [
|
||||
FIXED_ARRAY_TYPE,
|
||||
]
|
||||
handlers: [
|
||||
[45, 296, 302],
|
||||
[53, 293, 299],
|
||||
]
|
||||
|
||||
---
|
||||
@ -458,7 +456,7 @@ snippet: "
|
||||
"
|
||||
frame size: 14
|
||||
parameter count: 1
|
||||
bytecode array length: 479
|
||||
bytecode array length: 476
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(33),
|
||||
@ -468,31 +466,29 @@ bytecodes: [
|
||||
B(Star), R(3),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(59),
|
||||
B(JumpIfTrue), U8(56),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(126),
|
||||
B(JumpIfTrue), U8(123),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(5),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(3),
|
||||
B(CreateFunctionContext), U8(5),
|
||||
B(CreateFunctionContext), U8(4),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(Mov), R(this), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 11 E> */ B(StackCheck),
|
||||
B(Mov), R(context), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(Mov), R(closure), R(8),
|
||||
/* 11 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(9), U8(0),
|
||||
/* 11 E> */ B(SuspendGenerator), R(9), U8(0),
|
||||
B(Ldar), R(8),
|
||||
/* 56 S> */ B(Return),
|
||||
B(LdaSmi), I8(-2),
|
||||
@ -525,9 +521,9 @@ bytecodes: [
|
||||
/* 31 S> */ B(LdaZero),
|
||||
/* 31 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
/* 54 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(17),
|
||||
@ -543,21 +539,21 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(5), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(8), U8(3),
|
||||
B(JumpIfFalse), U8(9),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Jump), U8(8),
|
||||
/* 44 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Inc), U8(4),
|
||||
/* 44 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 36 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Star), R(8),
|
||||
B(LdaSmi), I8(10),
|
||||
@ -575,7 +571,7 @@ bytecodes: [
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(8),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(8), U8(6),
|
||||
@ -587,7 +583,7 @@ bytecodes: [
|
||||
B(Star), R(9),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2),
|
||||
B(Star), R(8),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(SuspendGenerator), R(9), U8(0),
|
||||
@ -620,11 +616,11 @@ bytecodes: [
|
||||
B(Ldar), R(10),
|
||||
/* 47 E> */ B(Throw),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(4),
|
||||
/* 54 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(JumpLoop), U8(131), I8(1),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(8),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(8), U8(7),
|
||||
@ -652,7 +648,7 @@ bytecodes: [
|
||||
B(LdaTheHole),
|
||||
B(SetPendingMessage),
|
||||
B(Star), R(7),
|
||||
B(LdaImmutableCurrentContextSlot), U8(5),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(8),
|
||||
B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1),
|
||||
B(Ldar), R(7),
|
||||
@ -687,7 +683,7 @@ constant pool: [
|
||||
Smi [303],
|
||||
]
|
||||
handlers: [
|
||||
[51, 412, 418],
|
||||
[59, 409, 415],
|
||||
]
|
||||
|
||||
---
|
||||
@ -699,7 +695,7 @@ snippet: "
|
||||
"
|
||||
frame size: 14
|
||||
parameter count: 1
|
||||
bytecode array length: 360
|
||||
bytecode array length: 355
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(22),
|
||||
@ -712,20 +708,17 @@ bytecodes: [
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(4),
|
||||
B(CreateFunctionContext), U8(6),
|
||||
B(CreateFunctionContext), U8(5),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(6),
|
||||
B(Mov), R(this), R(7),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(7),
|
||||
B(Mov), R(closure), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(6),
|
||||
B(CallJSRuntime), U8(%async_function_promise_create), R(6), U8(1),
|
||||
B(StaCurrentContextSlot), U8(9),
|
||||
B(StaCurrentContextSlot), U8(8),
|
||||
B(Mov), R(context), R(8),
|
||||
B(Mov), R(context), R(9),
|
||||
B(Ldar), R(closure),
|
||||
@ -736,30 +729,30 @@ bytecodes: [
|
||||
/* 36 S> */ B(LdaZero),
|
||||
/* 36 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
/* 65 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StackCheck),
|
||||
B(Ldar), R(closure),
|
||||
B(CreateBlockContext), U8(1),
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(5), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(10), U8(3),
|
||||
B(JumpIfFalse), U8(9),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Jump), U8(8),
|
||||
/* 49 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Inc), U8(4),
|
||||
/* 49 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
/* 41 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Star), R(10),
|
||||
B(LdaSmi), I8(10),
|
||||
@ -768,7 +761,7 @@ bytecodes: [
|
||||
B(Jump), U8(6),
|
||||
B(PopContext), R(2),
|
||||
B(Jump), U8(69),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(10), U8(6),
|
||||
@ -783,11 +776,11 @@ bytecodes: [
|
||||
/* 62 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(PopContext), R(3),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(4),
|
||||
/* 65 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
/* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
B(JumpLoop), U8(42), I8(1),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(10), U8(7),
|
||||
@ -799,12 +792,12 @@ bytecodes: [
|
||||
B(PopContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(10),
|
||||
B(LdaCurrentContextSlot), U8(9),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(Star), R(11),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(12),
|
||||
B(CallJSRuntime), U8(%promise_resolve), R(10), U8(3),
|
||||
B(LdaCurrentContextSlot), U8(9),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(Star), R(7),
|
||||
B(LdaZero),
|
||||
B(Star), R(6),
|
||||
@ -820,14 +813,14 @@ bytecodes: [
|
||||
B(PushContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(10),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(12),
|
||||
B(LdaFalse),
|
||||
B(Star), R(13),
|
||||
B(CallJSRuntime), U8(%promise_internal_reject), R(10), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(PopContext), R(1),
|
||||
B(Star), R(7),
|
||||
@ -845,7 +838,7 @@ bytecodes: [
|
||||
B(Star), R(8),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaCurrentContextSlot), U8(9),
|
||||
B(LdaCurrentContextSlot), U8(8),
|
||||
B(Star), R(10),
|
||||
B(CallJSRuntime), U8(%async_function_promise_release), R(9), U8(2),
|
||||
B(Ldar), R(8),
|
||||
@ -877,8 +870,8 @@ constant pool: [
|
||||
FIXED_ARRAY_TYPE,
|
||||
]
|
||||
handlers: [
|
||||
[62, 300, 306],
|
||||
[65, 246, 248],
|
||||
[57, 295, 301],
|
||||
[60, 241, 243],
|
||||
]
|
||||
|
||||
---
|
||||
@ -890,7 +883,7 @@ snippet: "
|
||||
"
|
||||
frame size: 15
|
||||
parameter count: 1
|
||||
bytecode array length: 512
|
||||
bytecode array length: 507
|
||||
bytecodes: [
|
||||
B(Ldar), R(new_target),
|
||||
B(JumpIfUndefined), U8(27),
|
||||
@ -900,26 +893,23 @@ bytecodes: [
|
||||
B(Star), R(3),
|
||||
B(LdaZero),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(76),
|
||||
B(JumpIfTrue), U8(71),
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(5),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(Star), R(3),
|
||||
B(CreateFunctionContext), U8(7),
|
||||
B(CreateFunctionContext), U8(6),
|
||||
B(PushContext), R(0),
|
||||
B(Ldar), R(this),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(Mov), R(this), R(6),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
/* 16 E> */ B(StackCheck),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(6),
|
||||
B(Mov), R(closure), R(5),
|
||||
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
|
||||
B(StaCurrentContextSlot), U8(5),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(5),
|
||||
B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
|
||||
B(StaCurrentContextSlot), U8(7),
|
||||
B(StaCurrentContextSlot), U8(6),
|
||||
B(Mov), R(context), R(7),
|
||||
B(Mov), R(context), R(8),
|
||||
B(Ldar), R(closure),
|
||||
@ -930,9 +920,9 @@ bytecodes: [
|
||||
/* 36 S> */ B(LdaZero),
|
||||
/* 36 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
/* 59 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaSmi), I8(-2),
|
||||
B(TestEqualStrictNoFeedback), R(3),
|
||||
B(JumpIfTrue), U8(16),
|
||||
@ -948,21 +938,21 @@ bytecodes: [
|
||||
B(PushContext), R(2),
|
||||
B(LdaTheHole),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(3),
|
||||
B(JumpIfFalse), U8(9),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
B(Jump), U8(8),
|
||||
/* 49 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Inc), U8(4),
|
||||
/* 49 E> */ B(StaCurrentContextSlot), U8(4),
|
||||
B(LdaSmi), I8(1),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
/* 41 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(10),
|
||||
@ -980,26 +970,26 @@ bytecodes: [
|
||||
B(LdaSmi), I8(79),
|
||||
B(Star), R(9),
|
||||
B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(6),
|
||||
B(JumpIfFalse), U8(128),
|
||||
/* 23 E> */ B(StackCheck),
|
||||
/* 58 S> */ B(LdaCurrentContextSlot), U8(4),
|
||||
B(StaContextSlot), R(1), U8(6), U8(0),
|
||||
B(StaContextSlot), R(1), U8(5), U8(0),
|
||||
/* 52 S> */ B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(5), U8(0),
|
||||
B(Star), R(11),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(12),
|
||||
B(CallJSRuntime), U8(%async_function_await_uncaught), R(9), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
|
||||
B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaZero),
|
||||
B(SuspendGenerator), R(10), U8(2),
|
||||
@ -1034,11 +1024,11 @@ bytecodes: [
|
||||
B(Ldar), R(11),
|
||||
B(ReThrow),
|
||||
B(LdaZero),
|
||||
B(StaContextSlot), R(1), U8(10), U8(0),
|
||||
B(StaContextSlot), R(1), U8(9), U8(0),
|
||||
B(LdaCurrentContextSlot), U8(4),
|
||||
/* 59 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
|
||||
/* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
|
||||
B(JumpLoop), U8(156), I8(1),
|
||||
B(LdaContextSlot), R(1), U8(10), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(9), U8(0),
|
||||
B(Star), R(9),
|
||||
B(LdaSmi), I8(1),
|
||||
B(TestEqual), R(9), U8(7),
|
||||
@ -1050,12 +1040,12 @@ bytecodes: [
|
||||
B(PopContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(Star), R(10),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(11),
|
||||
B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(Star), R(6),
|
||||
B(LdaSmi), I8(1),
|
||||
B(Star), R(5),
|
||||
@ -1071,14 +1061,14 @@ bytecodes: [
|
||||
B(PushContext), R(1),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(9),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(Star), R(10),
|
||||
B(LdaImmutableCurrentContextSlot), U8(4),
|
||||
B(Star), R(11),
|
||||
B(LdaFalse),
|
||||
B(Star), R(12),
|
||||
B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
|
||||
B(LdaContextSlot), R(1), U8(7), U8(0),
|
||||
B(LdaContextSlot), R(1), U8(6), U8(0),
|
||||
B(PopContext), R(1),
|
||||
B(PopContext), R(1),
|
||||
B(Star), R(6),
|
||||
@ -1096,7 +1086,7 @@ bytecodes: [
|
||||
B(Star), R(7),
|
||||
B(LdaUndefined),
|
||||
B(Star), R(8),
|
||||
B(LdaCurrentContextSlot), U8(7),
|
||||
B(LdaCurrentContextSlot), U8(6),
|
||||
B(Star), R(9),
|
||||
B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
|
||||
B(Ldar), R(7),
|
||||
@ -1132,7 +1122,7 @@ constant pool: [
|
||||
FIXED_ARRAY_TYPE,
|
||||
]
|
||||
handlers: [
|
||||
[67, 443, 449],
|
||||
[70, 389, 391],
|
||||
[62, 438, 444],
|
||||
[65, 384, 386],
|
||||
]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user