blob: 8bc9d2a33620858d809b8edd0ca30e946d6d6ec3 [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001#
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: [
Ben Murdochc5610432016-08-08 18:44:38 +010018 /* 30 E> */ B(StackCheck),
19 B(LdaUndefined),
20 /* 57 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010021]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +010035 /* 30 E> */ B(StackCheck),
36 B(LdaUndefined),
37 /* 62 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010038]
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: [
Ben Murdochc5610432016-08-08 18:44:38 +010052 /* 30 E> */ B(StackCheck),
53 B(LdaUndefined),
54 /* 62 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010055]
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
Ben Murdoch61f157c2016-09-16 13:49:30 +010068bytecode array length: 44
Ben Murdochda12d292016-06-02 14:46:10 +010069bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010070 /* 30 E> */ B(StackCheck),
71 /* 42 S> */ B(LdaConstant), U8(0),
Ben Murdoch61f157c2016-09-16 13:49:30 +010072 B(Star), R(1),
73 /* 68 S> */ B(JumpIfUndefined), U8(37),
74 B(JumpIfNull), U8(35),
Ben Murdochc5610432016-08-08 18:44:38 +010075 B(ToObject),
Ben Murdochc5610432016-08-08 18:44:38 +010076 B(ForInPrepare), R(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +010077 B(Star), R(3),
Ben Murdochc5610432016-08-08 18:44:38 +010078 B(LdaZero),
79 B(Star), R(7),
80 /* 63 S> */ B(ForInDone), R(7), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +010081 B(JumpIfTrue), U8(22),
Ben Murdochc5610432016-08-08 18:44:38 +010082 B(ForInNext), R(3), R(7), R(4), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +010083 B(JumpIfUndefined), U8(9),
Ben Murdochc5610432016-08-08 18:44:38 +010084 B(Star), R(0),
85 /* 54 E> */ B(StackCheck),
Ben Murdochc5610432016-08-08 18:44:38 +010086 B(Star), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +010087 /* 73 S> */ B(Nop),
Ben Murdochc5610432016-08-08 18:44:38 +010088 /* 85 S> */ B(Return),
89 B(ForInStep), R(7),
90 B(Star), R(7),
Ben Murdoch61f157c2016-09-16 13:49:30 +010091 B(Jump), U8(-23),
Ben Murdochc5610432016-08-08 18:44:38 +010092 B(LdaUndefined),
93 /* 85 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010094]
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
Ben Murdoch61f157c2016-09-16 13:49:30 +0100108bytecode array length: 54
Ben Murdochda12d292016-06-02 14:46:10 +0100109bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100110 /* 30 E> */ B(StackCheck),
111 /* 42 S> */ B(LdaZero),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100112 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100113 /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100114 B(JumpIfUndefined), U8(44),
115 B(JumpIfNull), U8(42),
Ben Murdochc5610432016-08-08 18:44:38 +0100116 B(ToObject),
Ben Murdochc5610432016-08-08 18:44:38 +0100117 B(ForInPrepare), R(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100118 B(Star), R(3),
Ben Murdochc5610432016-08-08 18:44:38 +0100119 B(LdaZero),
120 B(Star), R(7),
121 /* 54 S> */ B(ForInDone), R(7), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100122 B(JumpIfTrue), U8(29),
Ben Murdochc5610432016-08-08 18:44:38 +0100123 B(ForInNext), R(3), R(7), R(4), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100124 B(JumpIfUndefined), U8(16),
Ben Murdochc5610432016-08-08 18:44:38 +0100125 B(Star), R(0),
126 /* 45 E> */ B(StackCheck),
Ben Murdochc5610432016-08-08 18:44:38 +0100127 B(Star), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100128 /* 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),
Ben Murdochc5610432016-08-08 18:44:38 +0100133 B(Star), R(7),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100134 B(Jump), U8(-30),
Ben Murdochc5610432016-08-08 18:44:38 +0100135 B(LdaUndefined),
136 /* 80 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100137]
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
Ben Murdoch61f157c2016-09-16 13:49:30 +0100154bytecode array length: 80
Ben Murdochda12d292016-06-02 14:46:10 +0100155bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100156 /* 30 E> */ B(StackCheck),
157 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
158 B(Star), R(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100159 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100160 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100161 B(JumpIfUndefined), U8(65),
162 B(JumpIfNull), U8(63),
Ben Murdochc5610432016-08-08 18:44:38 +0100163 B(ToObject),
Ben Murdochc5610432016-08-08 18:44:38 +0100164 B(ForInPrepare), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100165 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100166 B(LdaZero),
167 B(Star), R(5),
168 /* 68 S> */ B(ForInDone), R(5), R(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100169 B(JumpIfTrue), U8(50),
Ben Murdochc5610432016-08-08 18:44:38 +0100170 B(ForInNext), R(1), R(5), R(2), U8(9),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100171 B(JumpIfUndefined), U8(37),
Ben Murdochc5610432016-08-08 18:44:38 +0100172 B(Star), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100173 /* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(7),
Ben Murdochc5610432016-08-08 18:44:38 +0100174 /* 62 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100175 /* 95 S> */ B(Nop),
176 /* 100 E> */ B(LdrNamedProperty), R(0), U8(2), U8(3), R(7),
Ben Murdochc5610432016-08-08 18:44:38 +0100177 B(LdaSmi), U8(10),
178 /* 106 E> */ B(TestEqual), R(7),
179 B(JumpIfFalse), U8(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100180 /* 113 S> */ B(Jump), U8(16),
181 /* 125 S> */ B(Nop),
182 /* 130 E> */ B(LdrNamedProperty), R(0), U8(2), U8(5), R(7),
Ben Murdochc5610432016-08-08 18:44:38 +0100183 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),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100189 B(Jump), U8(-51),
Ben Murdochc5610432016-08-08 18:44:38 +0100190 B(LdaUndefined),
191 /* 152 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100192]
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
Ben Murdoch61f157c2016-09-16 13:49:30 +0100208bytecode array length: 61
Ben Murdochda12d292016-06-02 14:46:10 +0100209bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100210 /* 30 E> */ B(StackCheck),
211 /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100212 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100213 /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100214 B(JumpIfUndefined), U8(48),
215 B(JumpIfNull), U8(46),
Ben Murdochc5610432016-08-08 18:44:38 +0100216 B(ToObject),
Ben Murdochc5610432016-08-08 18:44:38 +0100217 B(ForInPrepare), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100218 B(Star), R(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100219 B(LdaZero),
220 B(Star), R(5),
221 /* 65 S> */ B(ForInDone), R(5), R(4),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100222 B(JumpIfTrue), U8(33),
Ben Murdochc5610432016-08-08 18:44:38 +0100223 B(ForInNext), R(1), R(5), R(2), U8(7),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100224 B(JumpIfUndefined), U8(20),
Ben Murdochc5610432016-08-08 18:44:38 +0100225 B(Star), R(6),
Ben Murdochc5610432016-08-08 18:44:38 +0100226 B(LdaZero),
227 B(Star), R(8),
228 B(Ldar), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100229 /* 64 E> */ B(StaKeyedPropertySloppy), R(0), R(8), U8(5),
Ben Murdochc5610432016-08-08 18:44:38 +0100230 /* 59 E> */ B(StackCheck),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100231 /* 83 S> */ B(LdaSmi), U8(3),
232 /* 91 E> */ B(LdaKeyedProperty), R(0), U8(3),
Ben Murdochc5610432016-08-08 18:44:38 +0100233 /* 98 S> */ B(Return),
234 B(ForInStep), R(5),
235 B(Star), R(5),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100236 B(Jump), U8(-34),
Ben Murdochc5610432016-08-08 18:44:38 +0100237 B(LdaUndefined),
238 /* 98 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100239]
240constant pool: [
241 InstanceType::FIXED_ARRAY_TYPE,
242 InstanceType::FIXED_ARRAY_TYPE,
243]
244handlers: [
245]
246