| 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 --- |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 handlers: [ | 58 handlers: [ |
| 59 ] | 59 ] |
| 60 | 60 |
| 61 --- | 61 --- |
| 62 snippet: " | 62 snippet: " |
| 63 var x = 'potatoes'; | 63 var x = 'potatoes'; |
| 64 for (var p in x) { return p; } | 64 for (var p in x) { return p; } |
| 65 " | 65 " |
| 66 frame size: 8 | 66 frame size: 8 |
| 67 parameter count: 1 | 67 parameter count: 1 |
| 68 bytecode array length: 46 | 68 bytecode array length: 44 |
| 69 bytecodes: [ | 69 bytecodes: [ |
| 70 /* 30 E> */ B(StackCheck), | 70 /* 30 E> */ B(StackCheck), |
| 71 /* 42 S> */ B(LdaConstant), U8(0), | 71 /* 42 S> */ B(LdaConstant), U8(0), |
| 72 B(Star), R(1), | 72 B(Star), R(1), |
| 73 /* 68 S> */ B(JumpIfUndefined), U8(39), | 73 /* 68 S> */ B(JumpIfUndefined), U8(37), |
| 74 B(JumpIfNull), U8(37), | 74 B(JumpIfNull), U8(35), |
| 75 B(ToObject), | 75 B(ToObject), |
| 76 B(ForInPrepare), R(4), |
| 76 B(Star), R(3), | 77 B(Star), R(3), |
| 77 B(ForInPrepare), R(4), | |
| 78 B(LdaZero), | 78 B(LdaZero), |
| 79 B(Star), R(7), | 79 B(Star), R(7), |
| 80 /* 63 S> */ B(ForInDone), R(7), R(6), | 80 /* 63 S> */ B(ForInDone), R(7), R(6), |
| 81 B(JumpIfTrue), U8(24), | 81 B(JumpIfTrue), U8(22), |
| 82 B(ForInNext), R(3), R(7), R(4), U8(1), | 82 B(ForInNext), R(3), R(7), R(4), U8(1), |
| 83 B(JumpIfUndefined), U8(11), | 83 B(JumpIfUndefined), U8(9), |
| 84 B(Star), R(0), | 84 B(Star), R(0), |
| 85 /* 54 E> */ B(StackCheck), | 85 /* 54 E> */ B(StackCheck), |
| 86 B(Ldar), R(0), | |
| 87 B(Star), R(2), | 86 B(Star), R(2), |
| 88 /* 73 S> */ B(Nop), | 87 /* 73 S> */ B(Nop), |
| 89 /* 85 S> */ B(Return), | 88 /* 85 S> */ B(Return), |
| 90 B(ForInStep), R(7), | 89 B(ForInStep), R(7), |
| 91 B(Star), R(7), | 90 B(Star), R(7), |
| 92 B(Jump), U8(-25), | 91 B(Jump), U8(-23), |
| 93 B(LdaUndefined), | 92 B(LdaUndefined), |
| 94 /* 85 S> */ B(Return), | 93 /* 85 S> */ B(Return), |
| 95 ] | 94 ] |
| 96 constant pool: [ | 95 constant pool: [ |
| 97 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 96 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 98 ] | 97 ] |
| 99 handlers: [ | 98 handlers: [ |
| 100 ] | 99 ] |
| 101 | 100 |
| 102 --- | 101 --- |
| 103 snippet: " | 102 snippet: " |
| 104 var x = 0; | 103 var x = 0; |
| 105 for (var p in [1,2,3]) { x += p; } | 104 for (var p in [1,2,3]) { x += p; } |
| 106 " | 105 " |
| 107 frame size: 9 | 106 frame size: 9 |
| 108 parameter count: 1 | 107 parameter count: 1 |
| 109 bytecode array length: 57 | 108 bytecode array length: 55 |
| 110 bytecodes: [ | 109 bytecodes: [ |
| 111 /* 30 E> */ B(StackCheck), | 110 /* 30 E> */ B(StackCheck), |
| 112 /* 42 S> */ B(LdaZero), | 111 /* 42 S> */ B(LdaZero), |
| 113 B(Star), R(1), | 112 B(Star), R(1), |
| 114 /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), | 113 /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), |
| 115 B(JumpIfUndefined), U8(47), | 114 B(JumpIfUndefined), U8(45), |
| 116 B(JumpIfNull), U8(45), | 115 B(JumpIfNull), U8(43), |
| 117 B(ToObject), | 116 B(ToObject), |
| 117 B(ForInPrepare), R(4), |
| 118 B(Star), R(3), | 118 B(Star), R(3), |
| 119 B(ForInPrepare), R(4), | |
| 120 B(LdaZero), | 119 B(LdaZero), |
| 121 B(Star), R(7), | 120 B(Star), R(7), |
| 122 /* 54 S> */ B(ForInDone), R(7), R(6), | 121 /* 54 S> */ B(ForInDone), R(7), R(6), |
| 123 B(JumpIfTrue), U8(32), | 122 B(JumpIfTrue), U8(30), |
| 124 B(ForInNext), R(3), R(7), R(4), U8(1), | 123 B(ForInNext), R(3), R(7), R(4), U8(1), |
| 125 B(JumpIfUndefined), U8(19), | 124 B(JumpIfUndefined), U8(17), |
| 126 B(Star), R(0), | 125 B(Star), R(0), |
| 127 /* 45 E> */ B(StackCheck), | 126 /* 45 E> */ B(StackCheck), |
| 128 B(Ldar), R(0), | |
| 129 B(Star), R(2), | 127 B(Star), R(2), |
| 130 /* 70 S> */ B(Ldar), R(1), | 128 /* 70 S> */ B(Nop), |
| 131 B(Star), R(8), | 129 /* 75 E> */ B(Ldar), R(0), |
| 132 /* 75 E> */ B(Ldar), R(2), | 130 B(Add), R(1), |
| 133 B(Add), R(8), | 131 B(Mov), R(1), R(8), |
| 134 /* 72 E> */ B(Star), R(1), | 132 /* 72 E> */ B(Star), R(1), |
| 135 B(ForInStep), R(7), | 133 B(ForInStep), R(7), |
| 136 B(Star), R(7), | 134 B(Star), R(7), |
| 137 B(Jump), U8(-33), | 135 B(Jump), U8(-31), |
| 138 B(LdaUndefined), | 136 B(LdaUndefined), |
| 139 /* 80 S> */ B(Return), | 137 /* 80 S> */ B(Return), |
| 140 ] | 138 ] |
| 141 constant pool: [ | 139 constant pool: [ |
| 142 InstanceType::FIXED_ARRAY_TYPE, | 140 InstanceType::FIXED_ARRAY_TYPE, |
| 143 ] | 141 ] |
| 144 handlers: [ | 142 handlers: [ |
| 145 ] | 143 ] |
| 146 | 144 |
| 147 --- | 145 --- |
| 148 snippet: " | 146 snippet: " |
| 149 var x = { 'a': 1, 'b': 2 }; | 147 var x = { 'a': 1, 'b': 2 }; |
| 150 for (x['a'] in [10, 20, 30]) { | 148 for (x['a'] in [10, 20, 30]) { |
| 151 if (x['a'] == 10) continue; | 149 if (x['a'] == 10) continue; |
| 152 if (x['a'] == 20) break; | 150 if (x['a'] == 20) break; |
| 153 } | 151 } |
| 154 " | 152 " |
| 155 frame size: 8 | 153 frame size: 8 |
| 156 parameter count: 1 | 154 parameter count: 1 |
| 157 bytecode array length: 92 | 155 bytecode array length: 82 |
| 158 bytecodes: [ | 156 bytecodes: [ |
| 159 /* 30 E> */ B(StackCheck), | 157 /* 30 E> */ B(StackCheck), |
| 160 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), | 158 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), |
| 161 B(Star), R(1), | 159 B(Star), R(1), |
| 162 B(Star), R(0), | 160 B(Star), R(0), |
| 163 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), | 161 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), |
| 164 B(JumpIfUndefined), U8(77), | 162 B(JumpIfUndefined), U8(67), |
| 165 B(JumpIfNull), U8(75), | 163 B(JumpIfNull), U8(65), |
| 166 B(ToObject), | 164 B(ToObject), |
| 165 B(ForInPrepare), R(2), |
| 167 B(Star), R(1), | 166 B(Star), R(1), |
| 168 B(ForInPrepare), R(2), | |
| 169 B(LdaZero), | 167 B(LdaZero), |
| 170 B(Star), R(5), | 168 B(Star), R(5), |
| 171 /* 68 S> */ B(ForInDone), R(5), R(4), | 169 /* 68 S> */ B(ForInDone), R(5), R(4), |
| 172 B(JumpIfTrue), U8(62), | 170 B(JumpIfTrue), U8(52), |
| 173 B(ForInNext), R(1), R(5), R(2), U8(9), | 171 B(ForInNext), R(1), R(5), R(2), U8(9), |
| 174 B(JumpIfUndefined), U8(49), | 172 B(JumpIfUndefined), U8(39), |
| 175 B(Star), R(6), | 173 B(Star), R(6), |
| 176 /* 67 E> */ B(Ldar), R(0), | 174 /* 67 E> */ B(Ldar), R(6), |
| 177 B(Star), R(7), | 175 B(StaNamedPropertySloppy), R(0), U8(2), U8(7), |
| 178 B(Ldar), R(6), | |
| 179 B(StaNamedPropertySloppy), R(7), U8(2), U8(7), | |
| 180 /* 62 E> */ B(StackCheck), | 176 /* 62 E> */ B(StackCheck), |
| 181 /* 95 S> */ B(Ldar), R(0), | 177 /* 95 S> */ B(Nop), |
| 182 B(Star), R(6), | 178 /* 100 E> */ B(LdrNamedProperty), R(0), U8(2), U8(3), R(7), |
| 183 /* 100 E> */ B(LdrNamedProperty), R(6), U8(2), U8(3), R(7), | |
| 184 B(LdaSmi), U8(10), | 179 B(LdaSmi), U8(10), |
| 185 /* 106 E> */ B(TestEqual), R(7), | 180 /* 106 E> */ B(TestEqual), R(7), |
| 186 B(JumpIfFalse), U8(4), | 181 B(JumpIfFalse), U8(4), |
| 187 /* 113 S> */ B(Jump), U8(19), | 182 /* 113 S> */ B(Jump), U8(16), |
| 188 /* 125 S> */ B(Ldar), R(0), | 183 /* 125 S> */ B(Nop), |
| 189 B(Star), R(6), | 184 /* 130 E> */ B(LdrNamedProperty), R(0), U8(2), U8(5), R(7), |
| 190 /* 130 E> */ B(LdrNamedProperty), R(6), U8(2), U8(5), R(7), | |
| 191 B(LdaSmi), U8(20), | 185 B(LdaSmi), U8(20), |
| 192 /* 136 E> */ B(TestEqual), R(7), | 186 /* 136 E> */ B(TestEqual), R(7), |
| 193 B(JumpIfFalse), U8(4), | 187 B(JumpIfFalse), U8(4), |
| 194 /* 143 S> */ B(Jump), U8(8), | 188 /* 143 S> */ B(Jump), U8(8), |
| 195 B(ForInStep), R(5), | 189 B(ForInStep), R(5), |
| 196 B(Star), R(5), | 190 B(Star), R(5), |
| 197 B(Jump), U8(-63), | 191 B(Jump), U8(-53), |
| 198 B(LdaUndefined), | 192 B(LdaUndefined), |
| 199 /* 152 S> */ B(Return), | 193 /* 152 S> */ B(Return), |
| 200 ] | 194 ] |
| 201 constant pool: [ | 195 constant pool: [ |
| 202 InstanceType::FIXED_ARRAY_TYPE, | 196 InstanceType::FIXED_ARRAY_TYPE, |
| 203 InstanceType::FIXED_ARRAY_TYPE, | 197 InstanceType::FIXED_ARRAY_TYPE, |
| 204 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 198 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 205 ] | 199 ] |
| 206 handlers: [ | 200 handlers: [ |
| 207 ] | 201 ] |
| 208 | 202 |
| 209 --- | 203 --- |
| 210 snippet: " | 204 snippet: " |
| 211 var x = [ 10, 11, 12 ] ; | 205 var x = [ 10, 11, 12 ] ; |
| 212 for (x[0] in [1,2,3]) { return x[3]; } | 206 for (x[0] in [1,2,3]) { return x[3]; } |
| 213 " | 207 " |
| 214 frame size: 9 | 208 frame size: 9 |
| 215 parameter count: 1 | 209 parameter count: 1 |
| 216 bytecode array length: 69 | 210 bytecode array length: 62 |
| 217 bytecodes: [ | 211 bytecodes: [ |
| 218 /* 30 E> */ B(StackCheck), | 212 /* 30 E> */ B(StackCheck), |
| 219 /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), | 213 /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), |
| 220 B(Star), R(0), | 214 B(Star), R(0), |
| 221 /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), | 215 /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), |
| 222 B(JumpIfUndefined), U8(56), | 216 B(JumpIfUndefined), U8(49), |
| 223 B(JumpIfNull), U8(54), | 217 B(JumpIfNull), U8(47), |
| 224 B(ToObject), | 218 B(ToObject), |
| 219 B(ForInPrepare), R(2), |
| 225 B(Star), R(1), | 220 B(Star), R(1), |
| 226 B(ForInPrepare), R(2), | |
| 227 B(LdaZero), | 221 B(LdaZero), |
| 228 B(Star), R(5), | 222 B(Star), R(5), |
| 229 /* 65 S> */ B(ForInDone), R(5), R(4), | 223 /* 65 S> */ B(ForInDone), R(5), R(4), |
| 230 B(JumpIfTrue), U8(41), | 224 B(JumpIfTrue), U8(34), |
| 231 B(ForInNext), R(1), R(5), R(2), U8(7), | 225 B(ForInNext), R(1), R(5), R(2), U8(7), |
| 232 B(JumpIfUndefined), U8(28), | 226 B(JumpIfUndefined), U8(21), |
| 233 B(Star), R(6), | 227 B(Star), R(6), |
| 234 /* 64 E> */ B(Ldar), R(0), | 228 /* 64 E> */ B(LdaZero), |
| 235 B(Star), R(7), | |
| 236 B(LdaZero), | |
| 237 B(Star), R(8), | 229 B(Star), R(8), |
| 238 B(Ldar), R(6), | 230 B(Ldar), R(6), |
| 239 B(StaKeyedPropertySloppy), R(7), R(8), U8(5), | 231 B(StaKeyedPropertySloppy), R(0), R(8), U8(5), |
| 240 /* 59 E> */ B(StackCheck), | 232 /* 59 E> */ B(StackCheck), |
| 241 /* 83 S> */ B(Ldar), R(0), | 233 /* 83 S> */ B(Nop), |
| 242 B(Star), R(6), | |
| 243 /* 91 E> */ B(LdaSmi), U8(3), | 234 /* 91 E> */ B(LdaSmi), U8(3), |
| 244 B(LdaKeyedProperty), R(6), U8(3), | 235 B(LdaKeyedProperty), R(0), U8(3), |
| 245 /* 98 S> */ B(Return), | 236 /* 98 S> */ B(Return), |
| 246 B(ForInStep), R(5), | 237 B(ForInStep), R(5), |
| 247 B(Star), R(5), | 238 B(Star), R(5), |
| 248 B(Jump), U8(-42), | 239 B(Jump), U8(-35), |
| 249 B(LdaUndefined), | 240 B(LdaUndefined), |
| 250 /* 98 S> */ B(Return), | 241 /* 98 S> */ B(Return), |
| 251 ] | 242 ] |
| 252 constant pool: [ | 243 constant pool: [ |
| 253 InstanceType::FIXED_ARRAY_TYPE, | 244 InstanceType::FIXED_ARRAY_TYPE, |
| 254 InstanceType::FIXED_ARRAY_TYPE, | 245 InstanceType::FIXED_ARRAY_TYPE, |
| 255 ] | 246 ] |
| 256 handlers: [ | 247 handlers: [ |
| 257 ] | 248 ] |
| 258 | 249 |
| OLD | NEW |