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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/v8.gyp ('k') | test/cctest/interpreter/generate-bytecode-expectations.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
diff --git a/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden b/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
new file mode 100644
index 0000000000000000000000000000000000000000..3b705f1799c415e24920b219f23a1e5be65e71f6
--- /dev/null
+++ b/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
@@ -0,0 +1,1803 @@
+#
+# Autogenerated by generate-bytecode-expectations.
+#
+
+---
+wrap: no
+test function name: f
+async iteration: yes
+
+---
+snippet: "
+ async function f() {
+ for await (let x of [1, 2, 3]) {}
+ }
+ f();
+"
+frame size: 19
+parameter count: 1
+bytecode array length: 1055
+bytecodes: [
+ B(Ldar), R(new_target),
+ B(JumpIfUndefined), U8(42),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
+ B(PushContext), R(4),
+ B(ResumeGenerator), R(new_target),
+ B(Star), R(3),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(136),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(15),
+ B(LdaSmi), I8(78),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CreateFunctionContext), U8(13),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaCurrentContextSlot), U8(4),
+ /* 16 E> */ B(StackCheck),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(6),
+ B(Mov), R(closure), R(5),
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaUndefined),
+ B(Star), R(5),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(10),
+ B(Mov), R(context), R(7),
+ B(Mov), R(context), R(8),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(1),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaZero),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(Mov), R(context), R(11),
+ B(Mov), R(context), R(12),
+ /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(2), U8(7),
+ B(JumpIfUndefined), U8(18),
+ B(JumpIfNull), U8(16),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(9),
+ B(JumpIfJSReceiver), U8(24),
+ B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
+ B(LdaNamedProperty), R(13), U8(3), U8(3),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(5),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1),
+ /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
+ B(LdaSmi), I8(-2),
+ B(TestEqual), R(3), U8(0),
+ B(JumpIfTrue), U8(17),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(75),
+ B(LdaSmi), I8(78),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
+ /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(LdaNamedProperty), R(14), U8(4), U8(13),
+ B(Star), R(13),
+ /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11),
+ B(StaContextSlot), R(1), U8(11), U8(0),
+ /* 40 S> */ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(11), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaZero),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 57 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(21),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(Star), R(10),
+ B(LdaZero),
+ B(Star), R(9),
+ B(Jump), U8(155),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1),
+ B(ToBooleanLogicalNot),
+ B(JumpIfFalse), U8(13),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(5), U8(15),
+ B(JumpIfToBooleanTrue), U8(56),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(6), U8(17),
+ B(StaContextSlot), R(1), U8(12), U8(0),
+ B(LdaSmi), I8(2),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaContextSlot), R(1), U8(12), U8(0),
+ B(StaContextSlot), R(1), U8(6), U8(0),
+ /* 23 E> */ B(StackCheck),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(7),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaContextSlot), R(1), U8(6), U8(0),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(2),
+ B(LdaZero),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(JumpLoop), U8(226), I8(0),
+ B(Jump), U8(48),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(9),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(13), U8(19),
+ B(JumpIfFalse), U8(8),
+ B(LdaSmi), I8(1),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
+ B(PopContext), R(2),
+ B(LdaSmi), I8(-1),
+ B(Star), R(9),
+ B(Jump), U8(8),
+ B(Star), R(10),
+ B(LdaSmi), I8(1),
+ B(Star), R(9),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(11),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaZero),
+ B(TestEqualStrict), R(12), U8(20),
+ B(JumpIfTrueConstant), U8(17),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(12),
+ B(LdaNamedProperty), R(12), U8(10), U8(21),
+ B(StaContextSlot), R(1), U8(13), U8(0),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(TestUndetectable), R(12),
+ B(JumpIfFalse), U8(4),
+ B(JumpConstant), U8(16),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(12), U8(24),
+ B(JumpIfFalse), U8(186),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(TypeOf),
+ B(Star), R(12),
+ B(LdaConstant), U8(11),
+ B(TestEqualStrict), R(12), U8(25),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(18),
+ B(Wide), B(LdaSmi), I16(130),
+ B(Star), R(12),
+ B(LdaConstant), U8(12),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
+ B(Throw),
+ B(Mov), R(context), R(12),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
+ B(StaContextSlot), R(1), U8(14), U8(0),
+ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(14), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaSmi), I8(1),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 57 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(39),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(29),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaZero),
+ B(Star), R(5),
+ B(JumpConstant), U8(19),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ B(Jump), U8(20),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(14),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(PopContext), R(2),
+ B(Jump), U8(159),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
+ B(StaContextSlot), R(1), U8(16), U8(0),
+ B(LdaUndefined),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(16), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(15),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(SuspendGenerator), R(13),
+ B(Ldar), R(12),
+ /* 57 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
+ B(Star), R(15),
+ B(LdaZero),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(40),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(30),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(17),
+ B(Mov), R(14), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(1),
+ B(Star), R(5),
+ B(Jump), U8(170),
+ B(Ldar), R(14),
+ B(ReThrow),
+ B(Ldar), R(14),
+ B(StaContextSlot), R(1), U8(15), U8(0),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
+ B(JumpIfToBooleanFalse), U8(4),
+ B(Jump), U8(13),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(Ldar), R(11),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(11),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(21),
+ B(Jump), U8(26),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(LdaSmi), I8(2),
+ B(Star), R(5),
+ B(Mov), R(10), R(6),
+ B(Jump), U8(101),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Ldar), R(10),
+ B(ReThrow),
+ B(PopContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(10),
+ B(LdaUndefined),
+ B(Star), R(11),
+ B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(6),
+ B(LdaSmi), I8(3),
+ B(Star), R(5),
+ B(Jump), U8(68),
+ B(Jump), U8(54),
+ B(Star), R(9),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(9), U8(8), U8(18),
+ B(Star), R(8),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(8),
+ B(PushContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(10),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(11),
+ B(LdaFalse),
+ B(Star), R(12),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(4),
+ B(Star), R(5),
+ B(Jump), U8(14),
+ B(LdaSmi), I8(-1),
+ B(Star), R(5),
+ B(Jump), U8(8),
+ B(Star), R(6),
+ B(LdaSmi), I8(5),
+ B(Star), R(5),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(7),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(9),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
+ B(Ldar), R(7),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(39),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(35),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(3),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(27),
+ B(LdaSmi), I8(4),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(23),
+ B(LdaSmi), I8(5),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(19),
+ B(Jump), U8(20),
+ B(Ldar), R(6),
+ /* 57 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 57 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 57 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 57 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 57 S> */ B(Return),
+ B(Ldar), R(6),
+ B(ReThrow),
+ B(LdaUndefined),
+ /* 57 S> */ B(Return),
+]
+constant pool: [
+ FIXED_ARRAY_TYPE,
+ CONSTANT_ELEMENTS_PAIR_TYPE,
+ SYMBOL_TYPE,
+ SYMBOL_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
+ Smi [572],
+ FIXED_ARRAY_TYPE,
+ Smi [714],
+ Smi [356],
+ Smi [382],
+ FIXED_ARRAY_TYPE,
+ Smi [320],
+]
+handlers: [
+ [83, 962, 968],
+ [86, 908, 910],
+ [103, 432, 438],
+ [106, 384, 386],
+ [534, 661, 663],
+]
+
+---
+snippet: "
+ async function f() {
+ for await (let x of [1, 2, 3]) { return x; }
+ }
+ f();
+"
+frame size: 19
+parameter count: 1
+bytecode array length: 1115
+bytecodes: [
+ B(Ldar), R(new_target),
+ B(JumpIfUndefined), U8(42),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
+ B(PushContext), R(4),
+ B(ResumeGenerator), R(new_target),
+ B(Star), R(3),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(136),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(15),
+ B(LdaSmi), I8(78),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CreateFunctionContext), U8(13),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaCurrentContextSlot), U8(4),
+ /* 16 E> */ B(StackCheck),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(6),
+ B(Mov), R(closure), R(5),
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaUndefined),
+ B(Star), R(5),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(10),
+ B(Mov), R(context), R(7),
+ B(Mov), R(context), R(8),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(1),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaZero),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(Mov), R(context), R(11),
+ B(Mov), R(context), R(12),
+ /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(2), U8(7),
+ B(JumpIfUndefined), U8(18),
+ B(JumpIfNull), U8(16),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(9),
+ B(JumpIfJSReceiver), U8(24),
+ B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
+ B(LdaNamedProperty), R(13), U8(3), U8(3),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(5),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1),
+ /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
+ B(LdaSmi), I8(-2),
+ B(TestEqual), R(3), U8(0),
+ B(JumpIfTrue), U8(17),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(75),
+ B(LdaSmi), I8(78),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
+ /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(LdaNamedProperty), R(14), U8(4), U8(13),
+ B(Star), R(13),
+ /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11),
+ B(StaContextSlot), R(1), U8(11), U8(0),
+ /* 40 S> */ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(11), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaZero),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 68 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(21),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(Star), R(10),
+ B(LdaZero),
+ B(Star), R(9),
+ B(Jump), U8(167),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1),
+ B(ToBooleanLogicalNot),
+ B(JumpIfFalse), U8(13),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(5), U8(15),
+ B(JumpIfToBooleanTrue), U8(68),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(6), U8(17),
+ B(StaContextSlot), R(1), U8(12), U8(0),
+ B(LdaSmi), I8(2),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaContextSlot), R(1), U8(12), U8(0),
+ B(StaContextSlot), R(1), U8(6), U8(0),
+ /* 23 E> */ B(StackCheck),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(7),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaContextSlot), R(1), U8(6), U8(0),
+ B(StaCurrentContextSlot), U8(4),
+ /* 56 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(Star), R(10),
+ B(LdaSmi), I8(1),
+ B(Star), R(9),
+ B(Jump), U8(62),
+ B(Jump), U8(48),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(9),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(13), U8(19),
+ B(JumpIfFalse), U8(8),
+ B(LdaSmi), I8(1),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
+ B(PopContext), R(2),
+ B(LdaSmi), I8(-1),
+ B(Star), R(9),
+ B(Jump), U8(8),
+ B(Star), R(10),
+ B(LdaSmi), I8(2),
+ B(Star), R(9),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(11),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaZero),
+ B(TestEqualStrict), R(12), U8(20),
+ B(JumpIfTrueConstant), U8(17),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(12),
+ B(LdaNamedProperty), R(12), U8(10), U8(21),
+ B(StaContextSlot), R(1), U8(13), U8(0),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(TestUndetectable), R(12),
+ B(JumpIfFalse), U8(4),
+ B(JumpConstant), U8(16),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(12), U8(24),
+ B(JumpIfFalse), U8(186),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(TypeOf),
+ B(Star), R(12),
+ B(LdaConstant), U8(11),
+ B(TestEqualStrict), R(12), U8(25),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(18),
+ B(Wide), B(LdaSmi), I16(130),
+ B(Star), R(12),
+ B(LdaConstant), U8(12),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
+ B(Throw),
+ B(Mov), R(context), R(12),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
+ B(StaContextSlot), R(1), U8(14), U8(0),
+ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(14), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaSmi), I8(1),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 68 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(39),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(29),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaZero),
+ B(Star), R(5),
+ B(JumpConstant), U8(19),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ B(Jump), U8(20),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(14),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(PopContext), R(2),
+ B(Jump), U8(159),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
+ B(StaContextSlot), R(1), U8(16), U8(0),
+ B(LdaUndefined),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(16), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(15),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(SuspendGenerator), R(13),
+ B(Ldar), R(12),
+ /* 68 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
+ B(Star), R(15),
+ B(LdaZero),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(40),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(30),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(17),
+ B(Mov), R(14), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(1),
+ B(Star), R(5),
+ B(Jump), U8(194),
+ B(Ldar), R(14),
+ B(ReThrow),
+ B(Ldar), R(14),
+ B(StaContextSlot), R(1), U8(15), U8(0),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
+ B(JumpIfToBooleanFalse), U8(4),
+ B(Jump), U8(13),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(Ldar), R(11),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(18),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(28),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(38),
+ B(Jump), U8(43),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(LdaSmi), I8(2),
+ B(Star), R(5),
+ B(Mov), R(10), R(6),
+ B(Jump), U8(118),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(LdaSmi), I8(3),
+ B(Star), R(5),
+ B(Mov), R(10), R(6),
+ B(Jump), U8(101),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Ldar), R(10),
+ B(ReThrow),
+ B(PopContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(10),
+ B(LdaUndefined),
+ B(Star), R(11),
+ B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(6),
+ B(LdaSmi), I8(4),
+ B(Star), R(5),
+ B(Jump), U8(68),
+ B(Jump), U8(54),
+ B(Star), R(9),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(9), U8(8), U8(18),
+ B(Star), R(8),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(8),
+ B(PushContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(10),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(11),
+ B(LdaFalse),
+ B(Star), R(12),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(5),
+ B(Star), R(5),
+ B(Jump), U8(14),
+ B(LdaSmi), I8(-1),
+ B(Star), R(5),
+ B(Jump), U8(8),
+ B(Star), R(6),
+ B(LdaSmi), I8(6),
+ B(Star), R(5),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(7),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(9),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
+ B(Ldar), R(7),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(46),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(42),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(38),
+ B(LdaSmi), I8(3),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(34),
+ B(LdaSmi), I8(4),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(44),
+ B(LdaSmi), I8(5),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(40),
+ B(LdaSmi), I8(6),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(36),
+ B(Jump), U8(37),
+ B(Ldar), R(6),
+ /* 68 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 68 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 68 S> */ B(Return),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(9),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(Mov), R(6), R(10),
+ B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3),
+ B(Ldar), R(9),
+ /* 68 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 68 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 68 S> */ B(Return),
+ B(Ldar), R(6),
+ B(ReThrow),
+ B(LdaUndefined),
+ /* 68 S> */ B(Return),
+]
+constant pool: [
+ FIXED_ARRAY_TYPE,
+ CONSTANT_ELEMENTS_PAIR_TYPE,
+ SYMBOL_TYPE,
+ SYMBOL_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
+ Smi [584],
+ FIXED_ARRAY_TYPE,
+ Smi [726],
+ Smi [356],
+ Smi [382],
+ FIXED_ARRAY_TYPE,
+ Smi [344],
+]
+handlers: [
+ [83, 998, 1004],
+ [86, 944, 946],
+ [103, 444, 450],
+ [106, 396, 398],
+ [546, 673, 675],
+]
+
+---
+snippet: "
+ async function f() {
+ for await (let x of [10, 20, 30]) {
+ if (x == 10) continue;
+ if (x == 20) break;
+ }
+ }
+ f();
+"
+frame size: 19
+parameter count: 1
+bytecode array length: 1092
+bytecodes: [
+ B(Ldar), R(new_target),
+ B(JumpIfUndefined), U8(42),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
+ B(PushContext), R(4),
+ B(ResumeGenerator), R(new_target),
+ B(Star), R(3),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(136),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrueConstant), U8(15),
+ B(LdaSmi), I8(78),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CreateFunctionContext), U8(13),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaCurrentContextSlot), U8(4),
+ /* 16 E> */ B(StackCheck),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(6),
+ B(Mov), R(closure), R(5),
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8(2),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaUndefined),
+ B(Star), R(5),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(10),
+ B(Mov), R(context), R(7),
+ B(Mov), R(context), R(8),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(1),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaZero),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(Mov), R(context), R(11),
+ B(Mov), R(context), R(12),
+ /* 43 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(9),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(2), U8(7),
+ B(JumpIfUndefined), U8(18),
+ B(JumpIfNull), U8(16),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(9),
+ B(JumpIfJSReceiver), U8(24),
+ B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
+ B(LdaNamedProperty), R(13), U8(3), U8(3),
+ B(Star), R(14),
+ B(CallProperty), R(14), R(13), U8(1), U8(5),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(14), U8(1),
+ /* 43 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
+ B(LdaSmi), I8(-2),
+ B(TestEqual), R(3), U8(0),
+ B(JumpIfTrue), U8(17),
+ B(LdaZero),
+ B(TestEqualStrict), R(3), U8(0),
+ B(JumpIfTrue), U8(75),
+ B(LdaSmi), I8(78),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
+ /* 40 S> */ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(LdaNamedProperty), R(14), U8(4), U8(13),
+ B(Star), R(13),
+ /* 40 E> */ B(CallProperty), R(13), R(14), U8(1), U8(11),
+ B(StaContextSlot), R(1), U8(11), U8(0),
+ /* 40 S> */ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(11), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaZero),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 114 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(21),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(Star), R(10),
+ B(LdaZero),
+ B(Star), R(9),
+ B(Jump), U8(192),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ /* 40 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(15), U8(1),
+ B(ToBooleanLogicalNot),
+ B(JumpIfFalse), U8(13),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(5), U8(15),
+ B(JumpIfToBooleanTrue), U8(93),
+ B(LdaContextSlot), R(1), U8(8), U8(0),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(6), U8(17),
+ B(StaContextSlot), R(1), U8(12), U8(0),
+ B(LdaSmi), I8(2),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaContextSlot), R(1), U8(12), U8(0),
+ B(StaContextSlot), R(1), U8(6), U8(0),
+ /* 23 E> */ B(StackCheck),
+ B(Ldar), R(closure),
+ B(CreateBlockContext), U8(7),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(StaCurrentContextSlot), U8(4),
+ B(LdaContextSlot), R(1), U8(6), U8(0),
+ B(StaCurrentContextSlot), U8(4),
+ /* 63 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(13),
+ B(LdaSmi), I8(10),
+ /* 69 E> */ B(TestEqual), R(13), U8(19),
+ B(JumpIfFalse), U8(8),
+ /* 76 S> */ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(Jump), U8(26),
+ /* 90 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(13),
+ B(LdaSmi), I8(20),
+ /* 96 E> */ B(TestEqual), R(13), U8(20),
+ B(JumpIfFalse), U8(8),
+ /* 103 S> */ B(PopContext), R(2),
+ B(PopContext), R(2),
+ B(Jump), U8(15),
+ B(PopContext), R(2),
+ B(LdaZero),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(Wide), B(JumpLoop), U16(261), I16(0),
+ B(Jump), U8(48),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(9),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(13), U8(21),
+ B(JumpIfFalse), U8(8),
+ B(LdaSmi), I8(1),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
+ B(PopContext), R(2),
+ B(LdaSmi), I8(-1),
+ B(Star), R(9),
+ B(Jump), U8(8),
+ B(Star), R(10),
+ B(LdaSmi), I8(1),
+ B(Star), R(9),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(11),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaZero),
+ B(TestEqualStrict), R(12), U8(22),
+ B(JumpIfTrueConstant), U8(17),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(12),
+ B(LdaNamedProperty), R(12), U8(10), U8(23),
+ B(StaContextSlot), R(1), U8(13), U8(0),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(TestUndetectable), R(12),
+ B(JumpIfFalse), U8(4),
+ B(JumpConstant), U8(16),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(12), U8(26),
+ B(JumpIfFalse), U8(186),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(TypeOf),
+ B(Star), R(12),
+ B(LdaConstant), U8(11),
+ B(TestEqualStrict), R(12), U8(27),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(18),
+ B(Wide), B(LdaSmi), I16(130),
+ B(Star), R(12),
+ B(LdaConstant), U8(12),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
+ B(Throw),
+ B(Mov), R(context), R(12),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
+ B(StaContextSlot), R(1), U8(14), U8(0),
+ B(LdaUndefined),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(14), U8(0),
+ B(Star), R(15),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(16),
+ B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(13),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(14),
+ B(LdaSmi), I8(1),
+ B(SuspendGenerator), R(14),
+ B(Ldar), R(13),
+ /* 114 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(14), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(14), U8(1),
+ B(Star), R(16),
+ B(LdaZero),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(39),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(16), U8(0),
+ B(JumpIfTrue), U8(29),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(18),
+ B(Mov), R(15), R(17),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaZero),
+ B(Star), R(5),
+ B(JumpConstant), U8(19),
+ B(Ldar), R(15),
+ B(ReThrow),
+ B(Ldar), R(15),
+ B(Jump), U8(20),
+ B(Star), R(13),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(13), U8(8), U8(14),
+ B(Star), R(12),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(12),
+ B(PushContext), R(2),
+ B(PopContext), R(2),
+ B(Jump), U8(159),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(12),
+ B(LdaContextSlot), R(1), U8(7), U8(0),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
+ B(StaContextSlot), R(1), U8(16), U8(0),
+ B(LdaUndefined),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaContextSlot), R(1), U8(16), U8(0),
+ B(Star), R(14),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(15),
+ B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(12),
+ B(LdaImmutableContextSlot), R(1), U8(5), U8(0),
+ B(Star), R(13),
+ B(LdaSmi), I8(2),
+ B(SuspendGenerator), R(13),
+ B(Ldar), R(12),
+ /* 114 S> */ B(Return),
+ B(LdaSmi), I8(-2),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetResumeMode), R(13), U8(1),
+ B(Star), R(15),
+ B(LdaZero),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(40),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(15), U8(0),
+ B(JumpIfTrue), U8(30),
+ B(Jump), U8(2),
+ B(LdaTrue),
+ B(Star), R(17),
+ B(Mov), R(14), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(1),
+ B(Star), R(5),
+ B(Jump), U8(170),
+ B(Ldar), R(14),
+ B(ReThrow),
+ B(Ldar), R(14),
+ B(StaContextSlot), R(1), U8(15), U8(0),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
+ B(JumpIfToBooleanFalse), U8(4),
+ B(Jump), U8(13),
+ B(LdaContextSlot), R(1), U8(15), U8(0),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(Ldar), R(11),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(11),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(9), U8(0),
+ B(JumpIfTrue), U8(21),
+ B(Jump), U8(26),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(LdaSmi), I8(2),
+ B(Star), R(5),
+ B(Mov), R(10), R(6),
+ B(Jump), U8(101),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Ldar), R(10),
+ B(ReThrow),
+ B(PopContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(10),
+ B(LdaUndefined),
+ B(Star), R(11),
+ B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(6),
+ B(LdaSmi), I8(3),
+ B(Star), R(5),
+ B(Jump), U8(68),
+ B(Jump), U8(54),
+ B(Star), R(9),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(9), U8(8), U8(18),
+ B(Star), R(8),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(8),
+ B(PushContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(9),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(Star), R(10),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(11),
+ B(LdaFalse),
+ B(Star), R(12),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4),
+ B(LdaContextSlot), R(1), U8(10), U8(0),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(6),
+ B(LdaSmi), I8(4),
+ B(Star), R(5),
+ B(Jump), U8(14),
+ B(LdaSmi), I8(-1),
+ B(Star), R(5),
+ B(Jump), U8(8),
+ B(Star), R(6),
+ B(LdaSmi), I8(5),
+ B(Star), R(5),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(7),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(LdaCurrentContextSlot), U8(10),
+ B(Star), R(9),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2),
+ B(Ldar), R(7),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(39),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(35),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(3),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(27),
+ B(LdaSmi), I8(4),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(23),
+ B(LdaSmi), I8(5),
+ B(TestEqualStrict), R(5), U8(0),
+ B(JumpIfTrue), U8(19),
+ B(Jump), U8(20),
+ B(Ldar), R(6),
+ /* 114 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 114 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 114 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 114 S> */ B(Return),
+ B(Ldar), R(6),
+ /* 114 S> */ B(Return),
+ B(Ldar), R(6),
+ B(ReThrow),
+ B(LdaUndefined),
+ /* 114 S> */ B(Return),
+]
+constant pool: [
+ FIXED_ARRAY_TYPE,
+ CONSTANT_ELEMENTS_PAIR_TYPE,
+ SYMBOL_TYPE,
+ SYMBOL_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
+ Smi [609],
+ FIXED_ARRAY_TYPE,
+ Smi [751],
+ Smi [356],
+ Smi [382],
+ FIXED_ARRAY_TYPE,
+ Smi [320],
+]
+handlers: [
+ [83, 999, 1005],
+ [86, 945, 947],
+ [103, 469, 475],
+ [106, 421, 423],
+ [571, 698, 700],
+]
+
+---
+snippet: "
+ async function f() {
+ var x = { 'a': 1, 'b': 2 };
+ for (x['a'] of [1,2,3]) { return x['a']; }
+ }
+ f();
+"
+frame size: 14
+parameter count: 1
+bytecode array length: 596
+bytecodes: [
+ B(Ldar), R(new_target),
+ B(JumpIfUndefined), U8(22),
+ B(CallRuntime), U16(Runtime::k_GeneratorGetContext), R(new_target), U8(1),
+ B(PushContext), R(3),
+ B(ResumeGenerator), R(new_target),
+ B(Star), R(2),
+ B(LdaSmi), I8(78),
+ B(Star), R(4),
+ B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1),
+ B(LdaSmi), I8(-2),
+ B(Star), R(2),
+ B(CreateFunctionContext), U8(10),
+ B(PushContext), R(0),
+ B(Ldar), R(this),
+ B(StaCurrentContextSlot), U8(4),
+ /* 16 E> */ B(StackCheck),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(5),
+ B(Mov), R(closure), R(4),
+ B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(4), U8(2),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaUndefined),
+ B(Star), R(4),
+ B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1),
+ B(StaCurrentContextSlot), U8(13),
+ B(Mov), R(context), R(6),
+ B(Mov), R(context), R(7),
+ /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(8),
+ B(Ldar), R(8),
+ /* 31 E> */ B(StaCurrentContextSlot), U8(6),
+ B(LdaZero),
+ B(StaCurrentContextSlot), U8(9),
+ B(Mov), R(context), R(10),
+ B(Mov), R(context), R(11),
+ /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9),
+ B(Star), R(12),
+ B(LdaNamedProperty), R(12), U8(2), U8(4),
+ B(Star), R(13),
+ B(CallProperty), R(13), R(12), U8(1), U8(6),
+ B(JumpIfJSReceiver), U8(7),
+ B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
+ /* 68 E> */ B(StaCurrentContextSlot), U8(7),
+ /* 65 S> */ B(LdaCurrentContextSlot), U8(7),
+ B(Star), R(13),
+ B(LdaNamedProperty), R(13), U8(3), U8(10),
+ B(Star), R(12),
+ /* 65 E> */ B(CallProperty), R(12), R(13), U8(1), U8(8),
+ /* 65 E> */ B(StaCurrentContextSlot), U8(8),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
+ B(ToBooleanLogicalNot),
+ B(JumpIfFalse), U8(11),
+ B(LdaCurrentContextSlot), U8(8),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(LdaCurrentContextSlot), U8(8),
+ B(Star), R(12),
+ B(LdaNamedProperty), R(12), U8(4), U8(12),
+ B(JumpIfToBooleanTrue), U8(42),
+ B(LdaImmutableCurrentContextSlot), U8(6),
+ B(Star), R(12),
+ B(LdaCurrentContextSlot), U8(8),
+ B(Star), R(13),
+ /* 58 E> */ B(LdaNamedProperty), R(13), U8(5), U8(14),
+ B(StaCurrentContextSlot), U8(10),
+ B(LdaSmi), I8(2),
+ B(StaCurrentContextSlot), U8(9),
+ B(LdaCurrentContextSlot), U8(10),
+ B(StaNamedPropertySloppy), R(12), U8(6), U8(16),
+ /* 53 E> */ B(StackCheck),
+ /* 79 S> */ B(LdaImmutableCurrentContextSlot), U8(6),
+ B(Star), R(12),
+ /* 87 E> */ B(LdaNamedProperty), R(12), U8(6), U8(18),
+ B(Star), R(9),
+ B(LdaZero),
+ B(Star), R(8),
+ B(Jump), U8(62),
+ B(Jump), U8(48),
+ B(Star), R(12),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(12), U8(7), U8(8),
+ B(Star), R(11),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(11),
+ B(PushContext), R(1),
+ B(LdaContextSlot), R(1), U8(9), U8(0),
+ B(Star), R(12),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(12), U8(20),
+ B(JumpIfFalse), U8(8),
+ B(LdaSmi), I8(1),
+ B(StaContextSlot), R(1), U8(9), U8(0),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
+ B(PopContext), R(1),
+ B(LdaSmi), I8(-1),
+ B(Star), R(8),
+ B(Jump), U8(8),
+ B(Star), R(9),
+ B(LdaSmi), I8(1),
+ B(Star), R(8),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(10),
+ B(LdaCurrentContextSlot), U8(9),
+ B(Star), R(11),
+ B(LdaZero),
+ B(TestEqualStrict), R(11), U8(21),
+ B(JumpIfTrue), U8(135),
+ B(LdaCurrentContextSlot), U8(7),
+ B(Star), R(11),
+ B(LdaNamedProperty), R(11), U8(9), U8(22),
+ B(StaCurrentContextSlot), U8(11),
+ B(LdaCurrentContextSlot), U8(11),
+ B(Star), R(11),
+ B(TestUndetectable), R(11),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(115),
+ B(LdaCurrentContextSlot), U8(9),
+ B(Star), R(11),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(11), U8(25),
+ B(JumpIfFalse), U8(69),
+ B(LdaCurrentContextSlot), U8(11),
+ B(TypeOf),
+ B(Star), R(11),
+ B(LdaConstant), U8(10),
+ B(TestEqualStrict), R(11), U8(26),
+ B(JumpIfFalse), U8(4),
+ B(Jump), U8(18),
+ B(Wide), B(LdaSmi), I16(130),
+ B(Star), R(11),
+ B(LdaConstant), U8(11),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
+ B(Throw),
+ B(Mov), R(context), R(11),
+ B(LdaCurrentContextSlot), U8(11),
+ B(Star), R(12),
+ B(LdaCurrentContextSlot), U8(7),
+ B(Star), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
+ B(Jump), U8(20),
+ B(Star), R(12),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(12), U8(7), U8(12),
+ B(Star), R(11),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(11),
+ B(PushContext), R(1),
+ B(PopContext), R(1),
+ B(Jump), U8(37),
+ B(LdaCurrentContextSlot), U8(11),
+ B(Star), R(11),
+ B(LdaCurrentContextSlot), U8(7),
+ B(Star), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
+ B(StaCurrentContextSlot), U8(12),
+ B(LdaCurrentContextSlot), U8(12),
+ B(Star), R(11),
+ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1),
+ B(JumpIfToBooleanFalse), U8(4),
+ B(Jump), U8(11),
+ B(LdaCurrentContextSlot), U8(12),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(Ldar), R(10),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(8), U8(0),
+ B(JumpIfTrue), U8(11),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(8), U8(0),
+ B(JumpIfTrue), U8(12),
+ B(Jump), U8(13),
+ B(LdaZero),
+ B(Star), R(4),
+ B(Mov), R(9), R(5),
+ B(Jump), U8(95),
+ B(Ldar), R(9),
+ B(ReThrow),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(LdaCurrentContextSlot), U8(13),
+ B(Star), R(9),
+ B(LdaUndefined),
+ B(Star), R(10),
+ B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3),
+ B(LdaCurrentContextSlot), U8(13),
+ B(Star), R(5),
+ B(LdaSmi), I8(1),
+ B(Star), R(4),
+ B(Jump), U8(68),
+ B(Jump), U8(54),
+ B(Star), R(8),
+ B(Ldar), R(closure),
+ B(CreateCatchContext), R(8), U8(7), U8(13),
+ B(Star), R(7),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Ldar), R(7),
+ B(PushContext), R(1),
+ B(LdaUndefined),
+ B(Star), R(8),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(Star), R(9),
+ B(LdaImmutableCurrentContextSlot), U8(4),
+ B(Star), R(10),
+ B(LdaFalse),
+ B(Star), R(11),
+ B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4),
+ B(LdaContextSlot), R(1), U8(13), U8(0),
+ B(PopContext), R(1),
+ B(PopContext), R(1),
+ B(Star), R(5),
+ B(LdaSmi), I8(2),
+ B(Star), R(4),
+ B(Jump), U8(14),
+ B(LdaSmi), I8(-1),
+ B(Star), R(4),
+ B(Jump), U8(8),
+ B(Star), R(5),
+ B(LdaSmi), I8(3),
+ B(Star), R(4),
+ B(LdaTheHole),
+ B(SetPendingMessage),
+ B(Star), R(6),
+ B(LdaUndefined),
+ B(Star), R(7),
+ B(LdaCurrentContextSlot), U8(13),
+ B(Star), R(8),
+ B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(2),
+ B(Ldar), R(6),
+ B(SetPendingMessage),
+ B(LdaZero),
+ B(TestEqualStrict), R(4), U8(0),
+ B(JumpIfTrue), U8(25),
+ B(LdaSmi), I8(1),
+ B(TestEqualStrict), R(4), U8(0),
+ B(JumpIfTrue), U8(35),
+ B(LdaSmi), I8(2),
+ B(TestEqualStrict), R(4), U8(0),
+ B(JumpIfTrue), U8(31),
+ B(LdaSmi), I8(3),
+ B(TestEqualStrict), R(4), U8(0),
+ B(JumpIfTrue), U8(27),
+ B(Jump), U8(28),
+ B(LdaCurrentContextSlot), U8(13),
+ B(Star), R(8),
+ B(LdaUndefined),
+ B(Star), R(7),
+ B(Mov), R(5), R(9),
+ B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3),
+ B(Ldar), R(8),
+ /* 96 S> */ B(Return),
+ B(Ldar), R(5),
+ /* 96 S> */ B(Return),
+ B(Ldar), R(5),
+ /* 96 S> */ B(Return),
+ B(Ldar), R(5),
+ B(ReThrow),
+ B(LdaUndefined),
+ /* 96 S> */ B(Return),
+]
+constant pool: [
+ FIXED_ARRAY_TYPE,
+ CONSTANT_ELEMENTS_PAIR_TYPE,
+ SYMBOL_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
+ FIXED_ARRAY_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
+ FIXED_ARRAY_TYPE,
+ FIXED_ARRAY_TYPE,
+]
+handlers: [
+ [63, 509, 515],
+ [66, 455, 457],
+ [81, 243, 249],
+ [84, 195, 197],
+ [333, 345, 347],
+]
+
« 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