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

Powered by Google App Engine
This is Rietveld 408576698