Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/ForOf.golden

Issue 1997653002: [interpreter] Bytecode register optimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Grammar. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 ---
11 snippet: " 11 snippet: "
12 for (var p of [0, 1, 2]) {} 12 for (var p of [0, 1, 2]) {}
13 " 13 "
14 frame size: 16 14 frame size: 16
15 parameter count: 1 15 parameter count: 1
16 bytecode array length: 343 16 bytecode array length: 292
17 bytecodes: [ 17 bytecodes: [
18 /* 30 E> */ B(StackCheck), 18 /* 30 E> */ B(StackCheck),
19 B(LdrUndefined), R(4), 19 B(LdaUndefined),
20 B(Star), R(4),
20 B(LdaZero), 21 B(LdaZero),
21 B(Star), R(3), 22 B(Star), R(3),
22 B(Mov), R(context), R(11), 23 B(Mov), R(context), R(11),
23 B(Mov), R(context), R(12), 24 B(Mov), R(context), R(12),
24 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 25 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
25 B(Star), R(14), 26 B(Star), R(14),
26 /* 48 E> */ B(LdaConstant), U8(1), 27 /* 48 E> */ B(LdaConstant), U8(1),
27 B(LdrKeyedProperty), R(14), U8(3), R(13), 28 B(LdaKeyedProperty), R(14), U8(3),
29 B(Star), R(13),
28 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 30 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
29 /* 48 E> */ B(Star), R(1), 31 /* 48 E> */ B(Star), R(1),
30 /* 45 S> */ B(Ldar), R(1), 32 /* 45 S> */ B(LdaNamedProperty), R(1), U8(2), U8(7),
31 B(Star), R(15), 33 B(Star), R(14),
32 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14), 34 /* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
33 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
34 /* 45 E> */ B(Star), R(2), 35 /* 45 E> */ B(Star), R(2),
35 B(Star), R(13), 36 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
36 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
37 B(ToBooleanLogicalNot), 37 B(ToBooleanLogicalNot),
38 B(JumpIfFalse), U8(11), 38 B(JumpIfFalse), U8(7),
39 B(Ldar), R(2), 39 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
40 B(Star), R(13), 40 B(LdaNamedProperty), R(2), U8(3), U8(9),
41 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 41 B(JumpIfToBooleanTrue), U8(21),
42 B(Ldar), R(2),
43 B(Star), R(13),
44 B(LdaNamedProperty), R(13), U8(3), U8(9),
45 B(JumpIfToBooleanTrue), U8(27),
46 B(LdaSmi), U8(2), 42 B(LdaSmi), U8(2),
47 B(Star), R(3), 43 B(Star), R(3),
48 B(Ldar), R(2), 44 B(LdaNamedProperty), R(2), U8(4), U8(11),
49 B(Star), R(13), 45 B(Star), R(0),
50 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
51 B(Ldar), R(4),
52 /* 34 E> */ B(StackCheck), 46 /* 34 E> */ B(StackCheck),
53 B(Ldar), R(0), 47 B(Mov), R(0), R(7),
54 B(Star), R(7),
55 B(LdaZero), 48 B(LdaZero),
56 B(Star), R(3), 49 B(Star), R(3),
57 B(Jump), U8(-68), 50 B(Jump), U8(-49),
58 B(Jump), U8(46), 51 B(Jump), U8(42),
59 B(Star), R(14), 52 B(Star), R(14),
60 B(LdaConstant), U8(5), 53 B(LdaConstant), U8(5),
61 B(Star), R(13), 54 B(Star), R(13),
62 B(Ldar), R(closure), 55 B(Mov), R(closure), R(15),
63 B(Star), R(15),
64 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 56 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
65 B(Star), R(12), 57 B(Star), R(12),
66 B(PushContext), R(8), 58 B(PushContext), R(8),
67 B(Ldar), R(3),
68 B(Star), R(13),
69 B(LdaSmi), U8(2), 59 B(LdaSmi), U8(2),
70 B(TestEqualStrict), R(13), 60 B(TestEqualStrict), R(3),
71 B(JumpIfFalse), U8(6), 61 B(JumpIfFalse), U8(6),
72 B(LdaSmi), U8(1), 62 B(LdaSmi), U8(1),
73 B(Star), R(3), 63 B(Star), R(3),
74 B(LdrContextSlot), R(context), U8(4), R(13), 64 B(LdaContextSlot), R(context), U8(4),
65 B(Star), R(13),
75 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 66 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
76 B(PopContext), R(8), 67 B(PopContext), R(8),
77 B(LdaSmi), U8(-1), 68 B(LdaSmi), U8(-1),
78 B(Star), R(9), 69 B(Star), R(9),
79 B(Jump), U8(7), 70 B(Jump), U8(7),
80 B(Star), R(10), 71 B(Star), R(10),
81 B(LdaZero), 72 B(LdaZero),
82 B(Star), R(9), 73 B(Star), R(9),
83 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 74 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
84 B(Star), R(11), 75 B(Star), R(11),
85 B(Ldar), R(3),
86 B(Star), R(12),
87 B(LdaZero), 76 B(LdaZero),
88 B(TestEqualStrict), R(12), 77 B(TestEqualStrict), R(3),
89 B(JumpIfTrue), U8(9), 78 B(JumpIfTrue), U8(5),
90 B(Ldar), R(1),
91 B(Star), R(12),
92 B(LdaUndefined), 79 B(LdaUndefined),
93 B(TestEqualStrict), R(12), 80 B(TestEqualStrict), R(1),
94 B(ToBooleanLogicalNot), 81 B(ToBooleanLogicalNot),
95 B(JumpIfFalseConstant), U8(9), 82 B(JumpIfFalse), U8(122),
96 B(Ldar), R(1), 83 B(LdaNamedProperty), R(1), U8(6), U8(13),
97 B(Star), R(12), 84 B(Star), R(5),
98 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
99 B(Ldar), R(5),
100 B(Star), R(12),
101 B(LdaNull), 85 B(LdaNull),
102 B(TestEqual), R(12), 86 B(TestEqual), R(5),
103 B(JumpIfFalse), U8(4), 87 B(JumpIfFalse), U8(4),
104 B(Jump), U8(124), 88 B(Jump), U8(109),
105 B(Ldar), R(3),
106 B(Star), R(12),
107 B(LdaSmi), U8(1), 89 B(LdaSmi), U8(1),
108 B(TestEqualStrict), R(12), 90 B(TestEqualStrict), R(3),
109 B(JumpIfFalse), U8(79), 91 B(JumpIfFalse), U8(76),
110 B(Ldar), R(5), 92 B(Ldar), R(5),
111 B(TypeOf), 93 B(TypeOf),
112 B(Star), R(12), 94 B(Star), R(12),
113 B(LdaConstant), U8(7), 95 B(LdaConstant), U8(7),
114 B(TestEqualStrict), R(12), 96 B(TestEqualStrict), R(12),
115 B(JumpIfFalse), U8(4), 97 B(JumpIfFalse), U8(4),
116 B(Jump), U8(18), 98 B(Jump), U8(18),
117 B(Wide), B(LdaSmi), U16(129), 99 B(Wide), B(LdaSmi), U16(129),
118 B(Star), R(12), 100 B(Star), R(12),
119 B(LdaConstant), U8(8), 101 B(LdaConstant), U8(8),
120 B(Star), R(13), 102 B(Star), R(13),
121 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 103 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
122 B(Throw), 104 B(Throw),
123 B(Mov), R(context), R(12), 105 B(Mov), R(context), R(12),
124 B(Ldar), R(5), 106 B(Mov), R(5), R(13),
125 B(Star), R(13), 107 B(Mov), R(1), R(14),
126 B(Ldar), R(1),
127 B(Star), R(14),
128 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 108 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
129 B(Jump), U8(30), 109 B(Jump), U8(29),
130 B(Star), R(14), 110 B(Star), R(14),
131 B(LdaConstant), U8(5), 111 B(LdaConstant), U8(5),
132 B(Star), R(13), 112 B(Star), R(13),
133 B(Ldar), R(closure), 113 B(Mov), R(closure), R(15),
134 B(Star), R(15),
135 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 114 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
136 B(Star), R(12), 115 B(Star), R(12),
137 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 116 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
138 B(Ldar), R(12), 117 B(Ldar), R(12),
139 B(PushContext), R(8), 118 B(PushContext), R(8),
140 B(PopContext), R(8), 119 B(PopContext), R(8),
141 B(Jump), U8(37), 120 B(Jump), U8(29),
142 B(Ldar), R(5), 121 B(Mov), R(5), R(12),
143 B(Star), R(12), 122 B(Mov), R(1), R(13),
144 B(Ldar), R(1),
145 B(Star), R(13),
146 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 123 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
147 B(Star), R(6), 124 B(Star), R(6),
148 B(Star), R(12), 125 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
149 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
150 B(JumpIfToBooleanFalse), U8(4), 126 B(JumpIfToBooleanFalse), U8(4),
151 B(Jump), U8(11), 127 B(Jump), U8(7),
152 B(Ldar), R(6), 128 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
153 B(Star), R(12),
154 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1),
155 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 129 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1),
156 B(LdaZero), 130 B(LdaZero),
157 B(TestEqualStrict), R(9), 131 B(TestEqualStrict), R(9),
158 B(JumpIfTrue), U8(4), 132 B(JumpIfTrue), U8(4),
159 B(Jump), U8(5), 133 B(Jump), U8(5),
160 B(Ldar), R(10), 134 B(Ldar), R(10),
161 B(ReThrow), 135 B(ReThrow),
162 B(LdaUndefined), 136 B(LdaUndefined),
163 /* 62 S> */ B(Return), 137 /* 62 S> */ B(Return),
164 ] 138 ]
165 constant pool: [ 139 constant pool: [
166 InstanceType::FIXED_ARRAY_TYPE, 140 InstanceType::FIXED_ARRAY_TYPE,
167 InstanceType::SYMBOL_TYPE, 141 InstanceType::SYMBOL_TYPE,
168 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 142 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
169 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 143 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
170 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 144 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
171 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 145 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
172 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 146 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
173 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 147 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
174 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 148 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
175 kInstanceTypeDontCare,
176 ] 149 ]
177 handlers: [ 150 handlers: [
178 [9, 147, 153], 151 [10, 126, 132],
179 [12, 101, 103], 152 [13, 84, 86],
180 [246, 259, 261], 153 [206, 217, 219],
181 ] 154 ]
182 155
183 --- 156 ---
184 snippet: " 157 snippet: "
185 var x = 'potatoes'; 158 var x = 'potatoes';
186 for (var p of x) { return p; } 159 for (var p of x) { return p; }
187 " 160 "
188 frame size: 17 161 frame size: 17
189 parameter count: 1 162 parameter count: 1
190 bytecode array length: 359 163 bytecode array length: 306
191 bytecodes: [ 164 bytecodes: [
192 /* 30 E> */ B(StackCheck), 165 /* 30 E> */ B(StackCheck),
193 /* 42 S> */ B(LdaConstant), U8(0), 166 /* 42 S> */ B(LdaConstant), U8(0),
194 /* 42 E> */ B(Star), R(7), 167 /* 42 E> */ B(Star), R(7),
195 B(LdrUndefined), R(4), 168 B(LdaUndefined),
169 B(Star), R(4),
196 B(LdaZero), 170 B(LdaZero),
197 B(Star), R(3), 171 B(Star), R(3),
198 B(Mov), R(context), R(12), 172 B(Mov), R(context), R(12),
199 B(Mov), R(context), R(13), 173 B(Mov), R(context), R(13),
200 /* 68 S> */ B(Ldar), R(7), 174 /* 68 S> */ B(Nop),
175 /* 68 E> */ B(LdaConstant), U8(1),
176 B(LdaKeyedProperty), R(7), U8(3),
177 B(Star), R(14),
178 /* 68 E> */ B(Call), R(14), R(7), U8(1), U8(1),
179 /* 68 E> */ B(Star), R(1),
180 /* 65 S> */ B(LdaNamedProperty), R(1), U8(2), U8(7),
201 B(Star), R(15), 181 B(Star), R(15),
202 /* 68 E> */ B(LdaConstant), U8(1), 182 /* 65 E> */ B(Call), R(15), R(1), U8(1), U8(5),
203 B(LdrKeyedProperty), R(15), U8(3), R(14),
204 /* 68 E> */ B(Call), R(14), R(15), U8(1), U8(1),
205 /* 68 E> */ B(Star), R(1),
206 /* 65 S> */ B(Ldar), R(1),
207 B(Star), R(16),
208 B(LdrNamedProperty), R(16), U8(2), U8(7), R(15),
209 /* 65 E> */ B(Call), R(15), R(16), U8(1), U8(5),
210 /* 65 E> */ B(Star), R(2), 183 /* 65 E> */ B(Star), R(2),
211 B(Star), R(14), 184 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
212 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(14), U8(1),
213 B(ToBooleanLogicalNot), 185 B(ToBooleanLogicalNot),
214 B(JumpIfFalse), U8(11), 186 B(JumpIfFalse), U8(7),
215 B(Ldar), R(2), 187 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
216 B(Star), R(14), 188 B(LdaNamedProperty), R(2), U8(3), U8(9),
217 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (14), U8(1), 189 B(JumpIfToBooleanTrue), U8(26),
218 B(Ldar), R(2),
219 B(Star), R(14),
220 B(LdaNamedProperty), R(14), U8(3), U8(9),
221 B(JumpIfToBooleanTrue), U8(31),
222 B(LdaSmi), U8(2), 190 B(LdaSmi), U8(2),
223 B(Star), R(3), 191 B(Star), R(3),
224 B(Ldar), R(2), 192 B(LdaNamedProperty), R(2), U8(4), U8(11),
225 B(Star), R(14), 193 B(Star), R(0),
226 B(LdrNamedProperty), R(14), U8(4), U8(11), R(0),
227 B(Ldar), R(4),
228 /* 54 E> */ B(StackCheck), 194 /* 54 E> */ B(StackCheck),
229 B(Ldar), R(0), 195 B(Mov), R(0), R(8),
230 B(Star), R(8), 196 /* 73 S> */ B(LdaZero),
231 /* 73 S> */ B(Star), R(11),
232 B(LdaZero),
233 B(Star), R(10), 197 B(Star), R(10),
234 B(Jump), U8(62), 198 B(Mov), R(8), R(11),
235 B(Jump), U8(-72), 199 B(Jump), U8(58),
236 B(Jump), U8(46), 200 B(Jump), U8(-54),
201 B(Jump), U8(42),
237 B(Star), R(15), 202 B(Star), R(15),
238 B(LdaConstant), U8(5), 203 B(LdaConstant), U8(5),
239 B(Star), R(14), 204 B(Star), R(14),
240 B(Ldar), R(closure), 205 B(Mov), R(closure), R(16),
241 B(Star), R(16),
242 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 206 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
243 B(Star), R(13), 207 B(Star), R(13),
244 B(PushContext), R(9), 208 B(PushContext), R(9),
245 B(Ldar), R(3),
246 B(Star), R(14),
247 B(LdaSmi), U8(2), 209 B(LdaSmi), U8(2),
248 B(TestEqualStrict), R(14), 210 B(TestEqualStrict), R(3),
249 B(JumpIfFalse), U8(6), 211 B(JumpIfFalse), U8(6),
250 B(LdaSmi), U8(1), 212 B(LdaSmi), U8(1),
251 B(Star), R(3), 213 B(Star), R(3),
252 B(LdrContextSlot), R(context), U8(4), R(14), 214 B(LdaContextSlot), R(context), U8(4),
215 B(Star), R(14),
253 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1), 216 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
254 B(PopContext), R(9), 217 B(PopContext), R(9),
255 B(LdaSmi), U8(-1), 218 B(LdaSmi), U8(-1),
256 B(Star), R(10), 219 B(Star), R(10),
257 B(Jump), U8(8), 220 B(Jump), U8(8),
258 B(Star), R(11), 221 B(Star), R(11),
259 B(LdaSmi), U8(1), 222 B(LdaSmi), U8(1),
260 B(Star), R(10), 223 B(Star), R(10),
261 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 224 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
262 B(Star), R(12), 225 B(Star), R(12),
263 B(Ldar), R(3),
264 B(Star), R(13),
265 B(LdaZero), 226 B(LdaZero),
266 B(TestEqualStrict), R(13), 227 B(TestEqualStrict), R(3),
267 B(JumpIfTrue), U8(9), 228 B(JumpIfTrue), U8(5),
268 B(Ldar), R(1),
269 B(Star), R(13),
270 B(LdaUndefined), 229 B(LdaUndefined),
271 B(TestEqualStrict), R(13), 230 B(TestEqualStrict), R(1),
272 B(ToBooleanLogicalNot), 231 B(ToBooleanLogicalNot),
273 B(JumpIfFalseConstant), U8(9), 232 B(JumpIfFalse), U8(122),
274 B(Ldar), R(1), 233 B(LdaNamedProperty), R(1), U8(6), U8(13),
275 B(Star), R(13), 234 B(Star), R(5),
276 B(LdrNamedProperty), R(13), U8(6), U8(13), R(5),
277 B(Ldar), R(5),
278 B(Star), R(13),
279 B(LdaNull), 235 B(LdaNull),
280 B(TestEqual), R(13), 236 B(TestEqual), R(5),
281 B(JumpIfFalse), U8(4), 237 B(JumpIfFalse), U8(4),
282 B(Jump), U8(124), 238 B(Jump), U8(109),
283 B(Ldar), R(3),
284 B(Star), R(13),
285 B(LdaSmi), U8(1), 239 B(LdaSmi), U8(1),
286 B(TestEqualStrict), R(13), 240 B(TestEqualStrict), R(3),
287 B(JumpIfFalse), U8(79), 241 B(JumpIfFalse), U8(76),
288 B(Ldar), R(5), 242 B(Ldar), R(5),
289 B(TypeOf), 243 B(TypeOf),
290 B(Star), R(13), 244 B(Star), R(13),
291 B(LdaConstant), U8(7), 245 B(LdaConstant), U8(7),
292 B(TestEqualStrict), R(13), 246 B(TestEqualStrict), R(13),
293 B(JumpIfFalse), U8(4), 247 B(JumpIfFalse), U8(4),
294 B(Jump), U8(18), 248 B(Jump), U8(18),
295 B(Wide), B(LdaSmi), U16(129), 249 B(Wide), B(LdaSmi), U16(129),
296 B(Star), R(13), 250 B(Star), R(13),
297 B(LdaConstant), U8(8), 251 B(LdaConstant), U8(8),
298 B(Star), R(14), 252 B(Star), R(14),
299 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2), 253 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
300 B(Throw), 254 B(Throw),
301 B(Mov), R(context), R(13), 255 B(Mov), R(context), R(13),
302 B(Ldar), R(5), 256 B(Mov), R(5), R(14),
303 B(Star), R(14), 257 B(Mov), R(1), R(15),
304 B(Ldar), R(1),
305 B(Star), R(15),
306 B(CallRuntime), U16(Runtime::k_Call), R(14), U8(2), 258 B(CallRuntime), U16(Runtime::k_Call), R(14), U8(2),
307 B(Jump), U8(30), 259 B(Jump), U8(29),
308 B(Star), R(15), 260 B(Star), R(15),
309 B(LdaConstant), U8(5), 261 B(LdaConstant), U8(5),
310 B(Star), R(14), 262 B(Star), R(14),
311 B(Ldar), R(closure), 263 B(Mov), R(closure), R(16),
312 B(Star), R(16),
313 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3), 264 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
314 B(Star), R(13), 265 B(Star), R(13),
315 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 266 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
316 B(Ldar), R(13), 267 B(Ldar), R(13),
317 B(PushContext), R(9), 268 B(PushContext), R(9),
318 B(PopContext), R(9), 269 B(PopContext), R(9),
319 B(Jump), U8(37), 270 B(Jump), U8(29),
320 B(Ldar), R(5), 271 B(Mov), R(5), R(13),
321 B(Star), R(13), 272 B(Mov), R(1), R(14),
322 B(Ldar), R(1),
323 B(Star), R(14),
324 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 273 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
325 B(Star), R(6), 274 B(Star), R(6),
326 B(Star), R(13), 275 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
327 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
328 B(JumpIfToBooleanFalse), U8(4), 276 B(JumpIfToBooleanFalse), U8(4),
329 B(Jump), U8(11), 277 B(Jump), U8(7),
330 B(Ldar), R(6), 278 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
331 B(Star), R(13),
332 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1),
333 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 2), U8(1), 279 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 2), U8(1),
334 B(LdaZero), 280 B(LdaZero),
335 B(TestEqualStrict), R(10), 281 B(TestEqualStrict), R(10),
336 B(JumpIfTrue), U8(10), 282 B(JumpIfTrue), U8(10),
337 B(LdaSmi), U8(1), 283 B(LdaSmi), U8(1),
338 B(TestEqualStrict), R(10), 284 B(TestEqualStrict), R(10),
339 B(JumpIfTrue), U8(7), 285 B(JumpIfTrue), U8(7),
340 B(Jump), U8(8), 286 B(Jump), U8(8),
341 B(Ldar), R(11), 287 B(Ldar), R(11),
342 /* 85 S> */ B(Return), 288 /* 85 S> */ B(Return),
343 B(Ldar), R(11), 289 B(Ldar), R(11),
344 B(ReThrow), 290 B(ReThrow),
345 B(LdaUndefined), 291 B(LdaUndefined),
346 /* 85 S> */ B(Return), 292 /* 85 S> */ B(Return),
347 ] 293 ]
348 constant pool: [ 294 constant pool: [
349 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 295 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
350 InstanceType::SYMBOL_TYPE, 296 InstanceType::SYMBOL_TYPE,
351 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 297 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
352 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 298 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
353 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 299 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
354 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 300 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
355 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 301 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
356 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 302 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
357 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 303 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
358 kInstanceTypeDontCare,
359 ] 304 ]
360 handlers: [ 305 handlers: [
361 [13, 153, 159], 306 [14, 130, 136],
362 [16, 107, 109], 307 [17, 88, 90],
363 [253, 266, 268], 308 [211, 222, 224],
364 ] 309 ]
365 310
366 --- 311 ---
367 snippet: " 312 snippet: "
368 for (var x of [10, 20, 30]) { 313 for (var x of [10, 20, 30]) {
369 if (x == 10) continue; 314 if (x == 10) continue;
370 if (x == 20) break; 315 if (x == 20) break;
371 } 316 }
372 " 317 "
373 frame size: 16 318 frame size: 16
374 parameter count: 1 319 parameter count: 1
375 bytecode array length: 365 320 bytecode array length: 308
376 bytecodes: [ 321 bytecodes: [
377 /* 30 E> */ B(StackCheck), 322 /* 30 E> */ B(StackCheck),
378 B(LdrUndefined), R(4), 323 B(LdaUndefined),
324 B(Star), R(4),
379 B(LdaZero), 325 B(LdaZero),
380 B(Star), R(3), 326 B(Star), R(3),
381 B(Mov), R(context), R(11), 327 B(Mov), R(context), R(11),
382 B(Mov), R(context), R(12), 328 B(Mov), R(context), R(12),
383 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 329 /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
384 B(Star), R(14), 330 B(Star), R(14),
385 /* 48 E> */ B(LdaConstant), U8(1), 331 /* 48 E> */ B(LdaConstant), U8(1),
386 B(LdrKeyedProperty), R(14), U8(3), R(13), 332 B(LdaKeyedProperty), R(14), U8(3),
333 B(Star), R(13),
387 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1), 334 /* 48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
388 /* 48 E> */ B(Star), R(1), 335 /* 48 E> */ B(Star), R(1),
389 /* 45 S> */ B(Ldar), R(1), 336 /* 45 S> */ B(LdaNamedProperty), R(1), U8(2), U8(7),
390 B(Star), R(15), 337 B(Star), R(14),
391 B(LdrNamedProperty), R(15), U8(2), U8(7), R(14), 338 /* 45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
392 /* 45 E> */ B(Call), R(14), R(15), U8(1), U8(5),
393 /* 45 E> */ B(Star), R(2), 339 /* 45 E> */ B(Star), R(2),
394 B(Star), R(13), 340 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(2), U8(1),
395 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(13), U8(1),
396 B(ToBooleanLogicalNot), 341 B(ToBooleanLogicalNot),
397 B(JumpIfFalse), U8(11), 342 B(JumpIfFalse), U8(7),
398 B(Ldar), R(2), 343 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (2), U8(1),
399 B(Star), R(13), 344 B(LdaNamedProperty), R(2), U8(3), U8(9),
400 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (13), U8(1), 345 B(JumpIfToBooleanTrue), U8(37),
401 B(Ldar), R(2),
402 B(Star), R(13),
403 B(LdaNamedProperty), R(13), U8(3), U8(9),
404 B(JumpIfToBooleanTrue), U8(49),
405 B(LdaSmi), U8(2), 346 B(LdaSmi), U8(2),
406 B(Star), R(3), 347 B(Star), R(3),
407 B(Ldar), R(2), 348 B(LdaNamedProperty), R(2), U8(4), U8(11),
408 B(Star), R(13), 349 B(Star), R(0),
409 B(LdrNamedProperty), R(13), U8(4), U8(11), R(0),
410 B(Ldar), R(4),
411 /* 34 E> */ B(StackCheck), 350 /* 34 E> */ B(StackCheck),
412 B(Ldar), R(0), 351 B(Mov), R(0), R(7),
413 B(Star), R(7), 352 /* 66 S> */ B(LdaSmi), U8(10),
414 /* 66 S> */ B(Star), R(13), 353 /* 72 E> */ B(TestEqual), R(7),
415 B(LdaSmi), U8(10),
416 /* 72 E> */ B(TestEqual), R(13),
417 B(JumpIfFalse), U8(4), 354 B(JumpIfFalse), U8(4),
418 /* 79 S> */ B(Jump), U8(17), 355 /* 79 S> */ B(Jump), U8(13),
419 /* 91 S> */ B(Ldar), R(7), 356 /* 91 S> */ B(LdaSmi), U8(20),
420 B(Star), R(13), 357 /* 97 E> */ B(TestEqual), R(7),
421 B(LdaSmi), U8(20),
422 /* 97 E> */ B(TestEqual), R(13),
423 B(JumpIfFalse), U8(4), 358 B(JumpIfFalse), U8(4),
424 /* 104 S> */ B(Jump), U8(7), 359 /* 104 S> */ B(Jump), U8(7),
425 B(LdaZero), 360 B(LdaZero),
426 B(Star), R(3), 361 B(Star), R(3),
427 B(Jump), U8(-90), 362 B(Jump), U8(-65),
428 B(Jump), U8(46), 363 B(Jump), U8(42),
429 B(Star), R(14), 364 B(Star), R(14),
430 B(LdaConstant), U8(5), 365 B(LdaConstant), U8(5),
431 B(Star), R(13), 366 B(Star), R(13),
432 B(Ldar), R(closure), 367 B(Mov), R(closure), R(15),
433 B(Star), R(15),
434 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 368 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
435 B(Star), R(12), 369 B(Star), R(12),
436 B(PushContext), R(8), 370 B(PushContext), R(8),
437 B(Ldar), R(3),
438 B(Star), R(13),
439 B(LdaSmi), U8(2), 371 B(LdaSmi), U8(2),
440 B(TestEqualStrict), R(13), 372 B(TestEqualStrict), R(3),
441 B(JumpIfFalse), U8(6), 373 B(JumpIfFalse), U8(6),
442 B(LdaSmi), U8(1), 374 B(LdaSmi), U8(1),
443 B(Star), R(3), 375 B(Star), R(3),
444 B(LdrContextSlot), R(context), U8(4), R(13), 376 B(LdaContextSlot), R(context), U8(4),
377 B(Star), R(13),
445 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), 378 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
446 B(PopContext), R(8), 379 B(PopContext), R(8),
447 B(LdaSmi), U8(-1), 380 B(LdaSmi), U8(-1),
448 B(Star), R(9), 381 B(Star), R(9),
449 B(Jump), U8(7), 382 B(Jump), U8(7),
450 B(Star), R(10), 383 B(Star), R(10),
451 B(LdaZero), 384 B(LdaZero),
452 B(Star), R(9), 385 B(Star), R(9),
453 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 386 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
454 B(Star), R(11), 387 B(Star), R(11),
455 B(Ldar), R(3),
456 B(Star), R(12),
457 B(LdaZero), 388 B(LdaZero),
458 B(TestEqualStrict), R(12), 389 B(TestEqualStrict), R(3),
459 B(JumpIfTrue), U8(9), 390 B(JumpIfTrue), U8(5),
460 B(Ldar), R(1),
461 B(Star), R(12),
462 B(LdaUndefined), 391 B(LdaUndefined),
463 B(TestEqualStrict), R(12), 392 B(TestEqualStrict), R(1),
464 B(ToBooleanLogicalNot), 393 B(ToBooleanLogicalNot),
465 B(JumpIfFalseConstant), U8(9), 394 B(JumpIfFalse), U8(122),
466 B(Ldar), R(1), 395 B(LdaNamedProperty), R(1), U8(6), U8(13),
467 B(Star), R(12), 396 B(Star), R(5),
468 B(LdrNamedProperty), R(12), U8(6), U8(13), R(5),
469 B(Ldar), R(5),
470 B(Star), R(12),
471 B(LdaNull), 397 B(LdaNull),
472 B(TestEqual), R(12), 398 B(TestEqual), R(5),
473 B(JumpIfFalse), U8(4), 399 B(JumpIfFalse), U8(4),
474 B(Jump), U8(124), 400 B(Jump), U8(109),
475 B(Ldar), R(3),
476 B(Star), R(12),
477 B(LdaSmi), U8(1), 401 B(LdaSmi), U8(1),
478 B(TestEqualStrict), R(12), 402 B(TestEqualStrict), R(3),
479 B(JumpIfFalse), U8(79), 403 B(JumpIfFalse), U8(76),
480 B(Ldar), R(5), 404 B(Ldar), R(5),
481 B(TypeOf), 405 B(TypeOf),
482 B(Star), R(12), 406 B(Star), R(12),
483 B(LdaConstant), U8(7), 407 B(LdaConstant), U8(7),
484 B(TestEqualStrict), R(12), 408 B(TestEqualStrict), R(12),
485 B(JumpIfFalse), U8(4), 409 B(JumpIfFalse), U8(4),
486 B(Jump), U8(18), 410 B(Jump), U8(18),
487 B(Wide), B(LdaSmi), U16(129), 411 B(Wide), B(LdaSmi), U16(129),
488 B(Star), R(12), 412 B(Star), R(12),
489 B(LdaConstant), U8(8), 413 B(LdaConstant), U8(8),
490 B(Star), R(13), 414 B(Star), R(13),
491 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2), 415 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
492 B(Throw), 416 B(Throw),
493 B(Mov), R(context), R(12), 417 B(Mov), R(context), R(12),
494 B(Ldar), R(5), 418 B(Mov), R(5), R(13),
495 B(Star), R(13), 419 B(Mov), R(1), R(14),
496 B(Ldar), R(1),
497 B(Star), R(14),
498 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2), 420 B(CallRuntime), U16(Runtime::k_Call), R(13), U8(2),
499 B(Jump), U8(30), 421 B(Jump), U8(29),
500 B(Star), R(14), 422 B(Star), R(14),
501 B(LdaConstant), U8(5), 423 B(LdaConstant), U8(5),
502 B(Star), R(13), 424 B(Star), R(13),
503 B(Ldar), R(closure), 425 B(Mov), R(closure), R(15),
504 B(Star), R(15),
505 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3), 426 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
506 B(Star), R(12), 427 B(Star), R(12),
507 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 428 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
508 B(Ldar), R(12), 429 B(Ldar), R(12),
509 B(PushContext), R(8), 430 B(PushContext), R(8),
510 B(PopContext), R(8), 431 B(PopContext), R(8),
511 B(Jump), U8(37), 432 B(Jump), U8(29),
512 B(Ldar), R(5), 433 B(Mov), R(5), R(12),
513 B(Star), R(12), 434 B(Mov), R(1), R(13),
514 B(Ldar), R(1),
515 B(Star), R(13),
516 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 435 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
517 B(Star), R(6), 436 B(Star), R(6),
518 B(Star), R(12), 437 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(6), U8(1),
519 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
520 B(JumpIfToBooleanFalse), U8(4), 438 B(JumpIfToBooleanFalse), U8(4),
521 B(Jump), U8(11), 439 B(Jump), U8(7),
522 B(Ldar), R(6), 440 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (6), U8(1),
523 B(Star), R(12),
524 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1),
525 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1), 441 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 1), U8(1),
526 B(LdaZero), 442 B(LdaZero),
527 B(TestEqualStrict), R(9), 443 B(TestEqualStrict), R(9),
528 B(JumpIfTrue), U8(4), 444 B(JumpIfTrue), U8(4),
529 B(Jump), U8(5), 445 B(Jump), U8(5),
530 B(Ldar), R(10), 446 B(Ldar), R(10),
531 B(ReThrow), 447 B(ReThrow),
532 B(LdaUndefined), 448 B(LdaUndefined),
533 /* 113 S> */ B(Return), 449 /* 113 S> */ B(Return),
534 ] 450 ]
535 constant pool: [ 451 constant pool: [
536 InstanceType::FIXED_ARRAY_TYPE, 452 InstanceType::FIXED_ARRAY_TYPE,
537 InstanceType::SYMBOL_TYPE, 453 InstanceType::SYMBOL_TYPE,
538 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 454 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
539 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 455 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
540 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 456 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
541 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 457 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
542 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 458 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
543 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 459 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
544 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 460 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
545 kInstanceTypeDontCare,
546 ] 461 ]
547 handlers: [ 462 handlers: [
548 [9, 169, 175], 463 [10, 142, 148],
549 [12, 123, 125], 464 [13, 100, 102],
550 [268, 281, 283], 465 [222, 233, 235],
551 ] 466 ]
552 467
553 --- 468 ---
554 snippet: " 469 snippet: "
555 var x = { 'a': 1, 'b': 2 }; 470 var x = { 'a': 1, 'b': 2 };
556 for (x['a'] of [1,2,3]) { return x['a']; } 471 for (x['a'] of [1,2,3]) { return x['a']; }
557 " 472 "
558 frame size: 15 473 frame size: 15
559 parameter count: 1 474 parameter count: 1
560 bytecode array length: 375 475 bytecode array length: 318
561 bytecodes: [ 476 bytecodes: [
562 /* 30 E> */ B(StackCheck), 477 /* 30 E> */ B(StackCheck),
563 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), 478 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
564 B(Star), R(8), 479 B(Star), R(8),
565 /* 42 E> */ B(Star), R(6), 480 /* 42 E> */ B(Star), R(6),
566 B(LdrUndefined), R(3), 481 B(LdaUndefined),
482 B(Star), R(3),
567 B(LdaZero), 483 B(LdaZero),
568 B(Star), R(2), 484 B(Star), R(2),
569 B(Mov), R(context), R(10), 485 B(Mov), R(context), R(10),
570 B(Mov), R(context), R(11), 486 B(Mov), R(context), R(11),
571 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 487 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
572 B(Star), R(13), 488 B(Star), R(13),
573 /* 77 E> */ B(LdaConstant), U8(2), 489 /* 77 E> */ B(LdaConstant), U8(2),
574 B(LdrKeyedProperty), R(13), U8(3), R(12), 490 B(LdaKeyedProperty), R(13), U8(3),
491 B(Star), R(12),
575 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1), 492 /* 77 E> */ B(Call), R(12), R(13), U8(1), U8(1),
576 /* 77 E> */ B(Star), R(0), 493 /* 77 E> */ B(Star), R(0),
577 /* 74 S> */ B(Ldar), R(0), 494 /* 74 S> */ B(LdaNamedProperty), R(0), U8(3), U8(7),
578 B(Star), R(14), 495 B(Star), R(13),
579 B(LdrNamedProperty), R(14), U8(3), U8(7), R(13), 496 /* 74 E> */ B(Call), R(13), R(0), U8(1), U8(5),
580 /* 74 E> */ B(Call), R(13), R(14), U8(1), U8(5),
581 /* 74 E> */ B(Star), R(1), 497 /* 74 E> */ B(Star), R(1),
582 B(Star), R(12), 498 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(1), U8(1),
583 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(12), U8(1),
584 B(ToBooleanLogicalNot), 499 B(ToBooleanLogicalNot),
585 B(JumpIfFalse), U8(11), 500 B(JumpIfFalse), U8(7),
586 B(Ldar), R(1), 501 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (1), U8(1),
587 B(Star), R(12), 502 B(LdaNamedProperty), R(1), U8(4), U8(9),
588 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (12), U8(1), 503 B(JumpIfToBooleanTrue), U8(29),
589 B(Ldar), R(1),
590 B(Star), R(12),
591 B(LdaNamedProperty), R(12), U8(4), U8(9),
592 B(JumpIfToBooleanTrue), U8(41),
593 B(LdaSmi), U8(2), 504 B(LdaSmi), U8(2),
594 B(Star), R(2), 505 B(Star), R(2),
595 /* 67 E> */ B(Ldar), R(6), 506 /* 67 E> */ B(LdaNamedProperty), R(1), U8(5), U8(11),
596 B(Star), R(12), 507 B(StaNamedPropertySloppy), R(6), U8(6), U8(13),
597 B(Ldar), R(1),
598 B(Star), R(13),
599 B(LdaNamedProperty), R(13), U8(5), U8(11),
600 B(StaNamedPropertySloppy), R(12), U8(6), U8(13),
601 B(Ldar), R(3),
602 /* 62 E> */ B(StackCheck), 508 /* 62 E> */ B(StackCheck),
603 /* 88 S> */ B(Ldar), R(6), 509 /* 88 S> */ B(Nop),
604 B(Star), R(12), 510 /* 96 E> */ B(LdaNamedProperty), R(6), U8(6), U8(15),
605 /* 96 E> */ B(LdrNamedProperty), R(12), U8(6), U8(15), R(9), 511 B(Star), R(9),
606 B(LdaZero), 512 B(LdaZero),
607 B(Star), R(8), 513 B(Star), R(8),
608 B(Jump), U8(62), 514 B(Jump), U8(58),
609 B(Jump), U8(-82), 515 B(Jump), U8(-57),
610 B(Jump), U8(46), 516 B(Jump), U8(42),
611 B(Star), R(13), 517 B(Star), R(13),
612 B(LdaConstant), U8(7), 518 B(LdaConstant), U8(7),
613 B(Star), R(12), 519 B(Star), R(12),
614 B(Ldar), R(closure), 520 B(Mov), R(closure), R(14),
615 B(Star), R(14),
616 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 521 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
617 B(Star), R(11), 522 B(Star), R(11),
618 B(PushContext), R(7), 523 B(PushContext), R(7),
619 B(Ldar), R(2),
620 B(Star), R(12),
621 B(LdaSmi), U8(2), 524 B(LdaSmi), U8(2),
622 B(TestEqualStrict), R(12), 525 B(TestEqualStrict), R(2),
623 B(JumpIfFalse), U8(6), 526 B(JumpIfFalse), U8(6),
624 B(LdaSmi), U8(1), 527 B(LdaSmi), U8(1),
625 B(Star), R(2), 528 B(Star), R(2),
626 B(LdrContextSlot), R(context), U8(4), R(12), 529 B(LdaContextSlot), R(context), U8(4),
530 B(Star), R(12),
627 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), 531 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
628 B(PopContext), R(7), 532 B(PopContext), R(7),
629 B(LdaSmi), U8(-1), 533 B(LdaSmi), U8(-1),
630 B(Star), R(8), 534 B(Star), R(8),
631 B(Jump), U8(8), 535 B(Jump), U8(8),
632 B(Star), R(9), 536 B(Star), R(9),
633 B(LdaSmi), U8(1), 537 B(LdaSmi), U8(1),
634 B(Star), R(8), 538 B(Star), R(8),
635 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 539 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
636 B(Star), R(10), 540 B(Star), R(10),
637 B(Ldar), R(2),
638 B(Star), R(11),
639 B(LdaZero), 541 B(LdaZero),
640 B(TestEqualStrict), R(11), 542 B(TestEqualStrict), R(2),
641 B(JumpIfTrue), U8(9), 543 B(JumpIfTrue), U8(5),
642 B(Ldar), R(0),
643 B(Star), R(11),
644 B(LdaUndefined), 544 B(LdaUndefined),
645 B(TestEqualStrict), R(11), 545 B(TestEqualStrict), R(0),
646 B(ToBooleanLogicalNot), 546 B(ToBooleanLogicalNot),
647 B(JumpIfFalseConstant), U8(11), 547 B(JumpIfFalse), U8(122),
648 B(Ldar), R(0), 548 B(LdaNamedProperty), R(0), U8(8), U8(17),
649 B(Star), R(11), 549 B(Star), R(4),
650 B(LdrNamedProperty), R(11), U8(8), U8(17), R(4),
651 B(Ldar), R(4),
652 B(Star), R(11),
653 B(LdaNull), 550 B(LdaNull),
654 B(TestEqual), R(11), 551 B(TestEqual), R(4),
655 B(JumpIfFalse), U8(4), 552 B(JumpIfFalse), U8(4),
656 B(Jump), U8(124), 553 B(Jump), U8(109),
657 B(Ldar), R(2),
658 B(Star), R(11),
659 B(LdaSmi), U8(1), 554 B(LdaSmi), U8(1),
660 B(TestEqualStrict), R(11), 555 B(TestEqualStrict), R(2),
661 B(JumpIfFalse), U8(79), 556 B(JumpIfFalse), U8(76),
662 B(Ldar), R(4), 557 B(Ldar), R(4),
663 B(TypeOf), 558 B(TypeOf),
664 B(Star), R(11), 559 B(Star), R(11),
665 B(LdaConstant), U8(9), 560 B(LdaConstant), U8(9),
666 B(TestEqualStrict), R(11), 561 B(TestEqualStrict), R(11),
667 B(JumpIfFalse), U8(4), 562 B(JumpIfFalse), U8(4),
668 B(Jump), U8(18), 563 B(Jump), U8(18),
669 B(Wide), B(LdaSmi), U16(129), 564 B(Wide), B(LdaSmi), U16(129),
670 B(Star), R(11), 565 B(Star), R(11),
671 B(LdaConstant), U8(10), 566 B(LdaConstant), U8(10),
672 B(Star), R(12), 567 B(Star), R(12),
673 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), 568 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
674 B(Throw), 569 B(Throw),
675 B(Mov), R(context), R(11), 570 B(Mov), R(context), R(11),
676 B(Ldar), R(4), 571 B(Mov), R(4), R(12),
677 B(Star), R(12), 572 B(Mov), R(0), R(13),
678 B(Ldar), R(0),
679 B(Star), R(13),
680 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2), 573 B(CallRuntime), U16(Runtime::k_Call), R(12), U8(2),
681 B(Jump), U8(30), 574 B(Jump), U8(29),
682 B(Star), R(13), 575 B(Star), R(13),
683 B(LdaConstant), U8(7), 576 B(LdaConstant), U8(7),
684 B(Star), R(12), 577 B(Star), R(12),
685 B(Ldar), R(closure), 578 B(Mov), R(closure), R(14),
686 B(Star), R(14),
687 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3), 579 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
688 B(Star), R(11), 580 B(Star), R(11),
689 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0), 581 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R (0), U8(0),
690 B(Ldar), R(11), 582 B(Ldar), R(11),
691 B(PushContext), R(7), 583 B(PushContext), R(7),
692 B(PopContext), R(7), 584 B(PopContext), R(7),
693 B(Jump), U8(37), 585 B(Jump), U8(29),
694 B(Ldar), R(4), 586 B(Mov), R(4), R(11),
695 B(Star), R(11), 587 B(Mov), R(0), R(12),
696 B(Ldar), R(0),
697 B(Star), R(12),
698 B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2), 588 B(CallRuntime), U16(Runtime::k_Call), R(11), U8(2),
699 B(Star), R(5), 589 B(Star), R(5),
700 B(Star), R(11), 590 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(5), U8(1),
701 B(InvokeIntrinsic), U16(Runtime::k_IsJSReceiver), R(11), U8(1),
702 B(JumpIfToBooleanFalse), U8(4), 591 B(JumpIfToBooleanFalse), U8(4),
703 B(Jump), U8(11), 592 B(Jump), U8(7),
704 B(Ldar), R(5), 593 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (5), U8(1),
705 B(Star), R(11),
706 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R (11), U8(1),
707 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 0), U8(1), 594 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(1 0), U8(1),
708 B(LdaZero), 595 B(LdaZero),
709 B(TestEqualStrict), R(8), 596 B(TestEqualStrict), R(8),
710 B(JumpIfTrue), U8(10), 597 B(JumpIfTrue), U8(10),
711 B(LdaSmi), U8(1), 598 B(LdaSmi), U8(1),
712 B(TestEqualStrict), R(8), 599 B(TestEqualStrict), R(8),
713 B(JumpIfTrue), U8(7), 600 B(JumpIfTrue), U8(7),
714 B(Jump), U8(8), 601 B(Jump), U8(8),
715 B(Ldar), R(9), 602 B(Ldar), R(9),
716 /* 105 S> */ B(Return), 603 /* 105 S> */ B(Return),
717 B(Ldar), R(9), 604 B(Ldar), R(9),
718 B(ReThrow), 605 B(ReThrow),
719 B(LdaUndefined), 606 B(LdaUndefined),
720 /* 105 S> */ B(Return), 607 /* 105 S> */ B(Return),
721 ] 608 ]
722 constant pool: [ 609 constant pool: [
723 InstanceType::FIXED_ARRAY_TYPE, 610 InstanceType::FIXED_ARRAY_TYPE,
724 InstanceType::FIXED_ARRAY_TYPE, 611 InstanceType::FIXED_ARRAY_TYPE,
725 InstanceType::SYMBOL_TYPE, 612 InstanceType::SYMBOL_TYPE,
726 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 613 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
727 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 614 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
728 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 615 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
729 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 616 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
730 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 617 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
731 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 618 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
732 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 619 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
733 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 620 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
734 kInstanceTypeDontCare,
735 ] 621 ]
736 handlers: [ 622 handlers: [
737 [17, 169, 175], 623 [18, 142, 148],
738 [20, 123, 125], 624 [21, 100, 102],
739 [269, 282, 284], 625 [223, 234, 236],
740 ] 626 ]
741 627
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698