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) { ...@@ -81,9 +81,6 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
typedef base::ThreadedList<VariableProxy, VariableProxy::UnresolvedNext> typedef base::ThreadedList<VariableProxy, VariableProxy::UnresolvedNext>
UnresolvedList; UnresolvedList;
// TODO(verwaest): Is this needed on Scope?
int num_parameters() const;
DeclarationScope* AsDeclarationScope(); DeclarationScope* AsDeclarationScope();
const DeclarationScope* AsDeclarationScope() const; const DeclarationScope* AsDeclarationScope() const;
ModuleScope* AsModuleScope(); ModuleScope* AsModuleScope();
...@@ -383,6 +380,33 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) { ...@@ -383,6 +380,33 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
return num_heap_slots() > 0; 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. // Accessors.
......
...@@ -136,7 +136,10 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, Scope* scope, ...@@ -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_function_name = function_name_info != NONE;
const bool has_position_info = NeedsPositionInfo(scope->scope_type()); const bool has_position_info = NeedsPositionInfo(scope->scope_type());
const bool has_receiver = receiver_info == STACK || receiver_info == CONTEXT; 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 bool has_outer_scope_info = !outer_scope.is_null();
const int length = kVariablePartIndex + 2 * context_local_count + const int length = kVariablePartIndex + 2 * context_local_count +
(has_receiver ? 1 : 0) + (has_receiver ? 1 : 0) +
...@@ -315,7 +318,7 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, Scope* scope, ...@@ -315,7 +318,7 @@ Handle<ScopeInfo> ScopeInfo::Create(Isolate* isolate, Zone* zone, Scope* scope,
} }
DCHECK_EQ(index, scope_info_handle->length()); 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()); DCHECK_EQ(scope->num_heap_slots(), scope_info_handle->ContextLength());
return scope_info_handle; return scope_info_handle;
} }
......
...@@ -213,6 +213,12 @@ class ZonePreparseData : public ZoneObject { ...@@ -213,6 +213,12 @@ class ZonePreparseData : public ZoneObject {
DISALLOW_COPY_AND_ASSIGN(ZonePreparseData); 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 // Implementation of ConsumedPreparseData for PreparseData
// serialized into zone memory. // serialized into zone memory.
class ZoneConsumedPreparseData final class ZoneConsumedPreparseData final
......
...@@ -105,9 +105,7 @@ void PreparseDataBuilder::DataGatheringScope::Start( ...@@ -105,9 +105,7 @@ void PreparseDataBuilder::DataGatheringScope::Start(
function_scope->set_preparse_data_builder(builder_); function_scope->set_preparse_data_builder(builder_);
} }
PreparseDataBuilder::DataGatheringScope::~DataGatheringScope() { void PreparseDataBuilder::DataGatheringScope::Close() {
if (builder_ == nullptr) return;
PreparseDataBuilder* parent = builder_->parent_; PreparseDataBuilder* parent = builder_->parent_;
preparser_->set_preparse_data_builder(parent); preparser_->set_preparse_data_builder(parent);
builder_->FinalizeChildren(preparser_->main_zone()); builder_->FinalizeChildren(preparser_->main_zone());
...@@ -414,12 +412,6 @@ Handle<PreparseData> PreparseDataBuilder::ByteData::CopyToHeap( ...@@ -414,12 +412,6 @@ Handle<PreparseData> PreparseDataBuilder::ByteData::CopyToHeap(
return data; 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) { Handle<PreparseData> PreparseDataBuilder::Serialize(Isolate* isolate) {
DCHECK(HasData()); DCHECK(HasData());
DCHECK(!ThisOrParentBailedOut()); DCHECK(!ThisOrParentBailedOut());
......
...@@ -110,9 +110,14 @@ class PreparseDataBuilder : public ZoneObject, ...@@ -110,9 +110,14 @@ class PreparseDataBuilder : public ZoneObject,
void Start(DeclarationScope* function_scope); void Start(DeclarationScope* function_scope);
void SetSkippableFunction(DeclarationScope* function_scope, void SetSkippableFunction(DeclarationScope* function_scope,
int num_inner_functions); int num_inner_functions);
~DataGatheringScope(); inline ~DataGatheringScope() {
if (builder_ == nullptr) return;
Close();
}
private: private:
void Close();
PreParser* preparser_; PreParser* preparser_;
PreparseDataBuilder* builder_; PreparseDataBuilder* builder_;
...@@ -130,7 +135,7 @@ class PreparseDataBuilder : public ZoneObject, ...@@ -130,7 +135,7 @@ class PreparseDataBuilder : public ZoneObject,
void Finalize(Zone* zone); void Finalize(Zone* zone);
Handle<PreparseData> CopyToHeap(Isolate* isolate, int children_length); 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 Reserve(size_t bytes);
void Add(uint8_t byte); void Add(uint8_t byte);
......
...@@ -252,19 +252,19 @@ frame size: 20 ...@@ -252,19 +252,19 @@ frame size: 20
parameter count: 1 parameter count: 1
bytecode array length: 416 bytecode array length: 416
bytecodes: [ 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(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(2), B(Star), R(0),
/* 17 E> */ B(StackCheck), /* 17 E> */ B(StackCheck),
B(Mov), R(context), R(6), B(Mov), R(context), R(6),
B(Mov), R(context), R(7), B(Mov), R(context), R(7),
B(Ldar), R(2), B(Ldar), R(0),
/* 17 E> */ B(SuspendGenerator), R(2), R(0), U8(8), U8(0), /* 17 E> */ B(SuspendGenerator), R(0), R(0), U8(8), U8(0),
B(ResumeGenerator), R(2), R(0), U8(8), B(ResumeGenerator), R(0), R(0), U8(8),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(3), U8(2), I8(0),
B(Ldar), R(8), B(Ldar), R(8),
/* 17 E> */ B(Throw), /* 17 E> */ B(Throw),
...@@ -297,18 +297,18 @@ bytecodes: [ ...@@ -297,18 +297,18 @@ bytecodes: [
B(Star), R(16), B(Star), R(16),
B(LdaFalse), B(LdaFalse),
B(Star), R(12), B(Star), R(12),
B(Mov), R(16), R(3), B(Mov), R(16), R(1),
/* 22 E> */ B(StackCheck), /* 22 E> */ B(StackCheck),
/* 31 S> */ B(Mov), R(3), R(0), /* 31 S> */ B(Mov), R(1), R(3),
/* 42 S> */ B(LdaFalse), /* 42 S> */ B(LdaFalse),
B(Star), R(19), B(Star), R(19),
B(Mov), R(2), R(17), B(Mov), R(0), R(17),
B(Mov), R(0), R(18), B(Mov), R(3), R(18),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(17), U8(3), B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(17), U8(3),
/* 42 E> */ B(SuspendGenerator), R(2), R(0), U8(17), U8(1), /* 42 E> */ B(SuspendGenerator), R(0), R(0), U8(17), U8(1),
B(ResumeGenerator), R(2), R(0), U8(17), B(ResumeGenerator), R(0), R(0), U8(17),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0),
B(Ldar), R(17), B(Ldar), R(17),
/* 42 E> */ B(Throw), /* 42 E> */ B(Throw),
...@@ -367,12 +367,12 @@ bytecodes: [ ...@@ -367,12 +367,12 @@ bytecodes: [
B(Jump), U8(95), B(Jump), U8(95),
B(LdaUndefined), B(LdaUndefined),
B(Star), R(9), 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(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(8), U8(2),
B(SuspendGenerator), R(2), R(0), U8(8), U8(2), B(SuspendGenerator), R(0), R(0), U8(8), U8(2),
B(ResumeGenerator), R(2), R(0), U8(8), B(ResumeGenerator), R(0), R(0), U8(8),
B(Star), R(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(Star), R(9),
B(LdaZero), B(LdaZero),
B(TestReferenceEqual), R(9), B(TestReferenceEqual), R(9),
...@@ -393,7 +393,7 @@ bytecodes: [ ...@@ -393,7 +393,7 @@ bytecodes: [
B(PushContext), R(8), B(PushContext), R(8),
B(LdaImmutableCurrentContextSlot), U8(4), B(LdaImmutableCurrentContextSlot), U8(4),
B(Star), R(10), 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(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(9), U8(2),
B(PopContext), R(8), B(PopContext), R(8),
B(Star), R(5), B(Star), R(5),
...@@ -410,7 +410,7 @@ bytecodes: [ ...@@ -410,7 +410,7 @@ bytecodes: [
B(LdaTheHole), B(LdaTheHole),
B(SetPendingMessage), B(SetPendingMessage),
B(Star), R(6), 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(Ldar), R(6),
B(SetPendingMessage), B(SetPendingMessage),
B(Ldar), R(4), B(Ldar), R(4),
...@@ -420,7 +420,7 @@ bytecodes: [ ...@@ -420,7 +420,7 @@ bytecodes: [
B(ReThrow), B(ReThrow),
B(LdaTrue), B(LdaTrue),
B(Star), R(9), B(Star), R(9),
B(Mov), R(2), R(7), B(Mov), R(0), R(7),
B(Mov), R(5), R(8), B(Mov), R(5), R(8),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(7), U8(3), B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(7), U8(3),
/* 50 S> */ B(Return), /* 50 S> */ B(Return),
......
...@@ -696,8 +696,8 @@ bytecode array length: 50 ...@@ -696,8 +696,8 @@ bytecode array length: 50
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(1), B(Star), R(0),
/* 52 S> */ B(Ldar), R(1), /* 52 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(42), B(JumpIfToBooleanFalse), U8(42),
/* 45 E> */ B(StackCheck), /* 45 E> */ B(StackCheck),
B(CreateBlockContext), U8(0), B(CreateBlockContext), U8(0),
...@@ -705,10 +705,10 @@ bytecodes: [ ...@@ -705,10 +705,10 @@ bytecodes: [
B(LdaTheHole), B(LdaTheHole),
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(1), U8(0), U8(2), B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0), B(Star), R(2),
/* 73 S> */ B(LdaSmi), I8(1), /* 73 S> */ B(LdaSmi), I8(1),
/* 73 E> */ B(StaCurrentContextSlot), U8(4), /* 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), /* 106 S> */ B(LdaCurrentContextSlot), U8(4),
B(JumpIfToBooleanFalse), U8(6), B(JumpIfToBooleanFalse), U8(6),
/* 113 S> */ B(PopContext), R(3), /* 113 S> */ B(PopContext), R(3),
......
...@@ -109,11 +109,11 @@ bytecodes: [ ...@@ -109,11 +109,11 @@ bytecodes: [
B(LdaTheHole), B(LdaTheHole),
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(1), U8(0), U8(2), B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0), B(Star), R(1),
/* 53 S> */ B(LdaSmi), I8(10), /* 53 S> */ B(LdaSmi), I8(10),
/* 53 E> */ B(StaCurrentContextSlot), U8(4), /* 53 E> */ B(StaCurrentContextSlot), U8(4),
/* 85 S> */ B(Mov), R(0), R(1), /* 85 S> */ B(Mov), R(1), R(0),
B(Ldar), R(0), B(Ldar), R(1),
/* 88 S> */ B(Jump), U8(2), /* 88 S> */ B(Jump), U8(2),
B(PopContext), R(2), B(PopContext), R(2),
B(LdaUndefined), B(LdaUndefined),
...@@ -155,10 +155,10 @@ bytecodes: [ ...@@ -155,10 +155,10 @@ bytecodes: [
B(LdaTheHole), B(LdaTheHole),
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
B(CreateClosure), U8(2), U8(0), U8(2), B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(0), B(Star), R(1),
/* 76 S> */ B(LdaSmi), I8(2), /* 76 S> */ B(LdaSmi), I8(2),
/* 76 E> */ B(StaCurrentContextSlot), U8(4), /* 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), /* 118 S> */ B(LdaCurrentContextSlot), U8(4),
B(JumpIfToBooleanFalse), U8(6), B(JumpIfToBooleanFalse), U8(6),
/* 125 S> */ B(PopContext), R(3), /* 125 S> */ B(PopContext), R(3),
......
...@@ -30,9 +30,9 @@ bytecodes: [ ...@@ -30,9 +30,9 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), B(PopContext), R(2),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
B(LdaUndefined), B(LdaUndefined),
/* 149 S> */ B(Return), /* 149 S> */ B(Return),
] ]
...@@ -70,9 +70,9 @@ bytecodes: [ ...@@ -70,9 +70,9 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), B(PopContext), R(2),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
B(LdaUndefined), B(LdaUndefined),
/* 149 S> */ B(Return), /* 149 S> */ B(Return),
] ]
...@@ -128,9 +128,9 @@ bytecodes: [ ...@@ -128,9 +128,9 @@ bytecodes: [
B(Star), R(11), B(Star), R(11),
B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7), B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7),
B(Star), R(5), B(Star), R(5),
B(Mov), R(4), R(0), B(Mov), R(4), R(1),
B(PopContext), R(3), B(PopContext), R(3),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
B(LdaUndefined), B(LdaUndefined),
/* 129 S> */ B(Return), /* 129 S> */ B(Return),
] ]
...@@ -174,11 +174,11 @@ bytecodes: [ ...@@ -174,11 +174,11 @@ bytecodes: [
B(Mov), R(4), R(6), B(Mov), R(4), R(6),
B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(3),
B(Star), R(5), B(Star), R(5),
B(Mov), R(6), R(0), B(Mov), R(6), R(1),
B(PopContext), R(3), B(PopContext), R(3),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
/* 87 S> */ B(Ldar), R(1), /* 87 S> */ B(Ldar), R(0),
/* 94 E> */ B(Construct), R(1), R(0), U8(0), U8(1), /* 94 E> */ B(Construct), R(0), R(0), U8(0), U8(1),
/* 102 S> */ B(Return), /* 102 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -225,9 +225,9 @@ bytecodes: [ ...@@ -225,9 +225,9 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), B(PopContext), R(2),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
B(LdaUndefined), B(LdaUndefined),
/* 74 S> */ B(Return), /* 74 S> */ B(Return),
] ]
......
...@@ -42,10 +42,10 @@ bytecodes: [ ...@@ -42,10 +42,10 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaFalse), B(LdaFalse),
B(Star), R(8), B(Star), R(8),
B(Mov), R(12), R(3), B(Mov), R(12), R(0),
/* 20 E> */ B(StackCheck), /* 20 E> */ B(StackCheck),
/* 29 S> */ B(Mov), R(3), R(1), /* 29 S> */ B(Mov), R(0), R(2),
/* 49 S> */ B(Mov), R(1), R(0), /* 49 S> */ B(Mov), R(2), R(3),
B(Ldar), R(12), B(Ldar), R(12),
B(JumpLoop), U8(43), I8(0), B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1), B(LdaSmi), I8(-1),
...@@ -286,19 +286,19 @@ bytecodes: [ ...@@ -286,19 +286,19 @@ bytecodes: [
B(Star), R(10), B(Star), R(10),
B(LdaFalse), B(LdaFalse),
B(Star), R(6), B(Star), R(6),
B(Mov), R(10), R(1), B(Mov), R(10), R(0),
/* 20 E> */ B(StackCheck), /* 20 E> */ B(StackCheck),
B(CreateBlockContext), U8(4), B(CreateBlockContext), U8(4),
B(PushContext), R(11), B(PushContext), R(11),
B(LdaTheHole), B(LdaTheHole),
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
/* 29 S> */ B(Ldar), R(1), /* 29 S> */ B(Ldar), R(0),
/* 29 E> */ B(StaCurrentContextSlot), U8(4), /* 29 E> */ B(StaCurrentContextSlot), U8(4),
/* 41 S> */ B(CreateClosure), U8(5), U8(12), U8(2), /* 41 S> */ B(CreateClosure), U8(5), U8(12), U8(2),
B(Star), R(12), B(Star), R(12),
/* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(13), /* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(13),
B(PopContext), R(11), B(PopContext), R(11),
B(Mov), R(1), R(10), B(Mov), R(0), R(10),
B(JumpLoop), U8(60), I8(0), B(JumpLoop), U8(60), I8(0),
B(LdaSmi), I8(-1), B(LdaSmi), I8(-1),
B(Star), R(8), B(Star), R(8),
...@@ -397,7 +397,7 @@ bytecodes: [ ...@@ -397,7 +397,7 @@ bytecodes: [
B(Star), R(14), B(Star), R(14),
B(LdaFalse), B(LdaFalse),
B(Star), R(10), B(Star), R(10),
B(Mov), R(14), R(5), B(Mov), R(14), R(0),
/* 20 E> */ B(StackCheck), /* 20 E> */ B(StackCheck),
/* 36 S> */ B(Ldar), R(14), /* 36 S> */ B(Ldar), R(14),
B(JumpIfNull), U8(4), B(JumpIfNull), U8(4),
...@@ -405,12 +405,12 @@ bytecodes: [ ...@@ -405,12 +405,12 @@ bytecodes: [
/* 29 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0), /* 29 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
B(Star), R(15), B(Star), R(15),
/* 31 S> */ B(LdaNamedProperty), R(15), U8(4), U8(12), /* 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), /* 34 S> */ B(LdaNamedProperty), R(15), U8(5), U8(14),
B(Star), R(2), B(Star), R(4),
/* 56 S> */ B(Ldar), R(2), /* 56 S> */ B(Ldar), R(4),
/* 58 E> */ B(Add), R(1), U8(16), /* 58 E> */ B(Add), R(3), U8(16),
B(Star), R(0), B(Star), R(5),
B(JumpLoop), U8(67), I8(0), B(JumpLoop), U8(67), I8(0),
B(LdaSmi), I8(-1), B(LdaSmi), I8(-1),
B(Star), R(12), B(Star), R(12),
...@@ -484,16 +484,16 @@ frame size: 17 ...@@ -484,16 +484,16 @@ frame size: 17
parameter count: 2 parameter count: 2
bytecode array length: 214 bytecode array length: 214
bytecodes: [ 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(closure), R(5),
B(Mov), R(this), R(6), B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2), 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(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(3), R(0), U8(5), U8(0), /* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(5), U8(0),
B(ResumeGenerator), R(3), R(0), U8(5), B(ResumeGenerator), R(0), R(0), U8(5),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
B(Ldar), R(5), B(Ldar), R(5),
/* 11 E> */ B(Throw), /* 11 E> */ B(Throw),
...@@ -523,10 +523,10 @@ bytecodes: [ ...@@ -523,10 +523,10 @@ bytecodes: [
B(Star), R(13), B(Star), R(13),
B(LdaFalse), B(LdaFalse),
B(Star), R(9), B(Star), R(9),
B(Mov), R(13), R(4), B(Mov), R(13), R(1),
/* 21 E> */ B(StackCheck), /* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(4), R(1), /* 30 S> */ B(Mov), R(1), R(3),
/* 50 S> */ B(Mov), R(1), R(0), /* 50 S> */ B(Mov), R(3), R(4),
B(Ldar), R(13), B(Ldar), R(13),
B(JumpLoop), U8(43), I8(0), B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1), B(LdaSmi), I8(-1),
...@@ -602,16 +602,16 @@ frame size: 16 ...@@ -602,16 +602,16 @@ frame size: 16
parameter count: 2 parameter count: 2
bytecode array length: 258 bytecode array length: 258
bytecodes: [ 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(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), 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(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), U8(0), /* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(2), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 11 E> */ B(Throw), /* 11 E> */ B(Throw),
...@@ -641,17 +641,17 @@ bytecodes: [ ...@@ -641,17 +641,17 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaFalse), B(LdaFalse),
B(Star), R(8), B(Star), R(8),
B(Mov), R(12), R(3), B(Mov), R(12), R(1),
/* 21 E> */ B(StackCheck), /* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(3), R(0), /* 30 S> */ B(Mov), R(1), R(3),
/* 40 S> */ B(LdaFalse), /* 40 S> */ B(LdaFalse),
B(Star), R(14), 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), B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
/* 40 E> */ B(SuspendGenerator), R(2), R(0), U8(13), U8(1), /* 40 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
B(ResumeGenerator), R(2), R(0), U8(13), B(ResumeGenerator), R(0), R(0), U8(13),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
B(Ldar), R(13), B(Ldar), R(13),
/* 40 E> */ B(Throw), /* 40 E> */ B(Throw),
...@@ -744,7 +744,7 @@ bytecodes: [ ...@@ -744,7 +744,7 @@ bytecodes: [
B(Mov), R(closure), R(5), B(Mov), R(closure), R(5),
B(Mov), R(this), R(6), B(Mov), R(this), R(6),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(5), U8(2), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(5), U8(2),
B(Star), R(3), B(Star), R(0),
/* 16 E> */ B(StackCheck), /* 16 E> */ B(StackCheck),
B(Mov), R(context), R(5), B(Mov), R(context), R(5),
/* 40 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0), /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
...@@ -771,10 +771,10 @@ bytecodes: [ ...@@ -771,10 +771,10 @@ bytecodes: [
B(Star), R(14), B(Star), R(14),
B(LdaFalse), B(LdaFalse),
B(Star), R(10), B(Star), R(10),
B(Mov), R(14), R(4), B(Mov), R(14), R(1),
/* 26 E> */ B(StackCheck), /* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(4), R(1), /* 35 S> */ B(Mov), R(1), R(3),
/* 55 S> */ B(Mov), R(1), R(0), /* 55 S> */ B(Mov), R(3), R(4),
B(Ldar), R(14), B(Ldar), R(14),
B(JumpLoop), U8(43), I8(0), B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1), B(LdaSmi), I8(-1),
...@@ -824,7 +824,7 @@ bytecodes: [ ...@@ -824,7 +824,7 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaFalse), B(LdaFalse),
B(Star), R(8), 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), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(6), U8(3),
/* 60 S> */ B(Return), /* 60 S> */ B(Return),
B(Jump), U8(30), B(Jump), U8(30),
...@@ -839,7 +839,7 @@ bytecodes: [ ...@@ -839,7 +839,7 @@ bytecodes: [
B(Star), R(8), B(Star), R(8),
B(LdaFalse), B(LdaFalse),
B(Star), R(9), 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), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(7), U8(3),
/* 60 S> */ B(Return), /* 60 S> */ B(Return),
B(LdaUndefined), B(LdaUndefined),
...@@ -871,11 +871,11 @@ frame size: 17 ...@@ -871,11 +871,11 @@ frame size: 17
parameter count: 2 parameter count: 2
bytecode array length: 268 bytecode array length: 268
bytecodes: [ 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(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(4), U8(2),
B(Star), R(2), B(Star), R(0),
/* 16 E> */ B(StackCheck), /* 16 E> */ B(StackCheck),
B(Mov), R(context), R(4), B(Mov), R(context), R(4),
/* 40 S> */ B(LdaNamedProperty), R(arg0), U8(1), U8(0), /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(1), U8(0),
...@@ -902,16 +902,16 @@ bytecodes: [ ...@@ -902,16 +902,16 @@ bytecodes: [
B(Star), R(13), B(Star), R(13),
B(LdaFalse), B(LdaFalse),
B(Star), R(9), B(Star), R(9),
B(Mov), R(13), R(3), B(Mov), R(13), R(1),
/* 26 E> */ B(StackCheck), /* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(3), R(0), /* 35 S> */ B(Mov), R(1), R(3),
/* 45 S> */ B(Mov), R(2), R(14), /* 45 S> */ B(Mov), R(0), R(14),
B(Mov), R(0), R(15), B(Mov), R(3), R(15),
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
/* 45 E> */ B(SuspendGenerator), R(2), R(0), U8(14), U8(0), /* 45 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
B(ResumeGenerator), R(2), R(0), U8(14), B(ResumeGenerator), R(0), R(0), U8(14),
B(Star), R(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(Star), R(15),
B(LdaZero), B(LdaZero),
B(TestReferenceEqual), R(15), B(TestReferenceEqual), R(15),
...@@ -967,7 +967,7 @@ bytecodes: [ ...@@ -967,7 +967,7 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaTrue), B(LdaTrue),
B(Star), R(7), 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), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 54 S> */ B(Return), /* 54 S> */ B(Return),
B(Jump), U8(30), B(Jump), U8(30),
...@@ -982,7 +982,7 @@ bytecodes: [ ...@@ -982,7 +982,7 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), 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), B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(6), U8(3),
/* 54 S> */ B(Return), /* 54 S> */ B(Return),
B(LdaUndefined), B(LdaUndefined),
......
...@@ -102,16 +102,16 @@ frame size: 16 ...@@ -102,16 +102,16 @@ frame size: 16
parameter count: 1 parameter count: 1
bytecode array length: 261 bytecode array length: 261
bytecodes: [ 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(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), 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(StackCheck),
/* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), U8(0), /* 11 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(2), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 11 E> */ B(Throw), /* 11 E> */ B(Throw),
...@@ -142,17 +142,17 @@ bytecodes: [ ...@@ -142,17 +142,17 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaFalse), B(LdaFalse),
B(Star), R(8), B(Star), R(8),
B(Mov), R(12), R(3), B(Mov), R(12), R(1),
/* 16 E> */ B(StackCheck), /* 16 E> */ B(StackCheck),
/* 25 S> */ B(Mov), R(3), R(0), /* 25 S> */ B(Mov), R(1), R(3),
/* 36 S> */ B(LdaFalse), /* 36 S> */ B(LdaFalse),
B(Star), R(14), 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), B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
/* 36 E> */ B(SuspendGenerator), R(2), R(0), U8(13), U8(1), /* 36 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
B(ResumeGenerator), R(2), R(0), U8(13), B(ResumeGenerator), R(0), R(0), U8(13),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
B(Ldar), R(13), B(Ldar), R(13),
/* 36 E> */ B(Throw), /* 36 E> */ B(Throw),
......
...@@ -99,7 +99,7 @@ frame size: 6 ...@@ -99,7 +99,7 @@ frame size: 6
parameter count: 2 parameter count: 2
bytecode array length: 92 bytecode array length: 92
bytecodes: [ bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1), B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1), B(LdaConstant), U8(1),
B(Star), R(4), B(Star), R(4),
B(Mov), R(arg0), R(3), B(Mov), R(arg0), R(3),
...@@ -108,12 +108,12 @@ bytecodes: [ ...@@ -108,12 +108,12 @@ bytecodes: [
B(Mov), R(closure), R(4), B(Mov), R(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), 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(StackCheck),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0), /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 0 E> */ B(Throw), /* 0 E> */ B(Throw),
...@@ -126,14 +126,14 @@ bytecodes: [ ...@@ -126,14 +126,14 @@ bytecodes: [
B(Star), R(5), B(Star), R(5),
/* 32 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(0), /* 32 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(0),
/* 47 S> */ B(LdaUndefined), /* 47 S> */ B(LdaUndefined),
B(Star), R(0), B(Star), R(2),
/* 52 S> */ B(LdaModuleVariable), I8(-1), U8(0), /* 52 S> */ B(LdaModuleVariable), I8(-1), U8(0),
B(ThrowReferenceErrorIfHole), U8(4), B(ThrowReferenceErrorIfHole), U8(4),
B(Star), R(4), B(Star), R(4),
B(LdaSmi), I8(42), B(LdaSmi), I8(42),
B(Star), R(5), B(Star), R(5),
/* 52 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(2), /* 52 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(2),
B(Star), R(2), B(Star), R(1),
/* 65 S> */ B(Return), /* 65 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -156,7 +156,7 @@ frame size: 6 ...@@ -156,7 +156,7 @@ frame size: 6
parameter count: 2 parameter count: 2
bytecode array length: 90 bytecode array length: 90
bytecodes: [ bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1), B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1), B(LdaConstant), U8(1),
B(Star), R(4), B(Star), R(4),
B(Mov), R(arg0), R(3), B(Mov), R(arg0), R(3),
...@@ -165,12 +165,12 @@ bytecodes: [ ...@@ -165,12 +165,12 @@ bytecodes: [
B(Mov), R(closure), R(4), B(Mov), R(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), 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(StackCheck),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0), /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 0 E> */ B(Throw), /* 0 E> */ B(Throw),
...@@ -182,14 +182,14 @@ bytecodes: [ ...@@ -182,14 +182,14 @@ bytecodes: [
B(Inc), U8(0), B(Inc), U8(0),
/* 24 E> */ B(StaModuleVariable), I8(1), U8(0), /* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
/* 34 S> */ B(LdaUndefined), /* 34 S> */ B(LdaUndefined),
B(Star), R(0), B(Star), R(2),
/* 39 S> */ B(LdaModuleVariable), I8(1), U8(0), /* 39 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1), B(ToNumeric), U8(1),
B(Star), R(4), B(Star), R(4),
B(Inc), U8(1), B(Inc), U8(1),
/* 42 E> */ B(StaModuleVariable), I8(1), U8(0), /* 42 E> */ B(StaModuleVariable), I8(1), U8(0),
B(Mov), R(4), R(2), B(Mov), R(4), R(1),
B(Ldar), R(2), B(Ldar), R(1),
/* 50 S> */ B(Return), /* 50 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -211,7 +211,7 @@ frame size: 6 ...@@ -211,7 +211,7 @@ frame size: 6
parameter count: 2 parameter count: 2
bytecode array length: 96 bytecode array length: 96
bytecodes: [ bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1), B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1), B(LdaConstant), U8(1),
B(Star), R(4), B(Star), R(4),
B(Mov), R(arg0), R(3), B(Mov), R(arg0), R(3),
...@@ -220,15 +220,15 @@ bytecodes: [ ...@@ -220,15 +220,15 @@ bytecodes: [
B(Mov), R(closure), R(4), B(Mov), R(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1), B(Star), R(0),
B(LdaTheHole), B(LdaTheHole),
B(StaModuleVariable), I8(1), U8(0), B(StaModuleVariable), I8(1), U8(0),
/* 0 E> */ B(StackCheck), /* 0 E> */ B(StackCheck),
B(Ldar), R(1), B(Ldar), R(0),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0), /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 0 E> */ B(Throw), /* 0 E> */ B(Throw),
...@@ -240,14 +240,14 @@ bytecodes: [ ...@@ -240,14 +240,14 @@ bytecodes: [
B(Inc), U8(0), B(Inc), U8(0),
/* 24 E> */ B(StaModuleVariable), I8(1), U8(0), /* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
/* 34 S> */ B(LdaUndefined), /* 34 S> */ B(LdaUndefined),
B(Star), R(0), B(Star), R(2),
/* 39 S> */ B(LdaModuleVariable), I8(1), U8(0), /* 39 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1), B(ToNumeric), U8(1),
B(Star), R(4), B(Star), R(4),
B(Inc), U8(1), B(Inc), U8(1),
/* 42 E> */ B(StaModuleVariable), I8(1), U8(0), /* 42 E> */ B(StaModuleVariable), I8(1), U8(0),
B(Mov), R(4), R(2), B(Mov), R(4), R(1),
B(Ldar), R(2), B(Ldar), R(1),
/* 50 S> */ B(Return), /* 50 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -269,7 +269,7 @@ frame size: 6 ...@@ -269,7 +269,7 @@ frame size: 6
parameter count: 2 parameter count: 2
bytecode array length: 100 bytecode array length: 100
bytecodes: [ bytecodes: [
B(SwitchOnGeneratorState), R(1), U8(0), U8(1), B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(LdaConstant), U8(1), B(LdaConstant), U8(1),
B(Star), R(4), B(Star), R(4),
B(Mov), R(arg0), R(3), B(Mov), R(arg0), R(3),
...@@ -278,15 +278,15 @@ bytecodes: [ ...@@ -278,15 +278,15 @@ bytecodes: [
B(Mov), R(closure), R(4), B(Mov), R(closure), R(4),
B(Mov), R(this), R(5), B(Mov), R(this), R(5),
B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2),
B(Star), R(1), B(Star), R(0),
B(LdaTheHole), B(LdaTheHole),
B(StaModuleVariable), I8(1), U8(0), B(StaModuleVariable), I8(1), U8(0),
/* 0 E> */ B(StackCheck), /* 0 E> */ B(StackCheck),
B(Ldar), R(1), B(Ldar), R(0),
/* 0 E> */ B(SuspendGenerator), R(1), R(0), U8(4), U8(0), /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(0),
B(ResumeGenerator), R(1), R(0), U8(4), B(ResumeGenerator), R(0), R(0), U8(4),
B(Star), R(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(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Ldar), R(4), B(Ldar), R(4),
/* 0 E> */ B(Throw), /* 0 E> */ B(Throw),
...@@ -298,14 +298,14 @@ bytecodes: [ ...@@ -298,14 +298,14 @@ bytecodes: [
B(Inc), U8(0), B(Inc), U8(0),
/* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
/* 36 S> */ B(LdaUndefined), /* 36 S> */ B(LdaUndefined),
B(Star), R(0), B(Star), R(2),
/* 41 S> */ B(LdaModuleVariable), I8(1), U8(0), /* 41 S> */ B(LdaModuleVariable), I8(1), U8(0),
B(ToNumeric), U8(1), B(ToNumeric), U8(1),
B(Star), R(4), B(Star), R(4),
B(Inc), U8(1), B(Inc), U8(1),
/* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), /* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0),
B(Mov), R(4), R(2), B(Mov), R(4), R(1),
B(Ldar), R(2), B(Ldar), R(1),
/* 52 S> */ B(Return), /* 52 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -26,13 +26,13 @@ bytecodes: [ ...@@ -26,13 +26,13 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), 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), /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(3), B(Star), R(3),
B(Ldar), R(1), B(Ldar), R(0),
/* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(1), U8(2), /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(1), U8(2),
B(LdaUndefined), B(LdaUndefined),
/* 110 S> */ B(Return), /* 110 S> */ B(Return),
] ]
...@@ -66,15 +66,15 @@ bytecodes: [ ...@@ -66,15 +66,15 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), B(PopContext), R(2),
B(Mov), R(0), R(1), B(Mov), R(1), R(0),
/* 89 S> */ B(LdaZero), /* 89 S> */ B(LdaZero),
B(Star), R(3), B(Star), R(3),
B(CreateArrayLiteral), U8(3), U8(1), U8(37), B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(4), B(Star), R(4),
B(Ldar), R(1), B(Ldar), R(0),
/* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(2), U8(2), /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(2), U8(2),
B(LdaUndefined), B(LdaUndefined),
/* 113 S> */ B(Return), /* 113 S> */ B(Return),
] ]
...@@ -108,9 +108,9 @@ bytecodes: [ ...@@ -108,9 +108,9 @@ bytecodes: [
B(Mov), R(3), R(5), B(Mov), R(3), R(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
B(Star), R(4), B(Star), R(4),
B(Mov), R(5), R(0), B(Mov), R(5), R(1),
B(PopContext), R(2), 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), /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
B(Star), R(4), B(Star), R(4),
B(LdaConstant), U8(4), B(LdaConstant), U8(4),
......
...@@ -47,12 +47,12 @@ bytecodes: [ ...@@ -47,12 +47,12 @@ bytecodes: [
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
B(Star), R(6), 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(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(2), B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4), B(PopContext), R(4),
B(Mov), R(1), R(2), B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6), /* 38 E> */ B(CreateBlockContext), U8(6),
B(PushContext), R(4), B(PushContext), R(4),
B(LdaTheHole), B(LdaTheHole),
...@@ -72,16 +72,16 @@ bytecodes: [ ...@@ -72,16 +72,16 @@ bytecodes: [
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
B(Star), R(6), 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(CreateClosure), U8(9), U8(5), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(6), B(StaNamedProperty), R(5), U8(5), U8(6),
B(PopContext), R(4), B(PopContext), R(4),
B(Mov), R(0), R(3), B(Mov), R(2), R(1),
/* 136 S> */ B(Ldar), R(1), /* 136 S> */ B(Ldar), R(3),
/* 136 E> */ B(Construct), R(1), R(0), U8(0), U8(8), /* 136 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
/* 145 S> */ B(Ldar), R(0), /* 145 S> */ B(Ldar), R(2),
/* 145 E> */ B(Construct), R(0), R(0), U8(0), U8(10), /* 145 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
B(LdaUndefined), B(LdaUndefined),
/* 154 S> */ B(Return), /* 154 S> */ B(Return),
] ]
...@@ -167,12 +167,12 @@ bytecodes: [ ...@@ -167,12 +167,12 @@ bytecodes: [
B(Mov), R(13), R(10), B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3),
B(Star), R(8), 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(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(3), B(StaNamedProperty), R(7), U8(7), U8(3),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(2), R(3), B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8), /* 38 E> */ B(CreateBlockContext), U8(8),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -212,12 +212,12 @@ bytecodes: [ ...@@ -212,12 +212,12 @@ bytecodes: [
B(Mov), R(13), R(10), B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8), 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(CreateClosure), U8(16), U8(9), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(10), B(StaNamedProperty), R(7), U8(7), U8(10),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(1), R(4), B(Mov), R(4), R(1),
/* 140 E> */ B(CreateBlockContext), U8(17), /* 140 E> */ B(CreateBlockContext), U8(17),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -233,21 +233,21 @@ bytecodes: [ ...@@ -233,21 +233,21 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(11), U8(1), B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(11), U8(1),
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
B(Mov), R(7), R(9), 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(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3),
B(Star), R(8), 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(CreateClosure), U8(20), U8(13), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(14), B(StaNamedProperty), R(7), U8(7), U8(14),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(0), R(5), B(Mov), R(3), R(2),
/* 430 S> */ B(Ldar), R(2), /* 430 S> */ B(Ldar), R(5),
/* 430 E> */ B(Construct), R(2), R(0), U8(0), U8(16), /* 430 E> */ B(Construct), R(5), R(0), U8(0), U8(16),
/* 439 S> */ B(Ldar), R(1), /* 439 S> */ B(Ldar), R(4),
/* 439 E> */ B(Construct), R(1), R(0), U8(0), U8(18), /* 439 E> */ B(Construct), R(4), R(0), U8(0), U8(18),
/* 448 S> */ B(Ldar), R(0), /* 448 S> */ B(Ldar), R(3),
/* 448 E> */ B(Construct), R(0), R(0), U8(0), U8(20), /* 448 E> */ B(Construct), R(3), R(0), U8(0), U8(20),
B(LdaUndefined), B(LdaUndefined),
/* 458 S> */ B(Return), /* 458 S> */ B(Return),
] ]
......
...@@ -43,12 +43,12 @@ bytecodes: [ ...@@ -43,12 +43,12 @@ bytecodes: [
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
B(Star), R(6), 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(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(2), B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4), B(PopContext), R(4),
B(Mov), R(1), R(2), B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6), /* 38 E> */ B(CreateBlockContext), U8(6),
B(PushContext), R(4), B(PushContext), R(4),
B(LdaTheHole), B(LdaTheHole),
...@@ -65,16 +65,16 @@ bytecodes: [ ...@@ -65,16 +65,16 @@ bytecodes: [
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
B(Star), R(6), 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(CreateClosure), U8(9), U8(5), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(5), U8(6), B(StaNamedProperty), R(5), U8(5), U8(6),
B(PopContext), R(4), B(PopContext), R(4),
B(Mov), R(0), R(3), B(Mov), R(2), R(1),
/* 120 S> */ B(Ldar), R(1), /* 120 S> */ B(Ldar), R(3),
/* 120 E> */ B(Construct), R(1), R(0), U8(0), U8(8), /* 120 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
/* 129 S> */ B(Ldar), R(0), /* 129 S> */ B(Ldar), R(2),
/* 129 E> */ B(Construct), R(0), R(0), U8(0), U8(10), /* 129 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
B(LdaUndefined), B(LdaUndefined),
/* 138 S> */ B(Return), /* 138 S> */ B(Return),
] ]
...@@ -152,12 +152,12 @@ bytecodes: [ ...@@ -152,12 +152,12 @@ bytecodes: [
B(Mov), R(13), R(10), B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4),
B(Star), R(8), 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(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(3), B(StaNamedProperty), R(7), U8(7), U8(3),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(2), R(3), B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8), /* 38 E> */ B(CreateBlockContext), U8(8),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -184,12 +184,12 @@ bytecodes: [ ...@@ -184,12 +184,12 @@ bytecodes: [
B(Mov), R(13), R(10), B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8), 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(CreateClosure), U8(14), U8(8), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(9), B(StaNamedProperty), R(7), U8(7), U8(9),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(1), R(4), B(Mov), R(4), R(1),
/* 90 E> */ B(CreateBlockContext), U8(15), /* 90 E> */ B(CreateBlockContext), U8(15),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -202,21 +202,21 @@ bytecodes: [ ...@@ -202,21 +202,21 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4), B(StaCurrentContextSlot), U8(4),
B(Star), R(11), B(Star), R(11),
B(Mov), R(7), R(9), 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(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4),
B(Star), R(8), 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(CreateClosure), U8(18), U8(12), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(7), U8(13), B(StaNamedProperty), R(7), U8(7), U8(13),
B(PopContext), R(6), B(PopContext), R(6),
B(Mov), R(0), R(5), B(Mov), R(3), R(2),
/* 329 S> */ B(Ldar), R(2), /* 329 S> */ B(Ldar), R(5),
/* 329 E> */ B(Construct), R(2), R(0), U8(0), U8(15), /* 329 E> */ B(Construct), R(5), R(0), U8(0), U8(15),
/* 338 S> */ B(Ldar), R(1), /* 338 S> */ B(Ldar), R(4),
/* 338 E> */ B(Construct), R(1), R(0), U8(0), U8(17), /* 338 E> */ B(Construct), R(4), R(0), U8(0), U8(17),
/* 347 S> */ B(Ldar), R(0), /* 347 S> */ B(Ldar), R(3),
/* 347 E> */ B(Construct), R(0), R(0), U8(0), U8(19), /* 347 E> */ B(Construct), R(3), R(0), U8(0), U8(19),
B(LdaUndefined), B(LdaUndefined),
/* 356 S> */ B(Return), /* 356 S> */ B(Return),
] ]
......
...@@ -58,15 +58,15 @@ bytecodes: [ ...@@ -58,15 +58,15 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5), B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6), 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(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(7), U8(3), B(StaNamedProperty), R(5), U8(7), U8(3),
B(CreateClosure), U8(8), U8(5), U8(2), B(CreateClosure), U8(8), U8(5), U8(2),
B(Star), R(9), 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(PopContext), R(4),
B(Mov), R(1), R(2), B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(9), /* 38 E> */ B(CreateBlockContext), U8(9),
B(PushContext), R(4), B(PushContext), R(4),
B(LdaTheHole), B(LdaTheHole),
...@@ -93,19 +93,19 @@ bytecodes: [ ...@@ -93,19 +93,19 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5), B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6), 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(CreateClosure), U8(12), U8(9), U8(2),
B(Star), R(7), B(Star), R(7),
B(StaNamedProperty), R(5), U8(7), U8(10), B(StaNamedProperty), R(5), U8(7), U8(10),
B(CreateClosure), U8(13), U8(12), U8(2), B(CreateClosure), U8(13), U8(12), U8(2),
B(Star), R(9), 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(PopContext), R(4),
B(Mov), R(0), R(3), B(Mov), R(2), R(1),
/* 197 S> */ B(Ldar), R(2), /* 197 S> */ B(Ldar), R(0),
/* 197 E> */ B(Construct), R(2), R(0), U8(0), U8(15), /* 197 E> */ B(Construct), R(0), R(0), U8(0), U8(15),
/* 206 S> */ B(Ldar), R(0), /* 206 S> */ B(Ldar), R(2),
/* 206 E> */ B(Construct), R(0), R(0), U8(0), U8(17), /* 206 E> */ B(Construct), R(2), R(0), U8(0), U8(17),
B(LdaUndefined), B(LdaUndefined),
/* 215 S> */ B(Return), /* 215 S> */ B(Return),
] ]
...@@ -203,15 +203,15 @@ bytecodes: [ ...@@ -203,15 +203,15 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5), B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8), 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(CreateClosure), U8(8), U8(3), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(4), B(StaNamedProperty), R(7), U8(9), U8(4),
B(CreateClosure), U8(10), U8(6), U8(2), B(CreateClosure), U8(10), U8(6), U8(2),
B(Star), R(11), 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(PopContext), R(6),
B(Mov), R(2), R(3), B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(11), /* 38 E> */ B(CreateBlockContext), U8(11),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -248,15 +248,15 @@ bytecodes: [ ...@@ -248,15 +248,15 @@ bytecodes: [
B(Star), R(13), B(Star), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(6), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(6),
B(Star), R(8), 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(CreateClosure), U8(17), U8(12), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(13), B(StaNamedProperty), R(7), U8(9), U8(13),
B(CreateClosure), U8(18), U8(15), U8(2), B(CreateClosure), U8(18), U8(15), U8(2),
B(Star), R(11), 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(PopContext), R(6),
B(Mov), R(1), R(4), B(Mov), R(4), R(1),
/* 122 E> */ B(CreateBlockContext), U8(19), /* 122 E> */ B(CreateBlockContext), U8(19),
B(PushContext), R(6), B(PushContext), R(6),
B(LdaTheHole), B(LdaTheHole),
...@@ -274,7 +274,7 @@ bytecodes: [ ...@@ -274,7 +274,7 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaConstant), U8(7), B(LdaConstant), U8(7),
B(TestEqualStrict), R(12), U8(2), 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(Mov), R(7), R(9),
B(JumpIfFalse), U8(7), B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0), B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
...@@ -282,23 +282,23 @@ bytecodes: [ ...@@ -282,23 +282,23 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5), B(StaCurrentContextSlot), U8(5),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5), B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8), 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(CreateClosure), U8(22), U8(19), U8(2),
B(Star), R(9), B(Star), R(9),
B(StaNamedProperty), R(7), U8(9), U8(20), B(StaNamedProperty), R(7), U8(9), U8(20),
B(CreateClosure), U8(23), U8(22), U8(2), B(CreateClosure), U8(23), U8(22), U8(2),
B(Star), R(11), B(Star), R(11),
B(Ldar), R(0), B(Ldar), R(3),
B(StaNamedProperty), R(11), U8(24), U8(23), 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(PopContext), R(6),
B(Mov), R(0), R(5), B(Mov), R(3), R(2),
/* 456 S> */ B(Ldar), R(3), /* 456 S> */ B(Ldar), R(0),
/* 456 E> */ B(Construct), R(3), R(0), U8(0), U8(27), /* 456 E> */ B(Construct), R(0), R(0), U8(0), U8(27),
/* 465 S> */ B(Ldar), R(4), /* 465 S> */ B(Ldar), R(1),
/* 465 E> */ B(Construct), R(4), R(0), U8(0), U8(29), /* 465 E> */ B(Construct), R(1), R(0), U8(0), U8(29),
/* 474 S> */ B(Ldar), R(0), /* 474 S> */ B(Ldar), R(3),
/* 474 E> */ B(Construct), R(0), R(0), U8(0), U8(31), /* 474 E> */ B(Construct), R(3), R(0), U8(0), U8(31),
B(LdaUndefined), B(LdaUndefined),
/* 483 S> */ B(Return), /* 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