# # Autogenerated by generate-bytecode-expectations. # --- pool type: mixed execute: yes wrap: no test function name: f ignition generators: yes --- snippet: " function* f() { } " frame size: 11 parameter count: 1 bytecode array length: 203 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(57), B(LdaSmi), U8(76), 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), B(Ldar), R(closure), B(Star), R(5), B(LdaContextSlot), R(context), U8(4), B(Star), R(6), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(5), B(LdaContextSlot), R(context), U8(5), B(Star), 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::kGeneratorGetInput), R(6), U8(1), B(Star), R(7), B(CallRuntime), U16(Runtime::kGeneratorGetResumeMode), 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(Mov), R(7), R(9), B(LdaTrue), B(Star), R(10), B(CallRuntime), U16(Runtime::kCreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaZero), B(Star), R(2), B(Jump), U8(36), B(Ldar), R(7), B(Throw), B(LdaUndefined), B(Star), 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(LdaContextSlot), R(context), U8(5), B(Star), R(5), B(CallRuntime), U16(Runtime::kGeneratorClose), 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, 139, 145], ] --- snippet: " function* f() { yield 42 } " frame size: 11 parameter count: 1 bytecode array length: 297 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(63), B(LdaSmi), U8(1), B(TestEqualStrict), R(1), B(JumpIfTrueConstant), U8(0), B(LdaSmi), U8(76), 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), B(Ldar), R(closure), B(Star), R(5), B(LdaContextSlot), R(context), U8(4), B(Star), R(6), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(5), B(LdaContextSlot), R(context), U8(5), B(Star), 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::kGeneratorGetInput), R(6), U8(1), B(Star), R(7), B(CallRuntime), U16(Runtime::kGeneratorGetResumeMode), 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(Mov), R(7), R(9), B(LdaTrue), B(Star), R(10), B(CallRuntime), U16(Runtime::kCreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaZero), B(Star), R(2), B(Jump), U8(115), B(Ldar), R(7), 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(LdaContextSlot), R(context), U8(5), B(Star), 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::kGeneratorGetInput), R(5), U8(1), B(Star), R(6), B(CallRuntime), U16(Runtime::kGeneratorGetResumeMode), 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(Mov), R(6), R(9), B(LdaTrue), B(Star), R(10), B(CallRuntime), U16(Runtime::kCreateIterResultObject), R(9), U8(2), B(Star), R(3), B(LdaSmi), U8(1), B(Star), R(2), B(Jump), U8(36), B(Ldar), R(6), B(Throw), B(LdaUndefined), B(Star), 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(LdaContextSlot), R(context), U8(5), B(Star), R(5), B(CallRuntime), U16(Runtime::kGeneratorClose), 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, 224, 230], ] --- snippet: " function* f() { for (let x of [42]) yield x } " frame size: 17 parameter count: 1 bytecode array length: 808 bytecodes: [ B(Ldar), R(new_target), B(JumpIfUndefined), U8(26), B(ResumeGenerator), R(new_target), B(Star), R(3), B(LdaZero), B(TestEqualStrict), R(3), B(JumpIfTrue), U8(63), B(LdaSmi), U8(1), B(TestEqualStrict), R(3), B(JumpIfTrueConstant), U8(3), B(LdaSmi), U8(76), B(Star), R(4), B(CallRuntime), U16(Runtime::kAbort), R(4), 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(6), B(Ldar), R(closure), B(Star), R(7), B(LdaContextSlot), R(context), U8(4), B(Star), R(8), B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(7), U8(2), B(StaContextSlot), R(context), U8(5), B(Star), R(7), B(LdaContextSlot), R(context), U8(5), B(Star), R(8), B(LdaZero), B(SuspendGenerator), R(8), B(Ldar), R(7), /* 44 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(3), B(CallRuntime), U16(Runtime::kGeneratorGetInput), R(8), U8(1), B(Star), R(9), B(CallRuntime), U16(Runtime::kGeneratorGetResumeMode), R(8), U8(1), B(Star), R(10), B(LdaZero), B(TestEqualStrict), R(10), B(JumpIfTrue), U8(31), B(LdaSmi), U8(2), B(TestEqualStrict), R(10), B(JumpIfTrue), U8(22), B(Jump), U8(2), B(Mov), R(9), R(11), B(LdaTrue), B(Star), R(12), B(CallRuntime), U16(Runtime::kCreateIterResultObject), R(11), U8(2), B(Star), R(5), B(LdaZero), B(Star), R(4), B(JumpConstant), U8(17), B(Ldar), R(9), B(Throw), B(LdaConstant), U8(0), B(Star), R(7), B(Ldar), R(closure), B(Star), R(8), B(CallRuntime), U16(Runtime::kPushBlockContext), R(7), U8(2), B(PushContext), R(1), B(LdaTheHole), B(StaContextSlot), R(context), U8(4), B(LdaUndefined), B(StaContextSlot), R(1), U8(10), B(LdaZero), B(StaContextSlot), R(1), U8(9), B(Mov), R(context), R(9), B(Mov), R(context), R(10), /* 30 S> */ B(CreateArrayLiteral), U8(1), U8(0), U8(3), B(Star), R(12), /* 30 E> */ B(LdaConstant), U8(2), B(KeyedLoadIC), R(12), U8(3), B(Star), R(11), /* 30 E> */ B(Call), R(11), R(12), U8(1), U8(1), /* 30 E> */ B(StaContextSlot), R(1), U8(7), B(LdaSmi), U8(-2), B(TestEqual), R(3), B(JumpIfTrue), U8(17), B(LdaSmi), U8(1), B(TestEqualStrict), R(3), B(JumpIfTrueConstant), U8(9), B(LdaSmi), U8(76), B(Star), R(11), B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), /* 27 S> */ B(LdaContextSlot), R(1), U8(7), B(Star), R(13), B(LoadIC), R(13), U8(4), U8(7), B(Star), R(12), /* 27 E> */ B(Call), R(12), R(13), U8(1), U8(5), /* 27 E> */ B(StaContextSlot), R(1), U8(8), B(Star), R(11), B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(11), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(12), B(LdaContextSlot), R(1), U8(8), B(Star), R(11), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(LdaContextSlot), R(1), U8(8), B(Star), R(11), B(LoadIC), R(11), U8(5), U8(9), B(JumpIfToBooleanTrueConstant), U8(10), B(LdaSmi), U8(2), B(StaContextSlot), R(1), U8(9), B(LdaContextSlot), R(1), U8(8), B(Star), R(11), B(LoadIC), R(11), U8(6), U8(11), B(StaContextSlot), R(1), U8(6), B(LdaContextSlot), R(1), U8(10), /* 16 E> */ B(StackCheck), B(LdaConstant), U8(7), B(Star), R(11), B(Ldar), R(closure), B(Star), R(12), B(CallRuntime), U16(Runtime::kPushBlockContext), R(11), 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(12), B(CallRuntime), U16(Runtime::kThrowReferenceError), R(12), U8(1), B(Star), R(11), B(LdaFalse), B(Star), R(12), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(11), U8(2), B(Star), R(13), B(LdaContextSlot), R(1), U8(5), B(Star), R(11), B(LdaSmi), U8(1), B(SuspendGenerator), R(11), B(Ldar), R(13), /* 44 S> */ B(Return), B(LdaSmi), U8(-2), B(Star), R(3), B(CallRuntime), U16(Runtime::kGeneratorGetInput), R(11), U8(1), B(Star), R(12), B(CallRuntime), U16(Runtime::kGeneratorGetResumeMode), R(11), U8(1), B(Star), R(14), B(LdaZero), B(TestEqualStrict), R(14), B(JumpIfTrue), U8(45), B(LdaSmi), U8(2), B(TestEqualStrict), R(14), B(JumpIfTrue), U8(36), B(Jump), U8(2), B(Mov), R(12), R(15), B(LdaTrue), B(Star), R(16), B(CallRuntime), U16(Runtime::kCreateIterResultObject), R(15), 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(8), B(LdaZero), B(Star), R(7), B(Jump), U8(78), B(Ldar), R(12), B(Throw), B(Ldar), R(12), B(PopContext), R(2), B(LdaZero), B(StaContextSlot), R(1), U8(9), B(Wide), B(Jump), U16(-230), B(Jump), U8(49), B(Star), R(12), B(LdaConstant), U8(11), B(Star), R(11), B(Ldar), R(closure), B(Star), R(13), B(CallRuntime), U16(Runtime::kPushCatchContext), R(11), U8(3), B(Star), R(10), B(PushContext), R(2), B(LdaContextSlot), R(1), U8(9), B(Star), R(11), B(LdaSmi), U8(2), B(TestEqualStrict), R(11), B(JumpIfFalse), U8(7), B(LdaSmi), U8(1), B(StaContextSlot), R(1), U8(9), B(LdaContextSlot), R(context), U8(4), B(Star), R(11), B(CallRuntime), U16(Runtime::kReThrow), R(11), U8(1), B(PopContext), R(2), B(LdaSmi), U8(-1), B(Star), R(7), B(Jump), U8(8), B(Star), R(8), B(LdaSmi), U8(1), B(Star), R(7), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(9), B(LdaContextSlot), R(1), U8(9), B(Star), R(10), B(LdaZero), B(TestEqualStrict), R(10), B(JumpIfTrue), U8(10), B(LdaContextSlot), R(1), U8(7), B(Star), R(10), B(LdaUndefined), B(TestEqualStrict), R(10), B(ToBooleanLogicalNot), B(JumpIfFalseConstant), U8(16), B(LdaContextSlot), R(1), U8(7), B(Star), R(10), B(LoadIC), R(10), U8(12), U8(13), B(StaContextSlot), R(1), U8(11), B(LdaContextSlot), R(1), U8(11), B(Star), R(10), B(LdaNull), B(TestEqual), R(10), B(JumpIfFalse), U8(4), B(JumpConstant), U8(15), B(LdaContextSlot), R(1), U8(9), B(Star), R(10), B(LdaSmi), U8(1), B(TestEqualStrict), R(10), B(JumpIfFalse), U8(82), B(LdaContextSlot), R(1), U8(11), B(TypeOf), B(Star), R(10), B(LdaConstant), U8(13), B(TestEqualStrict), R(10), B(JumpIfFalse), U8(4), B(Jump), U8(18), B(Wide), B(LdaSmi), U16(129), B(Star), R(10), B(LdaConstant), U8(14), B(Star), R(11), B(CallRuntime), U16(Runtime::kNewTypeError), R(10), U8(2), B(Throw), B(Mov), R(context), R(10), B(LdaContextSlot), R(1), U8(11), B(Star), R(11), B(LdaContextSlot), R(1), U8(7), B(Star), R(12), B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2), B(Jump), U8(30), B(Star), R(12), B(LdaConstant), U8(11), B(Star), R(11), B(Ldar), R(closure), B(Star), R(13), B(CallRuntime), U16(Runtime::kPushCatchContext), R(11), U8(3), B(Star), R(10), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Ldar), R(10), B(PushContext), R(2), B(PopContext), R(2), B(Jump), U8(44), B(LdaContextSlot), R(1), U8(11), B(Star), R(10), B(LdaContextSlot), R(1), U8(7), B(Star), R(11), B(CallRuntime), U16(Runtime::k_Call), R(10), U8(2), B(StaContextSlot), R(1), U8(12), B(LdaContextSlot), R(1), U8(12), B(Star), R(10), B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(10), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(12), B(LdaContextSlot), R(1), U8(12), B(Star), R(10), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(9), U8(1), B(LdaZero), B(TestEqualStrict), R(7), B(JumpIfTrue), U8(10), B(LdaSmi), U8(1), B(TestEqualStrict), R(7), B(JumpIfTrue), U8(18), B(Jump), U8(30), B(Ldar), R(8), B(PopContext), R(1), B(PopContext), R(1), B(Star), R(5), B(LdaSmi), U8(1), B(Star), R(4), B(Jump), U8(49), B(Ldar), R(8), B(PopContext), R(1), B(PopContext), R(1), B(Star), R(5), B(LdaSmi), U8(2), B(Star), R(4), B(Jump), U8(35), B(PopContext), R(1), B(LdaUndefined), B(Star), R(7), B(LdaTrue), B(Star), R(8), B(CallRuntime), U16(Runtime::k_CreateIterResultObject), R(7), U8(2), B(Star), R(5), B(LdaSmi), U8(3), B(Star), R(4), B(Jump), U8(14), B(LdaSmi), U8(-1), B(Star), R(4), B(Jump), U8(8), B(Star), R(5), B(LdaSmi), U8(4), B(Star), R(4), B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0), B(Star), R(6), B(LdaContextSlot), R(context), U8(5), B(Star), R(7), B(CallRuntime), U16(Runtime::kGeneratorClose), R(7), U8(1), B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(6), U8(1), B(LdaZero), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(28), B(LdaSmi), U8(1), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(25), B(LdaSmi), U8(2), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(22), B(LdaSmi), U8(3), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(19), B(LdaSmi), U8(4), B(TestEqualStrict), R(4), B(JumpIfTrue), U8(16), B(Jump), U8(17), B(Ldar), R(5), /* 44 S> */ B(Return), B(Ldar), R(5), /* 44 S> */ B(Return), B(Ldar), R(5), B(ReThrow), B(Ldar), R(5), /* 44 S> */ B(Return), B(Ldar), R(5), 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, kInstanceTypeDontCare, ] handlers: [ [44, 726, 732], [156, 462, 468], [159, 413, 415], [570, 585, 587], ]