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

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

Issue 2501503005: [Interpreter] Add SetPendingMessage bytecode. (Closed)
Patch Set: cl format Created 4 years, 1 month 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: yes 6 wrap: yes
7 7
8 --- 8 ---
9 snippet: " 9 snippet: "
10 for (var p of [0, 1, 2]) {} 10 for (var p of [0, 1, 2]) {}
11 " 11 "
12 frame size: 15 12 frame size: 15
13 parameter count: 1 13 parameter count: 1
14 bytecode array length: 282 14 bytecode array length: 274
15 bytecodes: [ 15 bytecodes: [
16 /* 30 E> */ B(StackCheck), 16 /* 30 E> */ B(StackCheck),
17 B(LdaZero), 17 B(LdaZero),
18 B(Star), R(4), 18 B(Star), R(4),
19 B(Mov), R(context), R(11), 19 B(Mov), R(context), R(11),
20 B(Mov), R(context), R(12), 20 B(Mov), R(context), R(12),
21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 21 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
22 B(Star), R(14), 22 B(Star), R(14),
23 B(LdaConstant), U8(1), 23 B(LdaConstant), U8(1),
24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 24 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 B(LdaCurrentContextSlot), U8(4), 59 B(LdaCurrentContextSlot), U8(4),
60 B(Star), R(13), 60 B(Star), R(13),
61 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 61 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
62 B(PopContext), R(8), 62 B(PopContext), R(8),
63 B(LdaSmi), U8(-1), 63 B(LdaSmi), U8(-1),
64 B(Star), R(9), 64 B(Star), R(9),
65 B(Jump), U8(7), 65 B(Jump), U8(7),
66 B(Star), R(10), 66 B(Star), R(10),
67 B(LdaZero), 67 B(LdaZero),
68 B(Star), R(9), 68 B(Star), R(9),
69 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 69 B(LdaTheHole),
70 B(SetPendingMessage),
70 B(Star), R(11), 71 B(Star), R(11),
71 B(LdaZero), 72 B(LdaZero),
72 B(TestEqualStrict), R(4), U8(15), 73 B(TestEqualStrict), R(4), U8(15),
73 B(JumpIfTrue), U8(122), 74 B(JumpIfTrue), U8(119),
74 B(LdaUndefined), 75 B(LdaUndefined),
75 B(TestEqualStrict), R(2), U8(16), 76 B(TestEqualStrict), R(2), U8(16),
76 B(JumpIfTrue), U8(116), 77 B(JumpIfTrue), U8(113),
77 B(LdaNamedProperty), R(2), U8(7), U8(17), 78 B(LdaNamedProperty), R(2), U8(7), U8(17),
78 B(Star), R(6), 79 B(Star), R(6),
79 B(LdaNull), 80 B(LdaNull),
80 B(TestEqual), R(6), U8(19), 81 B(TestEqual), R(6), U8(19),
81 B(JumpIfFalse), U8(4), 82 B(JumpIfFalse), U8(4),
82 B(Jump), U8(102), 83 B(Jump), U8(99),
83 B(LdaSmi), U8(1), 84 B(LdaSmi), U8(1),
84 B(TestEqualStrict), R(4), U8(20), 85 B(TestEqualStrict), R(4), U8(20),
85 B(JumpIfFalse), U8(70), 86 B(JumpIfFalse), U8(67),
86 B(Ldar), R(6), 87 B(Ldar), R(6),
87 B(TypeOf), 88 B(TypeOf),
88 B(Star), R(12), 89 B(Star), R(12),
89 B(LdaConstant), U8(8), 90 B(LdaConstant), U8(8),
90 B(TestEqualStrict), R(12), U8(21), 91 B(TestEqualStrict), R(12), U8(21),
91 B(JumpIfFalse), U8(4), 92 B(JumpIfFalse), U8(4),
92 B(Jump), U8(18), 93 B(Jump), U8(18),
93 B(Wide), B(LdaSmi), U16(130), 94 B(Wide), B(LdaSmi), U16(130),
94 B(Star), R(12), 95 B(Star), R(12),
95 B(LdaConstant), U8(9), 96 B(LdaConstant), U8(9),
96 B(Star), R(13), 97 B(Star), R(13),
97 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 98 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
98 B(Throw), 99 B(Throw),
99 B(Mov), R(context), R(12), 100 B(Mov), R(context), R(12),
100 B(Mov), R(6), R(13), 101 B(Mov), R(6), R(13),
101 B(Mov), R(2), R(14), 102 B(Mov), R(2), R(14),
102 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 103 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
103 B(Jump), U8(23), 104 B(Jump), U8(20),
104 B(Star), R(13), 105 B(Star), R(13),
105 B(Ldar), R(closure), 106 B(Ldar), R(closure),
106 B(CreateCatchContext), R(13), U8(5), U8(10), 107 B(CreateCatchContext), R(13), U8(5), U8(10),
107 B(Star), R(12), 108 B(Star), R(12),
108 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 109 B(LdaTheHole),
110 B(SetPendingMessage),
109 B(Ldar), R(12), 111 B(Ldar), R(12),
110 B(PushContext), R(8), 112 B(PushContext), R(8),
111 B(PopContext), R(8), 113 B(PopContext), R(8),
112 B(Jump), U8(27), 114 B(Jump), U8(27),
113 B(Mov), R(6), R(12), 115 B(Mov), R(6), R(12),
114 B(Mov), R(2), R(13), 116 B(Mov), R(2), R(13),
115 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 117 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
116 B(Star), R(7), 118 B(Star), R(7),
117 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), 119 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1),
118 B(JumpIfToBooleanFalse), U8(4), 120 B(JumpIfToBooleanFalse), U8(4),
119 B(Jump), U8(7), 121 B(Jump), U8(7),
120 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (7), U8(1), 122 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (7), U8(1),
121 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 123 B(Ldar), R(11),
124 B(SetPendingMessage),
122 B(LdaZero), 125 B(LdaZero),
123 B(TestEqualStrict), R(9), U8(0), 126 B(TestEqualStrict), R(9), U8(0),
124 B(JumpIfTrue), U8(4), 127 B(JumpIfTrue), U8(4),
125 B(Jump), U8(5), 128 B(Jump), U8(5),
126 B(Ldar), R(10), 129 B(Ldar), R(10),
127 B(ReThrow), 130 B(ReThrow),
128 B(LdaUndefined), 131 B(LdaUndefined),
129 /* 62 S> */ B(Return), 132 /* 62 S> */ B(Return),
130 ] 133 ]
131 constant pool: [ 134 constant pool: [
132 FIXED_ARRAY_TYPE, 135 FIXED_ARRAY_TYPE,
133 SYMBOL_TYPE, 136 SYMBOL_TYPE,
134 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 137 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
135 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 138 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
136 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
137 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 140 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
138 FIXED_ARRAY_TYPE, 141 FIXED_ARRAY_TYPE,
139 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 142 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
140 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 143 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
141 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 144 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
142 FIXED_ARRAY_TYPE, 145 FIXED_ARRAY_TYPE,
143 ] 146 ]
144 handlers: [ 147 handlers: [
145 [7, 120, 126], 148 [7, 120, 126],
146 [10, 84, 86], 149 [10, 84, 86],
147 [204, 214, 216], 150 [201, 211, 213],
148 ] 151 ]
149 152
150 --- 153 ---
151 snippet: " 154 snippet: "
152 var x = 'potatoes'; 155 var x = 'potatoes';
153 for (var p of x) { return p; } 156 for (var p of x) { return p; }
154 " 157 "
155 frame size: 16 158 frame size: 16
156 parameter count: 1 159 parameter count: 1
157 bytecode array length: 293 160 bytecode array length: 285
158 bytecodes: [ 161 bytecodes: [
159 /* 30 E> */ B(StackCheck), 162 /* 30 E> */ B(StackCheck),
160 /* 42 S> */ B(LdaConstant), U8(0), 163 /* 42 S> */ B(LdaConstant), U8(0),
161 B(Star), R(0), 164 B(Star), R(0),
162 B(LdaZero), 165 B(LdaZero),
163 B(Star), R(5), 166 B(Star), R(5),
164 B(Mov), R(context), R(12), 167 B(Mov), R(context), R(12),
165 B(Mov), R(context), R(13), 168 B(Mov), R(context), R(13),
166 /* 68 S> */ B(LdaConstant), U8(1), 169 /* 68 S> */ B(LdaConstant), U8(1),
167 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4), 170 /* 68 E> */ B(LdaKeyedProperty), R(0), U8(4),
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 B(LdaCurrentContextSlot), U8(4), 206 B(LdaCurrentContextSlot), U8(4),
204 B(Star), R(14), 207 B(Star), R(14),
205 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 208 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
206 B(PopContext), R(9), 209 B(PopContext), R(9),
207 B(LdaSmi), U8(-1), 210 B(LdaSmi), U8(-1),
208 B(Star), R(10), 211 B(Star), R(10),
209 B(Jump), U8(8), 212 B(Jump), U8(8),
210 B(Star), R(11), 213 B(Star), R(11),
211 B(LdaSmi), U8(1), 214 B(LdaSmi), U8(1),
212 B(Star), R(10), 215 B(Star), R(10),
213 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 216 B(LdaTheHole),
217 B(SetPendingMessage),
214 B(Star), R(12), 218 B(Star), R(12),
215 B(LdaZero), 219 B(LdaZero),
216 B(TestEqualStrict), R(5), U8(15), 220 B(TestEqualStrict), R(5), U8(15),
217 B(JumpIfTrue), U8(122), 221 B(JumpIfTrue), U8(119),
218 B(LdaUndefined), 222 B(LdaUndefined),
219 B(TestEqualStrict), R(3), U8(16), 223 B(TestEqualStrict), R(3), U8(16),
220 B(JumpIfTrue), U8(116), 224 B(JumpIfTrue), U8(113),
221 B(LdaNamedProperty), R(3), U8(7), U8(17), 225 B(LdaNamedProperty), R(3), U8(7), U8(17),
222 B(Star), R(7), 226 B(Star), R(7),
223 B(LdaNull), 227 B(LdaNull),
224 B(TestEqual), R(7), U8(19), 228 B(TestEqual), R(7), U8(19),
225 B(JumpIfFalse), U8(4), 229 B(JumpIfFalse), U8(4),
226 B(Jump), U8(102), 230 B(Jump), U8(99),
227 B(LdaSmi), U8(1), 231 B(LdaSmi), U8(1),
228 B(TestEqualStrict), R(5), U8(20), 232 B(TestEqualStrict), R(5), U8(20),
229 B(JumpIfFalse), U8(70), 233 B(JumpIfFalse), U8(67),
230 B(Ldar), R(7), 234 B(Ldar), R(7),
231 B(TypeOf), 235 B(TypeOf),
232 B(Star), R(13), 236 B(Star), R(13),
233 B(LdaConstant), U8(8), 237 B(LdaConstant), U8(8),
234 B(TestEqualStrict), R(13), U8(21), 238 B(TestEqualStrict), R(13), U8(21),
235 B(JumpIfFalse), U8(4), 239 B(JumpIfFalse), U8(4),
236 B(Jump), U8(18), 240 B(Jump), U8(18),
237 B(Wide), B(LdaSmi), U16(130), 241 B(Wide), B(LdaSmi), U16(130),
238 B(Star), R(13), 242 B(Star), R(13),
239 B(LdaConstant), U8(9), 243 B(LdaConstant), U8(9),
240 B(Star), R(14), 244 B(Star), R(14),
241 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2), 245 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
242 B(Throw), 246 B(Throw),
243 B(Mov), R(context), R(13), 247 B(Mov), R(context), R(13),
244 B(Mov), R(7), R(14), 248 B(Mov), R(7), R(14),
245 B(Mov), R(3), R(15), 249 B(Mov), R(3), R(15),
246 B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2), 250 B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2),
247 B(Jump), U8(23), 251 B(Jump), U8(20),
248 B(Star), R(14), 252 B(Star), R(14),
249 B(Ldar), R(closure), 253 B(Ldar), R(closure),
250 B(CreateCatchContext), R(14), U8(5), U8(10), 254 B(CreateCatchContext), R(14), U8(5), U8(10),
251 B(Star), R(13), 255 B(Star), R(13),
252 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 256 B(LdaTheHole),
257 B(SetPendingMessage),
253 B(Ldar), R(13), 258 B(Ldar), R(13),
254 B(PushContext), R(9), 259 B(PushContext), R(9),
255 B(PopContext), R(9), 260 B(PopContext), R(9),
256 B(Jump), U8(27), 261 B(Jump), U8(27),
257 B(Mov), R(7), R(13), 262 B(Mov), R(7), R(13),
258 B(Mov), R(3), R(14), 263 B(Mov), R(3), R(14),
259 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 264 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
260 B(Star), R(8), 265 B(Star), R(8),
261 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), 266 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1),
262 B(JumpIfToBooleanFalse), U8(4), 267 B(JumpIfToBooleanFalse), U8(4),
263 B(Jump), U8(7), 268 B(Jump), U8(7),
264 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1), 269 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (8), U8(1),
265 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 2), U8(1), 270 B(Ldar), R(12),
271 B(SetPendingMessage),
266 B(LdaZero), 272 B(LdaZero),
267 B(TestEqualStrict), R(10), U8(0), 273 B(TestEqualStrict), R(10), U8(0),
268 B(JumpIfTrue), U8(11), 274 B(JumpIfTrue), U8(11),
269 B(LdaSmi), U8(1), 275 B(LdaSmi), U8(1),
270 B(TestEqualStrict), R(10), U8(0), 276 B(TestEqualStrict), R(10), U8(0),
271 B(JumpIfTrue), U8(7), 277 B(JumpIfTrue), U8(7),
272 B(Jump), U8(8), 278 B(Jump), U8(8),
273 B(Ldar), R(11), 279 B(Ldar), R(11),
274 /* 85 S> */ B(Return), 280 /* 85 S> */ B(Return),
275 B(Ldar), R(11), 281 B(Ldar), R(11),
(...skipping 10 matching lines...) Expand all
286 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 292 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
287 FIXED_ARRAY_TYPE, 293 FIXED_ARRAY_TYPE,
288 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 294 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
289 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 295 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
290 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 296 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
291 FIXED_ARRAY_TYPE, 297 FIXED_ARRAY_TYPE,
292 ] 298 ]
293 handlers: [ 299 handlers: [
294 [11, 120, 126], 300 [11, 120, 126],
295 [14, 84, 86], 301 [14, 84, 86],
296 [205, 215, 217], 302 [202, 212, 214],
297 ] 303 ]
298 304
299 --- 305 ---
300 snippet: " 306 snippet: "
301 for (var x of [10, 20, 30]) { 307 for (var x of [10, 20, 30]) {
302 if (x == 10) continue; 308 if (x == 10) continue;
303 if (x == 20) break; 309 if (x == 20) break;
304 } 310 }
305 " 311 "
306 frame size: 15 312 frame size: 15
307 parameter count: 1 313 parameter count: 1
308 bytecode array length: 300 314 bytecode array length: 292
309 bytecodes: [ 315 bytecodes: [
310 /* 30 E> */ B(StackCheck), 316 /* 30 E> */ B(StackCheck),
311 B(LdaZero), 317 B(LdaZero),
312 B(Star), R(4), 318 B(Star), R(4),
313 B(Mov), R(context), R(11), 319 B(Mov), R(context), R(11),
314 B(Mov), R(context), R(12), 320 B(Mov), R(context), R(12),
315 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9), 321 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(9),
316 B(Star), R(14), 322 B(Star), R(14),
317 B(LdaConstant), U8(1), 323 B(LdaConstant), U8(1),
318 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4), 324 /* 48 E> */ B(LdaKeyedProperty), R(14), U8(4),
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 B(LdaCurrentContextSlot), U8(4), 367 B(LdaCurrentContextSlot), U8(4),
362 B(Star), R(13), 368 B(Star), R(13),
363 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 369 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
364 B(PopContext), R(8), 370 B(PopContext), R(8),
365 B(LdaSmi), U8(-1), 371 B(LdaSmi), U8(-1),
366 B(Star), R(9), 372 B(Star), R(9),
367 B(Jump), U8(7), 373 B(Jump), U8(7),
368 B(Star), R(10), 374 B(Star), R(10),
369 B(LdaZero), 375 B(LdaZero),
370 B(Star), R(9), 376 B(Star), R(9),
371 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 377 B(LdaTheHole),
378 B(SetPendingMessage),
372 B(Star), R(11), 379 B(Star), R(11),
373 B(LdaZero), 380 B(LdaZero),
374 B(TestEqualStrict), R(4), U8(17), 381 B(TestEqualStrict), R(4), U8(17),
375 B(JumpIfTrue), U8(122), 382 B(JumpIfTrue), U8(119),
376 B(LdaUndefined), 383 B(LdaUndefined),
377 B(TestEqualStrict), R(2), U8(18), 384 B(TestEqualStrict), R(2), U8(18),
378 B(JumpIfTrue), U8(116), 385 B(JumpIfTrue), U8(113),
379 B(LdaNamedProperty), R(2), U8(7), U8(19), 386 B(LdaNamedProperty), R(2), U8(7), U8(19),
380 B(Star), R(6), 387 B(Star), R(6),
381 B(LdaNull), 388 B(LdaNull),
382 B(TestEqual), R(6), U8(21), 389 B(TestEqual), R(6), U8(21),
383 B(JumpIfFalse), U8(4), 390 B(JumpIfFalse), U8(4),
384 B(Jump), U8(102), 391 B(Jump), U8(99),
385 B(LdaSmi), U8(1), 392 B(LdaSmi), U8(1),
386 B(TestEqualStrict), R(4), U8(22), 393 B(TestEqualStrict), R(4), U8(22),
387 B(JumpIfFalse), U8(70), 394 B(JumpIfFalse), U8(67),
388 B(Ldar), R(6), 395 B(Ldar), R(6),
389 B(TypeOf), 396 B(TypeOf),
390 B(Star), R(12), 397 B(Star), R(12),
391 B(LdaConstant), U8(8), 398 B(LdaConstant), U8(8),
392 B(TestEqualStrict), R(12), U8(23), 399 B(TestEqualStrict), R(12), U8(23),
393 B(JumpIfFalse), U8(4), 400 B(JumpIfFalse), U8(4),
394 B(Jump), U8(18), 401 B(Jump), U8(18),
395 B(Wide), B(LdaSmi), U16(130), 402 B(Wide), B(LdaSmi), U16(130),
396 B(Star), R(12), 403 B(Star), R(12),
397 B(LdaConstant), U8(9), 404 B(LdaConstant), U8(9),
398 B(Star), R(13), 405 B(Star), R(13),
399 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 406 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
400 B(Throw), 407 B(Throw),
401 B(Mov), R(context), R(12), 408 B(Mov), R(context), R(12),
402 B(Mov), R(6), R(13), 409 B(Mov), R(6), R(13),
403 B(Mov), R(2), R(14), 410 B(Mov), R(2), R(14),
404 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 411 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
405 B(Jump), U8(23), 412 B(Jump), U8(20),
406 B(Star), R(13), 413 B(Star), R(13),
407 B(Ldar), R(closure), 414 B(Ldar), R(closure),
408 B(CreateCatchContext), R(13), U8(5), U8(10), 415 B(CreateCatchContext), R(13), U8(5), U8(10),
409 B(Star), R(12), 416 B(Star), R(12),
410 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 417 B(LdaTheHole),
418 B(SetPendingMessage),
411 B(Ldar), R(12), 419 B(Ldar), R(12),
412 B(PushContext), R(8), 420 B(PushContext), R(8),
413 B(PopContext), R(8), 421 B(PopContext), R(8),
414 B(Jump), U8(27), 422 B(Jump), U8(27),
415 B(Mov), R(6), R(12), 423 B(Mov), R(6), R(12),
416 B(Mov), R(2), R(13), 424 B(Mov), R(2), R(13),
417 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 425 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
418 B(Star), R(7), 426 B(Star), R(7),
419 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), 427 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1),
420 B(JumpIfToBooleanFalse), U8(4), 428 B(JumpIfToBooleanFalse), U8(4),
421 B(Jump), U8(7), 429 B(Jump), U8(7),
422 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (7), U8(1), 430 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (7), U8(1),
423 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 431 B(Ldar), R(11),
432 B(SetPendingMessage),
424 B(LdaZero), 433 B(LdaZero),
425 B(TestEqualStrict), R(9), U8(0), 434 B(TestEqualStrict), R(9), U8(0),
426 B(JumpIfTrue), U8(4), 435 B(JumpIfTrue), U8(4),
427 B(Jump), U8(5), 436 B(Jump), U8(5),
428 B(Ldar), R(10), 437 B(Ldar), R(10),
429 B(ReThrow), 438 B(ReThrow),
430 B(LdaUndefined), 439 B(LdaUndefined),
431 /* 113 S> */ B(Return), 440 /* 113 S> */ B(Return),
432 ] 441 ]
433 constant pool: [ 442 constant pool: [
434 FIXED_ARRAY_TYPE, 443 FIXED_ARRAY_TYPE,
435 SYMBOL_TYPE, 444 SYMBOL_TYPE,
436 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], 445 ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
437 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], 446 ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
438 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], 447 ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
439 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 448 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
440 FIXED_ARRAY_TYPE, 449 FIXED_ARRAY_TYPE,
441 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 450 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
442 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 451 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
443 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 452 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
444 FIXED_ARRAY_TYPE, 453 FIXED_ARRAY_TYPE,
445 ] 454 ]
446 handlers: [ 455 handlers: [
447 [7, 138, 144], 456 [7, 138, 144],
448 [10, 102, 104], 457 [10, 102, 104],
449 [222, 232, 234], 458 [219, 229, 231],
450 ] 459 ]
451 460
452 --- 461 ---
453 snippet: " 462 snippet: "
454 var x = { 'a': 1, 'b': 2 }; 463 var x = { 'a': 1, 'b': 2 };
455 for (x['a'] of [1,2,3]) { return x['a']; } 464 for (x['a'] of [1,2,3]) { return x['a']; }
456 " 465 "
457 frame size: 14 466 frame size: 14
458 parameter count: 1 467 parameter count: 1
459 bytecode array length: 307 468 bytecode array length: 299
460 bytecodes: [ 469 bytecodes: [
461 /* 30 E> */ B(StackCheck), 470 /* 30 E> */ B(StackCheck),
462 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 471 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
463 B(Mov), R(8), R(0), 472 B(Mov), R(8), R(0),
464 B(LdaZero), 473 B(LdaZero),
465 B(Star), R(3), 474 B(Star), R(3),
466 B(Mov), R(context), R(10), 475 B(Mov), R(context), R(10),
467 B(Mov), R(context), R(11), 476 B(Mov), R(context), R(11),
468 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), 477 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9),
469 B(Star), R(13), 478 B(Star), R(13),
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 B(LdaCurrentContextSlot), U8(4), 518 B(LdaCurrentContextSlot), U8(4),
510 B(Star), R(12), 519 B(Star), R(12),
511 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 520 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
512 B(PopContext), R(7), 521 B(PopContext), R(7),
513 B(LdaSmi), U8(-1), 522 B(LdaSmi), U8(-1),
514 B(Star), R(8), 523 B(Star), R(8),
515 B(Jump), U8(8), 524 B(Jump), U8(8),
516 B(Star), R(9), 525 B(Star), R(9),
517 B(LdaSmi), U8(1), 526 B(LdaSmi), U8(1),
518 B(Star), R(8), 527 B(Star), R(8),
519 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 528 B(LdaTheHole),
529 B(SetPendingMessage),
520 B(Star), R(10), 530 B(Star), R(10),
521 B(LdaZero), 531 B(LdaZero),
522 B(TestEqualStrict), R(3), U8(19), 532 B(TestEqualStrict), R(3), U8(19),
523 B(JumpIfTrue), U8(122), 533 B(JumpIfTrue), U8(119),
524 B(LdaUndefined), 534 B(LdaUndefined),
525 B(TestEqualStrict), R(1), U8(20), 535 B(TestEqualStrict), R(1), U8(20),
526 B(JumpIfTrue), U8(116), 536 B(JumpIfTrue), U8(113),
527 B(LdaNamedProperty), R(1), U8(9), U8(21), 537 B(LdaNamedProperty), R(1), U8(9), U8(21),
528 B(Star), R(5), 538 B(Star), R(5),
529 B(LdaNull), 539 B(LdaNull),
530 B(TestEqual), R(5), U8(23), 540 B(TestEqual), R(5), U8(23),
531 B(JumpIfFalse), U8(4), 541 B(JumpIfFalse), U8(4),
532 B(Jump), U8(102), 542 B(Jump), U8(99),
533 B(LdaSmi), U8(1), 543 B(LdaSmi), U8(1),
534 B(TestEqualStrict), R(3), U8(24), 544 B(TestEqualStrict), R(3), U8(24),
535 B(JumpIfFalse), U8(70), 545 B(JumpIfFalse), U8(67),
536 B(Ldar), R(5), 546 B(Ldar), R(5),
537 B(TypeOf), 547 B(TypeOf),
538 B(Star), R(11), 548 B(Star), R(11),
539 B(LdaConstant), U8(10), 549 B(LdaConstant), U8(10),
540 B(TestEqualStrict), R(11), U8(25), 550 B(TestEqualStrict), R(11), U8(25),
541 B(JumpIfFalse), U8(4), 551 B(JumpIfFalse), U8(4),
542 B(Jump), U8(18), 552 B(Jump), U8(18),
543 B(Wide), B(LdaSmi), U16(130), 553 B(Wide), B(LdaSmi), U16(130),
544 B(Star), R(11), 554 B(Star), R(11),
545 B(LdaConstant), U8(11), 555 B(LdaConstant), U8(11),
546 B(Star), R(12), 556 B(Star), R(12),
547 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), 557 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
548 B(Throw), 558 B(Throw),
549 B(Mov), R(context), R(11), 559 B(Mov), R(context), R(11),
550 B(Mov), R(5), R(12), 560 B(Mov), R(5), R(12),
551 B(Mov), R(1), R(13), 561 B(Mov), R(1), R(13),
552 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 562 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
553 B(Jump), U8(23), 563 B(Jump), U8(20),
554 B(Star), R(12), 564 B(Star), R(12),
555 B(Ldar), R(closure), 565 B(Ldar), R(closure),
556 B(CreateCatchContext), R(12), U8(7), U8(12), 566 B(CreateCatchContext), R(12), U8(7), U8(12),
557 B(Star), R(11), 567 B(Star), R(11),
558 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 568 B(LdaTheHole),
569 B(SetPendingMessage),
559 B(Ldar), R(11), 570 B(Ldar), R(11),
560 B(PushContext), R(7), 571 B(PushContext), R(7),
561 B(PopContext), R(7), 572 B(PopContext), R(7),
562 B(Jump), U8(27), 573 B(Jump), U8(27),
563 B(Mov), R(5), R(11), 574 B(Mov), R(5), R(11),
564 B(Mov), R(1), R(12), 575 B(Mov), R(1), R(12),
565 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), 576 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
566 B(Star), R(6), 577 B(Star), R(6),
567 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1), 578 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1),
568 B(JumpIfToBooleanFalse), U8(4), 579 B(JumpIfToBooleanFalse), U8(4),
569 B(Jump), U8(7), 580 B(Jump), U8(7),
570 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1), 581 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
571 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 0), U8(1), 582 B(Ldar), R(10),
583 B(SetPendingMessage),
572 B(LdaZero), 584 B(LdaZero),
573 B(TestEqualStrict), R(8), U8(0), 585 B(TestEqualStrict), R(8), U8(0),
574 B(JumpIfTrue), U8(11), 586 B(JumpIfTrue), U8(11),
575 B(LdaSmi), U8(1), 587 B(LdaSmi), U8(1),
576 B(TestEqualStrict), R(8), U8(0), 588 B(TestEqualStrict), R(8), U8(0),
577 B(JumpIfTrue), U8(7), 589 B(JumpIfTrue), U8(7),
578 B(Jump), U8(8), 590 B(Jump), U8(8),
579 B(Ldar), R(9), 591 B(Ldar), R(9),
580 /* 105 S> */ B(Return), 592 /* 105 S> */ B(Return),
581 B(Ldar), R(9), 593 B(Ldar), R(9),
(...skipping 12 matching lines...) Expand all
594 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], 606 ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
595 FIXED_ARRAY_TYPE, 607 FIXED_ARRAY_TYPE,
596 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], 608 ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
597 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"], 609 ONE_BYTE_INTERNALIZED_STRING_TYPE ["function"],
598 ONE_BYTE_INTERNALIZED_STRING_TYPE [""], 610 ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
599 FIXED_ARRAY_TYPE, 611 FIXED_ARRAY_TYPE,
600 ] 612 ]
601 handlers: [ 613 handlers: [
602 [15, 134, 140], 614 [15, 134, 140],
603 [18, 98, 100], 615 [18, 98, 100],
604 [219, 229, 231], 616 [216, 226, 228],
605 ] 617 ]
606 618
OLDNEW
« no previous file with comments | « src/runtime/runtime-interpreter.cc ('k') | test/cctest/interpreter/bytecode_expectations/Generators.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698