OLD | NEW |
(Empty) | |
| 1 # |
| 2 # Autogenerated by generate-bytecode-expectations |
| 3 # |
| 4 |
| 5 --- |
| 6 pool type: mixed |
| 7 execute: yes |
| 8 wrap: yes |
| 9 |
| 10 --- |
| 11 snippet: " |
| 12 for (var p of [0, 1, 2]) {} |
| 13 " |
| 14 frame size: 7 # in multiples of sizeof(void*) |
| 15 parameter count: 1 |
| 16 bytecodes: [ |
| 17 B(StackCheck), |
| 18 B(CreateArrayLiteral), U8(0), U8(0), U8(3), |
| 19 B(Star), R(5), |
| 20 B(LdaConstant), U8(1), |
| 21 B(KeyedLoadIC), R(5), U8(3), |
| 22 B(Star), R(4), |
| 23 B(Call), R(4), R(5), U8(1), U8(1), |
| 24 B(Star), R(1), |
| 25 B(Ldar), R(1), |
| 26 B(Star), R(6), |
| 27 B(LoadIC), R(6), U8(2), U8(7), |
| 28 B(Star), R(5), |
| 29 B(Call), R(5), R(6), U8(1), U8(5), |
| 30 B(Star), R(2), |
| 31 B(Star), R(4), |
| 32 B(CallRuntime), U16(1281), R(4), U8(1), |
| 33 B(LogicalNot), |
| 34 B(JumpIfFalse), U8(11), |
| 35 B(Ldar), R(2), |
| 36 B(Star), R(4), |
| 37 B(CallRuntime), U16(263), R(4), U8(1), |
| 38 B(Ldar), R(2), |
| 39 B(Star), R(4), |
| 40 B(LoadIC), R(4), U8(3), U8(9), |
| 41 B(JumpIfToBooleanTrue), U8(19), |
| 42 B(Ldar), R(2), |
| 43 B(Star), R(4), |
| 44 B(LoadIC), R(4), U8(4), U8(11), |
| 45 B(Star), R(0), |
| 46 B(StackCheck), |
| 47 B(Ldar), R(0), |
| 48 B(Star), R(3), |
| 49 B(Jump), U8(-61), |
| 50 B(LdaUndefined), |
| 51 B(Return), |
| 52 ] |
| 53 constant pool: [ |
| 54 InstanceType::FIXED_ARRAY_TYPE, |
| 55 InstanceType::SYMBOL_TYPE, |
| 56 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 57 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 58 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 59 ] |
| 60 handlers: [ |
| 61 ] |
| 62 |
| 63 --- |
| 64 snippet: " |
| 65 var x = 'potatoes'; |
| 66 for (var p of x) { return p; } |
| 67 " |
| 68 frame size: 8 # in multiples of sizeof(void*) |
| 69 parameter count: 1 |
| 70 bytecodes: [ |
| 71 B(StackCheck), |
| 72 B(LdaConstant), U8(0), |
| 73 B(Star), R(3), |
| 74 B(Star), R(6), |
| 75 B(LdaConstant), U8(1), |
| 76 B(KeyedLoadIC), R(6), U8(3), |
| 77 B(Star), R(5), |
| 78 B(Call), R(5), R(6), U8(1), U8(1), |
| 79 B(Star), R(1), |
| 80 B(Ldar), R(1), |
| 81 B(Star), R(7), |
| 82 B(LoadIC), R(7), U8(2), U8(7), |
| 83 B(Star), R(6), |
| 84 B(Call), R(6), R(7), U8(1), U8(5), |
| 85 B(Star), R(2), |
| 86 B(Star), R(5), |
| 87 B(CallRuntime), U16(1281), R(5), U8(1), |
| 88 B(LogicalNot), |
| 89 B(JumpIfFalse), U8(11), |
| 90 B(Ldar), R(2), |
| 91 B(Star), R(5), |
| 92 B(CallRuntime), U16(263), R(5), U8(1), |
| 93 B(Ldar), R(2), |
| 94 B(Star), R(5), |
| 95 B(LoadIC), R(5), U8(3), U8(9), |
| 96 B(JumpIfToBooleanTrue), U8(18), |
| 97 B(Ldar), R(2), |
| 98 B(Star), R(5), |
| 99 B(LoadIC), R(5), U8(4), U8(11), |
| 100 B(Star), R(0), |
| 101 B(StackCheck), |
| 102 B(Ldar), R(0), |
| 103 B(Star), R(4), |
| 104 B(Return), |
| 105 B(LdaUndefined), |
| 106 B(Return), |
| 107 ] |
| 108 constant pool: [ |
| 109 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 110 InstanceType::SYMBOL_TYPE, |
| 111 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 112 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 113 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 114 ] |
| 115 handlers: [ |
| 116 ] |
| 117 |
| 118 --- |
| 119 snippet: " |
| 120 for (var x of [10, 20, 30]) { |
| 121 if (x == 10) continue; |
| 122 if (x == 20) break; |
| 123 } |
| 124 " |
| 125 frame size: 7 # in multiples of sizeof(void*) |
| 126 parameter count: 1 |
| 127 bytecodes: [ |
| 128 B(StackCheck), |
| 129 B(CreateArrayLiteral), U8(0), U8(0), U8(3), |
| 130 B(Star), R(5), |
| 131 B(LdaConstant), U8(1), |
| 132 B(KeyedLoadIC), R(5), U8(3), |
| 133 B(Star), R(4), |
| 134 B(Call), R(4), R(5), U8(1), U8(1), |
| 135 B(Star), R(1), |
| 136 B(Ldar), R(1), |
| 137 B(Star), R(6), |
| 138 B(LoadIC), R(6), U8(2), U8(7), |
| 139 B(Star), R(5), |
| 140 B(Call), R(5), R(6), U8(1), U8(5), |
| 141 B(Star), R(2), |
| 142 B(Star), R(4), |
| 143 B(CallRuntime), U16(1281), R(4), U8(1), |
| 144 B(LogicalNot), |
| 145 B(JumpIfFalse), U8(11), |
| 146 B(Ldar), R(2), |
| 147 B(Star), R(4), |
| 148 B(CallRuntime), U16(263), R(4), U8(1), |
| 149 B(Ldar), R(2), |
| 150 B(Star), R(4), |
| 151 B(LoadIC), R(4), U8(3), U8(9), |
| 152 B(JumpIfToBooleanTrue), U8(41), |
| 153 B(Ldar), R(2), |
| 154 B(Star), R(4), |
| 155 B(LoadIC), R(4), U8(4), U8(11), |
| 156 B(Star), R(0), |
| 157 B(StackCheck), |
| 158 B(Ldar), R(0), |
| 159 B(Star), R(3), |
| 160 B(Star), R(4), |
| 161 B(LdaSmi8), U8(10), |
| 162 B(TestEqual), R(4), |
| 163 B(JumpIfFalse), U8(4), |
| 164 B(Jump), U8(-69), |
| 165 B(Ldar), R(3), |
| 166 B(Star), R(4), |
| 167 B(LdaSmi8), U8(20), |
| 168 B(TestEqual), R(4), |
| 169 B(JumpIfFalse), U8(4), |
| 170 B(Jump), U8(4), |
| 171 B(Jump), U8(-83), |
| 172 B(LdaUndefined), |
| 173 B(Return), |
| 174 ] |
| 175 constant pool: [ |
| 176 InstanceType::FIXED_ARRAY_TYPE, |
| 177 InstanceType::SYMBOL_TYPE, |
| 178 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 179 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 180 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 181 ] |
| 182 handlers: [ |
| 183 ] |
| 184 |
| 185 --- |
| 186 snippet: " |
| 187 var x = { 'a': 1, 'b': 2 }; |
| 188 for (x['a'] of [1,2,3]) { return x['a']; } |
| 189 " |
| 190 frame size: 6 # in multiples of sizeof(void*) |
| 191 parameter count: 1 |
| 192 bytecodes: [ |
| 193 B(StackCheck), |
| 194 B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
| 195 B(Star), R(3), |
| 196 B(Star), R(2), |
| 197 B(CreateArrayLiteral), U8(1), U8(1), U8(3), |
| 198 B(Star), R(4), |
| 199 B(LdaConstant), U8(2), |
| 200 B(KeyedLoadIC), R(4), U8(3), |
| 201 B(Star), R(3), |
| 202 B(Call), R(3), R(4), U8(1), U8(1), |
| 203 B(Star), R(0), |
| 204 B(Ldar), R(0), |
| 205 B(Star), R(5), |
| 206 B(LoadIC), R(5), U8(3), U8(7), |
| 207 B(Star), R(4), |
| 208 B(Call), R(4), R(5), U8(1), U8(5), |
| 209 B(Star), R(1), |
| 210 B(Star), R(3), |
| 211 B(CallRuntime), U16(1281), R(3), U8(1), |
| 212 B(LogicalNot), |
| 213 B(JumpIfFalse), U8(11), |
| 214 B(Ldar), R(1), |
| 215 B(Star), R(3), |
| 216 B(CallRuntime), U16(263), R(3), U8(1), |
| 217 B(Ldar), R(1), |
| 218 B(Star), R(3), |
| 219 B(LoadIC), R(3), U8(4), U8(9), |
| 220 B(JumpIfToBooleanTrue), U8(28), |
| 221 B(Ldar), R(2), |
| 222 B(Star), R(3), |
| 223 B(Ldar), R(1), |
| 224 B(Star), R(4), |
| 225 B(LoadIC), R(4), U8(5), U8(11), |
| 226 B(StoreICSloppy), R(3), U8(6), U8(13), |
| 227 B(StackCheck), |
| 228 B(Ldar), R(2), |
| 229 B(Star), R(3), |
| 230 B(LoadIC), R(3), U8(6), U8(15), |
| 231 B(Return), |
| 232 B(LdaUndefined), |
| 233 B(Return), |
| 234 ] |
| 235 constant pool: [ |
| 236 InstanceType::FIXED_ARRAY_TYPE, |
| 237 InstanceType::FIXED_ARRAY_TYPE, |
| 238 InstanceType::SYMBOL_TYPE, |
| 239 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 240 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 241 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 242 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 243 ] |
| 244 handlers: [ |
| 245 ] |
| 246 |
OLD | NEW |