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

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

Issue 1985753002: [interpreter] Introduce fused bytecodes for common sequences. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase. Created 4 years, 7 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 pool type: mixed 6 pool type: mixed
7 execute: yes 7 execute: yes
8 wrap: yes 8 wrap: yes
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 for (var p of [0, 1, 2]) {} 12 for (var p of [0, 1, 2]) {}
13 " 13 "
14 frame size: 16 14 frame size: 16
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 347 16 bytecode array length: 343
17 bytecodes: [ 17 bytecodes: [
18 /* 30 E> */ B(StackCheck), 18 /* 30 E> */ B(StackCheck),
19 B(LdaUndefined), 19 B(LdrUndefined), R(4),
20 B(Star), R(4),
21 B(LdaZero), 20 B(LdaZero),
22 B(Star), R(3), 21 B(Star), R(3),
23 B(Mov), R(context), R(11), 22 B(Mov), R(context), R(11),
24 B(Mov), R(context), R(12), 23 B(Mov), R(context), R(12),
25 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 24 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
26 B(Star), R(14), 25 B(Star), R(14),
27 /* 48 E> */ B(LdaConstant), U8(1), 26 /* 48 E> */ B(LdaConstant), U8(1),
28 B(KeyedLoadIC), R(14), U8(3), 27 B(LdrKeyedProperty), R(14), U8(3), R(13),
29 B(Star), R(13),
30 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 28 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
31 /* 48 E> */ B(Star), R(1), 29 /* 48 E> */ B(Star), R(1),
32 /* 45 S> */ B(Ldar), R(1), 30 /* 45 S> */ B(Ldar), R(1),
33 B(Star), R(15), 31 B(Star), R(15),
34 B(LoadIC), R(15), U8(2), U8(7), 32 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
35 B(Star), R(14),
36 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5), 33 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
37 /* 45 E> */ B(Star), R(2), 34 /* 45 E> */ B(Star), R(2),
38 B(Star), R(13), 35 B(Star), R(13),
39 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1), 36 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
40 B(ToBooleanLogicalNot), 37 B(ToBooleanLogicalNot),
41 B(JumpIfFalse), U8(11), 38 B(JumpIfFalse), U8(11),
42 B(Ldar), R(2), 39 B(Ldar), R(2),
43 B(Star), R(13), 40 B(Star), R(13),
44 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 41 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1),
45 B(Ldar), R(2), 42 B(Ldar), R(2),
46 B(Star), R(13), 43 B(Star), R(13),
47 B(LoadIC), R(13), U8(3), U8(9), 44 B(LoadIC), R(13), U8(3), U8(9),
48 B(JumpIfToBooleanTrue), U8(28), 45 B(JumpIfToBooleanTrue), U8(27),
49 B(LdaSmi), U8(2), 46 B(LdaSmi), U8(2),
50 B(Star), R(3), 47 B(Star), R(3),
51 B(Ldar), R(2), 48 B(Ldar), R(2),
52 B(Star), R(13), 49 B(Star), R(13),
53 B(LoadIC), R(13), U8(4), U8(11), 50 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
54 B(Star), R(0),
55 B(Ldar), R(4), 51 B(Ldar), R(4),
56 /* 34 E> */ B(StackCheck), 52 /* 34 E> */ B(StackCheck),
57 B(Ldar), R(0), 53 B(Ldar), R(0),
58 B(Star), R(7), 54 B(Star), R(7),
59 B(LdaZero), 55 B(LdaZero),
60 B(Star), R(3), 56 B(Star), R(3),
61 B(Jump), U8(-70), 57 B(Jump), U8(-68),
62 B(Jump), U8(47), 58 B(Jump), U8(46),
63 B(Star), R(14), 59 B(Star), R(14),
64 B(LdaConstant), U8(5), 60 B(LdaConstant), U8(5),
65 B(Star), R(13), 61 B(Star), R(13),
66 B(Ldar), R(closure), 62 B(Ldar), R(closure),
67 B(Star), R(15), 63 B(Star), R(15),
68 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 64 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
69 B(Star), R(12), 65 B(Star), R(12),
70 B(PushContext), R(8), 66 B(PushContext), R(8),
71 B(Ldar), R(3), 67 B(Ldar), R(3),
72 B(Star), R(13), 68 B(Star), R(13),
73 B(LdaSmi), U8(2), 69 B(LdaSmi), U8(2),
74 B(TestEqualStrict), R(13), 70 B(TestEqualStrict), R(13),
75 B(JumpIfFalse), U8(6), 71 B(JumpIfFalse), U8(6),
76 B(LdaSmi), U8(1), 72 B(LdaSmi), U8(1),
77 B(Star), R(3), 73 B(Star), R(3),
78 B(LdaContextSlot), R(context), U8(4), 74 B(LdrContextSlot), R(context), U8(4), R(13),
79 B(Star), R(13),
80 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 75 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
81 B(PopContext), R(8), 76 B(PopContext), R(8),
82 B(LdaSmi), U8(-1), 77 B(LdaSmi), U8(-1),
83 B(Star), R(9), 78 B(Star), R(9),
84 B(Jump), U8(7), 79 B(Jump), U8(7),
85 B(Star), R(10), 80 B(Star), R(10),
86 B(LdaZero), 81 B(LdaZero),
87 B(Star), R(9), 82 B(Star), R(9),
88 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 83 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
89 B(Star), R(11), 84 B(Star), R(11),
90 B(Ldar), R(3), 85 B(Ldar), R(3),
91 B(Star), R(12), 86 B(Star), R(12),
92 B(LdaZero), 87 B(LdaZero),
93 B(TestEqualStrict), R(12), 88 B(TestEqualStrict), R(12),
94 B(JumpIfTrue), U8(9), 89 B(JumpIfTrue), U8(9),
95 B(Ldar), R(1), 90 B(Ldar), R(1),
96 B(Star), R(12), 91 B(Star), R(12),
97 B(LdaUndefined), 92 B(LdaUndefined),
98 B(TestEqualStrict), R(12), 93 B(TestEqualStrict), R(12),
99 B(ToBooleanLogicalNot), 94 B(ToBooleanLogicalNot),
100 B(JumpIfFalseConstant), U8(9), 95 B(JumpIfFalseConstant), U8(9),
101 B(Ldar), R(1), 96 B(Ldar), R(1),
102 B(Star), R(12), 97 B(Star), R(12),
103 B(LoadIC), R(12), U8(6), U8(13), 98 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
104 B(Star), R(5), 99 B(Ldar), R(5),
105 B(Star), R(12), 100 B(Star), R(12),
106 B(LdaNull), 101 B(LdaNull),
107 B(TestEqual), R(12), 102 B(TestEqual), R(12),
108 B(JumpIfFalse), U8(4), 103 B(JumpIfFalse), U8(4),
109 B(Jump), U8(124), 104 B(Jump), U8(124),
110 B(Ldar), R(3), 105 B(Ldar), R(3),
111 B(Star), R(12), 106 B(Star), R(12),
112 B(LdaSmi), U8(1), 107 B(LdaSmi), U8(1),
113 B(TestEqualStrict), R(12), 108 B(TestEqualStrict), R(12),
114 B(JumpIfFalse), U8(79), 109 B(JumpIfFalse), U8(79),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 168 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
174 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 169 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
175 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 170 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
176 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 171 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
177 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 172 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
178 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 173 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
179 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 174 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
180 kInstanceTypeDontCare, 175 kInstanceTypeDontCare,
181 ] 176 ]
182 handlers: [ 177 handlers: [
183 [10, 152, 158], 178 [9, 147, 153],
184 [13, 105, 107], 179 [12, 101, 103],
185 [250, 263, 265], 180 [246, 259, 261],
186 ] 181 ]
187 182
188 --- 183 ---
189 snippet: " 184 snippet: "
190 var x = 'potatoes'; 185 var x = 'potatoes';
191 for (var p of x) { return p; } 186 for (var p of x) { return p; }
192 " 187 "
193 frame size: 17 188 frame size: 17
194 parameter count: 1 189 parameter count: 1
195 bytecode array length: 363 190 bytecode array length: 359
196 bytecodes: [ 191 bytecodes: [
197 /* 30 E> */ B(StackCheck), 192 /* 30 E> */ B(StackCheck),
198 /* 42 S> */ B(LdaConstant), U8(0), 193 /* 42 S> */ B(LdaConstant), U8(0),
199 /* 42 E> */ B(Star), R(7), 194 /* 42 E> */ B(Star), R(7),
200 B(LdaUndefined), 195 B(LdrUndefined), R(4),
201 B(Star), R(4),
202 B(LdaZero), 196 B(LdaZero),
203 B(Star), R(3), 197 B(Star), R(3),
204 B(Mov), R(context), R(12), 198 B(Mov), R(context), R(12),
205 B(Mov), R(context), R(13), 199 B(Mov), R(context), R(13),
206 /* 68 S> */ B(Ldar), R(7), 200 /* 68 S> */ B(Ldar), R(7),
207 B(Star), R(15), 201 B(Star), R(15),
208 /* 68 E> */ B(LdaConstant), U8(1), 202 /* 68 E> */ B(LdaConstant), U8(1),
209 B(KeyedLoadIC), R(15), U8(3), 203 B(LdrKeyedProperty), R(15), U8(3), R(14),
210 B(Star), R(14),
211 /* 68 E> */ B(Call), R(14), R(15), U8(1), U8(1), 204 /* 68 E> */ B(Call), R(14), R(15), U8(1), U8(1),
212 /* 68 E> */ B(Star), R(1), 205 /* 68 E> */ B(Star), R(1),
213 /* 65 S> */ B(Ldar), R(1), 206 /* 65 S> */ B(Ldar), R(1),
214 B(Star), R(16), 207 B(Star), R(16),
215 B(LoadIC), R(16), U8(2), U8(7), 208 B(LdrNamedProperty), R(16), U8(2), U8(7), R(15),
216 B(Star), R(15),
217 /* 65 E> */ B(Call), R(15), R(16), U8(1), U8(5), 209 /* 65 E> */ B(Call), R(15), R(16), U8(1), U8(5),
218 /* 65 E> */ B(Star), R(2), 210 /* 65 E> */ B(Star), R(2),
219 B(Star), R(14), 211 B(Star), R(14),
220 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(14), U8(1), 212 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(14), U8(1),
221 B(ToBooleanLogicalNot), 213 B(ToBooleanLogicalNot),
222 B(JumpIfFalse), U8(11), 214 B(JumpIfFalse), U8(11),
223 B(Ldar), R(2), 215 B(Ldar), R(2),
224 B(Star), R(14), 216 B(Star), R(14),
225 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (14), U8(1), 217 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (14), U8(1),
226 B(Ldar), R(2), 218 B(Ldar), R(2),
227 B(Star), R(14), 219 B(Star), R(14),
228 B(LoadIC), R(14), U8(3), U8(9), 220 B(LoadIC), R(14), U8(3), U8(9),
229 B(JumpIfToBooleanTrue), U8(32), 221 B(JumpIfToBooleanTrue), U8(31),
230 B(LdaSmi), U8(2), 222 B(LdaSmi), U8(2),
231 B(Star), R(3), 223 B(Star), R(3),
232 B(Ldar), R(2), 224 B(Ldar), R(2),
233 B(Star), R(14), 225 B(Star), R(14),
234 B(LoadIC), R(14), U8(4), U8(11), 226 B(LdrNamedProperty), R(14), U8(4), U8(11), R(0),
235 B(Star), R(0),
236 B(Ldar), R(4), 227 B(Ldar), R(4),
237 /* 54 E> */ B(StackCheck), 228 /* 54 E> */ B(StackCheck),
238 B(Ldar), R(0), 229 B(Ldar), R(0),
239 B(Star), R(8), 230 B(Star), R(8),
240 /* 73 S> */ B(Star), R(11), 231 /* 73 S> */ B(Star), R(11),
241 B(LdaZero), 232 B(LdaZero),
242 B(Star), R(10), 233 B(Star), R(10),
243 B(Jump), U8(63), 234 B(Jump), U8(62),
244 B(Jump), U8(-74), 235 B(Jump), U8(-72),
245 B(Jump), U8(47), 236 B(Jump), U8(46),
246 B(Star), R(15), 237 B(Star), R(15),
247 B(LdaConstant), U8(5), 238 B(LdaConstant), U8(5),
248 B(Star), R(14), 239 B(Star), R(14),
249 B(Ldar), R(closure), 240 B(Ldar), R(closure),
250 B(Star), R(16), 241 B(Star), R(16),
251 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 242 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
252 B(Star), R(13), 243 B(Star), R(13),
253 B(PushContext), R(9), 244 B(PushContext), R(9),
254 B(Ldar), R(3), 245 B(Ldar), R(3),
255 B(Star), R(14), 246 B(Star), R(14),
256 B(LdaSmi), U8(2), 247 B(LdaSmi), U8(2),
257 B(TestEqualStrict), R(14), 248 B(TestEqualStrict), R(14),
258 B(JumpIfFalse), U8(6), 249 B(JumpIfFalse), U8(6),
259 B(LdaSmi), U8(1), 250 B(LdaSmi), U8(1),
260 B(Star), R(3), 251 B(Star), R(3),
261 B(LdaContextSlot), R(context), U8(4), 252 B(LdrContextSlot), R(context), U8(4), R(14),
262 B(Star), R(14),
263 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 253 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
264 B(PopContext), R(9), 254 B(PopContext), R(9),
265 B(LdaSmi), U8(-1), 255 B(LdaSmi), U8(-1),
266 B(Star), R(10), 256 B(Star), R(10),
267 B(Jump), U8(8), 257 B(Jump), U8(8),
268 B(Star), R(11), 258 B(Star), R(11),
269 B(LdaSmi), U8(1), 259 B(LdaSmi), U8(1),
270 B(Star), R(10), 260 B(Star), R(10),
271 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 261 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
272 B(Star), R(12), 262 B(Star), R(12),
273 B(Ldar), R(3), 263 B(Ldar), R(3),
274 B(Star), R(13), 264 B(Star), R(13),
275 B(LdaZero), 265 B(LdaZero),
276 B(TestEqualStrict), R(13), 266 B(TestEqualStrict), R(13),
277 B(JumpIfTrue), U8(9), 267 B(JumpIfTrue), U8(9),
278 B(Ldar), R(1), 268 B(Ldar), R(1),
279 B(Star), R(13), 269 B(Star), R(13),
280 B(LdaUndefined), 270 B(LdaUndefined),
281 B(TestEqualStrict), R(13), 271 B(TestEqualStrict), R(13),
282 B(ToBooleanLogicalNot), 272 B(ToBooleanLogicalNot),
283 B(JumpIfFalseConstant), U8(9), 273 B(JumpIfFalseConstant), U8(9),
284 B(Ldar), R(1), 274 B(Ldar), R(1),
285 B(Star), R(13), 275 B(Star), R(13),
286 B(LoadIC), R(13), U8(6), U8(13), 276 B(LdrNamedProperty), R(13), U8(6), U8(13), R(5),
287 B(Star), R(5), 277 B(Ldar), R(5),
288 B(Star), R(13), 278 B(Star), R(13),
289 B(LdaNull), 279 B(LdaNull),
290 B(TestEqual), R(13), 280 B(TestEqual), R(13),
291 B(JumpIfFalse), U8(4), 281 B(JumpIfFalse), U8(4),
292 B(Jump), U8(124), 282 B(Jump), U8(124),
293 B(Ldar), R(3), 283 B(Ldar), R(3),
294 B(Star), R(13), 284 B(Star), R(13),
295 B(LdaSmi), U8(1), 285 B(LdaSmi), U8(1),
296 B(TestEqualStrict), R(13), 286 B(TestEqualStrict), R(13),
297 B(JumpIfFalse), U8(79), 287 B(JumpIfFalse), U8(79),
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 351 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
362 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 352 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
363 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 353 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
364 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 354 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
365 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 355 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
366 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 356 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
367 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 357 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
368 kInstanceTypeDontCare, 358 kInstanceTypeDontCare,
369 ] 359 ]
370 handlers: [ 360 handlers: [
371 [14, 158, 164], 361 [13, 153, 159],
372 [17, 111, 113], 362 [16, 107, 109],
373 [257, 270, 272], 363 [253, 266, 268],
374 ] 364 ]
375 365
376 --- 366 ---
377 snippet: " 367 snippet: "
378 for (var x of [10, 20, 30]) { 368 for (var x of [10, 20, 30]) {
379 if (x == 10) continue; 369 if (x == 10) continue;
380 if (x == 20) break; 370 if (x == 20) break;
381 } 371 }
382 " 372 "
383 frame size: 16 373 frame size: 16
384 parameter count: 1 374 parameter count: 1
385 bytecode array length: 369 375 bytecode array length: 365
386 bytecodes: [ 376 bytecodes: [
387 /* 30 E> */ B(StackCheck), 377 /* 30 E> */ B(StackCheck),
388 B(LdaUndefined), 378 B(LdrUndefined), R(4),
389 B(Star), R(4),
390 B(LdaZero), 379 B(LdaZero),
391 B(Star), R(3), 380 B(Star), R(3),
392 B(Mov), R(context), R(11), 381 B(Mov), R(context), R(11),
393 B(Mov), R(context), R(12), 382 B(Mov), R(context), R(12),
394 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 383 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
395 B(Star), R(14), 384 B(Star), R(14),
396 /* 48 E> */ B(LdaConstant), U8(1), 385 /* 48 E> */ B(LdaConstant), U8(1),
397 B(KeyedLoadIC), R(14), U8(3), 386 B(LdrKeyedProperty), R(14), U8(3), R(13),
398 B(Star), R(13),
399 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 387 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
400 /* 48 E> */ B(Star), R(1), 388 /* 48 E> */ B(Star), R(1),
401 /* 45 S> */ B(Ldar), R(1), 389 /* 45 S> */ B(Ldar), R(1),
402 B(Star), R(15), 390 B(Star), R(15),
403 B(LoadIC), R(15), U8(2), U8(7), 391 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14),
404 B(Star), R(14),
405 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5), 392 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
406 /* 45 E> */ B(Star), R(2), 393 /* 45 E> */ B(Star), R(2),
407 B(Star), R(13), 394 B(Star), R(13),
408 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1), 395 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
409 B(ToBooleanLogicalNot), 396 B(ToBooleanLogicalNot),
410 B(JumpIfFalse), U8(11), 397 B(JumpIfFalse), U8(11),
411 B(Ldar), R(2), 398 B(Ldar), R(2),
412 B(Star), R(13), 399 B(Star), R(13),
413 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 400 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1),
414 B(Ldar), R(2), 401 B(Ldar), R(2),
415 B(Star), R(13), 402 B(Star), R(13),
416 B(LoadIC), R(13), U8(3), U8(9), 403 B(LoadIC), R(13), U8(3), U8(9),
417 B(JumpIfToBooleanTrue), U8(50), 404 B(JumpIfToBooleanTrue), U8(49),
418 B(LdaSmi), U8(2), 405 B(LdaSmi), U8(2),
419 B(Star), R(3), 406 B(Star), R(3),
420 B(Ldar), R(2), 407 B(Ldar), R(2),
421 B(Star), R(13), 408 B(Star), R(13),
422 B(LoadIC), R(13), U8(4), U8(11), 409 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
423 B(Star), R(0),
424 B(Ldar), R(4), 410 B(Ldar), R(4),
425 /* 34 E> */ B(StackCheck), 411 /* 34 E> */ B(StackCheck),
426 B(Ldar), R(0), 412 B(Ldar), R(0),
427 B(Star), R(7), 413 B(Star), R(7),
428 /* 66 S> */ B(Star), R(13), 414 /* 66 S> */ B(Star), R(13),
429 B(LdaSmi), U8(10), 415 B(LdaSmi), U8(10),
430 /* 72 E> */ B(TestEqual), R(13), 416 /* 72 E> */ B(TestEqual), R(13),
431 B(JumpIfFalse), U8(4), 417 B(JumpIfFalse), U8(4),
432 /* 79 S> */ B(Jump), U8(17), 418 /* 79 S> */ B(Jump), U8(17),
433 /* 91 S> */ B(Ldar), R(7), 419 /* 91 S> */ B(Ldar), R(7),
434 B(Star), R(13), 420 B(Star), R(13),
435 B(LdaSmi), U8(20), 421 B(LdaSmi), U8(20),
436 /* 97 E> */ B(TestEqual), R(13), 422 /* 97 E> */ B(TestEqual), R(13),
437 B(JumpIfFalse), U8(4), 423 B(JumpIfFalse), U8(4),
438 /* 104 S> */ B(Jump), U8(7), 424 /* 104 S> */ B(Jump), U8(7),
439 B(LdaZero), 425 B(LdaZero),
440 B(Star), R(3), 426 B(Star), R(3),
441 B(Jump), U8(-92), 427 B(Jump), U8(-90),
442 B(Jump), U8(47), 428 B(Jump), U8(46),
443 B(Star), R(14), 429 B(Star), R(14),
444 B(LdaConstant), U8(5), 430 B(LdaConstant), U8(5),
445 B(Star), R(13), 431 B(Star), R(13),
446 B(Ldar), R(closure), 432 B(Ldar), R(closure),
447 B(Star), R(15), 433 B(Star), R(15),
448 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 434 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
449 B(Star), R(12), 435 B(Star), R(12),
450 B(PushContext), R(8), 436 B(PushContext), R(8),
451 B(Ldar), R(3), 437 B(Ldar), R(3),
452 B(Star), R(13), 438 B(Star), R(13),
453 B(LdaSmi), U8(2), 439 B(LdaSmi), U8(2),
454 B(TestEqualStrict), R(13), 440 B(TestEqualStrict), R(13),
455 B(JumpIfFalse), U8(6), 441 B(JumpIfFalse), U8(6),
456 B(LdaSmi), U8(1), 442 B(LdaSmi), U8(1),
457 B(Star), R(3), 443 B(Star), R(3),
458 B(LdaContextSlot), R(context), U8(4), 444 B(LdrContextSlot), R(context), U8(4), R(13),
459 B(Star), R(13),
460 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 445 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
461 B(PopContext), R(8), 446 B(PopContext), R(8),
462 B(LdaSmi), U8(-1), 447 B(LdaSmi), U8(-1),
463 B(Star), R(9), 448 B(Star), R(9),
464 B(Jump), U8(7), 449 B(Jump), U8(7),
465 B(Star), R(10), 450 B(Star), R(10),
466 B(LdaZero), 451 B(LdaZero),
467 B(Star), R(9), 452 B(Star), R(9),
468 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 453 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
469 B(Star), R(11), 454 B(Star), R(11),
470 B(Ldar), R(3), 455 B(Ldar), R(3),
471 B(Star), R(12), 456 B(Star), R(12),
472 B(LdaZero), 457 B(LdaZero),
473 B(TestEqualStrict), R(12), 458 B(TestEqualStrict), R(12),
474 B(JumpIfTrue), U8(9), 459 B(JumpIfTrue), U8(9),
475 B(Ldar), R(1), 460 B(Ldar), R(1),
476 B(Star), R(12), 461 B(Star), R(12),
477 B(LdaUndefined), 462 B(LdaUndefined),
478 B(TestEqualStrict), R(12), 463 B(TestEqualStrict), R(12),
479 B(ToBooleanLogicalNot), 464 B(ToBooleanLogicalNot),
480 B(JumpIfFalseConstant), U8(9), 465 B(JumpIfFalseConstant), U8(9),
481 B(Ldar), R(1), 466 B(Ldar), R(1),
482 B(Star), R(12), 467 B(Star), R(12),
483 B(LoadIC), R(12), U8(6), U8(13), 468 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
484 B(Star), R(5), 469 B(Ldar), R(5),
485 B(Star), R(12), 470 B(Star), R(12),
486 B(LdaNull), 471 B(LdaNull),
487 B(TestEqual), R(12), 472 B(TestEqual), R(12),
488 B(JumpIfFalse), U8(4), 473 B(JumpIfFalse), U8(4),
489 B(Jump), U8(124), 474 B(Jump), U8(124),
490 B(Ldar), R(3), 475 B(Ldar), R(3),
491 B(Star), R(12), 476 B(Star), R(12),
492 B(LdaSmi), U8(1), 477 B(LdaSmi), U8(1),
493 B(TestEqualStrict), R(12), 478 B(TestEqualStrict), R(12),
494 B(JumpIfFalse), U8(79), 479 B(JumpIfFalse), U8(79),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 538 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
554 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 539 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
555 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 540 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
556 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 541 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
557 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 542 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
558 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 543 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
559 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 544 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
560 kInstanceTypeDontCare, 545 kInstanceTypeDontCare,
561 ] 546 ]
562 handlers: [ 547 handlers: [
563 [10, 174, 180], 548 [9, 169, 175],
564 [13, 127, 129], 549 [12, 123, 125],
565 [272, 285, 287], 550 [268, 281, 283],
566 ] 551 ]
567 552
568 --- 553 ---
569 snippet: " 554 snippet: "
570 var x = { 'a': 1, 'b': 2 }; 555 var x = { 'a': 1, 'b': 2 };
571 for (x['a'] of [1,2,3]) { return x['a']; } 556 for (x['a'] of [1,2,3]) { return x['a']; }
572 " 557 "
573 frame size: 15 558 frame size: 15
574 parameter count: 1 559 parameter count: 1
575 bytecode array length: 379 560 bytecode array length: 375
576 bytecodes: [ 561 bytecodes: [
577 /* 30 E> */ B(StackCheck), 562 /* 30 E> */ B(StackCheck),
578 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), 563 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
579 B(Star), R(8), 564 B(Star), R(8),
580 /* 42 E> */ B(Star), R(6), 565 /* 42 E> */ B(Star), R(6),
581 B(LdaUndefined), 566 B(LdrUndefined), R(3),
582 B(Star), R(3),
583 B(LdaZero), 567 B(LdaZero),
584 B(Star), R(2), 568 B(Star), R(2),
585 B(Mov), R(context), R(10), 569 B(Mov), R(context), R(10),
586 B(Mov), R(context), R(11), 570 B(Mov), R(context), R(11),
587 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 571 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
588 B(Star), R(13), 572 B(Star), R(13),
589 /* 77 E> */ B(LdaConstant), U8(2), 573 /* 77 E> */ B(LdaConstant), U8(2),
590 B(KeyedLoadIC), R(13), U8(3), 574 B(LdrKeyedProperty), R(13), U8(3), R(12),
591 B(Star), R(12),
592 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1), 575 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1),
593 /* 77 E> */ B(Star), R(0), 576 /* 77 E> */ B(Star), R(0),
594 /* 74 S> */ B(Ldar), R(0), 577 /* 74 S> */ B(Ldar), R(0),
595 B(Star), R(14), 578 B(Star), R(14),
596 B(LoadIC), R(14), U8(3), U8(7), 579 B(LdrNamedProperty), R(14), U8(3), U8(7), R(13),
597 B(Star), R(13),
598 /* 74 E> */ B(Call), R(13), R(14), U8(1), U8(5), 580 /* 74 E> */ B(Call), R(13), R(14), U8(1), U8(5),
599 /* 74 E> */ B(Star), R(1), 581 /* 74 E> */ B(Star), R(1),
600 B(Star), R(12), 582 B(Star), R(12),
601 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1), 583 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
602 B(ToBooleanLogicalNot), 584 B(ToBooleanLogicalNot),
603 B(JumpIfFalse), U8(11), 585 B(JumpIfFalse), U8(11),
604 B(Ldar), R(1), 586 B(Ldar), R(1),
605 B(Star), R(12), 587 B(Star), R(12),
606 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), 588 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1),
607 B(Ldar), R(1), 589 B(Ldar), R(1),
608 B(Star), R(12), 590 B(Star), R(12),
609 B(LoadIC), R(12), U8(4), U8(9), 591 B(LoadIC), R(12), U8(4), U8(9),
610 B(JumpIfToBooleanTrue), U8(42), 592 B(JumpIfToBooleanTrue), U8(41),
611 B(LdaSmi), U8(2), 593 B(LdaSmi), U8(2),
612 B(Star), R(2), 594 B(Star), R(2),
613 /* 67 E> */ B(Ldar), R(6), 595 /* 67 E> */ B(Ldar), R(6),
614 B(Star), R(12), 596 B(Star), R(12),
615 B(Ldar), R(1), 597 B(Ldar), R(1),
616 B(Star), R(13), 598 B(Star), R(13),
617 B(LoadIC), R(13), U8(5), U8(11), 599 B(LoadIC), R(13), U8(5), U8(11),
618 B(StoreICSloppy), R(12), U8(6), U8(13), 600 B(StoreICSloppy), R(12), U8(6), U8(13),
619 B(Ldar), R(3), 601 B(Ldar), R(3),
620 /* 62 E> */ B(StackCheck), 602 /* 62 E> */ B(StackCheck),
621 /* 88 S> */ B(Ldar), R(6), 603 /* 88 S> */ B(Ldar), R(6),
622 B(Star), R(12), 604 B(Star), R(12),
623 /* 96 E> */ B(LoadIC), R(12), U8(6), U8(15), 605 /* 96 E> */ B(LdrNamedProperty), R(12), U8(6), U8(15), R(9),
624 B(Star), R(9),
625 B(LdaZero), 606 B(LdaZero),
626 B(Star), R(8), 607 B(Star), R(8),
627 B(Jump), U8(63), 608 B(Jump), U8(62),
628 B(Jump), U8(-84), 609 B(Jump), U8(-82),
629 B(Jump), U8(47), 610 B(Jump), U8(46),
630 B(Star), R(13), 611 B(Star), R(13),
631 B(LdaConstant), U8(7), 612 B(LdaConstant), U8(7),
632 B(Star), R(12), 613 B(Star), R(12),
633 B(Ldar), R(closure), 614 B(Ldar), R(closure),
634 B(Star), R(14), 615 B(Star), R(14),
635 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 616 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
636 B(Star), R(11), 617 B(Star), R(11),
637 B(PushContext), R(7), 618 B(PushContext), R(7),
638 B(Ldar), R(2), 619 B(Ldar), R(2),
639 B(Star), R(12), 620 B(Star), R(12),
640 B(LdaSmi), U8(2), 621 B(LdaSmi), U8(2),
641 B(TestEqualStrict), R(12), 622 B(TestEqualStrict), R(12),
642 B(JumpIfFalse), U8(6), 623 B(JumpIfFalse), U8(6),
643 B(LdaSmi), U8(1), 624 B(LdaSmi), U8(1),
644 B(Star), R(2), 625 B(Star), R(2),
645 B(LdaContextSlot), R(context), U8(4), 626 B(LdrContextSlot), R(context), U8(4), R(12),
646 B(Star), R(12),
647 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 627 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
648 B(PopContext), R(7), 628 B(PopContext), R(7),
649 B(LdaSmi), U8(-1), 629 B(LdaSmi), U8(-1),
650 B(Star), R(8), 630 B(Star), R(8),
651 B(Jump), U8(8), 631 B(Jump), U8(8),
652 B(Star), R(9), 632 B(Star), R(9),
653 B(LdaSmi), U8(1), 633 B(LdaSmi), U8(1),
654 B(Star), R(8), 634 B(Star), R(8),
655 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 635 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
656 B(Star), R(10), 636 B(Star), R(10),
657 B(Ldar), R(2), 637 B(Ldar), R(2),
658 B(Star), R(11), 638 B(Star), R(11),
659 B(LdaZero), 639 B(LdaZero),
660 B(TestEqualStrict), R(11), 640 B(TestEqualStrict), R(11),
661 B(JumpIfTrue), U8(9), 641 B(JumpIfTrue), U8(9),
662 B(Ldar), R(0), 642 B(Ldar), R(0),
663 B(Star), R(11), 643 B(Star), R(11),
664 B(LdaUndefined), 644 B(LdaUndefined),
665 B(TestEqualStrict), R(11), 645 B(TestEqualStrict), R(11),
666 B(ToBooleanLogicalNot), 646 B(ToBooleanLogicalNot),
667 B(JumpIfFalseConstant), U8(11), 647 B(JumpIfFalseConstant), U8(11),
668 B(Ldar), R(0), 648 B(Ldar), R(0),
669 B(Star), R(11), 649 B(Star), R(11),
670 B(LoadIC), R(11), U8(8), U8(17), 650 B(LdrNamedProperty), R(11), U8(8), U8(17), R(4),
671 B(Star), R(4), 651 B(Ldar), R(4),
672 B(Star), R(11), 652 B(Star), R(11),
673 B(LdaNull), 653 B(LdaNull),
674 B(TestEqual), R(11), 654 B(TestEqual), R(11),
675 B(JumpIfFalse), U8(4), 655 B(JumpIfFalse), U8(4),
676 B(Jump), U8(124), 656 B(Jump), U8(124),
677 B(Ldar), R(2), 657 B(Ldar), R(2),
678 B(Star), R(11), 658 B(Star), R(11),
679 B(LdaSmi), U8(1), 659 B(LdaSmi), U8(1),
680 B(TestEqualStrict), R(11), 660 B(TestEqualStrict), R(11),
681 B(JumpIfFalse), U8(79), 661 B(JumpIfFalse), U8(79),
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 727 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
748 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 728 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
749 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 729 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
750 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 730 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
751 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 731 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
752 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 732 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
753 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 733 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
754 kInstanceTypeDontCare, 734 kInstanceTypeDontCare,
755 ] 735 ]
756 handlers: [ 736 handlers: [
757 [18, 174, 180], 737 [17, 169, 175],
758 [21, 127, 129], 738 [20, 123, 125],
759 [273, 286, 288], 739 [269, 282, 284],
760 ] 740 ]
761 741
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698