| 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 c5ff8b4b4c9830a6b766956013920dd7dcbbc402..e373200a37296a1eb2980d2e1f9cc6fa61ff0a28 100644 | 
| --- a/test/cctest/interpreter/bytecode_expectations/Modules.golden | 
| +++ b/test/cctest/interpreter/bytecode_expectations/Modules.golden | 
| @@ -13,7 +13,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 133 | 
| +bytecode array length: 125 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -21,7 +21,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -34,15 +34,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
| @@ -82,7 +82,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 133 | 
| +bytecode array length: 125 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -90,7 +90,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -103,15 +103,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
| @@ -153,7 +153,7 @@ snippet: " | 
| " | 
| frame size: 9 | 
| parameter count: 2 | 
| -bytecode array length: 223 | 
| +bytecode array length: 211 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -161,7 +161,7 @@ bytecodes: [ | 
| B(Star), R(2), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(2), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| @@ -174,15 +174,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(3), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(4), | 
| +                B(LdrCurrentContextSlot), U8(5), R(4), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(4), | 
| B(Ldar), R(3), | 
| @@ -225,9 +225,9 @@ bytecodes: [ | 
| B(CreateBlockContext), U8(3), | 
| B(PushContext), R(1), | 
| B(LdaTheHole), | 
| -                B(StaContextSlot), R(context), U8(4), U8(0), | 
| +                B(StaCurrentContextSlot), U8(4), | 
| /*   47 S> */ B(LdaUndefined), | 
| -  /*   47 E> */ B(StaContextSlot), R(context), U8(4), U8(0), | 
| +  /*   47 E> */ B(StaCurrentContextSlot), U8(4), | 
| /*   52 S> */ B(LdrUndefined), R(4), | 
| B(LdaConstant), U8(1), | 
| B(Star), R(6), | 
| @@ -263,7 +263,7 @@ snippet: " | 
| " | 
| frame size: 9 | 
| parameter count: 2 | 
| -bytecode array length: 208 | 
| +bytecode array length: 196 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -271,7 +271,7 @@ bytecodes: [ | 
| B(Star), R(2), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(2), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| @@ -284,15 +284,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(4), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(3), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(4), | 
| +                B(LdrCurrentContextSlot), U8(5), R(4), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(4), | 
| B(Ldar), R(3), | 
| @@ -334,9 +334,9 @@ bytecodes: [ | 
| B(CreateBlockContext), U8(2), | 
| B(PushContext), R(1), | 
| B(LdaTheHole), | 
| -                B(StaContextSlot), R(context), U8(4), U8(0), | 
| +                B(StaCurrentContextSlot), U8(4), | 
| /*   34 S> */ B(LdaUndefined), | 
| -  /*   34 E> */ B(StaContextSlot), R(context), U8(4), U8(0), | 
| +  /*   34 E> */ B(StaCurrentContextSlot), U8(4), | 
| /*   39 S> */ B(LdaConstant), U8(1), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), | 
| @@ -365,7 +365,7 @@ snippet: " | 
| " | 
| frame size: 9 | 
| parameter count: 2 | 
| -bytecode array length: 220 | 
| +bytecode array length: 208 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -373,7 +373,7 @@ bytecodes: [ | 
| B(Star), R(2), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(2), U8(0), | 
| -                B(JumpIfTrue), U8(83), | 
| +                B(JumpIfTrue), U8(75), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| @@ -386,20 +386,20 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| 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), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(3), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(4), | 
| +                B(LdrCurrentContextSlot), U8(5), R(4), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(4), | 
| B(Ldar), R(3), | 
| @@ -441,9 +441,9 @@ bytecodes: [ | 
| B(CreateBlockContext), U8(2), | 
| B(PushContext), R(1), | 
| B(LdaTheHole), | 
| -                B(StaContextSlot), R(context), U8(4), U8(0), | 
| +                B(StaCurrentContextSlot), U8(4), | 
| /*   34 S> */ B(LdaUndefined), | 
| -  /*   34 E> */ B(StaContextSlot), R(context), U8(4), U8(0), | 
| +  /*   34 E> */ B(StaCurrentContextSlot), U8(4), | 
| /*   39 S> */ B(LdaConstant), U8(1), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), | 
| @@ -472,7 +472,7 @@ snippet: " | 
| " | 
| frame size: 9 | 
| parameter count: 2 | 
| -bytecode array length: 208 | 
| +bytecode array length: 196 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -480,7 +480,7 @@ bytecodes: [ | 
| B(Star), R(2), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(2), U8(0), | 
| -                B(JumpIfTrue), U8(83), | 
| +                B(JumpIfTrue), U8(75), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| @@ -493,20 +493,20 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| 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), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(3), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(4), | 
| +                B(LdrCurrentContextSlot), U8(5), R(4), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(4), | 
| B(Ldar), R(3), | 
| @@ -545,9 +545,9 @@ bytecodes: [ | 
| B(CreateBlockContext), U8(2), | 
| B(PushContext), R(1), | 
| B(LdaTheHole), | 
| -                B(StaContextSlot), R(context), U8(4), U8(0), | 
| +                B(StaCurrentContextSlot), U8(4), | 
| /*   36 S> */ B(LdaUndefined), | 
| -  /*   36 E> */ B(StaContextSlot), R(context), U8(4), U8(0), | 
| +  /*   36 E> */ B(StaCurrentContextSlot), U8(4), | 
| /*   41 S> */ B(LdaConstant), U8(1), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kLoadModuleExport), R(3), U8(1), | 
| @@ -571,7 +571,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 159 | 
| +bytecode array length: 151 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -579,7 +579,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(83), | 
| +                B(JumpIfTrue), U8(75), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -592,20 +592,20 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| 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), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
| @@ -652,7 +652,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 196 | 
| +bytecode array length: 184 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -660,7 +660,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(83), | 
| +                B(JumpIfTrue), U8(75), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -673,20 +673,20 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| 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), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
| @@ -723,8 +723,8 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(6), | 
| +  /*   16 E> */ B(LdrCurrentContextSlot), U8(6), R(3), | 
| B(LdaConstant), U8(1), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kStoreModuleExport), R(2), U8(2), | 
| @@ -746,7 +746,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 133 | 
| +bytecode array length: 125 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -754,7 +754,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -767,15 +767,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
| @@ -815,7 +815,7 @@ snippet: " | 
| " | 
| frame size: 8 | 
| parameter count: 2 | 
| -bytecode array length: 133 | 
| +bytecode array length: 125 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(21), | 
| @@ -823,7 +823,7 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(71), | 
| +                B(JumpIfTrue), U8(63), | 
| B(LdaSmi), U8(76), | 
| B(Star), R(2), | 
| B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), | 
| @@ -836,15 +836,15 @@ bytecodes: [ | 
| 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(StaCurrentContextSlot), U8(4), | 
| /*    0 E> */ B(StackCheck), | 
| -  /*    0 E> */ B(LdrContextSlot), R(context), U8(4), U8(0), R(3), | 
| +  /*    0 E> */ B(LdrCurrentContextSlot), U8(4), 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(StaCurrentContextSlot), U8(5), | 
| B(Star), R(2), | 
| -                B(LdrContextSlot), R(context), U8(5), U8(0), R(3), | 
| +                B(LdrCurrentContextSlot), U8(5), R(3), | 
| B(LdaZero), | 
| B(SuspendGenerator), R(3), | 
| B(Ldar), R(2), | 
|  |