• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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