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

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

Issue 2645313003: [async-iteration] implement Async-from-Sync Iterator (Closed)
Patch Set: cleanmerge Created 3 years, 10 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/v8.gyp ('k') | test/cctest/interpreter/generate-bytecode-expectations.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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(%async_function_promise_create), R(5), U8(1 ),
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(LdaContextSlot), R(1), U8(10), U8(0),
103 B(Star), R(16),
104 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8( 4),
105 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
243 B(Star), R(16),
244 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4) ,
245 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
305 B(Star), R(15),
306 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8( 4),
307 B(LdaContextSlot), 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(LdaCurrentContextSlot), 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(LdaCurrentContextSlot), 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(LdaContextSlot), 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(LdaContextSlot), 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(LdaCurrentContextSlot), U8(10),
423 B(Star), R(9),
424 B(CallJSRuntime), U8(%async_function_promise_release), 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(%async_function_promise_create), 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(LdaContextSlot), R(1), U8(10), U8(0),
584 B(Star), R(16),
585 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8( 4),
586 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
731 B(Star), R(16),
732 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4) ,
733 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
793 B(Star), R(15),
794 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8( 4),
795 B(LdaContextSlot), 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(LdaCurrentContextSlot), 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(LdaCurrentContextSlot), 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(LdaContextSlot), 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(LdaContextSlot), 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(LdaCurrentContextSlot), U8(10),
922 B(Star), R(9),
923 B(CallJSRuntime), U8(%async_function_promise_release), 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(LdaCurrentContextSlot), 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(%async_function_promise_create), 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(LdaContextSlot), R(1), U8(10), U8(0),
1097 B(Star), R(16),
1098 B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8( 4),
1099 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
1253 B(Star), R(16),
1254 B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4) ,
1255 B(LdaContextSlot), 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(LdaContextSlot), R(1), U8(10), U8(0),
1315 B(Star), R(15),
1316 B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8( 4),
1317 B(LdaContextSlot), 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(LdaCurrentContextSlot), 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(LdaCurrentContextSlot), 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(LdaContextSlot), 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(LdaContextSlot), 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(LdaCurrentContextSlot), U8(10),
1433 B(Star), R(9),
1434 B(CallJSRuntime), U8(%async_function_promise_release), 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(%async_function_promise_create), 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(LdaCurrentContextSlot), 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(LdaCurrentContextSlot), 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(LdaContextSlot), 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(LdaContextSlot), 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(LdaCurrentContextSlot), U8(13),
1746 B(Star), R(8),
1747 B(CallJSRuntime), U8(%async_function_promise_release), 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(LdaCurrentContextSlot), 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
OLDNEW
« no previous file with comments | « src/v8.gyp ('k') | test/cctest/interpreter/generate-bytecode-expectations.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698