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

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

Issue 2898163002: Make non-Module generators only context allocate parameters. (Closed)
Patch Set: Rebase Created 3 years, 7 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 8
9 --- 9 ---
10 snippet: " 10 snippet: "
11 function* f() { } 11 function* f() { }
12 f(); 12 f();
13 " 13 "
14 frame size: 11 14 frame size: 11
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 173 16 bytecode array length: 163
17 bytecodes: [ 17 bytecodes: [
18 B(Ldar), R(new_target), 18 B(Ldar), R(new_target),
19 B(JumpIfUndefined), U8(25), 19 B(JumpIfUndefined), U8(25),
20 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 20 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1),
21 B(PushContext), R(2), 21 B(PushContext), R(2),
22 B(ResumeGenerator), R(new_target), 22 B(ResumeGenerator), R(new_target),
23 B(Star), R(1), 23 B(Star), R(1),
24 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 24 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
25 B(LdaSmi), I8(79), 25 B(LdaSmi), I8(79),
26 B(Star), R(3), 26 B(Star), R(3),
27 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), 27 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
28 B(LdaSmi), I8(-2), 28 B(LdaSmi), I8(-2),
29 B(Star), R(1), 29 B(Star), R(1),
30 B(CreateFunctionContext), U8(1),
31 B(PushContext), R(0),
32 B(Mov), R(closure), R(3), 30 B(Mov), R(closure), R(3),
33 B(Mov), R(this), R(4), 31 B(Mov), R(this), R(4),
34 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 32 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
35 B(StaCurrentContextSlot), U8(4), 33 B(Star), R(0),
36 /* 11 E> */ B(StackCheck), 34 /* 11 E> */ B(StackCheck),
37 B(Mov), R(context), R(5), 35 B(Mov), R(context), R(5),
38 B(LdaImmutableCurrentContextSlot), U8(4),
39 B(Star), R(6),
40 B(LdaImmutableCurrentContextSlot), U8(4),
41 B(Star), R(7),
42 B(LdaZero), 36 B(LdaZero),
37 B(Mov), R(0), R(7),
38 B(Mov), R(0), R(6),
43 /* 11 E> */ B(SuspendGenerator), R(6), U8(0), 39 /* 11 E> */ B(SuspendGenerator), R(6), U8(0),
44 B(Ldar), R(7), 40 B(Ldar), R(7),
45 /* 16 S> */ B(Return), 41 /* 16 S> */ B(Return),
46 B(LdaSmi), I8(-2), 42 B(LdaSmi), I8(-2),
47 B(Star), R(1), 43 B(Star), R(1),
48 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), 44 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
49 B(Star), R(7), 45 B(Star), R(7),
50 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), 46 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
51 B(Star), R(8), 47 B(Star), R(8),
52 B(LdaZero), 48 B(LdaZero),
(...skipping 23 matching lines...) Expand all
76 B(Jump), U8(14), 72 B(Jump), U8(14),
77 B(LdaSmi), I8(-1), 73 B(LdaSmi), I8(-1),
78 B(Star), R(3), 74 B(Star), R(3),
79 B(Jump), U8(8), 75 B(Jump), U8(8),
80 B(Star), R(4), 76 B(Star), R(4),
81 B(LdaSmi), I8(1), 77 B(LdaSmi), I8(1),
82 B(Star), R(3), 78 B(Star), R(3),
83 B(LdaTheHole), 79 B(LdaTheHole),
84 B(SetPendingMessage), 80 B(SetPendingMessage),
85 B(Star), R(5), 81 B(Star), R(5),
86 B(LdaImmutableCurrentContextSlot), U8(4), 82 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1),
87 B(Star), R(6),
88 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1),
89 B(Ldar), R(5), 83 B(Ldar), R(5),
90 B(SetPendingMessage), 84 B(SetPendingMessage),
91 B(Ldar), R(3), 85 B(Ldar), R(3),
92 B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), 86 B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0),
93 B(Jump), U8(8), 87 B(Jump), U8(8),
94 B(Ldar), R(4), 88 B(Ldar), R(4),
95 /* 16 S> */ B(Return), 89 /* 16 S> */ B(Return),
96 B(Ldar), R(4), 90 B(Ldar), R(4),
97 B(ReThrow), 91 B(ReThrow),
98 B(LdaUndefined), 92 B(LdaUndefined),
99 /* 16 S> */ B(Return), 93 /* 16 S> */ B(Return),
100 ] 94 ]
101 constant pool: [ 95 constant pool: [
102 Smi [52], 96 Smi [46],
103 Smi [6], 97 Smi [6],
104 Smi [9], 98 Smi [9],
105 ] 99 ]
106 handlers: [ 100 handlers: [
107 [51, 130, 136], 101 [47, 124, 130],
108 ] 102 ]
109 103
110 --- 104 ---
111 snippet: " 105 snippet: "
112 function* f() { yield 42 } 106 function* f() { yield 42 }
113 f(); 107 f();
114 " 108 "
115 frame size: 11 109 frame size: 11
116 parameter count: 1 110 parameter count: 1
117 bytecode array length: 245 111 bytecode array length: 234
118 bytecodes: [ 112 bytecodes: [
119 B(Ldar), R(new_target), 113 B(Ldar), R(new_target),
120 B(JumpIfUndefined), U8(25), 114 B(JumpIfUndefined), U8(25),
121 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 115 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1),
122 B(PushContext), R(2), 116 B(PushContext), R(2),
123 B(ResumeGenerator), R(new_target), 117 B(ResumeGenerator), R(new_target),
124 B(Star), R(1), 118 B(Star), R(1),
125 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), 119 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
126 B(LdaSmi), I8(79), 120 B(LdaSmi), I8(79),
127 B(Star), R(3), 121 B(Star), R(3),
128 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), 122 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
129 B(LdaSmi), I8(-2), 123 B(LdaSmi), I8(-2),
130 B(Star), R(1), 124 B(Star), R(1),
131 B(CreateFunctionContext), U8(1),
132 B(PushContext), R(0),
133 B(Mov), R(closure), R(3), 125 B(Mov), R(closure), R(3),
134 B(Mov), R(this), R(4), 126 B(Mov), R(this), R(4),
135 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 127 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
136 B(StaCurrentContextSlot), U8(4), 128 B(Star), R(0),
137 /* 11 E> */ B(StackCheck), 129 /* 11 E> */ B(StackCheck),
138 B(Mov), R(context), R(5), 130 B(Mov), R(context), R(5),
139 B(LdaImmutableCurrentContextSlot), U8(4),
140 B(Star), R(6),
141 B(LdaImmutableCurrentContextSlot), U8(4),
142 B(Star), R(7),
143 B(LdaZero), 131 B(LdaZero),
132 B(Mov), R(0), R(7),
133 B(Mov), R(0), R(6),
144 /* 11 E> */ B(SuspendGenerator), R(6), U8(0), 134 /* 11 E> */ B(SuspendGenerator), R(6), U8(0),
145 B(Ldar), R(7), 135 B(Ldar), R(7),
146 /* 25 S> */ B(Return), 136 /* 25 S> */ B(Return),
147 B(LdaSmi), I8(-2), 137 B(LdaSmi), I8(-2),
148 B(Star), R(1), 138 B(Star), R(1),
149 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), 139 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
150 B(Star), R(7), 140 B(Star), R(7),
151 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), 141 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
152 B(Star), R(8), 142 B(Star), R(8),
153 B(LdaZero), 143 B(LdaZero),
154 B(TestEqualStrictNoFeedback), R(8), 144 B(TestEqualStrictNoFeedback), R(8),
155 B(JumpIfTrue), U8(28), 145 B(JumpIfTrue), U8(28),
156 B(LdaSmi), I8(2), 146 B(LdaSmi), I8(2),
157 B(TestEqualStrictNoFeedback), R(8), 147 B(TestEqualStrictNoFeedback), R(8),
158 B(JumpIfTrue), U8(19), 148 B(JumpIfTrue), U8(19),
159 B(LdaTrue), 149 B(LdaTrue),
160 B(Star), R(10), 150 B(Star), R(10),
161 B(Mov), R(7), R(9), 151 B(Mov), R(7), R(9),
162 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), 152 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2),
163 B(Star), R(4), 153 B(Star), R(4),
164 B(LdaZero), 154 B(LdaZero),
165 B(Star), R(3), 155 B(Star), R(3),
166 B(Jump), U8(106), 156 B(Jump), U8(105),
167 B(Ldar), R(7), 157 B(Ldar), R(7),
168 /* 11 E> */ B(Throw), 158 /* 11 E> */ B(Throw),
169 /* 16 S> */ B(LdaImmutableCurrentContextSlot), U8(4), 159 /* 16 S> */ B(LdaSmi), I8(42),
170 B(Star), R(6),
171 B(LdaSmi), I8(42),
172 B(Star), R(7), 160 B(Star), R(7),
173 B(LdaFalse), 161 B(LdaFalse),
174 B(Star), R(8), 162 B(Star), R(8),
175 /* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), 163 /* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
176 B(Star), R(7), 164 B(Star), R(7),
177 B(LdaSmi), I8(1), 165 B(LdaSmi), I8(1),
166 B(Mov), R(0), R(6),
178 B(SuspendGenerator), R(6), U8(0), 167 B(SuspendGenerator), R(6), U8(0),
179 B(Ldar), R(7), 168 B(Ldar), R(7),
180 /* 25 S> */ B(Return), 169 /* 25 S> */ B(Return),
181 B(LdaSmi), I8(-2), 170 B(LdaSmi), I8(-2),
182 B(Star), R(1), 171 B(Star), R(1),
183 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), 172 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1),
184 B(Star), R(7), 173 B(Star), R(7),
185 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), 174 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1),
186 B(Star), R(8), 175 B(Star), R(8),
187 B(LdaZero), 176 B(LdaZero),
(...skipping 23 matching lines...) Expand all
211 B(Jump), U8(14), 200 B(Jump), U8(14),
212 B(LdaSmi), I8(-1), 201 B(LdaSmi), I8(-1),
213 B(Star), R(3), 202 B(Star), R(3),
214 B(Jump), U8(8), 203 B(Jump), U8(8),
215 B(Star), R(4), 204 B(Star), R(4),
216 B(LdaSmi), I8(1), 205 B(LdaSmi), I8(1),
217 B(Star), R(3), 206 B(Star), R(3),
218 B(LdaTheHole), 207 B(LdaTheHole),
219 B(SetPendingMessage), 208 B(SetPendingMessage),
220 B(Star), R(5), 209 B(Star), R(5),
221 B(LdaImmutableCurrentContextSlot), U8(4), 210 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1),
222 B(Star), R(6),
223 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1),
224 B(Ldar), R(5), 211 B(Ldar), R(5),
225 B(SetPendingMessage), 212 B(SetPendingMessage),
226 B(Ldar), R(3), 213 B(Ldar), R(3),
227 B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), 214 B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
228 B(Jump), U8(8), 215 B(Jump), U8(8),
229 B(Ldar), R(4), 216 B(Ldar), R(4),
230 /* 25 S> */ B(Return), 217 /* 25 S> */ B(Return),
231 B(Ldar), R(4), 218 B(Ldar), R(4),
232 B(ReThrow), 219 B(ReThrow),
233 B(LdaUndefined), 220 B(LdaUndefined),
234 /* 25 S> */ B(Return), 221 /* 25 S> */ B(Return),
235 ] 222 ]
236 constant pool: [ 223 constant pool: [
237 Smi [52], 224 Smi [46],
238 Smi [124], 225 Smi [117],
239 Smi [6], 226 Smi [6],
240 Smi [9], 227 Smi [9],
241 ] 228 ]
242 handlers: [ 229 handlers: [
243 [51, 202, 208], 230 [47, 195, 201],
244 ] 231 ]
245 232
246 --- 233 ---
247 snippet: " 234 snippet: "
248 function* f() { for (let x of [42]) yield x } 235 function* f() { for (let x of [42]) yield x }
249 f(); 236 f();
250 " 237 "
251 frame size: 17 238 frame size: 25
252 parameter count: 1 239 parameter count: 1
253 bytecode array length: 677 240 bytecode array length: 529
254 bytecodes: [ 241 bytecodes: [
255 B(Ldar), R(new_target), 242 B(Ldar), R(new_target),
256 B(JumpIfUndefined), U8(25), 243 B(JumpIfUndefined), U8(25),
257 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 244 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1),
258 B(PushContext), R(4), 245 B(PushContext), R(12),
259 B(ResumeGenerator), R(new_target), 246 B(ResumeGenerator), R(new_target),
260 B(Star), R(3), 247 B(Star), R(11),
261 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), 248 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
262 B(LdaSmi), I8(79), 249 B(LdaSmi), I8(79),
263 B(Star), R(5), 250 B(Star), R(13),
264 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), 251 B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1),
265 B(LdaSmi), I8(-2), 252 B(LdaSmi), I8(-2),
266 B(Star), R(3), 253 B(Star), R(11),
267 B(CreateFunctionContext), U8(8), 254 B(Mov), R(closure), R(13),
268 B(PushContext), R(0), 255 B(Mov), R(this), R(14),
269 B(Mov), R(closure), R(5), 256 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13 ), U8(2),
270 B(Mov), R(this), R(6), 257 B(Star), R(2),
271 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5) , U8(2),
272 B(StaCurrentContextSlot), U8(4),
273 /* 11 E> */ B(StackCheck), 258 /* 11 E> */ B(StackCheck),
274 B(Mov), R(context), R(7), 259 B(Mov), R(context), R(15),
275 B(LdaImmutableCurrentContextSlot), U8(4), 260 B(LdaZero),
276 B(Star), R(8), 261 B(Mov), R(2), R(17),
277 B(LdaImmutableCurrentContextSlot), U8(4), 262 B(Mov), R(2), R(16),
278 B(Star), R(9), 263 /* 11 E> */ B(SuspendGenerator), R(16), U8(0),
279 B(LdaZero), 264 B(Ldar), R(17),
280 /* 11 E> */ B(SuspendGenerator), R(8), U8(0), 265 /* 44 S> */ B(Return),
281 B(Ldar), R(9), 266 B(LdaSmi), I8(-2),
282 /* 44 S> */ B(Return), 267 B(Star), R(11),
283 B(LdaSmi), I8(-2), 268 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(16), U8(1),
284 B(Star), R(3), 269 B(Star), R(17),
285 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1), 270 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(16) , U8(1),
286 B(Star), R(9), 271 B(Star), R(18),
287 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1), 272 B(LdaZero),
288 B(Star), R(10), 273 B(TestEqualStrictNoFeedback), R(18),
289 B(LdaZero),
290 B(TestEqualStrictNoFeedback), R(10),
291 B(JumpIfTrue), U8(28), 274 B(JumpIfTrue), U8(28),
292 B(LdaSmi), I8(2), 275 B(LdaSmi), I8(2),
293 B(TestEqualStrictNoFeedback), R(10), 276 B(TestEqualStrictNoFeedback), R(18),
294 B(JumpIfTrue), U8(19), 277 B(JumpIfTrue), U8(19),
295 B(LdaTrue), 278 B(LdaTrue),
296 B(Star), R(12), 279 B(Star), R(20),
297 B(Mov), R(9), R(11), 280 B(Mov), R(17), R(19),
298 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11) , U8(2), 281 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(19) , U8(2),
299 B(Star), R(6), 282 B(Star), R(14),
300 B(LdaZero), 283 B(LdaZero),
301 B(Star), R(5), 284 B(Star), R(13),
302 B(JumpConstant), U8(17), 285 B(JumpConstant), U8(15),
303 B(Ldar), R(9), 286 B(Ldar), R(17),
304 /* 11 E> */ B(Throw), 287 /* 11 E> */ B(Throw),
305 B(Ldar), R(closure), 288 B(LdaZero),
306 B(CreateBlockContext), U8(2), 289 B(Star), R(6),
307 B(PushContext), R(1), 290 B(Mov), R(context), R(18),
308 B(LdaTheHole), 291 B(Mov), R(context), R(19),
309 B(StaCurrentContextSlot), U8(4), 292 /* 30 S> */ B(CreateArrayLiteral), U8(2), U8(3), U8(17),
310 B(LdaZero), 293 B(Star), R(20),
311 B(StaContextSlot), R(1), U8(8), U8(0), 294 B(LdaNamedProperty), R(20), U8(3), U8(4),
312 B(Mov), R(context), R(10), 295 B(Star), R(21),
313 B(Mov), R(context), R(11), 296 B(CallProperty0), R(21), R(20), U8(6),
314 /* 30 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17),
315 B(Star), R(12),
316 B(LdaNamedProperty), R(12), U8(4), U8(4),
317 B(Star), R(13),
318 B(CallProperty0), R(13), R(12), U8(6),
319 B(JumpIfJSReceiver), U8(7), 297 B(JumpIfJSReceiver), U8(7),
320 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), 298 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
321 /* 30 E> */ B(StaContextSlot), R(1), U8(6), U8(0), 299 B(Star), R(4),
322 B(Ldar), R(3), 300 B(Ldar), R(11),
323 B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1), 301 B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1),
324 B(LdaSmi), I8(-2), 302 B(LdaSmi), I8(-2),
325 B(TestEqualStrictNoFeedback), R(3), 303 /* 30 E> */ B(TestEqualStrictNoFeedback), R(11),
326 B(JumpIfTrue), U8(11), 304 B(JumpIfTrue), U8(11),
327 B(LdaSmi), I8(79), 305 B(LdaSmi), I8(79),
328 B(Star), R(12), 306 B(Star), R(20),
329 B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), 307 B(CallRuntime), U16(Runtime::kAbort), R(20), U8(1),
330 /* 25 S> */ B(LdaContextSlot), R(1), U8(6), U8(0), 308 /* 25 S> */ B(LdaNamedProperty), R(4), U8(5), U8(10),
331 B(Star), R(13), 309 B(Star), R(20),
332 B(LdaNamedProperty), R(13), U8(6), U8(10), 310 B(CallProperty0), R(20), R(4), U8(8),
333 B(Star), R(12), 311 B(Star), R(5),
334 B(CallProperty0), R(12), R(13), U8(8), 312 /* 25 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1),
335 /* 25 E> */ B(StaContextSlot), R(1), U8(7), U8(0),
336 B(Star), R(12),
337 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1),
338 B(ToBooleanLogicalNot), 313 B(ToBooleanLogicalNot),
339 B(JumpIfFalse), U8(13), 314 B(JumpIfFalse), U8(7),
340 B(LdaContextSlot), R(1), U8(7), U8(0), 315 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
341 B(Star), R(12), 316 B(LdaNamedProperty), R(5), U8(6), U8(12),
342 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), 317 B(JumpIfToBooleanTrue), U8(95),
343 B(LdaContextSlot), R(1), U8(7), U8(0), 318 B(LdaNamedProperty), R(5), U8(7), U8(14),
344 B(Star), R(12), 319 B(Star), R(7),
345 B(LdaNamedProperty), R(12), U8(7), U8(12), 320 B(LdaSmi), I8(2),
346 B(JumpIfToBooleanTrue), U8(132), 321 B(Star), R(6),
347 B(LdaContextSlot), R(1), U8(7), U8(0), 322 B(Mov), R(7), R(3),
348 B(Star), R(12),
349 B(LdaNamedProperty), R(12), U8(8), U8(14),
350 B(StaContextSlot), R(1), U8(9), U8(0),
351 B(LdaSmi), I8(2),
352 B(StaContextSlot), R(1), U8(8), U8(0),
353 B(LdaContextSlot), R(1), U8(9), U8(0),
354 B(StaContextSlot), R(1), U8(5), U8(0),
355 /* 16 E> */ B(StackCheck), 323 /* 16 E> */ B(StackCheck),
324 B(Mov), R(3), R(0),
325 /* 36 S> */ B(LdaFalse),
326 B(Star), R(22),
327 B(Mov), R(3), R(21),
328 /* 42 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(21) , U8(2),
329 B(Star), R(21),
330 B(LdaSmi), I8(1),
331 B(Mov), R(2), R(20),
332 B(SuspendGenerator), R(20), U8(0),
333 B(Ldar), R(21),
334 /* 44 S> */ B(Return),
335 B(LdaSmi), I8(-2),
336 B(Star), R(11),
337 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(20), U8(1),
338 B(Star), R(21),
339 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(20) , U8(1),
340 B(Star), R(22),
341 B(LdaZero),
342 B(TestEqualStrictNoFeedback), R(22),
343 B(JumpIfTrue), U8(28),
344 B(LdaSmi), I8(2),
345 B(TestEqualStrictNoFeedback), R(22),
346 B(JumpIfTrue), U8(19),
347 B(LdaTrue),
348 B(Star), R(24),
349 B(Mov), R(21), R(23),
350 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(23) , U8(2),
351 B(Star), R(17),
352 B(LdaZero),
353 B(Star), R(16),
354 B(Jump), U8(59),
355 B(Ldar), R(21),
356 /* 36 E> */ B(Throw),
357 B(LdaZero),
358 B(Star), R(6),
359 B(JumpLoop), U8(141), I8(0),
360 B(Jump), U8(36),
361 B(Star), R(20),
356 B(Ldar), R(closure), 362 B(Ldar), R(closure),
357 B(CreateBlockContext), U8(9), 363 B(CreateCatchContext), R(20), U8(8), U8(9),
358 B(PushContext), R(2), 364 B(PushContext), R(10),
365 B(Star), R(19),
366 B(LdaSmi), I8(2),
367 B(TestEqualStrict), R(6), U8(16),
368 B(JumpIfFalse), U8(6),
369 B(LdaSmi), I8(1),
370 B(Star), R(6),
371 B(LdaImmutableCurrentContextSlot), U8(4),
372 B(Star), R(20),
373 B(CallRuntime), U16(Runtime::kReThrow), R(20), U8(1),
374 B(PopContext), R(10),
375 B(LdaSmi), I8(-1),
376 B(Star), R(16),
377 B(Jump), U8(8),
378 B(Star), R(17),
379 B(LdaSmi), I8(1),
380 B(Star), R(16),
359 B(LdaTheHole), 381 B(LdaTheHole),
360 B(StaCurrentContextSlot), U8(4), 382 B(SetPendingMessage),
361 B(LdaContextSlot), R(1), U8(5), U8(0), 383 B(Star), R(18),
362 B(StaCurrentContextSlot), U8(4), 384 B(LdaZero),
363 /* 36 S> */ B(LdaImmutableContextSlot), R(1), U8(4), U8(0), 385 B(TestEqualStrict), R(6), U8(17),
364 B(Star), R(12), 386 B(JumpIfTrue), U8(104),
365 B(LdaImmutableCurrentContextSlot), U8(4), 387 B(LdaNamedProperty), R(4), U8(10), U8(18),
366 B(Star), R(13),
367 B(LdaFalse),
368 B(Star), R(14),
369 /* 42 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13) , U8(2),
370 B(Star), R(13),
371 B(LdaSmi), I8(1),
372 B(SuspendGenerator), R(12), U8(0),
373 B(Ldar), R(13),
374 /* 44 S> */ B(Return),
375 B(LdaSmi), I8(-2),
376 B(Star), R(3),
377 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1),
378 B(Star), R(13),
379 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12) , U8(1),
380 B(Star), R(14),
381 B(LdaZero),
382 B(TestEqualStrictNoFeedback), R(14),
383 B(JumpIfTrue), U8(30),
384 B(LdaSmi), I8(2),
385 B(TestEqualStrictNoFeedback), R(14),
386 B(JumpIfTrue), U8(21),
387 B(LdaTrue),
388 B(Star), R(16),
389 B(Mov), R(13), R(15),
390 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15) , U8(2),
391 B(PopContext), R(2),
392 B(Star), R(9),
393 B(LdaZero),
394 B(Star), R(8), 388 B(Star), R(8),
395 B(Jump), U8(71),
396 B(Ldar), R(13),
397 /* 36 E> */ B(Throw),
398 B(PopContext), R(2),
399 B(LdaZero),
400 B(StaContextSlot), R(1), U8(8), U8(0),
401 B(JumpLoop), U8(200), I8(0),
402 B(Jump), U8(44),
403 B(Star), R(12),
404 B(Ldar), R(closure),
405 B(CreateCatchContext), R(12), U8(10), U8(11),
406 B(PushContext), R(2),
407 B(Star), R(11),
408 B(LdaContextSlot), R(1), U8(8), U8(0),
409 B(Star), R(12),
410 B(LdaSmi), I8(2),
411 B(TestEqualStrict), R(12), U8(16),
412 B(JumpIfFalse), U8(8),
413 B(LdaSmi), I8(1),
414 B(StaContextSlot), R(1), U8(8), U8(0),
415 B(LdaImmutableCurrentContextSlot), U8(4),
416 B(Star), R(12),
417 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
418 B(PopContext), R(2),
419 B(LdaSmi), I8(-1),
420 B(Star), R(8),
421 B(Jump), U8(8),
422 B(Star), R(9),
423 B(LdaSmi), I8(1),
424 B(Star), R(8),
425 B(LdaTheHole),
426 B(SetPendingMessage),
427 B(Star), R(10),
428 B(LdaContextSlot), R(1), U8(8), U8(0),
429 B(Star), R(11),
430 B(LdaZero),
431 B(TestEqualStrict), R(11), U8(17),
432 B(JumpIfTrue), U8(150),
433 B(LdaContextSlot), R(1), U8(6), U8(0),
434 B(Star), R(11),
435 B(LdaNamedProperty), R(11), U8(12), U8(18),
436 B(StaContextSlot), R(1), U8(10), U8(0),
437 B(LdaContextSlot), R(1), U8(10), U8(0),
438 B(TestUndetectable), 389 B(TestUndetectable),
439 B(JumpIfFalse), U8(4), 390 B(JumpIfFalse), U8(4),
440 B(Jump), U8(127), 391 B(Jump), U8(93),
441 B(LdaContextSlot), R(1), U8(8), U8(0), 392 B(LdaSmi), I8(1),
442 B(Star), R(11), 393 B(TestEqualStrict), R(6), U8(21),
443 B(LdaSmi), I8(1), 394 B(JumpIfFalse), U8(61),
444 B(TestEqualStrict), R(11), U8(21), 395 B(Ldar), R(8),
445 B(JumpIfFalse), U8(69),
446 B(LdaContextSlot), R(1), U8(10), U8(0),
447 B(TestTypeOf), U8(5), 396 B(TestTypeOf), U8(5),
448 B(JumpIfFalse), U8(4), 397 B(JumpIfFalse), U8(4),
449 B(Jump), U8(18), 398 B(Jump), U8(18),
450 B(Wide), B(LdaSmi), I16(130), 399 B(Wide), B(LdaSmi), I16(130),
451 B(Star), R(11), 400 B(Star), R(19),
452 B(LdaConstant), U8(13), 401 B(LdaConstant), U8(11),
453 B(Star), R(12), 402 B(Star), R(20),
454 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), 403 B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2),
455 B(Throw), 404 B(Throw),
456 B(Mov), R(context), R(11), 405 B(Mov), R(context), R(19),
457 B(LdaContextSlot), R(1), U8(10), U8(0), 406 B(Mov), R(8), R(20),
458 B(Star), R(12), 407 B(Mov), R(4), R(21),
459 B(LdaContextSlot), R(1), U8(6), U8(0), 408 B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2),
460 B(Star), R(13),
461 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
462 B(Jump), U8(20), 409 B(Jump), U8(20),
463 B(Star), R(12), 410 B(Star), R(20),
464 B(Ldar), R(closure), 411 B(Ldar), R(closure),
465 B(CreateCatchContext), R(12), U8(10), U8(14), 412 B(CreateCatchContext), R(20), U8(8), U8(12),
466 B(Star), R(11), 413 B(Star), R(19),
467 B(LdaTheHole), 414 B(LdaTheHole),
468 B(SetPendingMessage), 415 B(SetPendingMessage),
469 B(Ldar), R(11), 416 B(Ldar), R(19),
470 B(PushContext), R(2), 417 B(PushContext), R(10),
471 B(PopContext), R(2), 418 B(PopContext), R(10),
472 B(Jump), U8(47), 419 B(Jump), U8(27),
473 B(LdaContextSlot), R(1), U8(10), U8(0), 420 B(Mov), R(8), R(19),
474 B(Star), R(11), 421 B(Mov), R(4), R(20),
475 B(LdaContextSlot), R(1), U8(6), U8(0), 422 B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2),
476 B(Star), R(12), 423 B(Star), R(9),
477 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), 424 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1),
478 B(StaContextSlot), R(1), U8(11), U8(0),
479 B(LdaContextSlot), R(1), U8(11), U8(0),
480 B(Star), R(11),
481 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1),
482 B(JumpIfToBooleanFalse), U8(4), 425 B(JumpIfToBooleanFalse), U8(4),
483 B(Jump), U8(13), 426 B(Jump), U8(7),
484 B(LdaContextSlot), R(1), U8(11), U8(0), 427 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (9), U8(1),
485 B(Star), R(11), 428 B(Ldar), R(18),
486 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (11), U8(1), 429 B(SetPendingMessage),
487 B(Ldar), R(10), 430 B(Ldar), R(16),
488 B(SetPendingMessage), 431 B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0),
489 B(Ldar), R(8), 432 B(Jump), U8(19),
490 B(SwitchOnSmiNoFeedback), U8(15), U8(2), I8(0), 433 B(LdaZero),
491 B(Jump), U8(23), 434 B(Star), R(13),
492 B(PopContext), R(1), 435 B(Mov), R(17), R(14),
493 B(LdaZero), 436 B(Jump), U8(40),
494 B(Star), R(5), 437 B(LdaSmi), I8(1),
495 B(Mov), R(9), R(6), 438 B(Star), R(13),
496 B(Jump), U8(44), 439 B(Mov), R(17), R(14),
497 B(PopContext), R(1), 440 B(Jump), U8(31),
498 B(LdaSmi), I8(1),
499 B(Star), R(5),
500 B(Mov), R(9), R(6),
501 B(Jump), U8(33),
502 B(PopContext), R(1),
503 B(LdaUndefined), 441 B(LdaUndefined),
504 B(Star), R(8), 442 B(Star), R(16),
505 B(LdaTrue), 443 B(LdaTrue),
506 B(Star), R(9), 444 B(Star), R(17),
507 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), 445 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2),
508 B(Star), R(6), 446 B(Star), R(14),
509 B(LdaZero), 447 B(LdaZero),
510 B(Star), R(5), 448 B(Star), R(13),
511 B(Jump), U8(14), 449 B(Jump), U8(14),
512 B(LdaSmi), I8(-1), 450 B(LdaSmi), I8(-1),
513 B(Star), R(5), 451 B(Star), R(13),
514 B(Jump), U8(8), 452 B(Jump), U8(8),
515 B(Star), R(6), 453 B(Star), R(14),
516 B(LdaSmi), I8(1), 454 B(LdaSmi), I8(1),
517 B(Star), R(5), 455 B(Star), R(13),
518 B(LdaTheHole), 456 B(LdaTheHole),
519 B(SetPendingMessage), 457 B(SetPendingMessage),
520 B(Star), R(7), 458 B(Star), R(15),
521 B(LdaImmutableCurrentContextSlot), U8(4), 459 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1),
522 B(Star), R(8), 460 B(Ldar), R(15),
523 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(8), U8(1), 461 B(SetPendingMessage),
524 B(Ldar), R(7), 462 B(Ldar), R(13),
525 B(SetPendingMessage), 463 B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0),
526 B(Ldar), R(5),
527 B(SwitchOnSmiNoFeedback), U8(18), U8(2), I8(0),
528 B(Jump), U8(8), 464 B(Jump), U8(8),
529 B(Ldar), R(6), 465 B(Ldar), R(14),
530 /* 44 S> */ B(Return), 466 /* 44 S> */ B(Return),
531 B(Ldar), R(6), 467 B(Ldar), R(14),
532 B(ReThrow), 468 B(ReThrow),
533 B(LdaUndefined), 469 B(LdaUndefined),
534 /* 44 S> */ B(Return), 470 /* 44 S> */ B(Return),
535 ] 471 ]
536 constant pool: [ 472 constant pool: [
537 Smi [52], 473 Smi [46],
538 Smi [146], 474 Smi [127],
539 FIXED_ARRAY_TYPE,
540 TUPLE2_TYPE, 475 TUPLE2_TYPE,
541 SYMBOL_TYPE, 476 SYMBOL_TYPE,
542 Smi [142], 477 Smi [89],
543 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 478 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
544 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 479 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
545 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 480 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
546 FIXED_ARRAY_TYPE,
547 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 481 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
548 FIXED_ARRAY_TYPE, 482 FIXED_ARRAY_TYPE,
549 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 483 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
550 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 484 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
551 FIXED_ARRAY_TYPE, 485 FIXED_ARRAY_TYPE,
552 Smi [6], 486 Smi [6],
553 Smi [16], 487 Smi [14],
554 Smi [538], 488 Smi [400],
555 Smi [6], 489 Smi [6],
556 Smi [9], 490 Smi [9],
557 ] 491 ]
558 handlers: [ 492 handlers: [
559 [51, 634, 640], 493 [47, 490, 496],
560 [130, 407, 413], 494 [113, 321, 327],
561 [133, 363, 365], 495 [116, 285, 287],
562 [500, 516, 518], 496 [388, 398, 400],
563 ] 497 ]
564 498
565 --- 499 ---
566 snippet: " 500 snippet: "
567 function* g() { yield 42 } 501 function* g() { yield 42 }
568 function* f() { yield* g() } 502 function* f() { yield* g() }
569 f(); 503 f();
570 " 504 "
571 frame size: 12 505 frame size: 20
572 parameter count: 1 506 parameter count: 1
573 bytecode array length: 679 507 bytecode array length: 573
574 bytecodes: [ 508 bytecodes: [
575 B(Ldar), R(new_target), 509 B(Ldar), R(new_target),
576 B(JumpIfUndefined), U8(25), 510 B(JumpIfUndefined), U8(25),
577 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 511 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1),
578 B(PushContext), R(3), 512 B(PushContext), R(11),
579 B(ResumeGenerator), R(new_target), 513 B(ResumeGenerator), R(new_target),
580 B(Star), R(2), 514 B(Star), R(10),
581 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), 515 B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0),
582 B(LdaSmi), I8(79), 516 B(LdaSmi), I8(79),
583 B(Star), R(4), 517 B(Star), R(12),
584 B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), 518 B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1),
585 B(LdaSmi), I8(-2), 519 B(LdaSmi), I8(-2),
586 B(Star), R(2), 520 B(Star), R(10),
587 B(CreateFunctionContext), U8(9), 521 B(Mov), R(closure), R(12),
588 B(PushContext), R(0), 522 B(Mov), R(this), R(13),
589 B(Mov), R(closure), R(4), 523 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(12 ), U8(2),
590 B(Mov), R(this), R(5), 524 B(Star), R(0),
591 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
592 B(StaCurrentContextSlot), U8(4),
593 /* 38 E> */ B(StackCheck), 525 /* 38 E> */ B(StackCheck),
594 B(Mov), R(context), R(6), 526 B(Mov), R(context), R(14),
595 B(LdaImmutableCurrentContextSlot), U8(4), 527 B(LdaZero),
596 B(Star), R(7), 528 B(Mov), R(0), R(16),
597 B(LdaImmutableCurrentContextSlot), U8(4), 529 B(Mov), R(0), R(15),
598 B(Star), R(8), 530 /* 38 E> */ B(SuspendGenerator), R(15), U8(0),
599 B(LdaZero), 531 B(Ldar), R(16),
600 /* 38 E> */ B(SuspendGenerator), R(7), U8(0), 532 /* 54 S> */ B(Return),
601 B(Ldar), R(8), 533 B(LdaSmi), I8(-2),
602 /* 54 S> */ B(Return), 534 B(Star), R(10),
603 B(LdaSmi), I8(-2), 535 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(15), U8(1),
604 B(Star), R(2), 536 B(Star), R(16),
605 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1), 537 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(15) , U8(1),
606 B(Star), R(8), 538 B(Star), R(17),
607 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(7), U8(1), 539 B(LdaZero),
608 B(Star), R(9), 540 B(TestEqualStrictNoFeedback), R(17),
609 B(LdaZero),
610 B(TestEqualStrictNoFeedback), R(9),
611 B(JumpIfTrue), U8(28), 541 B(JumpIfTrue), U8(28),
612 B(LdaSmi), I8(2), 542 B(LdaSmi), I8(2),
613 B(TestEqualStrictNoFeedback), R(9), 543 B(TestEqualStrictNoFeedback), R(17),
614 B(JumpIfTrue), U8(19), 544 B(JumpIfTrue), U8(19),
615 B(LdaTrue), 545 B(LdaTrue),
616 B(Star), R(11), 546 B(Star), R(19),
617 B(Mov), R(8), R(10), 547 B(Mov), R(16), R(18),
618 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(10) , U8(2), 548 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18) , U8(2),
619 B(Star), R(5), 549 B(Star), R(13),
620 B(LdaZero), 550 B(LdaZero),
621 B(Star), R(4), 551 B(Star), R(12),
622 B(JumpConstant), U8(15), 552 B(JumpConstant), U8(13),
623 B(Ldar), R(8), 553 B(Ldar), R(16),
624 /* 38 E> */ B(Throw), 554 /* 38 E> */ B(Throw),
625 /* 43 S> */ B(LdaUndefined), 555 /* 43 S> */ B(LdaUndefined),
626 B(StaCurrentContextSlot), U8(5), 556 B(Star), R(1),
627 B(LdaZero), 557 B(LdaZero),
628 B(StaCurrentContextSlot), U8(6), 558 B(Star), R(2),
629 B(LdaUndefined), 559 B(LdaUndefined),
630 B(StaCurrentContextSlot), U8(7), 560 B(Star), R(3),
631 B(LdaGlobal), U8(2), U8(5), 561 B(LdaGlobal), U8(2), U8(5),
632 B(Star), R(9), 562 B(Star), R(17),
633 /* 50 E> */ B(CallUndefinedReceiver0), R(9), U8(3), 563 /* 50 E> */ B(CallUndefinedReceiver0), R(17), U8(3),
634 B(Star), R(7), 564 B(Star), R(15),
635 B(LdaNamedProperty), R(7), U8(3), U8(7), 565 B(LdaNamedProperty), R(15), U8(3), U8(7),
636 B(Star), R(8), 566 B(Star), R(16),
637 B(CallProperty0), R(8), R(7), U8(9), 567 B(CallProperty0), R(16), R(15), U8(9),
638 B(JumpIfJSReceiver), U8(7), 568 B(JumpIfJSReceiver), U8(7),
639 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), 569 B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
640 B(StaCurrentContextSlot), U8(8), 570 B(Star), R(4),
641 B(Ldar), R(2), 571 B(Ldar), R(10),
642 B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1), 572 B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1),
643 B(LdaSmi), I8(-2), 573 B(LdaSmi), I8(-2),
644 B(TestEqualStrictNoFeedback), R(2), 574 B(TestEqualStrictNoFeedback), R(10),
645 B(JumpIfTrue), U8(11), 575 B(JumpIfTrue), U8(11),
646 B(LdaSmi), I8(79), 576 B(LdaSmi), I8(79),
647 B(Star), R(7), 577 B(Star), R(15),
648 B(CallRuntime), U16(Runtime::kAbort), R(7), U8(1), 578 B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1),
649 B(StackCheck), 579 B(StackCheck),
650 B(LdaCurrentContextSlot), U8(6), 580 B(LdaZero),
651 B(Star), R(7), 581 B(TestEqualStrict), R(2), U8(15),
652 B(LdaZero), 582 B(Mov), R(2), R(15),
653 B(TestEqualStrict), R(7), U8(15),
654 B(JumpIfTrue), U8(18), 583 B(JumpIfTrue), U8(18),
655 B(LdaSmi), I8(1), 584 B(LdaSmi), I8(1),
656 B(TestEqualStrict), R(7), U8(19), 585 B(TestEqualStrict), R(15), U8(19),
657 B(JumpIfTrue), U8(55), 586 B(JumpIfTrue), U8(39),
658 B(LdaSmi), I8(2), 587 B(LdaSmi), I8(2),
659 B(TestEqualStrict), R(7), U8(28), 588 B(TestEqualStrict), R(15), U8(28),
660 B(JumpIfTrue), U8(122), 589 B(JumpIfTrue), U8(88),
661 B(JumpConstant), U8(11), 590 B(Jump), U8(246),
662 B(LdaCurrentContextSlot), U8(8), 591 B(LdaNamedProperty), R(4), U8(5), U8(13),
663 B(Star), R(9), 592 B(Star), R(16),
664 B(LdaNamedProperty), R(9), U8(5), U8(13), 593 B(CallProperty1), R(16), R(4), R(1), U8(11),
665 B(Star), R(8), 594 B(Star), R(3),
666 B(LdaCurrentContextSlot), U8(5), 595 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
667 B(Star), R(10), 596 B(JumpIfToBooleanFalse), U8(4),
668 B(CallProperty1), R(8), R(9), R(10), U8(11), 597 B(Jump), U8(7),
669 B(StaCurrentContextSlot), U8(7), 598 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
670 B(LdaCurrentContextSlot), U8(7), 599 B(Jump), U8(218),
671 B(Star), R(8), 600 B(LdaNamedProperty), R(4), U8(6), U8(16),
672 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), 601 B(Star), R(3),
673 B(JumpIfToBooleanFalse), U8(4),
674 B(Jump), U8(11),
675 B(LdaCurrentContextSlot), U8(7),
676 B(Star), R(8),
677 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1),
678 B(JumpConstant), U8(12),
679 B(LdaCurrentContextSlot), U8(8),
680 B(Star), R(8),
681 B(LdaNamedProperty), R(8), U8(6), U8(16),
682 B(StaCurrentContextSlot), U8(7),
683 B(LdaCurrentContextSlot), U8(7),
684 B(TestUndetectable), 602 B(TestUndetectable),
685 B(JumpIfFalse), U8(20), 603 B(JumpIfFalse), U8(19),
686 B(LdaCurrentContextSlot), U8(5), 604 B(LdaTrue),
687 B(Star), R(8), 605 B(Star), R(17),
688 B(LdaTrue), 606 B(Mov), R(1), R(16),
689 B(Star), R(9), 607 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16) , U8(2),
690 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(8), U8(2), 608 B(Star), R(13),
609 B(LdaZero),
610 B(Star), R(12),
611 B(JumpConstant), U8(14),
612 B(Mov), R(3), R(16),
613 B(Mov), R(4), R(17),
614 B(Mov), R(1), R(18),
615 B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(3),
616 B(Star), R(3),
617 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
618 B(JumpIfToBooleanFalse), U8(4),
619 B(Jump), U8(7),
620 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
621 B(Jump), U8(162),
622 B(LdaNamedProperty), R(4), U8(7), U8(20),
691 B(Star), R(5), 623 B(Star), R(5),
692 B(LdaZero),
693 B(Star), R(4),
694 B(JumpConstant), U8(16),
695 B(LdaCurrentContextSlot), U8(7),
696 B(Star), R(8),
697 B(LdaCurrentContextSlot), U8(8),
698 B(Star), R(9),
699 B(LdaCurrentContextSlot), U8(5),
700 B(Star), R(10),
701 B(InvokeIntrinsic), U8(Runtime::k_Call), R(8), U8(3),
702 B(StaCurrentContextSlot), U8(7),
703 B(LdaCurrentContextSlot), U8(7),
704 B(Star), R(8),
705 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1),
706 B(JumpIfToBooleanFalse), U8(4),
707 B(Jump), U8(11),
708 B(LdaCurrentContextSlot), U8(7),
709 B(Star), R(8),
710 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1),
711 B(Jump), U8(197),
712 B(LdaCurrentContextSlot), U8(8),
713 B(Star), R(8),
714 B(LdaNamedProperty), R(8), U8(7), U8(20),
715 B(StaCurrentContextSlot), U8(9),
716 B(LdaCurrentContextSlot), U8(9),
717 B(TestUndetectable), 624 B(TestUndetectable),
718 B(JumpIfFalse), U8(141), 625 B(JumpIfFalse), U8(123),
719 B(LdaCurrentContextSlot), U8(8), 626 B(LdaNamedProperty), R(4), U8(6), U8(23),
720 B(Star), R(8), 627 B(Star), R(6),
721 B(LdaNamedProperty), R(8), U8(6), U8(23),
722 B(StaCurrentContextSlot), U8(10),
723 B(LdaCurrentContextSlot), U8(10),
724 B(TestUndetectable), 628 B(TestUndetectable),
725 B(JumpIfFalse), U8(4), 629 B(JumpIfFalse), U8(4),
726 B(Jump), U8(108), 630 B(Jump), U8(96),
727 B(LdaZero), 631 B(LdaZero),
728 B(Star), R(8), 632 B(Star), R(16),
729 B(LdaSmi), I8(1), 633 B(LdaSmi), I8(1),
730 B(TestEqualStrict), R(8), U8(26), 634 B(TestEqualStrict), R(16), U8(26),
731 B(JumpIfFalse), U8(63), 635 B(JumpIfFalse), U8(61),
732 B(LdaCurrentContextSlot), U8(10), 636 B(Ldar), R(6),
733 B(TestTypeOf), U8(5), 637 B(TestTypeOf), U8(5),
734 B(JumpIfFalse), U8(4), 638 B(JumpIfFalse), U8(4),
735 B(Jump), U8(18), 639 B(Jump), U8(18),
736 B(Wide), B(LdaSmi), I16(130), 640 B(Wide), B(LdaSmi), I16(130),
737 B(Star), R(8), 641 B(Star), R(16),
738 B(LdaConstant), U8(8), 642 B(LdaConstant), U8(8),
739 B(Star), R(9), 643 B(Star), R(17),
740 B(CallRuntime), U16(Runtime::kNewTypeError), R(8), U8(2), 644 B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
741 B(Throw), 645 B(Throw),
742 B(Mov), R(context), R(8), 646 B(Mov), R(context), R(16),
743 B(LdaCurrentContextSlot), U8(10), 647 B(Mov), R(6), R(17),
744 B(Star), R(9), 648 B(Mov), R(4), R(18),
745 B(LdaCurrentContextSlot), U8(8), 649 B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2),
746 B(Star), R(10),
747 B(InvokeIntrinsic), U8(Runtime::k_Call), R(9), U8(2),
748 B(Jump), U8(20), 650 B(Jump), U8(20),
749 B(Star), R(9), 651 B(Star), R(17),
750 B(Ldar), R(closure), 652 B(Ldar), R(closure),
751 B(CreateCatchContext), R(9), U8(9), U8(10), 653 B(CreateCatchContext), R(17), U8(9), U8(10),
752 B(Star), R(8), 654 B(Star), R(16),
753 B(LdaTheHole), 655 B(LdaTheHole),
754 B(SetPendingMessage), 656 B(SetPendingMessage),
755 B(Ldar), R(8), 657 B(Ldar), R(16),
756 B(PushContext), R(1), 658 B(PushContext), R(9),
757 B(PopContext), R(1), 659 B(PopContext), R(9),
660 B(Jump), U8(27),
661 B(Mov), R(6), R(16),
662 B(Mov), R(4), R(17),
663 B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(2),
664 B(Star), R(7),
665 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1),
666 B(JumpIfToBooleanFalse), U8(4),
667 B(Jump), U8(7),
668 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (7), U8(1),
669 B(Wide), B(LdaSmi), I16(144),
670 B(Star), R(16),
671 B(LdaConstant), U8(8),
672 B(Star), R(17),
673 B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
674 B(Throw),
675 B(Mov), R(5), R(16),
676 B(Mov), R(4), R(17),
677 B(Mov), R(1), R(18),
678 B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(3),
679 B(Star), R(3),
680 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1),
681 B(JumpIfToBooleanFalse), U8(4),
682 B(Jump), U8(7),
683 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (3), U8(1),
684 B(Jump), U8(2),
685 B(LdaNamedProperty), R(3), U8(11), U8(29),
686 B(JumpIfToBooleanFalse), U8(4),
687 B(Jump), U8(42),
688 B(LdaSmi), I8(1),
689 B(Mov), R(0), R(15),
690 B(Mov), R(3), R(16),
691 B(SuspendGenerator), R(15), U8(1),
692 B(Ldar), R(16),
693 /* 54 S> */ B(Return),
694 B(LdaSmi), I8(-2),
695 B(Star), R(10),
696 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(15), U8(1),
697 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1),
698 B(Star), R(1),
699 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
700 B(Star), R(2),
701 B(Wide), B(JumpLoop), U16(334), I16(0),
702 B(LdaSmi), I8(1),
703 B(TestEqualStrict), R(2), U8(31),
704 B(JumpIfFalse), U8(22),
705 B(LdaNamedProperty), R(3), U8(12), U8(32),
706 B(Star), R(15),
707 B(LdaTrue),
708 B(Star), R(16),
709 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15) , U8(2),
710 B(Star), R(13),
711 B(LdaZero),
712 B(Star), R(12),
758 B(Jump), U8(37), 713 B(Jump), U8(37),
759 B(LdaCurrentContextSlot), U8(10), 714 B(LdaNamedProperty), R(3), U8(12), U8(34),
760 B(Star), R(8), 715 B(Star), R(8),
761 B(LdaCurrentContextSlot), U8(8),
762 B(Star), R(9),
763 B(InvokeIntrinsic), U8(Runtime::k_Call), R(8), U8(2),
764 B(StaCurrentContextSlot), U8(11),
765 B(LdaCurrentContextSlot), U8(11),
766 B(Star), R(8),
767 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1),
768 B(JumpIfToBooleanFalse), U8(4),
769 B(Jump), U8(11),
770 B(LdaCurrentContextSlot), U8(11),
771 B(Star), R(8),
772 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1),
773 B(Wide), B(LdaSmi), I16(144),
774 B(Star), R(8),
775 B(LdaConstant), U8(8),
776 B(Star), R(9),
777 B(CallRuntime), U16(Runtime::kNewTypeError), R(8), U8(2),
778 B(Throw),
779 B(LdaCurrentContextSlot), U8(9),
780 B(Star), R(8),
781 B(LdaCurrentContextSlot), U8(8),
782 B(Star), R(9),
783 B(LdaCurrentContextSlot), U8(5),
784 B(Star), R(10),
785 B(InvokeIntrinsic), U8(Runtime::k_Call), R(8), U8(3),
786 B(StaCurrentContextSlot), U8(7),
787 B(LdaCurrentContextSlot), U8(7),
788 B(Star), R(8),
789 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1),
790 B(JumpIfToBooleanFalse), U8(4),
791 B(Jump), U8(11),
792 B(LdaCurrentContextSlot), U8(7),
793 B(Star), R(8),
794 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1),
795 B(Jump), U8(2),
796 B(LdaCurrentContextSlot), U8(7),
797 B(Star), R(7),
798 B(LdaNamedProperty), R(7), U8(13), U8(29),
799 B(JumpIfToBooleanFalse), U8(4),
800 B(Jump), U8(52),
801 B(LdaImmutableCurrentContextSlot), U8(4),
802 B(Star), R(7),
803 B(LdaCurrentContextSlot), U8(7),
804 B(Star), R(8),
805 B(LdaSmi), I8(1),
806 B(SuspendGenerator), R(7), U8(1),
807 B(Ldar), R(8),
808 /* 54 S> */ B(Return),
809 B(LdaSmi), I8(-2),
810 B(Star), R(2),
811 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1),
812 B(LdaImmutableCurrentContextSlot), U8(4),
813 B(Star), R(7),
814 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(7), U8(1),
815 B(StaCurrentContextSlot), U8(5),
816 B(LdaImmutableCurrentContextSlot), U8(4),
817 B(Star), R(7),
818 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(7), U8(1),
819 B(StaCurrentContextSlot), U8(6),
820 B(Wide), B(JumpLoop), U16(418), I16(0),
821 B(LdaCurrentContextSlot), U8(6),
822 B(Star), R(7),
823 B(LdaSmi), I8(1),
824 B(TestEqualStrict), R(7), U8(31),
825 B(JumpIfFalse), U8(26),
826 B(LdaCurrentContextSlot), U8(7),
827 B(Star), R(7),
828 B(LdaNamedProperty), R(7), U8(14), U8(32),
829 B(Star), R(7),
830 B(LdaTrue),
831 B(Star), R(8),
832 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
833 B(Star), R(5),
834 B(LdaZero),
835 B(Star), R(4),
836 B(Jump), U8(41),
837 B(LdaCurrentContextSlot), U8(7),
838 B(Star), R(7),
839 B(LdaNamedProperty), R(7), U8(14), U8(34),
840 B(StaCurrentContextSlot), U8(12),
841 B(LdaUndefined), 716 B(LdaUndefined),
842 B(Star), R(7), 717 B(Star), R(15),
843 B(LdaTrue), 718 B(LdaTrue),
844 B(Star), R(8), 719 B(Star), R(16),
845 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), 720 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15) , U8(2),
846 B(Star), R(5), 721 B(Star), R(13),
847 B(LdaZero), 722 B(LdaZero),
848 B(Star), R(4), 723 B(Star), R(12),
849 B(Jump), U8(14), 724 B(Jump), U8(14),
850 B(LdaSmi), I8(-1), 725 B(LdaSmi), I8(-1),
851 B(Star), R(4), 726 B(Star), R(12),
852 B(Jump), U8(8), 727 B(Jump), U8(8),
853 B(Star), R(5), 728 B(Star), R(13),
854 B(LdaSmi), I8(1), 729 B(LdaSmi), I8(1),
855 B(Star), R(4), 730 B(Star), R(12),
856 B(LdaTheHole), 731 B(LdaTheHole),
857 B(SetPendingMessage), 732 B(SetPendingMessage),
858 B(Star), R(6), 733 B(Star), R(14),
859 B(LdaImmutableCurrentContextSlot), U8(4), 734 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1),
860 B(Star), R(7), 735 B(Ldar), R(14),
861 B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(7), U8(1),
862 B(Ldar), R(6),
863 B(SetPendingMessage), 736 B(SetPendingMessage),
864 B(Ldar), R(4), 737 B(Ldar), R(12),
865 B(SwitchOnSmiNoFeedback), U8(17), U8(2), I8(0), 738 B(SwitchOnSmiNoFeedback), U8(15), U8(2), I8(0),
866 B(Jump), U8(8), 739 B(Jump), U8(8),
867 B(Ldar), R(5), 740 B(Ldar), R(13),
868 /* 54 S> */ B(Return), 741 /* 54 S> */ B(Return),
869 B(Ldar), R(5), 742 B(Ldar), R(13),
870 B(ReThrow), 743 B(ReThrow),
871 B(LdaUndefined), 744 B(LdaUndefined),
872 /* 54 S> */ B(Return), 745 /* 54 S> */ B(Return),
873 ] 746 ]
874 constant pool: [ 747 constant pool: [
875 Smi [52], 748 Smi [46],
876 Smi [137], 749 Smi [131],
877 ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"], 750 ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"],
878 SYMBOL_TYPE, 751 SYMBOL_TYPE,
879 Smi [387], 752 Smi [311],
880 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 753 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
881 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 754 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
882 ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"], 755 ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"],
883 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 756 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
884 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 757 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
885 FIXED_ARRAY_TYPE, 758 FIXED_ARRAY_TYPE,
886 Smi [315],
887 Smi [271],
888 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 759 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
889 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 760 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
890 Smi [540], 761 Smi [444],
891 Smi [374], 762 Smi [302],
892 Smi [6], 763 Smi [6],
893 Smi [9], 764 Smi [9],
894 ] 765 ]
895 handlers: [ 766 handlers: [
896 [51, 636, 642], 767 [47, 534, 540],
897 [386, 398, 400], 768 [333, 343, 345],
898 ] 769 ]
899 770
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698