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 |
new file mode 100644 |
index 0000000000000000000000000000000000000000..62dbeb7ada9f1aa531d5443ed223dd7b1e1469f5 |
--- /dev/null |
+++ b/test/cctest/interpreter/bytecode_expectations/Modules.golden |
@@ -0,0 +1,896 @@ |
+# |
+# Autogenerated by generate-bytecode-expectations. |
+# |
+ |
+--- |
+wrap: no |
+module: yes |
+top level: yes |
+ |
+--- |
+snippet: " |
+ import \"bar\"; |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 133 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 13 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ B(LdaUndefined), |
+ /* 13 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ import {foo} from \"bar\"; |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 133 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 24 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ B(LdaUndefined), |
+ /* 24 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ import {foo as goo} from \"bar\"; |
+ goo(42); |
+ { let x; { goo(42) } }; |
+" |
+frame size: 9 |
+parameter count: 2 |
+bytecode array length: 223 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(2), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(2), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), |
+ B(Ldar), R(4), |
+ B(Mov), R(closure), R(3), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(3), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(4), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
+ /* 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(Star), R(6), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ /* 64 S> */ B(Return), |
+ B(Ldar), R(5), |
+ /* 0 E> */ B(Throw), |
+ /* 32 S> */ B(LdrUndefined), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(6), |
+ B(LdaZero), |
+ B(Star), R(7), |
+ /* 32 E> */ B(CallRuntime), U16(Runtime::kLoadModuleImport), R(6), U8(2), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(8), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(8), U8(1), |
+ B(Star), R(3), |
+ B(LdaSmi), U8(42), |
+ B(Star), R(5), |
+ /* 32 E> */ B(Call), R(3), R(4), U8(2), U8(2), |
+ B(Ldar), R(closure), |
+ B(CreateBlockContext), U8(3), |
+ B(PushContext), R(1), |
+ B(LdaTheHole), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 47 S> */ B(LdaUndefined), |
+ /* 47 E> */ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 52 S> */ B(LdrUndefined), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(6), |
+ B(LdaZero), |
+ B(Star), R(7), |
+ /* 52 E> */ B(CallRuntime), U16(Runtime::kLoadModuleImport), R(6), U8(2), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(8), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(8), U8(1), |
+ B(Star), R(3), |
+ B(LdaSmi), U8(42), |
+ B(Star), R(5), |
+ /* 52 E> */ B(Call), R(3), R(4), U8(2), U8(4), |
+ B(PopContext), R(1), |
+ B(LdaUndefined), |
+ /* 64 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"], |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export var foo = 42; |
+ foo++; |
+ { let x; { foo++ } }; |
+" |
+frame size: 9 |
+parameter count: 2 |
+bytecode array length: 208 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(2), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(2), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), |
+ B(Ldar), R(4), |
+ B(Mov), R(closure), R(3), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(3), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(4), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
+ /* 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(Star), R(6), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ /* 49 S> */ B(Return), |
+ B(Ldar), R(5), |
+ /* 0 E> */ B(Throw), |
+ /* 17 S> */ B(LdaSmi), U8(42), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 17 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ /* 21 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(Inc), U8(2), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 24 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ B(Ldar), R(closure), |
+ B(CreateBlockContext), U8(2), |
+ B(PushContext), R(1), |
+ B(LdaTheHole), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 34 S> */ B(LdaUndefined), |
+ /* 34 E> */ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 39 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(Inc), U8(3), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 42 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ B(PopContext), R(1), |
+ B(LdaUndefined), |
+ /* 49 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"], |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export let foo = 42; |
+ foo++; |
+ { let x; { foo++ } }; |
+" |
+frame size: 9 |
+parameter count: 2 |
+bytecode array length: 242 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(2), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(2), U8(0), |
+ B(JumpIfTrue), U8(83), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), |
+ B(Ldar), R(4), |
+ B(Mov), R(closure), R(3), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(3), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(4), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
+ /* 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(Star), R(6), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ /* 49 S> */ B(Return), |
+ B(Ldar), R(5), |
+ /* 0 E> */ B(Throw), |
+ /* 17 S> */ B(LdaSmi), U8(42), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 17 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ /* 21 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(Inc), U8(2), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 24 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ B(Ldar), R(closure), |
+ B(CreateBlockContext), U8(2), |
+ B(PushContext), R(1), |
+ B(LdaTheHole), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 34 S> */ B(LdaUndefined), |
+ /* 34 E> */ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 39 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(Inc), U8(3), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 42 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ B(PopContext), R(1), |
+ B(LdaUndefined), |
+ /* 49 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"], |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export const foo = 42; |
+ foo++; |
+ { let x; { foo++ } }; |
+" |
+frame size: 9 |
+parameter count: 2 |
+bytecode array length: 230 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(2), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(2), U8(0), |
+ B(JumpIfTrue), U8(83), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kAbort), R(3), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), |
+ B(Ldar), R(4), |
+ B(Mov), R(closure), R(3), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(3), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(3), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(4), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(4), |
+ B(Ldar), R(3), |
+ /* 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(Star), R(6), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(6), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(8), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(7), U8(2), |
+ /* 51 S> */ B(Return), |
+ B(Ldar), R(5), |
+ /* 0 E> */ B(Throw), |
+ /* 19 S> */ B(LdaSmi), U8(42), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ /* 19 E> */ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(3), U8(2), |
+ /* 23 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(Inc), U8(2), |
+ /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), |
+ B(Ldar), R(closure), |
+ B(CreateBlockContext), U8(2), |
+ B(PushContext), R(1), |
+ B(LdaTheHole), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 36 S> */ B(LdaUndefined), |
+ /* 36 E> */ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 41 S> */ B(LdaConstant), U8(1), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), |
+ B(JumpIfNotHole), U8(11), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
+ B(Inc), U8(3), |
+ /* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), |
+ B(PopContext), R(1), |
+ B(LdaUndefined), |
+ /* 51 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"], |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export default (function () {}); |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 159 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(83), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ B(LdaTheHole), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(2), U8(2), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 32 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ B(CreateClosure), U8(2), U8(0), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(2), U8(2), |
+ B(LdaUndefined), |
+ /* 32 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["default"], |
+ SHARED_FUNCTION_INFO_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export default (class {}); |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 196 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(83), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ B(LdaTheHole), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(2), U8(2), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 26 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ /* 16 S> */ B(LdaTheHole), |
+ B(Star), R(2), |
+ B(CreateClosure), U8(2), U8(0), |
+ B(Star), R(3), |
+ B(LdaSmi), U8(16), |
+ B(Star), R(4), |
+ B(LdaSmi), U8(24), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4), |
+ B(Star), R(2), |
+ B(LdrNamedProperty), R(2), U8(3), U8(2), R(3), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1), |
+ B(StaContextSlot), R(context), U8(6), U8(0), |
+ /* 16 E> */ B(LdrContextSlot), R(context), U8(6), U8(0), R(3), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kStoreModuleExport), R(2), U8(2), |
+ B(LdaUndefined), |
+ /* 26 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["default"], |
+ SHARED_FUNCTION_INFO_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["prototype"], |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export {foo as goo} from \"bar\" |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 133 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 30 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ B(LdaUndefined), |
+ /* 30 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ export * from \"bar\" |
+" |
+frame size: 8 |
+parameter count: 2 |
+bytecode array length: 133 |
+bytecodes: [ |
+ B(Ldar), R(new_target), |
+ B(JumpIfUndefined), U8(21), |
+ B(ResumeGenerator), R(new_target), |
+ B(Star), R(1), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(1), U8(0), |
+ B(JumpIfTrue), U8(71), |
+ B(LdaSmi), U8(76), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kAbort), R(2), 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(PushContext), R(0), |
+ B(Ldar), R(this), |
+ B(StaContextSlot), R(context), U8(4), U8(0), |
+ /* 0 E> */ B(StackCheck), |
+ /* 0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), |
+ B(Ldar), R(3), |
+ B(Mov), R(closure), R(2), |
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(2), U8(2), |
+ B(StaContextSlot), R(context), U8(5), U8(0), |
+ B(Star), R(2), |
+ B(LdrContextSlot), R(context), U8(5), U8(0), R(3), |
+ B(LdaZero), |
+ B(SuspendGenerator), R(3), |
+ B(Ldar), R(2), |
+ /* 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(Star), R(5), |
+ B(LdaZero), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(26), |
+ B(LdaSmi), U8(2), |
+ B(TestEqualStrict), R(5), U8(0), |
+ B(JumpIfTrue), U8(16), |
+ B(Jump), U8(2), |
+ B(LdaTrue), |
+ B(Star), R(7), |
+ B(Mov), R(4), R(6), |
+ B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(6), U8(2), |
+ /* 19 S> */ B(Return), |
+ B(Ldar), R(4), |
+ /* 0 E> */ B(Throw), |
+ B(LdaUndefined), |
+ /* 19 S> */ B(Return), |
+] |
+constant pool: [ |
+ FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |