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

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden

Issue 2917263002: Move generator-close on exception from the generator function to the GeneratorResume builtin. (Closed)
Patch Set: Add register allocation scope Created 3 years, 6 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 unified diff | Download patch
« no previous file with comments | « src/parsing/preparser.h ('k') | test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 1 #
2 # Autogenerated by generate-bytecode-expectations. 2 # Autogenerated by generate-bytecode-expectations.
3 # 3 #
4 4
5 --- 5 ---
6 wrap: no 6 wrap: no
7 test function name: f 7 test function name: f
8 async iteration: yes 8 async iteration: yes
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 async function f() { 12 async function f() {
13 for await (let x of [1, 2, 3]) {} 13 for await (let x of [1, 2, 3]) {}
14 } 14 }
15 f(); 15 f();
16 " 16 "
17 frame size: 26 17 frame size: 25
18 parameter count: 1 18 parameter count: 1
19 bytecode array length: 703 19 bytecode array length: 676
20 bytecodes: [ 20 bytecodes: [
21 B(Mov), R(new_target), R(11), 21 B(Mov), R(new_target), R(11),
22 B(Ldar), R(new_target), 22 B(Ldar), R(new_target),
23 B(JumpIfUndefined), U8(25), 23 B(JumpIfUndefined), U8(25),
24 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1), 24 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1),
25 B(PushContext), R(13), 25 B(PushContext), R(13),
26 B(RestoreGeneratorState), R(11), 26 B(RestoreGeneratorState), R(11),
27 B(Star), R(12), 27 B(Star), R(12),
28 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), 28 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0),
29 B(LdaSmi), I8(79), 29 B(LdaSmi), I8(79),
30 B(Star), R(14), 30 B(Star), R(13),
31 B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1), 31 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
32 B(LdaSmi), I8(-2), 32 B(LdaSmi), I8(-2),
33 B(Star), R(12), 33 B(Star), R(12),
34 B(Mov), R(closure), R(14), 34 B(Mov), R(closure), R(13),
35 B(Mov), R(this), R(15), 35 B(Mov), R(this), R(14),
36 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(14 ), U8(2), 36 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13 ), U8(2),
37 B(Star), R(2), 37 B(Star), R(2),
38 /* 16 E> */ B(StackCheck), 38 /* 16 E> */ B(StackCheck),
39 B(LdaUndefined), 39 B(LdaUndefined),
40 B(Star), R(14), 40 B(Star), R(13),
41 B(CallJSRuntime), U8(%async_function_promise_create), R(14), U8( 1), 41 B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8( 1),
42 B(Star), R(7), 42 B(Star), R(7),
43 B(Mov), R(context), R(15),
44 B(Mov), R(2), R(11),
43 B(Mov), R(context), R(16), 45 B(Mov), R(context), R(16),
44 B(Mov), R(2), R(11),
45 B(Mov), R(context), R(17),
46 B(LdaZero), 46 B(LdaZero),
47 B(Star), R(6), 47 B(Star), R(6),
48 B(Mov), R(context), R(19),
48 B(Mov), R(context), R(20), 49 B(Mov), R(context), R(20),
49 B(Mov), R(context), R(21),
50 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17), 50 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17),
51 B(Star), R(22), 51 B(Star), R(21),
52 B(LdaNamedProperty), R(22), U8(4), U8(8), 52 B(LdaNamedProperty), R(21), U8(4), U8(8),
53 B(JumpIfUndefined), U8(17), 53 B(JumpIfUndefined), U8(17),
54 B(JumpIfNull), U8(15), 54 B(JumpIfNull), U8(15),
55 B(Star), R(23), 55 B(Star), R(22),
56 B(CallProperty0), R(23), R(22), U8(10), 56 B(CallProperty0), R(22), R(21), U8(10),
57 B(JumpIfJSReceiver), U8(23), 57 B(JumpIfJSReceiver), U8(23),
58 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), 58 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
59 B(LdaNamedProperty), R(22), U8(5), U8(4), 59 B(LdaNamedProperty), R(21), U8(5), U8(4),
60 B(Star), R(23), 60 B(Star), R(22),
61 B(CallProperty0), R(23), R(22), U8(6), 61 B(CallProperty0), R(22), R(21), U8(6),
62 B(Star), R(23), 62 B(Star), R(22),
63 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(23), U8(1), 63 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1),
64 B(Star), R(4), 64 B(Star), R(4),
65 B(Ldar), R(12), 65 B(Ldar), R(12),
66 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), 66 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0),
67 B(LdaSmi), I8(-2), 67 B(LdaSmi), I8(-2),
68 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), 68 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12),
69 B(JumpIfTrue), U8(11), 69 B(JumpIfTrue), U8(11),
70 B(LdaSmi), I8(79), 70 B(LdaSmi), I8(79),
71 B(Star), R(22), 71 B(Star), R(21),
72 B(CallRuntime), U16(Runtime::kAbort), R(22), U8(1), 72 B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1),
73 /* 40 S> */ B(LdaUndefined), 73 /* 40 S> */ B(LdaUndefined),
74 B(Star), R(22), 74 B(Star), R(21),
75 B(LdaNamedProperty), R(4), U8(7), U8(14), 75 B(LdaNamedProperty), R(4), U8(7), U8(14),
76 B(Star), R(24), 76 B(Star), R(23),
77 B(CallProperty0), R(24), R(4), U8(12), 77 B(CallProperty0), R(23), R(4), U8(12),
78 B(Star), R(24), 78 B(Star), R(23),
79 B(Mov), R(2), R(23), 79 B(Mov), R(2), R(22),
80 B(Mov), R(7), R(25), 80 B(Mov), R(7), R(24),
81 B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8( 4), 81 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4),
82 B(LdaZero), 82 B(LdaZero),
83 B(Mov), R(7), R(22), 83 B(Mov), R(7), R(21),
84 B(SuspendGenerator), R(11), R(0), U8(22), U8(2), 84 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
85 B(Ldar), R(22), 85 B(Ldar), R(21),
86 /* 57 S> */ B(Return), 86 /* 57 S> */ B(Return),
87 B(RestoreGeneratorRegisters), R(11), R(0), U8(22), 87 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
88 B(LdaSmi), I8(-2), 88 B(LdaSmi), I8(-2),
89 B(Star), R(12), 89 B(Star), R(12),
90 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 90 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
91 B(Star), R(22), 91 B(Star), R(21),
92 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 92 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
93 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0), 93 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
94 B(Ldar), R(22), 94 B(Ldar), R(21),
95 /* 40 E> */ B(ReThrow), 95 /* 40 E> */ B(ReThrow),
96 B(LdaTrue),
97 B(Star), R(24),
98 B(Mov), R(22), R(23),
99 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
100 B(Star), R(19),
101 B(LdaZero), 96 B(LdaZero),
102 B(Star), R(18), 97 B(Star), R(17),
98 B(Mov), R(21), R(18),
103 B(Jump), U8(98), 99 B(Jump), U8(98),
104 B(Mov), R(22), R(5), 100 B(Mov), R(21), R(5),
105 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(22), U8(1), 101 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1),
106 B(ToBooleanLogicalNot), 102 B(ToBooleanLogicalNot),
107 B(JumpIfFalse), U8(7), 103 B(JumpIfFalse), U8(7),
108 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1), 104 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
109 B(LdaNamedProperty), R(5), U8(10), U8(16), 105 B(LdaNamedProperty), R(5), U8(10), U8(16),
110 B(JumpIfToBooleanTrue), U8(25), 106 B(JumpIfToBooleanTrue), U8(25),
111 B(LdaNamedProperty), R(5), U8(11), U8(18), 107 B(LdaNamedProperty), R(5), U8(11), U8(18),
112 B(Star), R(8), 108 B(Star), R(8),
113 B(LdaSmi), I8(2), 109 B(LdaSmi), I8(2),
114 B(Star), R(6), 110 B(Star), R(6),
115 B(Mov), R(8), R(3), 111 B(Mov), R(8), R(3),
116 /* 23 E> */ B(StackCheck), 112 /* 23 E> */ B(StackCheck),
117 B(Mov), R(3), R(0), 113 B(Mov), R(3), R(0),
118 B(LdaZero), 114 B(LdaZero),
119 B(Star), R(6), 115 B(Star), R(6),
120 B(JumpLoop), U8(141), I8(0), 116 B(JumpLoop), U8(132), I8(0),
121 B(Jump), U8(40), 117 B(Jump), U8(40),
122 B(Star), R(22), 118 B(Star), R(21),
123 B(Ldar), R(closure), 119 B(Ldar), R(closure),
124 B(CreateCatchContext), R(22), U8(12), U8(13), 120 B(CreateCatchContext), R(21), U8(12), U8(13),
125 B(Star), R(21), 121 B(Star), R(20),
126 B(LdaTheHole), 122 B(LdaTheHole),
127 B(SetPendingMessage), 123 B(SetPendingMessage),
128 B(Ldar), R(21), 124 B(Ldar), R(20),
129 B(PushContext), R(22), 125 B(PushContext), R(21),
130 B(LdaSmi), I8(2), 126 B(LdaSmi), I8(2),
131 B(TestEqualStrict), R(6), U8(20), 127 B(TestEqualStrict), R(6), U8(20),
132 B(JumpIfFalse), U8(6), 128 B(JumpIfFalse), U8(6),
133 B(LdaSmi), I8(1), 129 B(LdaSmi), I8(1),
134 B(Star), R(6), 130 B(Star), R(6),
135 B(LdaImmutableCurrentContextSlot), U8(4), 131 B(LdaImmutableCurrentContextSlot), U8(4),
136 B(Star), R(23), 132 B(Star), R(22),
137 B(CallRuntime), U16(Runtime::kReThrow), R(23), U8(1), 133 B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1),
138 B(PopContext), R(22), 134 B(PopContext), R(21),
139 B(LdaSmi), I8(-1), 135 B(LdaSmi), I8(-1),
136 B(Star), R(17),
137 B(Jump), U8(8),
140 B(Star), R(18), 138 B(Star), R(18),
141 B(Jump), U8(8), 139 B(LdaSmi), I8(1),
140 B(Star), R(17),
141 B(LdaTheHole),
142 B(SetPendingMessage),
142 B(Star), R(19), 143 B(Star), R(19),
143 B(LdaSmi), I8(1),
144 B(Star), R(18),
145 B(LdaTheHole),
146 B(SetPendingMessage),
147 B(Star), R(20),
148 B(LdaZero), 144 B(LdaZero),
149 B(TestEqualStrict), R(6), U8(21), 145 B(TestEqualStrict), R(6), U8(21),
150 B(JumpIfTrue), U8(247), 146 B(JumpIfTrue), U8(229),
151 B(LdaNamedProperty), R(4), U8(14), U8(22), 147 B(LdaNamedProperty), R(4), U8(14), U8(22),
152 B(Star), R(9), 148 B(Star), R(9),
153 B(TestUndetectable), 149 B(TestUndetectable),
154 B(JumpIfFalse), U8(4), 150 B(JumpIfFalse), U8(4),
155 B(Jump), U8(236), 151 B(Jump), U8(218),
156 B(LdaSmi), I8(1), 152 B(LdaSmi), I8(1),
157 B(TestEqualStrict), R(6), U8(25), 153 B(TestEqualStrict), R(6), U8(25),
158 B(JumpIfFalse), U8(133), 154 B(JumpIfFalse), U8(124),
159 B(Ldar), R(9), 155 B(Ldar), R(9),
160 B(TestTypeOf), U8(5), 156 B(TestTypeOf), U8(5),
161 B(JumpIfFalse), U8(4), 157 B(JumpIfFalse), U8(4),
162 B(Jump), U8(18), 158 B(Jump), U8(18),
163 B(Wide), B(LdaSmi), I16(130), 159 B(Wide), B(LdaSmi), I16(130),
164 B(Star), R(21), 160 B(Star), R(20),
165 B(LdaConstant), U8(15), 161 B(LdaConstant), U8(15),
166 B(Star), R(22), 162 B(Star), R(21),
167 B(CallRuntime), U16(Runtime::kNewTypeError), R(21), U8(2), 163 B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2),
168 B(Throw), 164 B(Throw),
169 B(Mov), R(context), R(21), 165 B(Mov), R(context), R(20),
170 B(LdaUndefined),
171 B(Star), R(22),
172 B(Mov), R(9), R(24),
173 B(Mov), R(4), R(25),
174 B(InvokeIntrinsic), U8(Runtime::k_Call), R(24), U8(2),
175 B(Star), R(24),
176 B(Mov), R(2), R(23),
177 B(Mov), R(7), R(25),
178 B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(4) ,
179 B(LdaSmi), I8(1),
180 B(Mov), R(7), R(22),
181 B(SuspendGenerator), R(11), R(0), U8(22), U8(2),
182 B(Ldar), R(22),
183 /* 57 S> */ B(Return),
184 B(RestoreGeneratorRegisters), R(11), R(0), U8(22),
185 B(LdaSmi), I8(-2),
186 B(Star), R(12),
187 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
188 B(Star), R(22),
189 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
190 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
191 B(Ldar), R(22),
192 B(ReThrow),
193 B(LdaTrue),
194 B(Star), R(24),
195 B(Mov), R(22), R(23),
196 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
197 B(Star), R(15),
198 B(LdaZero),
199 B(Star), R(14),
200 B(Jump), U8(222),
201 B(Ldar), R(22),
202 B(Jump), U8(20),
203 B(Star), R(22),
204 B(Ldar), R(closure),
205 B(CreateCatchContext), R(22), U8(12), U8(18),
206 B(Star), R(21),
207 B(LdaTheHole),
208 B(SetPendingMessage),
209 B(Ldar), R(21),
210 B(PushContext), R(22),
211 B(PopContext), R(22),
212 B(Jump), U8(98),
213 B(LdaUndefined), 166 B(LdaUndefined),
214 B(Star), R(21), 167 B(Star), R(21),
215 B(Mov), R(9), R(23), 168 B(Mov), R(9), R(23),
216 B(Mov), R(4), R(24), 169 B(Mov), R(4), R(24),
217 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2), 170 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2),
218 B(Star), R(23), 171 B(Star), R(23),
219 B(Mov), R(2), R(22), 172 B(Mov), R(2), R(22),
220 B(Mov), R(7), R(24), 173 B(Mov), R(7), R(24),
221 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4), 174 B(CallJSRuntime), U8(%async_function_await_caught), R(21), U8(4) ,
222 B(LdaSmi), I8(2), 175 B(LdaSmi), I8(1),
223 B(Mov), R(7), R(21), 176 B(Mov), R(7), R(21),
224 B(SuspendGenerator), R(11), R(0), U8(21), U8(2), 177 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
225 B(Ldar), R(21), 178 B(Ldar), R(21),
226 /* 57 S> */ B(Return), 179 /* 57 S> */ B(Return),
227 B(RestoreGeneratorRegisters), R(11), R(0), U8(21), 180 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
228 B(LdaSmi), I8(-2), 181 B(LdaSmi), I8(-2),
229 B(Star), R(12), 182 B(Star), R(12),
230 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 183 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
231 B(Star), R(21), 184 B(Star), R(21),
232 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 185 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
186 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
187 B(Ldar), R(21),
188 B(ReThrow),
189 B(LdaZero),
190 B(Star), R(13),
191 B(Mov), R(21), R(14),
192 B(Jump), U8(213),
193 B(Ldar), R(21),
194 B(Jump), U8(20),
195 B(Star), R(21),
196 B(Ldar), R(closure),
197 B(CreateCatchContext), R(21), U8(12), U8(18),
198 B(Star), R(20),
199 B(LdaTheHole),
200 B(SetPendingMessage),
201 B(Ldar), R(20),
202 B(PushContext), R(21),
203 B(PopContext), R(21),
204 B(Jump), U8(89),
205 B(LdaUndefined),
206 B(Star), R(20),
207 B(Mov), R(9), R(22),
208 B(Mov), R(4), R(23),
209 B(InvokeIntrinsic), U8(Runtime::k_Call), R(22), U8(2),
210 B(Star), R(22),
211 B(Mov), R(2), R(21),
212 B(Mov), R(7), R(23),
213 B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8( 4),
214 B(LdaSmi), I8(2),
215 B(Mov), R(7), R(20),
216 B(SuspendGenerator), R(11), R(0), U8(20), U8(2),
217 B(Ldar), R(20),
218 /* 57 S> */ B(Return),
219 B(RestoreGeneratorRegisters), R(11), R(0), U8(20),
220 B(LdaSmi), I8(-2),
221 B(Star), R(12),
222 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
223 B(Star), R(20),
224 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
233 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0), 225 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0),
234 B(Ldar), R(21), 226 B(Ldar), R(20),
235 B(ReThrow), 227 B(ReThrow),
236 B(LdaTrue), 228 B(LdaZero),
237 B(Star), R(23), 229 B(Star), R(13),
238 B(Mov), R(21), R(22), 230 B(Mov), R(20), R(14),
239 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(22) , U8(2),
240 B(Star), R(15),
241 B(LdaZero),
242 B(Star), R(14),
243 B(Jump), U8(118), 231 B(Jump), U8(118),
244 B(Mov), R(21), R(10), 232 B(Mov), R(20), R(10),
245 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1), 233 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1),
246 B(JumpIfToBooleanFalse), U8(4), 234 B(JumpIfToBooleanFalse), U8(4),
247 B(Jump), U8(7), 235 B(Jump), U8(7),
248 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1), 236 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1),
249 B(Ldar), R(20), 237 B(Ldar), R(19),
250 B(SetPendingMessage), 238 B(SetPendingMessage),
251 B(Ldar), R(18), 239 B(Ldar), R(17),
252 B(SwitchOnSmiNoFeedback), U8(21), U8(2), I8(0), 240 B(SwitchOnSmiNoFeedback), U8(21), U8(2), I8(0),
253 B(Jump), U8(13), 241 B(Jump), U8(13),
254 B(LdaZero), 242 B(LdaZero),
255 B(Star), R(14), 243 B(Star), R(13),
256 B(Mov), R(19), R(15), 244 B(Mov), R(18), R(14),
257 B(Jump), U8(83), 245 B(Jump), U8(83),
258 B(Ldar), R(19), 246 B(Ldar), R(18),
259 B(ReThrow), 247 B(ReThrow),
260 B(LdaUndefined), 248 B(LdaUndefined),
261 B(Star), R(18), 249 B(Star), R(17),
262 B(LdaUndefined), 250 B(LdaUndefined),
263 B(Star), R(20), 251 B(Star), R(19),
264 B(Mov), R(7), R(19), 252 B(Mov), R(7), R(18),
265 B(CallJSRuntime), U8(%promise_resolve), R(18), U8(3), 253 B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3),
266 B(LdaZero), 254 B(LdaZero),
267 B(Star), R(14), 255 B(Star), R(13),
268 B(Mov), R(7), R(15), 256 B(Mov), R(7), R(14),
269 B(Jump), U8(59), 257 B(Jump), U8(59),
270 B(Jump), U8(45), 258 B(Jump), U8(45),
259 B(Star), R(17),
260 B(Ldar), R(closure),
261 B(CreateCatchContext), R(17), U8(12), U8(23),
262 B(Star), R(16),
263 B(LdaTheHole),
264 B(SetPendingMessage),
265 B(Ldar), R(16),
266 B(PushContext), R(17),
267 B(LdaUndefined),
271 B(Star), R(18), 268 B(Star), R(18),
272 B(Ldar), R(closure),
273 B(CreateCatchContext), R(18), U8(12), U8(23),
274 B(Star), R(17),
275 B(LdaTheHole),
276 B(SetPendingMessage),
277 B(Ldar), R(17),
278 B(PushContext), R(18),
279 B(LdaUndefined),
280 B(Star), R(19),
281 B(LdaImmutableCurrentContextSlot), U8(4), 269 B(LdaImmutableCurrentContextSlot), U8(4),
282 B(Star), R(21), 270 B(Star), R(20),
283 B(LdaFalse), 271 B(LdaFalse),
284 B(Star), R(22), 272 B(Star), R(21),
285 B(Mov), R(7), R(20), 273 B(Mov), R(7), R(19),
286 B(CallJSRuntime), U8(%promise_internal_reject), R(19), U8(4), 274 B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4),
287 B(PopContext), R(18), 275 B(PopContext), R(17),
288 B(LdaZero), 276 B(LdaZero),
289 B(Star), R(14), 277 B(Star), R(13),
290 B(Mov), R(7), R(15), 278 B(Mov), R(7), R(14),
291 B(Jump), U8(14), 279 B(Jump), U8(14),
292 B(LdaSmi), I8(-1), 280 B(LdaSmi), I8(-1),
281 B(Star), R(13),
282 B(Jump), U8(8),
293 B(Star), R(14), 283 B(Star), R(14),
294 B(Jump), U8(8), 284 B(LdaSmi), I8(1),
285 B(Star), R(13),
286 B(LdaTheHole),
287 B(SetPendingMessage),
295 B(Star), R(15), 288 B(Star), R(15),
296 B(LdaSmi), I8(1), 289 B(LdaUndefined),
297 B(Star), R(14),
298 B(LdaTheHole),
299 B(SetPendingMessage),
300 B(Star), R(16), 290 B(Star), R(16),
301 B(LdaUndefined), 291 B(Mov), R(7), R(17),
302 B(Star), R(17), 292 B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8 (2),
303 B(Mov), R(7), R(18), 293 B(Ldar), R(15),
304 B(CallJSRuntime), U8(%async_function_promise_release), R(17), U8 (2), 294 B(SetPendingMessage),
305 B(Ldar), R(16), 295 B(Ldar), R(13),
306 B(SetPendingMessage),
307 B(Ldar), R(14),
308 B(SwitchOnSmiNoFeedback), U8(24), U8(2), I8(0), 296 B(SwitchOnSmiNoFeedback), U8(24), U8(2), I8(0),
309 B(Jump), U8(8), 297 B(Jump), U8(8),
310 B(Ldar), R(15), 298 B(Ldar), R(14),
311 /* 57 S> */ B(Return), 299 /* 57 S> */ B(Return),
312 B(Ldar), R(15), 300 B(Ldar), R(14),
313 B(ReThrow), 301 B(ReThrow),
314 B(LdaUndefined), 302 B(LdaUndefined),
315 /* 57 S> */ B(Return), 303 /* 57 S> */ B(Return),
316 ] 304 ]
317 constant pool: [ 305 constant pool: [
318 Smi [102], 306 Smi [102],
319 Smi [391], 307 Smi [382],
320 Smi [495], 308 Smi [477],
321 TUPLE2_TYPE, 309 TUPLE2_TYPE,
322 SYMBOL_TYPE, 310 SYMBOL_TYPE,
323 SYMBOL_TYPE, 311 SYMBOL_TYPE,
324 Smi [56], 312 Smi [56],
325 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 313 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
326 Smi [24], 314 Smi [15],
327 Smi [7], 315 Smi [7],
328 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 316 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
329 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 317 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
330 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 318 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
331 FIXED_ARRAY_TYPE, 319 FIXED_ARRAY_TYPE,
332 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 320 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
333 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 321 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
334 Smi [24], 322 Smi [15],
335 Smi [7], 323 Smi [7],
336 FIXED_ARRAY_TYPE, 324 FIXED_ARRAY_TYPE,
337 Smi [24], 325 Smi [15],
338 Smi [7], 326 Smi [7],
339 Smi [6], 327 Smi [6],
340 Smi [14], 328 Smi [14],
341 FIXED_ARRAY_TYPE, 329 FIXED_ARRAY_TYPE,
342 Smi [6], 330 Smi [6],
343 Smi [9], 331 Smi [9],
344 ] 332 ]
345 handlers: [ 333 handlers: [
346 [62, 658, 664], 334 [62, 631, 637],
347 [65, 613, 615], 335 [65, 586, 588],
348 [71, 303, 309], 336 [71, 294, 300],
349 [74, 263, 265], 337 [74, 254, 256],
350 [370, 452, 454], 338 [361, 434, 436],
351 ] 339 ]
352 340
353 --- 341 ---
354 snippet: " 342 snippet: "
355 async function f() { 343 async function f() {
356 for await (let x of [1, 2, 3]) { return x; } 344 for await (let x of [1, 2, 3]) { return x; }
357 } 345 }
358 f(); 346 f();
359 " 347 "
360 frame size: 26 348 frame size: 25
361 parameter count: 1 349 parameter count: 1
362 bytecode array length: 731 350 bytecode array length: 704
363 bytecodes: [ 351 bytecodes: [
364 B(Mov), R(new_target), R(11), 352 B(Mov), R(new_target), R(11),
365 B(Ldar), R(new_target), 353 B(Ldar), R(new_target),
366 B(JumpIfUndefined), U8(25), 354 B(JumpIfUndefined), U8(25),
367 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1), 355 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1),
368 B(PushContext), R(13), 356 B(PushContext), R(13),
369 B(RestoreGeneratorState), R(11), 357 B(RestoreGeneratorState), R(11),
370 B(Star), R(12), 358 B(Star), R(12),
371 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), 359 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0),
372 B(LdaSmi), I8(79), 360 B(LdaSmi), I8(79),
373 B(Star), R(14), 361 B(Star), R(13),
374 B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1), 362 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
375 B(LdaSmi), I8(-2), 363 B(LdaSmi), I8(-2),
376 B(Star), R(12), 364 B(Star), R(12),
377 B(Mov), R(closure), R(14), 365 B(Mov), R(closure), R(13),
378 B(Mov), R(this), R(15), 366 B(Mov), R(this), R(14),
379 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(14 ), U8(2), 367 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13 ), U8(2),
380 B(Star), R(2), 368 B(Star), R(2),
381 /* 16 E> */ B(StackCheck), 369 /* 16 E> */ B(StackCheck),
382 B(LdaUndefined), 370 B(LdaUndefined),
383 B(Star), R(14), 371 B(Star), R(13),
384 B(CallJSRuntime), U8(%async_function_promise_create), R(14), U8( 1), 372 B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8( 1),
385 B(Star), R(7), 373 B(Star), R(7),
374 B(Mov), R(context), R(15),
375 B(Mov), R(2), R(11),
386 B(Mov), R(context), R(16), 376 B(Mov), R(context), R(16),
387 B(Mov), R(2), R(11),
388 B(Mov), R(context), R(17),
389 B(LdaZero), 377 B(LdaZero),
390 B(Star), R(6), 378 B(Star), R(6),
379 B(Mov), R(context), R(19),
391 B(Mov), R(context), R(20), 380 B(Mov), R(context), R(20),
392 B(Mov), R(context), R(21),
393 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17), 381 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17),
394 B(Star), R(22), 382 B(Star), R(21),
395 B(LdaNamedProperty), R(22), U8(4), U8(8), 383 B(LdaNamedProperty), R(21), U8(4), U8(8),
396 B(JumpIfUndefined), U8(17), 384 B(JumpIfUndefined), U8(17),
397 B(JumpIfNull), U8(15), 385 B(JumpIfNull), U8(15),
398 B(Star), R(23), 386 B(Star), R(22),
399 B(CallProperty0), R(23), R(22), U8(10), 387 B(CallProperty0), R(22), R(21), U8(10),
400 B(JumpIfJSReceiver), U8(23), 388 B(JumpIfJSReceiver), U8(23),
401 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), 389 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
402 B(LdaNamedProperty), R(22), U8(5), U8(4), 390 B(LdaNamedProperty), R(21), U8(5), U8(4),
403 B(Star), R(23), 391 B(Star), R(22),
404 B(CallProperty0), R(23), R(22), U8(6), 392 B(CallProperty0), R(22), R(21), U8(6),
405 B(Star), R(23), 393 B(Star), R(22),
406 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(23), U8(1), 394 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1),
407 B(Star), R(4), 395 B(Star), R(4),
408 B(Ldar), R(12), 396 B(Ldar), R(12),
409 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), 397 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0),
410 B(LdaSmi), I8(-2), 398 B(LdaSmi), I8(-2),
411 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), 399 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12),
412 B(JumpIfTrue), U8(11), 400 B(JumpIfTrue), U8(11),
413 B(LdaSmi), I8(79), 401 B(LdaSmi), I8(79),
414 B(Star), R(22), 402 B(Star), R(21),
415 B(CallRuntime), U16(Runtime::kAbort), R(22), U8(1), 403 B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1),
416 /* 40 S> */ B(LdaUndefined), 404 /* 40 S> */ B(LdaUndefined),
417 B(Star), R(22), 405 B(Star), R(21),
418 B(LdaNamedProperty), R(4), U8(7), U8(14), 406 B(LdaNamedProperty), R(4), U8(7), U8(14),
419 B(Star), R(24), 407 B(Star), R(23),
420 B(CallProperty0), R(24), R(4), U8(12), 408 B(CallProperty0), R(23), R(4), U8(12),
421 B(Star), R(24), 409 B(Star), R(23),
422 B(Mov), R(2), R(23), 410 B(Mov), R(2), R(22),
423 B(Mov), R(7), R(25), 411 B(Mov), R(7), R(24),
424 B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8( 4), 412 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4),
425 B(LdaZero), 413 B(LdaZero),
426 B(Mov), R(7), R(22), 414 B(Mov), R(7), R(21),
427 B(SuspendGenerator), R(11), R(0), U8(22), U8(2), 415 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
428 B(Ldar), R(22), 416 B(Ldar), R(21),
429 /* 68 S> */ B(Return), 417 /* 68 S> */ B(Return),
430 B(RestoreGeneratorRegisters), R(11), R(0), U8(22), 418 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
431 B(LdaSmi), I8(-2), 419 B(LdaSmi), I8(-2),
432 B(Star), R(12), 420 B(Star), R(12),
433 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 421 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
434 B(Star), R(22), 422 B(Star), R(21),
435 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 423 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
436 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0), 424 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
437 B(Ldar), R(22), 425 B(Ldar), R(21),
438 /* 40 E> */ B(ReThrow), 426 /* 40 E> */ B(ReThrow),
439 B(LdaTrue),
440 B(Star), R(24),
441 B(Mov), R(22), R(23),
442 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
443 B(Star), R(19),
444 B(LdaZero), 427 B(LdaZero),
445 B(Star), R(18), 428 B(Star), R(17),
429 B(Mov), R(21), R(18),
446 B(Jump), U8(101), 430 B(Jump), U8(101),
447 B(Mov), R(22), R(5), 431 B(Mov), R(21), R(5),
448 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(22), U8(1), 432 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1),
449 B(ToBooleanLogicalNot), 433 B(ToBooleanLogicalNot),
450 B(JumpIfFalse), U8(7), 434 B(JumpIfFalse), U8(7),
451 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1), 435 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
452 B(LdaNamedProperty), R(5), U8(10), U8(16), 436 B(LdaNamedProperty), R(5), U8(10), U8(16),
453 B(JumpIfToBooleanTrue), U8(28), 437 B(JumpIfToBooleanTrue), U8(28),
454 B(LdaNamedProperty), R(5), U8(11), U8(18), 438 B(LdaNamedProperty), R(5), U8(11), U8(18),
455 B(Star), R(8), 439 B(Star), R(8),
456 B(LdaSmi), I8(2), 440 B(LdaSmi), I8(2),
457 B(Star), R(6), 441 B(Star), R(6),
458 B(Mov), R(8), R(3), 442 B(Mov), R(8), R(3),
459 /* 23 E> */ B(StackCheck), 443 /* 23 E> */ B(StackCheck),
460 B(Mov), R(3), R(0), 444 B(Mov), R(3), R(0),
461 /* 56 S> */ B(LdaSmi), I8(1), 445 /* 56 S> */ B(LdaSmi), I8(1),
462 B(Star), R(18), 446 B(Star), R(17),
463 B(Mov), R(0), R(19), 447 B(Mov), R(0), R(18),
464 B(Jump), U8(54), 448 B(Jump), U8(54),
465 B(Jump), U8(40), 449 B(Jump), U8(40),
466 B(Star), R(22), 450 B(Star), R(21),
467 B(Ldar), R(closure), 451 B(Ldar), R(closure),
468 B(CreateCatchContext), R(22), U8(12), U8(13), 452 B(CreateCatchContext), R(21), U8(12), U8(13),
469 B(Star), R(21), 453 B(Star), R(20),
470 B(LdaTheHole), 454 B(LdaTheHole),
471 B(SetPendingMessage), 455 B(SetPendingMessage),
472 B(Ldar), R(21), 456 B(Ldar), R(20),
473 B(PushContext), R(22), 457 B(PushContext), R(21),
474 B(LdaSmi), I8(2), 458 B(LdaSmi), I8(2),
475 B(TestEqualStrict), R(6), U8(20), 459 B(TestEqualStrict), R(6), U8(20),
476 B(JumpIfFalse), U8(6), 460 B(JumpIfFalse), U8(6),
477 B(LdaSmi), I8(1), 461 B(LdaSmi), I8(1),
478 B(Star), R(6), 462 B(Star), R(6),
479 B(LdaImmutableCurrentContextSlot), U8(4), 463 B(LdaImmutableCurrentContextSlot), U8(4),
480 B(Star), R(23), 464 B(Star), R(22),
481 B(CallRuntime), U16(Runtime::kReThrow), R(23), U8(1), 465 B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1),
482 B(PopContext), R(22), 466 B(PopContext), R(21),
483 B(LdaSmi), I8(-1), 467 B(LdaSmi), I8(-1),
468 B(Star), R(17),
469 B(Jump), U8(8),
484 B(Star), R(18), 470 B(Star), R(18),
485 B(Jump), U8(8), 471 B(LdaSmi), I8(2),
472 B(Star), R(17),
473 B(LdaTheHole),
474 B(SetPendingMessage),
486 B(Star), R(19), 475 B(Star), R(19),
487 B(LdaSmi), I8(2),
488 B(Star), R(18),
489 B(LdaTheHole),
490 B(SetPendingMessage),
491 B(Star), R(20),
492 B(LdaZero), 476 B(LdaZero),
493 B(TestEqualStrict), R(6), U8(21), 477 B(TestEqualStrict), R(6), U8(21),
494 B(JumpIfTrue), U8(247), 478 B(JumpIfTrue), U8(229),
495 B(LdaNamedProperty), R(4), U8(14), U8(22), 479 B(LdaNamedProperty), R(4), U8(14), U8(22),
496 B(Star), R(9), 480 B(Star), R(9),
497 B(TestUndetectable), 481 B(TestUndetectable),
498 B(JumpIfFalse), U8(4), 482 B(JumpIfFalse), U8(4),
499 B(Jump), U8(236), 483 B(Jump), U8(218),
500 B(LdaSmi), I8(1), 484 B(LdaSmi), I8(1),
501 B(TestEqualStrict), R(6), U8(25), 485 B(TestEqualStrict), R(6), U8(25),
502 B(JumpIfFalse), U8(133), 486 B(JumpIfFalse), U8(124),
503 B(Ldar), R(9), 487 B(Ldar), R(9),
504 B(TestTypeOf), U8(5), 488 B(TestTypeOf), U8(5),
505 B(JumpIfFalse), U8(4), 489 B(JumpIfFalse), U8(4),
506 B(Jump), U8(18), 490 B(Jump), U8(18),
507 B(Wide), B(LdaSmi), I16(130), 491 B(Wide), B(LdaSmi), I16(130),
508 B(Star), R(21), 492 B(Star), R(20),
509 B(LdaConstant), U8(15), 493 B(LdaConstant), U8(15),
510 B(Star), R(22), 494 B(Star), R(21),
511 B(CallRuntime), U16(Runtime::kNewTypeError), R(21), U8(2), 495 B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2),
512 B(Throw), 496 B(Throw),
513 B(Mov), R(context), R(21), 497 B(Mov), R(context), R(20),
514 B(LdaUndefined),
515 B(Star), R(22),
516 B(Mov), R(9), R(24),
517 B(Mov), R(4), R(25),
518 B(InvokeIntrinsic), U8(Runtime::k_Call), R(24), U8(2),
519 B(Star), R(24),
520 B(Mov), R(2), R(23),
521 B(Mov), R(7), R(25),
522 B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(4) ,
523 B(LdaSmi), I8(1),
524 B(Mov), R(7), R(22),
525 B(SuspendGenerator), R(11), R(0), U8(22), U8(2),
526 B(Ldar), R(22),
527 /* 68 S> */ B(Return),
528 B(RestoreGeneratorRegisters), R(11), R(0), U8(22),
529 B(LdaSmi), I8(-2),
530 B(Star), R(12),
531 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
532 B(Star), R(22),
533 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
534 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
535 B(Ldar), R(22),
536 B(ReThrow),
537 B(LdaTrue),
538 B(Star), R(24),
539 B(Mov), R(22), R(23),
540 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
541 B(Star), R(15),
542 B(LdaZero),
543 B(Star), R(14),
544 B(Jump), U8(231),
545 B(Ldar), R(22),
546 B(Jump), U8(20),
547 B(Star), R(22),
548 B(Ldar), R(closure),
549 B(CreateCatchContext), R(22), U8(12), U8(18),
550 B(Star), R(21),
551 B(LdaTheHole),
552 B(SetPendingMessage),
553 B(Ldar), R(21),
554 B(PushContext), R(22),
555 B(PopContext), R(22),
556 B(Jump), U8(98),
557 B(LdaUndefined), 498 B(LdaUndefined),
558 B(Star), R(21), 499 B(Star), R(21),
559 B(Mov), R(9), R(23), 500 B(Mov), R(9), R(23),
560 B(Mov), R(4), R(24), 501 B(Mov), R(4), R(24),
561 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2), 502 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2),
562 B(Star), R(23), 503 B(Star), R(23),
563 B(Mov), R(2), R(22), 504 B(Mov), R(2), R(22),
564 B(Mov), R(7), R(24), 505 B(Mov), R(7), R(24),
565 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4), 506 B(CallJSRuntime), U8(%async_function_await_caught), R(21), U8(4) ,
566 B(LdaSmi), I8(2), 507 B(LdaSmi), I8(1),
567 B(Mov), R(7), R(21), 508 B(Mov), R(7), R(21),
568 B(SuspendGenerator), R(11), R(0), U8(21), U8(2), 509 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
569 B(Ldar), R(21), 510 B(Ldar), R(21),
570 /* 68 S> */ B(Return), 511 /* 68 S> */ B(Return),
571 B(RestoreGeneratorRegisters), R(11), R(0), U8(21), 512 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
572 B(LdaSmi), I8(-2), 513 B(LdaSmi), I8(-2),
573 B(Star), R(12), 514 B(Star), R(12),
574 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 515 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
575 B(Star), R(21), 516 B(Star), R(21),
576 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 517 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
518 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
519 B(Ldar), R(21),
520 B(ReThrow),
521 B(LdaZero),
522 B(Star), R(13),
523 B(Mov), R(21), R(14),
524 B(Jump), U8(222),
525 B(Ldar), R(21),
526 B(Jump), U8(20),
527 B(Star), R(21),
528 B(Ldar), R(closure),
529 B(CreateCatchContext), R(21), U8(12), U8(18),
530 B(Star), R(20),
531 B(LdaTheHole),
532 B(SetPendingMessage),
533 B(Ldar), R(20),
534 B(PushContext), R(21),
535 B(PopContext), R(21),
536 B(Jump), U8(89),
537 B(LdaUndefined),
538 B(Star), R(20),
539 B(Mov), R(9), R(22),
540 B(Mov), R(4), R(23),
541 B(InvokeIntrinsic), U8(Runtime::k_Call), R(22), U8(2),
542 B(Star), R(22),
543 B(Mov), R(2), R(21),
544 B(Mov), R(7), R(23),
545 B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8( 4),
546 B(LdaSmi), I8(2),
547 B(Mov), R(7), R(20),
548 B(SuspendGenerator), R(11), R(0), U8(20), U8(2),
549 B(Ldar), R(20),
550 /* 68 S> */ B(Return),
551 B(RestoreGeneratorRegisters), R(11), R(0), U8(20),
552 B(LdaSmi), I8(-2),
553 B(Star), R(12),
554 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
555 B(Star), R(20),
556 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
577 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0), 557 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0),
578 B(Ldar), R(21), 558 B(Ldar), R(20),
579 B(ReThrow), 559 B(ReThrow),
580 B(LdaTrue), 560 B(LdaZero),
581 B(Star), R(23), 561 B(Star), R(13),
582 B(Mov), R(21), R(22), 562 B(Mov), R(20), R(14),
583 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(22) , U8(2),
584 B(Star), R(15),
585 B(LdaZero),
586 B(Star), R(14),
587 B(Jump), U8(127), 563 B(Jump), U8(127),
588 B(Mov), R(21), R(10), 564 B(Mov), R(20), R(10),
589 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1), 565 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1),
590 B(JumpIfToBooleanFalse), U8(4), 566 B(JumpIfToBooleanFalse), U8(4),
591 B(Jump), U8(7), 567 B(Jump), U8(7),
592 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1), 568 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1),
593 B(Ldar), R(20), 569 B(Ldar), R(19),
594 B(SetPendingMessage), 570 B(SetPendingMessage),
595 B(Ldar), R(18), 571 B(Ldar), R(17),
596 B(SwitchOnSmiNoFeedback), U8(21), U8(3), I8(0), 572 B(SwitchOnSmiNoFeedback), U8(21), U8(3), I8(0),
597 B(Jump), U8(22), 573 B(Jump), U8(22),
598 B(LdaZero), 574 B(LdaZero),
599 B(Star), R(14), 575 B(Star), R(13),
600 B(Mov), R(19), R(15), 576 B(Mov), R(18), R(14),
601 B(Jump), U8(92), 577 B(Jump), U8(92),
602 B(LdaSmi), I8(1), 578 B(LdaSmi), I8(1),
603 B(Star), R(14), 579 B(Star), R(13),
604 B(Mov), R(19), R(15), 580 B(Mov), R(18), R(14),
605 B(Jump), U8(83), 581 B(Jump), U8(83),
606 B(Ldar), R(19), 582 B(Ldar), R(18),
607 B(ReThrow), 583 B(ReThrow),
608 B(LdaUndefined), 584 B(LdaUndefined),
609 B(Star), R(18), 585 B(Star), R(17),
610 B(LdaUndefined), 586 B(LdaUndefined),
611 B(Star), R(20), 587 B(Star), R(19),
612 B(Mov), R(7), R(19), 588 B(Mov), R(7), R(18),
613 B(CallJSRuntime), U8(%promise_resolve), R(18), U8(3), 589 B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3),
614 B(LdaZero), 590 B(LdaZero),
615 B(Star), R(14), 591 B(Star), R(13),
616 B(Mov), R(7), R(15), 592 B(Mov), R(7), R(14),
617 B(Jump), U8(59), 593 B(Jump), U8(59),
618 B(Jump), U8(45), 594 B(Jump), U8(45),
595 B(Star), R(17),
596 B(Ldar), R(closure),
597 B(CreateCatchContext), R(17), U8(12), U8(24),
598 B(Star), R(16),
599 B(LdaTheHole),
600 B(SetPendingMessage),
601 B(Ldar), R(16),
602 B(PushContext), R(17),
603 B(LdaUndefined),
619 B(Star), R(18), 604 B(Star), R(18),
620 B(Ldar), R(closure),
621 B(CreateCatchContext), R(18), U8(12), U8(24),
622 B(Star), R(17),
623 B(LdaTheHole),
624 B(SetPendingMessage),
625 B(Ldar), R(17),
626 B(PushContext), R(18),
627 B(LdaUndefined),
628 B(Star), R(19),
629 B(LdaImmutableCurrentContextSlot), U8(4), 605 B(LdaImmutableCurrentContextSlot), U8(4),
630 B(Star), R(21), 606 B(Star), R(20),
631 B(LdaFalse), 607 B(LdaFalse),
632 B(Star), R(22), 608 B(Star), R(21),
633 B(Mov), R(7), R(20), 609 B(Mov), R(7), R(19),
634 B(CallJSRuntime), U8(%promise_internal_reject), R(19), U8(4), 610 B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4),
635 B(PopContext), R(18), 611 B(PopContext), R(17),
636 B(LdaZero), 612 B(LdaZero),
637 B(Star), R(14), 613 B(Star), R(13),
638 B(Mov), R(7), R(15), 614 B(Mov), R(7), R(14),
639 B(Jump), U8(14), 615 B(Jump), U8(14),
640 B(LdaSmi), I8(-1), 616 B(LdaSmi), I8(-1),
617 B(Star), R(13),
618 B(Jump), U8(8),
641 B(Star), R(14), 619 B(Star), R(14),
642 B(Jump), U8(8), 620 B(LdaSmi), I8(2),
621 B(Star), R(13),
622 B(LdaTheHole),
623 B(SetPendingMessage),
643 B(Star), R(15), 624 B(Star), R(15),
644 B(LdaSmi), I8(2), 625 B(LdaUndefined),
645 B(Star), R(14),
646 B(LdaTheHole),
647 B(SetPendingMessage),
648 B(Star), R(16), 626 B(Star), R(16),
649 B(LdaUndefined), 627 B(Mov), R(7), R(17),
650 B(Star), R(17), 628 B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8 (2),
651 B(Mov), R(7), R(18), 629 B(Ldar), R(15),
652 B(CallJSRuntime), U8(%async_function_promise_release), R(17), U8 (2), 630 B(SetPendingMessage),
653 B(Ldar), R(16), 631 B(Ldar), R(13),
654 B(SetPendingMessage),
655 B(Ldar), R(14),
656 B(SwitchOnSmiNoFeedback), U8(25), U8(3), I8(0), 632 B(SwitchOnSmiNoFeedback), U8(25), U8(3), I8(0),
657 B(Jump), U8(24), 633 B(Jump), U8(24),
658 B(Ldar), R(15), 634 B(Ldar), R(14),
659 /* 68 S> */ B(Return), 635 /* 68 S> */ B(Return),
660 B(LdaUndefined), 636 B(LdaUndefined),
661 B(Star), R(17), 637 B(Star), R(16),
662 B(Mov), R(7), R(18), 638 B(Mov), R(7), R(17),
663 B(Mov), R(15), R(19), 639 B(Mov), R(14), R(18),
664 B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3), 640 B(CallJSRuntime), U8(%promise_resolve), R(16), U8(3),
665 B(Ldar), R(7), 641 B(Ldar), R(7),
666 /* 68 S> */ B(Return), 642 /* 68 S> */ B(Return),
667 B(Ldar), R(15), 643 B(Ldar), R(14),
668 B(ReThrow), 644 B(ReThrow),
669 B(LdaUndefined), 645 B(LdaUndefined),
670 /* 68 S> */ B(Return), 646 /* 68 S> */ B(Return),
671 ] 647 ]
672 constant pool: [ 648 constant pool: [
673 Smi [102], 649 Smi [102],
674 Smi [394], 650 Smi [385],
675 Smi [498], 651 Smi [480],
676 TUPLE2_TYPE, 652 TUPLE2_TYPE,
677 SYMBOL_TYPE, 653 SYMBOL_TYPE,
678 SYMBOL_TYPE, 654 SYMBOL_TYPE,
679 Smi [56], 655 Smi [56],
680 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 656 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
681 Smi [24], 657 Smi [15],
682 Smi [7], 658 Smi [7],
683 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 659 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
684 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 660 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
685 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 661 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
686 FIXED_ARRAY_TYPE, 662 FIXED_ARRAY_TYPE,
687 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 663 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
688 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 664 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
689 Smi [24], 665 Smi [15],
690 Smi [7], 666 Smi [7],
691 FIXED_ARRAY_TYPE, 667 FIXED_ARRAY_TYPE,
692 Smi [24], 668 Smi [15],
693 Smi [7], 669 Smi [7],
694 Smi [6], 670 Smi [6],
695 Smi [14], 671 Smi [14],
696 Smi [23], 672 Smi [23],
697 FIXED_ARRAY_TYPE, 673 FIXED_ARRAY_TYPE,
698 Smi [6], 674 Smi [6],
699 Smi [9], 675 Smi [9],
700 Smi [25], 676 Smi [25],
701 ] 677 ]
702 handlers: [ 678 handlers: [
703 [62, 670, 676], 679 [62, 643, 649],
704 [65, 625, 627], 680 [65, 598, 600],
705 [71, 306, 312], 681 [71, 297, 303],
706 [74, 266, 268], 682 [74, 257, 259],
707 [373, 455, 457], 683 [364, 437, 439],
708 ] 684 ]
709 685
710 --- 686 ---
711 snippet: " 687 snippet: "
712 async function f() { 688 async function f() {
713 for await (let x of [10, 20, 30]) { 689 for await (let x of [10, 20, 30]) {
714 if (x == 10) continue; 690 if (x == 10) continue;
715 if (x == 20) break; 691 if (x == 20) break;
716 } 692 }
717 } 693 }
718 f(); 694 f();
719 " 695 "
720 frame size: 26 696 frame size: 25
721 parameter count: 1 697 parameter count: 1
722 bytecode array length: 721 698 bytecode array length: 694
723 bytecodes: [ 699 bytecodes: [
724 B(Mov), R(new_target), R(11), 700 B(Mov), R(new_target), R(11),
725 B(Ldar), R(new_target), 701 B(Ldar), R(new_target),
726 B(JumpIfUndefined), U8(25), 702 B(JumpIfUndefined), U8(25),
727 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1), 703 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U 8(1),
728 B(PushContext), R(13), 704 B(PushContext), R(13),
729 B(RestoreGeneratorState), R(11), 705 B(RestoreGeneratorState), R(11),
730 B(Star), R(12), 706 B(Star), R(12),
731 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), 707 B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0),
732 B(LdaSmi), I8(79), 708 B(LdaSmi), I8(79),
733 B(Star), R(14), 709 B(Star), R(13),
734 B(CallRuntime), U16(Runtime::kAbort), R(14), U8(1), 710 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
735 B(LdaSmi), I8(-2), 711 B(LdaSmi), I8(-2),
736 B(Star), R(12), 712 B(Star), R(12),
737 B(Mov), R(closure), R(14), 713 B(Mov), R(closure), R(13),
738 B(Mov), R(this), R(15), 714 B(Mov), R(this), R(14),
739 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(14 ), U8(2), 715 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13 ), U8(2),
740 B(Star), R(2), 716 B(Star), R(2),
741 /* 16 E> */ B(StackCheck), 717 /* 16 E> */ B(StackCheck),
742 B(LdaUndefined), 718 B(LdaUndefined),
743 B(Star), R(14), 719 B(Star), R(13),
744 B(CallJSRuntime), U8(%async_function_promise_create), R(14), U8( 1), 720 B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8( 1),
745 B(Star), R(7), 721 B(Star), R(7),
722 B(Mov), R(context), R(15),
723 B(Mov), R(2), R(11),
746 B(Mov), R(context), R(16), 724 B(Mov), R(context), R(16),
747 B(Mov), R(2), R(11),
748 B(Mov), R(context), R(17),
749 B(LdaZero), 725 B(LdaZero),
750 B(Star), R(6), 726 B(Star), R(6),
727 B(Mov), R(context), R(19),
751 B(Mov), R(context), R(20), 728 B(Mov), R(context), R(20),
752 B(Mov), R(context), R(21),
753 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17), 729 /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17),
754 B(Star), R(22), 730 B(Star), R(21),
755 B(LdaNamedProperty), R(22), U8(4), U8(8), 731 B(LdaNamedProperty), R(21), U8(4), U8(8),
756 B(JumpIfUndefined), U8(17), 732 B(JumpIfUndefined), U8(17),
757 B(JumpIfNull), U8(15), 733 B(JumpIfNull), U8(15),
758 B(Star), R(23), 734 B(Star), R(22),
759 B(CallProperty0), R(23), R(22), U8(10), 735 B(CallProperty0), R(22), R(21), U8(10),
760 B(JumpIfJSReceiver), U8(23), 736 B(JumpIfJSReceiver), U8(23),
761 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), 737 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
762 B(LdaNamedProperty), R(22), U8(5), U8(4), 738 B(LdaNamedProperty), R(21), U8(5), U8(4),
763 B(Star), R(23), 739 B(Star), R(22),
764 B(CallProperty0), R(23), R(22), U8(6), 740 B(CallProperty0), R(22), R(21), U8(6),
765 B(Star), R(23), 741 B(Star), R(22),
766 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(23), U8(1), 742 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1),
767 B(Star), R(4), 743 B(Star), R(4),
768 B(Ldar), R(12), 744 B(Ldar), R(12),
769 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), 745 B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0),
770 B(LdaSmi), I8(-2), 746 B(LdaSmi), I8(-2),
771 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), 747 /* 43 E> */ B(TestEqualStrictNoFeedback), R(12),
772 B(JumpIfTrue), U8(11), 748 B(JumpIfTrue), U8(11),
773 B(LdaSmi), I8(79), 749 B(LdaSmi), I8(79),
774 B(Star), R(22), 750 B(Star), R(21),
775 B(CallRuntime), U16(Runtime::kAbort), R(22), U8(1), 751 B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1),
776 /* 40 S> */ B(LdaUndefined), 752 /* 40 S> */ B(LdaUndefined),
777 B(Star), R(22), 753 B(Star), R(21),
778 B(LdaNamedProperty), R(4), U8(7), U8(14), 754 B(LdaNamedProperty), R(4), U8(7), U8(14),
779 B(Star), R(24), 755 B(Star), R(23),
780 B(CallProperty0), R(24), R(4), U8(12), 756 B(CallProperty0), R(23), R(4), U8(12),
781 B(Star), R(24), 757 B(Star), R(23),
782 B(Mov), R(2), R(23), 758 B(Mov), R(2), R(22),
783 B(Mov), R(7), R(25), 759 B(Mov), R(7), R(24),
784 B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8( 4), 760 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4),
785 B(LdaZero), 761 B(LdaZero),
786 B(Mov), R(7), R(22), 762 B(Mov), R(7), R(21),
787 B(SuspendGenerator), R(11), R(0), U8(22), U8(2), 763 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
788 B(Ldar), R(22), 764 B(Ldar), R(21),
789 /* 114 S> */ B(Return), 765 /* 114 S> */ B(Return),
790 B(RestoreGeneratorRegisters), R(11), R(0), U8(22), 766 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
791 B(LdaSmi), I8(-2), 767 B(LdaSmi), I8(-2),
792 B(Star), R(12), 768 B(Star), R(12),
793 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 769 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
794 B(Star), R(22), 770 B(Star), R(21),
795 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 771 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
796 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0), 772 B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
797 B(Ldar), R(22), 773 B(Ldar), R(21),
798 /* 40 E> */ B(ReThrow), 774 /* 40 E> */ B(ReThrow),
799 B(LdaTrue),
800 B(Star), R(24),
801 B(Mov), R(22), R(23),
802 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
803 B(Star), R(19),
804 B(LdaZero), 775 B(LdaZero),
805 B(Star), R(18), 776 B(Star), R(17),
777 B(Mov), R(21), R(18),
806 B(Jump), U8(116), 778 B(Jump), U8(116),
807 B(Mov), R(22), R(5), 779 B(Mov), R(21), R(5),
808 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(22), U8(1), 780 /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1),
809 B(ToBooleanLogicalNot), 781 B(ToBooleanLogicalNot),
810 B(JumpIfFalse), U8(7), 782 B(JumpIfFalse), U8(7),
811 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1), 783 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
812 B(LdaNamedProperty), R(5), U8(10), U8(16), 784 B(LdaNamedProperty), R(5), U8(10), U8(16),
813 B(JumpIfToBooleanTrue), U8(43), 785 B(JumpIfToBooleanTrue), U8(43),
814 B(LdaNamedProperty), R(5), U8(11), U8(18), 786 B(LdaNamedProperty), R(5), U8(11), U8(18),
815 B(Star), R(8), 787 B(Star), R(8),
816 B(LdaSmi), I8(2), 788 B(LdaSmi), I8(2),
817 B(Star), R(6), 789 B(Star), R(6),
818 B(Mov), R(8), R(3), 790 B(Mov), R(8), R(3),
819 /* 23 E> */ B(StackCheck), 791 /* 23 E> */ B(StackCheck),
820 B(Mov), R(3), R(0), 792 B(Mov), R(3), R(0),
821 /* 63 S> */ B(LdaSmi), I8(10), 793 /* 63 S> */ B(LdaSmi), I8(10),
822 /* 69 E> */ B(TestEqual), R(0), U8(20), 794 /* 69 E> */ B(TestEqual), R(0), U8(20),
823 B(JumpIfFalse), U8(4), 795 B(JumpIfFalse), U8(4),
824 /* 76 S> */ B(Jump), U8(14), 796 /* 76 S> */ B(Jump), U8(14),
825 /* 90 S> */ B(LdaSmi), I8(20), 797 /* 90 S> */ B(LdaSmi), I8(20),
826 /* 96 E> */ B(TestEqual), R(0), U8(21), 798 /* 96 E> */ B(TestEqual), R(0), U8(21),
827 B(JumpIfFalse), U8(4), 799 B(JumpIfFalse), U8(4),
828 /* 103 S> */ B(Jump), U8(8), 800 /* 103 S> */ B(Jump), U8(8),
829 B(LdaZero), 801 B(LdaZero),
830 B(Star), R(6), 802 B(Star), R(6),
831 B(JumpLoop), U8(159), I8(0), 803 B(JumpLoop), U8(150), I8(0),
832 B(Jump), U8(40), 804 B(Jump), U8(40),
833 B(Star), R(22), 805 B(Star), R(21),
834 B(Ldar), R(closure), 806 B(Ldar), R(closure),
835 B(CreateCatchContext), R(22), U8(12), U8(13), 807 B(CreateCatchContext), R(21), U8(12), U8(13),
836 B(Star), R(21), 808 B(Star), R(20),
837 B(LdaTheHole), 809 B(LdaTheHole),
838 B(SetPendingMessage), 810 B(SetPendingMessage),
839 B(Ldar), R(21), 811 B(Ldar), R(20),
840 B(PushContext), R(22), 812 B(PushContext), R(21),
841 B(LdaSmi), I8(2), 813 B(LdaSmi), I8(2),
842 B(TestEqualStrict), R(6), U8(22), 814 B(TestEqualStrict), R(6), U8(22),
843 B(JumpIfFalse), U8(6), 815 B(JumpIfFalse), U8(6),
844 B(LdaSmi), I8(1), 816 B(LdaSmi), I8(1),
845 B(Star), R(6), 817 B(Star), R(6),
846 B(LdaImmutableCurrentContextSlot), U8(4), 818 B(LdaImmutableCurrentContextSlot), U8(4),
847 B(Star), R(23), 819 B(Star), R(22),
848 B(CallRuntime), U16(Runtime::kReThrow), R(23), U8(1), 820 B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1),
849 B(PopContext), R(22), 821 B(PopContext), R(21),
850 B(LdaSmi), I8(-1), 822 B(LdaSmi), I8(-1),
823 B(Star), R(17),
824 B(Jump), U8(8),
851 B(Star), R(18), 825 B(Star), R(18),
852 B(Jump), U8(8), 826 B(LdaSmi), I8(1),
827 B(Star), R(17),
828 B(LdaTheHole),
829 B(SetPendingMessage),
853 B(Star), R(19), 830 B(Star), R(19),
854 B(LdaSmi), I8(1),
855 B(Star), R(18),
856 B(LdaTheHole),
857 B(SetPendingMessage),
858 B(Star), R(20),
859 B(LdaZero), 831 B(LdaZero),
860 B(TestEqualStrict), R(6), U8(23), 832 B(TestEqualStrict), R(6), U8(23),
861 B(JumpIfTrue), U8(247), 833 B(JumpIfTrue), U8(229),
862 B(LdaNamedProperty), R(4), U8(14), U8(24), 834 B(LdaNamedProperty), R(4), U8(14), U8(24),
863 B(Star), R(9), 835 B(Star), R(9),
864 B(TestUndetectable), 836 B(TestUndetectable),
865 B(JumpIfFalse), U8(4), 837 B(JumpIfFalse), U8(4),
866 B(Jump), U8(236), 838 B(Jump), U8(218),
867 B(LdaSmi), I8(1), 839 B(LdaSmi), I8(1),
868 B(TestEqualStrict), R(6), U8(27), 840 B(TestEqualStrict), R(6), U8(27),
869 B(JumpIfFalse), U8(133), 841 B(JumpIfFalse), U8(124),
870 B(Ldar), R(9), 842 B(Ldar), R(9),
871 B(TestTypeOf), U8(5), 843 B(TestTypeOf), U8(5),
872 B(JumpIfFalse), U8(4), 844 B(JumpIfFalse), U8(4),
873 B(Jump), U8(18), 845 B(Jump), U8(18),
874 B(Wide), B(LdaSmi), I16(130), 846 B(Wide), B(LdaSmi), I16(130),
875 B(Star), R(21), 847 B(Star), R(20),
876 B(LdaConstant), U8(15), 848 B(LdaConstant), U8(15),
877 B(Star), R(22), 849 B(Star), R(21),
878 B(CallRuntime), U16(Runtime::kNewTypeError), R(21), U8(2), 850 B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2),
879 B(Throw), 851 B(Throw),
880 B(Mov), R(context), R(21), 852 B(Mov), R(context), R(20),
881 B(LdaUndefined),
882 B(Star), R(22),
883 B(Mov), R(9), R(24),
884 B(Mov), R(4), R(25),
885 B(InvokeIntrinsic), U8(Runtime::k_Call), R(24), U8(2),
886 B(Star), R(24),
887 B(Mov), R(2), R(23),
888 B(Mov), R(7), R(25),
889 B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(4) ,
890 B(LdaSmi), I8(1),
891 B(Mov), R(7), R(22),
892 B(SuspendGenerator), R(11), R(0), U8(22), U8(2),
893 B(Ldar), R(22),
894 /* 114 S> */ B(Return),
895 B(RestoreGeneratorRegisters), R(11), R(0), U8(22),
896 B(LdaSmi), I8(-2),
897 B(Star), R(12),
898 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
899 B(Star), R(22),
900 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
901 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
902 B(Ldar), R(22),
903 B(ReThrow),
904 B(LdaTrue),
905 B(Star), R(24),
906 B(Mov), R(22), R(23),
907 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
908 B(Star), R(15),
909 B(LdaZero),
910 B(Star), R(14),
911 B(Jump), U8(222),
912 B(Ldar), R(22),
913 B(Jump), U8(20),
914 B(Star), R(22),
915 B(Ldar), R(closure),
916 B(CreateCatchContext), R(22), U8(12), U8(18),
917 B(Star), R(21),
918 B(LdaTheHole),
919 B(SetPendingMessage),
920 B(Ldar), R(21),
921 B(PushContext), R(22),
922 B(PopContext), R(22),
923 B(Jump), U8(98),
924 B(LdaUndefined), 853 B(LdaUndefined),
925 B(Star), R(21), 854 B(Star), R(21),
926 B(Mov), R(9), R(23), 855 B(Mov), R(9), R(23),
927 B(Mov), R(4), R(24), 856 B(Mov), R(4), R(24),
928 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2), 857 B(InvokeIntrinsic), U8(Runtime::k_Call), R(23), U8(2),
929 B(Star), R(23), 858 B(Star), R(23),
930 B(Mov), R(2), R(22), 859 B(Mov), R(2), R(22),
931 B(Mov), R(7), R(24), 860 B(Mov), R(7), R(24),
932 B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8( 4), 861 B(CallJSRuntime), U8(%async_function_await_caught), R(21), U8(4) ,
933 B(LdaSmi), I8(2), 862 B(LdaSmi), I8(1),
934 B(Mov), R(7), R(21), 863 B(Mov), R(7), R(21),
935 B(SuspendGenerator), R(11), R(0), U8(21), U8(2), 864 B(SuspendGenerator), R(11), R(0), U8(21), U8(2),
936 B(Ldar), R(21), 865 B(Ldar), R(21),
937 /* 114 S> */ B(Return), 866 /* 114 S> */ B(Return),
938 B(RestoreGeneratorRegisters), R(11), R(0), U8(21), 867 B(RestoreGeneratorRegisters), R(11), R(0), U8(21),
939 B(LdaSmi), I8(-2), 868 B(LdaSmi), I8(-2),
940 B(Star), R(12), 869 B(Star), R(12),
941 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), 870 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
942 B(Star), R(21), 871 B(Star), R(21),
943 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1), 872 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
873 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
874 B(Ldar), R(21),
875 B(ReThrow),
876 B(LdaZero),
877 B(Star), R(13),
878 B(Mov), R(21), R(14),
879 B(Jump), U8(213),
880 B(Ldar), R(21),
881 B(Jump), U8(20),
882 B(Star), R(21),
883 B(Ldar), R(closure),
884 B(CreateCatchContext), R(21), U8(12), U8(18),
885 B(Star), R(20),
886 B(LdaTheHole),
887 B(SetPendingMessage),
888 B(Ldar), R(20),
889 B(PushContext), R(21),
890 B(PopContext), R(21),
891 B(Jump), U8(89),
892 B(LdaUndefined),
893 B(Star), R(20),
894 B(Mov), R(9), R(22),
895 B(Mov), R(4), R(23),
896 B(InvokeIntrinsic), U8(Runtime::k_Call), R(22), U8(2),
897 B(Star), R(22),
898 B(Mov), R(2), R(21),
899 B(Mov), R(7), R(23),
900 B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8( 4),
901 B(LdaSmi), I8(2),
902 B(Mov), R(7), R(20),
903 B(SuspendGenerator), R(11), R(0), U8(20), U8(2),
904 B(Ldar), R(20),
905 /* 114 S> */ B(Return),
906 B(RestoreGeneratorRegisters), R(11), R(0), U8(20),
907 B(LdaSmi), I8(-2),
908 B(Star), R(12),
909 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1),
910 B(Star), R(20),
911 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11) , U8(1),
944 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0), 912 B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0),
945 B(Ldar), R(21), 913 B(Ldar), R(20),
946 B(ReThrow), 914 B(ReThrow),
947 B(LdaTrue), 915 B(LdaZero),
948 B(Star), R(23), 916 B(Star), R(13),
949 B(Mov), R(21), R(22), 917 B(Mov), R(20), R(14),
950 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(22) , U8(2),
951 B(Star), R(15),
952 B(LdaZero),
953 B(Star), R(14),
954 B(Jump), U8(118), 918 B(Jump), U8(118),
955 B(Mov), R(21), R(10), 919 B(Mov), R(20), R(10),
956 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(21), U8(1), 920 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1),
957 B(JumpIfToBooleanFalse), U8(4), 921 B(JumpIfToBooleanFalse), U8(4),
958 B(Jump), U8(7), 922 B(Jump), U8(7),
959 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1), 923 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (10), U8(1),
960 B(Ldar), R(20), 924 B(Ldar), R(19),
961 B(SetPendingMessage), 925 B(SetPendingMessage),
962 B(Ldar), R(18), 926 B(Ldar), R(17),
963 B(SwitchOnSmiNoFeedback), U8(21), U8(2), I8(0), 927 B(SwitchOnSmiNoFeedback), U8(21), U8(2), I8(0),
964 B(Jump), U8(13), 928 B(Jump), U8(13),
965 B(LdaZero), 929 B(LdaZero),
966 B(Star), R(14), 930 B(Star), R(13),
967 B(Mov), R(19), R(15), 931 B(Mov), R(18), R(14),
968 B(Jump), U8(83), 932 B(Jump), U8(83),
969 B(Ldar), R(19), 933 B(Ldar), R(18),
970 B(ReThrow), 934 B(ReThrow),
971 B(LdaUndefined), 935 B(LdaUndefined),
972 B(Star), R(18), 936 B(Star), R(17),
973 B(LdaUndefined), 937 B(LdaUndefined),
974 B(Star), R(20), 938 B(Star), R(19),
975 B(Mov), R(7), R(19), 939 B(Mov), R(7), R(18),
976 B(CallJSRuntime), U8(%promise_resolve), R(18), U8(3), 940 B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3),
977 B(LdaZero), 941 B(LdaZero),
978 B(Star), R(14), 942 B(Star), R(13),
979 B(Mov), R(7), R(15), 943 B(Mov), R(7), R(14),
980 B(Jump), U8(59), 944 B(Jump), U8(59),
981 B(Jump), U8(45), 945 B(Jump), U8(45),
946 B(Star), R(17),
947 B(Ldar), R(closure),
948 B(CreateCatchContext), R(17), U8(12), U8(23),
949 B(Star), R(16),
950 B(LdaTheHole),
951 B(SetPendingMessage),
952 B(Ldar), R(16),
953 B(PushContext), R(17),
954 B(LdaUndefined),
982 B(Star), R(18), 955 B(Star), R(18),
983 B(Ldar), R(closure),
984 B(CreateCatchContext), R(18), U8(12), U8(23),
985 B(Star), R(17),
986 B(LdaTheHole),
987 B(SetPendingMessage),
988 B(Ldar), R(17),
989 B(PushContext), R(18),
990 B(LdaUndefined),
991 B(Star), R(19),
992 B(LdaImmutableCurrentContextSlot), U8(4), 956 B(LdaImmutableCurrentContextSlot), U8(4),
993 B(Star), R(21), 957 B(Star), R(20),
994 B(LdaFalse), 958 B(LdaFalse),
995 B(Star), R(22), 959 B(Star), R(21),
996 B(Mov), R(7), R(20), 960 B(Mov), R(7), R(19),
997 B(CallJSRuntime), U8(%promise_internal_reject), R(19), U8(4), 961 B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4),
998 B(PopContext), R(18), 962 B(PopContext), R(17),
999 B(LdaZero), 963 B(LdaZero),
1000 B(Star), R(14), 964 B(Star), R(13),
1001 B(Mov), R(7), R(15), 965 B(Mov), R(7), R(14),
1002 B(Jump), U8(14), 966 B(Jump), U8(14),
1003 B(LdaSmi), I8(-1), 967 B(LdaSmi), I8(-1),
968 B(Star), R(13),
969 B(Jump), U8(8),
1004 B(Star), R(14), 970 B(Star), R(14),
1005 B(Jump), U8(8), 971 B(LdaSmi), I8(1),
972 B(Star), R(13),
973 B(LdaTheHole),
974 B(SetPendingMessage),
1006 B(Star), R(15), 975 B(Star), R(15),
1007 B(LdaSmi), I8(1), 976 B(LdaUndefined),
1008 B(Star), R(14),
1009 B(LdaTheHole),
1010 B(SetPendingMessage),
1011 B(Star), R(16), 977 B(Star), R(16),
1012 B(LdaUndefined), 978 B(Mov), R(7), R(17),
1013 B(Star), R(17), 979 B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8 (2),
1014 B(Mov), R(7), R(18), 980 B(Ldar), R(15),
1015 B(CallJSRuntime), U8(%async_function_promise_release), R(17), U8 (2), 981 B(SetPendingMessage),
1016 B(Ldar), R(16), 982 B(Ldar), R(13),
1017 B(SetPendingMessage),
1018 B(Ldar), R(14),
1019 B(SwitchOnSmiNoFeedback), U8(24), U8(2), I8(0), 983 B(SwitchOnSmiNoFeedback), U8(24), U8(2), I8(0),
1020 B(Jump), U8(8), 984 B(Jump), U8(8),
1021 B(Ldar), R(15), 985 B(Ldar), R(14),
1022 /* 114 S> */ B(Return), 986 /* 114 S> */ B(Return),
1023 B(Ldar), R(15), 987 B(Ldar), R(14),
1024 B(ReThrow), 988 B(ReThrow),
1025 B(LdaUndefined), 989 B(LdaUndefined),
1026 /* 114 S> */ B(Return), 990 /* 114 S> */ B(Return),
1027 ] 991 ]
1028 constant pool: [ 992 constant pool: [
1029 Smi [102], 993 Smi [102],
1030 Smi [409], 994 Smi [400],
1031 Smi [513], 995 Smi [495],
1032 TUPLE2_TYPE, 996 TUPLE2_TYPE,
1033 SYMBOL_TYPE, 997 SYMBOL_TYPE,
1034 SYMBOL_TYPE, 998 SYMBOL_TYPE,
1035 Smi [56], 999 Smi [56],
1036 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 1000 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
1037 Smi [24], 1001 Smi [15],
1038 Smi [7], 1002 Smi [7],
1039 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 1003 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
1040 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 1004 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
1041 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 1005 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
1042 FIXED_ARRAY_TYPE, 1006 FIXED_ARRAY_TYPE,
1043 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 1007 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
1044 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 1008 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
1045 Smi [24], 1009 Smi [15],
1046 Smi [7], 1010 Smi [7],
1047 FIXED_ARRAY_TYPE, 1011 FIXED_ARRAY_TYPE,
1048 Smi [24], 1012 Smi [15],
1049 Smi [7], 1013 Smi [7],
1050 Smi [6], 1014 Smi [6],
1051 Smi [14], 1015 Smi [14],
1052 FIXED_ARRAY_TYPE, 1016 FIXED_ARRAY_TYPE,
1053 Smi [6], 1017 Smi [6],
1054 Smi [9], 1018 Smi [9],
1055 ] 1019 ]
1056 handlers: [ 1020 handlers: [
1057 [62, 676, 682], 1021 [62, 649, 655],
1058 [65, 631, 633], 1022 [65, 604, 606],
1059 [71, 321, 327], 1023 [71, 312, 318],
1060 [74, 281, 283], 1024 [74, 272, 274],
1061 [388, 470, 472], 1025 [379, 452, 454],
1062 ] 1026 ]
1063 1027
1064 --- 1028 ---
1065 snippet: " 1029 snippet: "
1066 async function f() { 1030 async function f() {
1067 var x = { 'a': 1, 'b': 2 }; 1031 var x = { 'a': 1, 'b': 2 };
1068 for (x['a'] of [1,2,3]) { return x['a']; } 1032 for (x['a'] of [1,2,3]) { return x['a']; }
1069 } 1033 }
1070 f(); 1034 f();
1071 " 1035 "
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 Smi [25], 1248 Smi [25],
1285 ] 1249 ]
1286 handlers: [ 1250 handlers: [
1287 [13, 371, 377], 1251 [13, 371, 377],
1288 [16, 325, 327], 1252 [16, 325, 327],
1289 [30, 157, 163], 1253 [30, 157, 163],
1290 [33, 117, 119], 1254 [33, 117, 119],
1291 [224, 234, 236], 1255 [224, 234, 236],
1292 ] 1256 ]
1293 1257
OLDNEW
« no previous file with comments | « src/parsing/preparser.h ('k') | test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698