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

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

Powered by Google App Engine
This is Rietveld 408576698