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

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

Issue 1997653002: [interpreter] Bytecode register optimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Try harder with source positions. 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 ---
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 frame size: 8 66 frame size: 8
67 parameter count: 1 67 parameter count: 1
68 bytecode array length: 45 68 bytecode array length: 45
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 /* 42 E> */ B(Star), R(1), 72 /* 42 E> */ B(Star), R(1),
73 /* 68 S> */ B(JumpIfUndefined), U8(38), 73 /* 68 S> */ B(JumpIfUndefined), U8(38),
74 B(JumpIfNull), U8(36), 74 B(JumpIfNull), U8(36),
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(23), 81 B(JumpIfTrue), U8(23),
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(10), 83 B(JumpIfUndefined), U8(10),
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),
87 /* 73 S> */ B(Ldar), R(2),
Yang 2016/05/20 08:00:55 How come we end up with an additional statement po
oth 2016/05/20 09:01:04 The older code has peephole optimized out the stat
88 /* 85 S> */ B(Return), 88 /* 85 S> */ B(Return),
89 B(ForInStep), R(7), 89 B(ForInStep), R(7),
90 B(Star), R(7), 90 B(Star), R(7),
91 B(Jump), U8(-24), 91 B(Jump), U8(-24),
92 B(LdaUndefined), 92 B(LdaUndefined),
93 /* 85 S> */ B(Return), 93 /* 85 S> */ B(Return),
94 ] 94 ]
95 constant pool: [ 95 constant pool: [
96 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 96 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
97 ] 97 ]
98 handlers: [ 98 handlers: [
99 ] 99 ]
100 100
101 --- 101 ---
102 snippet: " 102 snippet: "
103 var x = 0; 103 var x = 0;
104 for (var p in [1,2,3]) { x += p; } 104 for (var p in [1,2,3]) { x += p; }
105 " 105 "
106 frame size: 9 106 frame size: 9
107 parameter count: 1 107 parameter count: 1
108 bytecode array length: 57 108 bytecode array length: 54
109 bytecodes: [ 109 bytecodes: [
110 /* 30 E> */ B(StackCheck), 110 /* 30 E> */ B(StackCheck),
111 /* 42 S> */ B(LdaZero), 111 /* 42 S> */ B(LdaZero),
112 /* 42 E> */ B(Star), R(1), 112 /* 42 E> */ B(Star), R(1),
113 /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 113 /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
114 B(JumpIfUndefined), U8(47), 114 B(JumpIfUndefined), U8(44),
115 B(JumpIfNull), U8(45), 115 B(JumpIfNull), U8(42),
116 B(ToObject), 116 B(ToObject),
117 B(ForInPrepare), R(4),
117 B(Star), R(3), 118 B(Star), R(3),
118 B(ForInPrepare), R(4),
119 B(LdaZero), 119 B(LdaZero),
120 B(Star), R(7), 120 B(Star), R(7),
121 /* 54 S> */ B(ForInDone), R(7), R(6), 121 /* 54 S> */ B(ForInDone), R(7), R(6),
122 B(JumpIfTrue), U8(32), 122 B(JumpIfTrue), U8(29),
123 B(ForInNext), R(3), R(7), R(4), U8(1), 123 B(ForInNext), R(3), R(7), R(4), U8(1),
124 B(JumpIfUndefined), U8(19), 124 B(JumpIfUndefined), U8(16),
125 B(Star), R(0), 125 B(Star), R(0),
126 /* 45 E> */ B(StackCheck), 126 /* 45 E> */ B(StackCheck),
127 B(Ldar), R(0),
128 B(Star), R(2), 127 B(Star), R(2),
129 /* 70 S> */ B(Ldar), R(1), 128 /* 70 S> */ B(Ldar), R(0),
130 B(Star), R(8), 129 B(Add), R(1),
131 /* 75 E> */ B(Ldar), R(2), 130 /* 72 E> */ B(Mov), R(1), R(8),
132 B(Add), R(8), 131 B(Star), R(1),
133 /* 72 E> */ B(Star), R(1),
134 B(ForInStep), R(7), 132 B(ForInStep), R(7),
135 B(Star), R(7), 133 B(Star), R(7),
136 B(Jump), U8(-33), 134 B(Jump), U8(-30),
137 B(LdaUndefined), 135 B(LdaUndefined),
138 /* 80 S> */ B(Return), 136 /* 80 S> */ B(Return),
139 ] 137 ]
140 constant pool: [ 138 constant pool: [
141 InstanceType::FIXED_ARRAY_TYPE, 139 InstanceType::FIXED_ARRAY_TYPE,
142 ] 140 ]
143 handlers: [ 141 handlers: [
144 ] 142 ]
145 143
146 --- 144 ---
147 snippet: " 145 snippet: "
148 var x = { 'a': 1, 'b': 2 }; 146 var x = { 'a': 1, 'b': 2 };
149 for (x['a'] in [10, 20, 30]) { 147 for (x['a'] in [10, 20, 30]) {
150 if (x['a'] == 10) continue; 148 if (x['a'] == 10) continue;
151 if (x['a'] == 20) break; 149 if (x['a'] == 20) break;
152 } 150 }
153 " 151 "
154 frame size: 8 152 frame size: 8
155 parameter count: 1 153 parameter count: 1
156 bytecode array length: 94 154 bytecode array length: 82
157 bytecodes: [ 155 bytecodes: [
158 /* 30 E> */ B(StackCheck), 156 /* 30 E> */ B(StackCheck),
159 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1), 157 /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
160 B(Star), R(1), 158 B(Star), R(1),
161 /* 42 E> */ B(Star), R(0), 159 /* 42 E> */ B(Star), R(0),
162 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 160 /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
163 B(JumpIfUndefined), U8(79), 161 B(JumpIfUndefined), U8(67),
164 B(JumpIfNull), U8(77), 162 B(JumpIfNull), U8(65),
165 B(ToObject), 163 B(ToObject),
164 B(ForInPrepare), R(2),
166 B(Star), R(1), 165 B(Star), R(1),
167 B(ForInPrepare), R(2),
168 B(LdaZero), 166 B(LdaZero),
169 B(Star), R(5), 167 B(Star), R(5),
170 /* 68 S> */ B(ForInDone), R(5), R(4), 168 /* 68 S> */ B(ForInDone), R(5), R(4),
171 B(JumpIfTrue), U8(64), 169 B(JumpIfTrue), U8(52),
172 B(ForInNext), R(1), R(5), R(2), U8(9), 170 B(ForInNext), R(1), R(5), R(2), U8(9),
173 B(JumpIfUndefined), U8(51), 171 B(JumpIfUndefined), U8(39),
174 B(Star), R(6), 172 B(Star), R(6),
175 /* 67 E> */ B(Ldar), R(0), 173 /* 67 E> */ B(Ldar), R(6),
176 B(Star), R(7), 174 B(StoreICSloppy), R(0), U8(2), U8(7),
177 B(Ldar), R(6),
178 B(StoreICSloppy), R(7), U8(2), U8(7),
179 /* 62 E> */ B(StackCheck), 175 /* 62 E> */ B(StackCheck),
180 /* 95 S> */ B(Ldar), R(0), 176 /* 95 S> */ B(LoadIC), R(0), U8(2), U8(3),
181 B(Star), R(6),
182 /* 100 E> */ B(LoadIC), R(6), U8(2), U8(3),
183 B(Star), R(7), 177 B(Star), R(7),
184 B(LdaSmi), U8(10), 178 B(LdaSmi), U8(10),
185 /* 106 E> */ B(TestEqual), R(7), 179 /* 106 E> */ B(TestEqual), R(7),
186 B(JumpIfFalse), U8(4), 180 B(JumpIfFalse), U8(4),
187 /* 113 S> */ B(Jump), U8(20), 181 /* 113 S> */ B(Jump), U8(16),
188 /* 125 S> */ B(Ldar), R(0), 182 /* 125 S> */ B(LoadIC), R(0), U8(2), U8(5),
189 B(Star), R(6),
190 /* 130 E> */ B(LoadIC), R(6), U8(2), U8(5),
191 B(Star), R(7), 183 B(Star), R(7),
192 B(LdaSmi), U8(20), 184 B(LdaSmi), U8(20),
193 /* 136 E> */ B(TestEqual), R(7), 185 /* 136 E> */ B(TestEqual), R(7),
194 B(JumpIfFalse), U8(4), 186 B(JumpIfFalse), U8(4),
195 /* 143 S> */ B(Jump), U8(8), 187 /* 143 S> */ B(Jump), U8(8),
196 B(ForInStep), R(5), 188 B(ForInStep), R(5),
197 B(Star), R(5), 189 B(Star), R(5),
198 B(Jump), U8(-65), 190 B(Jump), U8(-53),
199 B(LdaUndefined), 191 B(LdaUndefined),
200 /* 152 S> */ B(Return), 192 /* 152 S> */ B(Return),
201 ] 193 ]
202 constant pool: [ 194 constant pool: [
203 InstanceType::FIXED_ARRAY_TYPE, 195 InstanceType::FIXED_ARRAY_TYPE,
204 InstanceType::FIXED_ARRAY_TYPE, 196 InstanceType::FIXED_ARRAY_TYPE,
205 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 197 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
206 ] 198 ]
207 handlers: [ 199 handlers: [
208 ] 200 ]
209 201
210 --- 202 ---
211 snippet: " 203 snippet: "
212 var x = [ 10, 11, 12 ] ; 204 var x = [ 10, 11, 12 ] ;
213 for (x[0] in [1,2,3]) { return x[3]; } 205 for (x[0] in [1,2,3]) { return x[3]; }
214 " 206 "
215 frame size: 9 207 frame size: 9
216 parameter count: 1 208 parameter count: 1
217 bytecode array length: 69 209 bytecode array length: 61
218 bytecodes: [ 210 bytecodes: [
219 /* 30 E> */ B(StackCheck), 211 /* 30 E> */ B(StackCheck),
220 /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3), 212 /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
221 /* 42 E> */ B(Star), R(0), 213 /* 42 E> */ B(Star), R(0),
222 /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3), 214 /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
223 B(JumpIfUndefined), U8(56), 215 B(JumpIfUndefined), U8(48),
224 B(JumpIfNull), U8(54), 216 B(JumpIfNull), U8(46),
225 B(ToObject), 217 B(ToObject),
218 B(ForInPrepare), R(2),
226 B(Star), R(1), 219 B(Star), R(1),
227 B(ForInPrepare), R(2),
228 B(LdaZero), 220 B(LdaZero),
229 B(Star), R(5), 221 B(Star), R(5),
230 /* 65 S> */ B(ForInDone), R(5), R(4), 222 /* 65 S> */ B(ForInDone), R(5), R(4),
231 B(JumpIfTrue), U8(41), 223 B(JumpIfTrue), U8(33),
232 B(ForInNext), R(1), R(5), R(2), U8(7), 224 B(ForInNext), R(1), R(5), R(2), U8(7),
233 B(JumpIfUndefined), U8(28), 225 B(JumpIfUndefined), U8(20),
234 B(Star), R(6), 226 B(Star), R(6),
235 /* 64 E> */ B(Ldar), R(0), 227 /* 64 E> */ B(LdaZero),
236 B(Star), R(7),
237 B(LdaZero),
238 B(Star), R(8), 228 B(Star), R(8),
239 B(Ldar), R(6), 229 B(Ldar), R(6),
240 B(KeyedStoreICSloppy), R(7), R(8), U8(5), 230 B(KeyedStoreICSloppy), R(0), R(8), U8(5),
241 /* 59 E> */ B(StackCheck), 231 /* 59 E> */ B(StackCheck),
242 /* 83 S> */ B(Ldar), R(0), 232 /* 83 S> */ B(LdaSmi), U8(3),
243 B(Star), R(6), 233 B(KeyedLoadIC), R(0), U8(3),
244 /* 91 E> */ B(LdaSmi), U8(3),
245 B(KeyedLoadIC), R(6), U8(3),
246 /* 98 S> */ B(Return), 234 /* 98 S> */ B(Return),
247 B(ForInStep), R(5), 235 B(ForInStep), R(5),
248 B(Star), R(5), 236 B(Star), R(5),
249 B(Jump), U8(-42), 237 B(Jump), U8(-34),
250 B(LdaUndefined), 238 B(LdaUndefined),
251 /* 98 S> */ B(Return), 239 /* 98 S> */ B(Return),
252 ] 240 ]
253 constant pool: [ 241 constant pool: [
254 InstanceType::FIXED_ARRAY_TYPE, 242 InstanceType::FIXED_ARRAY_TYPE,
255 InstanceType::FIXED_ARRAY_TYPE, 243 InstanceType::FIXED_ARRAY_TYPE,
256 ] 244 ]
257 handlers: [ 245 handlers: [
258 ] 246 ]
259 247
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698