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

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

Powered by Google App Engine
This is Rietveld 408576698