Index: test/cctest/interpreter/bytecode_expectations/Modules.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/Modules.golden b/test/cctest/interpreter/bytecode_expectations/Modules.golden |
index 910f26d4e1d175f53a2389d411bb7ec6fb4c7c8d..6baa67cea611c08534f7cbdbc286f1cb1e44e47c 100644 |
--- a/test/cctest/interpreter/bytecode_expectations/Modules.golden |
+++ b/test/cctest/interpreter/bytecode_expectations/Modules.golden |
@@ -11,62 +11,64 @@ top level: yes |
snippet: " |
import \"bar\"; |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 124 |
+bytecode array length: 131 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 13 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 13 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
B(LdaUndefined), |
/* 13 S> */ B(Return), |
@@ -81,62 +83,64 @@ handlers: [ |
snippet: " |
import {foo} from \"bar\"; |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 124 |
+bytecode array length: 131 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 24 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 24 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
B(LdaUndefined), |
/* 24 S> */ B(Return), |
@@ -153,74 +157,76 @@ snippet: " |
goo(42); |
{ let x; { goo(42) } }; |
" |
-frame size: 9 |
+frame size: 10 |
parameter count: 2 |
-bytecode array length: 194 |
+bytecode array length: 201 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(3), |
B(ResumeGenerator), R(new_target), |
B(Star), R(2), |
B(LdaZero), |
B(TestEqualStrict), R(2), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(3), |
- B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
B(LdaConstant), U8(0), |
- B(Star), R(5), |
- B(Mov), R(arg0), R(3), |
- B(Mov), R(closure), R(4), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
+ B(Star), R(6), |
+ B(Mov), R(arg0), R(4), |
+ B(Mov), R(closure), R(5), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(4), |
- B(Mov), R(closure), R(3), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(Star), R(5), |
+ B(Mov), R(closure), R(4), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(3), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(4), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(5), |
B(LdaZero), |
- B(SuspendGenerator), R(4), |
- B(Ldar), R(3), |
+ B(SuspendGenerator), R(5), |
+ B(Ldar), R(4), |
/* 64 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(5), U8(1), |
B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(5), U8(1), |
+ B(Star), R(7), |
B(LdaZero), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(8), |
- B(Mov), R(5), R(7), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ B(Star), R(9), |
+ B(Mov), R(6), R(8), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), |
/* 64 S> */ B(Return), |
- B(Ldar), R(5), |
+ B(Ldar), R(6), |
/* 0 E> */ B(Throw), |
/* 32 S> */ B(LdaUndefined), |
- B(Star), R(4), |
+ B(Star), R(5), |
/* 32 E> */ B(LdaModuleVariable), U8(-1), U8(0), |
B(JumpIfNotHole), U8(11), |
B(LdaConstant), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), |
- B(Star), R(3), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1), |
+ B(Star), R(4), |
B(LdaSmi), U8(42), |
- B(Star), R(5), |
- /* 32 E> */ B(Call), R(3), R(4), U8(2), U8(2), |
+ B(Star), R(6), |
+ /* 32 E> */ B(Call), R(4), R(5), U8(2), U8(2), |
B(Ldar), R(closure), |
B(CreateBlockContext), U8(2), |
B(PushContext), R(1), |
@@ -229,16 +235,16 @@ bytecodes: [ |
/* 47 S> */ B(LdaUndefined), |
/* 47 E> */ B(StaCurrentContextSlot), U8(4), |
/* 52 S> */ B(LdaUndefined), |
- B(Star), R(4), |
+ B(Star), R(5), |
/* 52 E> */ B(LdaModuleVariable), U8(-1), U8(1), |
B(JumpIfNotHole), U8(11), |
B(LdaConstant), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), |
- B(Star), R(3), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1), |
+ B(Star), R(4), |
B(LdaSmi), U8(42), |
- B(Star), R(5), |
- /* 52 E> */ B(Call), R(3), R(4), U8(2), U8(4), |
+ B(Star), R(6), |
+ /* 52 E> */ B(Call), R(4), R(5), U8(2), U8(4), |
B(PopContext), R(1), |
B(LdaUndefined), |
/* 64 S> */ B(Return), |
@@ -257,62 +263,64 @@ snippet: " |
foo++; |
{ let x; { foo++ } }; |
" |
-frame size: 9 |
+frame size: 10 |
parameter count: 2 |
-bytecode array length: 159 |
+bytecode array length: 166 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(3), |
B(ResumeGenerator), R(new_target), |
B(Star), R(2), |
B(LdaZero), |
B(TestEqualStrict), R(2), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(3), |
- B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
B(LdaConstant), U8(0), |
- B(Star), R(5), |
- B(Mov), R(arg0), R(3), |
- B(Mov), R(closure), R(4), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
+ B(Star), R(6), |
+ B(Mov), R(arg0), R(4), |
+ B(Mov), R(closure), R(5), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(4), |
- B(Mov), R(closure), R(3), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(Star), R(5), |
+ B(Mov), R(closure), R(4), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(3), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(4), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(5), |
B(LdaZero), |
- B(SuspendGenerator), R(4), |
- B(Ldar), R(3), |
+ B(SuspendGenerator), R(5), |
+ B(Ldar), R(4), |
/* 49 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(5), U8(1), |
B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(5), U8(1), |
+ B(Star), R(7), |
B(LdaZero), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(8), |
- B(Mov), R(5), R(7), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ B(Star), R(9), |
+ B(Mov), R(6), R(8), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), |
/* 49 S> */ B(Return), |
- B(Ldar), R(5), |
+ B(Ldar), R(6), |
/* 0 E> */ B(Throw), |
/* 17 S> */ B(LdaSmi), U8(42), |
/* 17 E> */ B(StaModuleVariable), U8(1), U8(0), |
@@ -346,27 +354,29 @@ snippet: " |
foo++; |
{ let x; { foo++ } }; |
" |
-frame size: 9 |
+frame size: 10 |
parameter count: 2 |
-bytecode array length: 163 |
+bytecode array length: 170 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(3), |
B(ResumeGenerator), R(new_target), |
B(Star), R(2), |
B(LdaZero), |
B(TestEqualStrict), R(2), U8(0), |
B(JumpIfTrue), U8(67), |
B(LdaSmi), U8(77), |
- B(Star), R(3), |
- B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
B(LdaConstant), U8(0), |
- B(Star), R(5), |
- B(Mov), R(arg0), R(3), |
- B(Mov), R(closure), R(4), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
+ B(Star), R(6), |
+ B(Mov), R(arg0), R(4), |
+ B(Mov), R(closure), R(5), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
@@ -374,36 +384,36 @@ bytecodes: [ |
B(StaModuleVariable), U8(1), U8(0), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(4), |
- B(Mov), R(closure), R(3), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(Star), R(5), |
+ B(Mov), R(closure), R(4), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(3), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(4), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(5), |
B(LdaZero), |
- B(SuspendGenerator), R(4), |
- B(Ldar), R(3), |
+ B(SuspendGenerator), R(5), |
+ B(Ldar), R(4), |
/* 49 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(5), U8(1), |
B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(5), U8(1), |
+ B(Star), R(7), |
B(LdaZero), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(8), |
- B(Mov), R(5), R(7), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ B(Star), R(9), |
+ B(Mov), R(6), R(8), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), |
/* 49 S> */ B(Return), |
- B(Ldar), R(5), |
+ B(Ldar), R(6), |
/* 0 E> */ B(Throw), |
/* 17 S> */ B(LdaSmi), U8(42), |
/* 17 E> */ B(StaModuleVariable), U8(1), U8(0), |
@@ -437,27 +447,29 @@ snippet: " |
foo++; |
{ let x; { foo++ } }; |
" |
-frame size: 9 |
+frame size: 10 |
parameter count: 2 |
-bytecode array length: 167 |
+bytecode array length: 174 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(3), |
B(ResumeGenerator), R(new_target), |
B(Star), R(2), |
B(LdaZero), |
B(TestEqualStrict), R(2), U8(0), |
B(JumpIfTrue), U8(67), |
B(LdaSmi), U8(77), |
- B(Star), R(3), |
- B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
B(LdaConstant), U8(0), |
- B(Star), R(5), |
- B(Mov), R(arg0), R(3), |
- B(Mov), R(closure), R(4), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
+ B(Star), R(6), |
+ B(Mov), R(arg0), R(4), |
+ B(Mov), R(closure), R(5), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(4), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
@@ -465,36 +477,36 @@ bytecodes: [ |
B(StaModuleVariable), U8(1), U8(0), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(4), |
- B(Mov), R(closure), R(3), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(Star), R(5), |
+ B(Mov), R(closure), R(4), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(3), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(4), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(5), |
B(LdaZero), |
- B(SuspendGenerator), R(4), |
- B(Ldar), R(3), |
+ B(SuspendGenerator), R(5), |
+ B(Ldar), R(4), |
/* 51 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(2), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(5), U8(1), |
B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(5), U8(1), |
+ B(Star), R(7), |
B(LdaZero), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(6), U8(0), |
+ B(TestEqualStrict), R(7), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(8), |
- B(Mov), R(5), R(7), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ B(Star), R(9), |
+ B(Mov), R(6), R(8), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), |
/* 51 S> */ B(Return), |
- B(Ldar), R(5), |
+ B(Ldar), R(6), |
/* 0 E> */ B(Throw), |
/* 19 S> */ B(LdaSmi), U8(42), |
/* 19 E> */ B(StaModuleVariable), U8(1), U8(0), |
@@ -526,27 +538,29 @@ handlers: [ |
snippet: " |
export default (function () {}); |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 135 |
+bytecode array length: 142 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(67), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
@@ -554,36 +568,36 @@ bytecodes: [ |
B(StaModuleVariable), U8(1), U8(0), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 32 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 32 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
B(CreateClosure), U8(1), U8(2), U8(0), |
B(StaModuleVariable), U8(1), U8(0), |
@@ -601,27 +615,29 @@ handlers: [ |
snippet: " |
export default (class {}); |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 172 |
+bytecode array length: 179 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(67), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
@@ -629,50 +645,50 @@ bytecodes: [ |
B(StaModuleVariable), U8(1), U8(0), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 26 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 26 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
/* 16 S> */ B(CreateClosure), U8(1), U8(2), U8(0), |
- B(Star), R(2), |
- B(LdaTheHole), |
B(Star), R(3), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
B(LdaSmi), U8(16), |
- B(Star), R(5), |
- B(LdaSmi), U8(24), |
B(Star), R(6), |
- B(Mov), R(2), R(4), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4), |
- B(Star), R(3), |
- B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(2), U8(1), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1), |
+ B(LdaSmi), U8(24), |
+ B(Star), R(7), |
+ B(Mov), R(3), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
B(StaCurrentContextSlot), U8(6), |
B(LdaCurrentContextSlot), U8(6), |
/* 16 E> */ B(StaModuleVariable), U8(1), U8(0), |
@@ -690,62 +706,64 @@ handlers: [ |
snippet: " |
export {foo as goo} from \"bar\" |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 124 |
+bytecode array length: 131 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 30 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 30 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
B(LdaUndefined), |
/* 30 S> */ B(Return), |
@@ -760,62 +778,64 @@ handlers: [ |
snippet: " |
export * from \"bar\" |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 124 |
+bytecode array length: 131 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(63), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 19 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 19 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
B(LdaUndefined), |
/* 19 S> */ B(Return), |
@@ -831,78 +851,80 @@ snippet: " |
import * as foo from \"bar\" |
foo.f(foo, foo.x); |
" |
-frame size: 8 |
+frame size: 9 |
parameter count: 2 |
-bytecode array length: 163 |
+bytecode array length: 170 |
bytecodes: [ |
B(Ldar), R(new_target), |
- B(JumpIfUndefined), U8(21), |
+ B(JumpIfUndefined), U8(28), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), |
+ B(PushContext), R(2), |
B(ResumeGenerator), R(new_target), |
B(Star), R(1), |
B(LdaZero), |
B(TestEqualStrict), R(1), U8(0), |
B(JumpIfTrue), U8(73), |
B(LdaSmi), U8(77), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
B(LdaConstant), U8(0), |
- B(Star), R(4), |
- B(Mov), R(arg0), R(2), |
- B(Mov), R(closure), R(3), |
- B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), |
+ B(Star), R(5), |
+ B(Mov), R(arg0), R(3), |
+ B(Mov), R(closure), R(4), |
+ B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3), |
B(PushContext), R(0), |
B(Ldar), R(this), |
B(StaCurrentContextSlot), U8(4), |
B(LdaZero), |
- B(Star), R(2), |
- B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(2), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(3), U8(1), |
B(StaCurrentContextSlot), U8(6), |
/* 0 E> */ B(StackCheck), |
B(LdaCurrentContextSlot), U8(4), |
- B(Star), R(3), |
- B(Mov), R(closure), R(2), |
- /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(Star), R(4), |
+ B(Mov), R(closure), R(3), |
+ /* 0 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
B(StaCurrentContextSlot), U8(5), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(5), |
B(Star), R(3), |
+ B(LdaCurrentContextSlot), U8(5), |
+ B(Star), R(4), |
B(LdaZero), |
- B(SuspendGenerator), R(3), |
- B(Ldar), R(2), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
/* 45 S> */ B(Return), |
B(LdaSmi), U8(-2), |
B(Star), R(1), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), |
- B(Star), R(4), |
- B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1), |
B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(4), U8(1), |
+ B(Star), R(6), |
B(LdaZero), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(25), |
B(LdaSmi), U8(2), |
- B(TestEqualStrict), R(5), U8(0), |
+ B(TestEqualStrict), R(6), U8(0), |
B(JumpIfTrue), U8(15), |
B(Jump), U8(2), |
B(LdaTrue), |
- B(Star), R(7), |
- B(Mov), R(4), R(6), |
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), |
/* 45 S> */ B(Return), |
- B(Ldar), R(4), |
+ B(Ldar), R(5), |
/* 0 E> */ B(Throw), |
/* 27 S> */ B(LdaCurrentContextSlot), U8(6), |
- B(Star), R(3), |
- /* 30 E> */ B(LdaNamedProperty), R(3), U8(1), U8(4), |
- B(Star), R(2), |
- B(LdaCurrentContextSlot), U8(6), |
B(Star), R(4), |
+ /* 30 E> */ B(LdaNamedProperty), R(4), U8(1), U8(4), |
+ B(Star), R(3), |
B(LdaCurrentContextSlot), U8(6), |
B(Star), R(5), |
- /* 41 E> */ B(LdaNamedProperty), R(5), U8(2), U8(6), |
- B(Star), R(5), |
- /* 31 E> */ B(CallProperty), R(2), R(3), U8(3), U8(2), |
+ B(LdaCurrentContextSlot), U8(6), |
+ B(Star), R(6), |
+ /* 41 E> */ B(LdaNamedProperty), R(6), U8(2), U8(6), |
+ B(Star), R(6), |
+ /* 31 E> */ B(CallProperty), R(3), R(4), U8(3), U8(2), |
B(LdaUndefined), |
/* 45 S> */ B(Return), |
] |