Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Unified Diff: test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden

Issue 2898163002: Make non-Module generators only context allocate parameters. (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
diff --git a/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
index 382eabfc3424372b001904de76a1b8b23c3f513a..d9b0cb74a255484bb131f3d34d098db5079664f4 100644
--- a/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
+++ b/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
@@ -271,172 +271,132 @@ snippet: "
}
f();
"
-frame size: 14
+frame size: 17
parameter count: 1
-bytecode array length: 331
+bytecode array length: 243
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
- B(PushContext), R(5),
+ B(PushContext), R(8),
B(ResumeGenerator), R(new_target),
- B(Star), R(4),
+ B(Star), R(7),
B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
B(LdaSmi), I8(79),
- B(Star), R(6),
- B(CallRuntime), U16(Runtime::kAbort), R(6), U8(1),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
B(LdaSmi), I8(-2),
- B(Star), R(4),
- B(CreateFunctionContext), U8(4),
- B(PushContext), R(0),
- B(Mov), R(closure), R(6),
- B(Mov), R(this), R(7),
- B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(6), U8(2),
- B(StaCurrentContextSlot), U8(4),
+ B(Star), R(7),
+ B(Mov), R(closure), R(9),
+ B(Mov), R(this), R(10),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(9), U8(2),
+ B(Star), R(3),
/* 11 E> */ B(StackCheck),
- B(Mov), R(context), R(8),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(9),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(10),
+ B(Mov), R(context), R(11),
B(LdaZero),
- /* 11 E> */ B(SuspendGenerator), R(9), U8(0),
- B(Ldar), R(10),
+ B(Mov), R(3), R(13),
+ B(Mov), R(3), R(12),
+ /* 11 E> */ B(SuspendGenerator), R(12), U8(0),
+ B(Ldar), R(13),
/* 62 S> */ B(Return),
B(LdaSmi), I8(-2),
- B(Star), R(4),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
- B(Star), R(10),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
- B(Star), R(11),
+ B(Star), R(7),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1),
+ B(Star), R(14),
B(LdaZero),
- B(TestEqualStrictNoFeedback), R(11),
+ B(TestEqualStrictNoFeedback), R(14),
B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2),
- B(TestEqualStrictNoFeedback), R(11),
+ B(TestEqualStrictNoFeedback), R(14),
B(JumpIfTrue), U8(19),
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(7),
+ B(Star), R(16),
+ B(Mov), R(13), R(15),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2),
+ B(Star), R(10),
B(LdaZero),
- B(Star), R(6),
- B(Jump), U8(192),
- B(Ldar), R(10),
+ B(Star), R(9),
+ B(Jump), U8(114),
+ B(Ldar), R(13),
/* 11 E> */ B(Throw),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(1),
- B(PushContext), R(1),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
/* 31 S> */ B(LdaZero),
- /* 31 E> */ B(StaCurrentContextSlot), U8(4),
- B(LdaImmutableCurrentContextSlot), U8(4),
- /* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(2),
+ B(Star), R(4),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(6), U8(0),
- B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(2),
- B(PushContext), R(2),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(5), U8(0),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(9),
+ B(Star), R(5),
+ /* 60 E> */ B(StackCheck),
+ B(Mov), R(4), R(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(3),
- B(JumpIfFalse), U8(9),
+ B(TestEqual), R(5), U8(3),
+ B(JumpIfFalse), U8(7),
B(LdaZero),
- B(StaContextSlot), R(1), U8(6), U8(0),
+ B(Star), R(5),
B(Jump), U8(8),
- /* 44 S> */ B(LdaCurrentContextSlot), U8(4),
+ /* 44 S> */ B(Ldar), R(1),
B(Inc), U8(4),
- /* 44 E> */ B(StaCurrentContextSlot), U8(4),
+ B(Star), R(1),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(7), U8(0),
- /* 36 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Star), R(9),
- B(LdaSmi), I8(10),
- /* 36 E> */ B(TestLessThan), R(9), U8(5),
+ B(Star), R(6),
+ /* 36 S> */ B(LdaSmi), I8(10),
+ /* 36 E> */ B(TestLessThan), R(1), U8(5),
B(JumpIfFalse), U8(4),
- B(Jump), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(69),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(9),
+ B(Jump), U8(4),
+ B(Jump), U8(36),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(6),
- B(JumpIfFalse), U8(34),
+ B(TestEqual), R(6), U8(6),
+ B(JumpIfFalse), U8(17),
/* 18 E> */ B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(3),
- B(PushContext), R(3),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- /* 57 S> */ B(LdaContextSlot), R(3), U8(4), U8(0),
- /* 57 E> */ B(StaCurrentContextSlot), U8(4),
- B(PopContext), R(3),
+ /* 57 S> */ B(Mov), R(1), R(0),
B(LdaZero),
- B(StaContextSlot), R(1), U8(7), U8(0),
- B(LdaCurrentContextSlot), U8(4),
- /* 60 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
- B(JumpLoop), U8(42), I8(1),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(9),
+ B(Star), R(6),
+ B(Mov), R(0), R(4),
+ B(Ldar), R(0),
+ B(JumpLoop), U8(19), I8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(7),
- B(JumpIfFalse), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(7),
- B(PopContext), R(2),
- B(JumpLoop), U8(129), I8(0),
- B(PopContext), R(1),
+ /* 60 E> */ B(TestEqual), R(6), U8(7),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(5),
+ B(JumpLoop), U8(68), I8(0),
B(LdaUndefined),
- B(Star), R(9),
+ B(Star), R(12),
B(LdaTrue),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
B(Star), R(10),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2),
- B(Star), R(7),
B(LdaZero),
- B(Star), R(6),
+ B(Star), R(9),
B(Jump), U8(14),
B(LdaSmi), I8(-1),
- B(Star), R(6),
+ B(Star), R(9),
B(Jump), U8(8),
- B(Star), R(7),
+ B(Star), R(10),
B(LdaSmi), I8(1),
- B(Star), R(6),
+ B(Star), R(9),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(8),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(9),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(9), U8(1),
- B(Ldar), R(8),
+ B(Star), R(11),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(3), U8(1),
+ B(Ldar), R(11),
B(SetPendingMessage),
- B(Ldar), R(6),
- B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0),
+ B(Ldar), R(9),
+ B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(7),
+ B(Ldar), R(10),
/* 62 S> */ B(Return),
- B(Ldar), R(7),
+ B(Ldar), R(10),
B(ReThrow),
B(LdaUndefined),
/* 62 S> */ B(Return),
]
constant pool: [
- Smi [52],
- FIXED_ARRAY_TYPE,
- FIXED_ARRAY_TYPE,
- FIXED_ARRAY_TYPE,
+ Smi [46],
Smi [6],
Smi [9],
]
handlers: [
- [51, 288, 294],
+ [47, 204, 210],
]
---
@@ -446,218 +406,182 @@ snippet: "
}
f();
"
-frame size: 13
+frame size: 16
parameter count: 1
-bytecode array length: 432
+bytecode array length: 352
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
- B(PushContext), R(4),
+ B(PushContext), R(7),
B(ResumeGenerator), R(new_target),
- B(Star), R(3),
+ B(Star), R(6),
B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
B(LdaSmi), I8(79),
- B(Star), R(5),
- B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
+ B(Star), R(8),
+ B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
B(LdaSmi), I8(-2),
- B(Star), R(3),
- B(CreateFunctionContext), U8(4),
- B(PushContext), R(0),
- B(Mov), R(closure), R(5),
- B(Mov), R(this), R(6),
- B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
- B(StaCurrentContextSlot), U8(4),
+ B(Star), R(6),
+ B(Mov), R(closure), R(8),
+ B(Mov), R(this), R(9),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(8), U8(2),
+ B(Star), R(2),
/* 11 E> */ B(StackCheck),
- B(Mov), R(context), R(7),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(8),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(9),
+ B(Mov), R(context), R(10),
B(LdaZero),
- /* 11 E> */ B(SuspendGenerator), R(8), U8(0),
- B(Ldar), R(9),
+ B(Mov), R(2), R(12),
+ B(Mov), R(2), R(11),
+ /* 11 E> */ B(SuspendGenerator), R(11), U8(0),
+ B(Ldar), R(12),
/* 56 S> */ B(Return),
B(LdaSmi), I8(-2),
- B(Star), R(3),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
- B(Star), R(9),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
- B(Star), R(10),
+ B(Star), R(6),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1),
+ B(Star), R(13),
B(LdaZero),
- B(TestEqualStrictNoFeedback), R(10),
+ B(TestEqualStrictNoFeedback), R(13),
B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2),
- B(TestEqualStrictNoFeedback), R(10),
+ B(TestEqualStrictNoFeedback), R(13),
B(JumpIfTrue), U8(19),
B(LdaTrue),
- B(Star), R(12),
- B(Mov), R(9), R(11),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
- B(Star), R(6),
+ B(Star), R(15),
+ B(Mov), R(12), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(5),
- B(JumpConstant), U8(6),
- B(Ldar), R(9),
+ B(Star), R(8),
+ B(Jump), U8(223),
+ B(Ldar), R(12),
/* 11 E> */ B(Throw),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(2),
- B(PushContext), R(1),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
/* 31 S> */ B(LdaZero),
- /* 31 E> */ B(StaCurrentContextSlot), U8(4),
- B(LdaImmutableCurrentContextSlot), U8(4),
- /* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(1),
+ B(Star), R(3),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(6), U8(0),
- B(Ldar), R(3),
- B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1),
+ B(Star), R(4),
+ B(Ldar), R(6),
+ B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(1),
B(LdaSmi), I8(-2),
- B(TestEqualStrictNoFeedback), R(3),
+ /* 54 E> */ B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(11),
B(LdaSmi), I8(79),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1),
B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(4),
- B(PushContext), R(2),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(5), U8(0),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(8),
+ B(Mov), R(3), R(0),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(3),
- B(JumpIfFalse), U8(9),
+ B(TestEqual), R(4), U8(3),
+ B(JumpIfFalse), U8(7),
B(LdaZero),
- B(StaContextSlot), R(1), U8(6), U8(0),
+ B(Star), R(4),
B(Jump), U8(8),
- /* 44 S> */ B(LdaCurrentContextSlot), U8(4),
+ /* 44 S> */ B(Ldar), R(0),
B(Inc), U8(4),
- /* 44 E> */ B(StaCurrentContextSlot), U8(4),
+ B(Star), R(0),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(7), U8(0),
- /* 36 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Star), R(8),
- B(LdaSmi), I8(10),
- /* 36 E> */ B(TestLessThan), R(8), U8(5),
+ B(Star), R(5),
+ /* 36 S> */ B(LdaSmi), I8(10),
+ /* 36 E> */ B(TestLessThan), R(0), U8(5),
B(JumpIfFalse), U8(4),
- B(Jump), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(149),
- B(Ldar), R(3),
- B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1),
+ B(Jump), U8(4),
+ B(Jump), U8(124),
+ B(Ldar), R(6),
+ B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1),
B(LdaSmi), I8(-2),
- B(TestEqualStrictNoFeedback), R(3),
+ B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(11),
B(LdaSmi), I8(79),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(8),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(6),
- B(JumpIfFalse), U8(93),
+ B(TestEqual), R(5), U8(6),
+ B(JumpIfFalse), U8(84),
/* 18 E> */ B(StackCheck),
- /* 47 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
- B(Star), R(8),
- B(LdaCurrentContextSlot), U8(4),
- B(Star), R(9),
- B(LdaFalse),
- B(Star), R(10),
- /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2),
- B(Star), R(9),
+ /* 47 S> */ B(LdaFalse),
+ B(Star), R(13),
+ B(Mov), R(0), R(12),
+ /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
+ B(Star), R(12),
B(LdaSmi), I8(1),
- B(SuspendGenerator), R(8), U8(0),
- B(Ldar), R(9),
+ B(Mov), R(2), R(11),
+ B(SuspendGenerator), R(11), U8(0),
+ B(Ldar), R(12),
/* 56 S> */ B(Return),
B(LdaSmi), I8(-2),
- B(Star), R(3),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1),
- B(Star), R(9),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1),
- B(Star), R(10),
+ B(Star), R(6),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1),
+ B(Star), R(13),
B(LdaZero),
- B(TestEqualStrictNoFeedback), R(10),
- B(JumpIfTrue), U8(30),
+ B(TestEqualStrictNoFeedback), R(13),
+ B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2),
- B(TestEqualStrictNoFeedback), R(10),
- B(JumpIfTrue), U8(21),
+ B(TestEqualStrictNoFeedback), R(13),
+ B(JumpIfTrue), U8(19),
B(LdaTrue),
- B(Star), R(12),
- B(Mov), R(9), R(11),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
- B(PopContext), R(1),
- B(Star), R(6),
+ B(Star), R(15),
+ B(Mov), R(12), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(5),
- B(Jump), U8(72),
- B(Ldar), R(9),
+ B(Star), R(8),
+ B(Jump), U8(57),
+ B(Ldar), R(12),
/* 47 E> */ B(Throw),
B(LdaZero),
- B(StaContextSlot), R(1), U8(7), U8(0),
- B(LdaCurrentContextSlot), U8(4),
- /* 54 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
- B(JumpLoop), U8(122), I8(1),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(8),
+ B(Star), R(5),
+ B(Mov), R(0), R(3),
+ B(Ldar), R(0),
+ B(JumpLoop), U8(107), I8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(7),
- B(JumpIfFalse), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(7),
- B(PopContext), R(2),
- B(JumpLoop), U8(230), I8(0),
- B(PopContext), R(1),
+ /* 54 E> */ B(TestEqual), R(5), U8(7),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(5),
+ B(JumpLoop), U8(177), I8(0),
B(LdaUndefined),
- B(Star), R(8),
+ B(Star), R(11),
B(LdaTrue),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
B(Star), R(9),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2),
- B(Star), R(6),
B(LdaZero),
- B(Star), R(5),
+ B(Star), R(8),
B(Jump), U8(14),
B(LdaSmi), I8(-1),
- B(Star), R(5),
+ B(Star), R(8),
B(Jump), U8(8),
- B(Star), R(6),
+ B(Star), R(9),
B(LdaSmi), I8(1),
- B(Star), R(5),
+ B(Star), R(8),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(7),
- B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(8),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(8), U8(1),
- B(Ldar), R(7),
+ B(Star), R(10),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1),
+ B(Ldar), R(10),
B(SetPendingMessage),
- B(Ldar), R(5),
- B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0),
+ B(Ldar), R(8),
+ B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(6),
+ B(Ldar), R(9),
/* 56 S> */ B(Return),
- B(Ldar), R(6),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaUndefined),
/* 56 S> */ B(Return),
]
constant pool: [
- Smi [52],
- Smi [123],
- FIXED_ARRAY_TYPE,
- Smi [84],
- FIXED_ARRAY_TYPE,
- Smi [60],
- Smi [293],
+ Smi [46],
+ Smi [102],
+ Smi [56],
+ Smi [50],
Smi [6],
Smi [9],
]
handlers: [
- [51, 389, 395],
+ [47, 313, 319],
]
---
@@ -667,162 +591,121 @@ snippet: "
}
f();
"
-frame size: 12
+frame size: 17
parameter count: 1
-bytecode array length: 298
+bytecode array length: 207
bytecodes: [
- B(CreateFunctionContext), U8(5),
- B(PushContext), R(0),
/* 16 E> */ B(StackCheck),
B(LdaUndefined),
- B(Star), R(4),
- B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1),
- B(StaCurrentContextSlot), U8(8),
- B(Mov), R(context), R(6),
- B(Mov), R(context), R(7),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(0),
- B(PushContext), R(1),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
+ B(Star), R(9),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(9), U8(1),
+ B(Star), R(7),
+ B(Mov), R(context), R(11),
+ B(Mov), R(context), R(12),
/* 36 S> */ B(LdaZero),
- /* 36 E> */ B(StaCurrentContextSlot), U8(4),
- B(LdaImmutableCurrentContextSlot), U8(4),
- /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(2),
+ B(Star), R(4),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(6), U8(0),
- B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(1),
- B(PushContext), R(2),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(5), U8(0),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(8),
+ B(Star), R(5),
+ /* 65 E> */ B(StackCheck),
+ B(Mov), R(4), R(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(3),
- B(JumpIfFalse), U8(9),
+ B(TestEqual), R(5), U8(3),
+ B(JumpIfFalse), U8(7),
B(LdaZero),
- B(StaContextSlot), R(1), U8(6), U8(0),
+ B(Star), R(5),
B(Jump), U8(8),
- /* 49 S> */ B(LdaCurrentContextSlot), U8(4),
+ /* 49 S> */ B(Ldar), R(1),
B(Inc), U8(4),
- /* 49 E> */ B(StaCurrentContextSlot), U8(4),
+ B(Star), R(1),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(7), U8(0),
- /* 41 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Star), R(8),
- B(LdaSmi), I8(10),
- /* 41 E> */ B(TestLessThan), R(8), U8(5),
+ B(Star), R(6),
+ /* 41 S> */ B(LdaSmi), I8(10),
+ /* 41 E> */ B(TestLessThan), R(1), U8(5),
B(JumpIfFalse), U8(4),
- B(Jump), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(69),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(8),
+ B(Jump), U8(4),
+ B(Jump), U8(36),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(6),
- B(JumpIfFalse), U8(34),
+ B(TestEqual), R(6), U8(6),
+ B(JumpIfFalse), U8(17),
/* 23 E> */ B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(2),
- B(PushContext), R(3),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- /* 62 S> */ B(LdaContextSlot), R(3), U8(4), U8(0),
- /* 62 E> */ B(StaCurrentContextSlot), U8(4),
- B(PopContext), R(3),
+ /* 62 S> */ B(Mov), R(1), R(0),
B(LdaZero),
- B(StaContextSlot), R(1), U8(7), U8(0),
- B(LdaCurrentContextSlot), U8(4),
- /* 65 E> */ B(StaContextSlot), R(1), U8(5), U8(0),
- B(JumpLoop), U8(42), I8(1),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(Star), R(8),
+ B(Star), R(6),
+ B(Mov), R(0), R(4),
+ B(Ldar), R(0),
+ B(JumpLoop), U8(19), I8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(8), U8(7),
- B(JumpIfFalse), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(7),
- B(PopContext), R(2),
- B(JumpLoop), U8(129), I8(0),
- B(PopContext), R(1),
+ /* 65 E> */ B(TestEqual), R(6), U8(7),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(5),
+ B(JumpLoop), U8(68), I8(0),
B(LdaUndefined),
- B(Star), R(8),
- B(LdaCurrentContextSlot), U8(8),
- B(Star), R(9),
+ B(Star), R(13),
B(LdaUndefined),
- B(Star), R(10),
- B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3),
- B(LdaCurrentContextSlot), U8(8),
- B(Star), R(5),
+ B(Star), R(15),
+ B(Mov), R(7), R(14),
+ B(CallJSRuntime), U8(%promise_resolve), R(13), U8(3),
B(LdaZero),
- B(Star), R(4),
- B(Jump), U8(65),
- B(Jump), U8(51),
- B(Star), R(8),
+ B(Star), R(9),
+ B(Mov), R(7), R(10),
+ B(Jump), U8(59),
+ B(Jump), U8(45),
+ B(Star), R(13),
B(Ldar), R(closure),
- B(CreateCatchContext), R(8), U8(3), U8(4),
- B(Star), R(7),
+ B(CreateCatchContext), R(13), U8(0), U8(1),
+ B(Star), R(12),
B(LdaTheHole),
B(SetPendingMessage),
- B(Ldar), R(7),
- B(PushContext), R(1),
+ B(Ldar), R(12),
+ B(PushContext), R(8),
B(LdaUndefined),
- B(Star), R(8),
- B(LdaContextSlot), R(1), U8(8), U8(0),
- B(Star), R(9),
+ B(Star), R(13),
B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(10),
+ B(Star), R(15),
B(LdaFalse),
- B(Star), R(11),
- B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4),
- B(LdaContextSlot), R(1), U8(8), U8(0),
- B(PopContext), R(1),
- B(Star), R(5),
+ B(Star), R(16),
+ B(Mov), R(7), R(14),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(13), U8(4),
+ B(PopContext), R(8),
B(LdaZero),
- B(Star), R(4),
+ B(Star), R(9),
+ B(Mov), R(7), R(10),
B(Jump), U8(14),
B(LdaSmi), I8(-1),
- B(Star), R(4),
+ B(Star), R(9),
B(Jump), U8(8),
- B(Star), R(5),
+ B(Star), R(10),
B(LdaSmi), I8(1),
- B(Star), R(4),
+ B(Star), R(9),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(6),
+ B(Star), R(11),
B(LdaUndefined),
- B(Star), R(7),
- B(LdaCurrentContextSlot), U8(8),
- B(Star), R(8),
- B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(2),
- B(Ldar), R(6),
+ B(Star), R(12),
+ B(Mov), R(7), R(13),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8(2),
+ B(Ldar), R(11),
B(SetPendingMessage),
- B(Ldar), R(4),
- B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0),
+ B(Ldar), R(9),
+ B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(5),
+ B(Ldar), R(10),
/* 67 S> */ B(Return),
- B(Ldar), R(5),
+ B(Ldar), R(10),
B(ReThrow),
B(LdaUndefined),
/* 67 S> */ B(Return),
]
constant pool: [
- FIXED_ARRAY_TYPE,
- FIXED_ARRAY_TYPE,
- FIXED_ARRAY_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
Smi [6],
Smi [9],
]
handlers: [
- [17, 252, 258],
- [20, 201, 203],
+ [13, 162, 168],
+ [16, 117, 119],
]
---
@@ -832,229 +715,190 @@ snippet: "
}
f();
"
-frame size: 14
+frame size: 20
parameter count: 1
-bytecode array length: 465
+bytecode array length: 369
bytecodes: [
B(Ldar), R(new_target),
B(JumpIfUndefined), U8(25),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
- B(PushContext), R(4),
+ B(PushContext), R(10),
B(ResumeGenerator), R(new_target),
- B(Star), R(3),
+ B(Star), R(9),
B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
B(LdaSmi), I8(79),
- B(Star), R(5),
- B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1),
B(LdaSmi), I8(-2),
- B(Star), R(3),
- B(CreateFunctionContext), U8(6),
- B(PushContext), R(0),
- B(Mov), R(closure), R(5),
- B(Mov), R(this), R(6),
- B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2),
- B(StaCurrentContextSlot), U8(4),
+ B(Star), R(9),
+ B(Mov), R(closure), R(11),
+ B(Mov), R(this), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(11), U8(2),
+ B(Star), R(2),
/* 16 E> */ B(StackCheck),
B(LdaUndefined),
- B(Star), R(5),
- B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
- B(StaCurrentContextSlot), U8(6),
- B(Mov), R(context), R(7),
- B(Mov), R(context), R(8),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(1),
- B(PushContext), R(1),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
+ B(Star), R(11),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(11), U8(1),
+ B(Star), R(4),
+ B(Mov), R(context), R(13),
+ B(Mov), R(context), R(14),
/* 36 S> */ B(LdaZero),
- /* 36 E> */ B(StaCurrentContextSlot), U8(4),
- B(LdaImmutableCurrentContextSlot), U8(4),
- /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(1),
+ B(Star), R(5),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(8), U8(0),
- B(Ldar), R(3),
- B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0),
+ B(Star), R(6),
+ B(Ldar), R(9),
+ B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0),
B(LdaSmi), I8(-2),
- B(TestEqualStrictNoFeedback), R(3),
+ /* 59 E> */ B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(11),
B(LdaSmi), I8(79),
- B(Star), R(9),
- B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1),
B(StackCheck),
- B(Ldar), R(closure),
- B(CreateBlockContext), U8(3),
- B(PushContext), R(2),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(7), U8(0),
- B(StaCurrentContextSlot), U8(4),
- B(LdaContextSlot), R(1), U8(8), U8(0),
- B(Star), R(9),
+ B(Mov), R(5), R(0),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(3),
- B(JumpIfFalse), U8(9),
+ B(TestEqual), R(6), U8(3),
+ B(JumpIfFalse), U8(7),
B(LdaZero),
- B(StaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(6),
B(Jump), U8(8),
- /* 49 S> */ B(LdaCurrentContextSlot), U8(4),
+ /* 49 S> */ B(Ldar), R(0),
B(Inc), U8(4),
- /* 49 E> */ B(StaCurrentContextSlot), U8(4),
+ B(Star), R(0),
B(LdaSmi), I8(1),
- B(StaContextSlot), R(1), U8(9), U8(0),
- /* 41 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Star), R(9),
- B(LdaSmi), I8(10),
- /* 41 E> */ B(TestLessThan), R(9), U8(5),
+ B(Star), R(7),
+ /* 41 S> */ B(LdaSmi), I8(10),
+ /* 41 E> */ B(TestLessThan), R(0), U8(5),
B(JumpIfFalse), U8(4),
- B(Jump), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(172),
- B(Ldar), R(3),
- B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(0),
+ B(Jump), U8(4),
+ B(Jump), U8(134),
+ B(Ldar), R(9),
+ B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0),
B(LdaSmi), I8(-2),
- B(TestEqualStrictNoFeedback), R(3),
+ B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(11),
B(LdaSmi), I8(79),
- B(Star), R(9),
- B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1),
- B(LdaContextSlot), R(1), U8(9), U8(0),
- B(Star), R(9),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(6),
- B(JumpIfFalse), U8(116),
+ B(TestEqual), R(7), U8(6),
+ B(JumpIfFalse), U8(94),
/* 23 E> */ B(StackCheck),
- /* 52 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
- B(Star), R(9),
- /* 58 S> */ B(LdaCurrentContextSlot), U8(4),
- B(StaContextSlot), R(1), U8(5), U8(0),
+ /* 52 S> */ B(Nop),
+ /* 58 S> */ B(Mov), R(0), R(3),
/* 52 S> */ B(LdaUndefined),
- B(Star), R(10),
- B(LdaImmutableContextSlot), R(1), U8(4), U8(0),
- B(Star), R(11),
- B(LdaContextSlot), R(1), U8(5), U8(0),
- B(Star), R(12),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(13),
- B(CallJSRuntime), U8(%async_function_await_uncaught), R(10), U8(4),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(10),
+ B(Star), R(16),
+ B(Mov), R(2), R(17),
+ B(Mov), R(0), R(18),
+ B(Mov), R(4), R(19),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(16), U8(4),
B(LdaZero),
- B(SuspendGenerator), R(9), U8(2),
- B(Ldar), R(10),
+ B(Mov), R(2), R(15),
+ B(Mov), R(4), R(16),
+ B(SuspendGenerator), R(15), U8(2),
+ B(Ldar), R(16),
/* 61 S> */ B(Return),
B(LdaSmi), I8(-2),
- B(Star), R(3),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1),
- B(Star), R(10),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1),
- B(Star), R(11),
+ B(Star), R(9),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(15), U8(1),
+ B(Star), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(15), U8(1),
+ B(Star), R(17),
B(LdaZero),
- B(TestEqualStrictNoFeedback), R(11),
- B(JumpIfTrue), U8(30),
+ B(TestEqualStrictNoFeedback), R(17),
+ B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2),
- B(TestEqualStrictNoFeedback), R(11),
- B(JumpIfTrue), U8(21),
+ B(TestEqualStrictNoFeedback), R(17),
+ B(JumpIfTrue), U8(19),
B(LdaTrue),
- B(Star), R(13),
- B(Mov), R(10), R(12),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2),
- B(PopContext), R(1),
- B(Star), R(6),
+ B(Star), R(19),
+ B(Mov), R(16), R(18),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18), U8(2),
+ B(Star), R(12),
B(LdaZero),
- B(Star), R(5),
- B(Jump), U8(129),
- B(Ldar), R(10),
+ B(Star), R(11),
+ B(Jump), U8(106),
+ B(Ldar), R(16),
B(ReThrow),
B(LdaZero),
- B(StaContextSlot), R(1), U8(9), U8(0),
- B(LdaCurrentContextSlot), U8(4),
- /* 59 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
- B(JumpLoop), U8(145), I8(1),
- B(LdaContextSlot), R(1), U8(9), U8(0),
- B(Star), R(9),
+ B(Star), R(7),
+ B(Mov), R(0), R(5),
+ B(Ldar), R(0),
+ B(JumpLoop), U8(117), I8(1),
B(LdaSmi), I8(1),
- B(TestEqual), R(9), U8(7),
- B(JumpIfFalse), U8(6),
- B(PopContext), R(2),
- B(Jump), U8(7),
- B(PopContext), R(2),
- B(JumpLoop), U8(253), I8(0),
- B(PopContext), R(1),
+ /* 59 E> */ B(TestEqual), R(7), U8(7),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(5),
+ B(JumpLoop), U8(187), I8(0),
B(LdaUndefined),
- B(Star), R(9),
- B(LdaCurrentContextSlot), U8(6),
- B(Star), R(10),
+ B(Star), R(15),
B(LdaUndefined),
- B(Star), R(11),
- B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
- B(LdaCurrentContextSlot), U8(6),
- B(Star), R(6),
+ B(Star), R(17),
+ B(Mov), R(4), R(16),
+ B(CallJSRuntime), U8(%promise_resolve), R(15), U8(3),
B(LdaZero),
- B(Star), R(5),
- B(Jump), U8(65),
- B(Jump), U8(51),
- B(Star), R(9),
+ B(Star), R(11),
+ B(Mov), R(4), R(12),
+ B(Jump), U8(59),
+ B(Jump), U8(45),
+ B(Star), R(15),
B(Ldar), R(closure),
- B(CreateCatchContext), R(9), U8(5), U8(6),
- B(Star), R(8),
+ B(CreateCatchContext), R(15), U8(3), U8(4),
+ B(Star), R(14),
B(LdaTheHole),
B(SetPendingMessage),
- B(Ldar), R(8),
- B(PushContext), R(1),
+ B(Ldar), R(14),
+ B(PushContext), R(8),
B(LdaUndefined),
- B(Star), R(9),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(Star), R(10),
+ B(Star), R(15),
B(LdaImmutableCurrentContextSlot), U8(4),
- B(Star), R(11),
+ B(Star), R(17),
B(LdaFalse),
- B(Star), R(12),
- B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
- B(LdaContextSlot), R(1), U8(6), U8(0),
- B(PopContext), R(1),
- B(Star), R(6),
+ B(Star), R(18),
+ B(Mov), R(4), R(16),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(15), U8(4),
+ B(PopContext), R(8),
B(LdaZero),
- B(Star), R(5),
+ B(Star), R(11),
+ B(Mov), R(4), R(12),
B(Jump), U8(14),
B(LdaSmi), I8(-1),
- B(Star), R(5),
+ B(Star), R(11),
B(Jump), U8(8),
- B(Star), R(6),
+ B(Star), R(12),
B(LdaSmi), I8(1),
- B(Star), R(5),
+ B(Star), R(11),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(7),
+ B(Star), R(13),
B(LdaUndefined),
- B(Star), R(8),
- B(LdaCurrentContextSlot), U8(6),
- B(Star), R(9),
- B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
- B(Ldar), R(7),
+ B(Star), R(14),
+ B(Mov), R(4), R(15),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(14), U8(2),
+ B(Ldar), R(13),
B(SetPendingMessage),
- B(Ldar), R(5),
- B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0),
+ B(Ldar), R(11),
+ B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(6),
+ B(Ldar), R(12),
/* 61 S> */ B(Return),
- B(Ldar), R(6),
+ B(Ldar), R(12),
B(ReThrow),
B(LdaUndefined),
/* 61 S> */ B(Return),
]
constant pool: [
- Smi [73],
- FIXED_ARRAY_TYPE,
- Smi [84],
- FIXED_ARRAY_TYPE,
- Smi [83],
+ Smi [54],
+ Smi [56],
+ Smi [60],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
Smi [6],
Smi [9],
]
handlers: [
- [60, 419, 425],
- [63, 368, 370],
+ [56, 324, 330],
+ [59, 279, 281],
]

Powered by Google App Engine
This is Rietveld 408576698