OLD | NEW |
---|---|
1 # | 1 # |
2 # Autogenerated by generate-bytecode-expectations. | 2 # Autogenerated by generate-bytecode-expectations. |
3 # | 3 # |
4 | 4 |
5 --- | 5 --- |
6 pool type: string | 6 pool type: string |
7 execute: yes | 7 execute: yes |
8 wrap: yes | 8 wrap: yes |
9 | 9 |
10 --- | 10 --- |
(...skipping 26 matching lines...) Expand all Loading... | |
37 ] | 37 ] |
38 | 38 |
39 --- | 39 --- |
40 snippet: " | 40 snippet: " |
41 var x = 55; | 41 var x = 55; |
42 var y = (x = 100); | 42 var y = (x = 100); |
43 return y; | 43 return y; |
44 " | 44 " |
45 frame size: 2 | 45 frame size: 2 |
46 parameter count: 1 | 46 parameter count: 1 |
47 bytecode array length: 12 | 47 bytecode array length: 14 |
48 bytecodes: [ | 48 bytecodes: [ |
49 /* 30 E> */ B(StackCheck), | 49 /* 30 E> */ B(StackCheck), |
50 /* 42 S> */ B(LdaSmi), U8(55), | 50 /* 42 S> */ B(LdaSmi), U8(55), |
51 /* 42 E> */ B(Star), R(0), | 51 /* 42 E> */ B(Star), R(0), |
52 /* 57 S> */ B(LdaSmi), U8(100), | 52 /* 57 S> */ B(LdaSmi), U8(100), |
53 /* 57 E> */ B(Star), R(0), | 53 /* 57 E> */ B(Star), R(0), |
54 /* 57 E> */ B(Star), R(1), | 54 /* 57 E> */ B(Star), R(1), |
55 /* 65 S> */ B(Ldar), R(1), | |
Yang
2016/05/20 08:00:55
How come we now have an additional position? It us
oth
2016/05/20 09:01:04
Yes, it matches FCG behavior. With the register op
| |
55 /* 75 S> */ B(Return), | 56 /* 75 S> */ B(Return), |
56 ] | 57 ] |
57 constant pool: [ | 58 constant pool: [ |
58 ] | 59 ] |
59 handlers: [ | 60 handlers: [ |
60 ] | 61 ] |
61 | 62 |
62 --- | 63 --- |
63 snippet: " | 64 snippet: " |
64 var x = 55; | 65 var x = 55; |
65 x = x + (x = 100) + (x = 101); | 66 x = x + (x = 100) + (x = 101); |
66 return x; | 67 return x; |
67 " | 68 " |
68 frame size: 3 | 69 frame size: 3 |
69 parameter count: 1 | 70 parameter count: 1 |
70 bytecode array length: 24 | 71 bytecode array length: 27 |
71 bytecodes: [ | 72 bytecodes: [ |
72 /* 30 E> */ B(StackCheck), | 73 /* 30 E> */ B(StackCheck), |
73 /* 42 S> */ B(LdaSmi), U8(55), | 74 /* 42 S> */ B(LdaSmi), U8(55), |
74 /* 42 E> */ B(Star), R(0), | 75 /* 42 E> */ B(Star), R(0), |
75 /* 46 S> */ B(Star), R(1), | 76 /* 46 S> */ B(LdaSmi), U8(100), |
76 B(LdaSmi), U8(100), | 77 /* 57 E> */ B(Mov), R(0), R(1), |
77 /* 57 E> */ B(Star), R(0), | 78 B(Star), R(0), |
78 B(Add), R(1), | 79 B(Add), R(1), |
79 B(Star), R(2), | 80 B(Star), R(2), |
80 B(LdaSmi), U8(101), | 81 B(LdaSmi), U8(101), |
81 /* 69 E> */ B(Star), R(0), | 82 /* 69 E> */ B(Star), R(0), |
82 B(Add), R(2), | 83 B(Add), R(2), |
83 /* 48 E> */ B(Star), R(0), | 84 /* 48 E> */ B(Star), R(0), |
85 /* 77 S> */ B(Ldar), R(0), | |
Yang
2016/05/20 08:00:55
Ditto. This even seems unnecessary, since Ldar R0
oth
2016/05/20 09:01:04
The question is whether it's better to match FCG o
| |
84 /* 87 S> */ B(Return), | 86 /* 87 S> */ B(Return), |
85 ] | 87 ] |
86 constant pool: [ | 88 constant pool: [ |
87 ] | 89 ] |
88 handlers: [ | 90 handlers: [ |
89 ] | 91 ] |
90 | 92 |
91 --- | 93 --- |
92 snippet: " | 94 snippet: " |
93 var x = 55; | 95 var x = 55; |
94 x = (x = 56) - x + (x = 57); | 96 x = (x = 56) - x + (x = 57); |
95 x++; | 97 x++; |
96 return x; | 98 return x; |
97 " | 99 " |
98 frame size: 3 | 100 frame size: 3 |
99 parameter count: 1 | 101 parameter count: 1 |
100 bytecode array length: 32 | 102 bytecode array length: 30 |
101 bytecodes: [ | 103 bytecodes: [ |
102 /* 30 E> */ B(StackCheck), | 104 /* 30 E> */ B(StackCheck), |
103 /* 42 S> */ B(LdaSmi), U8(55), | 105 /* 42 S> */ B(LdaSmi), U8(55), |
104 /* 42 E> */ B(Star), R(0), | 106 /* 42 E> */ B(Star), R(0), |
105 /* 46 S> */ B(LdaSmi), U8(56), | 107 /* 46 S> */ B(LdaSmi), U8(56), |
106 /* 53 E> */ B(Star), R(0), | 108 /* 53 E> */ B(Star), R(0), |
107 B(Star), R(1), | 109 /* 61 E> */ B(Sub), R(0), |
108 /* 61 E> */ B(Ldar), R(0), | |
109 B(Sub), R(1), | |
110 B(Star), R(2), | 110 B(Star), R(2), |
111 B(LdaSmi), U8(57), | 111 B(LdaSmi), U8(57), |
112 /* 68 E> */ B(Star), R(0), | 112 /* 68 E> */ B(Star), R(0), |
113 B(Add), R(2), | 113 B(Add), R(2), |
114 /* 48 E> */ B(Star), R(0), | 114 /* 48 E> */ B(Star), R(0), |
115 /* 75 S> */ B(ToNumber), | 115 /* 75 S> */ B(ToNumber), |
116 B(Star), R(1), | 116 B(Star), R(1), |
117 B(Inc), | 117 B(Inc), |
118 /* 76 E> */ B(Star), R(0), | 118 /* 76 E> */ B(Star), R(0), |
119 /* 80 S> */ B(Ldar), R(0), | |
119 /* 90 S> */ B(Return), | 120 /* 90 S> */ B(Return), |
120 ] | 121 ] |
121 constant pool: [ | 122 constant pool: [ |
122 ] | 123 ] |
123 handlers: [ | 124 handlers: [ |
124 ] | 125 ] |
125 | 126 |
126 --- | 127 --- |
127 snippet: " | 128 snippet: " |
128 var x = 55; | 129 var x = 55; |
129 var y = x + (x = 1) + (x = 2) + (x = 3); | 130 var y = x + (x = 1) + (x = 2) + (x = 3); |
130 return y; | 131 return y; |
131 " | 132 " |
132 frame size: 4 | 133 frame size: 4 |
133 parameter count: 1 | 134 parameter count: 1 |
134 bytecode array length: 32 | 135 bytecode array length: 35 |
135 bytecodes: [ | 136 bytecodes: [ |
136 /* 30 E> */ B(StackCheck), | 137 /* 30 E> */ B(StackCheck), |
137 /* 42 S> */ B(LdaSmi), U8(55), | 138 /* 42 S> */ B(LdaSmi), U8(55), |
138 /* 42 E> */ B(Star), R(0), | 139 /* 42 E> */ B(Star), R(0), |
139 /* 76 S> */ B(Star), R(2), | 140 /* 76 S> */ B(LdaSmi), U8(1), |
140 B(LdaSmi), U8(1), | 141 /* 61 E> */ B(Mov), R(0), R(2), |
141 /* 61 E> */ B(Star), R(0), | 142 B(Star), R(0), |
142 B(Add), R(2), | 143 B(Add), R(2), |
143 B(Star), R(3), | 144 B(Star), R(3), |
144 B(LdaSmi), U8(2), | 145 B(LdaSmi), U8(2), |
145 /* 71 E> */ B(Star), R(0), | 146 /* 71 E> */ B(Star), R(0), |
146 B(Add), R(3), | 147 B(Add), R(3), |
147 B(Star), R(2), | 148 B(Star), R(2), |
148 B(LdaSmi), U8(3), | 149 B(LdaSmi), U8(3), |
149 /* 81 E> */ B(Star), R(0), | 150 /* 81 E> */ B(Star), R(0), |
150 B(Add), R(2), | 151 B(Add), R(2), |
151 /* 76 E> */ B(Star), R(1), | 152 /* 76 E> */ B(Star), R(1), |
153 /* 87 S> */ B(Ldar), R(1), | |
152 /* 97 S> */ B(Return), | 154 /* 97 S> */ B(Return), |
153 ] | 155 ] |
154 constant pool: [ | 156 constant pool: [ |
155 ] | 157 ] |
156 handlers: [ | 158 handlers: [ |
157 ] | 159 ] |
158 | 160 |
159 --- | 161 --- |
160 snippet: " | 162 snippet: " |
161 var x = 55; | 163 var x = 55; |
162 var x = x + (x = 1) + (x = 2) + (x = 3); | 164 var x = x + (x = 1) + (x = 2) + (x = 3); |
163 return x; | 165 return x; |
164 " | 166 " |
165 frame size: 3 | 167 frame size: 3 |
166 parameter count: 1 | 168 parameter count: 1 |
167 bytecode array length: 32 | 169 bytecode array length: 35 |
168 bytecodes: [ | 170 bytecodes: [ |
169 /* 30 E> */ B(StackCheck), | 171 /* 30 E> */ B(StackCheck), |
170 /* 42 S> */ B(LdaSmi), U8(55), | 172 /* 42 S> */ B(LdaSmi), U8(55), |
171 /* 42 E> */ B(Star), R(0), | 173 /* 42 E> */ B(Star), R(0), |
172 /* 76 S> */ B(Star), R(1), | 174 /* 76 S> */ B(LdaSmi), U8(1), |
173 B(LdaSmi), U8(1), | 175 /* 61 E> */ B(Mov), R(0), R(1), |
174 /* 61 E> */ B(Star), R(0), | 176 B(Star), R(0), |
175 B(Add), R(1), | 177 B(Add), R(1), |
176 B(Star), R(2), | 178 B(Star), R(2), |
177 B(LdaSmi), U8(2), | 179 B(LdaSmi), U8(2), |
178 /* 71 E> */ B(Star), R(0), | 180 /* 71 E> */ B(Star), R(0), |
179 B(Add), R(2), | 181 B(Add), R(2), |
180 B(Star), R(1), | 182 B(Star), R(1), |
181 B(LdaSmi), U8(3), | 183 B(LdaSmi), U8(3), |
182 /* 81 E> */ B(Star), R(0), | 184 /* 81 E> */ B(Star), R(0), |
183 B(Add), R(1), | 185 B(Add), R(1), |
184 /* 76 E> */ B(Star), R(0), | 186 /* 76 E> */ B(Star), R(0), |
187 /* 87 S> */ B(Ldar), R(0), | |
185 /* 97 S> */ B(Return), | 188 /* 97 S> */ B(Return), |
186 ] | 189 ] |
187 constant pool: [ | 190 constant pool: [ |
188 ] | 191 ] |
189 handlers: [ | 192 handlers: [ |
190 ] | 193 ] |
191 | 194 |
192 --- | 195 --- |
193 snippet: " | 196 snippet: " |
194 var x = 10, y = 20; | 197 var x = 10, y = 20; |
195 return x + (x = 1) + (x + 1) * (y = 2) + (y = 3) + (x = 4) + (y = 5) + y; | 198 return x + (x = 1) + (x + 1) * (y = 2) + (y = 3) + (x = 4) + (y = 5) + y; |
196 " | 199 " |
197 frame size: 5 | 200 frame size: 5 |
198 parameter count: 1 | 201 parameter count: 1 |
199 bytecode array length: 70 | 202 bytecode array length: 65 |
200 bytecodes: [ | 203 bytecodes: [ |
201 /* 30 E> */ B(StackCheck), | 204 /* 30 E> */ B(StackCheck), |
202 /* 42 S> */ B(LdaSmi), U8(10), | 205 /* 42 S> */ B(LdaSmi), U8(10), |
203 /* 42 E> */ B(Star), R(0), | 206 /* 42 E> */ B(Star), R(0), |
204 /* 50 S> */ B(LdaSmi), U8(20), | 207 /* 50 S> */ B(LdaSmi), U8(20), |
205 /* 50 E> */ B(Star), R(1), | 208 /* 50 E> */ B(Star), R(1), |
206 /* 54 S> */ B(Ldar), R(0), | 209 /* 54 S> */ B(LdaSmi), U8(1), |
207 B(Star), R(2), | 210 /* 68 E> */ B(Mov), R(0), R(2), |
208 B(LdaSmi), U8(1), | 211 B(Star), R(0), |
209 /* 68 E> */ B(Star), R(0), | |
210 B(Add), R(2), | 212 B(Add), R(2), |
211 B(Star), R(3), | 213 B(Star), R(3), |
212 /* 76 E> */ B(Ldar), R(0), | 214 /* 76 E> */ B(LdaSmi), U8(1), |
213 B(Star), R(2), | 215 B(Add), R(0), |
214 B(LdaSmi), U8(1), | |
215 B(Add), R(2), | |
216 B(Star), R(4), | 216 B(Star), R(4), |
217 B(LdaSmi), U8(2), | 217 B(LdaSmi), U8(2), |
218 /* 88 E> */ B(Star), R(1), | 218 /* 88 E> */ B(Star), R(1), |
219 B(Mul), R(4), | 219 B(Mul), R(4), |
220 B(Add), R(3), | 220 B(Add), R(3), |
221 B(Star), R(2), | 221 B(Star), R(2), |
222 B(LdaSmi), U8(3), | 222 B(LdaSmi), U8(3), |
223 /* 98 E> */ B(Star), R(1), | 223 /* 98 E> */ B(Star), R(1), |
224 B(Add), R(2), | 224 B(Add), R(2), |
225 B(Star), R(3), | 225 B(Star), R(3), |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
269 B(Inc), | 269 B(Inc), |
270 /* 72 E> */ B(Star), R(0), | 270 /* 72 E> */ B(Star), R(0), |
271 B(Add), R(3), | 271 B(Add), R(3), |
272 /* 76 S> */ B(Return), | 272 /* 76 S> */ B(Return), |
273 ] | 273 ] |
274 constant pool: [ | 274 constant pool: [ |
275 ] | 275 ] |
276 handlers: [ | 276 handlers: [ |
277 ] | 277 ] |
278 | 278 |
OLD | NEW |