Commit 8b1b7dee authored by Camillo Bruni's avatar Camillo Bruni Committed by Commit Bot

[scope] Add Scope::ForEach helper to avoid recursion

Drive-by-fix:
- Inline Scope::num_parameters
- Provide inlineable DataGatheringScope destructor precheck

Change-Id: I337a79e0d5cf0f26c526e2ac53de8aa632d86c53
Reviewed-on: https://chromium-review.googlesource.com/c/1445879
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59253}
parent e004fe75
This diff is collapsed.
......@@ -81,9 +81,6 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
typedef base::ThreadedList<VariableProxy, VariableProxy::UnresolvedNext>
UnresolvedList;
// TODO(verwaest): Is this needed on Scope?
int num_parameters() const;
DeclarationScope* AsDeclarationScope();
const DeclarationScope* AsDeclarationScope() const;
ModuleScope* AsModuleScope();
......@@ -383,6 +380,33 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
return num_heap_slots() > 0;
}
// Use Scope::ForEach for depth first traversal of scopes.
// Before:
// void Scope::VisitRecursively() {
// DoSomething();
// for (Scope* s = inner_scope_; s != nullptr; s = s->sibling_) {
// if (s->ShouldContinue()) continue;
// s->VisitRecursively();
// }
// }
//
// After:
// void Scope::VisitIteratively() {
// this->ForEach([](Scope* s) {
// s->DoSomething();
// return s->ShouldContinue() ? kContinue : kDescend;
// });
// }
template <typename FunctionType>
V8_INLINE void ForEach(FunctionType callback);
enum Iteration {
// Continue the iteration on the same level, do not recurse/descent into
// inner scopes.
kContinue,
// Recurse/descend into inner scopes.
kDescend
};
// ---------------------------------------------------------------------------
// Accessors.
......
......@@ -136,7 +136,10 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, Scope* scope,
const bool has_function_name = function_name_info != NONE;
const bool has_position_info = NeedsPositionInfo(scope->scope_type());
const bool has_receiver = receiver_info == STACK || receiver_info == CONTEXT;
const int parameter_count = scope->num_parameters();
const int parameter_count =
scope->is_declaration_scope()
? scope->AsDeclarationScope()->num_parameters()
: 0;
const bool has_outer_scope_info = !outer_scope.is_null();
const int length = kVariablePartIndex + 2 * context_local_count +
(has_receiver ? 1 : 0) +
......@@ -315,7 +318,7 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, Scope* scope,
}
DCHECK_EQ(index, scope_info_handle->length());
DCHECK_EQ(scope->num_parameters(), scope_info_handle->ParameterCount());
DCHECK_EQ(parameter_count, scope_info_handle->ParameterCount());
DCHECK_EQ(scope->num_heap_slots(), scope_info_handle->ContextLength());
return scope_info_handle;
}
......
......@@ -213,6 +213,12 @@ class ZonePreparseData : public ZoneObject {
DISALLOW_COPY_AND_ASSIGN(ZonePreparseData);
};
ZonePreparseData* PreparseDataBuilder::ByteData::CopyToZone(
Zone* zone, int children_length) {
DCHECK(is_finalized_);
return new (zone) ZonePreparseData(zone, &zone_byte_data_, children_length);
}
// Implementation of ConsumedPreparseData for PreparseData
// serialized into zone memory.
class ZoneConsumedPreparseData final
......
......@@ -105,9 +105,7 @@ void PreparseDataBuilder::DataGatheringScope::Start(
function_scope->set_preparse_data_builder(builder_);
}
PreparseDataBuilder::DataGatheringScope::~DataGatheringScope() {
if (builder_ == nullptr) return;
void PreparseDataBuilder::DataGatheringScope::Close() {
PreparseDataBuilder* parent = builder_->parent_;
preparser_->set_preparse_data_builder(parent);
builder_->FinalizeChildren(preparser_->main_zone());
......@@ -414,12 +412,6 @@ Handle<PreparseData> PreparseDataBuilder::ByteData::CopyToHeap(
return data;
}
ZonePreparseData* PreparseDataBuilder::ByteData::CopyToZone(
Zone* zone, int children_length) {
DCHECK(is_finalized_);
return new (zone) ZonePreparseData(zone, &zone_byte_data_, children_length);
}
Handle<PreparseData> PreparseDataBuilder::Serialize(Isolate* isolate) {
DCHECK(HasData());
DCHECK(!ThisOrParentBailedOut());
......
......@@ -110,9 +110,14 @@ class PreparseDataBuilder : public ZoneObject,
void Start(DeclarationScope* function_scope);
void SetSkippableFunction(DeclarationScope* function_scope,
int num_inner_functions);
~DataGatheringScope();
inline ~DataGatheringScope() {
if (builder_ == nullptr) return;
Close();
}
private:
void Close();
PreParser* preparser_;
PreparseDataBuilder* builder_;
......@@ -130,7 +135,7 @@ class PreparseDataBuilder : public ZoneObject,
void Finalize(Zone* zone);
Handle<PreparseData> CopyToHeap(Isolate* isolate, int children_length);
ZonePreparseData* CopyToZone(Zone* zone, int children_length);
inline ZonePreparseData* CopyToZone(Zone* zone, int children_length);
void Reserve(size_t bytes);
void Add(uint8_t byte);
......
......@@ -252,19 +252,19 @@ frame size: 20
parameter count: 1
bytecode array length: 416
bytecodes: [
B(SwitchOnGeneratorState), R(2), U8(0), U8(3),
B(SwitchOnGeneratorState), R(0), U8(0), U8(3),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(2),
B(Star), R(0),
/* 17 E> */ B(StackCheck),
B(Mov), R(context), R(6),
B(Mov), R(context), R(7),
B(Ldar), R(2),
/* 17 E> */ B(SuspendGenerator), R(2), R(0), U8(8), U8(0),
B(ResumeGenerator), R(2), R(0), U8(8),
B(Ldar), R(0),
/* 17 E> */ B(SuspendGenerator), R(0), R(0), U8(8), U8(0),
B(ResumeGenerator), R(0), R(0), U8(8),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(3), U8(2), I8(0),
B(Ldar), R(8),
/* 17 E> */ B(Throw),
......@@ -297,18 +297,18 @@ bytecodes: [
B(Star), R(16),
B(LdaFalse),
B(Star), R(12),
B(Mov), R(16), R(3),
B(Mov), R(16), R(1),
/* 22 E> */ B(StackCheck),
/* 31 S> */ B(Mov), R(3), R(0),
/* 31 S> */ B(Mov), R(1), R(3),
/* 42 S> */ B(LdaFalse),
B(Star), R(19),
B(Mov), R(2), R(17),
B(Mov), R(0), R(18),
B(Mov), R(0), R(17),
B(Mov), R(3), R(18),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(17), U8(3),
/* 42 E> */ B(SuspendGenerator), R(2), R(0), U8(17), U8(1),
B(ResumeGenerator), R(2), R(0), U8(17),
/* 42 E> */ B(SuspendGenerator), R(0), R(0), U8(17), U8(1),
B(ResumeGenerator), R(0), R(0), U8(17),
B(Star), R(17),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0),
B(Ldar), R(17),
/* 42 E> */ B(Throw),
......@@ -367,12 +367,12 @@ bytecodes: [
B(Jump), U8(95),
B(LdaUndefined),
B(Star), R(9),
B(Mov), R(2), R(8),
B(Mov), R(0), R(8),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(8), U8(2),
B(SuspendGenerator), R(2), R(0), U8(8), U8(2),
B(ResumeGenerator), R(2), R(0), U8(8),
B(SuspendGenerator), R(0), R(0), U8(8), U8(2),
B(ResumeGenerator), R(0), R(0), U8(8),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(Star), R(9),
B(LdaZero),
B(TestReferenceEqual), R(9),
......@@ -393,7 +393,7 @@ bytecodes: [
B(PushContext), R(8),
B(LdaImmutableCurrentContextSlot), U8(4),
B(Star), R(10),
B(Mov), R(2), R(9),
B(Mov), R(0), R(9),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(9), U8(2),
B(PopContext), R(8),
B(Star), R(5),
......@@ -410,7 +410,7 @@ bytecodes: [
B(LdaTheHole),
B(SetPendingMessage),
B(Star), R(6),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1),
B(Ldar), R(6),
B(SetPendingMessage),
B(Ldar), R(4),
......@@ -420,7 +420,7 @@ bytecodes: [
B(ReThrow),
B(LdaTrue),
B(Star), R(9),
B(Mov), R(2), R(7),
B(Mov), R(0), R(7),
B(Mov), R(5), R(8),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(7), U8(3),
/* 50 S> */ B(Return),
......
......@@ -696,8 +696,8 @@ bytecode array length: 50
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(1),
/* 52 S> */ B(Ldar), R(1),
B(Star), R(0),
/* 52 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(42),
/* 45 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
......@@ -705,10 +705,10 @@ bytecodes: [
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0),
B(Star), R(2),
/* 73 S> */ B(LdaSmi), I8(1),
/* 73 E> */ B(StaCurrentContextSlot), U8(4),
/* 102 S> */ B(Mov), R(0), R(2),
/* 102 S> */ B(Mov), R(2), R(1),
/* 106 S> */ B(LdaCurrentContextSlot), U8(4),
B(JumpIfToBooleanFalse), U8(6),
/* 113 S> */ B(PopContext), R(3),
......
......@@ -109,11 +109,11 @@ bytecodes: [
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0),
B(Star), R(1),
/* 53 S> */ B(LdaSmi), I8(10),
/* 53 E> */ B(StaCurrentContextSlot), U8(4),
/* 85 S> */ B(Mov), R(0), R(1),
B(Ldar), R(0),
/* 85 S> */ B(Mov), R(1), R(0),
B(Ldar), R(1),
/* 88 S> */ B(Jump), U8(2),
B(PopContext), R(2),
B(LdaUndefined),
......@@ -155,10 +155,10 @@ bytecodes: [
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(0),
B(Star), R(1),
/* 76 S> */ B(LdaSmi), I8(2),
/* 76 E> */ B(StaCurrentContextSlot), U8(4),
/* 113 S> */ B(Mov), R(0), R(1),
/* 113 S> */ B(Mov), R(1), R(0),
/* 118 S> */ B(LdaCurrentContextSlot), U8(4),
B(JumpIfToBooleanFalse), U8(6),
/* 125 S> */ B(PopContext), R(3),
......
......@@ -30,9 +30,9 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 149 S> */ B(Return),
]
......@@ -70,9 +70,9 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 149 S> */ B(Return),
]
......@@ -128,9 +128,9 @@ bytecodes: [
B(Star), R(11),
B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7),
B(Star), R(5),
B(Mov), R(4), R(0),
B(Mov), R(4), R(1),
B(PopContext), R(3),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 129 S> */ B(Return),
]
......@@ -174,11 +174,11 @@ bytecodes: [
B(Mov), R(4), R(6),
B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(3),
B(Star), R(5),
B(Mov), R(6), R(0),
B(Mov), R(6), R(1),
B(PopContext), R(3),
B(Mov), R(0), R(1),
/* 87 S> */ B(Ldar), R(1),
/* 94 E> */ B(Construct), R(1), R(0), U8(0), U8(1),
B(Mov), R(1), R(0),
/* 87 S> */ B(Ldar), R(0),
/* 94 E> */ B(Construct), R(0), R(0), U8(0), U8(1),
/* 102 S> */ B(Return),
]
constant pool: [
......@@ -225,9 +225,9 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
B(LdaUndefined),
/* 74 S> */ B(Return),
]
......
......@@ -42,10 +42,10 @@ bytecodes: [
B(Star), R(12),
B(LdaFalse),
B(Star), R(8),
B(Mov), R(12), R(3),
B(Mov), R(12), R(0),
/* 20 E> */ B(StackCheck),
/* 29 S> */ B(Mov), R(3), R(1),
/* 49 S> */ B(Mov), R(1), R(0),
/* 29 S> */ B(Mov), R(0), R(2),
/* 49 S> */ B(Mov), R(2), R(3),
B(Ldar), R(12),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
......@@ -286,19 +286,19 @@ bytecodes: [
B(Star), R(10),
B(LdaFalse),
B(Star), R(6),
B(Mov), R(10), R(1),
B(Mov), R(10), R(0),
/* 20 E> */ B(StackCheck),
B(CreateBlockContext), U8(4),
B(PushContext), R(11),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
/* 29 S> */ B(Ldar), R(1),
/* 29 S> */ B(Ldar), R(0),
/* 29 E> */ B(StaCurrentContextSlot), U8(4),
/* 41 S> */ B(CreateClosure), U8(5), U8(12), U8(2),
B(Star), R(12),
/* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(13),
B(PopContext), R(11),
B(Mov), R(1), R(10),
B(Mov), R(0), R(10),
B(JumpLoop), U8(60), I8(0),
B(LdaSmi), I8(-1),
B(Star), R(8),
......@@ -397,7 +397,7 @@ bytecodes: [
B(Star), R(14),
B(LdaFalse),
B(Star), R(10),
B(Mov), R(14), R(5),
B(Mov), R(14), R(0),
/* 20 E> */ B(StackCheck),
/* 36 S> */ B(Ldar), R(14),
B(JumpIfNull), U8(4),
......@@ -405,12 +405,12 @@ bytecodes: [
/* 29 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
B(Star), R(15),
/* 31 S> */ B(LdaNamedProperty), R(15), U8(4), U8(12),
B(Star), R(1),
B(Star), R(3),
/* 34 S> */ B(LdaNamedProperty), R(15), U8(5), U8(14),
B(Star), R(2),
/* 56 S> */ B(Ldar), R(2),
/* 58 E> */ B(Add), R(1), U8(16),
B(Star), R(0),
B(Star), R(4),
/* 56 S> */ B(Ldar), R(4),
/* 58 E> */ B(Add), R(3), U8(16),
B(Star), R(5),
B(JumpLoop), U8(67), I8(0),
B(LdaSmi), I8(-1),
B(Star), R(12),
......@@ -484,16 +484,16 @@ frame size: 17
parameter count: 2
bytecode array length: 214
bytecodes: [
B(SwitchOnGeneratorState), R(3), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(5),
B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
B(Star), R(3),
B(Star), R(0),
/* 11 E> */ B(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(3), R(0), U8(5), U8(0),
B(ResumeGenerator), R(3), R(0), U8(5),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(5), U8(0),
B(ResumeGenerator), R(0), R(0), U8(5),
B(Star), R(5),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
B(Ldar), R(5),
/* 11 E> */ B(Throw),
......@@ -523,10 +523,10 @@ bytecodes: [
B(Star), R(13),
B(LdaFalse),
B(Star), R(9),
B(Mov), R(13), R(4),
B(Mov), R(13), R(1),
/* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(4), R(1),
/* 50 S> */ B(Mov), R(1), R(0),
/* 30 S> */ B(Mov), R(1), R(3),
/* 50 S> */ B(Mov), R(3), R(4),
B(Ldar), R(13),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
......@@ -602,16 +602,16 @@ frame size: 16
parameter count: 2
bytecode array length: 258
bytecodes: [
B(SwitchOnGeneratorState), R(2), U8(0), U8(2),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(2),
B(Star), R(0),
/* 11 E> */ B(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), U8(0),
B(ResumeGenerator), R(2), R(0), U8(4),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 11 E> */ B(Throw),
......@@ -641,17 +641,17 @@ bytecodes: [
B(Star), R(12),
B(LdaFalse),
B(Star), R(8),
B(Mov), R(12), R(3),
B(Mov), R(12), R(1),
/* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(3), R(0),
/* 30 S> */ B(Mov), R(1), R(3),
/* 40 S> */ B(LdaFalse),
B(Star), R(14),
B(Mov), R(0), R(13),
B(Mov), R(3), R(13),
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
/* 40 E> */ B(SuspendGenerator), R(2), R(0), U8(13), U8(1),
B(ResumeGenerator), R(2), R(0), U8(13),
/* 40 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
B(ResumeGenerator), R(0), R(0), U8(13),
B(Star), R(13),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
B(Ldar), R(13),
/* 40 E> */ B(Throw),
......@@ -744,7 +744,7 @@ bytecodes: [
B(Mov), R(closure), R(5),
B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(5), U8(2),
B(Star), R(3),
B(Star), R(0),
/* 16 E> */ B(StackCheck),
B(Mov), R(context), R(5),
/* 40 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
......@@ -771,10 +771,10 @@ bytecodes: [
B(Star), R(14),
B(LdaFalse),
B(Star), R(10),
B(Mov), R(14), R(4),
B(Mov), R(14), R(1),
/* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(4), R(1),
/* 55 S> */ B(Mov), R(1), R(0),
/* 35 S> */ B(Mov), R(1), R(3),
/* 55 S> */ B(Mov), R(3), R(4),
B(Ldar), R(14),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
......@@ -824,7 +824,7 @@ bytecodes: [
B(Star), R(7),
B(LdaFalse),
B(Star), R(8),
B(Mov), R(3), R(6),
B(Mov), R(0), R(6),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(6), U8(3),
/* 60 S> */ B(Return),
B(Jump), U8(30),
......@@ -839,7 +839,7 @@ bytecodes: [
B(Star), R(8),
B(LdaFalse),
B(Star), R(9),
B(Mov), R(3), R(7),
B(Mov), R(0), R(7),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(7), U8(3),
/* 60 S> */ B(Return),
B(LdaUndefined),
......@@ -871,11 +871,11 @@ frame size: 17
parameter count: 2
bytecode array length: 268
bytecodes: [
B(SwitchOnGeneratorState), R(2), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(2),
B(Star), R(0),
/* 16 E> */ B(StackCheck),
B(Mov), R(context), R(4),
/* 40 S> */ B(LdaNamedProperty), R(arg0), U8(1), U8(0),
......@@ -902,16 +902,16 @@ bytecodes: [
B(Star), R(13),
B(LdaFalse),
B(Star), R(9),
B(Mov), R(13), R(3),
B(Mov), R(13), R(1),
/* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(3), R(0),
/* 45 S> */ B(Mov), R(2), R(14),
B(Mov), R(0), R(15),
/* 35 S> */ B(Mov), R(1), R(3),
/* 45 S> */ B(Mov), R(0), R(14),
B(Mov), R(3), R(15),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
/* 45 E> */ B(SuspendGenerator), R(2), R(0), U8(14), U8(0),
B(ResumeGenerator), R(2), R(0), U8(14),
/* 45 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
B(ResumeGenerator), R(0), R(0), U8(14),
B(Star), R(14),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(Star), R(15),
B(LdaZero),
B(TestReferenceEqual), R(15),
......@@ -967,7 +967,7 @@ bytecodes: [
B(Star), R(6),
B(LdaTrue),
B(Star), R(7),
B(Mov), R(2), R(5),
B(Mov), R(0), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 54 S> */ B(Return),
B(Jump), U8(30),
......@@ -982,7 +982,7 @@ bytecodes: [
B(Star), R(7),
B(LdaTrue),
B(Star), R(8),
B(Mov), R(2), R(6),
B(Mov), R(0), R(6),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(6), U8(3),
/* 54 S> */ B(Return),
B(LdaUndefined),
......
......@@ -102,16 +102,16 @@ frame size: 16
parameter count: 1
bytecode array length: 261
bytecodes: [
B(SwitchOnGeneratorState), R(2), U8(0), U8(2),
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(2),
B(Star), R(0),
/* 11 E> */ B(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), U8(0),
B(ResumeGenerator), R(2), R(0), U8(4),
/* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 11 E> */ B(Throw),
......@@ -142,17 +142,17 @@ bytecodes: [
B(Star), R(12),
B(LdaFalse),
B(Star), R(8),
B(Mov), R(12), R(3),
B(Mov), R(12), R(1),
/* 16 E> */ B(StackCheck),
/* 25 S> */ B(Mov), R(3), R(0),
/* 25 S> */ B(Mov), R(1), R(3),
/* 36 S> */ B(LdaFalse),
B(Star), R(14),
B(Mov), R(0), R(13),
B(Mov), R(3), R(13),
B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
/* 36 E> */ B(SuspendGenerator), R(2), R(0), U8(13), U8(1),
B(ResumeGenerator), R(2), R(0), U8(13),
/* 36 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
B(ResumeGenerator), R(0), R(0), U8(13),
B(Star), R(13),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
B(Ldar), R(13),
/* 36 E> */ B(Throw),
......
......@@ -99,7 +99,7 @@ frame size: 6
parameter count: 2
bytecode array length: 92
bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1),
B(Star), R(4),
B(Mov), R(arg0), R(3),
......@@ -108,12 +108,12 @@ bytecodes: [
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1),
B(Star), R(0),
/* 0 E> */ B(StackCheck),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 0 E> */ B(Throw),
......@@ -126,14 +126,14 @@ bytecodes: [
B(Star), R(5),
/* 32 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(0),
/* 47 S> */ B(LdaUndefined),
B(Star), R(0),
B(Star), R(2),
/* 52 S> */ B(LdaModuleVariable), I8(-1), U8(0),
B(ThrowReferenceErrorIfHole), U8(4),
B(Star), R(4),
B(LdaSmi), I8(42),
B(Star), R(5),
/* 52 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(2),
B(Star), R(2),
B(Star), R(1),
/* 65 S> */ B(Return),
]
constant pool: [
......@@ -156,7 +156,7 @@ frame size: 6
parameter count: 2
bytecode array length: 90
bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1),
B(Star), R(4),
B(Mov), R(arg0), R(3),
......@@ -165,12 +165,12 @@ bytecodes: [
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1),
B(Star), R(0),
/* 0 E> */ B(StackCheck),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 0 E> */ B(Throw),
......@@ -182,14 +182,14 @@ bytecodes: [
B(Inc), U8(0),
/* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
/* 34 S> */ B(LdaUndefined),
B(Star), R(0),
B(Star), R(2),
/* 39 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1),
B(Star), R(4),
B(Inc), U8(1),
/* 42 E> */ B(StaModuleVariable), I8(1), U8(0),
B(Mov), R(4), R(2),
B(Ldar), R(2),
B(Mov), R(4), R(1),
B(Ldar), R(1),
/* 50 S> */ B(Return),
]
constant pool: [
......@@ -211,7 +211,7 @@ frame size: 6
parameter count: 2
bytecode array length: 96
bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1),
B(Star), R(4),
B(Mov), R(arg0), R(3),
......@@ -220,15 +220,15 @@ bytecodes: [
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1),
B(Star), R(0),
B(LdaTheHole),
B(StaModuleVariable), I8(1), U8(0),
/* 0 E> */ B(StackCheck),
B(Ldar), R(1),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4),
B(Ldar), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 0 E> */ B(Throw),
......@@ -240,14 +240,14 @@ bytecodes: [
B(Inc), U8(0),
/* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
/* 34 S> */ B(LdaUndefined),
B(Star), R(0),
B(Star), R(2),
/* 39 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1),
B(Star), R(4),
B(Inc), U8(1),
/* 42 E> */ B(StaModuleVariable), I8(1), U8(0),
B(Mov), R(4), R(2),
B(Ldar), R(2),
B(Mov), R(4), R(1),
B(Ldar), R(1),
/* 50 S> */ B(Return),
]
constant pool: [
......@@ -269,7 +269,7 @@ frame size: 6
parameter count: 2
bytecode array length: 100
bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1),
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1),
B(Star), R(4),
B(Mov), R(arg0), R(3),
......@@ -278,15 +278,15 @@ bytecodes: [
B(Mov), R(closure), R(4),
B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1),
B(Star), R(0),
B(LdaTheHole),
B(StaModuleVariable), I8(1), U8(0),
/* 0 E> */ B(StackCheck),
B(Ldar), R(1),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4),
B(Ldar), R(0),
/* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4),
/* 0 E> */ B(Throw),
......@@ -298,14 +298,14 @@ bytecodes: [
B(Inc), U8(0),
/* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
/* 36 S> */ B(LdaUndefined),
B(Star), R(0),
B(Star), R(2),
/* 41 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1),
B(Star), R(4),
B(Inc), U8(1),
/* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Mov), R(4), R(2),
B(Ldar), R(2),
B(Mov), R(4), R(1),
B(Ldar), R(1),
/* 52 S> */ B(Return),
]
constant pool: [
......
......@@ -26,13 +26,13 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
/* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(3),
B(Ldar), R(1),
/* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(1), U8(2),
B(Ldar), R(0),
/* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(1), U8(2),
B(LdaUndefined),
/* 110 S> */ B(Return),
]
......@@ -66,15 +66,15 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
/* 89 S> */ B(LdaZero),
B(Star), R(3),
B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(4),
B(Ldar), R(1),
/* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(2), U8(2),
B(Ldar), R(0),
/* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(2), U8(2),
B(LdaUndefined),
/* 113 S> */ B(Return),
]
......@@ -108,9 +108,9 @@ bytecodes: [
B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4),
B(Mov), R(5), R(0),
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(0), R(1),
B(Mov), R(1), R(0),
/* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(4),
B(LdaConstant), U8(4),
......
......@@ -47,12 +47,12 @@ bytecodes: [
B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
B(Star), R(6),
B(Mov), R(7), R(1),
B(Mov), R(7), R(3),
B(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4),
B(Mov), R(1), R(2),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6),
B(PushContext), R(4),
B(LdaTheHole),
......@@ -72,16 +72,16 @@ bytecodes: [
B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
B(Star), R(6),
B(Mov), R(7), R(0),
B(Mov), R(7), R(2),
B(CreateClosure), U8(9), U8(5), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(6),
B(PopContext), R(4),
B(Mov), R(0), R(3),
/* 136 S> */ B(Ldar), R(1),
/* 136 E> */ B(Construct), R(1), R(0), U8(0), U8(8),
/* 145 S> */ B(Ldar), R(0),
/* 145 E> */ B(Construct), R(0), R(0), U8(0), U8(10),
B(Mov), R(2), R(1),
/* 136 S> */ B(Ldar), R(3),
/* 136 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
/* 145 S> */ B(Ldar), R(2),
/* 145 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
B(LdaUndefined),
/* 154 S> */ B(Return),
]
......@@ -167,12 +167,12 @@ bytecodes: [
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3),
B(Star), R(8),
B(Mov), R(9), R(2),
B(Mov), R(9), R(5),
B(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(3),
B(PopContext), R(6),
B(Mov), R(2), R(3),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -212,12 +212,12 @@ bytecodes: [
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(9), R(1),
B(Mov), R(9), R(4),
B(CreateClosure), U8(16), U8(9), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(10),
B(PopContext), R(6),
B(Mov), R(1), R(4),
B(Mov), R(4), R(1),
/* 140 E> */ B(CreateBlockContext), U8(17),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -233,21 +233,21 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(11), U8(1),
B(StaCurrentContextSlot), U8(4),
B(Mov), R(7), R(9),
B(Mov), R(1), R(10),
B(Mov), R(4), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3),
B(Star), R(8),
B(Mov), R(9), R(0),
B(Mov), R(9), R(3),
B(CreateClosure), U8(20), U8(13), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(14),
B(PopContext), R(6),
B(Mov), R(0), R(5),
/* 430 S> */ B(Ldar), R(2),
/* 430 E> */ B(Construct), R(2), R(0), U8(0), U8(16),
/* 439 S> */ B(Ldar), R(1),
/* 439 E> */ B(Construct), R(1), R(0), U8(0), U8(18),
/* 448 S> */ B(Ldar), R(0),
/* 448 E> */ B(Construct), R(0), R(0), U8(0), U8(20),
B(Mov), R(3), R(2),
/* 430 S> */ B(Ldar), R(5),
/* 430 E> */ B(Construct), R(5), R(0), U8(0), U8(16),
/* 439 S> */ B(Ldar), R(4),
/* 439 E> */ B(Construct), R(4), R(0), U8(0), U8(18),
/* 448 S> */ B(Ldar), R(3),
/* 448 E> */ B(Construct), R(3), R(0), U8(0), U8(20),
B(LdaUndefined),
/* 458 S> */ B(Return),
]
......
......@@ -43,12 +43,12 @@ bytecodes: [
B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
B(Star), R(6),
B(Mov), R(7), R(1),
B(Mov), R(7), R(3),
B(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4),
B(Mov), R(1), R(2),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6),
B(PushContext), R(4),
B(LdaTheHole),
......@@ -65,16 +65,16 @@ bytecodes: [
B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
B(Star), R(6),
B(Mov), R(7), R(0),
B(Mov), R(7), R(2),
B(CreateClosure), U8(9), U8(5), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(6),
B(PopContext), R(4),
B(Mov), R(0), R(3),
/* 120 S> */ B(Ldar), R(1),
/* 120 E> */ B(Construct), R(1), R(0), U8(0), U8(8),
/* 129 S> */ B(Ldar), R(0),
/* 129 E> */ B(Construct), R(0), R(0), U8(0), U8(10),
B(Mov), R(2), R(1),
/* 120 S> */ B(Ldar), R(3),
/* 120 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
/* 129 S> */ B(Ldar), R(2),
/* 129 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
B(LdaUndefined),
/* 138 S> */ B(Return),
]
......@@ -152,12 +152,12 @@ bytecodes: [
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4),
B(Star), R(8),
B(Mov), R(9), R(2),
B(Mov), R(9), R(5),
B(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(3),
B(PopContext), R(6),
B(Mov), R(2), R(3),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -184,12 +184,12 @@ bytecodes: [
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(9), R(1),
B(Mov), R(9), R(4),
B(CreateClosure), U8(14), U8(8), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(9),
B(PopContext), R(6),
B(Mov), R(1), R(4),
B(Mov), R(4), R(1),
/* 90 E> */ B(CreateBlockContext), U8(15),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -202,21 +202,21 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
B(Star), R(11),
B(Mov), R(7), R(9),
B(Mov), R(1), R(10),
B(Mov), R(4), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4),
B(Star), R(8),
B(Mov), R(9), R(0),
B(Mov), R(9), R(3),
B(CreateClosure), U8(18), U8(12), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(13),
B(PopContext), R(6),
B(Mov), R(0), R(5),
/* 329 S> */ B(Ldar), R(2),
/* 329 E> */ B(Construct), R(2), R(0), U8(0), U8(15),
/* 338 S> */ B(Ldar), R(1),
/* 338 E> */ B(Construct), R(1), R(0), U8(0), U8(17),
/* 347 S> */ B(Ldar), R(0),
/* 347 E> */ B(Construct), R(0), R(0), U8(0), U8(19),
B(Mov), R(3), R(2),
/* 329 S> */ B(Ldar), R(5),
/* 329 E> */ B(Construct), R(5), R(0), U8(0), U8(15),
/* 338 S> */ B(Ldar), R(4),
/* 338 E> */ B(Construct), R(4), R(0), U8(0), U8(17),
/* 347 S> */ B(Ldar), R(3),
/* 347 E> */ B(Construct), R(3), R(0), U8(0), U8(19),
B(LdaUndefined),
/* 356 S> */ B(Return),
]
......
......@@ -58,15 +58,15 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6),
B(Mov), R(5), R(1),
B(Mov), R(5), R(3),
B(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(7), U8(3),
B(CreateClosure), U8(8), U8(5), U8(2),
B(Star), R(9),
B(CallProperty0), R(9), R(1), U8(6),
B(CallProperty0), R(9), R(3), U8(6),
B(PopContext), R(4),
B(Mov), R(1), R(2),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(9),
B(PushContext), R(4),
B(LdaTheHole),
......@@ -93,19 +93,19 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6),
B(Mov), R(5), R(0),
B(Mov), R(5), R(2),
B(CreateClosure), U8(12), U8(9), U8(2),
B(Star), R(7),
B(StaNamedProperty), R(5), U8(7), U8(10),
B(CreateClosure), U8(13), U8(12), U8(2),
B(Star), R(9),
B(CallProperty0), R(9), R(0), U8(13),
B(CallProperty0), R(9), R(2), U8(13),
B(PopContext), R(4),
B(Mov), R(0), R(3),
/* 197 S> */ B(Ldar), R(2),
/* 197 E> */ B(Construct), R(2), R(0), U8(0), U8(15),
/* 206 S> */ B(Ldar), R(0),
/* 206 E> */ B(Construct), R(0), R(0), U8(0), U8(17),
B(Mov), R(2), R(1),
/* 197 S> */ B(Ldar), R(0),
/* 197 E> */ B(Construct), R(0), R(0), U8(0), U8(15),
/* 206 S> */ B(Ldar), R(2),
/* 206 E> */ B(Construct), R(2), R(0), U8(0), U8(17),
B(LdaUndefined),
/* 215 S> */ B(Return),
]
......@@ -203,15 +203,15 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(7), R(2),
B(Mov), R(7), R(5),
B(CreateClosure), U8(8), U8(3), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(4),
B(CreateClosure), U8(10), U8(6), U8(2),
B(Star), R(11),
B(CallProperty0), R(11), R(2), U8(7),
B(CallProperty0), R(11), R(5), U8(7),
B(PopContext), R(6),
B(Mov), R(2), R(3),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(11),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -248,15 +248,15 @@ bytecodes: [
B(Star), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(6),
B(Star), R(8),
B(Mov), R(7), R(1),
B(Mov), R(7), R(4),
B(CreateClosure), U8(17), U8(12), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(13),
B(CreateClosure), U8(18), U8(15), U8(2),
B(Star), R(11),
B(CallProperty0), R(11), R(1), U8(16),
B(CallProperty0), R(11), R(4), U8(16),
B(PopContext), R(6),
B(Mov), R(1), R(4),
B(Mov), R(4), R(1),
/* 122 E> */ B(CreateBlockContext), U8(19),
B(PushContext), R(6),
B(LdaTheHole),
......@@ -274,7 +274,7 @@ bytecodes: [
B(Star), R(12),
B(LdaConstant), U8(7),
B(TestEqualStrict), R(12), U8(2),
B(Mov), R(1), R(10),
B(Mov), R(4), R(10),
B(Mov), R(7), R(9),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
......@@ -282,23 +282,23 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(7), R(0),
B(Mov), R(7), R(3),
B(CreateClosure), U8(22), U8(19), U8(2),
B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(20),
B(CreateClosure), U8(23), U8(22), U8(2),
B(Star), R(11),
B(Ldar), R(0),
B(Ldar), R(3),
B(StaNamedProperty), R(11), U8(24), U8(23),
B(CallProperty0), R(11), R(0), U8(25),
B(CallProperty0), R(11), R(3), U8(25),
B(PopContext), R(6),
B(Mov), R(0), R(5),
/* 456 S> */ B(Ldar), R(3),
/* 456 E> */ B(Construct), R(3), R(0), U8(0), U8(27),
/* 465 S> */ B(Ldar), R(4),
/* 465 E> */ B(Construct), R(4), R(0), U8(0), U8(29),
/* 474 S> */ B(Ldar), R(0),
/* 474 E> */ B(Construct), R(0), R(0), U8(0), U8(31),
B(Mov), R(3), R(2),
/* 456 S> */ B(Ldar), R(0),
/* 456 E> */ B(Construct), R(0), R(0), U8(0), U8(27),
/* 465 S> */ B(Ldar), R(1),
/* 465 E> */ B(Construct), R(1), R(0), U8(0), U8(29),
/* 474 S> */ B(Ldar), R(3),
/* 474 E> */ B(Construct), R(3), R(0), U8(0), U8(31),
B(LdaUndefined),
/* 483 S> */ B(Return),
]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment