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

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

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

Powered by Google App Engine
This is Rietveld 408576698