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

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

Issue 2260473003: [interpreter] Add CreateCatchContext bytecode (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: group context bytecodes Created 4 years, 4 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: 15
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 282 16 bytecode array length: 268
17 bytecodes: [ 17 bytecodes: [
18 /* 30 E> */ B(StackCheck), 18 /* 30 E> */ B(StackCheck),
19 B(LdaZero), 19 B(LdaZero),
20 B(Star), R(3), 20 B(Star), R(3),
21 B(Mov), R(context), R(11), 21 B(Mov), R(context), R(11),
22 B(Mov), R(context), R(12), 22 B(Mov), R(context), R(12),
23 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 23 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
24 B(Star), R(14), 24 B(Star), R(14),
25 B(LdaConstant), U8(1), 25 B(LdaConstant), U8(1),
26 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13), 26 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13),
(...skipping 10 matching lines...) Expand all
37 B(JumpIfToBooleanTrue), U8(23), 37 B(JumpIfToBooleanTrue), U8(23),
38 B(LdrNamedProperty), R(2), U8(4), U8(11), R(4), 38 B(LdrNamedProperty), R(2), U8(4), U8(11), R(4),
39 B(LdaSmi), U8(2), 39 B(LdaSmi), U8(2),
40 B(Star), R(3), 40 B(Star), R(3),
41 B(Mov), R(4), R(0), 41 B(Mov), R(4), R(0),
42 /* 34 E> */ B(StackCheck), 42 /* 34 E> */ B(StackCheck),
43 B(Mov), R(0), R(7), 43 B(Mov), R(0), R(7),
44 B(LdaZero), 44 B(LdaZero),
45 B(Star), R(3), 45 B(Star), R(3),
46 B(Jump), U8(-49), 46 B(Jump), U8(-49),
47 B(Jump), U8(41), 47 B(Jump), U8(34),
48 B(Star), R(14),
49 B(LdaConstant), U8(5),
50 B(Star), R(13), 48 B(Star), R(13),
51 B(Mov), R(closure), R(15), 49 B(Ldar), R(closure),
52 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 50 B(CreateCatchContext), R(13), U8(5),
53 B(Star), R(12), 51 B(Star), R(12),
54 B(PushContext), R(8), 52 B(PushContext), R(8),
55 B(LdaSmi), U8(2), 53 B(LdaSmi), U8(2),
56 B(TestEqualStrict), R(3), 54 B(TestEqualStrict), R(3),
57 B(JumpIfFalse), U8(6), 55 B(JumpIfFalse), U8(6),
58 B(LdaSmi), U8(1), 56 B(LdaSmi), U8(1),
59 B(Star), R(3), 57 B(Star), R(3),
60 B(LdrContextSlot), R(context), U8(4), R(13), 58 B(LdrContextSlot), R(context), U8(4), R(13),
61 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 59 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
62 B(PopContext), R(8), 60 B(PopContext), R(8),
63 B(LdaSmi), U8(-1), 61 B(LdaSmi), U8(-1),
64 B(Star), R(9), 62 B(Star), R(9),
65 B(Jump), U8(7), 63 B(Jump), U8(7),
66 B(Star), R(10), 64 B(Star), R(10),
67 B(LdaZero), 65 B(LdaZero),
68 B(Star), R(9), 66 B(Star), R(9),
69 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 67 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
70 B(Star), R(11), 68 B(Star), R(11),
71 B(LdaZero), 69 B(LdaZero),
72 B(TestEqualStrict), R(3), 70 B(TestEqualStrict), R(3),
73 B(JumpIfTrue), U8(123), 71 B(JumpIfTrue), U8(116),
74 B(LdaUndefined), 72 B(LdaUndefined),
75 B(TestEqualStrict), R(1), 73 B(TestEqualStrict), R(1),
76 B(JumpIfTrue), U8(118), 74 B(JumpIfTrue), U8(111),
77 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5), 75 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
78 B(LdaNull), 76 B(LdaNull),
79 B(TestEqual), R(5), 77 B(TestEqual), R(5),
80 B(JumpIfFalse), U8(4), 78 B(JumpIfFalse), U8(4),
81 B(Jump), U8(106), 79 B(Jump), U8(99),
82 B(LdaSmi), U8(1), 80 B(LdaSmi), U8(1),
83 B(TestEqualStrict), R(3), 81 B(TestEqualStrict), R(3),
84 B(JumpIfFalse), U8(75), 82 B(JumpIfFalse), U8(68),
85 B(Ldar), R(5), 83 B(Ldar), R(5),
86 B(TypeOf), 84 B(TypeOf),
87 B(Star), R(12), 85 B(Star), R(12),
88 B(LdaConstant), U8(7), 86 B(LdaConstant), U8(7),
89 B(TestEqualStrict), R(12), 87 B(TestEqualStrict), R(12),
90 B(JumpIfFalse), U8(4), 88 B(JumpIfFalse), U8(4),
91 B(Jump), U8(18), 89 B(Jump), U8(18),
92 B(Wide), B(LdaSmi), U16(129), 90 B(Wide), B(LdaSmi), U16(129),
93 B(Star), R(12), 91 B(Star), R(12),
94 B(LdaConstant), U8(8), 92 B(LdaConstant), U8(8),
95 B(Star), R(13), 93 B(Star), R(13),
96 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 94 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
97 B(Throw), 95 B(Throw),
98 B(Mov), R(context), R(12), 96 B(Mov), R(context), R(12),
99 B(Mov), R(5), R(13), 97 B(Mov), R(5), R(13),
100 B(Mov), R(1), R(14), 98 B(Mov), R(1), R(14),
101 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 99 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
102 B(Jump), U8(29), 100 B(Jump), U8(22),
103 B(Star), R(14),
104 B(LdaConstant), U8(5),
105 B(Star), R(13), 101 B(Star), R(13),
106 B(Mov), R(closure), R(15), 102 B(Ldar), R(closure),
107 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 103 B(CreateCatchContext), R(13), U8(5),
108 B(Star), R(12), 104 B(Star), R(12),
109 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 105 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
110 B(Ldar), R(12), 106 B(Ldar), R(12),
111 B(PushContext), R(8), 107 B(PushContext), R(8),
112 B(PopContext), R(8), 108 B(PopContext), R(8),
113 B(Jump), U8(27), 109 B(Jump), U8(27),
114 B(Mov), R(5), R(12), 110 B(Mov), R(5), R(12),
115 B(Mov), R(1), R(13), 111 B(Mov), R(1), R(13),
116 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 112 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
117 B(Star), R(6), 113 B(Star), R(6),
(...skipping 16 matching lines...) Expand all
134 InstanceType::SYMBOL_TYPE, 130 InstanceType::SYMBOL_TYPE,
135 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 131 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
136 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 132 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
137 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 133 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
138 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 134 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
139 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 135 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
140 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 136 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
141 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 137 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
142 ] 138 ]
143 handlers: [ 139 handlers: [
144 [7, 121, 127], 140 [7, 114, 120],
145 [10, 80, 82], 141 [10, 80, 82],
146 [199, 209, 211], 142 [192, 202, 204],
147 ] 143 ]
148 144
149 --- 145 ---
150 snippet: " 146 snippet: "
151 var x = 'potatoes'; 147 var x = 'potatoes';
152 for (var p of x) { return p; } 148 for (var p of x) { return p; }
153 " 149 "
154 frame size: 17 150 frame size: 16
155 parameter count: 1 151 parameter count: 1
156 bytecode array length: 295 152 bytecode array length: 281
157 bytecodes: [ 153 bytecodes: [
158 /* 30 E> */ B(StackCheck), 154 /* 30 E> */ B(StackCheck),
159 /* 42 S> */ B(LdaConstant), U8(0), 155 /* 42 S> */ B(LdaConstant), U8(0),
160 B(Star), R(7), 156 B(Star), R(7),
161 B(LdaZero), 157 B(LdaZero),
162 B(Star), R(3), 158 B(Star), R(3),
163 B(Mov), R(context), R(12), 159 B(Mov), R(context), R(12),
164 B(Mov), R(context), R(13), 160 B(Mov), R(context), R(13),
165 /* 68 S> */ B(LdaConstant), U8(1), 161 /* 68 S> */ B(LdaConstant), U8(1),
166 /* 68 E> */ B(LdrKeyedProperty), R(7), U8(3), R(14), 162 /* 68 E> */ B(LdrKeyedProperty), R(7), U8(3), R(14),
(...skipping 10 matching lines...) Expand all
177 B(JumpIfToBooleanTrue), U8(28), 173 B(JumpIfToBooleanTrue), U8(28),
178 B(LdrNamedProperty), R(2), U8(4), U8(11), R(4), 174 B(LdrNamedProperty), R(2), U8(4), U8(11), R(4),
179 B(LdaSmi), U8(2), 175 B(LdaSmi), U8(2),
180 B(Star), R(3), 176 B(Star), R(3),
181 B(Mov), R(4), R(0), 177 B(Mov), R(4), R(0),
182 /* 54 E> */ B(StackCheck), 178 /* 54 E> */ B(StackCheck),
183 B(Mov), R(0), R(8), 179 B(Mov), R(0), R(8),
184 /* 73 S> */ B(LdaZero), 180 /* 73 S> */ B(LdaZero),
185 B(Star), R(10), 181 B(Star), R(10),
186 B(Mov), R(0), R(11), 182 B(Mov), R(0), R(11),
187 B(Jump), U8(57), 183 B(Jump), U8(50),
188 B(Jump), U8(-54), 184 B(Jump), U8(-54),
189 B(Jump), U8(41), 185 B(Jump), U8(34),
190 B(Star), R(15),
191 B(LdaConstant), U8(5),
192 B(Star), R(14), 186 B(Star), R(14),
193 B(Mov), R(closure), R(16), 187 B(Ldar), R(closure),
194 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 188 B(CreateCatchContext), R(14), U8(5),
195 B(Star), R(13), 189 B(Star), R(13),
196 B(PushContext), R(9), 190 B(PushContext), R(9),
197 B(LdaSmi), U8(2), 191 B(LdaSmi), U8(2),
198 B(TestEqualStrict), R(3), 192 B(TestEqualStrict), R(3),
199 B(JumpIfFalse), U8(6), 193 B(JumpIfFalse), U8(6),
200 B(LdaSmi), U8(1), 194 B(LdaSmi), U8(1),
201 B(Star), R(3), 195 B(Star), R(3),
202 B(LdrContextSlot), R(context), U8(4), R(14), 196 B(LdrContextSlot), R(context), U8(4), R(14),
203 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 197 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
204 B(PopContext), R(9), 198 B(PopContext), R(9),
205 B(LdaSmi), U8(-1), 199 B(LdaSmi), U8(-1),
206 B(Star), R(10), 200 B(Star), R(10),
207 B(Jump), U8(8), 201 B(Jump), U8(8),
208 B(Star), R(11), 202 B(Star), R(11),
209 B(LdaSmi), U8(1), 203 B(LdaSmi), U8(1),
210 B(Star), R(10), 204 B(Star), R(10),
211 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 205 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
212 B(Star), R(12), 206 B(Star), R(12),
213 B(LdaZero), 207 B(LdaZero),
214 B(TestEqualStrict), R(3), 208 B(TestEqualStrict), R(3),
215 B(JumpIfTrue), U8(123), 209 B(JumpIfTrue), U8(116),
216 B(LdaUndefined), 210 B(LdaUndefined),
217 B(TestEqualStrict), R(1), 211 B(TestEqualStrict), R(1),
218 B(JumpIfTrue), U8(118), 212 B(JumpIfTrue), U8(111),
219 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5), 213 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
220 B(LdaNull), 214 B(LdaNull),
221 B(TestEqual), R(5), 215 B(TestEqual), R(5),
222 B(JumpIfFalse), U8(4), 216 B(JumpIfFalse), U8(4),
223 B(Jump), U8(106), 217 B(Jump), U8(99),
224 B(LdaSmi), U8(1), 218 B(LdaSmi), U8(1),
225 B(TestEqualStrict), R(3), 219 B(TestEqualStrict), R(3),
226 B(JumpIfFalse), U8(75), 220 B(JumpIfFalse), U8(68),
227 B(Ldar), R(5), 221 B(Ldar), R(5),
228 B(TypeOf), 222 B(TypeOf),
229 B(Star), R(13), 223 B(Star), R(13),
230 B(LdaConstant), U8(7), 224 B(LdaConstant), U8(7),
231 B(TestEqualStrict), R(13), 225 B(TestEqualStrict), R(13),
232 B(JumpIfFalse), U8(4), 226 B(JumpIfFalse), U8(4),
233 B(Jump), U8(18), 227 B(Jump), U8(18),
234 B(Wide), B(LdaSmi), U16(129), 228 B(Wide), B(LdaSmi), U16(129),
235 B(Star), R(13), 229 B(Star), R(13),
236 B(LdaConstant), U8(8), 230 B(LdaConstant), U8(8),
237 B(Star), R(14), 231 B(Star), R(14),
238 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2), 232 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
239 B(Throw), 233 B(Throw),
240 B(Mov), R(context), R(13), 234 B(Mov), R(context), R(13),
241 B(Mov), R(5), R(14), 235 B(Mov), R(5), R(14),
242 B(Mov), R(1), R(15), 236 B(Mov), R(1), R(15),
243 B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2), 237 B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2),
244 B(Jump), U8(29), 238 B(Jump), U8(22),
245 B(Star), R(15),
246 B(LdaConstant), U8(5),
247 B(Star), R(14), 239 B(Star), R(14),
248 B(Mov), R(closure), R(16), 240 B(Ldar), R(closure),
249 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 241 B(CreateCatchContext), R(14), U8(5),
250 B(Star), R(13), 242 B(Star), R(13),
251 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 243 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
252 B(Ldar), R(13), 244 B(Ldar), R(13),
253 B(PushContext), R(9), 245 B(PushContext), R(9),
254 B(PopContext), R(9), 246 B(PopContext), R(9),
255 B(Jump), U8(27), 247 B(Jump), U8(27),
256 B(Mov), R(5), R(13), 248 B(Mov), R(5), R(13),
257 B(Mov), R(1), R(14), 249 B(Mov), R(1), R(14),
258 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 250 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
259 B(Star), R(6), 251 B(Star), R(6),
(...skipping 21 matching lines...) Expand all
281 InstanceType::SYMBOL_TYPE, 273 InstanceType::SYMBOL_TYPE,
282 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 274 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
283 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 275 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
284 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 276 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
285 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 277 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
286 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 278 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
287 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 279 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
288 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 280 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
289 ] 281 ]
290 handlers: [ 282 handlers: [
291 [11, 124, 130], 283 [11, 117, 123],
292 [14, 83, 85], 284 [14, 83, 85],
293 [203, 213, 215], 285 [196, 206, 208],
294 ] 286 ]
295 287
296 --- 288 ---
297 snippet: " 289 snippet: "
298 for (var x of [10, 20, 30]) { 290 for (var x of [10, 20, 30]) {
299 if (x == 10) continue; 291 if (x == 10) continue;
300 if (x == 20) break; 292 if (x == 20) break;
301 } 293 }
302 " 294 "
303 frame size: 16 295 frame size: 15
304 parameter count: 1 296 parameter count: 1
305 bytecode array length: 298 297 bytecode array length: 284
306 bytecodes: [ 298 bytecodes: [
307 /* 30 E> */ B(StackCheck), 299 /* 30 E> */ B(StackCheck),
308 B(LdaZero), 300 B(LdaZero),
309 B(Star), R(3), 301 B(Star), R(3),
310 B(Mov), R(context), R(11), 302 B(Mov), R(context), R(11),
311 B(Mov), R(context), R(12), 303 B(Mov), R(context), R(12),
312 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 304 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
313 B(Star), R(14), 305 B(Star), R(14),
314 B(LdaConstant), U8(1), 306 B(LdaConstant), U8(1),
315 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13), 307 /* 48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13),
(...skipping 18 matching lines...) Expand all
334 /* 72 E> */ B(TestEqual), R(7), 326 /* 72 E> */ B(TestEqual), R(7),
335 B(JumpIfFalse), U8(4), 327 B(JumpIfFalse), U8(4),
336 /* 79 S> */ B(Jump), U8(13), 328 /* 79 S> */ B(Jump), U8(13),
337 /* 91 S> */ B(LdaSmi), U8(20), 329 /* 91 S> */ B(LdaSmi), U8(20),
338 /* 97 E> */ B(TestEqual), R(7), 330 /* 97 E> */ B(TestEqual), R(7),
339 B(JumpIfFalse), U8(4), 331 B(JumpIfFalse), U8(4),
340 /* 104 S> */ B(Jump), U8(7), 332 /* 104 S> */ B(Jump), U8(7),
341 B(LdaZero), 333 B(LdaZero),
342 B(Star), R(3), 334 B(Star), R(3),
343 B(Jump), U8(-65), 335 B(Jump), U8(-65),
344 B(Jump), U8(41), 336 B(Jump), U8(34),
345 B(Star), R(14),
346 B(LdaConstant), U8(5),
347 B(Star), R(13), 337 B(Star), R(13),
348 B(Mov), R(closure), R(15), 338 B(Ldar), R(closure),
349 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 339 B(CreateCatchContext), R(13), U8(5),
350 B(Star), R(12), 340 B(Star), R(12),
351 B(PushContext), R(8), 341 B(PushContext), R(8),
352 B(LdaSmi), U8(2), 342 B(LdaSmi), U8(2),
353 B(TestEqualStrict), R(3), 343 B(TestEqualStrict), R(3),
354 B(JumpIfFalse), U8(6), 344 B(JumpIfFalse), U8(6),
355 B(LdaSmi), U8(1), 345 B(LdaSmi), U8(1),
356 B(Star), R(3), 346 B(Star), R(3),
357 B(LdrContextSlot), R(context), U8(4), R(13), 347 B(LdrContextSlot), R(context), U8(4), R(13),
358 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 348 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
359 B(PopContext), R(8), 349 B(PopContext), R(8),
360 B(LdaSmi), U8(-1), 350 B(LdaSmi), U8(-1),
361 B(Star), R(9), 351 B(Star), R(9),
362 B(Jump), U8(7), 352 B(Jump), U8(7),
363 B(Star), R(10), 353 B(Star), R(10),
364 B(LdaZero), 354 B(LdaZero),
365 B(Star), R(9), 355 B(Star), R(9),
366 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 356 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
367 B(Star), R(11), 357 B(Star), R(11),
368 B(LdaZero), 358 B(LdaZero),
369 B(TestEqualStrict), R(3), 359 B(TestEqualStrict), R(3),
370 B(JumpIfTrue), U8(123), 360 B(JumpIfTrue), U8(116),
371 B(LdaUndefined), 361 B(LdaUndefined),
372 B(TestEqualStrict), R(1), 362 B(TestEqualStrict), R(1),
373 B(JumpIfTrue), U8(118), 363 B(JumpIfTrue), U8(111),
374 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5), 364 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
375 B(LdaNull), 365 B(LdaNull),
376 B(TestEqual), R(5), 366 B(TestEqual), R(5),
377 B(JumpIfFalse), U8(4), 367 B(JumpIfFalse), U8(4),
378 B(Jump), U8(106), 368 B(Jump), U8(99),
379 B(LdaSmi), U8(1), 369 B(LdaSmi), U8(1),
380 B(TestEqualStrict), R(3), 370 B(TestEqualStrict), R(3),
381 B(JumpIfFalse), U8(75), 371 B(JumpIfFalse), U8(68),
382 B(Ldar), R(5), 372 B(Ldar), R(5),
383 B(TypeOf), 373 B(TypeOf),
384 B(Star), R(12), 374 B(Star), R(12),
385 B(LdaConstant), U8(7), 375 B(LdaConstant), U8(7),
386 B(TestEqualStrict), R(12), 376 B(TestEqualStrict), R(12),
387 B(JumpIfFalse), U8(4), 377 B(JumpIfFalse), U8(4),
388 B(Jump), U8(18), 378 B(Jump), U8(18),
389 B(Wide), B(LdaSmi), U16(129), 379 B(Wide), B(LdaSmi), U16(129),
390 B(Star), R(12), 380 B(Star), R(12),
391 B(LdaConstant), U8(8), 381 B(LdaConstant), U8(8),
392 B(Star), R(13), 382 B(Star), R(13),
393 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 383 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
394 B(Throw), 384 B(Throw),
395 B(Mov), R(context), R(12), 385 B(Mov), R(context), R(12),
396 B(Mov), R(5), R(13), 386 B(Mov), R(5), R(13),
397 B(Mov), R(1), R(14), 387 B(Mov), R(1), R(14),
398 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), 388 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
399 B(Jump), U8(29), 389 B(Jump), U8(22),
400 B(Star), R(14),
401 B(LdaConstant), U8(5),
402 B(Star), R(13), 390 B(Star), R(13),
403 B(Mov), R(closure), R(15), 391 B(Ldar), R(closure),
404 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 392 B(CreateCatchContext), R(13), U8(5),
405 B(Star), R(12), 393 B(Star), R(12),
406 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 394 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
407 B(Ldar), R(12), 395 B(Ldar), R(12),
408 B(PushContext), R(8), 396 B(PushContext), R(8),
409 B(PopContext), R(8), 397 B(PopContext), R(8),
410 B(Jump), U8(27), 398 B(Jump), U8(27),
411 B(Mov), R(5), R(12), 399 B(Mov), R(5), R(12),
412 B(Mov), R(1), R(13), 400 B(Mov), R(1), R(13),
413 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 401 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
414 B(Star), R(6), 402 B(Star), R(6),
(...skipping 16 matching lines...) Expand all
431 InstanceType::SYMBOL_TYPE, 419 InstanceType::SYMBOL_TYPE,
432 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 420 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
433 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 421 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
434 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 422 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
435 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 423 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
436 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 424 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
437 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 425 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
438 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 426 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
439 ] 427 ]
440 handlers: [ 428 handlers: [
441 [7, 137, 143], 429 [7, 130, 136],
442 [10, 96, 98], 430 [10, 96, 98],
443 [215, 225, 227], 431 [208, 218, 220],
444 ] 432 ]
445 433
446 --- 434 ---
447 snippet: " 435 snippet: "
448 var x = { 'a': 1, 'b': 2 }; 436 var x = { 'a': 1, 'b': 2 };
449 for (x['a'] of [1,2,3]) { return x['a']; } 437 for (x['a'] of [1,2,3]) { return x['a']; }
450 " 438 "
451 frame size: 15 439 frame size: 14
452 parameter count: 1 440 parameter count: 1
453 bytecode array length: 308 441 bytecode array length: 294
454 bytecodes: [ 442 bytecodes: [
455 /* 30 E> */ B(StackCheck), 443 /* 30 E> */ B(StackCheck),
456 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8), 444 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), R(8),
457 B(Mov), R(8), R(6), 445 B(Mov), R(8), R(6),
458 B(LdaZero), 446 B(LdaZero),
459 B(Star), R(2), 447 B(Star), R(2),
460 B(Mov), R(context), R(10), 448 B(Mov), R(context), R(10),
461 B(Mov), R(context), R(11), 449 B(Mov), R(context), R(11),
462 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 450 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
463 B(Star), R(13), 451 B(Star), R(13),
(...skipping 13 matching lines...) Expand all
477 /* 67 E> */ B(LdrNamedProperty), R(1), U8(5), U8(11), R(3), 465 /* 67 E> */ B(LdrNamedProperty), R(1), U8(5), U8(11), R(3),
478 B(LdaSmi), U8(2), 466 B(LdaSmi), U8(2),
479 B(Star), R(2), 467 B(Star), R(2),
480 B(Ldar), R(3), 468 B(Ldar), R(3),
481 B(StaNamedPropertySloppy), R(6), U8(6), U8(13), 469 B(StaNamedPropertySloppy), R(6), U8(6), U8(13),
482 /* 62 E> */ B(StackCheck), 470 /* 62 E> */ B(StackCheck),
483 /* 88 S> */ B(Nop), 471 /* 88 S> */ B(Nop),
484 /* 96 E> */ B(LdrNamedProperty), R(6), U8(6), U8(15), R(9), 472 /* 96 E> */ B(LdrNamedProperty), R(6), U8(6), U8(15), R(9),
485 B(LdaZero), 473 B(LdaZero),
486 B(Star), R(8), 474 B(Star), R(8),
487 B(Jump), U8(57), 475 B(Jump), U8(50),
488 B(Jump), U8(-57), 476 B(Jump), U8(-57),
489 B(Jump), U8(41), 477 B(Jump), U8(34),
490 B(Star), R(13),
491 B(LdaConstant), U8(7),
492 B(Star), R(12), 478 B(Star), R(12),
493 B(Mov), R(closure), R(14), 479 B(Ldar), R(closure),
494 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 480 B(CreateCatchContext), R(12), U8(7),
495 B(Star), R(11), 481 B(Star), R(11),
496 B(PushContext), R(7), 482 B(PushContext), R(7),
497 B(LdaSmi), U8(2), 483 B(LdaSmi), U8(2),
498 B(TestEqualStrict), R(2), 484 B(TestEqualStrict), R(2),
499 B(JumpIfFalse), U8(6), 485 B(JumpIfFalse), U8(6),
500 B(LdaSmi), U8(1), 486 B(LdaSmi), U8(1),
501 B(Star), R(2), 487 B(Star), R(2),
502 B(LdrContextSlot), R(context), U8(4), R(12), 488 B(LdrContextSlot), R(context), U8(4), R(12),
503 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 489 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
504 B(PopContext), R(7), 490 B(PopContext), R(7),
505 B(LdaSmi), U8(-1), 491 B(LdaSmi), U8(-1),
506 B(Star), R(8), 492 B(Star), R(8),
507 B(Jump), U8(8), 493 B(Jump), U8(8),
508 B(Star), R(9), 494 B(Star), R(9),
509 B(LdaSmi), U8(1), 495 B(LdaSmi), U8(1),
510 B(Star), R(8), 496 B(Star), R(8),
511 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 497 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
512 B(Star), R(10), 498 B(Star), R(10),
513 B(LdaZero), 499 B(LdaZero),
514 B(TestEqualStrict), R(2), 500 B(TestEqualStrict), R(2),
515 B(JumpIfTrue), U8(123), 501 B(JumpIfTrue), U8(116),
516 B(LdaUndefined), 502 B(LdaUndefined),
517 B(TestEqualStrict), R(0), 503 B(TestEqualStrict), R(0),
518 B(JumpIfTrue), U8(118), 504 B(JumpIfTrue), U8(111),
519 B(LdrNamedProperty), R(0), U8(8), U8(17), R(4), 505 B(LdrNamedProperty), R(0), U8(8), U8(17), R(4),
520 B(LdaNull), 506 B(LdaNull),
521 B(TestEqual), R(4), 507 B(TestEqual), R(4),
522 B(JumpIfFalse), U8(4), 508 B(JumpIfFalse), U8(4),
523 B(Jump), U8(106), 509 B(Jump), U8(99),
524 B(LdaSmi), U8(1), 510 B(LdaSmi), U8(1),
525 B(TestEqualStrict), R(2), 511 B(TestEqualStrict), R(2),
526 B(JumpIfFalse), U8(75), 512 B(JumpIfFalse), U8(68),
527 B(Ldar), R(4), 513 B(Ldar), R(4),
528 B(TypeOf), 514 B(TypeOf),
529 B(Star), R(11), 515 B(Star), R(11),
530 B(LdaConstant), U8(9), 516 B(LdaConstant), U8(9),
531 B(TestEqualStrict), R(11), 517 B(TestEqualStrict), R(11),
532 B(JumpIfFalse), U8(4), 518 B(JumpIfFalse), U8(4),
533 B(Jump), U8(18), 519 B(Jump), U8(18),
534 B(Wide), B(LdaSmi), U16(129), 520 B(Wide), B(LdaSmi), U16(129),
535 B(Star), R(11), 521 B(Star), R(11),
536 B(LdaConstant), U8(10), 522 B(LdaConstant), U8(10),
537 B(Star), R(12), 523 B(Star), R(12),
538 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), 524 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
539 B(Throw), 525 B(Throw),
540 B(Mov), R(context), R(11), 526 B(Mov), R(context), R(11),
541 B(Mov), R(4), R(12), 527 B(Mov), R(4), R(12),
542 B(Mov), R(0), R(13), 528 B(Mov), R(0), R(13),
543 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), 529 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
544 B(Jump), U8(29), 530 B(Jump), U8(22),
545 B(Star), R(13),
546 B(LdaConstant), U8(7),
547 B(Star), R(12), 531 B(Star), R(12),
548 B(Mov), R(closure), R(14), 532 B(Ldar), R(closure),
549 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 533 B(CreateCatchContext), R(12), U8(7),
550 B(Star), R(11), 534 B(Star), R(11),
551 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 535 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
552 B(Ldar), R(11), 536 B(Ldar), R(11),
553 B(PushContext), R(7), 537 B(PushContext), R(7),
554 B(PopContext), R(7), 538 B(PopContext), R(7),
555 B(Jump), U8(27), 539 B(Jump), U8(27),
556 B(Mov), R(4), R(11), 540 B(Mov), R(4), R(11),
557 B(Mov), R(0), R(12), 541 B(Mov), R(0), R(12),
558 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), 542 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
559 B(Star), R(5), 543 B(Star), R(5),
(...skipping 23 matching lines...) Expand all
583 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 567 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
584 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 568 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
585 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 569 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
586 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 570 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
587 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 571 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
588 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 572 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
589 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 573 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
590 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 574 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
591 ] 575 ]
592 handlers: [ 576 handlers: [
593 [15, 137, 143], 577 [15, 130, 136],
594 [18, 96, 98], 578 [18, 96, 98],
595 [216, 226, 228], 579 [209, 219, 221],
596 ] 580 ]
597 581
OLDNEW
« no previous file with comments | « src/interpreter/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