diff options
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r-- | src/buildvm_x64win.h | 1052 |
1 files changed, 526 insertions, 526 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 07c36207..6ef2e063 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[14034] = { | 15 | static const unsigned char build_actionlist[14042] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, |
@@ -163,122 +163,122 @@ static const unsigned char build_actionlist[14034] = { | |||
163 | 199,193,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,13, | 163 | 199,193,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,13, |
164 | 252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142, | 164 | 252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142, |
165 | 233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,76,36,80, | 165 | 233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,76,36,80, |
166 | 137,185,233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4, | 166 | 137,185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233, |
167 | 248,77,139,106,252,248,139,173,233,139,114,252,252,137,116,36,100,137,108, | 167 | 252,233,244,4,248,77,139,106,252,248,139,173,233,139,114,252,252,137,116, |
168 | 36,80,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,55,139, | 168 | 36,100,137,108,36,80,72,131,189,233,0,15,133,244,55,255,128,189,233,235,15, |
169 | 141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,116,193,252,248, | 169 | 135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141, |
170 | 59,181,233,15,135,244,55,137,181,233,139,108,36,96,137,149,233,137,149,233, | 170 | 116,193,252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,96,137,149, |
171 | 141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,139,68, | 171 | 233,137,149,233,141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248, |
172 | 46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244, | 172 | 2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57, |
173 | 2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,139,108,36,96,139, | 173 | 206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,139, |
174 | 116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139, | 174 | 108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4, |
175 | 190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238, | 175 | 139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141, |
176 | 3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139, | 176 | 4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5, |
177 | 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139, | 177 | 139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248, |
178 | 116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,244, | 178 | 6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132, |
179 | 14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,76,36,80,137,185, | 179 | 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139, |
180 | 233,137,252,242,137,252,233,232,251,1,0,139,149,233,252,233,244,4,248,78, | 180 | 76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139, |
181 | 139,108,36,96,72,252,247,133,233,237,15,132,244,55,255,137,149,233,141,68, | 181 | 149,233,252,233,244,4,248,78,139,108,36,96,72,252,247,133,233,237,15,132, |
182 | 194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233, | 182 | 244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233, |
183 | 244,16,255,248,64,139,114,252,252,221,90,252,248,252,233,244,58,248,79,129, | 183 | 176,235,136,133,233,252,233,244,16,255,248,64,139,114,252,252,221,90,252, |
184 | 248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239, | ||
185 | 15,135,244,55,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193, | ||
186 | 248,63,139,114,252,252,252,242,15,17,66,252,248,255,248,79,129,252,248,239, | ||
187 | 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,225,248,63,248,64, | ||
188 | 139,114,252,252,221,90,252,248,255,248,58,184,237,248,69,137,68,36,84,248, | ||
189 | 56,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182, | ||
190 | 78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198, | ||
191 | 4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,1,252, | ||
192 | 233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14, | ||
193 | 255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, | ||
194 | 252,242,15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,244,55,129,122, | ||
195 | 253,4,239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,244,63,248,83, | ||
196 | 255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, | ||
197 | 15,16,2,232,244,84,252,233,244,63,255,248,80,129,252,248,239,15,130,244,55, | ||
198 | 129,122,253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,64,248,81,129, | ||
199 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82, | ||
200 | 252,233,244,64,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239, | ||
201 | 15,135,244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,252,248,239, | ||
202 | 15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241, | ||
203 | 252,233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15, | ||
204 | 135,244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248, | ||
205 | 239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252, | ||
206 | 233,244,64,248,89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, | ||
207 | 244,55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,239,255,15,130, | ||
208 | 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248, | ||
209 | 91,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217, | ||
210 | 252,242,221,216,252,233,244,64,248,92,129,252,248,239,15,130,244,55,255,129, | ||
211 | 122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252, | ||
212 | 250,217,252,243,252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122, | ||
213 | 253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250, | ||
214 | 217,201,217,252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129, | ||
215 | 122,253,4,239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64, | ||
216 | 255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, | ||
217 | 252,242,15,16,2,255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248, | ||
218 | 96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, | ||
219 | 15,16,2,255,137,213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129, | ||
184 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, | 220 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, |
185 | 72,184,237,237,102,72,15,110,200,15,84,193,248,63,139,114,252,252,252,242, | 221 | 255,137,213,232,251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129, |
186 | 15,17,66,252,248,255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239, | ||
187 | 15,135,244,55,221,2,217,225,248,63,248,64,139,114,252,252,221,90,252,248, | ||
188 | 255,248,58,184,237,248,69,137,68,36,84,248,56,252,247,198,237,15,133,244, | ||
189 | 253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209,141, | ||
190 | 20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | ||
191 | 248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252, | ||
192 | 248,252,255,252,255,252,255,252,233,244,14,255,248,80,129,252,248,239,15, | ||
193 | 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,81,2,252,233,244,63, | ||
194 | 248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252, | ||
195 | 242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,252,248,239,15,130,244, | ||
196 | 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,84,252,233,244, | ||
197 | 63,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, | ||
198 | 55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,239,15,130,244,55, | ||
199 | 129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,244,64,248,83,255, | ||
200 | 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244, | ||
201 | 84,252,233,244,64,255,248,85,129,252,248,239,15,130,244,55,129,122,253,4, | ||
202 | 239,15,135,244,55,217,252,237,221,2,217,252,241,252,233,244,64,248,86,129, | ||
203 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,236,221, | ||
204 | 2,217,252,241,252,233,244,64,248,87,129,252,248,239,255,15,130,244,55,129, | ||
205 | 122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,244,64,248,89,129,252, | ||
206 | 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,254,252, | ||
207 | 233,244,64,248,90,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15, | ||
208 | 135,244,55,221,2,217,252,255,252,233,244,64,248,91,129,252,248,239,15,130, | ||
209 | 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,242,221,216,252,233, | ||
210 | 244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,253,4,239,15,135, | ||
211 | 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, | ||
212 | 233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, | ||
213 | 244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, | ||
214 | 243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,253,4,239, | ||
215 | 15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,248,95,129, | ||
216 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, | 222 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, |
217 | 255,137,213,232,251,1,14,137,252,234,252,233,244,63,255,248,96,129,252,248, | 223 | 139,106,252,248,252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248, |
218 | 239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137, | 224 | 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220, |
219 | 213,232,251,1,15,137,252,234,252,233,244,63,255,248,97,129,252,248,239,15, | 225 | 141,233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122, |
220 | 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,137,213,232, | 226 | 253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217, |
221 | 251,1,16,137,252,234,252,233,244,63,248,98,255,248,99,129,252,248,239,15, | 227 | 252,243,252,233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253, |
222 | 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,248, | 228 | 4,239,15,135,244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217, |
223 | 252,242,15,89,133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,244, | 229 | 252,253,221,217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139, |
224 | 55,129,122,253,4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,252, | 230 | 106,4,129,252,253,239,15,135,244,55,139,114,252,252,139,2,137,106,252,252, |
225 | 233,244,64,255,248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,15, | 231 | 137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15, |
226 | 135,244,55,129,122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,252, | 232 | 132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193, |
227 | 233,244,64,248,101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, | 233 | 252,237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255, |
228 | 244,55,129,122,253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,221, | 234 | 139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106, |
229 | 217,252,233,244,64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,252, | 235 | 252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,69,248, |
230 | 253,239,15,135,244,55,139,114,252,252,139,2,137,106,252,252,137,66,252,248, | 236 | 3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255, |
231 | 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, | 237 | 252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242, |
232 | 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41, | 238 | 15,17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252, |
233 | 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, | 239 | 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129, |
234 | 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, | 240 | 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2, |
235 | 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15, | 241 | 255,248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, |
236 | 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, | 242 | 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, |
237 | 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, | 243 | 132,244,250,255,15,40,224,232,244,104,252,242,15,92,224,248,1,252,242,15, |
238 | 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, | 244 | 17,66,252,248,252,242,15,17,34,255,217,192,232,244,104,220,252,233,248,1, |
239 | 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252, | 245 | 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, |
240 | 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255, | 246 | 248,2,184,237,252,233,244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233, |
241 | 248,103,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, | 247 | 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, |
242 | 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, | 248 | 1,255,248,105,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, |
243 | 244,250,255,15,40,224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66, | 249 | 55,129,122,253,12,239,15,135,244,55,221,66,8,221,2,248,1,217,252,248,223, |
244 | 252,248,252,242,15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90, | 250 | 224,158,15,138,244,1,221,217,252,233,244,64,255,248,106,129,252,248,239,15, |
245 | 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, | 251 | 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244, |
246 | 237,252,233,244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, | 252 | 55,252,242,15,16,2,252,242,15,16,74,8,232,244,107,252,233,244,63,255,248, |
247 | 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, | 253 | 106,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122, |
248 | 105,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122, | 254 | 253,12,239,15,135,244,55,221,2,221,66,8,232,244,107,252,233,244,64,255,248, |
249 | 253,12,239,15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15, | 255 | 108,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, |
250 | 138,244,1,221,217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55, | 256 | 15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252, |
251 | 129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242, | 257 | 239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,242,15,93,193,131, |
252 | 15,16,2,252,242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252, | 258 | 197,1,252,233,244,1,255,248,109,129,252,248,239,15,130,244,55,129,122,253, |
253 | 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239, | 259 | 4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63, |
254 | 15,135,244,55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252, | 260 | 129,124,253,252,234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252, |
255 | 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189, | 261 | 248,252,242,15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244, |
256 | 2,0,0,0,248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135, | 262 | 55,255,248,110,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244, |
257 | 244,55,252,242,15,16,76,252,234,252,248,252,242,15,93,193,131,197,1,252,233, | 263 | 55,139,42,255,252,242,15,42,133,233,252,233,244,63,255,219,133,233,252,233, |
258 | 244,1,255,248,109,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, | 264 | 244,64,255,248,111,129,252,248,239,15,133,244,55,129,122,253,4,239,15,133, |
259 | 244,55,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,63,129,124,253, | 265 | 244,55,139,42,139,114,252,252,131,189,233,1,15,130,244,72,15,182,173,233, |
260 | 252,234,252,252,239,15,135,244,55,252,242,15,16,76,252,234,252,248,252,242, | 266 | 255,252,242,15,42,197,252,233,244,63,255,137,108,36,80,219,68,36,80,252,233, |
261 | 15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244,55,255,248, | 267 | 244,64,255,248,112,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1, |
262 | 110,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,42, | 268 | 129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55,255,252,242, |
263 | 255,252,242,15,42,133,233,252,233,244,63,255,219,133,233,252,233,244,64,255, | 269 | 15,44,42,129,252,253,252,255,0,0,0,15,135,244,55,137,108,36,84,255,221,2, |
264 | 248,111,129,252,248,239,15,133,244,55,129,122,253,4,239,15,133,244,55,139, | 270 | 219,92,36,84,129,124,36,84,252,255,0,0,0,15,135,244,55,255,199,68,36,32,1, |
265 | 42,139,114,252,252,131,189,233,1,15,130,244,72,15,182,173,233,255,252,242, | 271 | 0,0,0,72,141,68,36,84,248,113,139,108,36,96,137,149,233,68,139,68,36,32,72, |
266 | 15,42,197,252,233,244,63,255,137,108,36,80,219,68,36,80,252,233,244,64,255, | 272 | 137,194,137,252,233,137,116,36,100,232,251,1,17,139,149,233,139,114,252,252, |
267 | 248,112,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,129,252,248, | 273 | 199,66,252,252,237,137,66,252,248,252,233,244,58,248,114,139,171,233,59,171, |
268 | 239,15,133,244,55,129,122,253,4,239,15,135,244,55,255,252,242,15,44,42,129, | 274 | 233,15,130,244,247,232,244,66,248,1,199,68,36,84,252,255,252,255,252,255, |
269 | 252,253,252,255,0,0,0,15,135,244,55,137,108,36,84,255,221,2,219,92,36,84, | 275 | 252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255, |
270 | 129,124,36,84,252,255,0,0,0,15,135,244,55,255,199,68,36,32,1,0,0,0,72,141, | 276 | 252,242,15,44,106,16,137,108,36,84,255,221,66,16,219,92,36,84,255,248,1,129, |
271 | 68,36,84,248,113,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137, | 277 | 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108, |
272 | 252,233,137,116,36,100,232,251,1,17,139,149,233,139,114,252,252,199,66,252, | 278 | 36,32,139,173,233,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244, |
273 | 252,237,137,66,252,248,252,233,244,58,248,114,139,171,233,59,171,233,15,130, | 279 | 251,248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,115, |
274 | 244,247,232,244,66,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129, | 280 | 141,172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,113,248, |
275 | 252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255,252,242,15, | 281 | 5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, |
276 | 44,106,16,137,108,36,84,255,221,66,16,219,92,36,84,255,248,1,129,122,253, | ||
277 | 4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108,36,32, | ||
278 | 139,173,233,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251, | ||
279 | 248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,115,141, | ||
280 | 172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,113,248,5, | ||
281 | 15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, | ||
282 | 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252, | 282 | 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252, |
283 | 233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244, | 283 | 233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244, |
284 | 55,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,255,129,122,253, | 284 | 55,139,171,233,59,171,233,15,130,244,247,232,244,66,248,1,255,129,122,253, |
@@ -1120,314 +1120,314 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1120 | dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1120 | dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1121 | dasm_put(Dst, 2904, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1121 | dasm_put(Dst, 2904, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); |
1122 | dasm_put(Dst, 3022, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | 1122 | dasm_put(Dst, 3022, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); |
1123 | dasm_put(Dst, 3120, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | 1123 | dasm_put(Dst, 3124, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); |
1124 | dasm_put(Dst, 3187, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | 1124 | dasm_put(Dst, 3191, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); |
1125 | dasm_put(Dst, 3281, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | 1125 | dasm_put(Dst, 3285, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); |
1126 | dasm_put(Dst, 3394, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | 1126 | dasm_put(Dst, 3402, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); |
1127 | if (sse) { | 1127 | if (sse) { |
1128 | dasm_put(Dst, 3421, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1128 | dasm_put(Dst, 3429, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1129 | } else { | 1129 | } else { |
1130 | dasm_put(Dst, 3485, 1+1, LJ_TISNUM); | 1130 | dasm_put(Dst, 3493, 1+1, LJ_TISNUM); |
1131 | } | 1131 | } |
1132 | dasm_put(Dst, 3521, 1+1, FRAME_TYPE, LJ_TNIL); | 1132 | dasm_put(Dst, 3529, 1+1, FRAME_TYPE, LJ_TNIL); |
1133 | if (sse) { | 1133 | if (sse) { |
1134 | dasm_put(Dst, 3615, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1134 | dasm_put(Dst, 3623, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1135 | dasm_put(Dst, 3677, 1+1, LJ_TISNUM); | 1135 | dasm_put(Dst, 3685, 1+1, LJ_TISNUM); |
1136 | } else { | 1136 | } else { |
1137 | dasm_put(Dst, 3707, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1137 | dasm_put(Dst, 3715, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1138 | dasm_put(Dst, 3766, 1+1, LJ_TISNUM); | 1138 | dasm_put(Dst, 3774, 1+1, LJ_TISNUM); |
1139 | } | 1139 | } |
1140 | dasm_put(Dst, 3793, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1140 | dasm_put(Dst, 3801, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1141 | dasm_put(Dst, 3862, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1141 | dasm_put(Dst, 3870, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1142 | dasm_put(Dst, 3919, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1142 | dasm_put(Dst, 3927, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1143 | dasm_put(Dst, 3982, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1143 | dasm_put(Dst, 3990, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1144 | dasm_put(Dst, 4072); | 1144 | dasm_put(Dst, 4080); |
1145 | if (sse) { | 1145 | if (sse) { |
1146 | dasm_put(Dst, 4084, 1+1, LJ_TISNUM); | 1146 | dasm_put(Dst, 4092, 1+1, LJ_TISNUM); |
1147 | } else { | 1147 | } else { |
1148 | } | 1148 | } |
1149 | dasm_put(Dst, 4109); | 1149 | dasm_put(Dst, 4117); |
1150 | if (sse) { | 1150 | if (sse) { |
1151 | dasm_put(Dst, 4123, 1+1, LJ_TISNUM); | 1151 | dasm_put(Dst, 4131, 1+1, LJ_TISNUM); |
1152 | } else { | 1152 | } else { |
1153 | } | 1153 | } |
1154 | dasm_put(Dst, 4148); | 1154 | dasm_put(Dst, 4156); |
1155 | if (sse) { | 1155 | if (sse) { |
1156 | dasm_put(Dst, 4162, 1+1, LJ_TISNUM); | 1156 | dasm_put(Dst, 4170, 1+1, LJ_TISNUM); |
1157 | } else { | 1157 | } else { |
1158 | } | 1158 | } |
1159 | dasm_put(Dst, 4187); | 1159 | dasm_put(Dst, 4195); |
1160 | if (sse) { | 1160 | if (sse) { |
1161 | dasm_put(Dst, 4203, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1161 | dasm_put(Dst, 4211, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1162 | } else { | 1162 | } else { |
1163 | dasm_put(Dst, 4242, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1163 | dasm_put(Dst, 4250, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1164 | } | 1164 | } |
1165 | dasm_put(Dst, 4275, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1165 | dasm_put(Dst, 4283, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1166 | dasm_put(Dst, 4340, 1+1, LJ_TISNUM); | 1166 | dasm_put(Dst, 4348, 1+1, LJ_TISNUM); |
1167 | if (sse) { | 1167 | if (sse) { |
1168 | dasm_put(Dst, 4439); | 1168 | dasm_put(Dst, 4447); |
1169 | } else { | 1169 | } else { |
1170 | dasm_put(Dst, 4445); | 1170 | dasm_put(Dst, 4453); |
1171 | } | 1171 | } |
1172 | dasm_put(Dst, 4454); | 1172 | dasm_put(Dst, 4462); |
1173 | if (sse) { | 1173 | if (sse) { |
1174 | dasm_put(Dst, 4479); | 1174 | dasm_put(Dst, 4487); |
1175 | } else { | 1175 | } else { |
1176 | dasm_put(Dst, 4485); | 1176 | dasm_put(Dst, 4493); |
1177 | } | 1177 | } |
1178 | dasm_put(Dst, 4488, 1+2); | 1178 | dasm_put(Dst, 4496, 1+2); |
1179 | if (sse) { | 1179 | if (sse) { |
1180 | dasm_put(Dst, 4497); | ||
1181 | } else { | ||
1182 | dasm_put(Dst, 4505); | 1180 | dasm_put(Dst, 4505); |
1181 | } else { | ||
1182 | dasm_put(Dst, 4513); | ||
1183 | } | 1183 | } |
1184 | dasm_put(Dst, 4513); | 1184 | dasm_put(Dst, 4521); |
1185 | if (sse) { | 1185 | if (sse) { |
1186 | dasm_put(Dst, 4516, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1186 | dasm_put(Dst, 4524, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1187 | } else { | 1187 | } else { |
1188 | dasm_put(Dst, 4543); | 1188 | dasm_put(Dst, 4551); |
1189 | } | 1189 | } |
1190 | dasm_put(Dst, 4562); | 1190 | dasm_put(Dst, 4570); |
1191 | if (sse) { | 1191 | if (sse) { |
1192 | dasm_put(Dst, 4578, 1+1, LJ_TISNUM); | 1192 | dasm_put(Dst, 4586, 1+1, LJ_TISNUM); |
1193 | } else { | 1193 | } else { |
1194 | dasm_put(Dst, 4603, 1+1, LJ_TISNUM); | 1194 | dasm_put(Dst, 4611, 1+1, LJ_TISNUM); |
1195 | } | 1195 | } |
1196 | dasm_put(Dst, 4625); | 1196 | dasm_put(Dst, 4633); |
1197 | if (sse) { | 1197 | if (sse) { |
1198 | dasm_put(Dst, 4647); | 1198 | dasm_put(Dst, 4655); |
1199 | } else { | 1199 | } else { |
1200 | dasm_put(Dst, 4673); | 1200 | dasm_put(Dst, 4681); |
1201 | } | 1201 | } |
1202 | dasm_put(Dst, 4690, 1+2); | 1202 | dasm_put(Dst, 4698, 1+2); |
1203 | if (sse) { | 1203 | if (sse) { |
1204 | dasm_put(Dst, 4730); | ||
1205 | } else { | ||
1206 | dasm_put(Dst, 4738); | 1204 | dasm_put(Dst, 4738); |
1205 | } else { | ||
1206 | dasm_put(Dst, 4746); | ||
1207 | } | 1207 | } |
1208 | dasm_put(Dst, 4748, 2+1, LJ_TISNUM, LJ_TISNUM); | 1208 | dasm_put(Dst, 4756, 2+1, LJ_TISNUM, LJ_TISNUM); |
1209 | if (sse) { | 1209 | if (sse) { |
1210 | dasm_put(Dst, 4800, 2+1, LJ_TISNUM, LJ_TISNUM); | 1210 | dasm_put(Dst, 4808, 2+1, LJ_TISNUM, LJ_TISNUM); |
1211 | } else { | 1211 | } else { |
1212 | dasm_put(Dst, 4847, 2+1, LJ_TISNUM, LJ_TISNUM); | 1212 | dasm_put(Dst, 4855, 2+1, LJ_TISNUM, LJ_TISNUM); |
1213 | } | 1213 | } |
1214 | if (sse) { | 1214 | if (sse) { |
1215 | dasm_put(Dst, 4888, 1+1, LJ_TISNUM, LJ_TISNUM); | 1215 | dasm_put(Dst, 4896, 1+1, LJ_TISNUM, LJ_TISNUM); |
1216 | } else { | 1216 | } else { |
1217 | } | 1217 | } |
1218 | if (sse) { | 1218 | if (sse) { |
1219 | dasm_put(Dst, 4959, 1+1, LJ_TISNUM, LJ_TISNUM); | 1219 | dasm_put(Dst, 4967, 1+1, LJ_TISNUM, LJ_TISNUM); |
1220 | } else { | 1220 | } else { |
1221 | } | 1221 | } |
1222 | if (!sse) { | 1222 | if (!sse) { |
1223 | dasm_put(Dst, 5030); | 1223 | dasm_put(Dst, 5038); |
1224 | } | 1224 | } |
1225 | dasm_put(Dst, 5039, 1+1, LJ_TSTR); | 1225 | dasm_put(Dst, 5047, 1+1, LJ_TSTR); |
1226 | if (sse) { | 1226 | if (sse) { |
1227 | dasm_put(Dst, 5061, Dt5(->len)); | 1227 | dasm_put(Dst, 5069, Dt5(->len)); |
1228 | } else { | 1228 | } else { |
1229 | dasm_put(Dst, 5072, Dt5(->len)); | 1229 | dasm_put(Dst, 5080, Dt5(->len)); |
1230 | } | 1230 | } |
1231 | dasm_put(Dst, 5080, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1231 | dasm_put(Dst, 5088, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1232 | if (sse) { | 1232 | if (sse) { |
1233 | dasm_put(Dst, 5118); | 1233 | dasm_put(Dst, 5126); |
1234 | } else { | 1234 | } else { |
1235 | dasm_put(Dst, 5128); | 1235 | dasm_put(Dst, 5136); |
1236 | } | 1236 | } |
1237 | dasm_put(Dst, 5141, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1237 | dasm_put(Dst, 5149, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1238 | if (sse) { | 1238 | if (sse) { |
1239 | dasm_put(Dst, 5176); | 1239 | dasm_put(Dst, 5184); |
1240 | } else { | 1240 | } else { |
1241 | dasm_put(Dst, 5198); | 1241 | dasm_put(Dst, 5206); |
1242 | } | 1242 | } |
1243 | dasm_put(Dst, 5218, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1243 | dasm_put(Dst, 5226, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1244 | dasm_put(Dst, 2162); | 1244 | dasm_put(Dst, 2162); |
1245 | if (sse) { | 1245 | if (sse) { |
1246 | dasm_put(Dst, 5326); | 1246 | dasm_put(Dst, 5334); |
1247 | } else { | 1247 | } else { |
1248 | dasm_put(Dst, 5337); | 1248 | dasm_put(Dst, 5345); |
1249 | } | 1249 | } |
1250 | dasm_put(Dst, 5345, LJ_TSTR, LJ_TISNUM, Dt5(->len)); | 1250 | dasm_put(Dst, 5353, LJ_TSTR, LJ_TISNUM, Dt5(->len)); |
1251 | if (sse) { | 1251 | if (sse) { |
1252 | dasm_put(Dst, 5375); | 1252 | dasm_put(Dst, 5383); |
1253 | } else { | 1253 | } else { |
1254 | } | 1254 | } |
1255 | dasm_put(Dst, 5382, sizeof(GCstr)-1); | 1255 | dasm_put(Dst, 5390, sizeof(GCstr)-1); |
1256 | dasm_put(Dst, 5457, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1256 | dasm_put(Dst, 5465, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1257 | dasm_put(Dst, 5516, LJ_TSTR, LJ_TISNUM); | 1257 | dasm_put(Dst, 5524, LJ_TSTR, LJ_TISNUM); |
1258 | if (sse) { | 1258 | if (sse) { |
1259 | dasm_put(Dst, 5537); | 1259 | dasm_put(Dst, 5545); |
1260 | } else { | 1260 | } else { |
1261 | dasm_put(Dst, 5544); | 1261 | dasm_put(Dst, 5552); |
1262 | } | 1262 | } |
1263 | dasm_put(Dst, 5556, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1263 | dasm_put(Dst, 5564, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); |
1264 | dasm_put(Dst, 5621, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1264 | dasm_put(Dst, 5629, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1265 | dasm_put(Dst, 5684, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1265 | dasm_put(Dst, 5692, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); |
1266 | dasm_put(Dst, 5755, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1266 | dasm_put(Dst, 5763, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); |
1267 | dasm_put(Dst, 5840, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1267 | dasm_put(Dst, 5848, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1268 | dasm_put(Dst, 5910, 1+1, LJ_TTAB); | 1268 | dasm_put(Dst, 5918, 1+1, LJ_TTAB); |
1269 | if (sse) { | 1269 | if (sse) { |
1270 | dasm_put(Dst, 5978); | 1270 | dasm_put(Dst, 5986); |
1271 | } else { | 1271 | } else { |
1272 | } | 1272 | } |
1273 | if (sse) { | 1273 | if (sse) { |
1274 | dasm_put(Dst, 5988, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1274 | dasm_put(Dst, 5996, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1275 | } else { | 1275 | } else { |
1276 | } | 1276 | } |
1277 | if (sse) { | 1277 | if (sse) { |
1278 | dasm_put(Dst, 6040, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1278 | dasm_put(Dst, 6048, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1279 | } else { | 1279 | } else { |
1280 | } | 1280 | } |
1281 | dasm_put(Dst, 6083, LJ_TISNUM); | 1281 | dasm_put(Dst, 6091, LJ_TISNUM); |
1282 | if (sse) { | 1282 | if (sse) { |
1283 | dasm_put(Dst, 6110); | 1283 | dasm_put(Dst, 6118); |
1284 | } else { | 1284 | } else { |
1285 | } | 1285 | } |
1286 | dasm_put(Dst, 6127); | 1286 | dasm_put(Dst, 6135); |
1287 | if (sse) { | 1287 | if (sse) { |
1288 | dasm_put(Dst, 6135, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1288 | dasm_put(Dst, 6143, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1289 | } else { | 1289 | } else { |
1290 | } | 1290 | } |
1291 | dasm_put(Dst, 6083, LJ_TISNUM); | 1291 | dasm_put(Dst, 6091, LJ_TISNUM); |
1292 | if (sse) { | 1292 | if (sse) { |
1293 | dasm_put(Dst, 6178); | 1293 | dasm_put(Dst, 6186); |
1294 | } else { | 1294 | } else { |
1295 | } | 1295 | } |
1296 | dasm_put(Dst, 6127); | 1296 | dasm_put(Dst, 6135); |
1297 | if (sse) { | 1297 | if (sse) { |
1298 | dasm_put(Dst, 6195, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1298 | dasm_put(Dst, 6203, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1299 | } else { | 1299 | } else { |
1300 | } | 1300 | } |
1301 | dasm_put(Dst, 6083, LJ_TISNUM); | 1301 | dasm_put(Dst, 6091, LJ_TISNUM); |
1302 | if (sse) { | 1302 | if (sse) { |
1303 | dasm_put(Dst, 6238); | 1303 | dasm_put(Dst, 6246); |
1304 | } else { | 1304 | } else { |
1305 | } | 1305 | } |
1306 | dasm_put(Dst, 6127); | 1306 | dasm_put(Dst, 6135); |
1307 | if (sse) { | 1307 | if (sse) { |
1308 | dasm_put(Dst, 6255, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1308 | dasm_put(Dst, 6263, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1309 | } else { | 1309 | } else { |
1310 | } | 1310 | } |
1311 | dasm_put(Dst, 6298); | 1311 | dasm_put(Dst, 6306); |
1312 | if (sse) { | 1312 | if (sse) { |
1313 | dasm_put(Dst, 6305, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1313 | dasm_put(Dst, 6313, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1314 | } else { | 1314 | } else { |
1315 | } | 1315 | } |
1316 | dasm_put(Dst, 6348); | 1316 | dasm_put(Dst, 6356); |
1317 | if (sse) { | 1317 | if (sse) { |
1318 | dasm_put(Dst, 6352); | 1318 | dasm_put(Dst, 6360); |
1319 | } else { | 1319 | } else { |
1320 | } | 1320 | } |
1321 | dasm_put(Dst, 6364); | 1321 | dasm_put(Dst, 6372); |
1322 | if (sse) { | 1322 | if (sse) { |
1323 | dasm_put(Dst, 6375, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1323 | dasm_put(Dst, 6383, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1324 | } else { | 1324 | } else { |
1325 | } | 1325 | } |
1326 | dasm_put(Dst, 6444); | 1326 | dasm_put(Dst, 6452); |
1327 | if (sse) { | 1327 | if (sse) { |
1328 | dasm_put(Dst, 6453, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1328 | dasm_put(Dst, 6461, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1329 | } else { | 1329 | } else { |
1330 | } | 1330 | } |
1331 | dasm_put(Dst, 6522); | 1331 | dasm_put(Dst, 6530); |
1332 | if (sse) { | 1332 | if (sse) { |
1333 | dasm_put(Dst, 6532, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1333 | dasm_put(Dst, 6540, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1334 | } else { | 1334 | } else { |
1335 | } | 1335 | } |
1336 | dasm_put(Dst, 6601); | 1336 | dasm_put(Dst, 6609); |
1337 | if (sse) { | 1337 | if (sse) { |
1338 | dasm_put(Dst, 6611, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1338 | dasm_put(Dst, 6619, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1339 | } else { | 1339 | } else { |
1340 | } | 1340 | } |
1341 | dasm_put(Dst, 6680); | 1341 | dasm_put(Dst, 6688); |
1342 | if (sse) { | 1342 | if (sse) { |
1343 | dasm_put(Dst, 6689, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1343 | dasm_put(Dst, 6697, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1344 | } else { | 1344 | } else { |
1345 | } | 1345 | } |
1346 | dasm_put(Dst, 6758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1346 | dasm_put(Dst, 6766, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1347 | dasm_put(Dst, 6836, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1347 | dasm_put(Dst, 6844, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1348 | dasm_put(Dst, 6963, Dt1(->top), Dt1(->base), Dt1(->top)); | 1348 | dasm_put(Dst, 6971, Dt1(->top), Dt1(->base), Dt1(->top)); |
1349 | #if LJ_HASJIT | 1349 | #if LJ_HASJIT |
1350 | dasm_put(Dst, 7002, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1350 | dasm_put(Dst, 7010, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1351 | #endif | 1351 | #endif |
1352 | dasm_put(Dst, 7033, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1352 | dasm_put(Dst, 7041, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1353 | dasm_put(Dst, 7084, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1353 | dasm_put(Dst, 7092, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1354 | #if LJ_HASJIT | 1354 | #if LJ_HASJIT |
1355 | dasm_put(Dst, 7151, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1355 | dasm_put(Dst, 7159, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1356 | #endif | 1356 | #endif |
1357 | dasm_put(Dst, 7198); | 1357 | dasm_put(Dst, 7206); |
1358 | #if LJ_HASJIT | 1358 | #if LJ_HASJIT |
1359 | dasm_put(Dst, 7028); | 1359 | dasm_put(Dst, 7036); |
1360 | #endif | 1360 | #endif |
1361 | dasm_put(Dst, 7205); | 1361 | dasm_put(Dst, 7213); |
1362 | #if LJ_HASJIT | 1362 | #if LJ_HASJIT |
1363 | dasm_put(Dst, 7208); | 1363 | dasm_put(Dst, 7216); |
1364 | #endif | 1364 | #endif |
1365 | dasm_put(Dst, 7218, Dt1(->base), Dt1(->top)); | 1365 | dasm_put(Dst, 7226, Dt1(->base), Dt1(->top)); |
1366 | #if LJ_HASJIT | 1366 | #if LJ_HASJIT |
1367 | dasm_put(Dst, 7252); | 1367 | dasm_put(Dst, 7260); |
1368 | #endif | 1368 | #endif |
1369 | dasm_put(Dst, 7257, Dt1(->base), Dt1(->top)); | 1369 | dasm_put(Dst, 7265, Dt1(->base), Dt1(->top)); |
1370 | #if LJ_HASJIT | 1370 | #if LJ_HASJIT |
1371 | dasm_put(Dst, 7288, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1371 | dasm_put(Dst, 7296, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1372 | #endif | 1372 | #endif |
1373 | dasm_put(Dst, 7518); | 1373 | dasm_put(Dst, 7526); |
1374 | #if LJ_HASJIT | 1374 | #if LJ_HASJIT |
1375 | dasm_put(Dst, 7521, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1375 | dasm_put(Dst, 7529, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1376 | dasm_put(Dst, 7663); | 1376 | dasm_put(Dst, 7671); |
1377 | #endif | 1377 | #endif |
1378 | dasm_put(Dst, 7689); | 1378 | dasm_put(Dst, 7697); |
1379 | if (!sse) { | 1379 | if (!sse) { |
1380 | dasm_put(Dst, 7692); | 1380 | dasm_put(Dst, 7700); |
1381 | } | 1381 | } |
1382 | dasm_put(Dst, 7737, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1382 | dasm_put(Dst, 7745, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1383 | if (!sse) { | 1383 | if (!sse) { |
1384 | dasm_put(Dst, 7823); | 1384 | dasm_put(Dst, 7831); |
1385 | } | 1385 | } |
1386 | dasm_put(Dst, 7868, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1386 | dasm_put(Dst, 7876, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); |
1387 | if (!sse) { | 1387 | if (!sse) { |
1388 | dasm_put(Dst, 7954); | 1388 | dasm_put(Dst, 7962); |
1389 | } | 1389 | } |
1390 | dasm_put(Dst, 7993, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1390 | dasm_put(Dst, 8001, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1391 | if (sse) { | 1391 | if (sse) { |
1392 | dasm_put(Dst, 8082, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1392 | dasm_put(Dst, 8090, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1393 | } else { | 1393 | } else { |
1394 | dasm_put(Dst, 8196); | 1394 | dasm_put(Dst, 8204); |
1395 | } | 1395 | } |
1396 | dasm_put(Dst, 8243); | 1396 | dasm_put(Dst, 8251); |
1397 | if (!sse) { | 1397 | if (!sse) { |
1398 | } else { | 1398 | } else { |
1399 | dasm_put(Dst, 8317); | 1399 | dasm_put(Dst, 8325); |
1400 | } | 1400 | } |
1401 | dasm_put(Dst, 8320); | 1401 | dasm_put(Dst, 8328); |
1402 | dasm_put(Dst, 8405, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1402 | dasm_put(Dst, 8413, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1403 | dasm_put(Dst, 8506, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); | 1403 | dasm_put(Dst, 8514, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); |
1404 | dasm_put(Dst, 8674); | 1404 | dasm_put(Dst, 8682); |
1405 | #if LJ_HASJIT | 1405 | #if LJ_HASJIT |
1406 | if (sse) { | 1406 | if (sse) { |
1407 | dasm_put(Dst, 8715); | 1407 | dasm_put(Dst, 8723); |
1408 | dasm_put(Dst, 8785); | 1408 | dasm_put(Dst, 8793); |
1409 | dasm_put(Dst, 8858); | 1409 | dasm_put(Dst, 8866); |
1410 | } else { | 1410 | } else { |
1411 | dasm_put(Dst, 8908); | 1411 | dasm_put(Dst, 8916); |
1412 | dasm_put(Dst, 9000); | 1412 | dasm_put(Dst, 9008); |
1413 | } | 1413 | } |
1414 | dasm_put(Dst, 9046); | 1414 | dasm_put(Dst, 9054); |
1415 | #endif | 1415 | #endif |
1416 | dasm_put(Dst, 9050); | 1416 | dasm_put(Dst, 9058); |
1417 | if (sse) { | 1417 | if (sse) { |
1418 | dasm_put(Dst, 9053, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1418 | dasm_put(Dst, 9061, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1419 | dasm_put(Dst, 9142, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1419 | dasm_put(Dst, 9150, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1420 | } else { | 1420 | } else { |
1421 | dasm_put(Dst, 9266); | 1421 | dasm_put(Dst, 9274); |
1422 | dasm_put(Dst, 9349); | 1422 | dasm_put(Dst, 9357); |
1423 | if (cmov) { | 1423 | if (cmov) { |
1424 | dasm_put(Dst, 9404); | 1424 | dasm_put(Dst, 9412); |
1425 | } else { | 1425 | } else { |
1426 | dasm_put(Dst, 9423); | 1426 | dasm_put(Dst, 9431); |
1427 | } | 1427 | } |
1428 | dasm_put(Dst, 9046); | 1428 | dasm_put(Dst, 9054); |
1429 | } | 1429 | } |
1430 | dasm_put(Dst, 9464); | 1430 | dasm_put(Dst, 9472); |
1431 | } | 1431 | } |
1432 | 1432 | ||
1433 | /* Generate the code for a single instruction. */ | 1433 | /* Generate the code for a single instruction. */ |
@@ -1443,592 +1443,592 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1443 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1443 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1444 | 1444 | ||
1445 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1445 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1446 | dasm_put(Dst, 9490, LJ_TISNUM, LJ_TISNUM); | 1446 | dasm_put(Dst, 9498, LJ_TISNUM, LJ_TISNUM); |
1447 | if (sse) { | 1447 | if (sse) { |
1448 | dasm_put(Dst, 9511); | 1448 | dasm_put(Dst, 9519); |
1449 | } else { | 1449 | } else { |
1450 | dasm_put(Dst, 9526); | 1450 | dasm_put(Dst, 9534); |
1451 | if (cmov) { | 1451 | if (cmov) { |
1452 | dasm_put(Dst, 9536); | 1452 | dasm_put(Dst, 9544); |
1453 | } else { | 1453 | } else { |
1454 | dasm_put(Dst, 9542); | 1454 | dasm_put(Dst, 9550); |
1455 | } | 1455 | } |
1456 | } | 1456 | } |
1457 | switch (op) { | 1457 | switch (op) { |
1458 | case BC_ISLT: | 1458 | case BC_ISLT: |
1459 | dasm_put(Dst, 9549); | 1459 | dasm_put(Dst, 9557); |
1460 | break; | 1460 | break; |
1461 | case BC_ISGE: | 1461 | case BC_ISGE: |
1462 | dasm_put(Dst, 9344); | 1462 | dasm_put(Dst, 9352); |
1463 | break; | 1463 | break; |
1464 | case BC_ISLE: | 1464 | case BC_ISLE: |
1465 | dasm_put(Dst, 5905); | 1465 | dasm_put(Dst, 5913); |
1466 | break; | 1466 | break; |
1467 | case BC_ISGT: | 1467 | case BC_ISGT: |
1468 | dasm_put(Dst, 9554); | 1468 | dasm_put(Dst, 9562); |
1469 | break; | 1469 | break; |
1470 | default: break; /* Shut up GCC. */ | 1470 | default: break; /* Shut up GCC. */ |
1471 | } | 1471 | } |
1472 | dasm_put(Dst, 9559, -BCBIAS_J*4); | 1472 | dasm_put(Dst, 9567, -BCBIAS_J*4); |
1473 | break; | 1473 | break; |
1474 | 1474 | ||
1475 | case BC_ISEQV: case BC_ISNEV: | 1475 | case BC_ISEQV: case BC_ISNEV: |
1476 | vk = op == BC_ISEQV; | 1476 | vk = op == BC_ISEQV; |
1477 | dasm_put(Dst, 9593, LJ_TISNUM, LJ_TISNUM); | 1477 | dasm_put(Dst, 9601, LJ_TISNUM, LJ_TISNUM); |
1478 | if (sse) { | 1478 | if (sse) { |
1479 | dasm_put(Dst, 9619); | 1479 | dasm_put(Dst, 9627); |
1480 | } else { | 1480 | } else { |
1481 | dasm_put(Dst, 9631); | 1481 | dasm_put(Dst, 9639); |
1482 | if (cmov) { | 1482 | if (cmov) { |
1483 | dasm_put(Dst, 9536); | 1483 | dasm_put(Dst, 9544); |
1484 | } else { | 1484 | } else { |
1485 | dasm_put(Dst, 9542); | 1485 | dasm_put(Dst, 9550); |
1486 | } | 1486 | } |
1487 | } | 1487 | } |
1488 | iseqne_fp: | 1488 | iseqne_fp: |
1489 | if (vk) { | 1489 | if (vk) { |
1490 | dasm_put(Dst, 9638); | 1490 | dasm_put(Dst, 9646); |
1491 | } else { | 1491 | } else { |
1492 | dasm_put(Dst, 9647); | 1492 | dasm_put(Dst, 9655); |
1493 | } | 1493 | } |
1494 | iseqne_end: | 1494 | iseqne_end: |
1495 | if (vk) { | 1495 | if (vk) { |
1496 | dasm_put(Dst, 9656, -BCBIAS_J*4); | 1496 | dasm_put(Dst, 9664, -BCBIAS_J*4); |
1497 | } else { | 1497 | } else { |
1498 | dasm_put(Dst, 9671, -BCBIAS_J*4); | 1498 | dasm_put(Dst, 9679, -BCBIAS_J*4); |
1499 | } | 1499 | } |
1500 | dasm_put(Dst, 9573); | 1500 | dasm_put(Dst, 9581); |
1501 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1501 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1502 | dasm_put(Dst, 9686, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1502 | dasm_put(Dst, 9694, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1503 | if (vk) { | 1503 | if (vk) { |
1504 | dasm_put(Dst, 9744); | 1504 | dasm_put(Dst, 9752); |
1505 | } else { | 1505 | } else { |
1506 | dasm_put(Dst, 9748); | 1506 | dasm_put(Dst, 9756); |
1507 | } | 1507 | } |
1508 | dasm_put(Dst, 9754); | 1508 | dasm_put(Dst, 9762); |
1509 | } | 1509 | } |
1510 | break; | 1510 | break; |
1511 | case BC_ISEQS: case BC_ISNES: | 1511 | case BC_ISEQS: case BC_ISNES: |
1512 | vk = op == BC_ISEQS; | 1512 | vk = op == BC_ISEQS; |
1513 | dasm_put(Dst, 9759, LJ_TSTR); | 1513 | dasm_put(Dst, 9767, LJ_TSTR); |
1514 | iseqne_test: | 1514 | iseqne_test: |
1515 | if (vk) { | 1515 | if (vk) { |
1516 | dasm_put(Dst, 9642); | 1516 | dasm_put(Dst, 9650); |
1517 | } else { | 1517 | } else { |
1518 | dasm_put(Dst, 2805); | 1518 | dasm_put(Dst, 2805); |
1519 | } | 1519 | } |
1520 | goto iseqne_end; | 1520 | goto iseqne_end; |
1521 | case BC_ISEQN: case BC_ISNEN: | 1521 | case BC_ISEQN: case BC_ISNEN: |
1522 | vk = op == BC_ISEQN; | 1522 | vk = op == BC_ISEQN; |
1523 | dasm_put(Dst, 9783, LJ_TISNUM); | 1523 | dasm_put(Dst, 9791, LJ_TISNUM); |
1524 | if (sse) { | 1524 | if (sse) { |
1525 | dasm_put(Dst, 9797); | 1525 | dasm_put(Dst, 9805); |
1526 | } else { | 1526 | } else { |
1527 | dasm_put(Dst, 9809); | 1527 | dasm_put(Dst, 9817); |
1528 | if (cmov) { | 1528 | if (cmov) { |
1529 | dasm_put(Dst, 9536); | 1529 | dasm_put(Dst, 9544); |
1530 | } else { | 1530 | } else { |
1531 | dasm_put(Dst, 9542); | 1531 | dasm_put(Dst, 9550); |
1532 | } | 1532 | } |
1533 | } | 1533 | } |
1534 | goto iseqne_fp; | 1534 | goto iseqne_fp; |
1535 | case BC_ISEQP: case BC_ISNEP: | 1535 | case BC_ISEQP: case BC_ISNEP: |
1536 | vk = op == BC_ISEQP; | 1536 | vk = op == BC_ISEQP; |
1537 | dasm_put(Dst, 9816); | 1537 | dasm_put(Dst, 9824); |
1538 | goto iseqne_test; | 1538 | goto iseqne_test; |
1539 | 1539 | ||
1540 | /* -- Unary test and copy ops ------------------------------------------- */ | 1540 | /* -- Unary test and copy ops ------------------------------------------- */ |
1541 | 1541 | ||
1542 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 1542 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1543 | dasm_put(Dst, 9828, LJ_TISTRUECOND); | 1543 | dasm_put(Dst, 9836, LJ_TISTRUECOND); |
1544 | if (op == BC_IST || op == BC_ISTC) { | 1544 | if (op == BC_IST || op == BC_ISTC) { |
1545 | dasm_put(Dst, 9840); | 1545 | dasm_put(Dst, 9848); |
1546 | } else { | 1546 | } else { |
1547 | dasm_put(Dst, 9845); | 1547 | dasm_put(Dst, 9853); |
1548 | } | 1548 | } |
1549 | if (op == BC_ISTC || op == BC_ISFC) { | 1549 | if (op == BC_ISTC || op == BC_ISFC) { |
1550 | dasm_put(Dst, 9850); | 1550 | dasm_put(Dst, 9858); |
1551 | } | 1551 | } |
1552 | dasm_put(Dst, 9861, -BCBIAS_J*4); | 1552 | dasm_put(Dst, 9869, -BCBIAS_J*4); |
1553 | break; | 1553 | break; |
1554 | 1554 | ||
1555 | /* -- Unary ops --------------------------------------------------------- */ | 1555 | /* -- Unary ops --------------------------------------------------------- */ |
1556 | 1556 | ||
1557 | case BC_MOV: | 1557 | case BC_MOV: |
1558 | dasm_put(Dst, 9893); | 1558 | dasm_put(Dst, 9901); |
1559 | break; | 1559 | break; |
1560 | case BC_NOT: | 1560 | case BC_NOT: |
1561 | dasm_put(Dst, 9927, LJ_TISTRUECOND, LJ_TTRUE); | 1561 | dasm_put(Dst, 9935, LJ_TISTRUECOND, LJ_TTRUE); |
1562 | break; | 1562 | break; |
1563 | case BC_UNM: | 1563 | case BC_UNM: |
1564 | dasm_put(Dst, 9963, LJ_TISNUM); | 1564 | dasm_put(Dst, 9971, LJ_TISNUM); |
1565 | if (sse) { | 1565 | if (sse) { |
1566 | dasm_put(Dst, 9974, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1566 | dasm_put(Dst, 9982, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1567 | } else { | 1567 | } else { |
1568 | dasm_put(Dst, 9999); | 1568 | dasm_put(Dst, 10007); |
1569 | } | 1569 | } |
1570 | dasm_put(Dst, 9573); | 1570 | dasm_put(Dst, 9581); |
1571 | break; | 1571 | break; |
1572 | case BC_LEN: | 1572 | case BC_LEN: |
1573 | dasm_put(Dst, 10008, LJ_TSTR); | 1573 | dasm_put(Dst, 10016, LJ_TSTR); |
1574 | if (sse) { | 1574 | if (sse) { |
1575 | dasm_put(Dst, 10022, Dt5(->len)); | 1575 | dasm_put(Dst, 10030, Dt5(->len)); |
1576 | } else { | 1576 | } else { |
1577 | dasm_put(Dst, 10040, Dt5(->len)); | 1577 | dasm_put(Dst, 10048, Dt5(->len)); |
1578 | } | 1578 | } |
1579 | dasm_put(Dst, 10049, LJ_TTAB); | 1579 | dasm_put(Dst, 10057, LJ_TTAB); |
1580 | if (sse) { | 1580 | if (sse) { |
1581 | dasm_put(Dst, 10090); | 1581 | dasm_put(Dst, 10098); |
1582 | } else { | 1582 | } else { |
1583 | } | 1583 | } |
1584 | dasm_put(Dst, 10099); | 1584 | dasm_put(Dst, 10107); |
1585 | break; | 1585 | break; |
1586 | 1586 | ||
1587 | /* -- Binary ops -------------------------------------------------------- */ | 1587 | /* -- Binary ops -------------------------------------------------------- */ |
1588 | 1588 | ||
1589 | 1589 | ||
1590 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 1590 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1591 | dasm_put(Dst, 10109); | 1591 | dasm_put(Dst, 10117); |
1592 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1592 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1593 | switch (vk) { | 1593 | switch (vk) { |
1594 | case 0: | 1594 | case 0: |
1595 | dasm_put(Dst, 10117, LJ_TISNUM); | 1595 | dasm_put(Dst, 10125, LJ_TISNUM); |
1596 | if (sse) { | 1596 | if (sse) { |
1597 | dasm_put(Dst, 10129); | 1597 | dasm_put(Dst, 10137); |
1598 | } else { | 1598 | } else { |
1599 | dasm_put(Dst, 10143); | 1599 | dasm_put(Dst, 10151); |
1600 | } | 1600 | } |
1601 | break; | 1601 | break; |
1602 | case 1: | 1602 | case 1: |
1603 | dasm_put(Dst, 10151, LJ_TISNUM); | 1603 | dasm_put(Dst, 10159, LJ_TISNUM); |
1604 | if (sse) { | 1604 | if (sse) { |
1605 | dasm_put(Dst, 10163); | 1605 | dasm_put(Dst, 10171); |
1606 | } else { | 1606 | } else { |
1607 | dasm_put(Dst, 10177); | 1607 | dasm_put(Dst, 10185); |
1608 | } | 1608 | } |
1609 | break; | 1609 | break; |
1610 | default: | 1610 | default: |
1611 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1611 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1612 | if (sse) { | 1612 | if (sse) { |
1613 | dasm_put(Dst, 10207); | 1613 | dasm_put(Dst, 10215); |
1614 | } else { | 1614 | } else { |
1615 | dasm_put(Dst, 10221); | 1615 | dasm_put(Dst, 10229); |
1616 | } | 1616 | } |
1617 | break; | 1617 | break; |
1618 | } | 1618 | } |
1619 | if (sse) { | 1619 | if (sse) { |
1620 | dasm_put(Dst, 9992); | 1620 | dasm_put(Dst, 10000); |
1621 | } else { | 1621 | } else { |
1622 | dasm_put(Dst, 10004); | 1622 | dasm_put(Dst, 10012); |
1623 | } | 1623 | } |
1624 | dasm_put(Dst, 9573); | 1624 | dasm_put(Dst, 9581); |
1625 | break; | 1625 | break; |
1626 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 1626 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1627 | dasm_put(Dst, 10109); | 1627 | dasm_put(Dst, 10117); |
1628 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1628 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1629 | switch (vk) { | 1629 | switch (vk) { |
1630 | case 0: | 1630 | case 0: |
1631 | dasm_put(Dst, 10117, LJ_TISNUM); | 1631 | dasm_put(Dst, 10125, LJ_TISNUM); |
1632 | if (sse) { | 1632 | if (sse) { |
1633 | dasm_put(Dst, 10229); | 1633 | dasm_put(Dst, 10237); |
1634 | } else { | 1634 | } else { |
1635 | dasm_put(Dst, 10243); | 1635 | dasm_put(Dst, 10251); |
1636 | } | 1636 | } |
1637 | break; | 1637 | break; |
1638 | case 1: | 1638 | case 1: |
1639 | dasm_put(Dst, 10151, LJ_TISNUM); | 1639 | dasm_put(Dst, 10159, LJ_TISNUM); |
1640 | if (sse) { | 1640 | if (sse) { |
1641 | dasm_put(Dst, 10251); | 1641 | dasm_put(Dst, 10259); |
1642 | } else { | 1642 | } else { |
1643 | dasm_put(Dst, 10265); | 1643 | dasm_put(Dst, 10273); |
1644 | } | 1644 | } |
1645 | break; | 1645 | break; |
1646 | default: | 1646 | default: |
1647 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1647 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1648 | if (sse) { | 1648 | if (sse) { |
1649 | dasm_put(Dst, 10273); | 1649 | dasm_put(Dst, 10281); |
1650 | } else { | 1650 | } else { |
1651 | dasm_put(Dst, 10287); | 1651 | dasm_put(Dst, 10295); |
1652 | } | 1652 | } |
1653 | break; | 1653 | break; |
1654 | } | 1654 | } |
1655 | if (sse) { | 1655 | if (sse) { |
1656 | dasm_put(Dst, 9992); | 1656 | dasm_put(Dst, 10000); |
1657 | } else { | 1657 | } else { |
1658 | dasm_put(Dst, 10004); | 1658 | dasm_put(Dst, 10012); |
1659 | } | 1659 | } |
1660 | dasm_put(Dst, 9573); | 1660 | dasm_put(Dst, 9581); |
1661 | break; | 1661 | break; |
1662 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 1662 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1663 | dasm_put(Dst, 10109); | 1663 | dasm_put(Dst, 10117); |
1664 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1664 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1665 | switch (vk) { | 1665 | switch (vk) { |
1666 | case 0: | 1666 | case 0: |
1667 | dasm_put(Dst, 10117, LJ_TISNUM); | 1667 | dasm_put(Dst, 10125, LJ_TISNUM); |
1668 | if (sse) { | 1668 | if (sse) { |
1669 | dasm_put(Dst, 10295); | 1669 | dasm_put(Dst, 10303); |
1670 | } else { | 1670 | } else { |
1671 | dasm_put(Dst, 10309); | 1671 | dasm_put(Dst, 10317); |
1672 | } | 1672 | } |
1673 | break; | 1673 | break; |
1674 | case 1: | 1674 | case 1: |
1675 | dasm_put(Dst, 10151, LJ_TISNUM); | 1675 | dasm_put(Dst, 10159, LJ_TISNUM); |
1676 | if (sse) { | 1676 | if (sse) { |
1677 | dasm_put(Dst, 10317); | 1677 | dasm_put(Dst, 10325); |
1678 | } else { | 1678 | } else { |
1679 | dasm_put(Dst, 10331); | 1679 | dasm_put(Dst, 10339); |
1680 | } | 1680 | } |
1681 | break; | 1681 | break; |
1682 | default: | 1682 | default: |
1683 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1683 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1684 | if (sse) { | 1684 | if (sse) { |
1685 | dasm_put(Dst, 10339); | 1685 | dasm_put(Dst, 10347); |
1686 | } else { | 1686 | } else { |
1687 | dasm_put(Dst, 10353); | 1687 | dasm_put(Dst, 10361); |
1688 | } | 1688 | } |
1689 | break; | 1689 | break; |
1690 | } | 1690 | } |
1691 | if (sse) { | 1691 | if (sse) { |
1692 | dasm_put(Dst, 9992); | 1692 | dasm_put(Dst, 10000); |
1693 | } else { | 1693 | } else { |
1694 | dasm_put(Dst, 10004); | 1694 | dasm_put(Dst, 10012); |
1695 | } | 1695 | } |
1696 | dasm_put(Dst, 9573); | 1696 | dasm_put(Dst, 9581); |
1697 | break; | 1697 | break; |
1698 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 1698 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1699 | dasm_put(Dst, 10109); | 1699 | dasm_put(Dst, 10117); |
1700 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1700 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1701 | switch (vk) { | 1701 | switch (vk) { |
1702 | case 0: | 1702 | case 0: |
1703 | dasm_put(Dst, 10117, LJ_TISNUM); | 1703 | dasm_put(Dst, 10125, LJ_TISNUM); |
1704 | if (sse) { | 1704 | if (sse) { |
1705 | dasm_put(Dst, 10361); | 1705 | dasm_put(Dst, 10369); |
1706 | } else { | 1706 | } else { |
1707 | dasm_put(Dst, 10375); | 1707 | dasm_put(Dst, 10383); |
1708 | } | 1708 | } |
1709 | break; | 1709 | break; |
1710 | case 1: | 1710 | case 1: |
1711 | dasm_put(Dst, 10151, LJ_TISNUM); | 1711 | dasm_put(Dst, 10159, LJ_TISNUM); |
1712 | if (sse) { | 1712 | if (sse) { |
1713 | dasm_put(Dst, 10383); | 1713 | dasm_put(Dst, 10391); |
1714 | } else { | 1714 | } else { |
1715 | dasm_put(Dst, 10397); | 1715 | dasm_put(Dst, 10405); |
1716 | } | 1716 | } |
1717 | break; | 1717 | break; |
1718 | default: | 1718 | default: |
1719 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1719 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1720 | if (sse) { | 1720 | if (sse) { |
1721 | dasm_put(Dst, 10405); | 1721 | dasm_put(Dst, 10413); |
1722 | } else { | 1722 | } else { |
1723 | dasm_put(Dst, 10419); | 1723 | dasm_put(Dst, 10427); |
1724 | } | 1724 | } |
1725 | break; | 1725 | break; |
1726 | } | 1726 | } |
1727 | if (sse) { | 1727 | if (sse) { |
1728 | dasm_put(Dst, 9992); | 1728 | dasm_put(Dst, 10000); |
1729 | } else { | 1729 | } else { |
1730 | dasm_put(Dst, 10004); | 1730 | dasm_put(Dst, 10012); |
1731 | } | 1731 | } |
1732 | dasm_put(Dst, 9573); | 1732 | dasm_put(Dst, 9581); |
1733 | break; | 1733 | break; |
1734 | case BC_MODVN: | 1734 | case BC_MODVN: |
1735 | dasm_put(Dst, 10109); | 1735 | dasm_put(Dst, 10117); |
1736 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1736 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1737 | switch (vk) { | 1737 | switch (vk) { |
1738 | case 0: | 1738 | case 0: |
1739 | dasm_put(Dst, 10117, LJ_TISNUM); | 1739 | dasm_put(Dst, 10125, LJ_TISNUM); |
1740 | if (sse) { | 1740 | if (sse) { |
1741 | dasm_put(Dst, 10427); | 1741 | dasm_put(Dst, 10435); |
1742 | } else { | 1742 | } else { |
1743 | dasm_put(Dst, 10441); | 1743 | dasm_put(Dst, 10449); |
1744 | } | 1744 | } |
1745 | break; | 1745 | break; |
1746 | case 1: | 1746 | case 1: |
1747 | dasm_put(Dst, 10151, LJ_TISNUM); | 1747 | dasm_put(Dst, 10159, LJ_TISNUM); |
1748 | if (sse) { | 1748 | if (sse) { |
1749 | dasm_put(Dst, 10449); | 1749 | dasm_put(Dst, 10457); |
1750 | } else { | 1750 | } else { |
1751 | dasm_put(Dst, 10463); | 1751 | dasm_put(Dst, 10471); |
1752 | } | 1752 | } |
1753 | break; | 1753 | break; |
1754 | default: | 1754 | default: |
1755 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1755 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1756 | if (sse) { | 1756 | if (sse) { |
1757 | dasm_put(Dst, 10471); | 1757 | dasm_put(Dst, 10479); |
1758 | } else { | 1758 | } else { |
1759 | dasm_put(Dst, 10485); | 1759 | dasm_put(Dst, 10493); |
1760 | } | 1760 | } |
1761 | break; | 1761 | break; |
1762 | } | 1762 | } |
1763 | dasm_put(Dst, 10493); | 1763 | dasm_put(Dst, 10501); |
1764 | if (sse) { | 1764 | if (sse) { |
1765 | dasm_put(Dst, 9992); | 1765 | dasm_put(Dst, 10000); |
1766 | } else { | 1766 | } else { |
1767 | dasm_put(Dst, 10004); | 1767 | dasm_put(Dst, 10012); |
1768 | } | 1768 | } |
1769 | dasm_put(Dst, 9573); | 1769 | dasm_put(Dst, 9581); |
1770 | break; | 1770 | break; |
1771 | case BC_MODNV: case BC_MODVV: | 1771 | case BC_MODNV: case BC_MODVV: |
1772 | dasm_put(Dst, 10109); | 1772 | dasm_put(Dst, 10117); |
1773 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1773 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1774 | switch (vk) { | 1774 | switch (vk) { |
1775 | case 0: | 1775 | case 0: |
1776 | dasm_put(Dst, 10117, LJ_TISNUM); | 1776 | dasm_put(Dst, 10125, LJ_TISNUM); |
1777 | if (sse) { | 1777 | if (sse) { |
1778 | dasm_put(Dst, 10427); | 1778 | dasm_put(Dst, 10435); |
1779 | } else { | 1779 | } else { |
1780 | dasm_put(Dst, 10441); | 1780 | dasm_put(Dst, 10449); |
1781 | } | 1781 | } |
1782 | break; | 1782 | break; |
1783 | case 1: | 1783 | case 1: |
1784 | dasm_put(Dst, 10151, LJ_TISNUM); | 1784 | dasm_put(Dst, 10159, LJ_TISNUM); |
1785 | if (sse) { | 1785 | if (sse) { |
1786 | dasm_put(Dst, 10449); | 1786 | dasm_put(Dst, 10457); |
1787 | } else { | 1787 | } else { |
1788 | dasm_put(Dst, 10463); | 1788 | dasm_put(Dst, 10471); |
1789 | } | 1789 | } |
1790 | break; | 1790 | break; |
1791 | default: | 1791 | default: |
1792 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1792 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1793 | if (sse) { | 1793 | if (sse) { |
1794 | dasm_put(Dst, 10471); | 1794 | dasm_put(Dst, 10479); |
1795 | } else { | 1795 | } else { |
1796 | dasm_put(Dst, 10485); | 1796 | dasm_put(Dst, 10493); |
1797 | } | 1797 | } |
1798 | break; | 1798 | break; |
1799 | } | 1799 | } |
1800 | dasm_put(Dst, 10499); | 1800 | dasm_put(Dst, 10507); |
1801 | break; | 1801 | break; |
1802 | case BC_POW: | 1802 | case BC_POW: |
1803 | dasm_put(Dst, 10109); | 1803 | dasm_put(Dst, 10117); |
1804 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1804 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1805 | switch (vk) { | 1805 | switch (vk) { |
1806 | case 0: | 1806 | case 0: |
1807 | dasm_put(Dst, 10117, LJ_TISNUM); | 1807 | dasm_put(Dst, 10125, LJ_TISNUM); |
1808 | if (sse) { | 1808 | if (sse) { |
1809 | dasm_put(Dst, 10427); | 1809 | dasm_put(Dst, 10435); |
1810 | } else { | 1810 | } else { |
1811 | dasm_put(Dst, 10441); | 1811 | dasm_put(Dst, 10449); |
1812 | } | 1812 | } |
1813 | break; | 1813 | break; |
1814 | case 1: | 1814 | case 1: |
1815 | dasm_put(Dst, 10151, LJ_TISNUM); | 1815 | dasm_put(Dst, 10159, LJ_TISNUM); |
1816 | if (sse) { | 1816 | if (sse) { |
1817 | dasm_put(Dst, 10449); | 1817 | dasm_put(Dst, 10457); |
1818 | } else { | 1818 | } else { |
1819 | dasm_put(Dst, 10463); | 1819 | dasm_put(Dst, 10471); |
1820 | } | 1820 | } |
1821 | break; | 1821 | break; |
1822 | default: | 1822 | default: |
1823 | dasm_put(Dst, 10185, LJ_TISNUM, LJ_TISNUM); | 1823 | dasm_put(Dst, 10193, LJ_TISNUM, LJ_TISNUM); |
1824 | if (sse) { | 1824 | if (sse) { |
1825 | dasm_put(Dst, 10471); | 1825 | dasm_put(Dst, 10479); |
1826 | } else { | 1826 | } else { |
1827 | dasm_put(Dst, 10485); | 1827 | dasm_put(Dst, 10493); |
1828 | } | 1828 | } |
1829 | break; | 1829 | break; |
1830 | } | 1830 | } |
1831 | dasm_put(Dst, 10504); | 1831 | dasm_put(Dst, 10512); |
1832 | if (sse) { | 1832 | if (sse) { |
1833 | dasm_put(Dst, 9992); | 1833 | dasm_put(Dst, 10000); |
1834 | } else { | 1834 | } else { |
1835 | dasm_put(Dst, 10004); | 1835 | dasm_put(Dst, 10012); |
1836 | } | 1836 | } |
1837 | dasm_put(Dst, 9573); | 1837 | dasm_put(Dst, 9581); |
1838 | break; | 1838 | break; |
1839 | 1839 | ||
1840 | case BC_CAT: | 1840 | case BC_CAT: |
1841 | dasm_put(Dst, 10508, Dt1(->base), Dt1(->base)); | 1841 | dasm_put(Dst, 10516, Dt1(->base), Dt1(->base)); |
1842 | break; | 1842 | break; |
1843 | 1843 | ||
1844 | /* -- Constant ops ------------------------------------------------------ */ | 1844 | /* -- Constant ops ------------------------------------------------------ */ |
1845 | 1845 | ||
1846 | case BC_KSTR: | 1846 | case BC_KSTR: |
1847 | dasm_put(Dst, 10598, LJ_TSTR); | 1847 | dasm_put(Dst, 10606, LJ_TSTR); |
1848 | break; | 1848 | break; |
1849 | case BC_KSHORT: | 1849 | case BC_KSHORT: |
1850 | if (sse) { | 1850 | if (sse) { |
1851 | dasm_put(Dst, 10633); | 1851 | dasm_put(Dst, 10641); |
1852 | } else { | 1852 | } else { |
1853 | dasm_put(Dst, 10648); | 1853 | dasm_put(Dst, 10656); |
1854 | } | 1854 | } |
1855 | dasm_put(Dst, 9573); | 1855 | dasm_put(Dst, 9581); |
1856 | break; | 1856 | break; |
1857 | case BC_KNUM: | 1857 | case BC_KNUM: |
1858 | if (sse) { | 1858 | if (sse) { |
1859 | dasm_put(Dst, 10656); | 1859 | dasm_put(Dst, 10664); |
1860 | } else { | 1860 | } else { |
1861 | dasm_put(Dst, 10669); | 1861 | dasm_put(Dst, 10677); |
1862 | } | 1862 | } |
1863 | dasm_put(Dst, 9573); | 1863 | dasm_put(Dst, 9581); |
1864 | break; | 1864 | break; |
1865 | case BC_KPRI: | 1865 | case BC_KPRI: |
1866 | dasm_put(Dst, 10676); | 1866 | dasm_put(Dst, 10684); |
1867 | break; | 1867 | break; |
1868 | case BC_KNIL: | 1868 | case BC_KNIL: |
1869 | dasm_put(Dst, 10704, LJ_TNIL); | 1869 | dasm_put(Dst, 10712, LJ_TNIL); |
1870 | break; | 1870 | break; |
1871 | 1871 | ||
1872 | /* -- Upvalue and function ops ------------------------------------------ */ | 1872 | /* -- Upvalue and function ops ------------------------------------------ */ |
1873 | 1873 | ||
1874 | case BC_UGET: | 1874 | case BC_UGET: |
1875 | dasm_put(Dst, 10751, offsetof(GCfuncL, uvptr), DtA(->v)); | 1875 | dasm_put(Dst, 10759, offsetof(GCfuncL, uvptr), DtA(->v)); |
1876 | break; | 1876 | break; |
1877 | case BC_USETV: | 1877 | case BC_USETV: |
1878 | #define TV2MARKOFS \ | 1878 | #define TV2MARKOFS \ |
1879 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 1879 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1880 | dasm_put(Dst, 10796, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); | 1880 | dasm_put(Dst, 10804, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); |
1881 | dasm_put(Dst, 10887); | 1881 | dasm_put(Dst, 10895); |
1882 | break; | 1882 | break; |
1883 | #undef TV2MARKOFS | 1883 | #undef TV2MARKOFS |
1884 | case BC_USETS: | 1884 | case BC_USETS: |
1885 | dasm_put(Dst, 10899, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 1885 | dasm_put(Dst, 10907, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1886 | break; | 1886 | break; |
1887 | case BC_USETN: | 1887 | case BC_USETN: |
1888 | dasm_put(Dst, 10992); | 1888 | dasm_put(Dst, 11000); |
1889 | if (sse) { | 1889 | if (sse) { |
1890 | dasm_put(Dst, 10997); | 1890 | dasm_put(Dst, 11005); |
1891 | } else { | 1891 | } else { |
1892 | dasm_put(Dst, 9812); | 1892 | dasm_put(Dst, 9820); |
1893 | } | 1893 | } |
1894 | dasm_put(Dst, 11004, offsetof(GCfuncL, uvptr), DtA(->v)); | 1894 | dasm_put(Dst, 11012, offsetof(GCfuncL, uvptr), DtA(->v)); |
1895 | if (sse) { | 1895 | if (sse) { |
1896 | dasm_put(Dst, 11013); | 1896 | dasm_put(Dst, 11021); |
1897 | } else { | 1897 | } else { |
1898 | dasm_put(Dst, 11019); | 1898 | dasm_put(Dst, 11027); |
1899 | } | 1899 | } |
1900 | dasm_put(Dst, 9573); | 1900 | dasm_put(Dst, 9581); |
1901 | break; | 1901 | break; |
1902 | case BC_USETP: | 1902 | case BC_USETP: |
1903 | dasm_put(Dst, 11022, offsetof(GCfuncL, uvptr), DtA(->v)); | 1903 | dasm_put(Dst, 11030, offsetof(GCfuncL, uvptr), DtA(->v)); |
1904 | break; | 1904 | break; |
1905 | case BC_UCLO: | 1905 | case BC_UCLO: |
1906 | dasm_put(Dst, 11061, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 1906 | dasm_put(Dst, 11069, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1907 | break; | 1907 | break; |
1908 | 1908 | ||
1909 | case BC_FNEW: | 1909 | case BC_FNEW: |
1910 | dasm_put(Dst, 11116, Dt1(->base), Dt1(->base), LJ_TFUNC); | 1910 | dasm_put(Dst, 11124, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1911 | break; | 1911 | break; |
1912 | 1912 | ||
1913 | /* -- Table ops --------------------------------------------------------- */ | 1913 | /* -- Table ops --------------------------------------------------------- */ |
1914 | 1914 | ||
1915 | case BC_TNEW: | 1915 | case BC_TNEW: |
1916 | dasm_put(Dst, 11182, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 1916 | dasm_put(Dst, 11190, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1917 | break; | 1917 | break; |
1918 | case BC_TDUP: | 1918 | case BC_TDUP: |
1919 | dasm_put(Dst, 11304, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 1919 | dasm_put(Dst, 11312, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1920 | break; | 1920 | break; |
1921 | 1921 | ||
1922 | case BC_GGET: | 1922 | case BC_GGET: |
1923 | dasm_put(Dst, 11399, Dt7(->env)); | 1923 | dasm_put(Dst, 11407, Dt7(->env)); |
1924 | break; | 1924 | break; |
1925 | case BC_GSET: | 1925 | case BC_GSET: |
1926 | dasm_put(Dst, 11418, Dt7(->env)); | 1926 | dasm_put(Dst, 11426, Dt7(->env)); |
1927 | break; | 1927 | break; |
1928 | 1928 | ||
1929 | case BC_TGETV: | 1929 | case BC_TGETV: |
1930 | dasm_put(Dst, 11437, LJ_TTAB, LJ_TISNUM); | 1930 | dasm_put(Dst, 11445, LJ_TTAB, LJ_TISNUM); |
1931 | if (sse) { | 1931 | if (sse) { |
1932 | dasm_put(Dst, 11470); | 1932 | dasm_put(Dst, 11478); |
1933 | } else { | 1933 | } else { |
1934 | } | 1934 | } |
1935 | dasm_put(Dst, 11491, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1935 | dasm_put(Dst, 11499, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1936 | dasm_put(Dst, 11584, LJ_TSTR); | 1936 | dasm_put(Dst, 11592, LJ_TSTR); |
1937 | break; | 1937 | break; |
1938 | case BC_TGETS: | 1938 | case BC_TGETS: |
1939 | dasm_put(Dst, 11602, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1939 | dasm_put(Dst, 11610, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1940 | dasm_put(Dst, 11687, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1940 | dasm_put(Dst, 11695, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1941 | break; | 1941 | break; |
1942 | case BC_TGETB: | 1942 | case BC_TGETB: |
1943 | dasm_put(Dst, 11759, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1943 | dasm_put(Dst, 11767, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1944 | dasm_put(Dst, 10099); | 1944 | dasm_put(Dst, 10107); |
1945 | break; | 1945 | break; |
1946 | 1946 | ||
1947 | case BC_TSETV: | 1947 | case BC_TSETV: |
1948 | dasm_put(Dst, 11859, LJ_TTAB, LJ_TISNUM); | 1948 | dasm_put(Dst, 11867, LJ_TTAB, LJ_TISNUM); |
1949 | if (sse) { | 1949 | if (sse) { |
1950 | dasm_put(Dst, 11470); | 1950 | dasm_put(Dst, 11478); |
1951 | } else { | 1951 | } else { |
1952 | } | 1952 | } |
1953 | dasm_put(Dst, 11892, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 1953 | dasm_put(Dst, 11900, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
1954 | dasm_put(Dst, 11976, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1954 | dasm_put(Dst, 11984, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1955 | break; | 1955 | break; |
1956 | case BC_TSETS: | 1956 | case BC_TSETS: |
1957 | dasm_put(Dst, 12038, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1957 | dasm_put(Dst, 12046, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1958 | dasm_put(Dst, 12114, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 1958 | dasm_put(Dst, 12122, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
1959 | dasm_put(Dst, 12207, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1959 | dasm_put(Dst, 12215, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1960 | break; | 1960 | break; |
1961 | case BC_TSETB: | 1961 | case BC_TSETB: |
1962 | dasm_put(Dst, 12298, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 1962 | dasm_put(Dst, 12306, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
1963 | dasm_put(Dst, 12397, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1963 | dasm_put(Dst, 12405, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1964 | break; | 1964 | break; |
1965 | 1965 | ||
1966 | case BC_TSETM: | 1966 | case BC_TSETM: |
1967 | dasm_put(Dst, 12443, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 1967 | dasm_put(Dst, 12451, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
1968 | dasm_put(Dst, 12590, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1968 | dasm_put(Dst, 12598, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1969 | break; | 1969 | break; |
1970 | 1970 | ||
1971 | /* -- Calls and vararg handling ----------------------------------------- */ | 1971 | /* -- Calls and vararg handling ----------------------------------------- */ |
1972 | 1972 | ||
1973 | case BC_CALL: case BC_CALLM: | 1973 | case BC_CALL: case BC_CALLM: |
1974 | dasm_put(Dst, 10113); | 1974 | dasm_put(Dst, 10121); |
1975 | if (op == BC_CALLM) { | 1975 | if (op == BC_CALLM) { |
1976 | dasm_put(Dst, 12608); | 1976 | dasm_put(Dst, 12616); |
1977 | } | 1977 | } |
1978 | dasm_put(Dst, 12613, LJ_TFUNC, Dt7(->pc)); | 1978 | dasm_put(Dst, 12621, LJ_TFUNC, Dt7(->pc)); |
1979 | break; | 1979 | break; |
1980 | 1980 | ||
1981 | case BC_CALLMT: | 1981 | case BC_CALLMT: |
1982 | dasm_put(Dst, 12608); | 1982 | dasm_put(Dst, 12616); |
1983 | break; | 1983 | break; |
1984 | case BC_CALLT: | 1984 | case BC_CALLT: |
1985 | dasm_put(Dst, 12655, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 1985 | dasm_put(Dst, 12663, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
1986 | dasm_put(Dst, 12774, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 1986 | dasm_put(Dst, 12782, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
1987 | break; | 1987 | break; |
1988 | 1988 | ||
1989 | case BC_ITERC: | 1989 | case BC_ITERC: |
1990 | dasm_put(Dst, 12845, LJ_TFUNC, 2+1, Dt7(->pc)); | 1990 | dasm_put(Dst, 12853, LJ_TFUNC, 2+1, Dt7(->pc)); |
1991 | break; | 1991 | break; |
1992 | 1992 | ||
1993 | case BC_VARG: | 1993 | case BC_VARG: |
1994 | dasm_put(Dst, 12926, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 1994 | dasm_put(Dst, 12934, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
1995 | dasm_put(Dst, 13091, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 1995 | dasm_put(Dst, 13099, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
1996 | break; | 1996 | break; |
1997 | 1997 | ||
1998 | /* -- Returns ----------------------------------------------------------- */ | 1998 | /* -- Returns ----------------------------------------------------------- */ |
1999 | 1999 | ||
2000 | case BC_RETM: | 2000 | case BC_RETM: |
2001 | dasm_put(Dst, 12608); | 2001 | dasm_put(Dst, 12616); |
2002 | break; | 2002 | break; |
2003 | 2003 | ||
2004 | case BC_RET: case BC_RET0: case BC_RET1: | 2004 | case BC_RET: case BC_RET0: case BC_RET1: |
2005 | if (op != BC_RET0) { | 2005 | if (op != BC_RET0) { |
2006 | dasm_put(Dst, 13162); | 2006 | dasm_put(Dst, 13170); |
2007 | } | 2007 | } |
2008 | dasm_put(Dst, 13166, FRAME_TYPE); | 2008 | dasm_put(Dst, 13174, FRAME_TYPE); |
2009 | switch (op) { | 2009 | switch (op) { |
2010 | case BC_RET: | 2010 | case BC_RET: |
2011 | dasm_put(Dst, 13185); | 2011 | dasm_put(Dst, 13193); |
2012 | break; | 2012 | break; |
2013 | case BC_RET1: | 2013 | case BC_RET1: |
2014 | dasm_put(Dst, 13243); | 2014 | dasm_put(Dst, 13251); |
2015 | /* fallthrough */ | 2015 | /* fallthrough */ |
2016 | case BC_RET0: | 2016 | case BC_RET0: |
2017 | dasm_put(Dst, 13259); | 2017 | dasm_put(Dst, 13267); |
2018 | default: | 2018 | default: |
2019 | break; | 2019 | break; |
2020 | } | 2020 | } |
2021 | dasm_put(Dst, 13270, Dt7(->pc), PC2PROTO(k)); | 2021 | dasm_put(Dst, 13278, Dt7(->pc), PC2PROTO(k)); |
2022 | if (op == BC_RET) { | 2022 | if (op == BC_RET) { |
2023 | dasm_put(Dst, 13314, LJ_TNIL); | 2023 | dasm_put(Dst, 13322, LJ_TNIL); |
2024 | } else { | 2024 | } else { |
2025 | dasm_put(Dst, 13323, LJ_TNIL); | 2025 | dasm_put(Dst, 13331, LJ_TNIL); |
2026 | } | 2026 | } |
2027 | dasm_put(Dst, 13330, -FRAME_VARG, FRAME_TYPEP); | 2027 | dasm_put(Dst, 13338, -FRAME_VARG, FRAME_TYPEP); |
2028 | if (op != BC_RET0) { | 2028 | if (op != BC_RET0) { |
2029 | dasm_put(Dst, 13354); | 2029 | dasm_put(Dst, 13362); |
2030 | } | 2030 | } |
2031 | dasm_put(Dst, 4573); | 2031 | dasm_put(Dst, 4581); |
2032 | break; | 2032 | break; |
2033 | 2033 | ||
2034 | /* -- Loops and branches ------------------------------------------------ */ | 2034 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2036,7 +2036,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2036 | 2036 | ||
2037 | case BC_FORL: | 2037 | case BC_FORL: |
2038 | #if LJ_HASJIT | 2038 | #if LJ_HASJIT |
2039 | dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2039 | dasm_put(Dst, 13366, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2040 | #endif | 2040 | #endif |
2041 | break; | 2041 | break; |
2042 | 2042 | ||
@@ -2048,57 +2048,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2048 | case BC_FORI: | 2048 | case BC_FORI: |
2049 | case BC_IFORL: | 2049 | case BC_IFORL: |
2050 | vk = (op == BC_IFORL || op == BC_JFORL); | 2050 | vk = (op == BC_IFORL || op == BC_JFORL); |
2051 | dasm_put(Dst, 13379); | 2051 | dasm_put(Dst, 13387); |
2052 | if (!vk) { | 2052 | if (!vk) { |
2053 | dasm_put(Dst, 13383, LJ_TISNUM, LJ_TISNUM); | 2053 | dasm_put(Dst, 13391, LJ_TISNUM, LJ_TISNUM); |
2054 | } | 2054 | } |
2055 | dasm_put(Dst, 13402); | 2055 | dasm_put(Dst, 13410); |
2056 | if (!vk) { | 2056 | if (!vk) { |
2057 | dasm_put(Dst, 13406, LJ_TISNUM); | 2057 | dasm_put(Dst, 13414, LJ_TISNUM); |
2058 | } | 2058 | } |
2059 | if (sse) { | 2059 | if (sse) { |
2060 | dasm_put(Dst, 13415); | 2060 | dasm_put(Dst, 13423); |
2061 | if (vk) { | 2061 | if (vk) { |
2062 | dasm_put(Dst, 13427); | 2062 | dasm_put(Dst, 13435); |
2063 | } else { | 2063 | } else { |
2064 | dasm_put(Dst, 13446); | 2064 | dasm_put(Dst, 13454); |
2065 | } | 2065 | } |
2066 | dasm_put(Dst, 13451); | 2066 | dasm_put(Dst, 13459); |
2067 | } else { | 2067 | } else { |
2068 | dasm_put(Dst, 13464); | 2068 | dasm_put(Dst, 13472); |
2069 | if (vk) { | 2069 | if (vk) { |
2070 | dasm_put(Dst, 13470); | 2070 | dasm_put(Dst, 13478); |
2071 | } else { | 2071 | } else { |
2072 | dasm_put(Dst, 13486); | 2072 | dasm_put(Dst, 13494); |
2073 | } | 2073 | } |
2074 | dasm_put(Dst, 13494); | 2074 | dasm_put(Dst, 13502); |
2075 | if (cmov) { | 2075 | if (cmov) { |
2076 | dasm_put(Dst, 9536); | 2076 | dasm_put(Dst, 9544); |
2077 | } else { | 2077 | } else { |
2078 | dasm_put(Dst, 9542); | 2078 | dasm_put(Dst, 9550); |
2079 | } | 2079 | } |
2080 | if (!cmov) { | 2080 | if (!cmov) { |
2081 | dasm_put(Dst, 13499); | 2081 | dasm_put(Dst, 13507); |
2082 | } | 2082 | } |
2083 | } | 2083 | } |
2084 | if (op == BC_FORI) { | 2084 | if (op == BC_FORI) { |
2085 | dasm_put(Dst, 13505, -BCBIAS_J*4); | 2085 | dasm_put(Dst, 13513, -BCBIAS_J*4); |
2086 | } else if (op == BC_JFORI) { | 2086 | } else if (op == BC_JFORI) { |
2087 | dasm_put(Dst, 13515, -BCBIAS_J*4, BC_JLOOP); | 2087 | dasm_put(Dst, 13523, -BCBIAS_J*4, BC_JLOOP); |
2088 | } else if (op == BC_IFORL) { | 2088 | } else if (op == BC_IFORL) { |
2089 | dasm_put(Dst, 13529, -BCBIAS_J*4); | 2089 | dasm_put(Dst, 13537, -BCBIAS_J*4); |
2090 | } else { | 2090 | } else { |
2091 | dasm_put(Dst, 13525, BC_JLOOP); | 2091 | dasm_put(Dst, 13533, BC_JLOOP); |
2092 | } | 2092 | } |
2093 | dasm_put(Dst, 9571); | 2093 | dasm_put(Dst, 9579); |
2094 | if (sse) { | 2094 | if (sse) { |
2095 | dasm_put(Dst, 13539); | 2095 | dasm_put(Dst, 13547); |
2096 | } | 2096 | } |
2097 | break; | 2097 | break; |
2098 | 2098 | ||
2099 | case BC_ITERL: | 2099 | case BC_ITERL: |
2100 | #if LJ_HASJIT | 2100 | #if LJ_HASJIT |
2101 | dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2101 | dasm_put(Dst, 13366, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2102 | #endif | 2102 | #endif |
2103 | break; | 2103 | break; |
2104 | 2104 | ||
@@ -2107,33 +2107,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2107 | break; | 2107 | break; |
2108 | #endif | 2108 | #endif |
2109 | case BC_IITERL: | 2109 | case BC_IITERL: |
2110 | dasm_put(Dst, 13550, LJ_TNIL); | 2110 | dasm_put(Dst, 13558, LJ_TNIL); |
2111 | if (op == BC_JITERL) { | 2111 | if (op == BC_JITERL) { |
2112 | dasm_put(Dst, 13565, BC_JLOOP); | 2112 | dasm_put(Dst, 13573, BC_JLOOP); |
2113 | } else { | 2113 | } else { |
2114 | dasm_put(Dst, 13579, -BCBIAS_J*4); | 2114 | dasm_put(Dst, 13587, -BCBIAS_J*4); |
2115 | } | 2115 | } |
2116 | dasm_put(Dst, 9871); | 2116 | dasm_put(Dst, 9879); |
2117 | break; | 2117 | break; |
2118 | 2118 | ||
2119 | case BC_LOOP: | 2119 | case BC_LOOP: |
2120 | #if LJ_HASJIT | 2120 | #if LJ_HASJIT |
2121 | dasm_put(Dst, 13358, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2121 | dasm_put(Dst, 13366, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2122 | #endif | 2122 | #endif |
2123 | break; | 2123 | break; |
2124 | 2124 | ||
2125 | case BC_ILOOP: | 2125 | case BC_ILOOP: |
2126 | dasm_put(Dst, 9573); | 2126 | dasm_put(Dst, 9581); |
2127 | break; | 2127 | break; |
2128 | 2128 | ||
2129 | case BC_JLOOP: | 2129 | case BC_JLOOP: |
2130 | #if LJ_HASJIT | 2130 | #if LJ_HASJIT |
2131 | dasm_put(Dst, 13595, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); | 2131 | dasm_put(Dst, 13603, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); |
2132 | #endif | 2132 | #endif |
2133 | break; | 2133 | break; |
2134 | 2134 | ||
2135 | case BC_JMP: | 2135 | case BC_JMP: |
2136 | dasm_put(Dst, 13704, -BCBIAS_J*4); | 2136 | dasm_put(Dst, 13712, -BCBIAS_J*4); |
2137 | break; | 2137 | break; |
2138 | 2138 | ||
2139 | /* -- Function headers -------------------------------------------------- */ | 2139 | /* -- Function headers -------------------------------------------------- */ |
@@ -2147,7 +2147,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2147 | 2147 | ||
2148 | case BC_FUNCF: | 2148 | case BC_FUNCF: |
2149 | #if LJ_HASJIT | 2149 | #if LJ_HASJIT |
2150 | dasm_put(Dst, 13729, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2150 | dasm_put(Dst, 13737, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2151 | #endif | 2151 | #endif |
2152 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2152 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2153 | break; | 2153 | break; |
@@ -2157,47 +2157,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2157 | break; | 2157 | break; |
2158 | #endif | 2158 | #endif |
2159 | case BC_IFUNCF: | 2159 | case BC_IFUNCF: |
2160 | dasm_put(Dst, 13750, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2160 | dasm_put(Dst, 13758, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2161 | if (op == BC_JFUNCF) { | 2161 | if (op == BC_JFUNCF) { |
2162 | dasm_put(Dst, 13780, BC_JLOOP); | 2162 | dasm_put(Dst, 13788, BC_JLOOP); |
2163 | } else { | 2163 | } else { |
2164 | dasm_put(Dst, 9573); | 2164 | dasm_put(Dst, 9581); |
2165 | } | 2165 | } |
2166 | dasm_put(Dst, 13789, LJ_TNIL); | 2166 | dasm_put(Dst, 13797, LJ_TNIL); |
2167 | break; | 2167 | break; |
2168 | 2168 | ||
2169 | case BC_JFUNCV: | 2169 | case BC_JFUNCV: |
2170 | #if !LJ_HASJIT | 2170 | #if !LJ_HASJIT |
2171 | break; | 2171 | break; |
2172 | #endif | 2172 | #endif |
2173 | dasm_put(Dst, 9048); | 2173 | dasm_put(Dst, 9056); |
2174 | break; /* NYI: compiled vararg functions. */ | 2174 | break; /* NYI: compiled vararg functions. */ |
2175 | 2175 | ||
2176 | case BC_IFUNCV: | 2176 | case BC_IFUNCV: |
2177 | dasm_put(Dst, 13811, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2177 | dasm_put(Dst, 13819, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2178 | if (op == BC_JFUNCV) { | 2178 | if (op == BC_JFUNCV) { |
2179 | dasm_put(Dst, 13780, BC_JLOOP); | 2179 | dasm_put(Dst, 13788, BC_JLOOP); |
2180 | } else { | 2180 | } else { |
2181 | dasm_put(Dst, 13902, -4+PC2PROTO(k)); | 2181 | dasm_put(Dst, 13910, -4+PC2PROTO(k)); |
2182 | } | 2182 | } |
2183 | dasm_put(Dst, 13925, LJ_TNIL); | 2183 | dasm_put(Dst, 13933, LJ_TNIL); |
2184 | break; | 2184 | break; |
2185 | 2185 | ||
2186 | case BC_FUNCC: | 2186 | case BC_FUNCC: |
2187 | case BC_FUNCCW: | 2187 | case BC_FUNCCW: |
2188 | dasm_put(Dst, 13947, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2188 | dasm_put(Dst, 13955, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2189 | if (op == BC_FUNCC) { | 2189 | if (op == BC_FUNCC) { |
2190 | dasm_put(Dst, 13977); | 2190 | dasm_put(Dst, 13985); |
2191 | } else { | 2191 | } else { |
2192 | dasm_put(Dst, 13981); | 2192 | dasm_put(Dst, 13989); |
2193 | } | 2193 | } |
2194 | dasm_put(Dst, 13989, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2194 | dasm_put(Dst, 13997, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2195 | if (op == BC_FUNCC) { | 2195 | if (op == BC_FUNCC) { |
2196 | dasm_put(Dst, 13998); | 2196 | dasm_put(Dst, 14006); |
2197 | } else { | 2197 | } else { |
2198 | dasm_put(Dst, 14002, DISPATCH_GL(wrapf)); | 2198 | dasm_put(Dst, 14010, DISPATCH_GL(wrapf)); |
2199 | } | 2199 | } |
2200 | dasm_put(Dst, 14007, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2200 | dasm_put(Dst, 14015, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2201 | break; | 2201 | break; |
2202 | 2202 | ||
2203 | /* ---------------------------------------------------------------------- */ | 2203 | /* ---------------------------------------------------------------------- */ |
@@ -2225,7 +2225,7 @@ static int build_backend(BuildCtx *ctx) | |||
2225 | 2225 | ||
2226 | build_subroutines(ctx, cmov, sse); | 2226 | build_subroutines(ctx, cmov, sse); |
2227 | 2227 | ||
2228 | dasm_put(Dst, 14032); | 2228 | dasm_put(Dst, 14040); |
2229 | for (op = 0; op < BC__MAX; op++) | 2229 | for (op = 0; op < BC__MAX; op++) |
2230 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2230 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2231 | 2231 | ||