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