OLD | NEW |
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 |
OLD | NEW |