# # Autogenerated by generate-bytecode-expectations. # --- wrap: no test function name: f --- snippet: " function f() { for (let x = 0; x < 10; ++x) { let y = x; } } f(); " frame size: 2 parameter count: 1 bytecode array length: 26 bytecodes: [ /* 10 E> */ B(StackCheck), /* 30 S> */ B(LdaZero), B(Star), R(1), /* 35 S> */ B(LdaSmi), I8(10), /* 35 E> */ B(TestLessThan), R(1), U8(0), B(JumpIfFalse), U8(15), /* 17 E> */ B(StackCheck), /* 56 S> */ B(Mov), R(1), R(0), /* 43 S> */ B(Ldar), R(0), B(Inc), U8(1), B(Star), R(1), B(JumpLoop), U8(17), I8(0), B(LdaUndefined), /* 61 S> */ B(Return), ] constant pool: [ ] handlers: [ ] --- snippet: " function f() { for (let x = 0; x < 10; ++x) { eval('1'); } } f(); " frame size: 15 parameter count: 1 bytecode array length: 168 bytecodes: [ B(CreateFunctionContext), U8(3), B(PushContext), R(4), B(Ldar), R(this), B(StaCurrentContextSlot), U8(4), B(CreateMappedArguments), B(StaCurrentContextSlot), U8(6), B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), /* 10 E> */ B(StackCheck), B(Ldar), R(closure), B(CreateBlockContext), U8(0), B(PushContext), R(5), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), /* 30 S> */ B(LdaZero), /* 30 E> */ B(StaCurrentContextSlot), U8(4), B(LdaCurrentContextSlot), U8(4), B(Star), R(0), B(LdaSmi), I8(1), B(Star), R(1), /* 59 E> */ B(StackCheck), B(Ldar), R(closure), B(CreateBlockContext), U8(1), B(PushContext), R(6), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), B(Ldar), R(0), B(StaCurrentContextSlot), U8(4), B(LdaSmi), I8(1), B(TestEqual), R(1), U8(0), B(JumpIfFalse), U8(7), B(LdaZero), B(Star), R(1), B(Jump), U8(8), /* 43 S> */ B(LdaCurrentContextSlot), U8(4), B(Inc), U8(1), /* 43 E> */ B(StaCurrentContextSlot), U8(4), B(LdaSmi), I8(1), B(Star), R(2), /* 35 S> */ B(LdaCurrentContextSlot), U8(4), B(Star), R(7), B(LdaSmi), I8(10), /* 35 E> */ B(TestLessThan), R(7), U8(2), B(JumpIfFalse), U8(4), B(Jump), U8(6), B(PopContext), R(6), B(Jump), U8(77), B(LdaSmi), I8(1), B(TestEqual), R(2), U8(3), B(JumpIfFalse), U8(54), /* 17 E> */ B(StackCheck), /* 48 S> */ B(LdaLookupGlobalSlot), U8(2), U8(6), U8(1), B(Star), R(7), B(LdaConstant), U8(3), B(Star), R(8), B(LdaZero), B(Star), R(12), B(LdaSmi), I8(31), B(Star), R(13), B(LdaSmi), I8(48), B(Star), R(14), B(Mov), R(7), R(9), B(Mov), R(8), R(10), B(Mov), R(closure), R(11), B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(9), U8(6), B(Star), R(7), /* 48 E> */ B(CallUndefinedReceiver1), R(7), R(8), U8(4), B(LdaZero), B(Star), R(2), B(LdaCurrentContextSlot), U8(4), B(Star), R(0), B(JumpLoop), U8(56), I8(1), B(LdaSmi), I8(1), /* 59 E> */ B(TestEqual), R(2), U8(8), B(JumpIfFalse), U8(6), B(PopContext), R(6), B(Jump), U8(7), B(PopContext), R(6), B(JumpLoop), U8(125), I8(0), B(PopContext), R(5), B(LdaUndefined), /* 61 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["1"], ] handlers: [ ] --- snippet: " function f() { for (let x = 0; x < 10; ++x) { (function() { return x; })(); } } f(); " frame size: 6 parameter count: 1 bytecode array length: 108 bytecodes: [ /* 10 E> */ B(StackCheck), /* 30 S> */ B(LdaZero), B(Star), R(0), B(Star), R(1), B(LdaSmi), I8(1), B(Star), R(2), /* 78 E> */ B(StackCheck), B(Ldar), R(closure), B(CreateBlockContext), U8(0), B(PushContext), R(4), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), B(Ldar), R(1), B(StaCurrentContextSlot), U8(4), B(LdaSmi), I8(1), B(TestEqual), R(2), U8(0), B(JumpIfFalse), U8(7), B(LdaZero), B(Star), R(2), B(Jump), U8(8), /* 43 S> */ B(LdaCurrentContextSlot), U8(4), B(Inc), U8(1), /* 43 E> */ B(StaCurrentContextSlot), U8(4), B(LdaSmi), I8(1), B(Star), R(3), /* 35 S> */ B(LdaCurrentContextSlot), U8(4), B(Star), R(5), B(LdaSmi), I8(10), /* 35 E> */ B(TestLessThan), R(5), U8(2), B(JumpIfFalse), U8(4), B(Jump), U8(6), B(PopContext), R(4), B(Jump), U8(45), B(LdaSmi), I8(1), B(TestEqual), R(3), U8(3), B(JumpIfFalse), U8(22), /* 17 E> */ B(StackCheck), /* 48 S> */ B(CreateClosure), U8(1), U8(6), U8(2), B(Star), R(5), /* 74 E> */ B(CallUndefinedReceiver0), R(5), U8(4), B(LdaZero), B(Star), R(3), B(LdaCurrentContextSlot), U8(4), B(Star), R(1), B(JumpLoop), U8(24), I8(1), B(LdaSmi), I8(1), /* 78 E> */ B(TestEqual), R(3), U8(7), B(JumpIfFalse), U8(6), B(PopContext), R(4), B(Jump), U8(7), B(PopContext), R(4), B(JumpLoop), U8(93), I8(0), B(LdaUndefined), /* 80 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, SHARED_FUNCTION_INFO_TYPE, ] handlers: [ ] --- snippet: " function f() { for (let { x, y } = { x: 0, y: 3 }; y > 0; --y) { let z = x + y; } } f(); " frame size: 6 parameter count: 1 bytecode array length: 68 bytecodes: [ /* 10 E> */ B(StackCheck), B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(4), B(Mov), R(4), R(3), B(Ldar), R(3), B(JumpIfUndefined), U8(6), B(Ldar), R(3), B(JumpIfNotNull), U8(16), B(LdaSmi), I8(67), B(Star), R(4), B(LdaConstant), U8(1), B(Star), R(5), B(CallRuntime), U16(Runtime::kNewTypeError), R(4), U8(2), /* 28 E> */ B(Throw), /* 37 S> */ B(LdaNamedProperty), R(3), U8(1), U8(3), B(Star), R(1), /* 37 S> */ B(LdaNamedProperty), R(3), U8(2), U8(5), B(Star), R(2), /* 55 S> */ B(LdaZero), /* 55 E> */ B(TestGreaterThan), R(2), U8(7), B(JumpIfFalse), U8(19), /* 17 E> */ B(StackCheck), /* 75 S> */ B(Ldar), R(2), /* 77 E> */ B(Add), R(1), U8(9), B(Star), R(0), /* 62 S> */ B(Ldar), R(2), B(Dec), U8(8), B(Star), R(2), B(JumpLoop), U8(20), I8(0), B(LdaUndefined), /* 84 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], ] handlers: [ ] --- snippet: " function* f() { for (let x = 0; x < 10; ++x) { let y = x; } } f(); " frame size: 6 parameter count: 1 bytecode array length: 96 bytecodes: [ B(Ldar), R(2), B(JumpIfUndefined), U8(18), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(2), U8(1), B(PushContext), R(4), B(RestoreGeneratorState), R(2), B(Star), R(3), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), B(Abort), U8(43), B(LdaSmi), I8(-2), B(Star), R(3), B(Mov), R(closure), R(4), B(Mov), R(this), R(5), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), B(Star), R(2), /* 11 E> */ B(StackCheck), /* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), U8(0), /* 62 S> */ B(Return), B(RestoreGeneratorRegisters), R(2), R(0), U8(4), B(LdaSmi), I8(-2), B(Star), R(3), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(2), U8(1), B(Star), R(4), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), B(Ldar), R(4), /* 11 E> */ B(Throw), B(Ldar), R(4), /* 62 S> */ B(Return), /* 31 S> */ B(LdaZero), B(Star), R(1), /* 36 S> */ B(LdaSmi), I8(10), /* 36 E> */ B(TestLessThan), R(1), U8(0), B(JumpIfFalse), U8(15), /* 18 E> */ B(StackCheck), /* 57 S> */ B(Mov), R(1), R(0), /* 44 S> */ B(Ldar), R(0), B(Inc), U8(1), B(Star), R(1), B(JumpLoop), U8(17), I8(0), B(LdaUndefined), /* 62 S> */ B(Return), ] constant pool: [ Smi [29], Smi [10], Smi [7], ] handlers: [ ] --- snippet: " function* f() { for (let x = 0; x < 10; ++x) yield x; } f(); " frame size: 5 parameter count: 1 bytecode array length: 151 bytecodes: [ B(Ldar), R(1), B(JumpIfUndefined), U8(18), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), B(PushContext), R(3), B(RestoreGeneratorState), R(1), B(Star), R(2), B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), B(Abort), U8(43), B(LdaSmi), I8(-2), B(Star), R(2), B(Mov), R(closure), R(3), B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(Star), R(1), /* 11 E> */ B(StackCheck), /* 11 E> */ B(SuspendGenerator), R(1), R(0), U8(3), U8(0), /* 56 S> */ B(Return), B(RestoreGeneratorRegisters), R(1), R(0), U8(3), B(LdaSmi), I8(-2), B(Star), R(2), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(3), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), B(Ldar), R(3), /* 11 E> */ B(Throw), B(Ldar), R(3), /* 56 S> */ B(Return), /* 31 S> */ B(LdaZero), B(Star), R(0), B(Ldar), R(2), B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1), B(LdaSmi), I8(-2), /* 31 E> */ B(TestEqualStrictNoFeedback), R(2), B(JumpIfTrue), U8(4), B(Abort), U8(43), /* 36 S> */ B(LdaSmi), I8(10), /* 36 E> */ B(TestLessThan), R(0), U8(0), B(JumpIfFalse), U8(56), /* 18 E> */ B(StackCheck), /* 47 S> */ B(LdaFalse), B(Star), R(4), B(Mov), R(0), R(3), B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), B(SuspendGenerator), R(1), R(0), U8(3), U8(1), /* 56 S> */ B(Return), B(RestoreGeneratorRegisters), R(1), R(0), U8(3), B(LdaSmi), I8(-2), B(Star), R(2), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(3), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), B(Ldar), R(3), /* 47 E> */ B(Throw), B(Ldar), R(3), /* 56 S> */ B(Return), /* 44 S> */ B(Ldar), R(0), B(Inc), U8(1), B(Star), R(0), B(JumpLoop), U8(72), I8(0), B(LdaUndefined), /* 56 S> */ B(Return), ] constant pool: [ Smi [29], Smi [60], Smi [10], Smi [7], Smi [36], Smi [10], Smi [7], ] handlers: [ ] --- snippet: " async function f() { for (let x = 0; x < 10; ++x) { let y = x; } } f(); " frame size: 12 parameter count: 1 bytecode array length: 137 bytecodes: [ /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), B(Star), R(3), B(Mov), R(context), R(6), B(Mov), R(context), R(7), /* 36 S> */ B(LdaZero), B(Star), R(1), /* 41 S> */ B(LdaSmi), I8(10), /* 41 E> */ B(TestLessThan), R(1), U8(0), B(JumpIfFalse), U8(15), /* 23 E> */ B(StackCheck), /* 62 S> */ B(Mov), R(1), R(0), /* 49 S> */ B(Ldar), R(0), B(Inc), U8(1), B(Star), R(1), B(JumpLoop), U8(17), I8(0), B(LdaUndefined), B(Star), R(9), B(Mov), R(3), R(8), /* 49 E> */ B(CallJSRuntime), U8(%promise_resolve), R(8), U8(2), B(LdaZero), B(Star), R(4), B(Mov), R(3), R(5), B(Jump), U8(58), B(Jump), U8(42), B(Star), R(8), B(Ldar), R(closure), B(CreateCatchContext), R(8), U8(0), U8(1), B(Star), R(7), B(LdaTheHole), B(SetPendingMessage), B(Ldar), R(7), B(PushContext), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(10), B(LdaFalse), B(Star), R(11), B(Mov), R(3), R(9), B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(3), B(PopContext), R(8), B(LdaZero), B(Star), R(4), B(Mov), R(3), R(5), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(5), B(Star), R(4), B(Jump), U8(8), B(Star), R(5), B(LdaSmi), I8(1), B(Star), R(4), B(LdaTheHole), B(SetPendingMessage), B(Star), R(6), B(CallJSRuntime), U8(%async_function_promise_release), R(3), U8(1), B(Ldar), R(6), B(SetPendingMessage), B(Ldar), R(4), B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), B(Jump), U8(8), B(Ldar), R(5), /* 67 S> */ B(Return), B(Ldar), R(5), B(ReThrow), B(LdaUndefined), /* 67 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, Smi [6], Smi [9], ] handlers: [ [10, 96, 104], [13, 54, 56], ] --- snippet: " async function f() { for (let x = 0; x < 10; ++x) await x; } f(); " frame size: 12 parameter count: 1 bytecode array length: 231 bytecodes: [ B(Ldar), R(1), B(JumpIfUndefined), U8(18), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), B(PushContext), R(4), B(RestoreGeneratorState), R(1), B(Star), R(3), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), B(Abort), U8(43), B(LdaSmi), I8(-2), B(Star), R(3), B(Mov), R(closure), R(4), B(Mov), R(this), R(5), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), B(Star), R(1), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), B(Star), R(2), B(Mov), R(context), R(6), B(Mov), R(context), R(7), /* 36 S> */ B(LdaZero), B(Star), R(0), B(Ldar), R(3), B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0), B(LdaSmi), I8(-2), /* 36 E> */ B(TestEqualStrictNoFeedback), R(3), B(JumpIfTrue), U8(4), B(Abort), U8(43), /* 41 S> */ B(LdaSmi), I8(10), /* 41 E> */ B(TestLessThan), R(0), U8(0), B(JumpIfFalse), U8(59), /* 23 E> */ B(StackCheck), /* 52 S> */ B(Mov), R(1), R(8), B(Mov), R(0), R(9), B(Mov), R(2), R(10), B(CallJSRuntime), U8(%async_function_await_uncaught), R(8), U8(3), B(SuspendGenerator), R(1), R(0), U8(8), U8(0), /* 61 S> */ B(Return), B(RestoreGeneratorRegisters), R(1), R(0), U8(8), B(LdaSmi), I8(-2), B(Star), R(3), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(8), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), B(Star), R(9), B(LdaZero), B(TestEqualStrictNoFeedback), R(9), B(JumpIfTrue), U8(5), B(Ldar), R(8), B(ReThrow), /* 49 S> */ B(Ldar), R(0), B(Inc), U8(1), B(Star), R(0), B(JumpLoop), U8(75), I8(0), B(LdaUndefined), B(Star), R(9), B(Mov), R(2), R(8), /* 49 E> */ B(CallJSRuntime), U8(%promise_resolve), R(8), U8(2), B(LdaZero), B(Star), R(4), B(Mov), R(2), R(5), B(Jump), U8(58), B(Jump), U8(42), B(Star), R(8), B(Ldar), R(closure), B(CreateCatchContext), R(8), U8(2), U8(3), B(Star), R(7), B(LdaTheHole), B(SetPendingMessage), B(Ldar), R(7), B(PushContext), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(10), B(LdaFalse), B(Star), R(11), B(Mov), R(2), R(9), B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(3), B(PopContext), R(8), B(LdaZero), B(Star), R(4), B(Mov), R(2), R(5), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(5), B(Star), R(4), B(Jump), U8(8), B(Star), R(5), B(LdaSmi), I8(1), B(Star), R(4), B(LdaTheHole), B(SetPendingMessage), B(Star), R(6), B(CallJSRuntime), U8(%async_function_promise_release), R(2), U8(1), B(Ldar), R(6), B(SetPendingMessage), B(Ldar), R(4), B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), B(Jump), U8(8), B(Ldar), R(5), /* 61 S> */ B(Return), B(Ldar), R(5), B(ReThrow), B(LdaUndefined), /* 61 S> */ B(Return), ] constant pool: [ Smi [38], Smi [39], ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, Smi [6], Smi [9], ] handlers: [ [46, 190, 198], [49, 148, 150], ]