| 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: [ | 
| +] | 
| + | 
|  |