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