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

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

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

Powered by Google App Engine
This is Rietveld 408576698