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

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

Issue 1997653002: [interpreter] Bytecode register optimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Decouple a test from implementation. Created 4 years, 6 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: number 6 pool type: number
7 execute: yes 7 execute: yes
8 wrap: yes 8 wrap: yes
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 var a = 1; 12 var a = 1;
13 switch(a) { 13 switch(a) {
14 case 1: return 2; 14 case 1: return 2;
15 case 2: return 3; 15 case 2: return 3;
16 } 16 }
17 " 17 "
18 frame size: 3 18 frame size: 3
19 parameter count: 1 19 parameter count: 1
20 bytecode array length: 32 20 bytecode array length: 33
21 bytecodes: [ 21 bytecodes: [
22 /* 30 E> */ B(StackCheck), 22 /* 30 E> */ B(StackCheck),
23 /* 42 S> */ B(LdaSmi), U8(1), 23 /* 42 S> */ B(LdaSmi), U8(1),
24 /* 42 E> */ B(Star), R(1), 24 /* 42 E> */ B(Star), R(1),
25 /* 52 E> */ B(Nop), 25 /* 52 E> */ B(Nop),
26 B(Star), R(0), 26 B(Star), R(0),
27 /* 45 S> */ B(Star), R(2), 27 /* 45 S> */ B(LdaSmi), U8(1),
28 B(LdaSmi), U8(1), 28 B(TestEqualStrict), R(0),
29 B(TestEqualStrict), R(2), 29 B(Mov), R(0), R(2),
30 B(JumpIfTrue), U8(10), 30 B(JumpIfToBooleanTrue), U8(10),
31 B(LdaSmi), U8(2), 31 B(LdaSmi), U8(2),
32 B(TestEqualStrict), R(2), 32 B(TestEqualStrict), R(2),
33 B(JumpIfTrue), U8(7), 33 B(JumpIfTrue), U8(7),
34 B(Jump), U8(8), 34 B(Jump), U8(8),
35 /* 66 S> */ B(LdaSmi), U8(2), 35 /* 66 S> */ B(LdaSmi), U8(2),
36 /* 97 S> */ B(Return), 36 /* 97 S> */ B(Return),
37 /* 85 S> */ B(LdaSmi), U8(3), 37 /* 85 S> */ B(LdaSmi), U8(3),
38 /* 97 S> */ B(Return), 38 /* 97 S> */ B(Return),
39 B(LdaUndefined), 39 B(LdaUndefined),
40 /* 97 S> */ B(Return), 40 /* 97 S> */ B(Return),
41 ] 41 ]
42 constant pool: [ 42 constant pool: [
43 ] 43 ]
44 handlers: [ 44 handlers: [
45 ] 45 ]
46 46
47 --- 47 ---
48 snippet: " 48 snippet: "
49 var a = 1; 49 var a = 1;
50 switch(a) { 50 switch(a) {
51 case 1: a = 2; break; 51 case 1: a = 2; break;
52 case 2: a = 3; break; 52 case 2: a = 3; break;
53 } 53 }
54 " 54 "
55 frame size: 3 55 frame size: 3
56 parameter count: 1 56 parameter count: 1
57 bytecode array length: 38 57 bytecode array length: 39
58 bytecodes: [ 58 bytecodes: [
59 /* 30 E> */ B(StackCheck), 59 /* 30 E> */ B(StackCheck),
60 /* 42 S> */ B(LdaSmi), U8(1), 60 /* 42 S> */ B(LdaSmi), U8(1),
61 /* 42 E> */ B(Star), R(1), 61 /* 42 E> */ B(Star), R(1),
62 /* 52 E> */ B(Nop), 62 /* 52 E> */ B(Nop),
63 B(Star), R(0), 63 B(Star), R(0),
64 /* 45 S> */ B(Star), R(2), 64 /* 45 S> */ B(LdaSmi), U8(1),
65 B(LdaSmi), U8(1), 65 B(TestEqualStrict), R(0),
66 B(TestEqualStrict), R(2), 66 B(Mov), R(0), R(2),
67 B(JumpIfTrue), U8(10), 67 B(JumpIfToBooleanTrue), U8(10),
68 B(LdaSmi), U8(2), 68 B(LdaSmi), U8(2),
69 B(TestEqualStrict), R(2), 69 B(TestEqualStrict), R(2),
70 B(JumpIfTrue), U8(10), 70 B(JumpIfTrue), U8(10),
71 B(Jump), U8(14), 71 B(Jump), U8(14),
72 /* 66 S> */ B(LdaSmi), U8(2), 72 /* 66 S> */ B(LdaSmi), U8(2),
73 B(Star), R(1), 73 B(Star), R(1),
74 /* 73 S> */ B(Jump), U8(8), 74 /* 73 S> */ B(Jump), U8(8),
75 /* 89 S> */ B(LdaSmi), U8(3), 75 /* 89 S> */ B(LdaSmi), U8(3),
76 B(Star), R(1), 76 B(Star), R(1),
77 /* 96 S> */ B(Jump), U8(2), 77 /* 96 S> */ B(Jump), U8(2),
78 B(LdaUndefined), 78 B(LdaUndefined),
79 /* 105 S> */ B(Return), 79 /* 105 S> */ B(Return),
80 ] 80 ]
81 constant pool: [ 81 constant pool: [
82 ] 82 ]
83 handlers: [ 83 handlers: [
84 ] 84 ]
85 85
86 --- 86 ---
87 snippet: " 87 snippet: "
88 var a = 1; 88 var a = 1;
89 switch(a) { 89 switch(a) {
90 case 1: a = 2; // fall-through 90 case 1: a = 2; // fall-through
91 case 2: a = 3; break; 91 case 2: a = 3; break;
92 } 92 }
93 " 93 "
94 frame size: 3 94 frame size: 3
95 parameter count: 1 95 parameter count: 1
96 bytecode array length: 36 96 bytecode array length: 37
97 bytecodes: [ 97 bytecodes: [
98 /* 30 E> */ B(StackCheck), 98 /* 30 E> */ B(StackCheck),
99 /* 42 S> */ B(LdaSmi), U8(1), 99 /* 42 S> */ B(LdaSmi), U8(1),
100 /* 42 E> */ B(Star), R(1), 100 /* 42 E> */ B(Star), R(1),
101 /* 52 E> */ B(Nop), 101 /* 52 E> */ B(Nop),
102 B(Star), R(0), 102 B(Star), R(0),
103 /* 45 S> */ B(Star), R(2), 103 /* 45 S> */ B(LdaSmi), U8(1),
104 B(LdaSmi), U8(1), 104 B(TestEqualStrict), R(0),
105 B(TestEqualStrict), R(2), 105 B(Mov), R(0), R(2),
106 B(JumpIfTrue), U8(10), 106 B(JumpIfToBooleanTrue), U8(10),
107 B(LdaSmi), U8(2), 107 B(LdaSmi), U8(2),
108 B(TestEqualStrict), R(2), 108 B(TestEqualStrict), R(2),
109 B(JumpIfTrue), U8(8), 109 B(JumpIfTrue), U8(8),
110 B(Jump), U8(12), 110 B(Jump), U8(12),
111 /* 66 S> */ B(LdaSmi), U8(2), 111 /* 66 S> */ B(LdaSmi), U8(2),
112 /* 68 E> */ B(Star), R(1), 112 /* 68 E> */ B(Star), R(1),
113 /* 98 S> */ B(LdaSmi), U8(3), 113 /* 98 S> */ B(LdaSmi), U8(3),
114 B(Star), R(1), 114 B(Star), R(1),
115 /* 105 S> */ B(Jump), U8(2), 115 /* 105 S> */ B(Jump), U8(2),
116 B(LdaUndefined), 116 B(LdaUndefined),
117 /* 114 S> */ B(Return), 117 /* 114 S> */ B(Return),
118 ] 118 ]
119 constant pool: [ 119 constant pool: [
120 ] 120 ]
121 handlers: [ 121 handlers: [
122 ] 122 ]
123 123
124 --- 124 ---
125 snippet: " 125 snippet: "
126 var a = 1; 126 var a = 1;
127 switch(a) { 127 switch(a) {
128 case 2: break; 128 case 2: break;
129 case 3: break; 129 case 3: break;
130 default: a = 1; break; 130 default: a = 1; break;
131 } 131 }
132 " 132 "
133 frame size: 3 133 frame size: 3
134 parameter count: 1 134 parameter count: 1
135 bytecode array length: 36 135 bytecode array length: 37
136 bytecodes: [ 136 bytecodes: [
137 /* 30 E> */ B(StackCheck), 137 /* 30 E> */ B(StackCheck),
138 /* 42 S> */ B(LdaSmi), U8(1), 138 /* 42 S> */ B(LdaSmi), U8(1),
139 /* 42 E> */ B(Star), R(1), 139 /* 42 E> */ B(Star), R(1),
140 /* 52 E> */ B(Nop), 140 /* 52 E> */ B(Nop),
141 B(Star), R(0), 141 B(Star), R(0),
142 /* 45 S> */ B(Star), R(2), 142 /* 45 S> */ B(LdaSmi), U8(2),
143 B(LdaSmi), U8(2), 143 B(TestEqualStrict), R(0),
144 B(TestEqualStrict), R(2), 144 B(Mov), R(0), R(2),
145 B(JumpIfTrue), U8(10), 145 B(JumpIfToBooleanTrue), U8(10),
146 B(LdaSmi), U8(3), 146 B(LdaSmi), U8(3),
147 B(TestEqualStrict), R(2), 147 B(TestEqualStrict), R(2),
148 B(JumpIfTrue), U8(6), 148 B(JumpIfTrue), U8(6),
149 B(Jump), U8(6), 149 B(Jump), U8(6),
150 /* 66 S> */ B(Jump), U8(10), 150 /* 66 S> */ B(Jump), U8(10),
151 /* 82 S> */ B(Jump), U8(8), 151 /* 82 S> */ B(Jump), U8(8),
152 /* 99 S> */ B(LdaSmi), U8(1), 152 /* 99 S> */ B(LdaSmi), U8(1),
153 B(Star), R(1), 153 B(Star), R(1),
154 /* 106 S> */ B(Jump), U8(2), 154 /* 106 S> */ B(Jump), U8(2),
155 B(LdaUndefined), 155 B(LdaUndefined),
156 /* 115 S> */ B(Return), 156 /* 115 S> */ B(Return),
157 ] 157 ]
158 constant pool: [ 158 constant pool: [
159 ] 159 ]
160 handlers: [ 160 handlers: [
161 ] 161 ]
162 162
163 --- 163 ---
164 snippet: " 164 snippet: "
165 var a = 1; 165 var a = 1;
166 switch(typeof(a)) { 166 switch(typeof(a)) {
167 case 2: a = 1; break; 167 case 2: a = 1; break;
168 case 3: a = 2; break; 168 case 3: a = 2; break;
169 default: a = 3; break; 169 default: a = 3; break;
170 } 170 }
171 " 171 "
172 frame size: 3 172 frame size: 3
173 parameter count: 1 173 parameter count: 1
174 bytecode array length: 44 174 bytecode array length: 45
175 bytecodes: [ 175 bytecodes: [
176 /* 30 E> */ B(StackCheck), 176 /* 30 E> */ B(StackCheck),
177 /* 42 S> */ B(LdaSmi), U8(1), 177 /* 42 S> */ B(LdaSmi), U8(1),
178 /* 42 E> */ B(Star), R(1), 178 /* 42 E> */ B(Star), R(1),
179 B(TypeOf), 179 B(TypeOf),
180 B(Star), R(0), 180 B(Star), R(0),
181 /* 45 S> */ B(Star), R(2), 181 /* 45 S> */ B(LdaSmi), U8(2),
182 B(LdaSmi), U8(2), 182 B(TestEqualStrict), R(0),
183 B(TestEqualStrict), R(2), 183 B(Mov), R(0), R(2),
184 B(JumpIfTrue), U8(10), 184 B(JumpIfToBooleanTrue), U8(10),
185 B(LdaSmi), U8(3), 185 B(LdaSmi), U8(3),
186 B(TestEqualStrict), R(2), 186 B(TestEqualStrict), R(2),
187 B(JumpIfTrue), U8(10), 187 B(JumpIfTrue), U8(10),
188 B(Jump), U8(14), 188 B(Jump), U8(14),
189 /* 74 S> */ B(LdaSmi), U8(1), 189 /* 74 S> */ B(LdaSmi), U8(1),
190 B(Star), R(1), 190 B(Star), R(1),
191 /* 81 S> */ B(Jump), U8(14), 191 /* 81 S> */ B(Jump), U8(14),
192 /* 97 S> */ B(LdaSmi), U8(2), 192 /* 97 S> */ B(LdaSmi), U8(2),
193 B(Star), R(1), 193 B(Star), R(1),
194 /* 104 S> */ B(Jump), U8(8), 194 /* 104 S> */ B(Jump), U8(8),
(...skipping 11 matching lines...) Expand all
206 --- 206 ---
207 snippet: " 207 snippet: "
208 var a = 1; 208 var a = 1;
209 switch(a) { 209 switch(a) {
210 case typeof(a): a = 1; break; 210 case typeof(a): a = 1; break;
211 default: a = 2; break; 211 default: a = 2; break;
212 } 212 }
213 " 213 "
214 frame size: 3 214 frame size: 3
215 parameter count: 1 215 parameter count: 1
216 bytecode array length: 33 216 bytecode array length: 32
217 bytecodes: [ 217 bytecodes: [
218 /* 30 E> */ B(StackCheck), 218 /* 30 E> */ B(StackCheck),
219 /* 42 S> */ B(LdaSmi), U8(1), 219 /* 42 S> */ B(LdaSmi), U8(1),
220 /* 42 E> */ B(Star), R(1), 220 /* 42 E> */ B(Star), R(1),
221 /* 52 E> */ B(Nop), 221 /* 52 E> */ B(Nop),
222 B(Star), R(0), 222 B(Star), R(0),
223 /* 45 S> */ B(Star), R(2), 223 /* 45 S> */ B(TypeOf),
224 B(Ldar), R(1), 224 B(TestEqualStrict), R(0),
225 B(TypeOf), 225 B(Mov), R(0), R(2),
226 B(TestEqualStrict), R(2), 226 B(JumpIfToBooleanTrue), U8(4),
227 B(JumpIfTrue), U8(4),
228 B(Jump), U8(8), 227 B(Jump), U8(8),
229 /* 74 S> */ B(LdaSmi), U8(1), 228 /* 74 S> */ B(LdaSmi), U8(1),
230 B(Star), R(1), 229 B(Star), R(1),
231 /* 81 S> */ B(Jump), U8(8), 230 /* 81 S> */ B(Jump), U8(8),
232 /* 98 S> */ B(LdaSmi), U8(2), 231 /* 98 S> */ B(LdaSmi), U8(2),
233 B(Star), R(1), 232 B(Star), R(1),
234 /* 105 S> */ B(Jump), U8(2), 233 /* 105 S> */ B(Jump), U8(2),
235 B(LdaUndefined), 234 B(LdaUndefined),
236 /* 114 S> */ B(Return), 235 /* 114 S> */ B(Return),
237 ] 236 ]
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 a = 2; 309 a = 2;
311 a = 2; 310 a = 2;
312 break; 311 break;
313 case 2: 312 case 2:
314 a = 3; 313 a = 3;
315 break; 314 break;
316 } 315 }
317 " 316 "
318 frame size: 3 317 frame size: 3
319 parameter count: 1 318 parameter count: 1
320 bytecode array length: 290 319 bytecode array length: 291
321 bytecodes: [ 320 bytecodes: [
322 /* 30 E> */ B(StackCheck), 321 /* 30 E> */ B(StackCheck),
323 /* 42 S> */ B(LdaSmi), U8(1), 322 /* 42 S> */ B(LdaSmi), U8(1),
324 /* 42 E> */ B(Star), R(1), 323 /* 42 E> */ B(Star), R(1),
325 /* 52 E> */ B(Nop), 324 /* 52 E> */ B(Nop),
326 B(Star), R(0), 325 B(Star), R(0),
327 /* 45 S> */ B(Star), R(2), 326 /* 45 S> */ B(LdaSmi), U8(1),
328 B(LdaSmi), U8(1), 327 B(TestEqualStrict), R(0),
329 B(TestEqualStrict), R(2), 328 B(Mov), R(0), R(2),
330 B(JumpIfTrue), U8(10), 329 B(JumpIfToBooleanTrue), U8(10),
331 B(LdaSmi), U8(2), 330 B(LdaSmi), U8(2),
332 B(TestEqualStrict), R(2), 331 B(TestEqualStrict), R(2),
333 B(JumpIfTrueConstant), U8(0), 332 B(JumpIfTrueConstant), U8(0),
334 B(JumpConstant), U8(1), 333 B(JumpConstant), U8(1),
335 /* 68 S> */ B(LdaSmi), U8(2), 334 /* 68 S> */ B(LdaSmi), U8(2),
336 B(Star), R(1), 335 B(Star), R(1),
337 /* 77 S> */ B(LdaSmi), U8(2), 336 /* 77 S> */ B(LdaSmi), U8(2),
338 B(Star), R(1), 337 B(Star), R(1),
339 /* 86 S> */ B(LdaSmi), U8(2), 338 /* 86 S> */ B(LdaSmi), U8(2),
340 B(Star), R(1), 339 B(Star), R(1),
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 case 1: 480 case 1:
482 switch(a + 1) { 481 switch(a + 1) {
483 case 2 : a = 1; break; 482 case 2 : a = 1; break;
484 default : a = 2; break; 483 default : a = 2; break;
485 } // fall-through 484 } // fall-through
486 case 2: a = 3; 485 case 2: a = 3;
487 } 486 }
488 " 487 "
489 frame size: 5 488 frame size: 5
490 parameter count: 1 489 parameter count: 1
491 bytecode array length: 62 490 bytecode array length: 60
492 bytecodes: [ 491 bytecodes: [
493 /* 30 E> */ B(StackCheck), 492 /* 30 E> */ B(StackCheck),
494 /* 42 S> */ B(LdaSmi), U8(1), 493 /* 42 S> */ B(LdaSmi), U8(1),
495 /* 42 E> */ B(Star), R(2), 494 /* 42 E> */ B(Star), R(2),
496 /* 52 E> */ B(Nop), 495 /* 52 E> */ B(Nop),
497 B(Star), R(0), 496 B(Star), R(0),
498 /* 45 S> */ B(Star), R(3), 497 /* 45 S> */ B(LdaSmi), U8(1),
499 B(LdaSmi), U8(1), 498 B(TestEqualStrict), R(0),
500 B(TestEqualStrict), R(3), 499 B(Mov), R(0), R(3),
501 B(JumpIfTrue), U8(10), 500 B(JumpIfToBooleanTrue), U8(10),
502 B(LdaSmi), U8(2), 501 B(LdaSmi), U8(2),
503 B(TestEqualStrict), R(3), 502 B(TestEqualStrict), R(3),
504 B(JumpIfTrue), U8(36), 503 B(JumpIfTrue), U8(33),
505 B(Jump), U8(38), 504 B(Jump), U8(35),
506 /* 77 E> */ B(Ldar), R(2), 505 /* 77 E> */ B(LdaSmi), U8(1),
507 B(Star), R(4), 506 B(Add), R(2),
508 B(LdaSmi), U8(1),
509 B(Add), R(4),
510 B(Star), R(1), 507 B(Star), R(1),
511 /* 70 S> */ B(Star), R(4), 508 /* 70 S> */ B(LdaSmi), U8(2),
512 B(LdaSmi), U8(2), 509 B(TestEqualStrict), R(1),
513 B(TestEqualStrict), R(4), 510 B(Mov), R(1), R(4),
514 B(JumpIfTrue), U8(4), 511 B(JumpIfToBooleanTrue), U8(4),
515 B(Jump), U8(8), 512 B(Jump), U8(8),
516 /* 101 S> */ B(LdaSmi), U8(1), 513 /* 101 S> */ B(LdaSmi), U8(1),
517 B(Star), R(2), 514 B(Star), R(2),
518 /* 108 S> */ B(Jump), U8(8), 515 /* 108 S> */ B(Jump), U8(8),
519 /* 131 S> */ B(LdaSmi), U8(2), 516 /* 131 S> */ B(LdaSmi), U8(2),
520 B(Star), R(2), 517 B(Star), R(2),
521 /* 138 S> */ B(Jump), U8(2), 518 /* 138 S> */ B(Jump), U8(2),
522 /* 176 S> */ B(LdaSmi), U8(3), 519 /* 176 S> */ B(LdaSmi), U8(3),
523 /* 178 E> */ B(Star), R(2), 520 /* 178 E> */ B(Star), R(2),
524 B(LdaUndefined), 521 B(LdaUndefined),
525 /* 185 S> */ B(Return), 522 /* 185 S> */ B(Return),
526 ] 523 ]
527 constant pool: [ 524 constant pool: [
528 ] 525 ]
529 handlers: [ 526 handlers: [
530 ] 527 ]
531 528
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698