aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h1104
1 files changed, 552 insertions, 552 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index baca59fe..e5a43031 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.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
15static const unsigned char build_actionlist[15227] = { 15static const unsigned char build_actionlist[15233] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -163,98 +163,98 @@ static const unsigned char build_actionlist[15227] = {
163 198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142, 163 198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,
164 233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233, 164 233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,
165 244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 165 244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,
166 149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,114,252,252, 166 52,36,139,149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,114,
167 137,116,36,24,137,44,36,131,189,233,0,15,133,244,55,255,128,189,233,235,15, 167 252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,55,255,128,189,233,
168 135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141, 168 235,15,135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,
169 116,193,252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,48,137,149, 169 1,141,116,193,252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,48,
170 233,137,149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248, 170 137,149,233,137,149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,
171 2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57, 171 249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,
172 206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244, 172 238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,
173 24,199,131,233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15, 173 8,232,244,24,199,131,233,237,139,108,36,48,139,52,36,139,149,233,129,252,
174 135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206, 174 248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,
175 15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213, 175 254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,
176 41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15, 176 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,
177 133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247, 177 252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,
178 198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251, 178 252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,
179 1,13,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 179 232,251,1,13,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,
180 149,233,252,233,244,4,248,78,139,108,36,48,252,247,133,233,237,15,132,244, 180 1,0,139,52,36,139,149,233,252,233,244,4,248,78,139,108,36,48,252,247,133,
181 55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176, 181 233,237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,
182 235,136,133,233,252,233,244,16,255,248,64,139,114,252,252,221,90,252,248, 182 137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,114,252,252,
183 252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 183 221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122,
184 135,244,55,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 184 253,4,239,15,135,244,55,252,242,15,16,2,102,15,252,239,201,102,15,118,201,
185 1,15,84,193,248,63,139,114,252,252,252,242,15,17,66,252,248,255,248,79,129, 185 102,15,115,209,1,15,84,193,248,63,139,114,252,252,252,242,15,17,66,252,248,
186 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,225,248, 186 255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,
187 63,248,64,139,114,252,252,221,90,252,248,255,248,58,184,237,248,69,137,68, 187 221,2,217,225,248,63,248,64,139,114,252,252,221,90,252,248,255,248,58,184,
188 36,20,248,56,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244, 188 237,248,69,137,68,36,20,248,56,252,247,198,237,15,133,244,253,248,5,56,70,
189 252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15,182,232, 189 252,255,15,135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,
190 131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237,131,192, 190 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,
191 1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,244,14, 191 244,237,131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,
192 255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 192 252,233,244,14,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239,
193 252,242,15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,244,55,129,122, 193 15,135,244,55,252,242,15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,
194 253,4,239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,244,63,248,83, 194 244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,
195 255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, 195 244,63,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
196 15,16,2,232,244,84,252,233,244,63,255,248,80,129,252,248,239,15,130,244,55, 196 244,55,252,242,15,16,2,232,244,84,252,233,244,63,255,248,80,129,252,248,239,
197 129,122,253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,64,248,81,129, 197 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,
198 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82, 198 64,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
199 252,233,244,64,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239, 199 2,232,244,82,252,233,244,64,248,83,255,129,252,248,239,15,130,244,55,129,
200 15,135,244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,252,248,239, 200 122,253,4,239,15,135,244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,
201 15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241, 201 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,
202 252,233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 202 2,217,252,241,252,233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,
203 135,244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248, 203 253,4,239,15,135,244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,
204 239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252, 204 87,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,
205 233,244,64,248,89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 205 2,232,244,88,252,233,244,64,248,89,129,252,248,239,15,130,244,55,129,122,
206 244,55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,239,255,15,130, 206 253,4,239,15,135,244,55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,
207 244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248, 207 239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,
208 91,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217, 208 233,244,64,248,91,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
209 252,242,221,216,252,233,244,64,248,92,129,252,248,239,15,130,244,55,255,129, 209 244,55,221,2,217,252,242,221,216,252,233,244,64,248,92,129,252,248,239,15,
210 122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252, 210 130,244,55,255,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,
211 250,217,252,243,252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122, 211 232,222,225,217,252,250,217,252,243,252,233,244,64,248,93,129,252,248,239,
212 253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250, 212 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,
213 217,201,217,252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129, 213 222,225,217,252,250,217,201,217,252,243,252,233,244,64,248,94,129,252,248,
214 122,253,4,239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64, 214 239,15,130,244,55,129,122,253,4,239,15,135,244,55,255,221,2,217,232,217,252,
215 255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 215 243,252,233,244,64,255,248,95,129,252,248,239,15,130,244,55,129,122,253,4,
216 252,242,15,16,2,252,242,15,17,4,36,255,248,95,129,252,248,239,15,130,244, 216 239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,95,129,252,248,
217 55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1, 217 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,
218 14,137,252,234,252,233,244,64,255,248,96,129,252,248,239,15,130,244,55,129, 218 213,232,251,1,14,137,252,234,252,233,244,64,255,248,96,129,252,248,239,15,
219 122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,96, 219 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,17,
220 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28, 220 4,36,255,248,96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
221 36,255,137,213,232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252, 221 55,221,2,221,28,36,255,137,213,232,251,1,15,137,252,234,252,233,244,64,255,
222 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252, 222 248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
223 242,15,17,4,36,255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239, 223 242,15,16,2,252,242,15,17,4,36,255,248,97,129,252,248,239,15,130,244,55,129,
224 15,135,244,55,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,252,233, 224 122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1,16,137,
225 244,64,248,98,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239, 225 252,234,252,233,244,64,248,98,255,248,99,129,252,248,239,15,130,244,55,129,
226 15,135,244,55,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233, 226 122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,248,252,242,15,89,
227 244,63,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 227 133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,244,55,129,122,253,
228 244,55,221,2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252, 228 4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,252,233,244,64,255,
229 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239, 229 248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,
230 15,135,244,55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248, 230 122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,252,233,244,64,248,
231 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255, 231 101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,
232 15,135,244,55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129, 232 253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,221,217,252,233,244,
233 252,248,239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,114, 233 64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,252,253,239,15,135,
234 252,252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224, 234 244,55,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,
235 252,255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253, 235 253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,
236 0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197, 236 129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,
237 255,137,108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255, 237 15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,
238 15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221, 238 255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,
239 26,255,184,237,252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252, 239 17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,87,192,252,233,244,
240 238,252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110, 240 2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,
241 205,102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221, 241 67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,
242 2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252, 242 248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,
243 184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,15,130,244, 243 106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,
244 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,129,252,248, 244 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,
245 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,106,4,139, 245 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,
246 114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40, 246 106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,
247 224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242, 247 255,15,40,224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,
248 15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,221,26, 248 252,242,15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,
249 255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233, 249 221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,
250 244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87, 250 233,244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,
251 228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,129,252, 251 15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,
252 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239, 252 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,
253 15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221, 253 12,239,15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,
254 217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,122,253, 254 244,1,221,217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,
255 4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252, 255 122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,
256 242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,15, 256 2,252,242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,
257 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244, 257 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
258 55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239, 258 55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239,
259 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0, 259 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,
260 248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55, 260 248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,
@@ -1174,376 +1174,376 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1174 dasm_put(Dst, 2819, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1174 dasm_put(Dst, 2819, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1175 dasm_put(Dst, 2920, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1175 dasm_put(Dst, 2920, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1176 dasm_put(Dst, 3034, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1176 dasm_put(Dst, 3034, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1177 dasm_put(Dst, 3129, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1177 dasm_put(Dst, 3132, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1178 dasm_put(Dst, 3195, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1178 dasm_put(Dst, 3198, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1179 dasm_put(Dst, 3296, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1179 dasm_put(Dst, 3299, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1180 dasm_put(Dst, 3406, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1180 dasm_put(Dst, 3412, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1181 if (sse) { 1181 if (sse) {
1182 dasm_put(Dst, 3432, 1+1, LJ_TISNUM); 1182 dasm_put(Dst, 3438, 1+1, LJ_TISNUM);
1183 } else { 1183 } else {
1184 dasm_put(Dst, 3501, 1+1, LJ_TISNUM); 1184 dasm_put(Dst, 3507, 1+1, LJ_TISNUM);
1185 } 1185 }
1186 dasm_put(Dst, 3537, 1+1, FRAME_TYPE, LJ_TNIL); 1186 dasm_put(Dst, 3543, 1+1, FRAME_TYPE, LJ_TNIL);
1187 if (sse) { 1187 if (sse) {
1188 dasm_put(Dst, 3627, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1188 dasm_put(Dst, 3633, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1189 dasm_put(Dst, 3689, 1+1, LJ_TISNUM); 1189 dasm_put(Dst, 3695, 1+1, LJ_TISNUM);
1190 } else { 1190 } else {
1191 dasm_put(Dst, 3719, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1191 dasm_put(Dst, 3725, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1192 dasm_put(Dst, 3778, 1+1, LJ_TISNUM); 1192 dasm_put(Dst, 3784, 1+1, LJ_TISNUM);
1193 } 1193 }
1194 dasm_put(Dst, 3805, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1194 dasm_put(Dst, 3811, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1195 dasm_put(Dst, 3874, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1195 dasm_put(Dst, 3880, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1196 dasm_put(Dst, 3931, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1196 dasm_put(Dst, 3937, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1197 dasm_put(Dst, 3994, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1197 dasm_put(Dst, 4000, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1198 dasm_put(Dst, 4084); 1198 dasm_put(Dst, 4090);
1199 if (sse) { 1199 if (sse) {
1200 dasm_put(Dst, 4096, 1+1, LJ_TISNUM); 1200 dasm_put(Dst, 4102, 1+1, LJ_TISNUM);
1201 } else { 1201 } else {
1202 dasm_put(Dst, 4127, 1+1, LJ_TISNUM); 1202 dasm_put(Dst, 4133, 1+1, LJ_TISNUM);
1203 } 1203 }
1204 dasm_put(Dst, 4152); 1204 dasm_put(Dst, 4158);
1205 if (sse) { 1205 if (sse) {
1206 dasm_put(Dst, 4166, 1+1, LJ_TISNUM); 1206 dasm_put(Dst, 4172, 1+1, LJ_TISNUM);
1207 } else { 1207 } else {
1208 dasm_put(Dst, 4197, 1+1, LJ_TISNUM); 1208 dasm_put(Dst, 4203, 1+1, LJ_TISNUM);
1209 } 1209 }
1210 dasm_put(Dst, 4222); 1210 dasm_put(Dst, 4228);
1211 if (sse) { 1211 if (sse) {
1212 dasm_put(Dst, 4236, 1+1, LJ_TISNUM); 1212 dasm_put(Dst, 4242, 1+1, LJ_TISNUM);
1213 } else { 1213 } else {
1214 dasm_put(Dst, 4267, 1+1, LJ_TISNUM); 1214 dasm_put(Dst, 4273, 1+1, LJ_TISNUM);
1215 } 1215 }
1216 dasm_put(Dst, 4292); 1216 dasm_put(Dst, 4298);
1217 if (sse) { 1217 if (sse) {
1218 dasm_put(Dst, 4308, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1218 dasm_put(Dst, 4314, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1219 } else { 1219 } else {
1220 dasm_put(Dst, 4347, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1220 dasm_put(Dst, 4353, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1221 } 1221 }
1222 dasm_put(Dst, 4380, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1222 dasm_put(Dst, 4386, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1223 dasm_put(Dst, 4445, 1+1, LJ_TISNUM); 1223 dasm_put(Dst, 4451, 1+1, LJ_TISNUM);
1224 if (sse) { 1224 if (sse) {
1225 dasm_put(Dst, 4544);
1226 } else {
1227 dasm_put(Dst, 4550); 1225 dasm_put(Dst, 4550);
1226 } else {
1227 dasm_put(Dst, 4556);
1228 } 1228 }
1229 dasm_put(Dst, 4559); 1229 dasm_put(Dst, 4565);
1230 if (sse) { 1230 if (sse) {
1231 dasm_put(Dst, 4584);
1232 } else {
1233 dasm_put(Dst, 4590); 1231 dasm_put(Dst, 4590);
1232 } else {
1233 dasm_put(Dst, 4596);
1234 } 1234 }
1235 dasm_put(Dst, 4593, 1+2); 1235 dasm_put(Dst, 4599, 1+2);
1236 if (sse) { 1236 if (sse) {
1237 dasm_put(Dst, 4602); 1237 dasm_put(Dst, 4608);
1238 } else { 1238 } else {
1239 dasm_put(Dst, 4610); 1239 dasm_put(Dst, 4616);
1240 } 1240 }
1241 dasm_put(Dst, 4618); 1241 dasm_put(Dst, 4624);
1242 if (sse) { 1242 if (sse) {
1243 dasm_put(Dst, 4621); 1243 dasm_put(Dst, 4627);
1244 } else { 1244 } else {
1245 dasm_put(Dst, 4653); 1245 dasm_put(Dst, 4659);
1246 } 1246 }
1247 dasm_put(Dst, 4672); 1247 dasm_put(Dst, 4678);
1248 if (sse) { 1248 if (sse) {
1249 dasm_put(Dst, 4688, 1+1, LJ_TISNUM); 1249 dasm_put(Dst, 4694, 1+1, LJ_TISNUM);
1250 } else { 1250 } else {
1251 dasm_put(Dst, 4713, 1+1, LJ_TISNUM); 1251 dasm_put(Dst, 4719, 1+1, LJ_TISNUM);
1252 } 1252 }
1253 dasm_put(Dst, 4735); 1253 dasm_put(Dst, 4741);
1254 if (sse) { 1254 if (sse) {
1255 dasm_put(Dst, 4757); 1255 dasm_put(Dst, 4763);
1256 } else { 1256 } else {
1257 dasm_put(Dst, 4783); 1257 dasm_put(Dst, 4789);
1258 } 1258 }
1259 dasm_put(Dst, 4800, 1+2); 1259 dasm_put(Dst, 4806, 1+2);
1260 if (sse) { 1260 if (sse) {
1261 dasm_put(Dst, 4840); 1261 dasm_put(Dst, 4846);
1262 } else { 1262 } else {
1263 dasm_put(Dst, 4848); 1263 dasm_put(Dst, 4854);
1264 } 1264 }
1265 dasm_put(Dst, 4858, 2+1, LJ_TISNUM, LJ_TISNUM); 1265 dasm_put(Dst, 4864, 2+1, LJ_TISNUM, LJ_TISNUM);
1266 if (sse) { 1266 if (sse) {
1267 dasm_put(Dst, 4910, 2+1, LJ_TISNUM, LJ_TISNUM); 1267 dasm_put(Dst, 4916, 2+1, LJ_TISNUM, LJ_TISNUM);
1268 } else { 1268 } else {
1269 dasm_put(Dst, 4957, 2+1, LJ_TISNUM, LJ_TISNUM); 1269 dasm_put(Dst, 4963, 2+1, LJ_TISNUM, LJ_TISNUM);
1270 } 1270 }
1271 if (sse) { 1271 if (sse) {
1272 dasm_put(Dst, 4998, 1+1, LJ_TISNUM, LJ_TISNUM); 1272 dasm_put(Dst, 5004, 1+1, LJ_TISNUM, LJ_TISNUM);
1273 } else { 1273 } else {
1274 dasm_put(Dst, 5069, 1+1, LJ_TISNUM, LJ_TISNUM); 1274 dasm_put(Dst, 5075, 1+1, LJ_TISNUM, LJ_TISNUM);
1275 if (cmov) { 1275 if (cmov) {
1276 dasm_put(Dst, 5122); 1276 dasm_put(Dst, 5128);
1277 } else { 1277 } else {
1278 dasm_put(Dst, 5130); 1278 dasm_put(Dst, 5136);
1279 } 1279 }
1280 dasm_put(Dst, 5061); 1280 dasm_put(Dst, 5067);
1281 } 1281 }
1282 if (sse) { 1282 if (sse) {
1283 dasm_put(Dst, 5151, 1+1, LJ_TISNUM, LJ_TISNUM); 1283 dasm_put(Dst, 5157, 1+1, LJ_TISNUM, LJ_TISNUM);
1284 } else { 1284 } else {
1285 dasm_put(Dst, 5222, 1+1, LJ_TISNUM, LJ_TISNUM); 1285 dasm_put(Dst, 5228, 1+1, LJ_TISNUM, LJ_TISNUM);
1286 if (cmov) { 1286 if (cmov) {
1287 dasm_put(Dst, 5275); 1287 dasm_put(Dst, 5281);
1288 } else { 1288 } else {
1289 dasm_put(Dst, 5283); 1289 dasm_put(Dst, 5289);
1290 } 1290 }
1291 dasm_put(Dst, 5061); 1291 dasm_put(Dst, 5067);
1292 } 1292 }
1293 if (!sse) { 1293 if (!sse) {
1294 dasm_put(Dst, 5304); 1294 dasm_put(Dst, 5310);
1295 } 1295 }
1296 dasm_put(Dst, 5313, 1+1, LJ_TSTR); 1296 dasm_put(Dst, 5319, 1+1, LJ_TSTR);
1297 if (sse) { 1297 if (sse) {
1298 dasm_put(Dst, 5335, Dt5(->len)); 1298 dasm_put(Dst, 5341, Dt5(->len));
1299 } else { 1299 } else {
1300 dasm_put(Dst, 5346, Dt5(->len)); 1300 dasm_put(Dst, 5352, Dt5(->len));
1301 } 1301 }
1302 dasm_put(Dst, 5354, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1302 dasm_put(Dst, 5360, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1303 if (sse) { 1303 if (sse) {
1304 dasm_put(Dst, 5392); 1304 dasm_put(Dst, 5398);
1305 } else { 1305 } else {
1306 dasm_put(Dst, 5402); 1306 dasm_put(Dst, 5408);
1307 } 1307 }
1308 dasm_put(Dst, 5415, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1308 dasm_put(Dst, 5421, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1309 if (sse) { 1309 if (sse) {
1310 dasm_put(Dst, 5450); 1310 dasm_put(Dst, 5456);
1311 } else { 1311 } else {
1312 dasm_put(Dst, 5472); 1312 dasm_put(Dst, 5478);
1313 } 1313 }
1314 dasm_put(Dst, 5492, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1314 dasm_put(Dst, 5498, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1315 dasm_put(Dst, 2142); 1315 dasm_put(Dst, 2142);
1316 if (sse) { 1316 if (sse) {
1317 dasm_put(Dst, 5595); 1317 dasm_put(Dst, 5601);
1318 } else { 1318 } else {
1319 dasm_put(Dst, 5606); 1319 dasm_put(Dst, 5612);
1320 } 1320 }
1321 dasm_put(Dst, 5614, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1321 dasm_put(Dst, 5620, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1322 if (sse) { 1322 if (sse) {
1323 dasm_put(Dst, 5644); 1323 dasm_put(Dst, 5650);
1324 } else { 1324 } else {
1325 dasm_put(Dst, 5651); 1325 dasm_put(Dst, 5657);
1326 } 1326 }
1327 dasm_put(Dst, 5663, sizeof(GCstr)-1); 1327 dasm_put(Dst, 5669, sizeof(GCstr)-1);
1328 dasm_put(Dst, 5738, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1328 dasm_put(Dst, 5744, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1329 dasm_put(Dst, 5797, LJ_TSTR, LJ_TISNUM); 1329 dasm_put(Dst, 5803, LJ_TSTR, LJ_TISNUM);
1330 if (sse) { 1330 if (sse) {
1331 dasm_put(Dst, 5818); 1331 dasm_put(Dst, 5824);
1332 } else { 1332 } else {
1333 dasm_put(Dst, 5825); 1333 dasm_put(Dst, 5831);
1334 } 1334 }
1335 dasm_put(Dst, 5837, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1335 dasm_put(Dst, 5843, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1336 dasm_put(Dst, 5902, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1336 dasm_put(Dst, 5908, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1337 dasm_put(Dst, 5965, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1337 dasm_put(Dst, 5971, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1338 dasm_put(Dst, 6036, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1338 dasm_put(Dst, 6042, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1339 dasm_put(Dst, 6121, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1339 dasm_put(Dst, 6127, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1340 dasm_put(Dst, 6191, 1+1, LJ_TTAB); 1340 dasm_put(Dst, 6197, 1+1, LJ_TTAB);
1341 if (sse) { 1341 if (sse) {
1342 dasm_put(Dst, 6259); 1342 dasm_put(Dst, 6265);
1343 } else { 1343 } else {
1344 dasm_put(Dst, 6269); 1344 dasm_put(Dst, 6275);
1345 } 1345 }
1346 if (sse) { 1346 if (sse) {
1347 dasm_put(Dst, 6280, 1+1, LJ_TISNUM); 1347 dasm_put(Dst, 6286, 1+1, LJ_TISNUM);
1348 } else { 1348 } else {
1349 dasm_put(Dst, 6337, 1+1, LJ_TISNUM); 1349 dasm_put(Dst, 6343, 1+1, LJ_TISNUM);
1350 } 1350 }
1351 if (sse) { 1351 if (sse) {
1352 dasm_put(Dst, 6381, 1+1, LJ_TISNUM); 1352 dasm_put(Dst, 6387, 1+1, LJ_TISNUM);
1353 } else { 1353 } else {
1354 dasm_put(Dst, 6429, 1+1, LJ_TISNUM); 1354 dasm_put(Dst, 6435, 1+1, LJ_TISNUM);
1355 } 1355 }
1356 dasm_put(Dst, 6469, LJ_TISNUM); 1356 dasm_put(Dst, 6475, LJ_TISNUM);
1357 if (sse) { 1357 if (sse) {
1358 dasm_put(Dst, 6496); 1358 dasm_put(Dst, 6502);
1359 } else { 1359 } else {
1360 dasm_put(Dst, 6513); 1360 dasm_put(Dst, 6519);
1361 } 1361 }
1362 dasm_put(Dst, 6526); 1362 dasm_put(Dst, 6532);
1363 if (sse) { 1363 if (sse) {
1364 dasm_put(Dst, 6534, 1+1, LJ_TISNUM); 1364 dasm_put(Dst, 6540, 1+1, LJ_TISNUM);
1365 } else { 1365 } else {
1366 dasm_put(Dst, 6582, 1+1, LJ_TISNUM); 1366 dasm_put(Dst, 6588, 1+1, LJ_TISNUM);
1367 } 1367 }
1368 dasm_put(Dst, 6469, LJ_TISNUM); 1368 dasm_put(Dst, 6475, LJ_TISNUM);
1369 if (sse) { 1369 if (sse) {
1370 dasm_put(Dst, 6622); 1370 dasm_put(Dst, 6628);
1371 } else { 1371 } else {
1372 dasm_put(Dst, 6639); 1372 dasm_put(Dst, 6645);
1373 } 1373 }
1374 dasm_put(Dst, 6526); 1374 dasm_put(Dst, 6532);
1375 if (sse) { 1375 if (sse) {
1376 dasm_put(Dst, 6652, 1+1, LJ_TISNUM); 1376 dasm_put(Dst, 6658, 1+1, LJ_TISNUM);
1377 } else { 1377 } else {
1378 dasm_put(Dst, 6700, 1+1, LJ_TISNUM); 1378 dasm_put(Dst, 6706, 1+1, LJ_TISNUM);
1379 } 1379 }
1380 dasm_put(Dst, 6469, LJ_TISNUM); 1380 dasm_put(Dst, 6475, LJ_TISNUM);
1381 if (sse) { 1381 if (sse) {
1382 dasm_put(Dst, 6740); 1382 dasm_put(Dst, 6746);
1383 } else { 1383 } else {
1384 dasm_put(Dst, 6757); 1384 dasm_put(Dst, 6763);
1385 } 1385 }
1386 dasm_put(Dst, 6526); 1386 dasm_put(Dst, 6532);
1387 if (sse) { 1387 if (sse) {
1388 dasm_put(Dst, 6770, 1+1, LJ_TISNUM); 1388 dasm_put(Dst, 6776, 1+1, LJ_TISNUM);
1389 } else { 1389 } else {
1390 dasm_put(Dst, 6818, 1+1, LJ_TISNUM); 1390 dasm_put(Dst, 6824, 1+1, LJ_TISNUM);
1391 } 1391 }
1392 dasm_put(Dst, 6858); 1392 dasm_put(Dst, 6864);
1393 if (sse) { 1393 if (sse) {
1394 dasm_put(Dst, 6865, 1+1, LJ_TISNUM); 1394 dasm_put(Dst, 6871, 1+1, LJ_TISNUM);
1395 } else { 1395 } else {
1396 dasm_put(Dst, 6913, 1+1, LJ_TISNUM); 1396 dasm_put(Dst, 6919, 1+1, LJ_TISNUM);
1397 } 1397 }
1398 dasm_put(Dst, 6953); 1398 dasm_put(Dst, 6959);
1399 if (sse) { 1399 if (sse) {
1400 dasm_put(Dst, 6957); 1400 dasm_put(Dst, 6963);
1401 } else { 1401 } else {
1402 dasm_put(Dst, 6969); 1402 dasm_put(Dst, 6975);
1403 } 1403 }
1404 dasm_put(Dst, 6982); 1404 dasm_put(Dst, 6988);
1405 if (sse) { 1405 if (sse) {
1406 dasm_put(Dst, 6993, 2+1, LJ_TISNUM, LJ_TISNUM); 1406 dasm_put(Dst, 6999, 2+1, LJ_TISNUM, LJ_TISNUM);
1407 } else { 1407 } else {
1408 dasm_put(Dst, 7067, 2+1, LJ_TISNUM, LJ_TISNUM); 1408 dasm_put(Dst, 7073, 2+1, LJ_TISNUM, LJ_TISNUM);
1409 } 1409 }
1410 dasm_put(Dst, 7133); 1410 dasm_put(Dst, 7139);
1411 if (sse) { 1411 if (sse) {
1412 dasm_put(Dst, 7142, 2+1, LJ_TISNUM, LJ_TISNUM); 1412 dasm_put(Dst, 7148, 2+1, LJ_TISNUM, LJ_TISNUM);
1413 } else { 1413 } else {
1414 dasm_put(Dst, 7216, 2+1, LJ_TISNUM, LJ_TISNUM); 1414 dasm_put(Dst, 7222, 2+1, LJ_TISNUM, LJ_TISNUM);
1415 } 1415 }
1416 dasm_put(Dst, 7282); 1416 dasm_put(Dst, 7288);
1417 if (sse) { 1417 if (sse) {
1418 dasm_put(Dst, 7292, 2+1, LJ_TISNUM, LJ_TISNUM); 1418 dasm_put(Dst, 7298, 2+1, LJ_TISNUM, LJ_TISNUM);
1419 } else { 1419 } else {
1420 dasm_put(Dst, 7366, 2+1, LJ_TISNUM, LJ_TISNUM); 1420 dasm_put(Dst, 7372, 2+1, LJ_TISNUM, LJ_TISNUM);
1421 } 1421 }
1422 dasm_put(Dst, 7432); 1422 dasm_put(Dst, 7438);
1423 if (sse) { 1423 if (sse) {
1424 dasm_put(Dst, 7442, 2+1, LJ_TISNUM, LJ_TISNUM); 1424 dasm_put(Dst, 7448, 2+1, LJ_TISNUM, LJ_TISNUM);
1425 } else { 1425 } else {
1426 dasm_put(Dst, 7516, 2+1, LJ_TISNUM, LJ_TISNUM); 1426 dasm_put(Dst, 7522, 2+1, LJ_TISNUM, LJ_TISNUM);
1427 } 1427 }
1428 dasm_put(Dst, 7582); 1428 dasm_put(Dst, 7588);
1429 if (sse) { 1429 if (sse) {
1430 dasm_put(Dst, 7591, 2+1, LJ_TISNUM, LJ_TISNUM); 1430 dasm_put(Dst, 7597, 2+1, LJ_TISNUM, LJ_TISNUM);
1431 } else { 1431 } else {
1432 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM); 1432 dasm_put(Dst, 7671, 2+1, LJ_TISNUM, LJ_TISNUM);
1433 } 1433 }
1434 dasm_put(Dst, 7731, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1434 dasm_put(Dst, 7737, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1435 dasm_put(Dst, 7809, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1435 dasm_put(Dst, 7815, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1436 dasm_put(Dst, 7933, Dt1(->top), Dt1(->base), Dt1(->top)); 1436 dasm_put(Dst, 7939, Dt1(->top), Dt1(->base), Dt1(->top));
1437#if LJ_HASJIT 1437#if LJ_HASJIT
1438 dasm_put(Dst, 7971, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1438 dasm_put(Dst, 7977, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1439#endif 1439#endif
1440 dasm_put(Dst, 8002, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1440 dasm_put(Dst, 8008, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1441 dasm_put(Dst, 8053, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1441 dasm_put(Dst, 8059, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1442#if LJ_HASJIT 1442#if LJ_HASJIT
1443 dasm_put(Dst, 8119, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1443 dasm_put(Dst, 8125, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1444#endif 1444#endif
1445 dasm_put(Dst, 8165); 1445 dasm_put(Dst, 8171);
1446#if LJ_HASJIT 1446#if LJ_HASJIT
1447 dasm_put(Dst, 7997); 1447 dasm_put(Dst, 8003);
1448#endif 1448#endif
1449 dasm_put(Dst, 8172); 1449 dasm_put(Dst, 8178);
1450#if LJ_HASJIT 1450#if LJ_HASJIT
1451 dasm_put(Dst, 8175); 1451 dasm_put(Dst, 8181);
1452#endif 1452#endif
1453 dasm_put(Dst, 8185, Dt1(->base), Dt1(->top)); 1453 dasm_put(Dst, 8191, Dt1(->base), Dt1(->top));
1454#if LJ_HASJIT 1454#if LJ_HASJIT
1455 dasm_put(Dst, 8219); 1455 dasm_put(Dst, 8225);
1456#endif 1456#endif
1457 dasm_put(Dst, 8224, Dt1(->base), Dt1(->top)); 1457 dasm_put(Dst, 8230, Dt1(->base), Dt1(->top));
1458#if LJ_HASJIT 1458#if LJ_HASJIT
1459 dasm_put(Dst, 8253, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1459 dasm_put(Dst, 8259, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1460#endif 1460#endif
1461 dasm_put(Dst, 8396); 1461 dasm_put(Dst, 8402);
1462#if LJ_HASJIT 1462#if LJ_HASJIT
1463 dasm_put(Dst, 8399, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1463 dasm_put(Dst, 8405, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1464#endif 1464#endif
1465 dasm_put(Dst, 8477); 1465 dasm_put(Dst, 8483);
1466 if (!sse) { 1466 if (!sse) {
1467 dasm_put(Dst, 8480); 1467 dasm_put(Dst, 8486);
1468 } 1468 }
1469 dasm_put(Dst, 8525); 1469 dasm_put(Dst, 8531);
1470 if (!sse) { 1470 if (!sse) {
1471 dasm_put(Dst, 8627); 1471 dasm_put(Dst, 8633);
1472 } 1472 }
1473 dasm_put(Dst, 8672); 1473 dasm_put(Dst, 8678);
1474 if (!sse) { 1474 if (!sse) {
1475 dasm_put(Dst, 8774); 1475 dasm_put(Dst, 8780);
1476 } 1476 }
1477 dasm_put(Dst, 8813); 1477 dasm_put(Dst, 8819);
1478 if (sse) { 1478 if (sse) {
1479 dasm_put(Dst, 8918); 1479 dasm_put(Dst, 8924);
1480 } else { 1480 } else {
1481 dasm_put(Dst, 9048); 1481 dasm_put(Dst, 9054);
1482 } 1482 }
1483 dasm_put(Dst, 9095); 1483 dasm_put(Dst, 9101);
1484 if (!sse) { 1484 if (!sse) {
1485 dasm_put(Dst, 9169); 1485 dasm_put(Dst, 9175);
1486 if (cmov) { 1486 if (cmov) {
1487 dasm_put(Dst, 9180); 1487 dasm_put(Dst, 9186);
1488 } else { 1488 } else {
1489 dasm_put(Dst, 9184); 1489 dasm_put(Dst, 9190);
1490 } 1490 }
1491 dasm_put(Dst, 9191); 1491 dasm_put(Dst, 9197);
1492 dasm_put(Dst, 9265); 1492 dasm_put(Dst, 9271);
1493 dasm_put(Dst, 9365); 1493 dasm_put(Dst, 9371);
1494 if (cmov) { 1494 if (cmov) {
1495 dasm_put(Dst, 9368); 1495 dasm_put(Dst, 9374);
1496 } else { 1496 } else {
1497 dasm_put(Dst, 9372); 1497 dasm_put(Dst, 9378);
1498 } 1498 }
1499 dasm_put(Dst, 9379); 1499 dasm_put(Dst, 9385);
1500 if (cmov) { 1500 if (cmov) {
1501 dasm_put(Dst, 9180); 1501 dasm_put(Dst, 9186);
1502 } else { 1502 } else {
1503 dasm_put(Dst, 9184); 1503 dasm_put(Dst, 9190);
1504 } 1504 }
1505 dasm_put(Dst, 9397); 1505 dasm_put(Dst, 9403);
1506 } else { 1506 } else {
1507 dasm_put(Dst, 9476); 1507 dasm_put(Dst, 9482);
1508 } 1508 }
1509 dasm_put(Dst, 9479); 1509 dasm_put(Dst, 9485);
1510 dasm_put(Dst, 9564); 1510 dasm_put(Dst, 9570);
1511 dasm_put(Dst, 9695); 1511 dasm_put(Dst, 9701);
1512 dasm_put(Dst, 9894); 1512 dasm_put(Dst, 9900);
1513#if LJ_HASJIT 1513#if LJ_HASJIT
1514 if (sse) { 1514 if (sse) {
1515 dasm_put(Dst, 9917); 1515 dasm_put(Dst, 9923);
1516 dasm_put(Dst, 9974); 1516 dasm_put(Dst, 9980);
1517 dasm_put(Dst, 10065); 1517 dasm_put(Dst, 10071);
1518 } else { 1518 } else {
1519 dasm_put(Dst, 10107); 1519 dasm_put(Dst, 10113);
1520 dasm_put(Dst, 10199); 1520 dasm_put(Dst, 10205);
1521 } 1521 }
1522 dasm_put(Dst, 10245); 1522 dasm_put(Dst, 10251);
1523#endif 1523#endif
1524 dasm_put(Dst, 10249); 1524 dasm_put(Dst, 10255);
1525 if (sse) { 1525 if (sse) {
1526 dasm_put(Dst, 10252); 1526 dasm_put(Dst, 10258);
1527 dasm_put(Dst, 10357); 1527 dasm_put(Dst, 10363);
1528 dasm_put(Dst, 10440); 1528 dasm_put(Dst, 10446);
1529 } else { 1529 } else {
1530 dasm_put(Dst, 10512); 1530 dasm_put(Dst, 10518);
1531 dasm_put(Dst, 10595); 1531 dasm_put(Dst, 10601);
1532 if (cmov) { 1532 if (cmov) {
1533 dasm_put(Dst, 10650); 1533 dasm_put(Dst, 10656);
1534 } else { 1534 } else {
1535 dasm_put(Dst, 10669); 1535 dasm_put(Dst, 10675);
1536 } 1536 }
1537 dasm_put(Dst, 10245); 1537 dasm_put(Dst, 10251);
1538 } 1538 }
1539 dasm_put(Dst, 10710); 1539 dasm_put(Dst, 10716);
1540} 1540}
1541 1541
1542/* Generate the code for a single instruction. */ 1542/* Generate the code for a single instruction. */
1543static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1543static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1544{ 1544{
1545 int vk = 0; 1545 int vk = 0;
1546 dasm_put(Dst, 10764, defop); 1546 dasm_put(Dst, 10770, defop);
1547 1547
1548 switch (op) { 1548 switch (op) {
1549 1549
@@ -1552,607 +1552,607 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1552 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1552 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1553 1553
1554 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1554 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1555 dasm_put(Dst, 10766, LJ_TISNUM, LJ_TISNUM); 1555 dasm_put(Dst, 10772, LJ_TISNUM, LJ_TISNUM);
1556 if (sse) { 1556 if (sse) {
1557 dasm_put(Dst, 10787); 1557 dasm_put(Dst, 10793);
1558 } else { 1558 } else {
1559 dasm_put(Dst, 10802); 1559 dasm_put(Dst, 10808);
1560 if (cmov) { 1560 if (cmov) {
1561 dasm_put(Dst, 10812);
1562 } else {
1563 dasm_put(Dst, 10818); 1561 dasm_put(Dst, 10818);
1562 } else {
1563 dasm_put(Dst, 10824);
1564 } 1564 }
1565 } 1565 }
1566 switch (op) { 1566 switch (op) {
1567 case BC_ISLT: 1567 case BC_ISLT:
1568 dasm_put(Dst, 10825); 1568 dasm_put(Dst, 10831);
1569 break; 1569 break;
1570 case BC_ISGE: 1570 case BC_ISGE:
1571 dasm_put(Dst, 10060); 1571 dasm_put(Dst, 10066);
1572 break; 1572 break;
1573 case BC_ISLE: 1573 case BC_ISLE:
1574 dasm_put(Dst, 6186); 1574 dasm_put(Dst, 6192);
1575 break; 1575 break;
1576 case BC_ISGT: 1576 case BC_ISGT:
1577 dasm_put(Dst, 10830); 1577 dasm_put(Dst, 10836);
1578 break; 1578 break;
1579 default: break; /* Shut up GCC. */ 1579 default: break; /* Shut up GCC. */
1580 } 1580 }
1581 dasm_put(Dst, 10835, -BCBIAS_J*4); 1581 dasm_put(Dst, 10841, -BCBIAS_J*4);
1582 break; 1582 break;
1583 1583
1584 case BC_ISEQV: case BC_ISNEV: 1584 case BC_ISEQV: case BC_ISNEV:
1585 vk = op == BC_ISEQV; 1585 vk = op == BC_ISEQV;
1586 dasm_put(Dst, 10868, LJ_TISNUM, LJ_TISNUM); 1586 dasm_put(Dst, 10874, LJ_TISNUM, LJ_TISNUM);
1587 if (sse) { 1587 if (sse) {
1588 dasm_put(Dst, 10894); 1588 dasm_put(Dst, 10900);
1589 } else { 1589 } else {
1590 dasm_put(Dst, 10906); 1590 dasm_put(Dst, 10912);
1591 if (cmov) { 1591 if (cmov) {
1592 dasm_put(Dst, 10812);
1593 } else {
1594 dasm_put(Dst, 10818); 1592 dasm_put(Dst, 10818);
1593 } else {
1594 dasm_put(Dst, 10824);
1595 } 1595 }
1596 } 1596 }
1597 iseqne_fp: 1597 iseqne_fp:
1598 if (vk) { 1598 if (vk) {
1599 dasm_put(Dst, 10913); 1599 dasm_put(Dst, 10919);
1600 } else { 1600 } else {
1601 dasm_put(Dst, 10922); 1601 dasm_put(Dst, 10928);
1602 } 1602 }
1603 iseqne_end: 1603 iseqne_end:
1604 if (vk) { 1604 if (vk) {
1605 dasm_put(Dst, 10931, -BCBIAS_J*4); 1605 dasm_put(Dst, 10937, -BCBIAS_J*4);
1606 } else { 1606 } else {
1607 dasm_put(Dst, 10946, -BCBIAS_J*4); 1607 dasm_put(Dst, 10952, -BCBIAS_J*4);
1608 } 1608 }
1609 dasm_put(Dst, 10849); 1609 dasm_put(Dst, 10855);
1610 if (op == BC_ISEQV || op == BC_ISNEV) { 1610 if (op == BC_ISEQV || op == BC_ISNEV) {
1611 dasm_put(Dst, 10961, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1611 dasm_put(Dst, 10967, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1612 if (vk) { 1612 if (vk) {
1613 dasm_put(Dst, 11019); 1613 dasm_put(Dst, 11025);
1614 } else { 1614 } else {
1615 dasm_put(Dst, 11023); 1615 dasm_put(Dst, 11029);
1616 } 1616 }
1617 dasm_put(Dst, 11029); 1617 dasm_put(Dst, 11035);
1618 } 1618 }
1619 break; 1619 break;
1620 case BC_ISEQS: case BC_ISNES: 1620 case BC_ISEQS: case BC_ISNES:
1621 vk = op == BC_ISEQS; 1621 vk = op == BC_ISEQS;
1622 dasm_put(Dst, 11034, LJ_TSTR); 1622 dasm_put(Dst, 11040, LJ_TSTR);
1623 iseqne_test: 1623 iseqne_test:
1624 if (vk) { 1624 if (vk) {
1625 dasm_put(Dst, 10917); 1625 dasm_put(Dst, 10923);
1626 } else { 1626 } else {
1627 dasm_put(Dst, 2814); 1627 dasm_put(Dst, 2814);
1628 } 1628 }
1629 goto iseqne_end; 1629 goto iseqne_end;
1630 case BC_ISEQN: case BC_ISNEN: 1630 case BC_ISEQN: case BC_ISNEN:
1631 vk = op == BC_ISEQN; 1631 vk = op == BC_ISEQN;
1632 dasm_put(Dst, 11057, LJ_TISNUM); 1632 dasm_put(Dst, 11063, LJ_TISNUM);
1633 if (sse) { 1633 if (sse) {
1634 dasm_put(Dst, 11071); 1634 dasm_put(Dst, 11077);
1635 } else { 1635 } else {
1636 dasm_put(Dst, 11083); 1636 dasm_put(Dst, 11089);
1637 if (cmov) { 1637 if (cmov) {
1638 dasm_put(Dst, 10812);
1639 } else {
1640 dasm_put(Dst, 10818); 1638 dasm_put(Dst, 10818);
1639 } else {
1640 dasm_put(Dst, 10824);
1641 } 1641 }
1642 } 1642 }
1643 goto iseqne_fp; 1643 goto iseqne_fp;
1644 case BC_ISEQP: case BC_ISNEP: 1644 case BC_ISEQP: case BC_ISNEP:
1645 vk = op == BC_ISEQP; 1645 vk = op == BC_ISEQP;
1646 dasm_put(Dst, 11090); 1646 dasm_put(Dst, 11096);
1647 goto iseqne_test; 1647 goto iseqne_test;
1648 1648
1649 /* -- Unary test and copy ops ------------------------------------------- */ 1649 /* -- Unary test and copy ops ------------------------------------------- */
1650 1650
1651 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1651 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1652 dasm_put(Dst, 11101, LJ_TISTRUECOND); 1652 dasm_put(Dst, 11107, LJ_TISTRUECOND);
1653 if (op == BC_IST || op == BC_ISTC) { 1653 if (op == BC_IST || op == BC_ISTC) {
1654 dasm_put(Dst, 11113); 1654 dasm_put(Dst, 11119);
1655 } else { 1655 } else {
1656 dasm_put(Dst, 11118); 1656 dasm_put(Dst, 11124);
1657 } 1657 }
1658 if (op == BC_ISTC || op == BC_ISFC) { 1658 if (op == BC_ISTC || op == BC_ISFC) {
1659 dasm_put(Dst, 11123); 1659 dasm_put(Dst, 11129);
1660 } 1660 }
1661 dasm_put(Dst, 11134, -BCBIAS_J*4); 1661 dasm_put(Dst, 11140, -BCBIAS_J*4);
1662 break; 1662 break;
1663 1663
1664 /* -- Unary ops --------------------------------------------------------- */ 1664 /* -- Unary ops --------------------------------------------------------- */
1665 1665
1666 case BC_MOV: 1666 case BC_MOV:
1667 dasm_put(Dst, 11165); 1667 dasm_put(Dst, 11171);
1668 break; 1668 break;
1669 case BC_NOT: 1669 case BC_NOT:
1670 dasm_put(Dst, 11198, LJ_TISTRUECOND, LJ_TTRUE); 1670 dasm_put(Dst, 11204, LJ_TISTRUECOND, LJ_TTRUE);
1671 break; 1671 break;
1672 case BC_UNM: 1672 case BC_UNM:
1673 dasm_put(Dst, 11233, LJ_TISNUM); 1673 dasm_put(Dst, 11239, LJ_TISNUM);
1674 if (sse) { 1674 if (sse) {
1675 dasm_put(Dst, 11244); 1675 dasm_put(Dst, 11250);
1676 } else { 1676 } else {
1677 dasm_put(Dst, 11274); 1677 dasm_put(Dst, 11280);
1678 } 1678 }
1679 dasm_put(Dst, 10849); 1679 dasm_put(Dst, 10855);
1680 break; 1680 break;
1681 case BC_LEN: 1681 case BC_LEN:
1682 dasm_put(Dst, 11283, LJ_TSTR); 1682 dasm_put(Dst, 11289, LJ_TSTR);
1683 if (sse) { 1683 if (sse) {
1684 dasm_put(Dst, 11297, Dt5(->len)); 1684 dasm_put(Dst, 11303, Dt5(->len));
1685 } else { 1685 } else {
1686 dasm_put(Dst, 11315, Dt5(->len)); 1686 dasm_put(Dst, 11321, Dt5(->len));
1687 } 1687 }
1688 dasm_put(Dst, 11324, LJ_TTAB); 1688 dasm_put(Dst, 11330, LJ_TTAB);
1689 if (sse) { 1689 if (sse) {
1690 dasm_put(Dst, 11364); 1690 dasm_put(Dst, 11370);
1691 } else { 1691 } else {
1692 dasm_put(Dst, 11373); 1692 dasm_put(Dst, 11379);
1693 } 1693 }
1694 dasm_put(Dst, 11383); 1694 dasm_put(Dst, 11389);
1695 break; 1695 break;
1696 1696
1697 /* -- Binary ops -------------------------------------------------------- */ 1697 /* -- Binary ops -------------------------------------------------------- */
1698 1698
1699 1699
1700 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1700 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1701 dasm_put(Dst, 11393); 1701 dasm_put(Dst, 11399);
1702 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1702 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1703 switch (vk) { 1703 switch (vk) {
1704 case 0: 1704 case 0:
1705 dasm_put(Dst, 11401, LJ_TISNUM); 1705 dasm_put(Dst, 11407, LJ_TISNUM);
1706 if (sse) { 1706 if (sse) {
1707 dasm_put(Dst, 11413); 1707 dasm_put(Dst, 11419);
1708 } else { 1708 } else {
1709 dasm_put(Dst, 11427); 1709 dasm_put(Dst, 11433);
1710 } 1710 }
1711 break; 1711 break;
1712 case 1: 1712 case 1:
1713 dasm_put(Dst, 11435, LJ_TISNUM); 1713 dasm_put(Dst, 11441, LJ_TISNUM);
1714 if (sse) { 1714 if (sse) {
1715 dasm_put(Dst, 11447); 1715 dasm_put(Dst, 11453);
1716 } else { 1716 } else {
1717 dasm_put(Dst, 11461); 1717 dasm_put(Dst, 11467);
1718 } 1718 }
1719 break; 1719 break;
1720 default: 1720 default:
1721 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1721 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1722 if (sse) { 1722 if (sse) {
1723 dasm_put(Dst, 11491); 1723 dasm_put(Dst, 11497);
1724 } else { 1724 } else {
1725 dasm_put(Dst, 11505); 1725 dasm_put(Dst, 11511);
1726 } 1726 }
1727 break; 1727 break;
1728 } 1728 }
1729 if (sse) { 1729 if (sse) {
1730 dasm_put(Dst, 11267); 1730 dasm_put(Dst, 11273);
1731 } else { 1731 } else {
1732 dasm_put(Dst, 11279); 1732 dasm_put(Dst, 11285);
1733 } 1733 }
1734 dasm_put(Dst, 10849); 1734 dasm_put(Dst, 10855);
1735 break; 1735 break;
1736 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1736 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1737 dasm_put(Dst, 11393); 1737 dasm_put(Dst, 11399);
1738 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1738 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1739 switch (vk) { 1739 switch (vk) {
1740 case 0: 1740 case 0:
1741 dasm_put(Dst, 11401, LJ_TISNUM); 1741 dasm_put(Dst, 11407, LJ_TISNUM);
1742 if (sse) { 1742 if (sse) {
1743 dasm_put(Dst, 11513); 1743 dasm_put(Dst, 11519);
1744 } else { 1744 } else {
1745 dasm_put(Dst, 11527); 1745 dasm_put(Dst, 11533);
1746 } 1746 }
1747 break; 1747 break;
1748 case 1: 1748 case 1:
1749 dasm_put(Dst, 11435, LJ_TISNUM); 1749 dasm_put(Dst, 11441, LJ_TISNUM);
1750 if (sse) { 1750 if (sse) {
1751 dasm_put(Dst, 11535); 1751 dasm_put(Dst, 11541);
1752 } else { 1752 } else {
1753 dasm_put(Dst, 11549); 1753 dasm_put(Dst, 11555);
1754 } 1754 }
1755 break; 1755 break;
1756 default: 1756 default:
1757 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1757 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1758 if (sse) { 1758 if (sse) {
1759 dasm_put(Dst, 11557); 1759 dasm_put(Dst, 11563);
1760 } else { 1760 } else {
1761 dasm_put(Dst, 11571); 1761 dasm_put(Dst, 11577);
1762 } 1762 }
1763 break; 1763 break;
1764 } 1764 }
1765 if (sse) { 1765 if (sse) {
1766 dasm_put(Dst, 11267); 1766 dasm_put(Dst, 11273);
1767 } else { 1767 } else {
1768 dasm_put(Dst, 11279); 1768 dasm_put(Dst, 11285);
1769 } 1769 }
1770 dasm_put(Dst, 10849); 1770 dasm_put(Dst, 10855);
1771 break; 1771 break;
1772 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1772 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1773 dasm_put(Dst, 11393); 1773 dasm_put(Dst, 11399);
1774 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1774 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1775 switch (vk) { 1775 switch (vk) {
1776 case 0: 1776 case 0:
1777 dasm_put(Dst, 11401, LJ_TISNUM); 1777 dasm_put(Dst, 11407, LJ_TISNUM);
1778 if (sse) { 1778 if (sse) {
1779 dasm_put(Dst, 11579); 1779 dasm_put(Dst, 11585);
1780 } else { 1780 } else {
1781 dasm_put(Dst, 11593); 1781 dasm_put(Dst, 11599);
1782 } 1782 }
1783 break; 1783 break;
1784 case 1: 1784 case 1:
1785 dasm_put(Dst, 11435, LJ_TISNUM); 1785 dasm_put(Dst, 11441, LJ_TISNUM);
1786 if (sse) { 1786 if (sse) {
1787 dasm_put(Dst, 11601); 1787 dasm_put(Dst, 11607);
1788 } else { 1788 } else {
1789 dasm_put(Dst, 11615); 1789 dasm_put(Dst, 11621);
1790 } 1790 }
1791 break; 1791 break;
1792 default: 1792 default:
1793 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1793 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1794 if (sse) { 1794 if (sse) {
1795 dasm_put(Dst, 11623); 1795 dasm_put(Dst, 11629);
1796 } else { 1796 } else {
1797 dasm_put(Dst, 11637); 1797 dasm_put(Dst, 11643);
1798 } 1798 }
1799 break; 1799 break;
1800 } 1800 }
1801 if (sse) { 1801 if (sse) {
1802 dasm_put(Dst, 11267); 1802 dasm_put(Dst, 11273);
1803 } else { 1803 } else {
1804 dasm_put(Dst, 11279); 1804 dasm_put(Dst, 11285);
1805 } 1805 }
1806 dasm_put(Dst, 10849); 1806 dasm_put(Dst, 10855);
1807 break; 1807 break;
1808 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1808 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1809 dasm_put(Dst, 11393); 1809 dasm_put(Dst, 11399);
1810 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1810 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1811 switch (vk) { 1811 switch (vk) {
1812 case 0: 1812 case 0:
1813 dasm_put(Dst, 11401, LJ_TISNUM); 1813 dasm_put(Dst, 11407, LJ_TISNUM);
1814 if (sse) { 1814 if (sse) {
1815 dasm_put(Dst, 11645); 1815 dasm_put(Dst, 11651);
1816 } else { 1816 } else {
1817 dasm_put(Dst, 11659); 1817 dasm_put(Dst, 11665);
1818 } 1818 }
1819 break; 1819 break;
1820 case 1: 1820 case 1:
1821 dasm_put(Dst, 11435, LJ_TISNUM); 1821 dasm_put(Dst, 11441, LJ_TISNUM);
1822 if (sse) { 1822 if (sse) {
1823 dasm_put(Dst, 11667); 1823 dasm_put(Dst, 11673);
1824 } else { 1824 } else {
1825 dasm_put(Dst, 11681); 1825 dasm_put(Dst, 11687);
1826 } 1826 }
1827 break; 1827 break;
1828 default: 1828 default:
1829 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1829 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1830 if (sse) { 1830 if (sse) {
1831 dasm_put(Dst, 11689); 1831 dasm_put(Dst, 11695);
1832 } else { 1832 } else {
1833 dasm_put(Dst, 11703); 1833 dasm_put(Dst, 11709);
1834 } 1834 }
1835 break; 1835 break;
1836 } 1836 }
1837 if (sse) { 1837 if (sse) {
1838 dasm_put(Dst, 11267); 1838 dasm_put(Dst, 11273);
1839 } else { 1839 } else {
1840 dasm_put(Dst, 11279); 1840 dasm_put(Dst, 11285);
1841 } 1841 }
1842 dasm_put(Dst, 10849); 1842 dasm_put(Dst, 10855);
1843 break; 1843 break;
1844 case BC_MODVN: 1844 case BC_MODVN:
1845 dasm_put(Dst, 11393); 1845 dasm_put(Dst, 11399);
1846 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1846 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1847 switch (vk) { 1847 switch (vk) {
1848 case 0: 1848 case 0:
1849 dasm_put(Dst, 11401, LJ_TISNUM); 1849 dasm_put(Dst, 11407, LJ_TISNUM);
1850 if (sse) { 1850 if (sse) {
1851 dasm_put(Dst, 11711); 1851 dasm_put(Dst, 11717);
1852 } else { 1852 } else {
1853 dasm_put(Dst, 11725); 1853 dasm_put(Dst, 11731);
1854 } 1854 }
1855 break; 1855 break;
1856 case 1: 1856 case 1:
1857 dasm_put(Dst, 11435, LJ_TISNUM); 1857 dasm_put(Dst, 11441, LJ_TISNUM);
1858 if (sse) { 1858 if (sse) {
1859 dasm_put(Dst, 11733); 1859 dasm_put(Dst, 11739);
1860 } else { 1860 } else {
1861 dasm_put(Dst, 11747); 1861 dasm_put(Dst, 11753);
1862 } 1862 }
1863 break; 1863 break;
1864 default: 1864 default:
1865 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1865 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1866 if (sse) { 1866 if (sse) {
1867 dasm_put(Dst, 11755); 1867 dasm_put(Dst, 11761);
1868 } else { 1868 } else {
1869 dasm_put(Dst, 11769); 1869 dasm_put(Dst, 11775);
1870 } 1870 }
1871 break; 1871 break;
1872 } 1872 }
1873 dasm_put(Dst, 11777); 1873 dasm_put(Dst, 11783);
1874 if (sse) { 1874 if (sse) {
1875 dasm_put(Dst, 11267); 1875 dasm_put(Dst, 11273);
1876 } else { 1876 } else {
1877 dasm_put(Dst, 11279); 1877 dasm_put(Dst, 11285);
1878 } 1878 }
1879 dasm_put(Dst, 10849); 1879 dasm_put(Dst, 10855);
1880 break; 1880 break;
1881 case BC_MODNV: case BC_MODVV: 1881 case BC_MODNV: case BC_MODVV:
1882 dasm_put(Dst, 11393); 1882 dasm_put(Dst, 11399);
1883 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1883 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1884 switch (vk) { 1884 switch (vk) {
1885 case 0: 1885 case 0:
1886 dasm_put(Dst, 11401, LJ_TISNUM); 1886 dasm_put(Dst, 11407, LJ_TISNUM);
1887 if (sse) { 1887 if (sse) {
1888 dasm_put(Dst, 11711); 1888 dasm_put(Dst, 11717);
1889 } else { 1889 } else {
1890 dasm_put(Dst, 11725); 1890 dasm_put(Dst, 11731);
1891 } 1891 }
1892 break; 1892 break;
1893 case 1: 1893 case 1:
1894 dasm_put(Dst, 11435, LJ_TISNUM); 1894 dasm_put(Dst, 11441, LJ_TISNUM);
1895 if (sse) { 1895 if (sse) {
1896 dasm_put(Dst, 11733); 1896 dasm_put(Dst, 11739);
1897 } else { 1897 } else {
1898 dasm_put(Dst, 11747); 1898 dasm_put(Dst, 11753);
1899 } 1899 }
1900 break; 1900 break;
1901 default: 1901 default:
1902 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1902 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1903 if (sse) { 1903 if (sse) {
1904 dasm_put(Dst, 11755); 1904 dasm_put(Dst, 11761);
1905 } else { 1905 } else {
1906 dasm_put(Dst, 11769); 1906 dasm_put(Dst, 11775);
1907 } 1907 }
1908 break; 1908 break;
1909 } 1909 }
1910 dasm_put(Dst, 11783); 1910 dasm_put(Dst, 11789);
1911 break; 1911 break;
1912 case BC_POW: 1912 case BC_POW:
1913 dasm_put(Dst, 11393); 1913 dasm_put(Dst, 11399);
1914 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1914 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1915 switch (vk) { 1915 switch (vk) {
1916 case 0: 1916 case 0:
1917 dasm_put(Dst, 11401, LJ_TISNUM); 1917 dasm_put(Dst, 11407, LJ_TISNUM);
1918 if (sse) { 1918 if (sse) {
1919 dasm_put(Dst, 11711); 1919 dasm_put(Dst, 11717);
1920 } else { 1920 } else {
1921 dasm_put(Dst, 11725); 1921 dasm_put(Dst, 11731);
1922 } 1922 }
1923 break; 1923 break;
1924 case 1: 1924 case 1:
1925 dasm_put(Dst, 11435, LJ_TISNUM); 1925 dasm_put(Dst, 11441, LJ_TISNUM);
1926 if (sse) { 1926 if (sse) {
1927 dasm_put(Dst, 11733); 1927 dasm_put(Dst, 11739);
1928 } else { 1928 } else {
1929 dasm_put(Dst, 11747); 1929 dasm_put(Dst, 11753);
1930 } 1930 }
1931 break; 1931 break;
1932 default: 1932 default:
1933 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 1933 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM);
1934 if (sse) { 1934 if (sse) {
1935 dasm_put(Dst, 11755); 1935 dasm_put(Dst, 11761);
1936 } else { 1936 } else {
1937 dasm_put(Dst, 11769); 1937 dasm_put(Dst, 11775);
1938 } 1938 }
1939 break; 1939 break;
1940 } 1940 }
1941 dasm_put(Dst, 11788); 1941 dasm_put(Dst, 11794);
1942 if (sse) { 1942 if (sse) {
1943 dasm_put(Dst, 11267); 1943 dasm_put(Dst, 11273);
1944 } else { 1944 } else {
1945 dasm_put(Dst, 11279); 1945 dasm_put(Dst, 11285);
1946 } 1946 }
1947 dasm_put(Dst, 10849); 1947 dasm_put(Dst, 10855);
1948 break; 1948 break;
1949 1949
1950 case BC_CAT: 1950 case BC_CAT:
1951 dasm_put(Dst, 11792, Dt1(->base), Dt1(->base)); 1951 dasm_put(Dst, 11798, Dt1(->base), Dt1(->base));
1952 break; 1952 break;
1953 1953
1954 /* -- Constant ops ------------------------------------------------------ */ 1954 /* -- Constant ops ------------------------------------------------------ */
1955 1955
1956 case BC_KSTR: 1956 case BC_KSTR:
1957 dasm_put(Dst, 11886, LJ_TSTR); 1957 dasm_put(Dst, 11892, LJ_TSTR);
1958 break; 1958 break;
1959 case BC_KSHORT: 1959 case BC_KSHORT:
1960 if (sse) { 1960 if (sse) {
1961 dasm_put(Dst, 11919); 1961 dasm_put(Dst, 11925);
1962 } else { 1962 } else {
1963 dasm_put(Dst, 11934); 1963 dasm_put(Dst, 11940);
1964 } 1964 }
1965 dasm_put(Dst, 10849); 1965 dasm_put(Dst, 10855);
1966 break; 1966 break;
1967 case BC_KNUM: 1967 case BC_KNUM:
1968 if (sse) { 1968 if (sse) {
1969 dasm_put(Dst, 11942); 1969 dasm_put(Dst, 11948);
1970 } else { 1970 } else {
1971 dasm_put(Dst, 11955); 1971 dasm_put(Dst, 11961);
1972 } 1972 }
1973 dasm_put(Dst, 10849); 1973 dasm_put(Dst, 10855);
1974 break; 1974 break;
1975 case BC_KPRI: 1975 case BC_KPRI:
1976 dasm_put(Dst, 11962); 1976 dasm_put(Dst, 11968);
1977 break; 1977 break;
1978 case BC_KNIL: 1978 case BC_KNIL:
1979 dasm_put(Dst, 11988, LJ_TNIL); 1979 dasm_put(Dst, 11994, LJ_TNIL);
1980 break; 1980 break;
1981 1981
1982 /* -- Upvalue and function ops ------------------------------------------ */ 1982 /* -- Upvalue and function ops ------------------------------------------ */
1983 1983
1984 case BC_UGET: 1984 case BC_UGET:
1985 dasm_put(Dst, 12034, offsetof(GCfuncL, uvptr), DtA(->v)); 1985 dasm_put(Dst, 12040, offsetof(GCfuncL, uvptr), DtA(->v));
1986 break; 1986 break;
1987 case BC_USETV: 1987 case BC_USETV:
1988#define TV2MARKOFS \ 1988#define TV2MARKOFS \
1989 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1989 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1990 dasm_put(Dst, 12078, 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); 1990 dasm_put(Dst, 12084, 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);
1991 dasm_put(Dst, 12168); 1991 dasm_put(Dst, 12174);
1992 break; 1992 break;
1993#undef TV2MARKOFS 1993#undef TV2MARKOFS
1994 case BC_USETS: 1994 case BC_USETS:
1995 dasm_put(Dst, 12180, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1995 dasm_put(Dst, 12186, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1996 break; 1996 break;
1997 case BC_USETN: 1997 case BC_USETN:
1998 dasm_put(Dst, 12271); 1998 dasm_put(Dst, 12277);
1999 if (sse) { 1999 if (sse) {
2000 dasm_put(Dst, 12276); 2000 dasm_put(Dst, 12282);
2001 } else { 2001 } else {
2002 dasm_put(Dst, 11086); 2002 dasm_put(Dst, 11092);
2003 } 2003 }
2004 dasm_put(Dst, 12283, offsetof(GCfuncL, uvptr), DtA(->v)); 2004 dasm_put(Dst, 12289, offsetof(GCfuncL, uvptr), DtA(->v));
2005 if (sse) { 2005 if (sse) {
2006 dasm_put(Dst, 12292);
2007 } else {
2008 dasm_put(Dst, 12298); 2006 dasm_put(Dst, 12298);
2007 } else {
2008 dasm_put(Dst, 12304);
2009 } 2009 }
2010 dasm_put(Dst, 10849); 2010 dasm_put(Dst, 10855);
2011 break; 2011 break;
2012 case BC_USETP: 2012 case BC_USETP:
2013 dasm_put(Dst, 12301, offsetof(GCfuncL, uvptr), DtA(->v)); 2013 dasm_put(Dst, 12307, offsetof(GCfuncL, uvptr), DtA(->v));
2014 break; 2014 break;
2015 case BC_UCLO: 2015 case BC_UCLO:
2016 dasm_put(Dst, 12338, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2016 dasm_put(Dst, 12344, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2017 break; 2017 break;
2018 2018
2019 case BC_FNEW: 2019 case BC_FNEW:
2020 dasm_put(Dst, 12392, Dt1(->base), Dt1(->base), LJ_TFUNC); 2020 dasm_put(Dst, 12398, Dt1(->base), Dt1(->base), LJ_TFUNC);
2021 break; 2021 break;
2022 2022
2023 /* -- Table ops --------------------------------------------------------- */ 2023 /* -- Table ops --------------------------------------------------------- */
2024 2024
2025 case BC_TNEW: 2025 case BC_TNEW:
2026 dasm_put(Dst, 12463, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2026 dasm_put(Dst, 12469, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2027 break; 2027 break;
2028 case BC_TDUP: 2028 case BC_TDUP:
2029 dasm_put(Dst, 12589, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2029 dasm_put(Dst, 12595, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2030 break; 2030 break;
2031 2031
2032 case BC_GGET: 2032 case BC_GGET:
2033 dasm_put(Dst, 12681, Dt7(->env)); 2033 dasm_put(Dst, 12687, Dt7(->env));
2034 break; 2034 break;
2035 case BC_GSET: 2035 case BC_GSET:
2036 dasm_put(Dst, 12699, Dt7(->env)); 2036 dasm_put(Dst, 12705, Dt7(->env));
2037 break; 2037 break;
2038 2038
2039 case BC_TGETV: 2039 case BC_TGETV:
2040 dasm_put(Dst, 12717, LJ_TTAB, LJ_TISNUM); 2040 dasm_put(Dst, 12723, LJ_TTAB, LJ_TISNUM);
2041 if (sse) { 2041 if (sse) {
2042 dasm_put(Dst, 12750); 2042 dasm_put(Dst, 12756);
2043 } else { 2043 } else {
2044 dasm_put(Dst, 12771); 2044 dasm_put(Dst, 12777);
2045 if (cmov) { 2045 if (cmov) {
2046 dasm_put(Dst, 10812);
2047 } else {
2048 dasm_put(Dst, 10818); 2046 dasm_put(Dst, 10818);
2047 } else {
2048 dasm_put(Dst, 10824);
2049 } 2049 }
2050 dasm_put(Dst, 2527); 2050 dasm_put(Dst, 2527);
2051 } 2051 }
2052 dasm_put(Dst, 12781, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2052 dasm_put(Dst, 12787, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2053 dasm_put(Dst, 12873, LJ_TSTR); 2053 dasm_put(Dst, 12879, LJ_TSTR);
2054 break; 2054 break;
2055 case BC_TGETS: 2055 case BC_TGETS:
2056 dasm_put(Dst, 12891, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2056 dasm_put(Dst, 12897, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2057 dasm_put(Dst, 12975, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2057 dasm_put(Dst, 12981, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2058 break; 2058 break;
2059 case BC_TGETB: 2059 case BC_TGETB:
2060 dasm_put(Dst, 13046, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2060 dasm_put(Dst, 13052, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2061 dasm_put(Dst, 11383); 2061 dasm_put(Dst, 11389);
2062 break; 2062 break;
2063 2063
2064 case BC_TSETV: 2064 case BC_TSETV:
2065 dasm_put(Dst, 13145, LJ_TTAB, LJ_TISNUM); 2065 dasm_put(Dst, 13151, LJ_TTAB, LJ_TISNUM);
2066 if (sse) { 2066 if (sse) {
2067 dasm_put(Dst, 12750); 2067 dasm_put(Dst, 12756);
2068 } else { 2068 } else {
2069 dasm_put(Dst, 12771); 2069 dasm_put(Dst, 12777);
2070 if (cmov) { 2070 if (cmov) {
2071 dasm_put(Dst, 10812);
2072 } else {
2073 dasm_put(Dst, 10818); 2071 dasm_put(Dst, 10818);
2072 } else {
2073 dasm_put(Dst, 10824);
2074 } 2074 }
2075 dasm_put(Dst, 2527); 2075 dasm_put(Dst, 2527);
2076 } 2076 }
2077 dasm_put(Dst, 13178, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2077 dasm_put(Dst, 13184, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2078 dasm_put(Dst, 13261, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2078 dasm_put(Dst, 13267, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2079 break; 2079 break;
2080 case BC_TSETS: 2080 case BC_TSETS:
2081 dasm_put(Dst, 13323, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2081 dasm_put(Dst, 13329, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2082 dasm_put(Dst, 13398, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2082 dasm_put(Dst, 13404, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2083 dasm_put(Dst, 13490, 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)); 2083 dasm_put(Dst, 13496, 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));
2084 break; 2084 break;
2085 case BC_TSETB: 2085 case BC_TSETB:
2086 dasm_put(Dst, 13586, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2086 dasm_put(Dst, 13592, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2087 dasm_put(Dst, 13684, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2087 dasm_put(Dst, 13690, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2088 break; 2088 break;
2089 2089
2090 case BC_TSETM: 2090 case BC_TSETM:
2091 dasm_put(Dst, 13730, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2091 dasm_put(Dst, 13736, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2092 dasm_put(Dst, 13879, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2092 dasm_put(Dst, 13885, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2093 break; 2093 break;
2094 2094
2095 /* -- Calls and vararg handling ----------------------------------------- */ 2095 /* -- Calls and vararg handling ----------------------------------------- */
2096 2096
2097 case BC_CALL: case BC_CALLM: 2097 case BC_CALL: case BC_CALLM:
2098 dasm_put(Dst, 11397); 2098 dasm_put(Dst, 11403);
2099 if (op == BC_CALLM) { 2099 if (op == BC_CALLM) {
2100 dasm_put(Dst, 13897); 2100 dasm_put(Dst, 13903);
2101 } 2101 }
2102 dasm_put(Dst, 13902, LJ_TFUNC, Dt7(->pc)); 2102 dasm_put(Dst, 13908, LJ_TFUNC, Dt7(->pc));
2103 break; 2103 break;
2104 2104
2105 case BC_CALLMT: 2105 case BC_CALLMT:
2106 dasm_put(Dst, 13897); 2106 dasm_put(Dst, 13903);
2107 break; 2107 break;
2108 case BC_CALLT: 2108 case BC_CALLT:
2109 dasm_put(Dst, 13943, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2109 dasm_put(Dst, 13949, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2110 dasm_put(Dst, 14061, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2110 dasm_put(Dst, 14067, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2111 break; 2111 break;
2112 2112
2113 case BC_ITERC: 2113 case BC_ITERC:
2114 dasm_put(Dst, 14131, LJ_TFUNC, 2+1, Dt7(->pc)); 2114 dasm_put(Dst, 14137, LJ_TFUNC, 2+1, Dt7(->pc));
2115 break; 2115 break;
2116 2116
2117 case BC_VARG: 2117 case BC_VARG:
2118 dasm_put(Dst, 14211, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2118 dasm_put(Dst, 14217, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2119 dasm_put(Dst, 14375, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2119 dasm_put(Dst, 14381, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2120 break; 2120 break;
2121 2121
2122 /* -- Returns ----------------------------------------------------------- */ 2122 /* -- Returns ----------------------------------------------------------- */
2123 2123
2124 case BC_RETM: 2124 case BC_RETM:
2125 dasm_put(Dst, 13897); 2125 dasm_put(Dst, 13903);
2126 break; 2126 break;
2127 2127
2128 case BC_RET: case BC_RET0: case BC_RET1: 2128 case BC_RET: case BC_RET0: case BC_RET1:
2129 if (op != BC_RET0) { 2129 if (op != BC_RET0) {
2130 dasm_put(Dst, 14446); 2130 dasm_put(Dst, 14452);
2131 } 2131 }
2132 dasm_put(Dst, 14450, FRAME_TYPE); 2132 dasm_put(Dst, 14456, FRAME_TYPE);
2133 switch (op) { 2133 switch (op) {
2134 case BC_RET: 2134 case BC_RET:
2135 dasm_put(Dst, 14469); 2135 dasm_put(Dst, 14475);
2136 break; 2136 break;
2137 case BC_RET1: 2137 case BC_RET1:
2138 dasm_put(Dst, 14527); 2138 dasm_put(Dst, 14533);
2139 /* fallthrough */ 2139 /* fallthrough */
2140 case BC_RET0: 2140 case BC_RET0:
2141 dasm_put(Dst, 14543); 2141 dasm_put(Dst, 14549);
2142 default: 2142 default:
2143 break; 2143 break;
2144 } 2144 }
2145 dasm_put(Dst, 14554, Dt7(->pc), PC2PROTO(k)); 2145 dasm_put(Dst, 14560, Dt7(->pc), PC2PROTO(k));
2146 if (op == BC_RET) { 2146 if (op == BC_RET) {
2147 dasm_put(Dst, 14596, LJ_TNIL); 2147 dasm_put(Dst, 14602, LJ_TNIL);
2148 } else { 2148 } else {
2149 dasm_put(Dst, 14605, LJ_TNIL); 2149 dasm_put(Dst, 14611, LJ_TNIL);
2150 } 2150 }
2151 dasm_put(Dst, 14612, -FRAME_VARG, FRAME_TYPEP); 2151 dasm_put(Dst, 14618, -FRAME_VARG, FRAME_TYPEP);
2152 if (op != BC_RET0) { 2152 if (op != BC_RET0) {
2153 dasm_put(Dst, 14636); 2153 dasm_put(Dst, 14642);
2154 } 2154 }
2155 dasm_put(Dst, 4683); 2155 dasm_put(Dst, 4689);
2156 break; 2156 break;
2157 2157
2158 /* -- Loops and branches ------------------------------------------------ */ 2158 /* -- Loops and branches ------------------------------------------------ */
@@ -2160,7 +2160,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2160 2160
2161 case BC_FORL: 2161 case BC_FORL:
2162#if LJ_HASJIT 2162#if LJ_HASJIT
2163 dasm_put(Dst, 14640, HOTCOUNT_PCMASK, GG_DISP2HOT); 2163 dasm_put(Dst, 14646, HOTCOUNT_PCMASK, GG_DISP2HOT);
2164#endif 2164#endif
2165 break; 2165 break;
2166 2166
@@ -2172,57 +2172,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2172 case BC_FORI: 2172 case BC_FORI:
2173 case BC_IFORL: 2173 case BC_IFORL:
2174 vk = (op == BC_IFORL || op == BC_JFORL); 2174 vk = (op == BC_IFORL || op == BC_JFORL);
2175 dasm_put(Dst, 14661); 2175 dasm_put(Dst, 14667);
2176 if (!vk) { 2176 if (!vk) {
2177 dasm_put(Dst, 14665, LJ_TISNUM, LJ_TISNUM); 2177 dasm_put(Dst, 14671, LJ_TISNUM, LJ_TISNUM);
2178 } 2178 }
2179 dasm_put(Dst, 14684); 2179 dasm_put(Dst, 14690);
2180 if (!vk) { 2180 if (!vk) {
2181 dasm_put(Dst, 14688, LJ_TISNUM); 2181 dasm_put(Dst, 14694, LJ_TISNUM);
2182 } 2182 }
2183 if (sse) { 2183 if (sse) {
2184 dasm_put(Dst, 14697); 2184 dasm_put(Dst, 14703);
2185 if (vk) { 2185 if (vk) {
2186 dasm_put(Dst, 14709); 2186 dasm_put(Dst, 14715);
2187 } else { 2187 } else {
2188 dasm_put(Dst, 14728); 2188 dasm_put(Dst, 14734);
2189 } 2189 }
2190 dasm_put(Dst, 14733); 2190 dasm_put(Dst, 14739);
2191 } else { 2191 } else {
2192 dasm_put(Dst, 14746); 2192 dasm_put(Dst, 14752);
2193 if (vk) { 2193 if (vk) {
2194 dasm_put(Dst, 14752); 2194 dasm_put(Dst, 14758);
2195 } else { 2195 } else {
2196 dasm_put(Dst, 14768); 2196 dasm_put(Dst, 14774);
2197 } 2197 }
2198 dasm_put(Dst, 14776); 2198 dasm_put(Dst, 14782);
2199 if (cmov) { 2199 if (cmov) {
2200 dasm_put(Dst, 10812);
2201 } else {
2202 dasm_put(Dst, 10818); 2200 dasm_put(Dst, 10818);
2201 } else {
2202 dasm_put(Dst, 10824);
2203 } 2203 }
2204 if (!cmov) { 2204 if (!cmov) {
2205 dasm_put(Dst, 14781); 2205 dasm_put(Dst, 14787);
2206 } 2206 }
2207 } 2207 }
2208 if (op == BC_FORI) { 2208 if (op == BC_FORI) {
2209 dasm_put(Dst, 14787, -BCBIAS_J*4); 2209 dasm_put(Dst, 14793, -BCBIAS_J*4);
2210 } else if (op == BC_JFORI) { 2210 } else if (op == BC_JFORI) {
2211 dasm_put(Dst, 14797, -BCBIAS_J*4, BC_JLOOP); 2211 dasm_put(Dst, 14803, -BCBIAS_J*4, BC_JLOOP);
2212 } else if (op == BC_IFORL) { 2212 } else if (op == BC_IFORL) {
2213 dasm_put(Dst, 14811, -BCBIAS_J*4); 2213 dasm_put(Dst, 14817, -BCBIAS_J*4);
2214 } else { 2214 } else {
2215 dasm_put(Dst, 14807, BC_JLOOP); 2215 dasm_put(Dst, 14813, BC_JLOOP);
2216 } 2216 }
2217 dasm_put(Dst, 10847); 2217 dasm_put(Dst, 10853);
2218 if (sse) { 2218 if (sse) {
2219 dasm_put(Dst, 14821); 2219 dasm_put(Dst, 14827);
2220 } 2220 }
2221 break; 2221 break;
2222 2222
2223 case BC_ITERL: 2223 case BC_ITERL:
2224#if LJ_HASJIT 2224#if LJ_HASJIT
2225 dasm_put(Dst, 14640, HOTCOUNT_PCMASK, GG_DISP2HOT); 2225 dasm_put(Dst, 14646, HOTCOUNT_PCMASK, GG_DISP2HOT);
2226#endif 2226#endif
2227 break; 2227 break;
2228 2228
@@ -2231,33 +2231,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2231 break; 2231 break;
2232#endif 2232#endif
2233 case BC_IITERL: 2233 case BC_IITERL:
2234 dasm_put(Dst, 14832, LJ_TNIL); 2234 dasm_put(Dst, 14838, LJ_TNIL);
2235 if (op == BC_JITERL) { 2235 if (op == BC_JITERL) {
2236 dasm_put(Dst, 14847, BC_JLOOP); 2236 dasm_put(Dst, 14853, BC_JLOOP);
2237 } else { 2237 } else {
2238 dasm_put(Dst, 14861, -BCBIAS_J*4); 2238 dasm_put(Dst, 14867, -BCBIAS_J*4);
2239 } 2239 }
2240 dasm_put(Dst, 11144); 2240 dasm_put(Dst, 11150);
2241 break; 2241 break;
2242 2242
2243 case BC_LOOP: 2243 case BC_LOOP:
2244#if LJ_HASJIT 2244#if LJ_HASJIT
2245 dasm_put(Dst, 14640, HOTCOUNT_PCMASK, GG_DISP2HOT); 2245 dasm_put(Dst, 14646, HOTCOUNT_PCMASK, GG_DISP2HOT);
2246#endif 2246#endif
2247 break; 2247 break;
2248 2248
2249 case BC_ILOOP: 2249 case BC_ILOOP:
2250 dasm_put(Dst, 10849); 2250 dasm_put(Dst, 10855);
2251 break; 2251 break;
2252 2252
2253 case BC_JLOOP: 2253 case BC_JLOOP:
2254#if LJ_HASJIT 2254#if LJ_HASJIT
2255 dasm_put(Dst, 14877, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2255 dasm_put(Dst, 14883, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2256#endif 2256#endif
2257 break; 2257 break;
2258 2258
2259 case BC_JMP: 2259 case BC_JMP:
2260 dasm_put(Dst, 14900, -BCBIAS_J*4); 2260 dasm_put(Dst, 14906, -BCBIAS_J*4);
2261 break; 2261 break;
2262 2262
2263 /* -- Function headers -------------------------------------------------- */ 2263 /* -- Function headers -------------------------------------------------- */
@@ -2271,7 +2271,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2271 2271
2272 case BC_FUNCF: 2272 case BC_FUNCF:
2273#if LJ_HASJIT 2273#if LJ_HASJIT
2274 dasm_put(Dst, 14924, HOTCOUNT_PCMASK, GG_DISP2HOT); 2274 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2275#endif 2275#endif
2276 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2276 case BC_FUNCV: /* NYI: compiled vararg functions. */
2277 break; 2277 break;
@@ -2281,47 +2281,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2281 break; 2281 break;
2282#endif 2282#endif
2283 case BC_IFUNCF: 2283 case BC_IFUNCF:
2284 dasm_put(Dst, 14945, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2284 dasm_put(Dst, 14951, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2285 if (op == BC_JFUNCF) { 2285 if (op == BC_JFUNCF) {
2286 dasm_put(Dst, 14975, BC_JLOOP); 2286 dasm_put(Dst, 14981, BC_JLOOP);
2287 } else { 2287 } else {
2288 dasm_put(Dst, 10849); 2288 dasm_put(Dst, 10855);
2289 } 2289 }
2290 dasm_put(Dst, 14984, LJ_TNIL); 2290 dasm_put(Dst, 14990, LJ_TNIL);
2291 break; 2291 break;
2292 2292
2293 case BC_JFUNCV: 2293 case BC_JFUNCV:
2294#if !LJ_HASJIT 2294#if !LJ_HASJIT
2295 break; 2295 break;
2296#endif 2296#endif
2297 dasm_put(Dst, 10247); 2297 dasm_put(Dst, 10253);
2298 break; /* NYI: compiled vararg functions. */ 2298 break; /* NYI: compiled vararg functions. */
2299 2299
2300 case BC_IFUNCV: 2300 case BC_IFUNCV:
2301 dasm_put(Dst, 15006, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2301 dasm_put(Dst, 15012, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2302 if (op == BC_JFUNCV) { 2302 if (op == BC_JFUNCV) {
2303 dasm_put(Dst, 14975, BC_JLOOP); 2303 dasm_put(Dst, 14981, BC_JLOOP);
2304 } else { 2304 } else {
2305 dasm_put(Dst, 15097, -4+PC2PROTO(k)); 2305 dasm_put(Dst, 15103, -4+PC2PROTO(k));
2306 } 2306 }
2307 dasm_put(Dst, 15119, LJ_TNIL); 2307 dasm_put(Dst, 15125, LJ_TNIL);
2308 break; 2308 break;
2309 2309
2310 case BC_FUNCC: 2310 case BC_FUNCC:
2311 case BC_FUNCCW: 2311 case BC_FUNCCW:
2312 dasm_put(Dst, 15141, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2312 dasm_put(Dst, 15147, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2313 if (op == BC_FUNCC) { 2313 if (op == BC_FUNCC) {
2314 dasm_put(Dst, 15170); 2314 dasm_put(Dst, 15176);
2315 } else { 2315 } else {
2316 dasm_put(Dst, 15174); 2316 dasm_put(Dst, 15180);
2317 } 2317 }
2318 dasm_put(Dst, 15182, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2318 dasm_put(Dst, 15188, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2319 if (op == BC_FUNCC) { 2319 if (op == BC_FUNCC) {
2320 dasm_put(Dst, 15191); 2320 dasm_put(Dst, 15197);
2321 } else { 2321 } else {
2322 dasm_put(Dst, 15195, DISPATCH_GL(wrapf)); 2322 dasm_put(Dst, 15201, DISPATCH_GL(wrapf));
2323 } 2323 }
2324 dasm_put(Dst, 15200, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2324 dasm_put(Dst, 15206, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2325 break; 2325 break;
2326 2326
2327 /* ---------------------------------------------------------------------- */ 2327 /* ---------------------------------------------------------------------- */
@@ -2349,7 +2349,7 @@ static int build_backend(BuildCtx *ctx)
2349 2349
2350 build_subroutines(ctx, cmov, sse); 2350 build_subroutines(ctx, cmov, sse);
2351 2351
2352 dasm_put(Dst, 15225); 2352 dasm_put(Dst, 15231);
2353 for (op = 0; op < BC__MAX; op++) 2353 for (op = 0; op < BC__MAX; op++)
2354 build_ins(ctx, (BCOp)op, op, cmov, sse); 2354 build_ins(ctx, (BCOp)op, op, cmov, sse);
2355 2355