# # Autogenerated by generate-bytecode-expectations. # --- pool type: mixed execute: yes wrap: no test function name: f ignition generators: yes --- snippet: " function* f() { } f(); " frame size: 11 parameter count: 1 bytecode array length: 200 bytecodes: [ B(Ldar), R(new_target), B(JumpIfUndefined), U8(20), B(ResumeGenerator), R(new_target), B(Star), R(1), B(LdaZero), B(TestEqualStrict), R(1), B(JumpIfTrue), U8(56), B(LdaSmi), U8(75), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1), B(PushContext), R(0), B(Ldar), R(this), B(StaContextSlot), R(context), U8(4), /* 11 E> */ B(StackCheck), B(Mov), R(context), R(4), /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6), B(Ldar), R(6), B(Mov), R(closure), R(5), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(5), B(LdrContextSlot), R(context), U8(5), R(6), B(LdaZero), B(SuspendGenerator), R(6), B(Ldar), R(5), /* 16 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(1), B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), B(Star), R(7), B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), B(Star), R(8), B(LdaZero), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(31), B(LdaSmi), U8(2), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(22), B(Jump), U8(2), B(LdaTrue), B(Star), R(10), B(Mov), R(7), R(9), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaZero), B(Star), R(2), B(Jump), U8(35), B(Ldar), R(7), /* 11 E> */ B(Throw), B(LdrUndefined), R(5), B(LdaTrue), B(Star), R(6), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2), B(Star), R(3), B(LdaSmi), U8(1), B(Star), R(2), B(Jump), U8(14), B(LdaSmi), U8(-1), B(Star), R(2), B(Jump), U8(8), B(Star), R(3), B(LdaSmi), U8(2), B(Star), R(2), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(4), B(LdrContextSlot), R(context), U8(5), R(5), B(CallRuntime), U16(Runtime::k_GeneratorClose), R(5), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1), B(LdaZero), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(16), B(LdaSmi), U8(1), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(13), B(LdaSmi), U8(2), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(10), B(Jump), U8(11), B(Ldar), R(3), /* 16 S> */ B(Return), B(Ldar), R(3), /* 16 S> */ B(Return), B(Ldar), R(3), B(ReThrow), B(LdaUndefined), /* 16 S> */ B(Return), ] constant pool: [ ] handlers: [ [38, 137, 143], ] --- snippet: " function* f() { yield 42 } f(); " frame size: 11 parameter count: 1 bytecode array length: 293 bytecodes: [ B(Ldar), R(new_target), B(JumpIfUndefined), U8(26), B(ResumeGenerator), R(new_target), B(Star), R(1), B(LdaZero), B(TestEqualStrict), R(1), B(JumpIfTrue), U8(62), B(LdaSmi), U8(1), B(TestEqualStrict), R(1), B(JumpIfTrueConstant), U8(0), B(LdaSmi), U8(75), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1), B(PushContext), R(0), B(Ldar), R(this), B(StaContextSlot), R(context), U8(4), /* 11 E> */ B(StackCheck), B(Mov), R(context), R(4), /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6), B(Ldar), R(6), B(Mov), R(closure), R(5), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(5), B(LdrContextSlot), R(context), U8(5), R(6), B(LdaZero), B(SuspendGenerator), R(6), B(Ldar), R(5), /* 25 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(1), B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), B(Star), R(7), B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), B(Star), R(8), B(LdaZero), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(31), B(LdaSmi), U8(2), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(22), B(Jump), U8(2), B(LdaTrue), B(Star), R(10), B(Mov), R(7), R(9), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaZero), B(Star), R(2), B(Jump), U8(113), B(Ldar), R(7), /* 11 E> */ B(Throw), /* 16 S> */ B(LdaSmi), U8(42), B(Star), R(5), B(LdaFalse), B(Star), R(6), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2), B(Star), R(7), B(LdrContextSlot), R(context), U8(5), R(5), B(LdaSmi), U8(1), B(SuspendGenerator), R(5), B(Ldar), R(7), /* 25 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(1), B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(5), U8(1), B(Star), R(6), B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(5), U8(1), B(Star), R(8), B(LdaZero), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(32), B(LdaSmi), U8(2), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(23), B(Jump), U8(2), B(LdaTrue), B(Star), R(10), B(Mov), R(6), R(9), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaSmi), U8(1), B(Star), R(2), B(Jump), U8(35), B(Ldar), R(6), /* 16 E> */ B(Throw), B(LdrUndefined), R(5), B(LdaTrue), B(Star), R(6), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(5), U8(2), B(Star), R(3), B(LdaSmi), U8(2), B(Star), R(2), B(Jump), U8(14), B(LdaSmi), U8(-1), B(Star), R(2), B(Jump), U8(8), B(Star), R(3), B(LdaSmi), U8(3), B(Star), R(2), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(4), B(LdrContextSlot), R(context), U8(5), R(5), B(CallRuntime), U16(Runtime::k_GeneratorClose), R(5), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1), B(LdaZero), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(22), B(LdaSmi), U8(1), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(19), B(LdaSmi), U8(2), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(16), B(LdaSmi), U8(3), B(TestEqualStrict), R(2), B(JumpIfTrue), U8(13), B(Jump), U8(14), B(Ldar), R(3), /* 25 S> */ B(Return), B(Ldar), R(3), /* 25 S> */ B(Return), B(Ldar), R(3), /* 25 S> */ B(Return), B(Ldar), R(3), B(ReThrow), B(LdaUndefined), /* 25 S> */ B(Return), ] constant pool: [ kInstanceTypeDontCare, ] handlers: [ [44, 221, 227], ] --- snippet: " function* f() { for (let x of [42]) yield x } f(); " frame size: 18 parameter count: 1 bytecode array length: 774 bytecodes: [ B(Ldar), R(new_target), B(JumpIfUndefined), U8(26), B(ResumeGenerator), R(new_target), B(Star), R(4), B(LdaZero), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(62), B(LdaSmi), U8(1), B(TestEqualStrict), R(4), B(JumpIfTrueConstant), U8(3), B(LdaSmi), U8(75), B(Star), R(5), B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1), B(PushContext), R(0), B(Ldar), R(this), B(StaContextSlot), R(context), U8(4), /* 11 E> */ B(StackCheck), B(Mov), R(context), R(7), /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(9), B(Ldar), R(9), B(Mov), R(closure), R(8), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(8), B(LdrContextSlot), R(context), U8(5), R(9), B(LdaZero), B(SuspendGenerator), R(9), B(Ldar), R(8), /* 44 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(4), 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(11), B(LdaZero), B(TestEqualStrict), R(11), B(JumpIfTrue), U8(31), B(LdaSmi), U8(2), B(TestEqualStrict), R(11), B(JumpIfTrue), U8(22), B(Jump), U8(2), B(LdaTrue), B(Star), R(13), B(Mov), R(10), R(12), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(12), U8(2), B(Star), R(6), B(LdaZero), B(Star), R(5), B(JumpConstant), U8(16), B(Ldar), R(10), /* 11 E> */ B(Throw), B(LdaConstant), U8(0), B(Star), R(8), B(Mov), R(closure), R(9), B(CallRuntime), U16(Runtime::kPushBlockContext), R(8), U8(2), B(PushContext), R(1), B(LdaTheHole), B(StaContextSlot), R(context), U8(4), B(LdaZero), B(StaContextSlot), R(1), U8(9), B(Mov), R(context), R(10), B(Mov), R(context), R(11), /* 30 S> */ B(CreateArrayLiteral), U8(1), U8(0), U8(3), B(Star), R(13), B(LdaConstant), U8(2), /* 30 E> */ B(LdrKeyedProperty), R(13), U8(3), R(12), /* 30 E> */ B(Call), R(12), R(13), U8(1), U8(1), /* 30 E> */ B(StaContextSlot), R(1), U8(7), B(LdaSmi), U8(-2), B(TestEqual), R(4), B(JumpIfTrue), U8(17), B(LdaSmi), U8(1), B(TestEqualStrict), R(4), B(JumpIfTrueConstant), U8(9), B(LdaSmi), U8(75), B(Star), R(12), B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), /* 27 S> */ B(LdrContextSlot), R(1), U8(7), R(14), B(LdrNamedProperty), R(14), U8(4), U8(7), R(13), /* 27 E> */ B(Call), R(13), R(14), U8(1), U8(5), /* 27 E> */ B(StaContextSlot), R(1), U8(8), B(Star), R(12), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(11), B(LdrContextSlot), R(1), U8(8), R(12), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), B(LdrContextSlot), R(1), U8(8), R(12), B(LdaNamedProperty), R(12), U8(5), U8(9), B(JumpIfToBooleanTrueConstant), U8(10), B(LdrContextSlot), R(1), U8(8), R(12), B(LdaNamedProperty), R(12), U8(6), U8(11), B(StaContextSlot), R(1), U8(10), B(LdaSmi), U8(2), B(StaContextSlot), R(1), U8(9), B(LdaContextSlot), R(1), U8(10), B(StaContextSlot), R(1), U8(6), /* 16 E> */ B(StackCheck), B(LdaConstant), U8(7), B(Star), R(12), B(Mov), R(closure), R(13), B(CallRuntime), U16(Runtime::kPushBlockContext), R(12), U8(2), B(PushContext), R(2), B(LdaTheHole), B(StaContextSlot), R(context), U8(4), B(LdaContextSlot), R(1), U8(6), B(StaContextSlot), R(context), U8(4), /* 36 S> */ B(LdaContextSlot), R(context), U8(4), B(JumpIfNotHole), U8(11), B(LdaConstant), U8(8), B(Star), R(13), B(CallRuntime), U16(Runtime::kThrowReferenceError), R(13), U8(1), B(Star), R(12), B(LdaFalse), B(Star), R(13), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(12), U8(2), B(Star), R(14), B(LdrContextSlot), R(1), U8(5), R(12), B(LdaSmi), U8(1), B(SuspendGenerator), R(12), B(Ldar), R(14), /* 44 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(4), B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), B(Star), R(13), B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), B(Star), R(15), B(LdaZero), B(TestEqualStrict), R(15), B(JumpIfTrue), U8(45), B(LdaSmi), U8(2), B(TestEqualStrict), R(15), B(JumpIfTrue), U8(36), B(Jump), U8(2), B(LdaTrue), B(Star), R(17), B(Mov), R(13), R(16), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(16), 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(PopContext), R(2), B(Star), R(9), B(LdaZero), B(Star), R(8), B(Jump), U8(75), B(Ldar), R(13), /* 36 E> */ B(Throw), B(Ldar), R(13), B(PopContext), R(2), B(LdaZero), B(StaContextSlot), R(1), U8(9), B(Wide), B(Jump), U16(-225), B(Jump), U8(46), B(Star), R(13), B(LdaConstant), U8(11), B(Star), R(12), B(Mov), R(closure), R(14), B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), B(Star), R(11), B(PushContext), R(2), B(LdrContextSlot), R(0), U8(9), R(12), B(LdaSmi), U8(2), B(TestEqualStrict), R(12), B(JumpIfFalse), U8(7), B(LdaSmi), U8(1), B(StaContextSlot), R(0), U8(9), B(LdrContextSlot), R(context), U8(4), R(12), B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), B(PopContext), R(2), B(LdaSmi), U8(-1), B(Star), R(8), B(Jump), U8(8), B(Star), R(9), B(LdaSmi), U8(1), B(Star), R(8), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(10), B(LdrContextSlot), R(1), U8(9), R(11), B(LdaZero), B(TestEqualStrict), R(11), B(JumpIfTrue), U8(9), B(LdrContextSlot), R(1), U8(7), R(11), B(LdaUndefined), B(TestEqualStrict), R(11), B(ToBooleanLogicalNot), B(JumpIfFalseConstant), U8(15), B(LdrContextSlot), R(1), U8(7), R(11), B(LdaNamedProperty), R(11), U8(12), U8(13), B(StaContextSlot), R(1), U8(11), B(LdrContextSlot), R(1), U8(11), R(11), B(LdaNull), B(TestEqual), R(11), B(JumpIfFalse), U8(4), B(Jump), U8(124), B(LdrContextSlot), R(1), U8(9), R(11), B(LdaSmi), U8(1), B(TestEqualStrict), R(11), B(JumpIfFalse), U8(78), B(LdaContextSlot), R(1), U8(11), B(TypeOf), B(Star), R(11), B(LdaConstant), U8(13), B(TestEqualStrict), R(11), B(JumpIfFalse), U8(4), B(Jump), U8(18), B(Wide), B(LdaSmi), U16(129), B(Star), R(11), B(LdaConstant), U8(14), B(Star), R(12), B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), B(Throw), B(Mov), R(context), R(11), B(LdrContextSlot), R(1), U8(11), R(12), B(LdrContextSlot), R(1), U8(7), R(13), B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), B(Jump), U8(29), B(Star), R(13), B(LdaConstant), U8(11), B(Star), R(12), B(Mov), R(closure), R(14), B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), B(Star), R(11), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Ldar), R(11), B(PushContext), R(2), B(PopContext), R(2), B(Jump), U8(38), B(LdrContextSlot), R(1), U8(11), R(11), B(LdrContextSlot), R(1), U8(7), R(12), B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), B(StaContextSlot), R(1), U8(12), B(LdrContextSlot), R(1), U8(12), R(11), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(11), B(LdrContextSlot), R(1), U8(12), R(11), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(10), U8(1), B(LdaZero), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(10), B(LdaSmi), U8(1), B(TestEqualStrict), R(8), B(JumpIfTrue), U8(17), B(Jump), U8(28), B(PopContext), R(1), B(PopContext), R(1), B(LdaSmi), U8(1), B(Star), R(5), B(Mov), R(9), R(6), B(Jump), U8(47), B(PopContext), R(1), B(PopContext), R(1), B(LdaSmi), U8(2), B(Star), R(5), B(Mov), R(9), R(6), B(Jump), U8(34), B(PopContext), R(1), B(LdrUndefined), R(8), B(LdaTrue), B(Star), R(9), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(8), U8(2), B(Star), R(6), B(LdaSmi), U8(3), B(Star), R(5), B(Jump), U8(14), B(LdaSmi), U8(-1), B(Star), R(5), B(Jump), U8(8), B(Star), R(6), B(LdaSmi), U8(4), B(Star), R(5), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(7), B(LdrContextSlot), R(context), U8(5), R(8), B(CallRuntime), U16(Runtime::k_GeneratorClose), R(8), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(7), U8(1), B(LdaZero), B(TestEqualStrict), R(5), B(JumpIfTrue), U8(28), B(LdaSmi), U8(1), B(TestEqualStrict), R(5), B(JumpIfTrue), U8(25), B(LdaSmi), U8(2), B(TestEqualStrict), R(5), B(JumpIfTrue), U8(22), B(LdaSmi), U8(3), B(TestEqualStrict), R(5), B(JumpIfTrue), U8(19), B(LdaSmi), U8(4), B(TestEqualStrict), R(5), B(JumpIfTrue), U8(16), B(Jump), U8(17), B(Ldar), R(6), /* 44 S> */ B(Return), B(Ldar), R(6), /* 44 S> */ B(Return), B(Ldar), R(6), B(ReThrow), B(Ldar), R(6), /* 44 S> */ B(Return), B(Ldar), R(6), B(ReThrow), B(LdaUndefined), /* 44 S> */ B(Return), ] constant pool: [ InstanceType::FIXED_ARRAY_TYPE, InstanceType::FIXED_ARRAY_TYPE, InstanceType::SYMBOL_TYPE, kInstanceTypeDontCare, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::FIXED_ARRAY_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, kInstanceTypeDontCare, kInstanceTypeDontCare, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, kInstanceTypeDontCare, kInstanceTypeDontCare, ] handlers: [ [44, 693, 699], [150, 447, 453], [153, 401, 403], [550, 562, 564], ]