OLD | NEW |
---|---|
(Empty) | |
1 # | |
2 # Autogenerated by generate-bytecode-expectations. | |
3 # | |
4 | |
5 --- | |
6 wrap: no | |
7 test function name: f | |
8 async iteration: yes | |
9 | |
10 --- | |
11 snippet: " | |
12 async function f() { | |
13 for await (let x of [1, 2, 3]) {} | |
14 } | |
15 f(); | |
16 " | |
17 frame size: 19 | |
18 parameter count: 1 | |
19 bytecode array length: 1055 | |
20 bytecodes: [ | |
21 B(Ldar), R(new_target), | |
22 B(JumpIfUndefined), U8(42), | |
23 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe t), U8(1), | |
24 B(PushContext), R(4), | |
25 B(ResumeGenerator), R(new_target), | |
26 B(Star), R(3), | |
27 B(LdaZero), | |
28 B(TestEqualStrict), R(3), U8(0), | |
29 B(JumpIfTrue), U8(136), | |
30 B(LdaSmi), I8(1), | |
31 B(TestEqualStrict), R(3), U8(0), | |
32 B(JumpIfTrueConstant), U8(13), | |
33 B(LdaSmi), I8(2), | |
34 B(TestEqualStrict), R(3), U8(0), | |
35 B(JumpIfTrueConstant), U8(15), | |
36 B(LdaSmi), I8(78), | |
37 B(Star), R(5), | |
38 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | |
39 B(LdaSmi), I8(-2), | |
40 B(Star), R(3), | |
41 B(CreateFunctionContext), U8(13), | |
42 B(PushContext), R(0), | |
43 B(Ldar), R(this), | |
44 B(StaCurrentContextSlot), U8(4), | |
45 /* 16 E> */ B(StackCheck), | |
46 B(LdaImmutableCurrentContextSlot), U8(4), | |
47 B(Star), R(6), | |
48 B(Mov), R(closure), R(5), | |
49 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2), | |
50 B(StaCurrentContextSlot), U8(5), | |
51 B(LdaUndefined), | |
52 B(Star), R(5), | |
53 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(5), U8(1), | |
caitp
2017/02/15 20:00:40
Should be fixed by https://codereview.chromium.org
| |
54 B(StaCurrentContextSlot), U8(10), | |
55 B(Mov), R(context), R(7), | |
56 B(Mov), R(context), R(8), | |
57 B(Ldar), R(closure), | |
58 B(CreateBlockContext), U8(0), | |
59 B(PushContext), R(1), | |
60 B(LdaTheHole), | |
61 B(StaCurrentContextSlot), U8(4), | |
62 B(LdaZero), | |
63 B(StaContextSlot), R(1), U8(9), U8(0), | |
64 B(Mov), R(context), R(11), | |
65 B(Mov), R(context), R(12), | |
66 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), | |
67 B(Star), R(13), | |
68 B(LdaNamedProperty), R(13), U8(2), U8(7), | |
69 B(JumpIfUndefined), U8(18), | |
70 B(JumpIfNull), U8(16), | |
71 B(Star), R(14), | |
72 B(CallProperty), R(14), R(13), U8(1), U8(9), | |
73 B(JumpIfJSReceiver), U8(24), | |
74 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), | |
75 B(LdaNamedProperty), R(13), U8(3), U8(3), | |
76 B(Star), R(14), | |
77 B(CallProperty), R(14), R(13), U8(1), U8(5), | |
78 B(Star), R(14), | |
79 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1), | |
80 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | |
81 B(LdaSmi), I8(-2), | |
82 B(TestEqual), R(3), U8(0), | |
83 B(JumpIfTrue), U8(17), | |
84 B(LdaZero), | |
85 B(TestEqualStrict), R(3), U8(0), | |
86 B(JumpIfTrue), U8(75), | |
87 B(LdaSmi), I8(78), | |
88 B(Star), R(13), | |
89 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), | |
90 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), | |
91 B(Star), R(14), | |
92 B(LdaNamedProperty), R(14), U8(4), U8(13), | |
93 B(Star), R(13), | |
94 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), | |
95 B(StaContextSlot), R(1), U8(11), U8(0), | |
96 /* 40 S> */ B(LdaUndefined), | |
97 B(Star), R(13), | |
98 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
99 B(Star), R(14), | |
100 B(LdaContextSlot), R(1), U8(11), U8(0), | |
101 B(Star), R(15), | |
102 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
103 B(Star), R(16), | |
104 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
105 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
106 B(Star), R(13), | |
107 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
108 B(Star), R(14), | |
109 B(LdaZero), | |
110 B(SuspendGenerator), R(14), | |
111 B(Ldar), R(13), | |
112 /* 57 S> */ B(Return), | |
113 B(LdaSmi), I8(-2), | |
114 B(Star), R(3), | |
115 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
116 B(Star), R(15), | |
117 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
118 B(Star), R(16), | |
119 B(LdaZero), | |
120 B(TestEqualStrict), R(16), U8(0), | |
121 B(JumpIfTrue), U8(31), | |
122 B(LdaSmi), I8(2), | |
123 B(TestEqualStrict), R(16), U8(0), | |
124 B(JumpIfTrue), U8(21), | |
125 B(Jump), U8(2), | |
126 B(LdaTrue), | |
127 B(Star), R(18), | |
128 B(Mov), R(15), R(17), | |
129 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
130 B(Star), R(10), | |
131 B(LdaZero), | |
132 B(Star), R(9), | |
133 B(Jump), U8(155), | |
134 B(Ldar), R(15), | |
135 B(ReThrow), | |
136 B(Ldar), R(15), | |
137 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), | |
138 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), | |
139 B(ToBooleanLogicalNot), | |
140 B(JumpIfFalse), U8(13), | |
141 B(LdaContextSlot), R(1), U8(8), U8(0), | |
142 B(Star), R(13), | |
143 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), | |
144 B(LdaContextSlot), R(1), U8(8), U8(0), | |
145 B(Star), R(13), | |
146 B(LdaNamedProperty), R(13), U8(5), U8(15), | |
147 B(JumpIfToBooleanTrue), U8(56), | |
148 B(LdaContextSlot), R(1), U8(8), U8(0), | |
149 B(Star), R(13), | |
150 B(LdaNamedProperty), R(13), U8(6), U8(17), | |
151 B(StaContextSlot), R(1), U8(12), U8(0), | |
152 B(LdaSmi), I8(2), | |
153 B(StaContextSlot), R(1), U8(9), U8(0), | |
154 B(LdaContextSlot), R(1), U8(12), U8(0), | |
155 B(StaContextSlot), R(1), U8(6), U8(0), | |
156 /* 23 E> */ B(StackCheck), | |
157 B(Ldar), R(closure), | |
158 B(CreateBlockContext), U8(7), | |
159 B(PushContext), R(2), | |
160 B(LdaTheHole), | |
161 B(StaCurrentContextSlot), U8(4), | |
162 B(LdaContextSlot), R(1), U8(6), U8(0), | |
163 B(StaCurrentContextSlot), U8(4), | |
164 B(PopContext), R(2), | |
165 B(LdaZero), | |
166 B(StaContextSlot), R(1), U8(9), U8(0), | |
167 B(JumpLoop), U8(226), I8(0), | |
168 B(Jump), U8(48), | |
169 B(Star), R(13), | |
170 B(Ldar), R(closure), | |
171 B(CreateCatchContext), R(13), U8(8), U8(9), | |
172 B(Star), R(12), | |
173 B(LdaTheHole), | |
174 B(SetPendingMessage), | |
175 B(Ldar), R(12), | |
176 B(PushContext), R(2), | |
177 B(LdaContextSlot), R(1), U8(9), U8(0), | |
178 B(Star), R(13), | |
179 B(LdaSmi), I8(2), | |
180 B(TestEqualStrict), R(13), U8(19), | |
181 B(JumpIfFalse), U8(8), | |
182 B(LdaSmi), I8(1), | |
183 B(StaContextSlot), R(1), U8(9), U8(0), | |
184 B(LdaImmutableCurrentContextSlot), U8(4), | |
185 B(Star), R(13), | |
186 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), | |
187 B(PopContext), R(2), | |
188 B(LdaSmi), I8(-1), | |
189 B(Star), R(9), | |
190 B(Jump), U8(8), | |
191 B(Star), R(10), | |
192 B(LdaSmi), I8(1), | |
193 B(Star), R(9), | |
194 B(LdaTheHole), | |
195 B(SetPendingMessage), | |
196 B(Star), R(11), | |
197 B(LdaContextSlot), R(1), U8(9), U8(0), | |
198 B(Star), R(12), | |
199 B(LdaZero), | |
200 B(TestEqualStrict), R(12), U8(20), | |
201 B(JumpIfTrueConstant), U8(17), | |
202 B(LdaContextSlot), R(1), U8(7), U8(0), | |
203 B(Star), R(12), | |
204 B(LdaNamedProperty), R(12), U8(10), U8(21), | |
205 B(StaContextSlot), R(1), U8(13), U8(0), | |
206 B(LdaContextSlot), R(1), U8(13), U8(0), | |
207 B(Star), R(12), | |
208 B(TestUndetectable), R(12), | |
209 B(JumpIfFalse), U8(4), | |
210 B(JumpConstant), U8(16), | |
211 B(LdaContextSlot), R(1), U8(9), U8(0), | |
212 B(Star), R(12), | |
213 B(LdaSmi), I8(1), | |
214 B(TestEqualStrict), R(12), U8(24), | |
215 B(JumpIfFalse), U8(186), | |
216 B(LdaContextSlot), R(1), U8(13), U8(0), | |
217 B(TypeOf), | |
218 B(Star), R(12), | |
219 B(LdaConstant), U8(11), | |
220 B(TestEqualStrict), R(12), U8(25), | |
221 B(JumpIfFalse), U8(4), | |
222 B(Jump), U8(18), | |
223 B(Wide), B(LdaSmi), I16(130), | |
224 B(Star), R(12), | |
225 B(LdaConstant), U8(12), | |
226 B(Star), R(13), | |
227 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), | |
228 B(Throw), | |
229 B(Mov), R(context), R(12), | |
230 B(LdaContextSlot), R(1), U8(13), U8(0), | |
231 B(Star), R(13), | |
232 B(LdaContextSlot), R(1), U8(7), U8(0), | |
233 B(Star), R(14), | |
234 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), | |
235 B(StaContextSlot), R(1), U8(14), U8(0), | |
236 B(LdaUndefined), | |
237 B(Star), R(13), | |
238 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
239 B(Star), R(14), | |
240 B(LdaContextSlot), R(1), U8(14), U8(0), | |
241 B(Star), R(15), | |
242 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
243 B(Star), R(16), | |
244 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
245 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
246 B(Star), R(13), | |
247 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
248 B(Star), R(14), | |
249 B(LdaSmi), I8(1), | |
250 B(SuspendGenerator), R(14), | |
251 B(Ldar), R(13), | |
252 /* 57 S> */ B(Return), | |
253 B(LdaSmi), I8(-2), | |
254 B(Star), R(3), | |
255 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
256 B(Star), R(15), | |
257 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
258 B(Star), R(16), | |
259 B(LdaZero), | |
260 B(TestEqualStrict), R(16), U8(0), | |
261 B(JumpIfTrue), U8(39), | |
262 B(LdaSmi), I8(2), | |
263 B(TestEqualStrict), R(16), U8(0), | |
264 B(JumpIfTrue), U8(29), | |
265 B(Jump), U8(2), | |
266 B(LdaTrue), | |
267 B(Star), R(18), | |
268 B(Mov), R(15), R(17), | |
269 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
270 B(PopContext), R(1), | |
271 B(PopContext), R(1), | |
272 B(PopContext), R(1), | |
273 B(PopContext), R(1), | |
274 B(Star), R(6), | |
275 B(LdaZero), | |
276 B(Star), R(5), | |
277 B(JumpConstant), U8(19), | |
278 B(Ldar), R(15), | |
279 B(ReThrow), | |
280 B(Ldar), R(15), | |
281 B(Jump), U8(20), | |
282 B(Star), R(13), | |
283 B(Ldar), R(closure), | |
284 B(CreateCatchContext), R(13), U8(8), U8(14), | |
285 B(Star), R(12), | |
286 B(LdaTheHole), | |
287 B(SetPendingMessage), | |
288 B(Ldar), R(12), | |
289 B(PushContext), R(2), | |
290 B(PopContext), R(2), | |
291 B(Jump), U8(159), | |
292 B(LdaContextSlot), R(1), U8(13), U8(0), | |
293 B(Star), R(12), | |
294 B(LdaContextSlot), R(1), U8(7), U8(0), | |
295 B(Star), R(13), | |
296 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), | |
297 B(StaContextSlot), R(1), U8(16), U8(0), | |
298 B(LdaUndefined), | |
299 B(Star), R(12), | |
300 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
301 B(Star), R(13), | |
302 B(LdaContextSlot), R(1), U8(16), U8(0), | |
303 B(Star), R(14), | |
304 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
305 B(Star), R(15), | |
306 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(12), U8(4), | |
307 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
308 B(Star), R(12), | |
309 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
310 B(Star), R(13), | |
311 B(LdaSmi), I8(2), | |
312 B(SuspendGenerator), R(13), | |
313 B(Ldar), R(12), | |
314 /* 57 S> */ B(Return), | |
315 B(LdaSmi), I8(-2), | |
316 B(Star), R(3), | |
317 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 3), U8(1), | |
318 B(Star), R(14), | |
319 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U 8(1), | |
320 B(Star), R(15), | |
321 B(LdaZero), | |
322 B(TestEqualStrict), R(15), U8(0), | |
323 B(JumpIfTrue), U8(40), | |
324 B(LdaSmi), I8(2), | |
325 B(TestEqualStrict), R(15), U8(0), | |
326 B(JumpIfTrue), U8(30), | |
327 B(Jump), U8(2), | |
328 B(LdaTrue), | |
329 B(Star), R(17), | |
330 B(Mov), R(14), R(16), | |
331 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2), | |
332 B(PopContext), R(1), | |
333 B(PopContext), R(1), | |
334 B(PopContext), R(1), | |
335 B(PopContext), R(1), | |
336 B(Star), R(6), | |
337 B(LdaSmi), I8(1), | |
338 B(Star), R(5), | |
339 B(Jump), U8(170), | |
340 B(Ldar), R(14), | |
341 B(ReThrow), | |
342 B(Ldar), R(14), | |
343 B(StaContextSlot), R(1), U8(15), U8(0), | |
344 B(LdaContextSlot), R(1), U8(15), U8(0), | |
345 B(Star), R(12), | |
346 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), | |
347 B(JumpIfToBooleanFalse), U8(4), | |
348 B(Jump), U8(13), | |
349 B(LdaContextSlot), R(1), U8(15), U8(0), | |
350 B(Star), R(12), | |
351 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), | |
352 B(Ldar), R(11), | |
353 B(SetPendingMessage), | |
354 B(LdaZero), | |
355 B(TestEqualStrict), R(9), U8(0), | |
356 B(JumpIfTrue), U8(11), | |
357 B(LdaSmi), I8(1), | |
358 B(TestEqualStrict), R(9), U8(0), | |
359 B(JumpIfTrue), U8(21), | |
360 B(Jump), U8(26), | |
361 B(PopContext), R(1), | |
362 B(PopContext), R(1), | |
363 B(PopContext), R(1), | |
364 B(PopContext), R(1), | |
365 B(LdaSmi), I8(2), | |
366 B(Star), R(5), | |
367 B(Mov), R(10), R(6), | |
368 B(Jump), U8(101), | |
369 B(PopContext), R(1), | |
370 B(PopContext), R(1), | |
371 B(Ldar), R(10), | |
372 B(ReThrow), | |
373 B(PopContext), R(1), | |
374 B(LdaUndefined), | |
375 B(Star), R(9), | |
376 B(LdaImmutableCurrentContextSlot), U8(10), | |
377 B(Star), R(10), | |
378 B(LdaUndefined), | |
379 B(Star), R(11), | |
380 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), | |
381 B(LdaImmutableCurrentContextSlot), U8(10), | |
382 B(Star), R(6), | |
383 B(LdaSmi), I8(3), | |
384 B(Star), R(5), | |
385 B(Jump), U8(68), | |
386 B(Jump), U8(54), | |
387 B(Star), R(9), | |
388 B(Ldar), R(closure), | |
389 B(CreateCatchContext), R(9), U8(8), U8(18), | |
390 B(Star), R(8), | |
391 B(LdaTheHole), | |
392 B(SetPendingMessage), | |
393 B(Ldar), R(8), | |
394 B(PushContext), R(1), | |
395 B(LdaUndefined), | |
396 B(Star), R(9), | |
397 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
398 B(Star), R(10), | |
399 B(LdaImmutableCurrentContextSlot), U8(4), | |
400 B(Star), R(11), | |
401 B(LdaFalse), | |
402 B(Star), R(12), | |
403 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), | |
404 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
405 B(PopContext), R(1), | |
406 B(PopContext), R(1), | |
407 B(Star), R(6), | |
408 B(LdaSmi), I8(4), | |
409 B(Star), R(5), | |
410 B(Jump), U8(14), | |
411 B(LdaSmi), I8(-1), | |
412 B(Star), R(5), | |
413 B(Jump), U8(8), | |
414 B(Star), R(6), | |
415 B(LdaSmi), I8(5), | |
416 B(Star), R(5), | |
417 B(LdaTheHole), | |
418 B(SetPendingMessage), | |
419 B(Star), R(7), | |
420 B(LdaUndefined), | |
421 B(Star), R(8), | |
422 B(LdaImmutableCurrentContextSlot), U8(10), | |
423 B(Star), R(9), | |
424 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(8), U8(2), | |
425 B(Ldar), R(7), | |
426 B(SetPendingMessage), | |
427 B(LdaZero), | |
428 B(TestEqualStrict), R(5), U8(0), | |
429 B(JumpIfTrue), U8(39), | |
430 B(LdaSmi), I8(1), | |
431 B(TestEqualStrict), R(5), U8(0), | |
432 B(JumpIfTrue), U8(35), | |
433 B(LdaSmi), I8(2), | |
434 B(TestEqualStrict), R(5), U8(0), | |
435 B(JumpIfTrue), U8(31), | |
436 B(LdaSmi), I8(3), | |
437 B(TestEqualStrict), R(5), U8(0), | |
438 B(JumpIfTrue), U8(27), | |
439 B(LdaSmi), I8(4), | |
440 B(TestEqualStrict), R(5), U8(0), | |
441 B(JumpIfTrue), U8(23), | |
442 B(LdaSmi), I8(5), | |
443 B(TestEqualStrict), R(5), U8(0), | |
444 B(JumpIfTrue), U8(19), | |
445 B(Jump), U8(20), | |
446 B(Ldar), R(6), | |
447 /* 57 S> */ B(Return), | |
448 B(Ldar), R(6), | |
449 /* 57 S> */ B(Return), | |
450 B(Ldar), R(6), | |
451 /* 57 S> */ B(Return), | |
452 B(Ldar), R(6), | |
453 /* 57 S> */ B(Return), | |
454 B(Ldar), R(6), | |
455 /* 57 S> */ B(Return), | |
456 B(Ldar), R(6), | |
457 B(ReThrow), | |
458 B(LdaUndefined), | |
459 /* 57 S> */ B(Return), | |
460 ] | |
461 constant pool: [ | |
462 FIXED_ARRAY_TYPE, | |
463 CONSTANT_ELEMENTS_PAIR_TYPE, | |
464 SYMBOL_TYPE, | |
465 SYMBOL_TYPE, | |
466 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], | |
467 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | |
468 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | |
469 FIXED_ARRAY_TYPE, | |
470 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | |
471 FIXED_ARRAY_TYPE, | |
472 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | |
473 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | |
474 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | |
475 Smi [572], | |
476 FIXED_ARRAY_TYPE, | |
477 Smi [714], | |
478 Smi [356], | |
479 Smi [382], | |
480 FIXED_ARRAY_TYPE, | |
481 Smi [320], | |
482 ] | |
483 handlers: [ | |
484 [83, 962, 968], | |
485 [86, 908, 910], | |
486 [103, 432, 438], | |
487 [106, 384, 386], | |
488 [534, 661, 663], | |
489 ] | |
490 | |
491 --- | |
492 snippet: " | |
493 async function f() { | |
494 for await (let x of [1, 2, 3]) { return x; } | |
495 } | |
496 f(); | |
497 " | |
498 frame size: 19 | |
499 parameter count: 1 | |
500 bytecode array length: 1115 | |
501 bytecodes: [ | |
502 B(Ldar), R(new_target), | |
503 B(JumpIfUndefined), U8(42), | |
504 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe t), U8(1), | |
505 B(PushContext), R(4), | |
506 B(ResumeGenerator), R(new_target), | |
507 B(Star), R(3), | |
508 B(LdaZero), | |
509 B(TestEqualStrict), R(3), U8(0), | |
510 B(JumpIfTrue), U8(136), | |
511 B(LdaSmi), I8(1), | |
512 B(TestEqualStrict), R(3), U8(0), | |
513 B(JumpIfTrueConstant), U8(13), | |
514 B(LdaSmi), I8(2), | |
515 B(TestEqualStrict), R(3), U8(0), | |
516 B(JumpIfTrueConstant), U8(15), | |
517 B(LdaSmi), I8(78), | |
518 B(Star), R(5), | |
519 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | |
520 B(LdaSmi), I8(-2), | |
521 B(Star), R(3), | |
522 B(CreateFunctionContext), U8(13), | |
523 B(PushContext), R(0), | |
524 B(Ldar), R(this), | |
525 B(StaCurrentContextSlot), U8(4), | |
526 /* 16 E> */ B(StackCheck), | |
527 B(LdaImmutableCurrentContextSlot), U8(4), | |
528 B(Star), R(6), | |
529 B(Mov), R(closure), R(5), | |
530 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2), | |
531 B(StaCurrentContextSlot), U8(5), | |
532 B(LdaUndefined), | |
533 B(Star), R(5), | |
534 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(5), U8(1), | |
535 B(StaCurrentContextSlot), U8(10), | |
536 B(Mov), R(context), R(7), | |
537 B(Mov), R(context), R(8), | |
538 B(Ldar), R(closure), | |
539 B(CreateBlockContext), U8(0), | |
540 B(PushContext), R(1), | |
541 B(LdaTheHole), | |
542 B(StaCurrentContextSlot), U8(4), | |
543 B(LdaZero), | |
544 B(StaContextSlot), R(1), U8(9), U8(0), | |
545 B(Mov), R(context), R(11), | |
546 B(Mov), R(context), R(12), | |
547 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), | |
548 B(Star), R(13), | |
549 B(LdaNamedProperty), R(13), U8(2), U8(7), | |
550 B(JumpIfUndefined), U8(18), | |
551 B(JumpIfNull), U8(16), | |
552 B(Star), R(14), | |
553 B(CallProperty), R(14), R(13), U8(1), U8(9), | |
554 B(JumpIfJSReceiver), U8(24), | |
555 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), | |
556 B(LdaNamedProperty), R(13), U8(3), U8(3), | |
557 B(Star), R(14), | |
558 B(CallProperty), R(14), R(13), U8(1), U8(5), | |
559 B(Star), R(14), | |
560 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1), | |
561 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | |
562 B(LdaSmi), I8(-2), | |
563 B(TestEqual), R(3), U8(0), | |
564 B(JumpIfTrue), U8(17), | |
565 B(LdaZero), | |
566 B(TestEqualStrict), R(3), U8(0), | |
567 B(JumpIfTrue), U8(75), | |
568 B(LdaSmi), I8(78), | |
569 B(Star), R(13), | |
570 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), | |
571 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), | |
572 B(Star), R(14), | |
573 B(LdaNamedProperty), R(14), U8(4), U8(13), | |
574 B(Star), R(13), | |
575 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), | |
576 B(StaContextSlot), R(1), U8(11), U8(0), | |
577 /* 40 S> */ B(LdaUndefined), | |
578 B(Star), R(13), | |
579 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
580 B(Star), R(14), | |
581 B(LdaContextSlot), R(1), U8(11), U8(0), | |
582 B(Star), R(15), | |
583 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
584 B(Star), R(16), | |
585 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
586 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
587 B(Star), R(13), | |
588 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
589 B(Star), R(14), | |
590 B(LdaZero), | |
591 B(SuspendGenerator), R(14), | |
592 B(Ldar), R(13), | |
593 /* 68 S> */ B(Return), | |
594 B(LdaSmi), I8(-2), | |
595 B(Star), R(3), | |
596 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
597 B(Star), R(15), | |
598 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
599 B(Star), R(16), | |
600 B(LdaZero), | |
601 B(TestEqualStrict), R(16), U8(0), | |
602 B(JumpIfTrue), U8(31), | |
603 B(LdaSmi), I8(2), | |
604 B(TestEqualStrict), R(16), U8(0), | |
605 B(JumpIfTrue), U8(21), | |
606 B(Jump), U8(2), | |
607 B(LdaTrue), | |
608 B(Star), R(18), | |
609 B(Mov), R(15), R(17), | |
610 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
611 B(Star), R(10), | |
612 B(LdaZero), | |
613 B(Star), R(9), | |
614 B(Jump), U8(167), | |
615 B(Ldar), R(15), | |
616 B(ReThrow), | |
617 B(Ldar), R(15), | |
618 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), | |
619 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), | |
620 B(ToBooleanLogicalNot), | |
621 B(JumpIfFalse), U8(13), | |
622 B(LdaContextSlot), R(1), U8(8), U8(0), | |
623 B(Star), R(13), | |
624 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), | |
625 B(LdaContextSlot), R(1), U8(8), U8(0), | |
626 B(Star), R(13), | |
627 B(LdaNamedProperty), R(13), U8(5), U8(15), | |
628 B(JumpIfToBooleanTrue), U8(68), | |
629 B(LdaContextSlot), R(1), U8(8), U8(0), | |
630 B(Star), R(13), | |
631 B(LdaNamedProperty), R(13), U8(6), U8(17), | |
632 B(StaContextSlot), R(1), U8(12), U8(0), | |
633 B(LdaSmi), I8(2), | |
634 B(StaContextSlot), R(1), U8(9), U8(0), | |
635 B(LdaContextSlot), R(1), U8(12), U8(0), | |
636 B(StaContextSlot), R(1), U8(6), U8(0), | |
637 /* 23 E> */ B(StackCheck), | |
638 B(Ldar), R(closure), | |
639 B(CreateBlockContext), U8(7), | |
640 B(PushContext), R(2), | |
641 B(LdaTheHole), | |
642 B(StaCurrentContextSlot), U8(4), | |
643 B(LdaContextSlot), R(1), U8(6), U8(0), | |
644 B(StaCurrentContextSlot), U8(4), | |
645 /* 56 S> */ B(LdaImmutableCurrentContextSlot), U8(4), | |
646 B(PopContext), R(2), | |
647 B(PopContext), R(2), | |
648 B(PopContext), R(2), | |
649 B(PopContext), R(2), | |
650 B(PopContext), R(2), | |
651 B(PopContext), R(2), | |
652 B(Star), R(10), | |
653 B(LdaSmi), I8(1), | |
654 B(Star), R(9), | |
655 B(Jump), U8(62), | |
656 B(Jump), U8(48), | |
657 B(Star), R(13), | |
658 B(Ldar), R(closure), | |
659 B(CreateCatchContext), R(13), U8(8), U8(9), | |
660 B(Star), R(12), | |
661 B(LdaTheHole), | |
662 B(SetPendingMessage), | |
663 B(Ldar), R(12), | |
664 B(PushContext), R(2), | |
665 B(LdaContextSlot), R(1), U8(9), U8(0), | |
666 B(Star), R(13), | |
667 B(LdaSmi), I8(2), | |
668 B(TestEqualStrict), R(13), U8(19), | |
669 B(JumpIfFalse), U8(8), | |
670 B(LdaSmi), I8(1), | |
671 B(StaContextSlot), R(1), U8(9), U8(0), | |
672 B(LdaImmutableCurrentContextSlot), U8(4), | |
673 B(Star), R(13), | |
674 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), | |
675 B(PopContext), R(2), | |
676 B(LdaSmi), I8(-1), | |
677 B(Star), R(9), | |
678 B(Jump), U8(8), | |
679 B(Star), R(10), | |
680 B(LdaSmi), I8(2), | |
681 B(Star), R(9), | |
682 B(LdaTheHole), | |
683 B(SetPendingMessage), | |
684 B(Star), R(11), | |
685 B(LdaContextSlot), R(1), U8(9), U8(0), | |
686 B(Star), R(12), | |
687 B(LdaZero), | |
688 B(TestEqualStrict), R(12), U8(20), | |
689 B(JumpIfTrueConstant), U8(17), | |
690 B(LdaContextSlot), R(1), U8(7), U8(0), | |
691 B(Star), R(12), | |
692 B(LdaNamedProperty), R(12), U8(10), U8(21), | |
693 B(StaContextSlot), R(1), U8(13), U8(0), | |
694 B(LdaContextSlot), R(1), U8(13), U8(0), | |
695 B(Star), R(12), | |
696 B(TestUndetectable), R(12), | |
697 B(JumpIfFalse), U8(4), | |
698 B(JumpConstant), U8(16), | |
699 B(LdaContextSlot), R(1), U8(9), U8(0), | |
700 B(Star), R(12), | |
701 B(LdaSmi), I8(1), | |
702 B(TestEqualStrict), R(12), U8(24), | |
703 B(JumpIfFalse), U8(186), | |
704 B(LdaContextSlot), R(1), U8(13), U8(0), | |
705 B(TypeOf), | |
706 B(Star), R(12), | |
707 B(LdaConstant), U8(11), | |
708 B(TestEqualStrict), R(12), U8(25), | |
709 B(JumpIfFalse), U8(4), | |
710 B(Jump), U8(18), | |
711 B(Wide), B(LdaSmi), I16(130), | |
712 B(Star), R(12), | |
713 B(LdaConstant), U8(12), | |
714 B(Star), R(13), | |
715 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), | |
716 B(Throw), | |
717 B(Mov), R(context), R(12), | |
718 B(LdaContextSlot), R(1), U8(13), U8(0), | |
719 B(Star), R(13), | |
720 B(LdaContextSlot), R(1), U8(7), U8(0), | |
721 B(Star), R(14), | |
722 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), | |
723 B(StaContextSlot), R(1), U8(14), U8(0), | |
724 B(LdaUndefined), | |
725 B(Star), R(13), | |
726 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
727 B(Star), R(14), | |
728 B(LdaContextSlot), R(1), U8(14), U8(0), | |
729 B(Star), R(15), | |
730 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
731 B(Star), R(16), | |
732 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
733 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
734 B(Star), R(13), | |
735 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
736 B(Star), R(14), | |
737 B(LdaSmi), I8(1), | |
738 B(SuspendGenerator), R(14), | |
739 B(Ldar), R(13), | |
740 /* 68 S> */ B(Return), | |
741 B(LdaSmi), I8(-2), | |
742 B(Star), R(3), | |
743 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
744 B(Star), R(15), | |
745 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
746 B(Star), R(16), | |
747 B(LdaZero), | |
748 B(TestEqualStrict), R(16), U8(0), | |
749 B(JumpIfTrue), U8(39), | |
750 B(LdaSmi), I8(2), | |
751 B(TestEqualStrict), R(16), U8(0), | |
752 B(JumpIfTrue), U8(29), | |
753 B(Jump), U8(2), | |
754 B(LdaTrue), | |
755 B(Star), R(18), | |
756 B(Mov), R(15), R(17), | |
757 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
758 B(PopContext), R(1), | |
759 B(PopContext), R(1), | |
760 B(PopContext), R(1), | |
761 B(PopContext), R(1), | |
762 B(Star), R(6), | |
763 B(LdaZero), | |
764 B(Star), R(5), | |
765 B(JumpConstant), U8(19), | |
766 B(Ldar), R(15), | |
767 B(ReThrow), | |
768 B(Ldar), R(15), | |
769 B(Jump), U8(20), | |
770 B(Star), R(13), | |
771 B(Ldar), R(closure), | |
772 B(CreateCatchContext), R(13), U8(8), U8(14), | |
773 B(Star), R(12), | |
774 B(LdaTheHole), | |
775 B(SetPendingMessage), | |
776 B(Ldar), R(12), | |
777 B(PushContext), R(2), | |
778 B(PopContext), R(2), | |
779 B(Jump), U8(159), | |
780 B(LdaContextSlot), R(1), U8(13), U8(0), | |
781 B(Star), R(12), | |
782 B(LdaContextSlot), R(1), U8(7), U8(0), | |
783 B(Star), R(13), | |
784 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), | |
785 B(StaContextSlot), R(1), U8(16), U8(0), | |
786 B(LdaUndefined), | |
787 B(Star), R(12), | |
788 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
789 B(Star), R(13), | |
790 B(LdaContextSlot), R(1), U8(16), U8(0), | |
791 B(Star), R(14), | |
792 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
793 B(Star), R(15), | |
794 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(12), U8(4), | |
795 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
796 B(Star), R(12), | |
797 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
798 B(Star), R(13), | |
799 B(LdaSmi), I8(2), | |
800 B(SuspendGenerator), R(13), | |
801 B(Ldar), R(12), | |
802 /* 68 S> */ B(Return), | |
803 B(LdaSmi), I8(-2), | |
804 B(Star), R(3), | |
805 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 3), U8(1), | |
806 B(Star), R(14), | |
807 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U 8(1), | |
808 B(Star), R(15), | |
809 B(LdaZero), | |
810 B(TestEqualStrict), R(15), U8(0), | |
811 B(JumpIfTrue), U8(40), | |
812 B(LdaSmi), I8(2), | |
813 B(TestEqualStrict), R(15), U8(0), | |
814 B(JumpIfTrue), U8(30), | |
815 B(Jump), U8(2), | |
816 B(LdaTrue), | |
817 B(Star), R(17), | |
818 B(Mov), R(14), R(16), | |
819 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2), | |
820 B(PopContext), R(1), | |
821 B(PopContext), R(1), | |
822 B(PopContext), R(1), | |
823 B(PopContext), R(1), | |
824 B(Star), R(6), | |
825 B(LdaSmi), I8(1), | |
826 B(Star), R(5), | |
827 B(Jump), U8(194), | |
828 B(Ldar), R(14), | |
829 B(ReThrow), | |
830 B(Ldar), R(14), | |
831 B(StaContextSlot), R(1), U8(15), U8(0), | |
832 B(LdaContextSlot), R(1), U8(15), U8(0), | |
833 B(Star), R(12), | |
834 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), | |
835 B(JumpIfToBooleanFalse), U8(4), | |
836 B(Jump), U8(13), | |
837 B(LdaContextSlot), R(1), U8(15), U8(0), | |
838 B(Star), R(12), | |
839 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), | |
840 B(Ldar), R(11), | |
841 B(SetPendingMessage), | |
842 B(LdaZero), | |
843 B(TestEqualStrict), R(9), U8(0), | |
844 B(JumpIfTrue), U8(18), | |
845 B(LdaSmi), I8(1), | |
846 B(TestEqualStrict), R(9), U8(0), | |
847 B(JumpIfTrue), U8(28), | |
848 B(LdaSmi), I8(2), | |
849 B(TestEqualStrict), R(9), U8(0), | |
850 B(JumpIfTrue), U8(38), | |
851 B(Jump), U8(43), | |
852 B(PopContext), R(1), | |
853 B(PopContext), R(1), | |
854 B(PopContext), R(1), | |
855 B(PopContext), R(1), | |
856 B(LdaSmi), I8(2), | |
857 B(Star), R(5), | |
858 B(Mov), R(10), R(6), | |
859 B(Jump), U8(118), | |
860 B(PopContext), R(1), | |
861 B(PopContext), R(1), | |
862 B(PopContext), R(1), | |
863 B(PopContext), R(1), | |
864 B(LdaSmi), I8(3), | |
865 B(Star), R(5), | |
866 B(Mov), R(10), R(6), | |
867 B(Jump), U8(101), | |
868 B(PopContext), R(1), | |
869 B(PopContext), R(1), | |
870 B(Ldar), R(10), | |
871 B(ReThrow), | |
872 B(PopContext), R(1), | |
873 B(LdaUndefined), | |
874 B(Star), R(9), | |
875 B(LdaImmutableCurrentContextSlot), U8(10), | |
876 B(Star), R(10), | |
877 B(LdaUndefined), | |
878 B(Star), R(11), | |
879 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), | |
880 B(LdaImmutableCurrentContextSlot), U8(10), | |
881 B(Star), R(6), | |
882 B(LdaSmi), I8(4), | |
883 B(Star), R(5), | |
884 B(Jump), U8(68), | |
885 B(Jump), U8(54), | |
886 B(Star), R(9), | |
887 B(Ldar), R(closure), | |
888 B(CreateCatchContext), R(9), U8(8), U8(18), | |
889 B(Star), R(8), | |
890 B(LdaTheHole), | |
891 B(SetPendingMessage), | |
892 B(Ldar), R(8), | |
893 B(PushContext), R(1), | |
894 B(LdaUndefined), | |
895 B(Star), R(9), | |
896 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
897 B(Star), R(10), | |
898 B(LdaImmutableCurrentContextSlot), U8(4), | |
899 B(Star), R(11), | |
900 B(LdaFalse), | |
901 B(Star), R(12), | |
902 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), | |
903 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
904 B(PopContext), R(1), | |
905 B(PopContext), R(1), | |
906 B(Star), R(6), | |
907 B(LdaSmi), I8(5), | |
908 B(Star), R(5), | |
909 B(Jump), U8(14), | |
910 B(LdaSmi), I8(-1), | |
911 B(Star), R(5), | |
912 B(Jump), U8(8), | |
913 B(Star), R(6), | |
914 B(LdaSmi), I8(6), | |
915 B(Star), R(5), | |
916 B(LdaTheHole), | |
917 B(SetPendingMessage), | |
918 B(Star), R(7), | |
919 B(LdaUndefined), | |
920 B(Star), R(8), | |
921 B(LdaImmutableCurrentContextSlot), U8(10), | |
922 B(Star), R(9), | |
923 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(8), U8(2), | |
924 B(Ldar), R(7), | |
925 B(SetPendingMessage), | |
926 B(LdaZero), | |
927 B(TestEqualStrict), R(5), U8(0), | |
928 B(JumpIfTrue), U8(46), | |
929 B(LdaSmi), I8(1), | |
930 B(TestEqualStrict), R(5), U8(0), | |
931 B(JumpIfTrue), U8(42), | |
932 B(LdaSmi), I8(2), | |
933 B(TestEqualStrict), R(5), U8(0), | |
934 B(JumpIfTrue), U8(38), | |
935 B(LdaSmi), I8(3), | |
936 B(TestEqualStrict), R(5), U8(0), | |
937 B(JumpIfTrue), U8(34), | |
938 B(LdaSmi), I8(4), | |
939 B(TestEqualStrict), R(5), U8(0), | |
940 B(JumpIfTrue), U8(44), | |
941 B(LdaSmi), I8(5), | |
942 B(TestEqualStrict), R(5), U8(0), | |
943 B(JumpIfTrue), U8(40), | |
944 B(LdaSmi), I8(6), | |
945 B(TestEqualStrict), R(5), U8(0), | |
946 B(JumpIfTrue), U8(36), | |
947 B(Jump), U8(37), | |
948 B(Ldar), R(6), | |
949 /* 68 S> */ B(Return), | |
950 B(Ldar), R(6), | |
951 /* 68 S> */ B(Return), | |
952 B(Ldar), R(6), | |
953 /* 68 S> */ B(Return), | |
954 B(LdaImmutableCurrentContextSlot), U8(10), | |
955 B(Star), R(9), | |
956 B(LdaUndefined), | |
957 B(Star), R(8), | |
958 B(Mov), R(6), R(10), | |
959 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), | |
960 B(Ldar), R(9), | |
961 /* 68 S> */ B(Return), | |
962 B(Ldar), R(6), | |
963 /* 68 S> */ B(Return), | |
964 B(Ldar), R(6), | |
965 /* 68 S> */ B(Return), | |
966 B(Ldar), R(6), | |
967 B(ReThrow), | |
968 B(LdaUndefined), | |
969 /* 68 S> */ B(Return), | |
970 ] | |
971 constant pool: [ | |
972 FIXED_ARRAY_TYPE, | |
973 CONSTANT_ELEMENTS_PAIR_TYPE, | |
974 SYMBOL_TYPE, | |
975 SYMBOL_TYPE, | |
976 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], | |
977 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | |
978 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | |
979 FIXED_ARRAY_TYPE, | |
980 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | |
981 FIXED_ARRAY_TYPE, | |
982 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | |
983 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | |
984 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | |
985 Smi [584], | |
986 FIXED_ARRAY_TYPE, | |
987 Smi [726], | |
988 Smi [356], | |
989 Smi [382], | |
990 FIXED_ARRAY_TYPE, | |
991 Smi [344], | |
992 ] | |
993 handlers: [ | |
994 [83, 998, 1004], | |
995 [86, 944, 946], | |
996 [103, 444, 450], | |
997 [106, 396, 398], | |
998 [546, 673, 675], | |
999 ] | |
1000 | |
1001 --- | |
1002 snippet: " | |
1003 async function f() { | |
1004 for await (let x of [10, 20, 30]) { | |
1005 if (x == 10) continue; | |
1006 if (x == 20) break; | |
1007 } | |
1008 } | |
1009 f(); | |
1010 " | |
1011 frame size: 19 | |
1012 parameter count: 1 | |
1013 bytecode array length: 1092 | |
1014 bytecodes: [ | |
1015 B(Ldar), R(new_target), | |
1016 B(JumpIfUndefined), U8(42), | |
1017 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe t), U8(1), | |
1018 B(PushContext), R(4), | |
1019 B(ResumeGenerator), R(new_target), | |
1020 B(Star), R(3), | |
1021 B(LdaZero), | |
1022 B(TestEqualStrict), R(3), U8(0), | |
1023 B(JumpIfTrue), U8(136), | |
1024 B(LdaSmi), I8(1), | |
1025 B(TestEqualStrict), R(3), U8(0), | |
1026 B(JumpIfTrueConstant), U8(13), | |
1027 B(LdaSmi), I8(2), | |
1028 B(TestEqualStrict), R(3), U8(0), | |
1029 B(JumpIfTrueConstant), U8(15), | |
1030 B(LdaSmi), I8(78), | |
1031 B(Star), R(5), | |
1032 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), | |
1033 B(LdaSmi), I8(-2), | |
1034 B(Star), R(3), | |
1035 B(CreateFunctionContext), U8(13), | |
1036 B(PushContext), R(0), | |
1037 B(Ldar), R(this), | |
1038 B(StaCurrentContextSlot), U8(4), | |
1039 /* 16 E> */ B(StackCheck), | |
1040 B(LdaImmutableCurrentContextSlot), U8(4), | |
1041 B(Star), R(6), | |
1042 B(Mov), R(closure), R(5), | |
1043 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2), | |
1044 B(StaCurrentContextSlot), U8(5), | |
1045 B(LdaUndefined), | |
1046 B(Star), R(5), | |
1047 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(5), U8(1), | |
1048 B(StaCurrentContextSlot), U8(10), | |
1049 B(Mov), R(context), R(7), | |
1050 B(Mov), R(context), R(8), | |
1051 B(Ldar), R(closure), | |
1052 B(CreateBlockContext), U8(0), | |
1053 B(PushContext), R(1), | |
1054 B(LdaTheHole), | |
1055 B(StaCurrentContextSlot), U8(4), | |
1056 B(LdaZero), | |
1057 B(StaContextSlot), R(1), U8(9), U8(0), | |
1058 B(Mov), R(context), R(11), | |
1059 B(Mov), R(context), R(12), | |
1060 /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9), | |
1061 B(Star), R(13), | |
1062 B(LdaNamedProperty), R(13), U8(2), U8(7), | |
1063 B(JumpIfUndefined), U8(18), | |
1064 B(JumpIfNull), U8(16), | |
1065 B(Star), R(14), | |
1066 B(CallProperty), R(14), R(13), U8(1), U8(9), | |
1067 B(JumpIfJSReceiver), U8(24), | |
1068 B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), | |
1069 B(LdaNamedProperty), R(13), U8(3), U8(3), | |
1070 B(Star), R(14), | |
1071 B(CallProperty), R(14), R(13), U8(1), U8(5), | |
1072 B(Star), R(14), | |
1073 B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1), | |
1074 /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0), | |
1075 B(LdaSmi), I8(-2), | |
1076 B(TestEqual), R(3), U8(0), | |
1077 B(JumpIfTrue), U8(17), | |
1078 B(LdaZero), | |
1079 B(TestEqualStrict), R(3), U8(0), | |
1080 B(JumpIfTrue), U8(75), | |
1081 B(LdaSmi), I8(78), | |
1082 B(Star), R(13), | |
1083 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), | |
1084 /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0), | |
1085 B(Star), R(14), | |
1086 B(LdaNamedProperty), R(14), U8(4), U8(13), | |
1087 B(Star), R(13), | |
1088 /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11), | |
1089 B(StaContextSlot), R(1), U8(11), U8(0), | |
1090 /* 40 S> */ B(LdaUndefined), | |
1091 B(Star), R(13), | |
1092 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1093 B(Star), R(14), | |
1094 B(LdaContextSlot), R(1), U8(11), U8(0), | |
1095 B(Star), R(15), | |
1096 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1097 B(Star), R(16), | |
1098 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
1099 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1100 B(Star), R(13), | |
1101 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1102 B(Star), R(14), | |
1103 B(LdaZero), | |
1104 B(SuspendGenerator), R(14), | |
1105 B(Ldar), R(13), | |
1106 /* 114 S> */ B(Return), | |
1107 B(LdaSmi), I8(-2), | |
1108 B(Star), R(3), | |
1109 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
1110 B(Star), R(15), | |
1111 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
1112 B(Star), R(16), | |
1113 B(LdaZero), | |
1114 B(TestEqualStrict), R(16), U8(0), | |
1115 B(JumpIfTrue), U8(31), | |
1116 B(LdaSmi), I8(2), | |
1117 B(TestEqualStrict), R(16), U8(0), | |
1118 B(JumpIfTrue), U8(21), | |
1119 B(Jump), U8(2), | |
1120 B(LdaTrue), | |
1121 B(Star), R(18), | |
1122 B(Mov), R(15), R(17), | |
1123 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
1124 B(Star), R(10), | |
1125 B(LdaZero), | |
1126 B(Star), R(9), | |
1127 B(Jump), U8(192), | |
1128 B(Ldar), R(15), | |
1129 B(ReThrow), | |
1130 B(Ldar), R(15), | |
1131 /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0), | |
1132 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1), | |
1133 B(ToBooleanLogicalNot), | |
1134 B(JumpIfFalse), U8(13), | |
1135 B(LdaContextSlot), R(1), U8(8), U8(0), | |
1136 B(Star), R(13), | |
1137 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), | |
1138 B(LdaContextSlot), R(1), U8(8), U8(0), | |
1139 B(Star), R(13), | |
1140 B(LdaNamedProperty), R(13), U8(5), U8(15), | |
1141 B(JumpIfToBooleanTrue), U8(93), | |
1142 B(LdaContextSlot), R(1), U8(8), U8(0), | |
1143 B(Star), R(13), | |
1144 B(LdaNamedProperty), R(13), U8(6), U8(17), | |
1145 B(StaContextSlot), R(1), U8(12), U8(0), | |
1146 B(LdaSmi), I8(2), | |
1147 B(StaContextSlot), R(1), U8(9), U8(0), | |
1148 B(LdaContextSlot), R(1), U8(12), U8(0), | |
1149 B(StaContextSlot), R(1), U8(6), U8(0), | |
1150 /* 23 E> */ B(StackCheck), | |
1151 B(Ldar), R(closure), | |
1152 B(CreateBlockContext), U8(7), | |
1153 B(PushContext), R(2), | |
1154 B(LdaTheHole), | |
1155 B(StaCurrentContextSlot), U8(4), | |
1156 B(LdaContextSlot), R(1), U8(6), U8(0), | |
1157 B(StaCurrentContextSlot), U8(4), | |
1158 /* 63 S> */ B(LdaImmutableCurrentContextSlot), U8(4), | |
1159 B(Star), R(13), | |
1160 B(LdaSmi), I8(10), | |
1161 /* 69 E> */ B(TestEqual), R(13), U8(19), | |
1162 B(JumpIfFalse), U8(8), | |
1163 /* 76 S> */ B(PopContext), R(2), | |
1164 B(PopContext), R(2), | |
1165 B(Jump), U8(26), | |
1166 /* 90 S> */ B(LdaImmutableCurrentContextSlot), U8(4), | |
1167 B(Star), R(13), | |
1168 B(LdaSmi), I8(20), | |
1169 /* 96 E> */ B(TestEqual), R(13), U8(20), | |
1170 B(JumpIfFalse), U8(8), | |
1171 /* 103 S> */ B(PopContext), R(2), | |
1172 B(PopContext), R(2), | |
1173 B(Jump), U8(15), | |
1174 B(PopContext), R(2), | |
1175 B(LdaZero), | |
1176 B(StaContextSlot), R(1), U8(9), U8(0), | |
1177 B(Wide), B(JumpLoop), U16(261), I16(0), | |
1178 B(Jump), U8(48), | |
1179 B(Star), R(13), | |
1180 B(Ldar), R(closure), | |
1181 B(CreateCatchContext), R(13), U8(8), U8(9), | |
1182 B(Star), R(12), | |
1183 B(LdaTheHole), | |
1184 B(SetPendingMessage), | |
1185 B(Ldar), R(12), | |
1186 B(PushContext), R(2), | |
1187 B(LdaContextSlot), R(1), U8(9), U8(0), | |
1188 B(Star), R(13), | |
1189 B(LdaSmi), I8(2), | |
1190 B(TestEqualStrict), R(13), U8(21), | |
1191 B(JumpIfFalse), U8(8), | |
1192 B(LdaSmi), I8(1), | |
1193 B(StaContextSlot), R(1), U8(9), U8(0), | |
1194 B(LdaImmutableCurrentContextSlot), U8(4), | |
1195 B(Star), R(13), | |
1196 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), | |
1197 B(PopContext), R(2), | |
1198 B(LdaSmi), I8(-1), | |
1199 B(Star), R(9), | |
1200 B(Jump), U8(8), | |
1201 B(Star), R(10), | |
1202 B(LdaSmi), I8(1), | |
1203 B(Star), R(9), | |
1204 B(LdaTheHole), | |
1205 B(SetPendingMessage), | |
1206 B(Star), R(11), | |
1207 B(LdaContextSlot), R(1), U8(9), U8(0), | |
1208 B(Star), R(12), | |
1209 B(LdaZero), | |
1210 B(TestEqualStrict), R(12), U8(22), | |
1211 B(JumpIfTrueConstant), U8(17), | |
1212 B(LdaContextSlot), R(1), U8(7), U8(0), | |
1213 B(Star), R(12), | |
1214 B(LdaNamedProperty), R(12), U8(10), U8(23), | |
1215 B(StaContextSlot), R(1), U8(13), U8(0), | |
1216 B(LdaContextSlot), R(1), U8(13), U8(0), | |
1217 B(Star), R(12), | |
1218 B(TestUndetectable), R(12), | |
1219 B(JumpIfFalse), U8(4), | |
1220 B(JumpConstant), U8(16), | |
1221 B(LdaContextSlot), R(1), U8(9), U8(0), | |
1222 B(Star), R(12), | |
1223 B(LdaSmi), I8(1), | |
1224 B(TestEqualStrict), R(12), U8(26), | |
1225 B(JumpIfFalse), U8(186), | |
1226 B(LdaContextSlot), R(1), U8(13), U8(0), | |
1227 B(TypeOf), | |
1228 B(Star), R(12), | |
1229 B(LdaConstant), U8(11), | |
1230 B(TestEqualStrict), R(12), U8(27), | |
1231 B(JumpIfFalse), U8(4), | |
1232 B(Jump), U8(18), | |
1233 B(Wide), B(LdaSmi), I16(130), | |
1234 B(Star), R(12), | |
1235 B(LdaConstant), U8(12), | |
1236 B(Star), R(13), | |
1237 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), | |
1238 B(Throw), | |
1239 B(Mov), R(context), R(12), | |
1240 B(LdaContextSlot), R(1), U8(13), U8(0), | |
1241 B(Star), R(13), | |
1242 B(LdaContextSlot), R(1), U8(7), U8(0), | |
1243 B(Star), R(14), | |
1244 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), | |
1245 B(StaContextSlot), R(1), U8(14), U8(0), | |
1246 B(LdaUndefined), | |
1247 B(Star), R(13), | |
1248 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1249 B(Star), R(14), | |
1250 B(LdaContextSlot), R(1), U8(14), U8(0), | |
1251 B(Star), R(15), | |
1252 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1253 B(Star), R(16), | |
1254 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(13), U8(4), | |
1255 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1256 B(Star), R(13), | |
1257 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1258 B(Star), R(14), | |
1259 B(LdaSmi), I8(1), | |
1260 B(SuspendGenerator), R(14), | |
1261 B(Ldar), R(13), | |
1262 /* 114 S> */ B(Return), | |
1263 B(LdaSmi), I8(-2), | |
1264 B(Star), R(3), | |
1265 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 4), U8(1), | |
1266 B(Star), R(15), | |
1267 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U 8(1), | |
1268 B(Star), R(16), | |
1269 B(LdaZero), | |
1270 B(TestEqualStrict), R(16), U8(0), | |
1271 B(JumpIfTrue), U8(39), | |
1272 B(LdaSmi), I8(2), | |
1273 B(TestEqualStrict), R(16), U8(0), | |
1274 B(JumpIfTrue), U8(29), | |
1275 B(Jump), U8(2), | |
1276 B(LdaTrue), | |
1277 B(Star), R(18), | |
1278 B(Mov), R(15), R(17), | |
1279 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17) , U8(2), | |
1280 B(PopContext), R(1), | |
1281 B(PopContext), R(1), | |
1282 B(PopContext), R(1), | |
1283 B(PopContext), R(1), | |
1284 B(Star), R(6), | |
1285 B(LdaZero), | |
1286 B(Star), R(5), | |
1287 B(JumpConstant), U8(19), | |
1288 B(Ldar), R(15), | |
1289 B(ReThrow), | |
1290 B(Ldar), R(15), | |
1291 B(Jump), U8(20), | |
1292 B(Star), R(13), | |
1293 B(Ldar), R(closure), | |
1294 B(CreateCatchContext), R(13), U8(8), U8(14), | |
1295 B(Star), R(12), | |
1296 B(LdaTheHole), | |
1297 B(SetPendingMessage), | |
1298 B(Ldar), R(12), | |
1299 B(PushContext), R(2), | |
1300 B(PopContext), R(2), | |
1301 B(Jump), U8(159), | |
1302 B(LdaContextSlot), R(1), U8(13), U8(0), | |
1303 B(Star), R(12), | |
1304 B(LdaContextSlot), R(1), U8(7), U8(0), | |
1305 B(Star), R(13), | |
1306 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), | |
1307 B(StaContextSlot), R(1), U8(16), U8(0), | |
1308 B(LdaUndefined), | |
1309 B(Star), R(12), | |
1310 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1311 B(Star), R(13), | |
1312 B(LdaContextSlot), R(1), U8(16), U8(0), | |
1313 B(Star), R(14), | |
1314 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1315 B(Star), R(15), | |
1316 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(12), U8(4), | |
1317 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1318 B(Star), R(12), | |
1319 B(LdaImmutableContextSlot), R(1), U8(5), U8(0), | |
1320 B(Star), R(13), | |
1321 B(LdaSmi), I8(2), | |
1322 B(SuspendGenerator), R(13), | |
1323 B(Ldar), R(12), | |
1324 /* 114 S> */ B(Return), | |
1325 B(LdaSmi), I8(-2), | |
1326 B(Star), R(3), | |
1327 B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(1 3), U8(1), | |
1328 B(Star), R(14), | |
1329 B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U 8(1), | |
1330 B(Star), R(15), | |
1331 B(LdaZero), | |
1332 B(TestEqualStrict), R(15), U8(0), | |
1333 B(JumpIfTrue), U8(40), | |
1334 B(LdaSmi), I8(2), | |
1335 B(TestEqualStrict), R(15), U8(0), | |
1336 B(JumpIfTrue), U8(30), | |
1337 B(Jump), U8(2), | |
1338 B(LdaTrue), | |
1339 B(Star), R(17), | |
1340 B(Mov), R(14), R(16), | |
1341 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2), | |
1342 B(PopContext), R(1), | |
1343 B(PopContext), R(1), | |
1344 B(PopContext), R(1), | |
1345 B(PopContext), R(1), | |
1346 B(Star), R(6), | |
1347 B(LdaSmi), I8(1), | |
1348 B(Star), R(5), | |
1349 B(Jump), U8(170), | |
1350 B(Ldar), R(14), | |
1351 B(ReThrow), | |
1352 B(Ldar), R(14), | |
1353 B(StaContextSlot), R(1), U8(15), U8(0), | |
1354 B(LdaContextSlot), R(1), U8(15), U8(0), | |
1355 B(Star), R(12), | |
1356 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), | |
1357 B(JumpIfToBooleanFalse), U8(4), | |
1358 B(Jump), U8(13), | |
1359 B(LdaContextSlot), R(1), U8(15), U8(0), | |
1360 B(Star), R(12), | |
1361 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), | |
1362 B(Ldar), R(11), | |
1363 B(SetPendingMessage), | |
1364 B(LdaZero), | |
1365 B(TestEqualStrict), R(9), U8(0), | |
1366 B(JumpIfTrue), U8(11), | |
1367 B(LdaSmi), I8(1), | |
1368 B(TestEqualStrict), R(9), U8(0), | |
1369 B(JumpIfTrue), U8(21), | |
1370 B(Jump), U8(26), | |
1371 B(PopContext), R(1), | |
1372 B(PopContext), R(1), | |
1373 B(PopContext), R(1), | |
1374 B(PopContext), R(1), | |
1375 B(LdaSmi), I8(2), | |
1376 B(Star), R(5), | |
1377 B(Mov), R(10), R(6), | |
1378 B(Jump), U8(101), | |
1379 B(PopContext), R(1), | |
1380 B(PopContext), R(1), | |
1381 B(Ldar), R(10), | |
1382 B(ReThrow), | |
1383 B(PopContext), R(1), | |
1384 B(LdaUndefined), | |
1385 B(Star), R(9), | |
1386 B(LdaImmutableCurrentContextSlot), U8(10), | |
1387 B(Star), R(10), | |
1388 B(LdaUndefined), | |
1389 B(Star), R(11), | |
1390 B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), | |
1391 B(LdaImmutableCurrentContextSlot), U8(10), | |
1392 B(Star), R(6), | |
1393 B(LdaSmi), I8(3), | |
1394 B(Star), R(5), | |
1395 B(Jump), U8(68), | |
1396 B(Jump), U8(54), | |
1397 B(Star), R(9), | |
1398 B(Ldar), R(closure), | |
1399 B(CreateCatchContext), R(9), U8(8), U8(18), | |
1400 B(Star), R(8), | |
1401 B(LdaTheHole), | |
1402 B(SetPendingMessage), | |
1403 B(Ldar), R(8), | |
1404 B(PushContext), R(1), | |
1405 B(LdaUndefined), | |
1406 B(Star), R(9), | |
1407 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1408 B(Star), R(10), | |
1409 B(LdaImmutableCurrentContextSlot), U8(4), | |
1410 B(Star), R(11), | |
1411 B(LdaFalse), | |
1412 B(Star), R(12), | |
1413 B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), | |
1414 B(LdaImmutableContextSlot), R(1), U8(10), U8(0), | |
1415 B(PopContext), R(1), | |
1416 B(PopContext), R(1), | |
1417 B(Star), R(6), | |
1418 B(LdaSmi), I8(4), | |
1419 B(Star), R(5), | |
1420 B(Jump), U8(14), | |
1421 B(LdaSmi), I8(-1), | |
1422 B(Star), R(5), | |
1423 B(Jump), U8(8), | |
1424 B(Star), R(6), | |
1425 B(LdaSmi), I8(5), | |
1426 B(Star), R(5), | |
1427 B(LdaTheHole), | |
1428 B(SetPendingMessage), | |
1429 B(Star), R(7), | |
1430 B(LdaUndefined), | |
1431 B(Star), R(8), | |
1432 B(LdaImmutableCurrentContextSlot), U8(10), | |
1433 B(Star), R(9), | |
1434 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(8), U8(2), | |
1435 B(Ldar), R(7), | |
1436 B(SetPendingMessage), | |
1437 B(LdaZero), | |
1438 B(TestEqualStrict), R(5), U8(0), | |
1439 B(JumpIfTrue), U8(39), | |
1440 B(LdaSmi), I8(1), | |
1441 B(TestEqualStrict), R(5), U8(0), | |
1442 B(JumpIfTrue), U8(35), | |
1443 B(LdaSmi), I8(2), | |
1444 B(TestEqualStrict), R(5), U8(0), | |
1445 B(JumpIfTrue), U8(31), | |
1446 B(LdaSmi), I8(3), | |
1447 B(TestEqualStrict), R(5), U8(0), | |
1448 B(JumpIfTrue), U8(27), | |
1449 B(LdaSmi), I8(4), | |
1450 B(TestEqualStrict), R(5), U8(0), | |
1451 B(JumpIfTrue), U8(23), | |
1452 B(LdaSmi), I8(5), | |
1453 B(TestEqualStrict), R(5), U8(0), | |
1454 B(JumpIfTrue), U8(19), | |
1455 B(Jump), U8(20), | |
1456 B(Ldar), R(6), | |
1457 /* 114 S> */ B(Return), | |
1458 B(Ldar), R(6), | |
1459 /* 114 S> */ B(Return), | |
1460 B(Ldar), R(6), | |
1461 /* 114 S> */ B(Return), | |
1462 B(Ldar), R(6), | |
1463 /* 114 S> */ B(Return), | |
1464 B(Ldar), R(6), | |
1465 /* 114 S> */ B(Return), | |
1466 B(Ldar), R(6), | |
1467 B(ReThrow), | |
1468 B(LdaUndefined), | |
1469 /* 114 S> */ B(Return), | |
1470 ] | |
1471 constant pool: [ | |
1472 FIXED_ARRAY_TYPE, | |
1473 CONSTANT_ELEMENTS_PAIR_TYPE, | |
1474 SYMBOL_TYPE, | |
1475 SYMBOL_TYPE, | |
1476 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], | |
1477 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | |
1478 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | |
1479 FIXED_ARRAY_TYPE, | |
1480 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | |
1481 FIXED_ARRAY_TYPE, | |
1482 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | |
1483 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | |
1484 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | |
1485 Smi [609], | |
1486 FIXED_ARRAY_TYPE, | |
1487 Smi [751], | |
1488 Smi [356], | |
1489 Smi [382], | |
1490 FIXED_ARRAY_TYPE, | |
1491 Smi [320], | |
1492 ] | |
1493 handlers: [ | |
1494 [83, 999, 1005], | |
1495 [86, 945, 947], | |
1496 [103, 469, 475], | |
1497 [106, 421, 423], | |
1498 [571, 698, 700], | |
1499 ] | |
1500 | |
1501 --- | |
1502 snippet: " | |
1503 async function f() { | |
1504 var x = { 'a': 1, 'b': 2 }; | |
1505 for (x['a'] of [1,2,3]) { return x['a']; } | |
1506 } | |
1507 f(); | |
1508 " | |
1509 frame size: 14 | |
1510 parameter count: 1 | |
1511 bytecode array length: 596 | |
1512 bytecodes: [ | |
1513 B(Ldar), R(new_target), | |
1514 B(JumpIfUndefined), U8(22), | |
1515 B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_targe t), U8(1), | |
1516 B(PushContext), R(3), | |
1517 B(ResumeGenerator), R(new_target), | |
1518 B(Star), R(2), | |
1519 B(LdaSmi), I8(78), | |
1520 B(Star), R(4), | |
1521 B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), | |
1522 B(LdaSmi), I8(-2), | |
1523 B(Star), R(2), | |
1524 B(CreateFunctionContext), U8(10), | |
1525 B(PushContext), R(0), | |
1526 B(Ldar), R(this), | |
1527 B(StaCurrentContextSlot), U8(4), | |
1528 /* 16 E> */ B(StackCheck), | |
1529 B(LdaImmutableCurrentContextSlot), U8(4), | |
1530 B(Star), R(5), | |
1531 B(Mov), R(closure), R(4), | |
1532 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8 (2), | |
1533 B(StaCurrentContextSlot), U8(5), | |
1534 B(LdaUndefined), | |
1535 B(Star), R(4), | |
1536 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(4), U8(1), | |
1537 B(StaCurrentContextSlot), U8(13), | |
1538 B(Mov), R(context), R(6), | |
1539 B(Mov), R(context), R(7), | |
1540 /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(8), | |
1541 B(Ldar), R(8), | |
1542 /* 31 E> */ B(StaCurrentContextSlot), U8(6), | |
1543 B(LdaZero), | |
1544 B(StaCurrentContextSlot), U8(9), | |
1545 B(Mov), R(context), R(10), | |
1546 B(Mov), R(context), R(11), | |
1547 /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9), | |
1548 B(Star), R(12), | |
1549 B(LdaNamedProperty), R(12), U8(2), U8(4), | |
1550 B(Star), R(13), | |
1551 B(CallProperty), R(13), R(12), U8(1), U8(6), | |
1552 B(JumpIfJSReceiver), U8(7), | |
1553 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), | |
1554 /* 68 E> */ B(StaCurrentContextSlot), U8(7), | |
1555 /* 65 S> */ B(LdaCurrentContextSlot), U8(7), | |
1556 B(Star), R(13), | |
1557 B(LdaNamedProperty), R(13), U8(3), U8(10), | |
1558 B(Star), R(12), | |
1559 /* 65 E> */ B(CallProperty), R(12), R(13), U8(1), U8(8), | |
1560 /* 65 E> */ B(StaCurrentContextSlot), U8(8), | |
1561 B(Star), R(12), | |
1562 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), | |
1563 B(ToBooleanLogicalNot), | |
1564 B(JumpIfFalse), U8(11), | |
1565 B(LdaCurrentContextSlot), U8(8), | |
1566 B(Star), R(12), | |
1567 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), | |
1568 B(LdaCurrentContextSlot), U8(8), | |
1569 B(Star), R(12), | |
1570 B(LdaNamedProperty), R(12), U8(4), U8(12), | |
1571 B(JumpIfToBooleanTrue), U8(42), | |
1572 B(LdaImmutableCurrentContextSlot), U8(6), | |
1573 B(Star), R(12), | |
1574 B(LdaCurrentContextSlot), U8(8), | |
1575 B(Star), R(13), | |
1576 /* 58 E> */ B(LdaNamedProperty), R(13), U8(5), U8(14), | |
1577 B(StaCurrentContextSlot), U8(10), | |
1578 B(LdaSmi), I8(2), | |
1579 B(StaCurrentContextSlot), U8(9), | |
1580 B(LdaCurrentContextSlot), U8(10), | |
1581 B(StaNamedPropertySloppy), R(12), U8(6), U8(16), | |
1582 /* 53 E> */ B(StackCheck), | |
1583 /* 79 S> */ B(LdaImmutableCurrentContextSlot), U8(6), | |
1584 B(Star), R(12), | |
1585 /* 87 E> */ B(LdaNamedProperty), R(12), U8(6), U8(18), | |
1586 B(Star), R(9), | |
1587 B(LdaZero), | |
1588 B(Star), R(8), | |
1589 B(Jump), U8(62), | |
1590 B(Jump), U8(48), | |
1591 B(Star), R(12), | |
1592 B(Ldar), R(closure), | |
1593 B(CreateCatchContext), R(12), U8(7), U8(8), | |
1594 B(Star), R(11), | |
1595 B(LdaTheHole), | |
1596 B(SetPendingMessage), | |
1597 B(Ldar), R(11), | |
1598 B(PushContext), R(1), | |
1599 B(LdaContextSlot), R(1), U8(9), U8(0), | |
1600 B(Star), R(12), | |
1601 B(LdaSmi), I8(2), | |
1602 B(TestEqualStrict), R(12), U8(20), | |
1603 B(JumpIfFalse), U8(8), | |
1604 B(LdaSmi), I8(1), | |
1605 B(StaContextSlot), R(1), U8(9), U8(0), | |
1606 B(LdaImmutableCurrentContextSlot), U8(4), | |
1607 B(Star), R(12), | |
1608 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), | |
1609 B(PopContext), R(1), | |
1610 B(LdaSmi), I8(-1), | |
1611 B(Star), R(8), | |
1612 B(Jump), U8(8), | |
1613 B(Star), R(9), | |
1614 B(LdaSmi), I8(1), | |
1615 B(Star), R(8), | |
1616 B(LdaTheHole), | |
1617 B(SetPendingMessage), | |
1618 B(Star), R(10), | |
1619 B(LdaCurrentContextSlot), U8(9), | |
1620 B(Star), R(11), | |
1621 B(LdaZero), | |
1622 B(TestEqualStrict), R(11), U8(21), | |
1623 B(JumpIfTrue), U8(135), | |
1624 B(LdaCurrentContextSlot), U8(7), | |
1625 B(Star), R(11), | |
1626 B(LdaNamedProperty), R(11), U8(9), U8(22), | |
1627 B(StaCurrentContextSlot), U8(11), | |
1628 B(LdaCurrentContextSlot), U8(11), | |
1629 B(Star), R(11), | |
1630 B(TestUndetectable), R(11), | |
1631 B(JumpIfFalse), U8(4), | |
1632 B(Jump), U8(115), | |
1633 B(LdaCurrentContextSlot), U8(9), | |
1634 B(Star), R(11), | |
1635 B(LdaSmi), I8(1), | |
1636 B(TestEqualStrict), R(11), U8(25), | |
1637 B(JumpIfFalse), U8(69), | |
1638 B(LdaCurrentContextSlot), U8(11), | |
1639 B(TypeOf), | |
1640 B(Star), R(11), | |
1641 B(LdaConstant), U8(10), | |
1642 B(TestEqualStrict), R(11), U8(26), | |
1643 B(JumpIfFalse), U8(4), | |
1644 B(Jump), U8(18), | |
1645 B(Wide), B(LdaSmi), I16(130), | |
1646 B(Star), R(11), | |
1647 B(LdaConstant), U8(11), | |
1648 B(Star), R(12), | |
1649 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), | |
1650 B(Throw), | |
1651 B(Mov), R(context), R(11), | |
1652 B(LdaCurrentContextSlot), U8(11), | |
1653 B(Star), R(12), | |
1654 B(LdaCurrentContextSlot), U8(7), | |
1655 B(Star), R(13), | |
1656 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), | |
1657 B(Jump), U8(20), | |
1658 B(Star), R(12), | |
1659 B(Ldar), R(closure), | |
1660 B(CreateCatchContext), R(12), U8(7), U8(12), | |
1661 B(Star), R(11), | |
1662 B(LdaTheHole), | |
1663 B(SetPendingMessage), | |
1664 B(Ldar), R(11), | |
1665 B(PushContext), R(1), | |
1666 B(PopContext), R(1), | |
1667 B(Jump), U8(37), | |
1668 B(LdaCurrentContextSlot), U8(11), | |
1669 B(Star), R(11), | |
1670 B(LdaCurrentContextSlot), U8(7), | |
1671 B(Star), R(12), | |
1672 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), | |
1673 B(StaCurrentContextSlot), U8(12), | |
1674 B(LdaCurrentContextSlot), U8(12), | |
1675 B(Star), R(11), | |
1676 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), | |
1677 B(JumpIfToBooleanFalse), U8(4), | |
1678 B(Jump), U8(11), | |
1679 B(LdaCurrentContextSlot), U8(12), | |
1680 B(Star), R(11), | |
1681 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (11), U8(1), | |
1682 B(Ldar), R(10), | |
1683 B(SetPendingMessage), | |
1684 B(LdaZero), | |
1685 B(TestEqualStrict), R(8), U8(0), | |
1686 B(JumpIfTrue), U8(11), | |
1687 B(LdaSmi), I8(1), | |
1688 B(TestEqualStrict), R(8), U8(0), | |
1689 B(JumpIfTrue), U8(12), | |
1690 B(Jump), U8(13), | |
1691 B(LdaZero), | |
1692 B(Star), R(4), | |
1693 B(Mov), R(9), R(5), | |
1694 B(Jump), U8(95), | |
1695 B(Ldar), R(9), | |
1696 B(ReThrow), | |
1697 B(LdaUndefined), | |
1698 B(Star), R(8), | |
1699 B(LdaImmutableCurrentContextSlot), U8(13), | |
1700 B(Star), R(9), | |
1701 B(LdaUndefined), | |
1702 B(Star), R(10), | |
1703 B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), | |
1704 B(LdaImmutableCurrentContextSlot), U8(13), | |
1705 B(Star), R(5), | |
1706 B(LdaSmi), I8(1), | |
1707 B(Star), R(4), | |
1708 B(Jump), U8(68), | |
1709 B(Jump), U8(54), | |
1710 B(Star), R(8), | |
1711 B(Ldar), R(closure), | |
1712 B(CreateCatchContext), R(8), U8(7), U8(13), | |
1713 B(Star), R(7), | |
1714 B(LdaTheHole), | |
1715 B(SetPendingMessage), | |
1716 B(Ldar), R(7), | |
1717 B(PushContext), R(1), | |
1718 B(LdaUndefined), | |
1719 B(Star), R(8), | |
1720 B(LdaImmutableContextSlot), R(1), U8(13), U8(0), | |
1721 B(Star), R(9), | |
1722 B(LdaImmutableCurrentContextSlot), U8(4), | |
1723 B(Star), R(10), | |
1724 B(LdaFalse), | |
1725 B(Star), R(11), | |
1726 B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), | |
1727 B(LdaImmutableContextSlot), R(1), U8(13), U8(0), | |
1728 B(PopContext), R(1), | |
1729 B(PopContext), R(1), | |
1730 B(Star), R(5), | |
1731 B(LdaSmi), I8(2), | |
1732 B(Star), R(4), | |
1733 B(Jump), U8(14), | |
1734 B(LdaSmi), I8(-1), | |
1735 B(Star), R(4), | |
1736 B(Jump), U8(8), | |
1737 B(Star), R(5), | |
1738 B(LdaSmi), I8(3), | |
1739 B(Star), R(4), | |
1740 B(LdaTheHole), | |
1741 B(SetPendingMessage), | |
1742 B(Star), R(6), | |
1743 B(LdaUndefined), | |
1744 B(Star), R(7), | |
1745 B(LdaImmutableCurrentContextSlot), U8(13), | |
1746 B(Star), R(8), | |
1747 B(CallJSRuntime), U8(%UnknownIntrinsicIndex), R(7), U8(2), | |
1748 B(Ldar), R(6), | |
1749 B(SetPendingMessage), | |
1750 B(LdaZero), | |
1751 B(TestEqualStrict), R(4), U8(0), | |
1752 B(JumpIfTrue), U8(25), | |
1753 B(LdaSmi), I8(1), | |
1754 B(TestEqualStrict), R(4), U8(0), | |
1755 B(JumpIfTrue), U8(35), | |
1756 B(LdaSmi), I8(2), | |
1757 B(TestEqualStrict), R(4), U8(0), | |
1758 B(JumpIfTrue), U8(31), | |
1759 B(LdaSmi), I8(3), | |
1760 B(TestEqualStrict), R(4), U8(0), | |
1761 B(JumpIfTrue), U8(27), | |
1762 B(Jump), U8(28), | |
1763 B(LdaImmutableCurrentContextSlot), U8(13), | |
1764 B(Star), R(8), | |
1765 B(LdaUndefined), | |
1766 B(Star), R(7), | |
1767 B(Mov), R(5), R(9), | |
1768 B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), | |
1769 B(Ldar), R(8), | |
1770 /* 96 S> */ B(Return), | |
1771 B(Ldar), R(5), | |
1772 /* 96 S> */ B(Return), | |
1773 B(Ldar), R(5), | |
1774 /* 96 S> */ B(Return), | |
1775 B(Ldar), R(5), | |
1776 B(ReThrow), | |
1777 B(LdaUndefined), | |
1778 /* 96 S> */ B(Return), | |
1779 ] | |
1780 constant pool: [ | |
1781 FIXED_ARRAY_TYPE, | |
1782 CONSTANT_ELEMENTS_PAIR_TYPE, | |
1783 SYMBOL_TYPE, | |
1784 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], | |
1785 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], | |
1786 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], | |
1787 ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], | |
1788 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], | |
1789 FIXED_ARRAY_TYPE, | |
1790 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], | |
1791 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], | |
1792 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], | |
1793 FIXED_ARRAY_TYPE, | |
1794 FIXED_ARRAY_TYPE, | |
1795 ] | |
1796 handlers: [ | |
1797 [63, 509, 515], | |
1798 [66, 455, 457], | |
1799 [81, 243, 249], | |
1800 [84, 195, 197], | |
1801 [333, 345, 347], | |
1802 ] | |
1803 | |
OLD | NEW |