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

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

Powered by Google App Engine
This is Rietveld 408576698