| Index: test/cctest/interpreter/bytecode_expectations/Generators.golden | 
| diff --git a/test/cctest/interpreter/bytecode_expectations/Generators.golden b/test/cctest/interpreter/bytecode_expectations/Generators.golden | 
| index c68b08d1b5b4016bd68710f78f5b5e2b878ae9a8..7af91ae781557d937198cb68efb70389e3a8f6b8 100644 | 
| --- a/test/cctest/interpreter/bytecode_expectations/Generators.golden | 
| +++ b/test/cctest/interpreter/bytecode_expectations/Generators.golden | 
| @@ -13,7 +13,7 @@ snippet: " | 
| " | 
| frame size: 12 | 
| parameter count: 1 | 
| -bytecode array length: 204 | 
| +bytecode array length: 192 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(28), | 
| @@ -23,35 +23,29 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(53), | 
| +                B(JumpIfTrue), U8(41), | 
| B(LdaSmi), I8(78), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| B(LdaSmi), I8(-2), | 
| -                B(Star), R(1), | 
| -                B(CreateFunctionContext), U8(2), | 
| -                B(PushContext), R(0), | 
| -                B(Ldar), R(this), | 
| -                B(StaCurrentContextSlot), U8(4), | 
| /*   11 E> */ B(StackCheck), | 
| +                B(Star), R(1), | 
| +                B(LdaUndefined), | 
| +                B(Star), R(0), | 
| B(Mov), R(context), R(5), | 
| -                B(LdaCurrentContextSlot), U8(4), | 
| -                B(Star), R(7), | 
| B(Mov), R(closure), R(6), | 
| +                B(Mov), R(this), R(7), | 
| /*   11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(6), U8(2), | 
| -                B(StaCurrentContextSlot), U8(5), | 
| -                B(Star), R(6), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(7), | 
| +                B(Star), R(0), | 
| B(LdaZero), | 
| -                B(SuspendGenerator), R(7), | 
| -                B(Ldar), R(6), | 
| +                B(SuspendGenerator), R(0), | 
| +                B(Ldar), R(0), | 
| /*   16 S> */ B(Return), | 
| B(LdaSmi), I8(-2), | 
| B(Star), R(1), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), | 
| B(Star), R(8), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(7), U8(1), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), | 
| B(Star), R(9), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(9), U8(0), | 
| @@ -88,9 +82,9 @@ bytecodes: [ | 
| B(LdaTheHole), | 
| B(SetPendingMessage), | 
| B(Star), R(5), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(6), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(6), U8(1), | 
| +                B(Ldar), R(0), | 
| +                B(JumpIfUndefined), U8(7), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(0), U8(1), | 
| B(Ldar), R(5), | 
| B(SetPendingMessage), | 
| B(LdaZero), | 
| @@ -115,7 +109,7 @@ bytecodes: [ | 
| constant pool: [ | 
| ] | 
| handlers: [ | 
| -  [46, 143, 149], | 
| +  [41, 131, 137], | 
| ] | 
|  | 
| --- | 
| @@ -123,9 +117,9 @@ snippet: " | 
| function* f() { yield 42 } | 
| f(); | 
| " | 
| -frame size: 12 | 
| +frame size: 13 | 
| parameter count: 1 | 
| -bytecode array length: 299 | 
| +bytecode array length: 283 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(35), | 
| @@ -135,38 +129,32 @@ bytecodes: [ | 
| B(Star), R(1), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(60), | 
| +                B(JumpIfTrue), U8(48), | 
| B(LdaSmi), I8(1), | 
| B(TestEqualStrict), R(1), U8(0), | 
| -                B(JumpIfTrue), U8(130), | 
| +                B(JumpIfTrue), U8(114), | 
| B(LdaSmi), I8(78), | 
| B(Star), R(3), | 
| B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), | 
| B(LdaSmi), I8(-2), | 
| -                B(Star), R(1), | 
| -                B(CreateFunctionContext), U8(2), | 
| -                B(PushContext), R(0), | 
| -                B(Ldar), R(this), | 
| -                B(StaCurrentContextSlot), U8(4), | 
| /*   11 E> */ B(StackCheck), | 
| +                B(Star), R(1), | 
| +                B(LdaUndefined), | 
| +                B(Star), R(0), | 
| B(Mov), R(context), R(5), | 
| -                B(LdaCurrentContextSlot), U8(4), | 
| -                B(Star), R(7), | 
| B(Mov), R(closure), R(6), | 
| +                B(Mov), R(this), R(7), | 
| /*   11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(6), U8(2), | 
| -                B(StaCurrentContextSlot), U8(5), | 
| -                B(Star), R(6), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(7), | 
| +                B(Star), R(0), | 
| B(LdaZero), | 
| -                B(SuspendGenerator), R(7), | 
| -                B(Ldar), R(6), | 
| +                B(SuspendGenerator), R(0), | 
| +                B(Ldar), R(0), | 
| /*   25 S> */ B(Return), | 
| B(LdaSmi), I8(-2), | 
| B(Star), R(1), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), | 
| B(Star), R(8), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(7), U8(1), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), | 
| B(Star), R(9), | 
| B(LdaZero), | 
| B(TestEqualStrict), R(9), U8(0), | 
| @@ -182,43 +170,41 @@ bytecodes: [ | 
| B(Star), R(4), | 
| B(LdaZero), | 
| B(Star), R(3), | 
| -                B(Jump), U8(113), | 
| +                B(Jump), U8(109), | 
| B(Ldar), R(8), | 
| /*   11 E> */ B(Throw), | 
| /*   16 S> */ B(LdaSmi), I8(42), | 
| -                B(Star), R(6), | 
| +                B(Star), R(8), | 
| B(LdaFalse), | 
| -                B(Star), R(7), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), | 
| -                B(Star), R(6), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(7), | 
| +                B(Star), R(9), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), | 
| +                B(Star), R(8), | 
| B(LdaSmi), I8(1), | 
| -                B(SuspendGenerator), R(7), | 
| -                B(Ldar), R(6), | 
| +                B(SuspendGenerator), R(0), | 
| +                B(Ldar), R(8), | 
| /*   25 S> */ B(Return), | 
| B(LdaSmi), I8(-2), | 
| B(Star), R(1), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1), | 
| -                B(Star), R(8), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(7), U8(1), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), | 
| B(Star), R(9), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), | 
| +                B(Star), R(10), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(9), U8(0), | 
| +                B(TestEqualStrict), R(10), U8(0), | 
| B(JumpIfTrue), U8(32), | 
| B(LdaSmi), I8(2), | 
| -                B(TestEqualStrict), R(9), U8(0), | 
| +                B(TestEqualStrict), R(10), U8(0), | 
| B(JumpIfTrue), U8(22), | 
| B(Jump), U8(2), | 
| B(LdaTrue), | 
| -                B(Star), R(11), | 
| -                B(Mov), R(8), R(10), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(10), U8(2), | 
| +                B(Star), R(12), | 
| +                B(Mov), R(9), R(11), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2), | 
| B(Star), R(4), | 
| B(LdaSmi), I8(1), | 
| B(Star), R(3), | 
| B(Jump), U8(35), | 
| -                B(Ldar), R(8), | 
| +                B(Ldar), R(9), | 
| /*   16 E> */ B(Throw), | 
| B(LdaUndefined), | 
| B(Star), R(6), | 
| @@ -238,9 +224,9 @@ bytecodes: [ | 
| B(LdaTheHole), | 
| B(SetPendingMessage), | 
| B(Star), R(5), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(6), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(6), U8(1), | 
| +                B(Ldar), R(0), | 
| +                B(JumpIfUndefined), U8(7), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(0), U8(1), | 
| B(Ldar), R(5), | 
| B(SetPendingMessage), | 
| B(LdaZero), | 
| @@ -270,7 +256,7 @@ bytecodes: [ | 
| constant pool: [ | 
| ] | 
| handlers: [ | 
| -  [53, 228, 234], | 
| +  [48, 212, 218], | 
| ] | 
|  | 
| --- | 
| @@ -278,67 +264,63 @@ snippet: " | 
| function* f() { for (let x of [42]) yield x } | 
| f(); | 
| " | 
| -frame size: 18 | 
| +frame size: 20 | 
| parameter count: 1 | 
| -bytecode array length: 775 | 
| +bytecode array length: 757 | 
| bytecodes: [ | 
| B(Ldar), R(new_target), | 
| B(JumpIfUndefined), U8(35), | 
| B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1), | 
| -                B(PushContext), R(4), | 
| +                B(PushContext), R(5), | 
| B(ResumeGenerator), R(new_target), | 
| -                B(Star), R(3), | 
| +                B(Star), R(4), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(3), U8(0), | 
| -                B(JumpIfTrue), U8(60), | 
| +                B(TestEqualStrict), R(4), U8(0), | 
| +                B(JumpIfTrue), U8(52), | 
| B(LdaSmi), I8(1), | 
| -                B(TestEqualStrict), R(3), U8(0), | 
| -                B(JumpIfTrue), U8(154), | 
| +                B(TestEqualStrict), R(4), U8(0), | 
| +                B(JumpIfTrue), U8(146), | 
| B(LdaSmi), I8(78), | 
| -                B(Star), R(5), | 
| -                B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | 
| +                B(Star), R(6), | 
| +                B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1), | 
| B(LdaSmi), I8(-2), | 
| -                B(Star), R(3), | 
| -                B(CreateFunctionContext), U8(9), | 
| +                B(Star), R(4), | 
| +                B(CreateFunctionContext), U8(7), | 
| B(PushContext), R(0), | 
| -                B(Ldar), R(this), | 
| -                B(StaCurrentContextSlot), U8(4), | 
| /*   11 E> */ B(StackCheck), | 
| -                B(Mov), R(context), R(7), | 
| -                B(LdaCurrentContextSlot), U8(4), | 
| -                B(Star), R(9), | 
| -                B(Mov), R(closure), R(8), | 
| -  /*   11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8(2), | 
| -                B(StaCurrentContextSlot), U8(5), | 
| -                B(Star), R(8), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| -                B(Star), R(9), | 
| +                B(LdaUndefined), | 
| +                B(Star), R(3), | 
| +                B(Mov), R(context), R(8), | 
| +                B(Mov), R(closure), R(9), | 
| +                B(Mov), R(this), R(10), | 
| +  /*   11 E> */ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(9), U8(2), | 
| +                B(Star), R(3), | 
| B(LdaZero), | 
| -                B(SuspendGenerator), R(9), | 
| -                B(Ldar), R(8), | 
| +                B(SuspendGenerator), R(3), | 
| +                B(Ldar), R(3), | 
| /*   44 S> */ B(Return), | 
| B(LdaSmi), I8(-2), | 
| -                B(Star), R(3), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), | 
| -                B(Star), R(10), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), | 
| +                B(Star), R(4), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), | 
| B(Star), R(11), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), | 
| +                B(Star), R(12), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(11), U8(0), | 
| +                B(TestEqualStrict), R(12), U8(0), | 
| B(JumpIfTrue), U8(31), | 
| B(LdaSmi), I8(2), | 
| -                B(TestEqualStrict), R(11), U8(0), | 
| +                B(TestEqualStrict), R(12), U8(0), | 
| B(JumpIfTrue), U8(21), | 
| B(Jump), U8(2), | 
| B(LdaTrue), | 
| -                B(Star), R(13), | 
| -                B(Mov), R(10), R(12), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2), | 
| -                B(Star), R(6), | 
| +                B(Star), R(14), | 
| +                B(Mov), R(11), R(13), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2), | 
| +                B(Star), R(7), | 
| B(LdaZero), | 
| -                B(Star), R(5), | 
| +                B(Star), R(6), | 
| B(JumpConstant), U8(13), | 
| -                B(Ldar), R(10), | 
| +                B(Ldar), R(11), | 
| /*   11 E> */ B(Throw), | 
| B(Ldar), R(closure), | 
| B(CreateBlockContext), U8(0), | 
| @@ -346,263 +328,259 @@ bytecodes: [ | 
| B(LdaTheHole), | 
| B(StaCurrentContextSlot), U8(4), | 
| B(LdaZero), | 
| -                B(StaContextSlot), R(1), U8(9), U8(0), | 
| -                B(Mov), R(context), R(10), | 
| -                B(Mov), R(context), R(11), | 
| +                B(StaContextSlot), R(1), U8(7), U8(0), | 
| +                B(Mov), R(context), R(13), | 
| +                B(Mov), R(context), R(14), | 
| /*   30 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), | 
| -                B(Star), R(12), | 
| -                B(LdaNamedProperty), R(12), U8(2), U8(3), | 
| -                B(Star), R(13), | 
| -                B(CallProperty), R(13), R(12), U8(1), U8(5), | 
| +                B(Star), R(15), | 
| +                B(LdaNamedProperty), R(15), U8(2), U8(3), | 
| +                B(Star), R(16), | 
| +                B(CallProperty), R(16), R(15), U8(1), U8(5), | 
| B(JumpIfJSReceiver), U8(7), | 
| B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), | 
| -  /*   30 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | 
| +  /*   30 E> */ B(StaContextSlot), R(1), U8(5), U8(0), | 
| B(LdaSmi), I8(-2), | 
| -                B(TestEqual), R(3), U8(0), | 
| +                B(TestEqual), R(4), U8(0), | 
| B(JumpIfTrue), U8(18), | 
| B(LdaSmi), I8(1), | 
| -                B(TestEqualStrict), R(3), U8(0), | 
| -                B(JumpIfTrue), U8(134), | 
| +                B(TestEqualStrict), R(4), U8(0), | 
| +                B(JumpIfTrue), U8(128), | 
| B(LdaSmi), I8(78), | 
| -                B(Star), R(12), | 
| -                B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), | 
| -  /*   27 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), | 
| -                B(Star), R(13), | 
| -                B(LdaNamedProperty), R(13), U8(3), U8(9), | 
| -                B(Star), R(12), | 
| -  /*   27 E> */ B(CallProperty), R(12), R(13), U8(1), U8(7), | 
| -  /*   27 E> */ B(StaContextSlot), R(1), U8(8), U8(0), | 
| -                B(Star), R(12), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), | 
| +                B(Star), R(15), | 
| +                B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), | 
| +  /*   27 S> */ B(LdaContextSlot), R(1), U8(5), U8(0), | 
| +                B(Star), R(16), | 
| +                B(LdaNamedProperty), R(16), U8(3), U8(9), | 
| +                B(Star), R(15), | 
| +  /*   27 E> */ B(CallProperty), R(15), R(16), U8(1), U8(7), | 
| +  /*   27 E> */ B(StaContextSlot), R(1), U8(6), U8(0), | 
| +                B(Star), R(15), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), | 
| B(ToBooleanLogicalNot), | 
| B(JumpIfFalse), U8(13), | 
| -                B(LdaContextSlot), R(1), U8(8), U8(0), | 
| -                B(Star), R(12), | 
| -                B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), | 
| -                B(LdaContextSlot), R(1), U8(8), U8(0), | 
| -                B(Star), R(12), | 
| -                B(LdaNamedProperty), R(12), U8(4), U8(11), | 
| -                B(JumpIfToBooleanTrue), U8(147), | 
| -                B(LdaContextSlot), R(1), U8(8), U8(0), | 
| -                B(Star), R(12), | 
| -                B(LdaNamedProperty), R(12), U8(5), U8(13), | 
| -                B(StaContextSlot), R(1), U8(10), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(6), U8(0), | 
| +                B(Star), R(15), | 
| +                B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1), | 
| +                B(LdaContextSlot), R(1), U8(6), U8(0), | 
| +                B(Star), R(15), | 
| +                B(LdaNamedProperty), R(15), U8(4), U8(11), | 
| +                B(JumpIfToBooleanTrue), U8(141), | 
| +                B(LdaContextSlot), R(1), U8(6), U8(0), | 
| +                B(Star), R(15), | 
| +                B(LdaNamedProperty), R(15), U8(5), U8(13), | 
| +                B(StaContextSlot), R(1), U8(8), U8(0), | 
| B(LdaSmi), I8(2), | 
| -                B(StaContextSlot), R(1), U8(9), U8(0), | 
| -                B(LdaContextSlot), R(1), U8(10), U8(0), | 
| -                B(StaContextSlot), R(1), U8(6), U8(0), | 
| +                B(StaContextSlot), R(1), U8(7), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(8), U8(0), | 
| +                B(StaContextSlot), R(1), U8(4), U8(0), | 
| /*   16 E> */ B(StackCheck), | 
| B(Ldar), R(closure), | 
| B(CreateBlockContext), U8(6), | 
| B(PushContext), R(2), | 
| B(LdaTheHole), | 
| B(StaCurrentContextSlot), U8(4), | 
| -                B(LdaContextSlot), R(1), U8(6), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(4), U8(0), | 
| B(StaCurrentContextSlot), U8(4), | 
| /*   36 S> */ B(LdaCurrentContextSlot), U8(4), | 
| -                B(Star), R(12), | 
| +                B(Star), R(15), | 
| B(LdaFalse), | 
| -                B(Star), R(13), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2), | 
| -                B(Star), R(12), | 
| -                B(LdaContextSlot), R(1), U8(5), U8(0), | 
| -                B(Star), R(13), | 
| +                B(Star), R(16), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), | 
| +                B(Star), R(15), | 
| B(LdaSmi), I8(1), | 
| -                B(SuspendGenerator), R(13), | 
| -                B(Ldar), R(12), | 
| +                B(SuspendGenerator), R(3), | 
| +                B(Ldar), R(15), | 
| /*   44 S> */ B(Return), | 
| B(LdaSmi), I8(-2), | 
| -                B(Star), R(3), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1), | 
| -                B(Star), R(14), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1), | 
| -                B(Star), R(15), | 
| +                B(Star), R(4), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), | 
| +                B(Star), R(16), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), | 
| +                B(Star), R(17), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(15), U8(0), | 
| +                B(TestEqualStrict), R(17), U8(0), | 
| B(JumpIfTrue), U8(43), | 
| B(LdaSmi), I8(2), | 
| -                B(TestEqualStrict), R(15), U8(0), | 
| +                B(TestEqualStrict), R(17), U8(0), | 
| B(JumpIfTrue), U8(33), | 
| B(Jump), U8(2), | 
| B(LdaTrue), | 
| -                B(Star), R(17), | 
| -                B(Mov), R(14), R(16), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2), | 
| +                B(Star), R(19), | 
| +                B(Mov), R(16), R(18), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18), U8(2), | 
| B(PopContext), R(2), | 
| B(PopContext), R(2), | 
| B(PopContext), R(2), | 
| B(PopContext), R(2), | 
| B(PopContext), R(2), | 
| B(PopContext), R(2), | 
| -                B(Star), R(9), | 
| +                B(Star), R(12), | 
| B(LdaZero), | 
| -                B(Star), R(8), | 
| +                B(Star), R(11), | 
| B(Jump), U8(71), | 
| -                B(Ldar), R(14), | 
| +                B(Ldar), R(16), | 
| /*   36 E> */ B(Throw), | 
| B(PopContext), R(2), | 
| B(LdaZero), | 
| -                B(StaContextSlot), R(1), U8(9), U8(0), | 
| -                B(JumpLoop), U8(218), I8(0), | 
| +                B(StaContextSlot), R(1), U8(7), U8(0), | 
| +                B(JumpLoop), U8(212), I8(0), | 
| B(Jump), U8(44), | 
| -                B(Star), R(12), | 
| +                B(Star), R(15), | 
| B(Ldar), R(closure), | 
| -                B(CreateCatchContext), R(12), U8(7), U8(8), | 
| -                B(Star), R(11), | 
| +                B(CreateCatchContext), R(15), U8(7), U8(8), | 
| +                B(Star), R(14), | 
| B(PushContext), R(2), | 
| -                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| -                B(Star), R(12), | 
| +                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| +                B(Star), R(15), | 
| B(LdaSmi), I8(2), | 
| -                B(TestEqualStrict), R(12), U8(15), | 
| +                B(TestEqualStrict), R(15), U8(15), | 
| B(JumpIfFalse), U8(8), | 
| B(LdaSmi), I8(1), | 
| -                B(StaContextSlot), R(1), U8(9), U8(0), | 
| +                B(StaContextSlot), R(1), U8(7), U8(0), | 
| B(LdaCurrentContextSlot), U8(4), | 
| -                B(Star), R(12), | 
| -                B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), | 
| +                B(Star), R(15), | 
| +                B(CallRuntime), U16(Runtime::kReThrow), R(15), U8(1), | 
| B(PopContext), R(2), | 
| B(LdaSmi), I8(-1), | 
| -                B(Star), R(8), | 
| +                B(Star), R(11), | 
| B(Jump), U8(8), | 
| -                B(Star), R(9), | 
| +                B(Star), R(12), | 
| B(LdaSmi), I8(1), | 
| -                B(Star), R(8), | 
| +                B(Star), R(11), | 
| B(LdaTheHole), | 
| B(SetPendingMessage), | 
| -                B(Star), R(10), | 
| -                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| -                B(Star), R(11), | 
| +                B(Star), R(13), | 
| +                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| +                B(Star), R(14), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(11), U8(16), | 
| +                B(TestEqualStrict), R(14), U8(16), | 
| B(JumpIfTrue), U8(159), | 
| -                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| -                B(Star), R(11), | 
| -                B(LdaNamedProperty), R(11), U8(9), U8(17), | 
| -                B(StaContextSlot), R(1), U8(11), U8(0), | 
| -                B(LdaContextSlot), R(1), U8(11), U8(0), | 
| -                B(Star), R(11), | 
| -                B(TestUndetectable), R(11), | 
| +                B(LdaContextSlot), R(1), U8(5), U8(0), | 
| +                B(Star), R(14), | 
| +                B(LdaNamedProperty), R(14), U8(9), U8(17), | 
| +                B(StaContextSlot), R(1), U8(9), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| +                B(Star), R(14), | 
| +                B(TestUndetectable), R(14), | 
| B(JumpIfFalse), U8(4), | 
| B(Jump), U8(133), | 
| -                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| -                B(Star), R(11), | 
| +                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| +                B(Star), R(14), | 
| B(LdaSmi), I8(1), | 
| -                B(TestEqualStrict), R(11), U8(20), | 
| +                B(TestEqualStrict), R(14), U8(20), | 
| B(JumpIfFalse), U8(75), | 
| -                B(LdaContextSlot), R(1), U8(11), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| B(TypeOf), | 
| -                B(Star), R(11), | 
| +                B(Star), R(14), | 
| B(LdaConstant), U8(10), | 
| -                B(TestEqualStrict), R(11), U8(21), | 
| +                B(TestEqualStrict), R(14), U8(21), | 
| B(JumpIfFalse), U8(4), | 
| B(Jump), U8(18), | 
| B(Wide), B(LdaSmi), I16(130), | 
| -                B(Star), R(11), | 
| +                B(Star), R(14), | 
| B(LdaConstant), U8(11), | 
| -                B(Star), R(12), | 
| -                B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), | 
| +                B(Star), R(15), | 
| +                B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2), | 
| B(Throw), | 
| -                B(Mov), R(context), R(11), | 
| -                B(LdaContextSlot), R(1), U8(11), U8(0), | 
| -                B(Star), R(12), | 
| -                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| -                B(Star), R(13), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), | 
| +                B(Mov), R(context), R(14), | 
| +                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| +                B(Star), R(15), | 
| +                B(LdaContextSlot), R(1), U8(5), U8(0), | 
| +                B(Star), R(16), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_Call), R(15), U8(2), | 
| B(Jump), U8(20), | 
| -                B(Star), R(12), | 
| +                B(Star), R(15), | 
| B(Ldar), R(closure), | 
| -                B(CreateCatchContext), R(12), U8(7), U8(12), | 
| -                B(Star), R(11), | 
| +                B(CreateCatchContext), R(15), U8(7), U8(12), | 
| +                B(Star), R(14), | 
| B(LdaTheHole), | 
| B(SetPendingMessage), | 
| -                B(Ldar), R(11), | 
| +                B(Ldar), R(14), | 
| B(PushContext), R(2), | 
| B(PopContext), R(2), | 
| B(Jump), U8(47), | 
| -                B(LdaContextSlot), R(1), U8(11), U8(0), | 
| -                B(Star), R(11), | 
| -                B(LdaContextSlot), R(1), U8(7), U8(0), | 
| -                B(Star), R(12), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), | 
| -                B(StaContextSlot), R(1), U8(12), U8(0), | 
| -                B(LdaContextSlot), R(1), U8(12), U8(0), | 
| -                B(Star), R(11), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), | 
| +                B(LdaContextSlot), R(1), U8(9), U8(0), | 
| +                B(Star), R(14), | 
| +                B(LdaContextSlot), R(1), U8(5), U8(0), | 
| +                B(Star), R(15), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2), | 
| +                B(StaContextSlot), R(1), U8(10), U8(0), | 
| +                B(LdaContextSlot), R(1), U8(10), U8(0), | 
| +                B(Star), R(14), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(14), U8(1), | 
| B(JumpIfToBooleanFalse), U8(4), | 
| B(Jump), U8(13), | 
| -                B(LdaContextSlot), R(1), U8(12), U8(0), | 
| -                B(Star), R(11), | 
| -                B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), | 
| -                B(Ldar), R(10), | 
| +                B(LdaContextSlot), R(1), U8(10), U8(0), | 
| +                B(Star), R(14), | 
| +                B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1), | 
| +                B(Ldar), R(13), | 
| B(SetPendingMessage), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(8), U8(0), | 
| +                B(TestEqualStrict), R(11), U8(0), | 
| B(JumpIfTrue), U8(11), | 
| B(LdaSmi), I8(1), | 
| -                B(TestEqualStrict), R(8), U8(0), | 
| -                B(JumpIfTrue), U8(17), | 
| -                B(Jump), U8(28), | 
| -                B(PopContext), R(1), | 
| +                B(TestEqualStrict), R(11), U8(0), | 
| +                B(JumpIfTrue), U8(15), | 
| +                B(Jump), U8(24), | 
| B(PopContext), R(1), | 
| B(LdaSmi), I8(1), | 
| -                B(Star), R(5), | 
| -                B(Mov), R(9), R(6), | 
| -                B(Jump), U8(47), | 
| -                B(PopContext), R(1), | 
| +                B(Star), R(6), | 
| +                B(Mov), R(12), R(7), | 
| +                B(Jump), U8(45), | 
| B(PopContext), R(1), | 
| B(LdaSmi), I8(2), | 
| -                B(Star), R(5), | 
| -                B(Mov), R(9), R(6), | 
| +                B(Star), R(6), | 
| +                B(Mov), R(12), R(7), | 
| B(Jump), U8(34), | 
| B(PopContext), R(1), | 
| B(LdaUndefined), | 
| -                B(Star), R(8), | 
| -                B(LdaTrue), | 
| B(Star), R(9), | 
| -                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), | 
| -                B(Star), R(6), | 
| +                B(LdaTrue), | 
| +                B(Star), R(10), | 
| +                B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), | 
| +                B(Star), R(7), | 
| B(LdaSmi), I8(3), | 
| -                B(Star), R(5), | 
| +                B(Star), R(6), | 
| B(Jump), U8(14), | 
| B(LdaSmi), I8(-1), | 
| -                B(Star), R(5), | 
| -                B(Jump), U8(8), | 
| B(Star), R(6), | 
| +                B(Jump), U8(8), | 
| +                B(Star), R(7), | 
| B(LdaSmi), I8(4), | 
| -                B(Star), R(5), | 
| +                B(Star), R(6), | 
| B(LdaTheHole), | 
| B(SetPendingMessage), | 
| -                B(Star), R(7), | 
| -                B(LdaCurrentContextSlot), U8(5), | 
| B(Star), R(8), | 
| -                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1), | 
| -                B(Ldar), R(7), | 
| +                B(Ldar), R(3), | 
| +                B(JumpIfUndefined), U8(7), | 
| +                B(CallRuntime), U16(Runtime::k_GeneratorClose), R(3), U8(1), | 
| +                B(Ldar), R(8), | 
| B(SetPendingMessage), | 
| B(LdaZero), | 
| -                B(TestEqualStrict), R(5), U8(0), | 
| +                B(TestEqualStrict), R(6), U8(0), | 
| B(JumpIfTrue), U8(32), | 
| B(LdaSmi), I8(1), | 
| -                B(TestEqualStrict), R(5), U8(0), | 
| +                B(TestEqualStrict), R(6), U8(0), | 
| B(JumpIfTrue), U8(28), | 
| B(LdaSmi), I8(2), | 
| -                B(TestEqualStrict), R(5), U8(0), | 
| +                B(TestEqualStrict), R(6), U8(0), | 
| B(JumpIfTrue), U8(24), | 
| B(LdaSmi), I8(3), | 
| -                B(TestEqualStrict), R(5), U8(0), | 
| +                B(TestEqualStrict), R(6), U8(0), | 
| B(JumpIfTrue), U8(20), | 
| B(LdaSmi), I8(4), | 
| -                B(TestEqualStrict), R(5), U8(0), | 
| +                B(TestEqualStrict), R(6), U8(0), | 
| B(JumpIfTrue), U8(16), | 
| B(Jump), U8(17), | 
| -                B(Ldar), R(6), | 
| +                B(Ldar), R(7), | 
| /*   44 S> */ B(Return), | 
| -                B(Ldar), R(6), | 
| +                B(Ldar), R(7), | 
| /*   44 S> */ B(Return), | 
| -                B(Ldar), R(6), | 
| +                B(Ldar), R(7), | 
| B(ReThrow), | 
| -                B(Ldar), R(6), | 
| +                B(Ldar), R(7), | 
| /*   44 S> */ B(Return), | 
| -                B(Ldar), R(6), | 
| +                B(Ldar), R(7), | 
| B(ReThrow), | 
| B(LdaUndefined), | 
| /*   44 S> */ B(Return), | 
| @@ -621,12 +599,12 @@ constant pool: [ | 
| ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | 
| ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | 
| FIXED_ARRAY_TYPE, | 
| -  Smi [579], | 
| +  Smi [569], | 
| ] | 
| handlers: [ | 
| -  [53, 694, 700], | 
| -  [149, 445, 451], | 
| -  [152, 401, 403], | 
| -  [547, 563, 565], | 
| +  [52, 676, 682], | 
| +  [141, 431, 437], | 
| +  [144, 387, 389], | 
| +  [533, 549, 551], | 
| ] | 
|  | 
|  |