summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h1227
1 files changed, 617 insertions, 610 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index f68d6c87..25e4cc8e 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[15597] = { 15static const unsigned char build_actionlist[15591] = {
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,
@@ -130,132 +130,132 @@ static const unsigned char build_actionlist[15597] = {
130 66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244, 130 66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,
131 69,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244, 131 69,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,
132 58,248,70,129,252,248,239,15,130,244,55,255,139,42,129,122,253,4,239,15,133, 132 58,248,70,129,252,248,239,15,130,244,55,255,139,42,129,122,253,4,239,15,133,
133 244,55,131,189,233,0,15,133,244,55,139,106,252,248,139,133,233,139,114,252, 133 244,55,255,131,189,233,0,15,133,244,55,255,139,106,252,248,139,133,233,139,
134 252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,69, 134 114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,
135 248,71,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,129, 135 244,69,248,71,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,
136 122,253,12,239,255,15,135,244,55,139,114,252,252,255,252,242,15,16,66,8,189, 136 55,129,122,253,12,239,15,135,244,55,139,114,252,252,255,252,242,15,16,66,
137 0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,242, 137 8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,
138 15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,36, 138 242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,
139 221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,3, 139 36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,
140 133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,137,42,137, 140 3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,137,42,137,
141 66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,233,137,213, 141 66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,233,137,213,
142 137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,184,237,252, 142 137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,184,237,252,
143 233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,42,129,122,253,4, 143 233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,42,129,122,253,4,
144 239,15,133,244,55,131,189,233,0,15,133,244,55,139,106,252,248,139,133,233, 144 239,15,133,244,55,255,139,106,252,248,139,133,233,139,114,252,252,199,66,
145 139,114,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,15, 145 252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,
146 17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248,74,129,252, 146 221,90,8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,
147 248,239,15,130,244,55,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193, 147 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,
148 252,237,235,131,229,1,1,252,238,252,233,244,27,248,75,129,252,248,239,15, 148 1,252,238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,
149 130,244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137,106,12,199, 149 12,239,15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
150 66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252, 150 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252,
151 233,244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,114,252,252,137, 151 248,239,15,130,244,55,139,42,139,114,252,252,137,116,36,24,137,44,36,129,
152 116,36,24,137,44,36,129,122,253,4,239,15,133,244,55,131,189,233,0,15,133, 152 122,253,4,239,15,133,244,55,131,189,233,0,15,133,244,55,128,189,233,235,15,
153 244,55,128,189,233,235,15,135,244,55,139,141,233,15,132,244,247,255,59,141, 153 135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,1,
154 233,15,132,244,55,248,1,141,116,193,252,240,59,181,233,15,135,244,55,137, 154 141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36,48,137,
155 181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41, 155 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244,
156 252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137, 156 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,
157 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137, 157 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,
158 76,36,12,137,76,36,8,232,244,24,199,131,233,237,255,139,108,36,48,139,52, 158 244,24,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248,
159 36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233, 159 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,
160 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133, 160 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,
161 233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, 161 213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,
162 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248, 162 15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,137,68,
163 7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255,252,255,252,247, 163 36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244,
164 198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142, 164 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,
165 233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233, 165 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,
166 244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 166 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
167 52,36,139,149,233,252,233,244,4,248,77,139,106,252,248,139,173,233,139,114, 167 252,233,244,4,248,77,139,106,252,248,139,173,233,139,114,252,252,137,116,
168 252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,55,255,128,189,233, 168 36,24,137,44,36,131,189,233,0,15,133,244,55,255,128,189,233,235,15,135,244,
169 235,15,135,244,55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248, 169 55,139,141,233,15,132,244,247,59,141,233,15,132,244,55,248,1,141,116,193,
170 1,141,116,193,252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,48, 170 252,248,59,181,233,15,135,244,55,137,181,233,139,108,36,48,137,149,233,137,
171 137,149,233,137,149,233,141,108,194,252,240,41,252,245,57,206,15,132,244, 171 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,
172 249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252, 172 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,
173 238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36, 173 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,24,199,131,
174 8,232,244,24,199,131,233,237,139,108,36,48,139,52,36,139,149,233,129,252, 174 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,
175 248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252, 175 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,
176 254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255, 176 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5,
177 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57, 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 252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201, 178 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,
179 252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233, 179 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,13,248,9,139,
180 232,251,1,13,248,9,139,12,36,137,185,233,137,252,242,137,252,233,232,251, 180 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
181 1,0,139,52,36,139,149,233,252,233,244,4,248,78,139,108,36,48,252,247,133, 181 252,233,244,4,248,78,139,108,36,48,252,247,133,233,237,15,132,244,55,255,
182 233,237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192, 182 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136,
183 137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,114,252,252, 183 133,233,252,233,244,16,255,248,64,139,114,252,252,221,90,252,248,252,233,
184 221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122, 184 244,58,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
185 253,4,239,15,135,244,55,252,242,15,16,2,102,15,252,239,201,102,15,118,201, 185 55,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,
186 102,15,115,209,1,15,84,193,248,63,139,114,252,252,252,242,15,17,66,252,248, 186 84,193,248,63,139,114,252,252,252,242,15,17,66,252,248,255,248,79,129,252,
187 255,248,79,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55, 187 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,225,248,63,
188 221,2,217,225,248,63,248,64,139,114,252,252,221,90,252,248,255,248,58,184, 188 248,64,139,114,252,252,221,90,252,248,255,248,58,184,237,248,69,137,68,36,
189 237,248,69,137,68,36,20,248,56,252,247,198,237,15,133,244,253,248,5,56,70, 189 20,248,56,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,
190 252,255,15,135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15, 190 15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,
191 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252, 191 198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237,131,192,1,252,
192 244,237,131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255, 192 233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,244,14,255,248,
193 252,233,244,14,255,248,80,129,252,248,239,15,130,244,55,129,122,253,4,239, 193 80,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,
194 15,135,244,55,252,242,15,81,2,252,233,244,63,248,81,129,252,248,239,15,130, 194 15,81,2,252,233,244,63,248,81,129,252,248,239,15,130,244,55,129,122,253,4,
195 244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,232,244,82,252,233, 195 239,15,135,244,55,252,242,15,16,2,232,244,82,252,233,244,63,248,83,255,129,
196 244,63,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 196 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,
197 244,55,252,242,15,16,2,232,244,84,252,233,244,63,255,248,80,129,252,248,239, 197 232,244,84,252,233,244,63,255,248,80,129,252,248,239,15,130,244,55,129,122,
198 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,250,252,233,244, 198 253,4,239,15,135,244,55,221,2,217,252,250,252,233,244,64,248,81,129,252,248,
199 64,248,81,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 199 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,82,252,233,
200 2,232,244,82,252,233,244,64,248,83,255,129,252,248,239,15,130,244,55,129, 200 244,64,248,83,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
201 122,253,4,239,15,135,244,55,221,2,232,244,84,252,233,244,64,255,248,85,129, 201 244,55,221,2,232,244,84,252,233,244,64,255,248,85,129,252,248,239,15,130,
202 252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,217,252,237,221, 202 244,55,129,122,253,4,239,15,135,244,55,217,252,237,221,2,217,252,241,252,
203 2,217,252,241,252,233,244,64,248,86,129,252,248,239,15,130,244,55,129,122, 203 233,244,64,248,86,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
204 253,4,239,15,135,244,55,217,252,236,221,2,217,252,241,252,233,244,64,248, 204 244,55,217,252,236,221,2,217,252,241,252,233,244,64,248,87,129,252,248,239,
205 87,129,252,248,239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221, 205 255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,232,244,88,252,233,
206 2,232,244,88,252,233,244,64,248,89,129,252,248,239,15,130,244,55,129,122, 206 244,64,248,89,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
207 253,4,239,15,135,244,55,221,2,217,252,254,252,233,244,64,248,90,129,252,248, 207 55,221,2,217,252,254,252,233,244,64,248,90,129,252,248,239,255,15,130,244,
208 239,255,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252, 208 55,129,122,253,4,239,15,135,244,55,221,2,217,252,255,252,233,244,64,248,91,
209 233,244,64,248,91,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135, 209 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,252,
210 244,55,221,2,217,252,242,221,216,252,233,244,64,248,92,129,252,248,239,15, 210 242,221,216,252,233,244,64,248,92,129,252,248,239,15,130,244,55,255,129,122,
211 130,244,55,255,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217, 211 253,4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,
212 232,222,225,217,252,250,217,252,243,252,233,244,64,248,93,129,252,248,239, 212 217,252,243,252,233,244,64,248,93,129,252,248,239,15,130,244,55,129,122,253,
213 15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,217,192,216,200,217,232, 213 4,239,15,135,244,55,221,2,217,192,216,200,217,232,222,225,217,252,250,217,
214 222,225,217,252,250,217,201,217,252,243,252,233,244,64,248,94,129,252,248, 214 201,217,252,243,252,233,244,64,248,94,129,252,248,239,15,130,244,55,129,122,
215 239,15,130,244,55,129,122,253,4,239,15,135,244,55,255,221,2,217,232,217,252, 215 253,4,239,15,135,244,55,255,221,2,217,232,217,252,243,252,233,244,64,255,
216 243,252,233,244,64,255,248,95,129,252,248,239,15,130,244,55,129,122,253,4, 216 248,95,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,
217 239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,95,129,252,248, 217 242,15,16,2,252,242,15,17,4,36,255,248,95,129,252,248,239,15,130,244,55,129,
218 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,137, 218 122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1,14,137,
219 213,232,251,1,14,137,252,234,252,233,244,64,255,248,96,129,252,248,239,15, 219 252,234,252,233,244,64,255,248,96,129,252,248,239,15,130,244,55,129,122,253,
220 130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,17, 220 4,239,15,135,244,55,252,242,15,16,2,252,242,15,17,4,36,255,248,96,129,252,
221 4,36,255,248,96,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244, 221 248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,221,28,36,255,
222 55,221,2,221,28,36,255,137,213,232,251,1,15,137,252,234,252,233,244,64,255, 222 137,213,232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252,248,239,
223 248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252, 223 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,252,242,15,
224 242,15,16,2,252,242,15,17,4,36,255,248,97,129,252,248,239,15,130,244,55,129, 224 17,4,36,255,248,97,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
225 122,253,4,239,15,135,244,55,221,2,221,28,36,255,137,213,232,251,1,16,137, 225 244,55,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,252,233,244,64,
226 252,234,252,233,244,64,248,98,255,248,99,129,252,248,239,15,130,244,55,129, 226 248,98,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,
227 122,253,4,239,15,135,244,55,252,242,15,16,2,139,106,252,248,252,242,15,89, 227 244,55,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,
228 133,233,252,233,244,63,255,248,99,129,252,248,239,15,130,244,55,129,122,253, 228 63,255,248,99,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,
229 4,239,15,135,244,55,221,2,139,106,252,248,220,141,233,252,233,244,64,255, 229 55,221,2,139,106,252,248,220,141,233,252,233,244,64,255,248,100,129,252,248,
230 248,100,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129, 230 239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,
231 122,253,12,239,15,135,244,55,221,2,221,66,8,217,252,243,252,233,244,64,248, 231 244,55,221,2,221,66,8,217,252,243,252,233,244,64,248,101,129,252,248,239,
232 101,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,129,122, 232 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,255,15,135,
233 253,12,239,255,15,135,244,55,221,66,8,221,2,217,252,253,221,217,252,233,244, 233 244,55,221,66,8,221,2,217,252,253,221,217,252,233,244,64,248,102,129,252,
234 64,248,102,129,252,248,239,15,130,244,55,139,106,4,129,252,253,239,15,135, 234 248,239,15,130,244,55,139,106,4,129,252,253,239,15,135,244,55,139,114,252,
235 244,55,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209,229,129,252, 235 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,
236 253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0, 236 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,
237 129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242, 237 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,
238 15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252,129,229,252, 238 137,108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,
239 255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15, 239 128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,
240 17,2,255,221,26,255,184,237,252,233,244,69,248,3,255,15,87,192,252,233,244, 240 26,255,184,237,252,233,244,69,248,3,255,15,87,192,252,233,244,2,255,217,252,
241 2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80, 241 238,252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,
242 67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252, 242 205,102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,
243 248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139, 243 2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,
244 106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239, 244 184,52,4,0,0,209,229,252,233,244,1,255,248,103,129,252,248,239,15,130,244,
245 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103, 245 55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,255,248,103,129,252,248,
246 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139, 246 239,15,130,244,55,129,122,253,4,239,15,135,244,55,221,2,255,139,106,4,139,
247 106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250, 247 114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,
248 255,15,40,224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248, 248 224,232,244,104,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,
249 252,242,15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248, 249 15,17,34,255,217,192,232,244,104,220,252,233,248,1,221,90,252,248,221,26,
250 221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252, 250 255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,
251 233,244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255, 251 244,69,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,
252 15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,105, 252 228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,105,129,252,
253 129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,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,
254 12,239,15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138, 254 15,135,244,55,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,
255 244,1,221,217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55,129, 255 217,252,233,244,64,255,248,106,129,252,248,239,15,130,244,55,129,122,253,
256 122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16, 256 4,239,15,135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,
257 2,252,242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239, 257 242,15,16,74,8,232,244,107,252,233,244,63,255,248,106,129,252,248,239,15,
258 15,130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244, 258 130,244,55,129,122,253,4,239,15,135,244,55,129,122,253,12,239,15,135,244,
259 55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239, 259 55,221,2,221,66,8,232,244,107,252,233,244,64,255,248,108,129,252,248,239,
260 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0, 260 15,130,244,55,129,122,253,4,239,15,135,244,55,252,242,15,16,2,189,2,0,0,0,
261 248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55, 261 248,1,57,197,15,131,244,63,129,124,253,252,234,252,252,239,15,135,244,55,
@@ -1174,395 +1174,402 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1174 dasm_put(Dst, 2164, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1174 dasm_put(Dst, 2164, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1175 dasm_put(Dst, 2230, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1175 dasm_put(Dst, 2230, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1176 dasm_put(Dst, 2297, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); 1176 dasm_put(Dst, 2297, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1);
1177 dasm_put(Dst, 2402, LJ_TTAB, Dt6(->metatable), Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1177 dasm_put(Dst, 2402, LJ_TTAB);
1178 dasm_put(Dst, 2476); 1178#ifdef LUAJIT_ENABLE_LUA52COMPAT
1179 dasm_put(Dst, 2414, Dt6(->metatable));
1180#endif
1181 dasm_put(Dst, 2423, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1179 if (sse) { 1182 if (sse) {
1180 dasm_put(Dst, 2485); 1183 dasm_put(Dst, 2486);
1181 } else { 1184 } else {
1182 dasm_put(Dst, 2524); 1185 dasm_put(Dst, 2525);
1183 } 1186 }
1184 dasm_put(Dst, 2542, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1187 dasm_put(Dst, 2543, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1185 dasm_put(Dst, 2623, 1+1, LJ_TTAB, Dt6(->metatable), Dt8(->upvalue[0]), LJ_TFUNC); 1188 dasm_put(Dst, 2624, 1+1, LJ_TTAB);
1189#ifdef LUAJIT_ENABLE_LUA52COMPAT
1190 dasm_put(Dst, 2414, Dt6(->metatable));
1191#endif
1192 dasm_put(Dst, 2644, Dt8(->upvalue[0]), LJ_TFUNC);
1186 if (sse) { 1193 if (sse) {
1187 dasm_put(Dst, 2671); 1194 dasm_put(Dst, 2665);
1188 } else { 1195 } else {
1189 dasm_put(Dst, 2681); 1196 dasm_put(Dst, 2675);
1190 } 1197 }
1191 dasm_put(Dst, 2688, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1198 dasm_put(Dst, 2682, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1192 dasm_put(Dst, 2752, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1199 dasm_put(Dst, 2746, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1193 dasm_put(Dst, 2840, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1200 dasm_put(Dst, 2834, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1194 dasm_put(Dst, 2941, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1201 dasm_put(Dst, 2935, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1195 dasm_put(Dst, 3055, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1202 dasm_put(Dst, 3049, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1196 dasm_put(Dst, 3153, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1203 dasm_put(Dst, 3147, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1197 dasm_put(Dst, 3219, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1204 dasm_put(Dst, 3213, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1198 dasm_put(Dst, 3320, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1205 dasm_put(Dst, 3314, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1199 dasm_put(Dst, 3433, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1206 dasm_put(Dst, 3427, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1200 if (sse) { 1207 if (sse) {
1201 dasm_put(Dst, 3459, 1+1, LJ_TISNUM); 1208 dasm_put(Dst, 3453, 1+1, LJ_TISNUM);
1202 } else { 1209 } else {
1203 dasm_put(Dst, 3528, 1+1, LJ_TISNUM); 1210 dasm_put(Dst, 3522, 1+1, LJ_TISNUM);
1204 } 1211 }
1205 dasm_put(Dst, 3564, 1+1, FRAME_TYPE, LJ_TNIL); 1212 dasm_put(Dst, 3558, 1+1, FRAME_TYPE, LJ_TNIL);
1206 if (sse) { 1213 if (sse) {
1207 dasm_put(Dst, 3654, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1214 dasm_put(Dst, 3648, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1208 dasm_put(Dst, 3716, 1+1, LJ_TISNUM); 1215 dasm_put(Dst, 3710, 1+1, LJ_TISNUM);
1209 } else { 1216 } else {
1210 dasm_put(Dst, 3746, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1217 dasm_put(Dst, 3740, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1211 dasm_put(Dst, 3805, 1+1, LJ_TISNUM); 1218 dasm_put(Dst, 3799, 1+1, LJ_TISNUM);
1212 } 1219 }
1213 dasm_put(Dst, 3832, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1220 dasm_put(Dst, 3826, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1214 dasm_put(Dst, 3901, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1221 dasm_put(Dst, 3895, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1215 dasm_put(Dst, 3958, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1222 dasm_put(Dst, 3952, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1216 dasm_put(Dst, 4021, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1223 dasm_put(Dst, 4015, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1217 dasm_put(Dst, 4111); 1224 dasm_put(Dst, 4105);
1218 if (sse) { 1225 if (sse) {
1219 dasm_put(Dst, 4123, 1+1, LJ_TISNUM); 1226 dasm_put(Dst, 4117, 1+1, LJ_TISNUM);
1220 } else { 1227 } else {
1221 dasm_put(Dst, 4154, 1+1, LJ_TISNUM); 1228 dasm_put(Dst, 4148, 1+1, LJ_TISNUM);
1222 } 1229 }
1223 dasm_put(Dst, 4179); 1230 dasm_put(Dst, 4173);
1224 if (sse) { 1231 if (sse) {
1225 dasm_put(Dst, 4193, 1+1, LJ_TISNUM); 1232 dasm_put(Dst, 4187, 1+1, LJ_TISNUM);
1226 } else { 1233 } else {
1227 dasm_put(Dst, 4224, 1+1, LJ_TISNUM); 1234 dasm_put(Dst, 4218, 1+1, LJ_TISNUM);
1228 } 1235 }
1229 dasm_put(Dst, 4249); 1236 dasm_put(Dst, 4243);
1230 if (sse) { 1237 if (sse) {
1231 dasm_put(Dst, 4263, 1+1, LJ_TISNUM); 1238 dasm_put(Dst, 4257, 1+1, LJ_TISNUM);
1232 } else { 1239 } else {
1233 dasm_put(Dst, 4294, 1+1, LJ_TISNUM); 1240 dasm_put(Dst, 4288, 1+1, LJ_TISNUM);
1234 } 1241 }
1235 dasm_put(Dst, 4319); 1242 dasm_put(Dst, 4313);
1236 if (sse) { 1243 if (sse) {
1237 dasm_put(Dst, 4335, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1244 dasm_put(Dst, 4329, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1238 } else { 1245 } else {
1239 dasm_put(Dst, 4374, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1246 dasm_put(Dst, 4368, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1240 } 1247 }
1241 dasm_put(Dst, 4407, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1248 dasm_put(Dst, 4401, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1242 dasm_put(Dst, 4472, 1+1, LJ_TISNUM); 1249 dasm_put(Dst, 4466, 1+1, LJ_TISNUM);
1243 if (sse) { 1250 if (sse) {
1244 dasm_put(Dst, 4571); 1251 dasm_put(Dst, 4565);
1245 } else { 1252 } else {
1246 dasm_put(Dst, 4577); 1253 dasm_put(Dst, 4571);
1247 } 1254 }
1248 dasm_put(Dst, 4586); 1255 dasm_put(Dst, 4580);
1249 if (sse) { 1256 if (sse) {
1250 dasm_put(Dst, 4611); 1257 dasm_put(Dst, 4605);
1251 } else { 1258 } else {
1252 dasm_put(Dst, 4617); 1259 dasm_put(Dst, 4611);
1253 } 1260 }
1254 dasm_put(Dst, 4620, 1+2); 1261 dasm_put(Dst, 4614, 1+2);
1255 if (sse) { 1262 if (sse) {
1256 dasm_put(Dst, 4629); 1263 dasm_put(Dst, 4623);
1257 } else { 1264 } else {
1258 dasm_put(Dst, 4637); 1265 dasm_put(Dst, 4631);
1259 } 1266 }
1260 dasm_put(Dst, 4645); 1267 dasm_put(Dst, 4639);
1261 if (sse) { 1268 if (sse) {
1262 dasm_put(Dst, 4648); 1269 dasm_put(Dst, 4642);
1263 } else { 1270 } else {
1264 dasm_put(Dst, 4680); 1271 dasm_put(Dst, 4674);
1265 } 1272 }
1266 dasm_put(Dst, 4699); 1273 dasm_put(Dst, 4693);
1267 if (sse) { 1274 if (sse) {
1268 dasm_put(Dst, 4715, 1+1, LJ_TISNUM); 1275 dasm_put(Dst, 4709, 1+1, LJ_TISNUM);
1269 } else { 1276 } else {
1270 dasm_put(Dst, 4740, 1+1, LJ_TISNUM); 1277 dasm_put(Dst, 4734, 1+1, LJ_TISNUM);
1271 } 1278 }
1272 dasm_put(Dst, 4762); 1279 dasm_put(Dst, 4756);
1273 if (sse) { 1280 if (sse) {
1274 dasm_put(Dst, 4784); 1281 dasm_put(Dst, 4778);
1275 } else { 1282 } else {
1276 dasm_put(Dst, 4810); 1283 dasm_put(Dst, 4804);
1277 } 1284 }
1278 dasm_put(Dst, 4827, 1+2); 1285 dasm_put(Dst, 4821, 1+2);
1279 if (sse) { 1286 if (sse) {
1280 dasm_put(Dst, 4867); 1287 dasm_put(Dst, 4861);
1281 } else { 1288 } else {
1282 dasm_put(Dst, 4875); 1289 dasm_put(Dst, 4869);
1283 } 1290 }
1284 dasm_put(Dst, 4885, 2+1, LJ_TISNUM, LJ_TISNUM); 1291 dasm_put(Dst, 4879, 2+1, LJ_TISNUM, LJ_TISNUM);
1285 if (sse) { 1292 if (sse) {
1286 dasm_put(Dst, 4937, 2+1, LJ_TISNUM, LJ_TISNUM); 1293 dasm_put(Dst, 4931, 2+1, LJ_TISNUM, LJ_TISNUM);
1287 } else { 1294 } else {
1288 dasm_put(Dst, 4984, 2+1, LJ_TISNUM, LJ_TISNUM); 1295 dasm_put(Dst, 4978, 2+1, LJ_TISNUM, LJ_TISNUM);
1289 } 1296 }
1290 if (sse) { 1297 if (sse) {
1291 dasm_put(Dst, 5025, 1+1, LJ_TISNUM, LJ_TISNUM); 1298 dasm_put(Dst, 5019, 1+1, LJ_TISNUM, LJ_TISNUM);
1292 } else { 1299 } else {
1293 dasm_put(Dst, 5096, 1+1, LJ_TISNUM, LJ_TISNUM); 1300 dasm_put(Dst, 5090, 1+1, LJ_TISNUM, LJ_TISNUM);
1294 if (cmov) { 1301 if (cmov) {
1295 dasm_put(Dst, 5149); 1302 dasm_put(Dst, 5143);
1296 } else { 1303 } else {
1297 dasm_put(Dst, 5157); 1304 dasm_put(Dst, 5151);
1298 } 1305 }
1299 dasm_put(Dst, 5088); 1306 dasm_put(Dst, 5082);
1300 } 1307 }
1301 if (sse) { 1308 if (sse) {
1302 dasm_put(Dst, 5178, 1+1, LJ_TISNUM, LJ_TISNUM); 1309 dasm_put(Dst, 5172, 1+1, LJ_TISNUM, LJ_TISNUM);
1303 } else { 1310 } else {
1304 dasm_put(Dst, 5249, 1+1, LJ_TISNUM, LJ_TISNUM); 1311 dasm_put(Dst, 5243, 1+1, LJ_TISNUM, LJ_TISNUM);
1305 if (cmov) { 1312 if (cmov) {
1306 dasm_put(Dst, 5302); 1313 dasm_put(Dst, 5296);
1307 } else { 1314 } else {
1308 dasm_put(Dst, 5310); 1315 dasm_put(Dst, 5304);
1309 } 1316 }
1310 dasm_put(Dst, 5088); 1317 dasm_put(Dst, 5082);
1311 } 1318 }
1312 if (!sse) { 1319 if (!sse) {
1313 dasm_put(Dst, 5331); 1320 dasm_put(Dst, 5325);
1314 } 1321 }
1315 dasm_put(Dst, 5340, 1+1, LJ_TSTR); 1322 dasm_put(Dst, 5334, 1+1, LJ_TSTR);
1316 if (sse) { 1323 if (sse) {
1317 dasm_put(Dst, 5362, Dt5(->len)); 1324 dasm_put(Dst, 5356, Dt5(->len));
1318 } else { 1325 } else {
1319 dasm_put(Dst, 5373, Dt5(->len)); 1326 dasm_put(Dst, 5367, Dt5(->len));
1320 } 1327 }
1321 dasm_put(Dst, 5381, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1328 dasm_put(Dst, 5375, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1322 if (sse) { 1329 if (sse) {
1323 dasm_put(Dst, 5419); 1330 dasm_put(Dst, 5413);
1324 } else { 1331 } else {
1325 dasm_put(Dst, 5429); 1332 dasm_put(Dst, 5423);
1326 } 1333 }
1327 dasm_put(Dst, 5442, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1334 dasm_put(Dst, 5436, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1328 if (sse) { 1335 if (sse) {
1329 dasm_put(Dst, 5477); 1336 dasm_put(Dst, 5471);
1330 } else { 1337 } else {
1331 dasm_put(Dst, 5499); 1338 dasm_put(Dst, 5493);
1332 } 1339 }
1333 dasm_put(Dst, 5519, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1340 dasm_put(Dst, 5513, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1334 dasm_put(Dst, 2142); 1341 dasm_put(Dst, 2142);
1335 if (sse) { 1342 if (sse) {
1336 dasm_put(Dst, 5622); 1343 dasm_put(Dst, 5616);
1337 } else { 1344 } else {
1338 dasm_put(Dst, 5633); 1345 dasm_put(Dst, 5627);
1339 } 1346 }
1340 dasm_put(Dst, 5641, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1347 dasm_put(Dst, 5635, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1341 if (sse) { 1348 if (sse) {
1342 dasm_put(Dst, 5671); 1349 dasm_put(Dst, 5665);
1343 } else { 1350 } else {
1344 dasm_put(Dst, 5678); 1351 dasm_put(Dst, 5672);
1345 } 1352 }
1346 dasm_put(Dst, 5690, sizeof(GCstr)-1); 1353 dasm_put(Dst, 5684, sizeof(GCstr)-1);
1347 dasm_put(Dst, 5765, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1354 dasm_put(Dst, 5759, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1348 dasm_put(Dst, 5824, LJ_TSTR, LJ_TISNUM); 1355 dasm_put(Dst, 5818, LJ_TSTR, LJ_TISNUM);
1349 if (sse) { 1356 if (sse) {
1350 dasm_put(Dst, 5845); 1357 dasm_put(Dst, 5839);
1351 } else { 1358 } else {
1352 dasm_put(Dst, 5852); 1359 dasm_put(Dst, 5846);
1353 } 1360 }
1354 dasm_put(Dst, 5864, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1361 dasm_put(Dst, 5858, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1355 dasm_put(Dst, 5929, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1362 dasm_put(Dst, 5923, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1356 dasm_put(Dst, 5992, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1363 dasm_put(Dst, 5986, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1357 dasm_put(Dst, 6063, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1364 dasm_put(Dst, 6057, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1358 dasm_put(Dst, 6148, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1365 dasm_put(Dst, 6142, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1359 dasm_put(Dst, 6218, 1+1, LJ_TTAB); 1366 dasm_put(Dst, 6212, 1+1, LJ_TTAB);
1360 if (sse) { 1367 if (sse) {
1361 dasm_put(Dst, 6286); 1368 dasm_put(Dst, 6280);
1362 } else { 1369 } else {
1363 dasm_put(Dst, 6296); 1370 dasm_put(Dst, 6290);
1364 } 1371 }
1365 if (sse) { 1372 if (sse) {
1366 dasm_put(Dst, 6307, 1+1, LJ_TISNUM); 1373 dasm_put(Dst, 6301, 1+1, LJ_TISNUM);
1367 } else { 1374 } else {
1368 dasm_put(Dst, 6364, 1+1, LJ_TISNUM); 1375 dasm_put(Dst, 6358, 1+1, LJ_TISNUM);
1369 } 1376 }
1370 if (sse) { 1377 if (sse) {
1371 dasm_put(Dst, 6408, 1+1, LJ_TISNUM); 1378 dasm_put(Dst, 6402, 1+1, LJ_TISNUM);
1372 } else { 1379 } else {
1373 dasm_put(Dst, 6456, 1+1, LJ_TISNUM); 1380 dasm_put(Dst, 6450, 1+1, LJ_TISNUM);
1374 } 1381 }
1375 dasm_put(Dst, 6496, LJ_TISNUM); 1382 dasm_put(Dst, 6490, LJ_TISNUM);
1376 if (sse) { 1383 if (sse) {
1377 dasm_put(Dst, 6523); 1384 dasm_put(Dst, 6517);
1378 } else { 1385 } else {
1379 dasm_put(Dst, 6540); 1386 dasm_put(Dst, 6534);
1380 } 1387 }
1381 dasm_put(Dst, 6553); 1388 dasm_put(Dst, 6547);
1382 if (sse) { 1389 if (sse) {
1383 dasm_put(Dst, 6561, 1+1, LJ_TISNUM); 1390 dasm_put(Dst, 6555, 1+1, LJ_TISNUM);
1384 } else { 1391 } else {
1385 dasm_put(Dst, 6609, 1+1, LJ_TISNUM); 1392 dasm_put(Dst, 6603, 1+1, LJ_TISNUM);
1386 } 1393 }
1387 dasm_put(Dst, 6496, LJ_TISNUM); 1394 dasm_put(Dst, 6490, LJ_TISNUM);
1388 if (sse) { 1395 if (sse) {
1389 dasm_put(Dst, 6649); 1396 dasm_put(Dst, 6643);
1390 } else { 1397 } else {
1391 dasm_put(Dst, 6666); 1398 dasm_put(Dst, 6660);
1392 } 1399 }
1393 dasm_put(Dst, 6553); 1400 dasm_put(Dst, 6547);
1394 if (sse) { 1401 if (sse) {
1395 dasm_put(Dst, 6679, 1+1, LJ_TISNUM); 1402 dasm_put(Dst, 6673, 1+1, LJ_TISNUM);
1396 } else { 1403 } else {
1397 dasm_put(Dst, 6727, 1+1, LJ_TISNUM); 1404 dasm_put(Dst, 6721, 1+1, LJ_TISNUM);
1398 } 1405 }
1399 dasm_put(Dst, 6496, LJ_TISNUM); 1406 dasm_put(Dst, 6490, LJ_TISNUM);
1400 if (sse) { 1407 if (sse) {
1401 dasm_put(Dst, 6767); 1408 dasm_put(Dst, 6761);
1402 } else { 1409 } else {
1403 dasm_put(Dst, 6784); 1410 dasm_put(Dst, 6778);
1404 } 1411 }
1405 dasm_put(Dst, 6553); 1412 dasm_put(Dst, 6547);
1406 if (sse) { 1413 if (sse) {
1407 dasm_put(Dst, 6797, 1+1, LJ_TISNUM); 1414 dasm_put(Dst, 6791, 1+1, LJ_TISNUM);
1408 } else { 1415 } else {
1409 dasm_put(Dst, 6845, 1+1, LJ_TISNUM); 1416 dasm_put(Dst, 6839, 1+1, LJ_TISNUM);
1410 } 1417 }
1411 dasm_put(Dst, 6885); 1418 dasm_put(Dst, 6879);
1412 if (sse) { 1419 if (sse) {
1413 dasm_put(Dst, 6892, 1+1, LJ_TISNUM); 1420 dasm_put(Dst, 6886, 1+1, LJ_TISNUM);
1414 } else { 1421 } else {
1415 dasm_put(Dst, 6940, 1+1, LJ_TISNUM); 1422 dasm_put(Dst, 6934, 1+1, LJ_TISNUM);
1416 } 1423 }
1417 dasm_put(Dst, 6980); 1424 dasm_put(Dst, 6974);
1418 if (sse) { 1425 if (sse) {
1419 dasm_put(Dst, 6984); 1426 dasm_put(Dst, 6978);
1420 } else { 1427 } else {
1421 dasm_put(Dst, 6996); 1428 dasm_put(Dst, 6990);
1422 } 1429 }
1423 dasm_put(Dst, 7009); 1430 dasm_put(Dst, 7003);
1424 if (sse) { 1431 if (sse) {
1425 dasm_put(Dst, 7020, 2+1, LJ_TISNUM, LJ_TISNUM); 1432 dasm_put(Dst, 7014, 2+1, LJ_TISNUM, LJ_TISNUM);
1426 } else { 1433 } else {
1427 dasm_put(Dst, 7094, 2+1, LJ_TISNUM, LJ_TISNUM); 1434 dasm_put(Dst, 7088, 2+1, LJ_TISNUM, LJ_TISNUM);
1428 } 1435 }
1429 dasm_put(Dst, 7160); 1436 dasm_put(Dst, 7154);
1430 if (sse) { 1437 if (sse) {
1431 dasm_put(Dst, 7169, 2+1, LJ_TISNUM, LJ_TISNUM); 1438 dasm_put(Dst, 7163, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 } else { 1439 } else {
1433 dasm_put(Dst, 7243, 2+1, LJ_TISNUM, LJ_TISNUM); 1440 dasm_put(Dst, 7237, 2+1, LJ_TISNUM, LJ_TISNUM);
1434 } 1441 }
1435 dasm_put(Dst, 7309); 1442 dasm_put(Dst, 7303);
1436 if (sse) { 1443 if (sse) {
1437 dasm_put(Dst, 7319, 2+1, LJ_TISNUM, LJ_TISNUM); 1444 dasm_put(Dst, 7313, 2+1, LJ_TISNUM, LJ_TISNUM);
1438 } else { 1445 } else {
1439 dasm_put(Dst, 7393, 2+1, LJ_TISNUM, LJ_TISNUM); 1446 dasm_put(Dst, 7387, 2+1, LJ_TISNUM, LJ_TISNUM);
1440 } 1447 }
1441 dasm_put(Dst, 7459); 1448 dasm_put(Dst, 7453);
1442 if (sse) { 1449 if (sse) {
1443 dasm_put(Dst, 7469, 2+1, LJ_TISNUM, LJ_TISNUM); 1450 dasm_put(Dst, 7463, 2+1, LJ_TISNUM, LJ_TISNUM);
1444 } else { 1451 } else {
1445 dasm_put(Dst, 7543, 2+1, LJ_TISNUM, LJ_TISNUM); 1452 dasm_put(Dst, 7537, 2+1, LJ_TISNUM, LJ_TISNUM);
1446 } 1453 }
1447 dasm_put(Dst, 7609); 1454 dasm_put(Dst, 7603);
1448 if (sse) { 1455 if (sse) {
1449 dasm_put(Dst, 7618, 2+1, LJ_TISNUM, LJ_TISNUM); 1456 dasm_put(Dst, 7612, 2+1, LJ_TISNUM, LJ_TISNUM);
1450 } else { 1457 } else {
1451 dasm_put(Dst, 7692, 2+1, LJ_TISNUM, LJ_TISNUM); 1458 dasm_put(Dst, 7686, 2+1, LJ_TISNUM, LJ_TISNUM);
1452 } 1459 }
1453 dasm_put(Dst, 7758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1460 dasm_put(Dst, 7752, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1454 dasm_put(Dst, 7836, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1461 dasm_put(Dst, 7830, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1455 dasm_put(Dst, 7960, Dt1(->top), Dt1(->base), Dt1(->top)); 1462 dasm_put(Dst, 7954, Dt1(->top), Dt1(->base), Dt1(->top));
1456#if LJ_HASJIT 1463#if LJ_HASJIT
1457 dasm_put(Dst, 7998, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1464 dasm_put(Dst, 7992, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1458#endif 1465#endif
1459 dasm_put(Dst, 8029, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1466 dasm_put(Dst, 8023, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1460 dasm_put(Dst, 8080, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1467 dasm_put(Dst, 8074, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1461#if LJ_HASJIT 1468#if LJ_HASJIT
1462 dasm_put(Dst, 8146, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1469 dasm_put(Dst, 8140, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1463#endif 1470#endif
1464 dasm_put(Dst, 8192); 1471 dasm_put(Dst, 8186);
1465#if LJ_HASJIT 1472#if LJ_HASJIT
1466 dasm_put(Dst, 8024); 1473 dasm_put(Dst, 8018);
1467#endif 1474#endif
1468 dasm_put(Dst, 8199); 1475 dasm_put(Dst, 8193);
1469#if LJ_HASJIT 1476#if LJ_HASJIT
1470 dasm_put(Dst, 8202); 1477 dasm_put(Dst, 8196);
1471#endif 1478#endif
1472 dasm_put(Dst, 8212, Dt1(->base), Dt1(->top)); 1479 dasm_put(Dst, 8206, Dt1(->base), Dt1(->top));
1473#if LJ_HASJIT 1480#if LJ_HASJIT
1474 dasm_put(Dst, 8246); 1481 dasm_put(Dst, 8240);
1475#endif 1482#endif
1476 dasm_put(Dst, 8251, Dt1(->base), Dt1(->top)); 1483 dasm_put(Dst, 8245, Dt1(->base), Dt1(->top));
1477#if LJ_HASJIT 1484#if LJ_HASJIT
1478 dasm_put(Dst, 8280, 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); 1485 dasm_put(Dst, 8274, 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);
1479#endif 1486#endif
1480 dasm_put(Dst, 8423); 1487 dasm_put(Dst, 8417);
1481#if LJ_HASJIT 1488#if LJ_HASJIT
1482 dasm_put(Dst, 8426, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1489 dasm_put(Dst, 8420, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1483#endif 1490#endif
1484 dasm_put(Dst, 8504); 1491 dasm_put(Dst, 8498);
1485 if (!sse) { 1492 if (!sse) {
1486 dasm_put(Dst, 8507); 1493 dasm_put(Dst, 8501);
1487 } 1494 }
1488 dasm_put(Dst, 8552); 1495 dasm_put(Dst, 8546);
1489 if (!sse) { 1496 if (!sse) {
1490 dasm_put(Dst, 8654); 1497 dasm_put(Dst, 8648);
1491 } 1498 }
1492 dasm_put(Dst, 8699); 1499 dasm_put(Dst, 8693);
1493 if (!sse) { 1500 if (!sse) {
1494 dasm_put(Dst, 8801); 1501 dasm_put(Dst, 8795);
1495 } 1502 }
1496 dasm_put(Dst, 8840); 1503 dasm_put(Dst, 8834);
1497 if (sse) { 1504 if (sse) {
1498 dasm_put(Dst, 8945); 1505 dasm_put(Dst, 8939);
1499 } else { 1506 } else {
1500 dasm_put(Dst, 9075); 1507 dasm_put(Dst, 9069);
1501 } 1508 }
1502 dasm_put(Dst, 9122); 1509 dasm_put(Dst, 9116);
1503 if (!sse) { 1510 if (!sse) {
1504 dasm_put(Dst, 9196); 1511 dasm_put(Dst, 9190);
1505 if (cmov) { 1512 if (cmov) {
1506 dasm_put(Dst, 9207); 1513 dasm_put(Dst, 9201);
1507 } else { 1514 } else {
1508 dasm_put(Dst, 9211); 1515 dasm_put(Dst, 9205);
1509 } 1516 }
1510 dasm_put(Dst, 9218); 1517 dasm_put(Dst, 9212);
1511 dasm_put(Dst, 9292); 1518 dasm_put(Dst, 9286);
1512 dasm_put(Dst, 9392); 1519 dasm_put(Dst, 9386);
1513 if (cmov) { 1520 if (cmov) {
1514 dasm_put(Dst, 9395); 1521 dasm_put(Dst, 9389);
1515 } else { 1522 } else {
1516 dasm_put(Dst, 9399); 1523 dasm_put(Dst, 9393);
1517 } 1524 }
1518 dasm_put(Dst, 9406); 1525 dasm_put(Dst, 9400);
1519 if (cmov) { 1526 if (cmov) {
1520 dasm_put(Dst, 9207); 1527 dasm_put(Dst, 9201);
1521 } else { 1528 } else {
1522 dasm_put(Dst, 9211); 1529 dasm_put(Dst, 9205);
1523 } 1530 }
1524 dasm_put(Dst, 9424); 1531 dasm_put(Dst, 9418);
1525 } else { 1532 } else {
1526 dasm_put(Dst, 9503); 1533 dasm_put(Dst, 9497);
1527 } 1534 }
1528 dasm_put(Dst, 9506); 1535 dasm_put(Dst, 9500);
1529 dasm_put(Dst, 9591); 1536 dasm_put(Dst, 9585);
1530 dasm_put(Dst, 9722); 1537 dasm_put(Dst, 9716);
1531 dasm_put(Dst, 9921); 1538 dasm_put(Dst, 9915);
1532#if LJ_HASJIT 1539#if LJ_HASJIT
1533 if (sse) { 1540 if (sse) {
1534 dasm_put(Dst, 9944); 1541 dasm_put(Dst, 9938);
1535 dasm_put(Dst, 10001); 1542 dasm_put(Dst, 9995);
1536 dasm_put(Dst, 10092); 1543 dasm_put(Dst, 10086);
1537 } else { 1544 } else {
1538 dasm_put(Dst, 10134); 1545 dasm_put(Dst, 10128);
1539 dasm_put(Dst, 10226); 1546 dasm_put(Dst, 10220);
1540 } 1547 }
1541 dasm_put(Dst, 10272); 1548 dasm_put(Dst, 10266);
1542#endif 1549#endif
1543 dasm_put(Dst, 10276); 1550 dasm_put(Dst, 10270);
1544 if (sse) { 1551 if (sse) {
1545 dasm_put(Dst, 10279); 1552 dasm_put(Dst, 10273);
1546 dasm_put(Dst, 10384); 1553 dasm_put(Dst, 10378);
1547 dasm_put(Dst, 10467); 1554 dasm_put(Dst, 10461);
1548 } else { 1555 } else {
1549 dasm_put(Dst, 10539); 1556 dasm_put(Dst, 10533);
1550 dasm_put(Dst, 10622); 1557 dasm_put(Dst, 10616);
1551 if (cmov) { 1558 if (cmov) {
1552 dasm_put(Dst, 10677); 1559 dasm_put(Dst, 10671);
1553 } else { 1560 } else {
1554 dasm_put(Dst, 10696); 1561 dasm_put(Dst, 10690);
1555 } 1562 }
1556 dasm_put(Dst, 10272); 1563 dasm_put(Dst, 10266);
1557 } 1564 }
1558 dasm_put(Dst, 10737); 1565 dasm_put(Dst, 10731);
1559} 1566}
1560 1567
1561/* Generate the code for a single instruction. */ 1568/* Generate the code for a single instruction. */
1562static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1569static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1563{ 1570{
1564 int vk = 0; 1571 int vk = 0;
1565 dasm_put(Dst, 10791, defop); 1572 dasm_put(Dst, 10785, defop);
1566 1573
1567 switch (op) { 1574 switch (op) {
1568 1575
@@ -1571,634 +1578,634 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1571 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1578 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1572 1579
1573 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1580 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1574 dasm_put(Dst, 10793, LJ_TISNUM, LJ_TISNUM); 1581 dasm_put(Dst, 10787, LJ_TISNUM, LJ_TISNUM);
1575 if (sse) { 1582 if (sse) {
1576 dasm_put(Dst, 10814); 1583 dasm_put(Dst, 10808);
1577 } else { 1584 } else {
1578 dasm_put(Dst, 10829); 1585 dasm_put(Dst, 10823);
1579 if (cmov) { 1586 if (cmov) {
1580 dasm_put(Dst, 10839); 1587 dasm_put(Dst, 10833);
1581 } else { 1588 } else {
1582 dasm_put(Dst, 10845); 1589 dasm_put(Dst, 10839);
1583 } 1590 }
1584 } 1591 }
1585 switch (op) { 1592 switch (op) {
1586 case BC_ISLT: 1593 case BC_ISLT:
1587 dasm_put(Dst, 10852); 1594 dasm_put(Dst, 10846);
1588 break; 1595 break;
1589 case BC_ISGE: 1596 case BC_ISGE:
1590 dasm_put(Dst, 10087); 1597 dasm_put(Dst, 10081);
1591 break; 1598 break;
1592 case BC_ISLE: 1599 case BC_ISLE:
1593 dasm_put(Dst, 6213); 1600 dasm_put(Dst, 6207);
1594 break; 1601 break;
1595 case BC_ISGT: 1602 case BC_ISGT:
1596 dasm_put(Dst, 10857); 1603 dasm_put(Dst, 10851);
1597 break; 1604 break;
1598 default: break; /* Shut up GCC. */ 1605 default: break; /* Shut up GCC. */
1599 } 1606 }
1600 dasm_put(Dst, 10862, -BCBIAS_J*4); 1607 dasm_put(Dst, 10856, -BCBIAS_J*4);
1601 break; 1608 break;
1602 1609
1603 case BC_ISEQV: case BC_ISNEV: 1610 case BC_ISEQV: case BC_ISNEV:
1604 vk = op == BC_ISEQV; 1611 vk = op == BC_ISEQV;
1605 dasm_put(Dst, 10895, LJ_TISNUM, LJ_TISNUM); 1612 dasm_put(Dst, 10889, LJ_TISNUM, LJ_TISNUM);
1606 if (sse) { 1613 if (sse) {
1607 dasm_put(Dst, 10921); 1614 dasm_put(Dst, 10915);
1608 } else { 1615 } else {
1609 dasm_put(Dst, 10933); 1616 dasm_put(Dst, 10927);
1610 if (cmov) { 1617 if (cmov) {
1611 dasm_put(Dst, 10839); 1618 dasm_put(Dst, 10833);
1612 } else { 1619 } else {
1613 dasm_put(Dst, 10845); 1620 dasm_put(Dst, 10839);
1614 } 1621 }
1615 } 1622 }
1616 iseqne_fp: 1623 iseqne_fp:
1617 if (vk) { 1624 if (vk) {
1618 dasm_put(Dst, 10940); 1625 dasm_put(Dst, 10934);
1619 } else { 1626 } else {
1620 dasm_put(Dst, 10949); 1627 dasm_put(Dst, 10943);
1621 } 1628 }
1622 iseqne_end: 1629 iseqne_end:
1623 if (vk) { 1630 if (vk) {
1624 dasm_put(Dst, 10958, -BCBIAS_J*4); 1631 dasm_put(Dst, 10952, -BCBIAS_J*4);
1625 } else { 1632 } else {
1626 dasm_put(Dst, 10973, -BCBIAS_J*4); 1633 dasm_put(Dst, 10967, -BCBIAS_J*4);
1627 } 1634 }
1628 dasm_put(Dst, 10876); 1635 dasm_put(Dst, 10870);
1629 if (op == BC_ISEQV || op == BC_ISNEV) { 1636 if (op == BC_ISEQV || op == BC_ISNEV) {
1630 dasm_put(Dst, 10988, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1637 dasm_put(Dst, 10982, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1631 if (vk) { 1638 if (vk) {
1632 dasm_put(Dst, 11046); 1639 dasm_put(Dst, 11040);
1633 } else { 1640 } else {
1634 dasm_put(Dst, 11050); 1641 dasm_put(Dst, 11044);
1635 } 1642 }
1636 dasm_put(Dst, 11056); 1643 dasm_put(Dst, 11050);
1637 } 1644 }
1638 break; 1645 break;
1639 case BC_ISEQS: case BC_ISNES: 1646 case BC_ISEQS: case BC_ISNES:
1640 vk = op == BC_ISEQS; 1647 vk = op == BC_ISEQS;
1641 dasm_put(Dst, 11061, LJ_TSTR); 1648 dasm_put(Dst, 11055, LJ_TSTR);
1642 iseqne_test: 1649 iseqne_test:
1643 if (vk) { 1650 if (vk) {
1644 dasm_put(Dst, 10944); 1651 dasm_put(Dst, 10938);
1645 } else { 1652 } else {
1646 dasm_put(Dst, 2835); 1653 dasm_put(Dst, 2829);
1647 } 1654 }
1648 goto iseqne_end; 1655 goto iseqne_end;
1649 case BC_ISEQN: case BC_ISNEN: 1656 case BC_ISEQN: case BC_ISNEN:
1650 vk = op == BC_ISEQN; 1657 vk = op == BC_ISEQN;
1651 dasm_put(Dst, 11084, LJ_TISNUM); 1658 dasm_put(Dst, 11078, LJ_TISNUM);
1652 if (sse) { 1659 if (sse) {
1653 dasm_put(Dst, 11098); 1660 dasm_put(Dst, 11092);
1654 } else { 1661 } else {
1655 dasm_put(Dst, 11110); 1662 dasm_put(Dst, 11104);
1656 if (cmov) { 1663 if (cmov) {
1657 dasm_put(Dst, 10839); 1664 dasm_put(Dst, 10833);
1658 } else { 1665 } else {
1659 dasm_put(Dst, 10845); 1666 dasm_put(Dst, 10839);
1660 } 1667 }
1661 } 1668 }
1662 goto iseqne_fp; 1669 goto iseqne_fp;
1663 case BC_ISEQP: case BC_ISNEP: 1670 case BC_ISEQP: case BC_ISNEP:
1664 vk = op == BC_ISEQP; 1671 vk = op == BC_ISEQP;
1665 dasm_put(Dst, 11117); 1672 dasm_put(Dst, 11111);
1666 goto iseqne_test; 1673 goto iseqne_test;
1667 1674
1668 /* -- Unary test and copy ops ------------------------------------------- */ 1675 /* -- Unary test and copy ops ------------------------------------------- */
1669 1676
1670 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1677 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1671 dasm_put(Dst, 11128, LJ_TISTRUECOND); 1678 dasm_put(Dst, 11122, LJ_TISTRUECOND);
1672 if (op == BC_IST || op == BC_ISTC) { 1679 if (op == BC_IST || op == BC_ISTC) {
1673 dasm_put(Dst, 11140); 1680 dasm_put(Dst, 11134);
1674 } else { 1681 } else {
1675 dasm_put(Dst, 11145); 1682 dasm_put(Dst, 11139);
1676 } 1683 }
1677 if (op == BC_ISTC || op == BC_ISFC) { 1684 if (op == BC_ISTC || op == BC_ISFC) {
1678 dasm_put(Dst, 11150); 1685 dasm_put(Dst, 11144);
1679 } 1686 }
1680 dasm_put(Dst, 11161, -BCBIAS_J*4); 1687 dasm_put(Dst, 11155, -BCBIAS_J*4);
1681 break; 1688 break;
1682 1689
1683 /* -- Unary ops --------------------------------------------------------- */ 1690 /* -- Unary ops --------------------------------------------------------- */
1684 1691
1685 case BC_MOV: 1692 case BC_MOV:
1686 dasm_put(Dst, 11192); 1693 dasm_put(Dst, 11186);
1687 break; 1694 break;
1688 case BC_NOT: 1695 case BC_NOT:
1689 dasm_put(Dst, 11225, LJ_TISTRUECOND, LJ_TTRUE); 1696 dasm_put(Dst, 11219, LJ_TISTRUECOND, LJ_TTRUE);
1690 break; 1697 break;
1691 case BC_UNM: 1698 case BC_UNM:
1692 dasm_put(Dst, 11260, LJ_TISNUM); 1699 dasm_put(Dst, 11254, LJ_TISNUM);
1693 if (sse) { 1700 if (sse) {
1694 dasm_put(Dst, 11271); 1701 dasm_put(Dst, 11265);
1695 } else { 1702 } else {
1696 dasm_put(Dst, 11301); 1703 dasm_put(Dst, 11295);
1697 } 1704 }
1698 dasm_put(Dst, 10876); 1705 dasm_put(Dst, 10870);
1699 break; 1706 break;
1700 case BC_LEN: 1707 case BC_LEN:
1701 dasm_put(Dst, 11310, LJ_TSTR); 1708 dasm_put(Dst, 11304, LJ_TSTR);
1702 if (sse) { 1709 if (sse) {
1703 dasm_put(Dst, 11324, Dt5(->len)); 1710 dasm_put(Dst, 11318, Dt5(->len));
1704 } else { 1711 } else {
1705 dasm_put(Dst, 11342, Dt5(->len)); 1712 dasm_put(Dst, 11336, Dt5(->len));
1706 } 1713 }
1707 dasm_put(Dst, 11351, LJ_TTAB); 1714 dasm_put(Dst, 11345, LJ_TTAB);
1708 if (sse) { 1715 if (sse) {
1709 dasm_put(Dst, 11391); 1716 dasm_put(Dst, 11385);
1710 } else { 1717 } else {
1711 dasm_put(Dst, 11400); 1718 dasm_put(Dst, 11394);
1712 } 1719 }
1713 dasm_put(Dst, 11410); 1720 dasm_put(Dst, 11404);
1714 break; 1721 break;
1715 1722
1716 /* -- Binary ops -------------------------------------------------------- */ 1723 /* -- Binary ops -------------------------------------------------------- */
1717 1724
1718 1725
1719 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1726 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1720 dasm_put(Dst, 11420); 1727 dasm_put(Dst, 11414);
1721 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1728 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1722 switch (vk) { 1729 switch (vk) {
1723 case 0: 1730 case 0:
1724 dasm_put(Dst, 11428, LJ_TISNUM); 1731 dasm_put(Dst, 11422, LJ_TISNUM);
1725 if (sse) { 1732 if (sse) {
1726 dasm_put(Dst, 11440); 1733 dasm_put(Dst, 11434);
1727 } else { 1734 } else {
1728 dasm_put(Dst, 11454); 1735 dasm_put(Dst, 11448);
1729 } 1736 }
1730 break; 1737 break;
1731 case 1: 1738 case 1:
1732 dasm_put(Dst, 11462, LJ_TISNUM); 1739 dasm_put(Dst, 11456, LJ_TISNUM);
1733 if (sse) { 1740 if (sse) {
1734 dasm_put(Dst, 11474); 1741 dasm_put(Dst, 11468);
1735 } else { 1742 } else {
1736 dasm_put(Dst, 11488); 1743 dasm_put(Dst, 11482);
1737 } 1744 }
1738 break; 1745 break;
1739 default: 1746 default:
1740 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1747 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1741 if (sse) { 1748 if (sse) {
1742 dasm_put(Dst, 11518); 1749 dasm_put(Dst, 11512);
1743 } else { 1750 } else {
1744 dasm_put(Dst, 11532); 1751 dasm_put(Dst, 11526);
1745 } 1752 }
1746 break; 1753 break;
1747 } 1754 }
1748 if (sse) { 1755 if (sse) {
1749 dasm_put(Dst, 11294); 1756 dasm_put(Dst, 11288);
1750 } else { 1757 } else {
1751 dasm_put(Dst, 11306); 1758 dasm_put(Dst, 11300);
1752 } 1759 }
1753 dasm_put(Dst, 10876); 1760 dasm_put(Dst, 10870);
1754 break; 1761 break;
1755 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1762 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1756 dasm_put(Dst, 11420); 1763 dasm_put(Dst, 11414);
1757 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1764 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1758 switch (vk) { 1765 switch (vk) {
1759 case 0: 1766 case 0:
1760 dasm_put(Dst, 11428, LJ_TISNUM); 1767 dasm_put(Dst, 11422, LJ_TISNUM);
1761 if (sse) { 1768 if (sse) {
1762 dasm_put(Dst, 11540); 1769 dasm_put(Dst, 11534);
1763 } else { 1770 } else {
1764 dasm_put(Dst, 11554); 1771 dasm_put(Dst, 11548);
1765 } 1772 }
1766 break; 1773 break;
1767 case 1: 1774 case 1:
1768 dasm_put(Dst, 11462, LJ_TISNUM); 1775 dasm_put(Dst, 11456, LJ_TISNUM);
1769 if (sse) { 1776 if (sse) {
1770 dasm_put(Dst, 11562); 1777 dasm_put(Dst, 11556);
1771 } else { 1778 } else {
1772 dasm_put(Dst, 11576); 1779 dasm_put(Dst, 11570);
1773 } 1780 }
1774 break; 1781 break;
1775 default: 1782 default:
1776 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1783 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1777 if (sse) { 1784 if (sse) {
1778 dasm_put(Dst, 11584); 1785 dasm_put(Dst, 11578);
1779 } else { 1786 } else {
1780 dasm_put(Dst, 11598); 1787 dasm_put(Dst, 11592);
1781 } 1788 }
1782 break; 1789 break;
1783 } 1790 }
1784 if (sse) { 1791 if (sse) {
1785 dasm_put(Dst, 11294); 1792 dasm_put(Dst, 11288);
1786 } else { 1793 } else {
1787 dasm_put(Dst, 11306); 1794 dasm_put(Dst, 11300);
1788 } 1795 }
1789 dasm_put(Dst, 10876); 1796 dasm_put(Dst, 10870);
1790 break; 1797 break;
1791 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1798 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1792 dasm_put(Dst, 11420); 1799 dasm_put(Dst, 11414);
1793 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1800 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1794 switch (vk) { 1801 switch (vk) {
1795 case 0: 1802 case 0:
1796 dasm_put(Dst, 11428, LJ_TISNUM); 1803 dasm_put(Dst, 11422, LJ_TISNUM);
1797 if (sse) { 1804 if (sse) {
1798 dasm_put(Dst, 11606); 1805 dasm_put(Dst, 11600);
1799 } else { 1806 } else {
1800 dasm_put(Dst, 11620); 1807 dasm_put(Dst, 11614);
1801 } 1808 }
1802 break; 1809 break;
1803 case 1: 1810 case 1:
1804 dasm_put(Dst, 11462, LJ_TISNUM); 1811 dasm_put(Dst, 11456, LJ_TISNUM);
1805 if (sse) { 1812 if (sse) {
1806 dasm_put(Dst, 11628); 1813 dasm_put(Dst, 11622);
1807 } else { 1814 } else {
1808 dasm_put(Dst, 11642); 1815 dasm_put(Dst, 11636);
1809 } 1816 }
1810 break; 1817 break;
1811 default: 1818 default:
1812 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1819 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1813 if (sse) { 1820 if (sse) {
1814 dasm_put(Dst, 11650); 1821 dasm_put(Dst, 11644);
1815 } else { 1822 } else {
1816 dasm_put(Dst, 11664); 1823 dasm_put(Dst, 11658);
1817 } 1824 }
1818 break; 1825 break;
1819 } 1826 }
1820 if (sse) { 1827 if (sse) {
1821 dasm_put(Dst, 11294); 1828 dasm_put(Dst, 11288);
1822 } else { 1829 } else {
1823 dasm_put(Dst, 11306); 1830 dasm_put(Dst, 11300);
1824 } 1831 }
1825 dasm_put(Dst, 10876); 1832 dasm_put(Dst, 10870);
1826 break; 1833 break;
1827 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1834 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1828 dasm_put(Dst, 11420); 1835 dasm_put(Dst, 11414);
1829 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1836 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1830 switch (vk) { 1837 switch (vk) {
1831 case 0: 1838 case 0:
1832 dasm_put(Dst, 11428, LJ_TISNUM); 1839 dasm_put(Dst, 11422, LJ_TISNUM);
1833 if (sse) { 1840 if (sse) {
1834 dasm_put(Dst, 11672); 1841 dasm_put(Dst, 11666);
1835 } else { 1842 } else {
1836 dasm_put(Dst, 11686); 1843 dasm_put(Dst, 11680);
1837 } 1844 }
1838 break; 1845 break;
1839 case 1: 1846 case 1:
1840 dasm_put(Dst, 11462, LJ_TISNUM); 1847 dasm_put(Dst, 11456, LJ_TISNUM);
1841 if (sse) { 1848 if (sse) {
1842 dasm_put(Dst, 11694); 1849 dasm_put(Dst, 11688);
1843 } else { 1850 } else {
1844 dasm_put(Dst, 11708); 1851 dasm_put(Dst, 11702);
1845 } 1852 }
1846 break; 1853 break;
1847 default: 1854 default:
1848 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1855 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1849 if (sse) { 1856 if (sse) {
1850 dasm_put(Dst, 11716); 1857 dasm_put(Dst, 11710);
1851 } else { 1858 } else {
1852 dasm_put(Dst, 11730); 1859 dasm_put(Dst, 11724);
1853 } 1860 }
1854 break; 1861 break;
1855 } 1862 }
1856 if (sse) { 1863 if (sse) {
1857 dasm_put(Dst, 11294); 1864 dasm_put(Dst, 11288);
1858 } else { 1865 } else {
1859 dasm_put(Dst, 11306); 1866 dasm_put(Dst, 11300);
1860 } 1867 }
1861 dasm_put(Dst, 10876); 1868 dasm_put(Dst, 10870);
1862 break; 1869 break;
1863 case BC_MODVN: 1870 case BC_MODVN:
1864 dasm_put(Dst, 11420); 1871 dasm_put(Dst, 11414);
1865 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1872 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1866 switch (vk) { 1873 switch (vk) {
1867 case 0: 1874 case 0:
1868 dasm_put(Dst, 11428, LJ_TISNUM); 1875 dasm_put(Dst, 11422, LJ_TISNUM);
1869 if (sse) { 1876 if (sse) {
1870 dasm_put(Dst, 11738); 1877 dasm_put(Dst, 11732);
1871 } else { 1878 } else {
1872 dasm_put(Dst, 11752); 1879 dasm_put(Dst, 11746);
1873 } 1880 }
1874 break; 1881 break;
1875 case 1: 1882 case 1:
1876 dasm_put(Dst, 11462, LJ_TISNUM); 1883 dasm_put(Dst, 11456, LJ_TISNUM);
1877 if (sse) { 1884 if (sse) {
1878 dasm_put(Dst, 11760); 1885 dasm_put(Dst, 11754);
1879 } else { 1886 } else {
1880 dasm_put(Dst, 11774); 1887 dasm_put(Dst, 11768);
1881 } 1888 }
1882 break; 1889 break;
1883 default: 1890 default:
1884 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1891 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1885 if (sse) { 1892 if (sse) {
1886 dasm_put(Dst, 11782); 1893 dasm_put(Dst, 11776);
1887 } else { 1894 } else {
1888 dasm_put(Dst, 11796); 1895 dasm_put(Dst, 11790);
1889 } 1896 }
1890 break; 1897 break;
1891 } 1898 }
1892 dasm_put(Dst, 11804); 1899 dasm_put(Dst, 11798);
1893 if (sse) { 1900 if (sse) {
1894 dasm_put(Dst, 11294); 1901 dasm_put(Dst, 11288);
1895 } else { 1902 } else {
1896 dasm_put(Dst, 11306); 1903 dasm_put(Dst, 11300);
1897 } 1904 }
1898 dasm_put(Dst, 10876); 1905 dasm_put(Dst, 10870);
1899 break; 1906 break;
1900 case BC_MODNV: case BC_MODVV: 1907 case BC_MODNV: case BC_MODVV:
1901 dasm_put(Dst, 11420); 1908 dasm_put(Dst, 11414);
1902 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1909 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1903 switch (vk) { 1910 switch (vk) {
1904 case 0: 1911 case 0:
1905 dasm_put(Dst, 11428, LJ_TISNUM); 1912 dasm_put(Dst, 11422, LJ_TISNUM);
1906 if (sse) { 1913 if (sse) {
1907 dasm_put(Dst, 11738); 1914 dasm_put(Dst, 11732);
1908 } else { 1915 } else {
1909 dasm_put(Dst, 11752); 1916 dasm_put(Dst, 11746);
1910 } 1917 }
1911 break; 1918 break;
1912 case 1: 1919 case 1:
1913 dasm_put(Dst, 11462, LJ_TISNUM); 1920 dasm_put(Dst, 11456, LJ_TISNUM);
1914 if (sse) { 1921 if (sse) {
1915 dasm_put(Dst, 11760); 1922 dasm_put(Dst, 11754);
1916 } else { 1923 } else {
1917 dasm_put(Dst, 11774); 1924 dasm_put(Dst, 11768);
1918 } 1925 }
1919 break; 1926 break;
1920 default: 1927 default:
1921 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1928 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1922 if (sse) { 1929 if (sse) {
1923 dasm_put(Dst, 11782); 1930 dasm_put(Dst, 11776);
1924 } else { 1931 } else {
1925 dasm_put(Dst, 11796); 1932 dasm_put(Dst, 11790);
1926 } 1933 }
1927 break; 1934 break;
1928 } 1935 }
1929 dasm_put(Dst, 11810); 1936 dasm_put(Dst, 11804);
1930 break; 1937 break;
1931 case BC_POW: 1938 case BC_POW:
1932 dasm_put(Dst, 11420); 1939 dasm_put(Dst, 11414);
1933 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1940 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1934 switch (vk) { 1941 switch (vk) {
1935 case 0: 1942 case 0:
1936 dasm_put(Dst, 11428, LJ_TISNUM); 1943 dasm_put(Dst, 11422, LJ_TISNUM);
1937 if (sse) { 1944 if (sse) {
1938 dasm_put(Dst, 11738); 1945 dasm_put(Dst, 11732);
1939 } else { 1946 } else {
1940 dasm_put(Dst, 11752); 1947 dasm_put(Dst, 11746);
1941 } 1948 }
1942 break; 1949 break;
1943 case 1: 1950 case 1:
1944 dasm_put(Dst, 11462, LJ_TISNUM); 1951 dasm_put(Dst, 11456, LJ_TISNUM);
1945 if (sse) { 1952 if (sse) {
1946 dasm_put(Dst, 11760); 1953 dasm_put(Dst, 11754);
1947 } else { 1954 } else {
1948 dasm_put(Dst, 11774); 1955 dasm_put(Dst, 11768);
1949 } 1956 }
1950 break; 1957 break;
1951 default: 1958 default:
1952 dasm_put(Dst, 11496, LJ_TISNUM, LJ_TISNUM); 1959 dasm_put(Dst, 11490, LJ_TISNUM, LJ_TISNUM);
1953 if (sse) { 1960 if (sse) {
1954 dasm_put(Dst, 11782); 1961 dasm_put(Dst, 11776);
1955 } else { 1962 } else {
1956 dasm_put(Dst, 11796); 1963 dasm_put(Dst, 11790);
1957 } 1964 }
1958 break; 1965 break;
1959 } 1966 }
1960 dasm_put(Dst, 11815); 1967 dasm_put(Dst, 11809);
1961 if (sse) { 1968 if (sse) {
1962 dasm_put(Dst, 11294); 1969 dasm_put(Dst, 11288);
1963 } else { 1970 } else {
1964 dasm_put(Dst, 11306); 1971 dasm_put(Dst, 11300);
1965 } 1972 }
1966 dasm_put(Dst, 10876); 1973 dasm_put(Dst, 10870);
1967 break; 1974 break;
1968 1975
1969 case BC_CAT: 1976 case BC_CAT:
1970 dasm_put(Dst, 11819, Dt1(->base), Dt1(->base)); 1977 dasm_put(Dst, 11813, Dt1(->base), Dt1(->base));
1971 break; 1978 break;
1972 1979
1973 /* -- Constant ops ------------------------------------------------------ */ 1980 /* -- Constant ops ------------------------------------------------------ */
1974 1981
1975 case BC_KSTR: 1982 case BC_KSTR:
1976 dasm_put(Dst, 11913, LJ_TSTR); 1983 dasm_put(Dst, 11907, LJ_TSTR);
1977 break; 1984 break;
1978 case BC_KSHORT: 1985 case BC_KSHORT:
1979 if (sse) { 1986 if (sse) {
1980 dasm_put(Dst, 11946); 1987 dasm_put(Dst, 11940);
1981 } else { 1988 } else {
1982 dasm_put(Dst, 11961); 1989 dasm_put(Dst, 11955);
1983 } 1990 }
1984 dasm_put(Dst, 10876); 1991 dasm_put(Dst, 10870);
1985 break; 1992 break;
1986 case BC_KNUM: 1993 case BC_KNUM:
1987 if (sse) { 1994 if (sse) {
1988 dasm_put(Dst, 11969); 1995 dasm_put(Dst, 11963);
1989 } else { 1996 } else {
1990 dasm_put(Dst, 11982); 1997 dasm_put(Dst, 11976);
1991 } 1998 }
1992 dasm_put(Dst, 10876); 1999 dasm_put(Dst, 10870);
1993 break; 2000 break;
1994 case BC_KPRI: 2001 case BC_KPRI:
1995 dasm_put(Dst, 11989); 2002 dasm_put(Dst, 11983);
1996 break; 2003 break;
1997 case BC_KNIL: 2004 case BC_KNIL:
1998 dasm_put(Dst, 12015, LJ_TNIL); 2005 dasm_put(Dst, 12009, LJ_TNIL);
1999 break; 2006 break;
2000 2007
2001 /* -- Upvalue and function ops ------------------------------------------ */ 2008 /* -- Upvalue and function ops ------------------------------------------ */
2002 2009
2003 case BC_UGET: 2010 case BC_UGET:
2004 dasm_put(Dst, 12061, offsetof(GCfuncL, uvptr), DtA(->v)); 2011 dasm_put(Dst, 12055, offsetof(GCfuncL, uvptr), DtA(->v));
2005 break; 2012 break;
2006 case BC_USETV: 2013 case BC_USETV:
2007#define TV2MARKOFS \ 2014#define TV2MARKOFS \
2008 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2015 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2009 dasm_put(Dst, 12105, 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); 2016 dasm_put(Dst, 12099, 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);
2010 dasm_put(Dst, 12195); 2017 dasm_put(Dst, 12189);
2011 break; 2018 break;
2012#undef TV2MARKOFS 2019#undef TV2MARKOFS
2013 case BC_USETS: 2020 case BC_USETS:
2014 dasm_put(Dst, 12207, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2021 dasm_put(Dst, 12201, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2015 break; 2022 break;
2016 case BC_USETN: 2023 case BC_USETN:
2017 dasm_put(Dst, 12298); 2024 dasm_put(Dst, 12292);
2018 if (sse) { 2025 if (sse) {
2019 dasm_put(Dst, 12303); 2026 dasm_put(Dst, 12297);
2020 } else { 2027 } else {
2021 dasm_put(Dst, 11113); 2028 dasm_put(Dst, 11107);
2022 } 2029 }
2023 dasm_put(Dst, 12310, offsetof(GCfuncL, uvptr), DtA(->v)); 2030 dasm_put(Dst, 12304, offsetof(GCfuncL, uvptr), DtA(->v));
2024 if (sse) { 2031 if (sse) {
2025 dasm_put(Dst, 12319); 2032 dasm_put(Dst, 12313);
2026 } else { 2033 } else {
2027 dasm_put(Dst, 12325); 2034 dasm_put(Dst, 12319);
2028 } 2035 }
2029 dasm_put(Dst, 10876); 2036 dasm_put(Dst, 10870);
2030 break; 2037 break;
2031 case BC_USETP: 2038 case BC_USETP:
2032 dasm_put(Dst, 12328, offsetof(GCfuncL, uvptr), DtA(->v)); 2039 dasm_put(Dst, 12322, offsetof(GCfuncL, uvptr), DtA(->v));
2033 break; 2040 break;
2034 case BC_UCLO: 2041 case BC_UCLO:
2035 dasm_put(Dst, 12365, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2042 dasm_put(Dst, 12359, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2036 break; 2043 break;
2037 2044
2038 case BC_FNEW: 2045 case BC_FNEW:
2039 dasm_put(Dst, 12419, Dt1(->base), Dt1(->base), LJ_TFUNC); 2046 dasm_put(Dst, 12413, Dt1(->base), Dt1(->base), LJ_TFUNC);
2040 break; 2047 break;
2041 2048
2042 /* -- Table ops --------------------------------------------------------- */ 2049 /* -- Table ops --------------------------------------------------------- */
2043 2050
2044 case BC_TNEW: 2051 case BC_TNEW:
2045 dasm_put(Dst, 12490, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2052 dasm_put(Dst, 12484, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2046 break; 2053 break;
2047 case BC_TDUP: 2054 case BC_TDUP:
2048 dasm_put(Dst, 12616, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2055 dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2049 break; 2056 break;
2050 2057
2051 case BC_GGET: 2058 case BC_GGET:
2052 dasm_put(Dst, 12708, Dt7(->env)); 2059 dasm_put(Dst, 12702, Dt7(->env));
2053 break; 2060 break;
2054 case BC_GSET: 2061 case BC_GSET:
2055 dasm_put(Dst, 12726, Dt7(->env)); 2062 dasm_put(Dst, 12720, Dt7(->env));
2056 break; 2063 break;
2057 2064
2058 case BC_TGETV: 2065 case BC_TGETV:
2059 dasm_put(Dst, 12744, LJ_TTAB, LJ_TISNUM); 2066 dasm_put(Dst, 12738, LJ_TTAB, LJ_TISNUM);
2060 if (sse) { 2067 if (sse) {
2061 dasm_put(Dst, 12777); 2068 dasm_put(Dst, 12771);
2062 } else { 2069 } else {
2063 dasm_put(Dst, 12798); 2070 dasm_put(Dst, 12792);
2064 if (cmov) { 2071 if (cmov) {
2065 dasm_put(Dst, 10839); 2072 dasm_put(Dst, 10833);
2066 } else { 2073 } else {
2067 dasm_put(Dst, 10845); 2074 dasm_put(Dst, 10839);
2068 } 2075 }
2069 dasm_put(Dst, 2538); 2076 dasm_put(Dst, 2539);
2070 } 2077 }
2071 dasm_put(Dst, 12808, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2078 dasm_put(Dst, 12802, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2072 dasm_put(Dst, 12896, LJ_TNIL, LJ_TSTR); 2079 dasm_put(Dst, 12890, LJ_TNIL, LJ_TSTR);
2073 break; 2080 break;
2074 case BC_TGETS: 2081 case BC_TGETS:
2075 dasm_put(Dst, 12925, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2082 dasm_put(Dst, 12919, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2076 dasm_put(Dst, 13013, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2083 dasm_put(Dst, 13007, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2077 break; 2084 break;
2078 case BC_TGETB: 2085 case BC_TGETB:
2079 dasm_put(Dst, 13083, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2086 dasm_put(Dst, 13077, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2080 dasm_put(Dst, 13182, LJ_TNIL); 2087 dasm_put(Dst, 13176, LJ_TNIL);
2081 break; 2088 break;
2082 2089
2083 case BC_TSETV: 2090 case BC_TSETV:
2084 dasm_put(Dst, 13199, LJ_TTAB, LJ_TISNUM); 2091 dasm_put(Dst, 13193, LJ_TTAB, LJ_TISNUM);
2085 if (sse) { 2092 if (sse) {
2086 dasm_put(Dst, 12777); 2093 dasm_put(Dst, 12771);
2087 } else { 2094 } else {
2088 dasm_put(Dst, 12798); 2095 dasm_put(Dst, 12792);
2089 if (cmov) { 2096 if (cmov) {
2090 dasm_put(Dst, 10839); 2097 dasm_put(Dst, 10833);
2091 } else { 2098 } else {
2092 dasm_put(Dst, 10845); 2099 dasm_put(Dst, 10839);
2093 } 2100 }
2094 dasm_put(Dst, 2538); 2101 dasm_put(Dst, 2539);
2095 } 2102 }
2096 dasm_put(Dst, 13232, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2103 dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2097 dasm_put(Dst, 13315, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2104 dasm_put(Dst, 13309, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2098 break; 2105 break;
2099 case BC_TSETS: 2106 case BC_TSETS:
2100 dasm_put(Dst, 13377, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2107 dasm_put(Dst, 13371, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2101 dasm_put(Dst, 13452, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2108 dasm_put(Dst, 13446, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2102 dasm_put(Dst, 13544, 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)); 2109 dasm_put(Dst, 13538, 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));
2103 break; 2110 break;
2104 case BC_TSETB: 2111 case BC_TSETB:
2105 dasm_put(Dst, 13640, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2112 dasm_put(Dst, 13634, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2106 dasm_put(Dst, 13738, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2113 dasm_put(Dst, 13732, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2107 break; 2114 break;
2108 2115
2109 case BC_TSETM: 2116 case BC_TSETM:
2110 dasm_put(Dst, 13784, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2117 dasm_put(Dst, 13778, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2111 dasm_put(Dst, 13933, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2118 dasm_put(Dst, 13927, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2112 break; 2119 break;
2113 2120
2114 /* -- Calls and vararg handling ----------------------------------------- */ 2121 /* -- Calls and vararg handling ----------------------------------------- */
2115 2122
2116 case BC_CALL: case BC_CALLM: 2123 case BC_CALL: case BC_CALLM:
2117 dasm_put(Dst, 11424); 2124 dasm_put(Dst, 11418);
2118 if (op == BC_CALLM) { 2125 if (op == BC_CALLM) {
2119 dasm_put(Dst, 13951); 2126 dasm_put(Dst, 13945);
2120 } 2127 }
2121 dasm_put(Dst, 13956, LJ_TFUNC, Dt7(->pc)); 2128 dasm_put(Dst, 13950, LJ_TFUNC, Dt7(->pc));
2122 break; 2129 break;
2123 2130
2124 case BC_CALLMT: 2131 case BC_CALLMT:
2125 dasm_put(Dst, 13951); 2132 dasm_put(Dst, 13945);
2126 break; 2133 break;
2127 case BC_CALLT: 2134 case BC_CALLT:
2128 dasm_put(Dst, 13997, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2135 dasm_put(Dst, 13991, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2129 dasm_put(Dst, 14115, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2136 dasm_put(Dst, 14109, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2130 break; 2137 break;
2131 2138
2132 case BC_ITERC: 2139 case BC_ITERC:
2133 dasm_put(Dst, 14185, LJ_TFUNC, 2+1, Dt7(->pc)); 2140 dasm_put(Dst, 14179, LJ_TFUNC, 2+1, Dt7(->pc));
2134 break; 2141 break;
2135 2142
2136 case BC_ITERN: 2143 case BC_ITERN:
2137#if LJ_HASJIT 2144#if LJ_HASJIT
2138#endif 2145#endif
2139 dasm_put(Dst, 14265, Dt6(->asize), Dt6(->array), LJ_TNIL); 2146 dasm_put(Dst, 14259, Dt6(->asize), Dt6(->array), LJ_TNIL);
2140 if (sse) { 2147 if (sse) {
2141 dasm_put(Dst, 14311); 2148 dasm_put(Dst, 14305);
2142 } else { 2149 } else {
2143 dasm_put(Dst, 14317); 2150 dasm_put(Dst, 14311);
2144 } 2151 }
2145 dasm_put(Dst, 14323); 2152 dasm_put(Dst, 14317);
2146 if (sse) { 2153 if (sse) {
2147 dasm_put(Dst, 11294); 2154 dasm_put(Dst, 11288);
2148 } else { 2155 } else {
2149 dasm_put(Dst, 11306); 2156 dasm_put(Dst, 11300);
2150 } 2157 }
2151 dasm_put(Dst, 14342, -BCBIAS_J*4); 2158 dasm_put(Dst, 14336, -BCBIAS_J*4);
2152 if (!sse) { 2159 if (!sse) {
2153 dasm_put(Dst, 14393); 2160 dasm_put(Dst, 14387);
2154 } 2161 }
2155 dasm_put(Dst, 14399, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2162 dasm_put(Dst, 14393, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2156 dasm_put(Dst, 14474); 2163 dasm_put(Dst, 14468);
2157 break; 2164 break;
2158 2165
2159 case BC_ISNEXT: 2166 case BC_ISNEXT:
2160 dasm_put(Dst, 14482, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2167 dasm_put(Dst, 14476, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2161 break; 2168 break;
2162 2169
2163 case BC_VARG: 2170 case BC_VARG:
2164 dasm_put(Dst, 14581, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2171 dasm_put(Dst, 14575, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2165 dasm_put(Dst, 14745, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2172 dasm_put(Dst, 14739, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2166 break; 2173 break;
2167 2174
2168 /* -- Returns ----------------------------------------------------------- */ 2175 /* -- Returns ----------------------------------------------------------- */
2169 2176
2170 case BC_RETM: 2177 case BC_RETM:
2171 dasm_put(Dst, 13951); 2178 dasm_put(Dst, 13945);
2172 break; 2179 break;
2173 2180
2174 case BC_RET: case BC_RET0: case BC_RET1: 2181 case BC_RET: case BC_RET0: case BC_RET1:
2175 if (op != BC_RET0) { 2182 if (op != BC_RET0) {
2176 dasm_put(Dst, 14816); 2183 dasm_put(Dst, 14810);
2177 } 2184 }
2178 dasm_put(Dst, 14820, FRAME_TYPE); 2185 dasm_put(Dst, 14814, FRAME_TYPE);
2179 switch (op) { 2186 switch (op) {
2180 case BC_RET: 2187 case BC_RET:
2181 dasm_put(Dst, 14839); 2188 dasm_put(Dst, 14833);
2182 break; 2189 break;
2183 case BC_RET1: 2190 case BC_RET1:
2184 dasm_put(Dst, 14897); 2191 dasm_put(Dst, 14891);
2185 /* fallthrough */ 2192 /* fallthrough */
2186 case BC_RET0: 2193 case BC_RET0:
2187 dasm_put(Dst, 14913); 2194 dasm_put(Dst, 14907);
2188 default: 2195 default:
2189 break; 2196 break;
2190 } 2197 }
2191 dasm_put(Dst, 14924, Dt7(->pc), PC2PROTO(k)); 2198 dasm_put(Dst, 14918, Dt7(->pc), PC2PROTO(k));
2192 if (op == BC_RET) { 2199 if (op == BC_RET) {
2193 dasm_put(Dst, 14966, LJ_TNIL); 2200 dasm_put(Dst, 14960, LJ_TNIL);
2194 } else { 2201 } else {
2195 dasm_put(Dst, 14975, LJ_TNIL); 2202 dasm_put(Dst, 14969, LJ_TNIL);
2196 } 2203 }
2197 dasm_put(Dst, 14982, -FRAME_VARG, FRAME_TYPEP); 2204 dasm_put(Dst, 14976, -FRAME_VARG, FRAME_TYPEP);
2198 if (op != BC_RET0) { 2205 if (op != BC_RET0) {
2199 dasm_put(Dst, 15006); 2206 dasm_put(Dst, 15000);
2200 } 2207 }
2201 dasm_put(Dst, 4710); 2208 dasm_put(Dst, 4704);
2202 break; 2209 break;
2203 2210
2204 /* -- Loops and branches ------------------------------------------------ */ 2211 /* -- Loops and branches ------------------------------------------------ */
@@ -2206,7 +2213,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2206 2213
2207 case BC_FORL: 2214 case BC_FORL:
2208#if LJ_HASJIT 2215#if LJ_HASJIT
2209 dasm_put(Dst, 15010, HOTCOUNT_PCMASK, GG_DISP2HOT); 2216 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT);
2210#endif 2217#endif
2211 break; 2218 break;
2212 2219
@@ -2218,57 +2225,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2218 case BC_FORI: 2225 case BC_FORI:
2219 case BC_IFORL: 2226 case BC_IFORL:
2220 vk = (op == BC_IFORL || op == BC_JFORL); 2227 vk = (op == BC_IFORL || op == BC_JFORL);
2221 dasm_put(Dst, 15031); 2228 dasm_put(Dst, 15025);
2222 if (!vk) { 2229 if (!vk) {
2223 dasm_put(Dst, 15035, LJ_TISNUM, LJ_TISNUM); 2230 dasm_put(Dst, 15029, LJ_TISNUM, LJ_TISNUM);
2224 } 2231 }
2225 dasm_put(Dst, 15054); 2232 dasm_put(Dst, 15048);
2226 if (!vk) { 2233 if (!vk) {
2227 dasm_put(Dst, 15058, LJ_TISNUM); 2234 dasm_put(Dst, 15052, LJ_TISNUM);
2228 } 2235 }
2229 if (sse) { 2236 if (sse) {
2230 dasm_put(Dst, 15067); 2237 dasm_put(Dst, 15061);
2231 if (vk) { 2238 if (vk) {
2232 dasm_put(Dst, 15079); 2239 dasm_put(Dst, 15073);
2233 } else { 2240 } else {
2234 dasm_put(Dst, 15098); 2241 dasm_put(Dst, 15092);
2235 } 2242 }
2236 dasm_put(Dst, 15103); 2243 dasm_put(Dst, 15097);
2237 } else { 2244 } else {
2238 dasm_put(Dst, 15116); 2245 dasm_put(Dst, 15110);
2239 if (vk) { 2246 if (vk) {
2240 dasm_put(Dst, 15122); 2247 dasm_put(Dst, 15116);
2241 } else { 2248 } else {
2242 dasm_put(Dst, 15138); 2249 dasm_put(Dst, 15132);
2243 } 2250 }
2244 dasm_put(Dst, 15146); 2251 dasm_put(Dst, 15140);
2245 if (cmov) { 2252 if (cmov) {
2246 dasm_put(Dst, 10839); 2253 dasm_put(Dst, 10833);
2247 } else { 2254 } else {
2248 dasm_put(Dst, 10845); 2255 dasm_put(Dst, 10839);
2249 } 2256 }
2250 if (!cmov) { 2257 if (!cmov) {
2251 dasm_put(Dst, 15151); 2258 dasm_put(Dst, 15145);
2252 } 2259 }
2253 } 2260 }
2254 if (op == BC_FORI) { 2261 if (op == BC_FORI) {
2255 dasm_put(Dst, 15157, -BCBIAS_J*4); 2262 dasm_put(Dst, 15151, -BCBIAS_J*4);
2256 } else if (op == BC_JFORI) { 2263 } else if (op == BC_JFORI) {
2257 dasm_put(Dst, 15167, -BCBIAS_J*4, BC_JLOOP); 2264 dasm_put(Dst, 15161, -BCBIAS_J*4, BC_JLOOP);
2258 } else if (op == BC_IFORL) { 2265 } else if (op == BC_IFORL) {
2259 dasm_put(Dst, 15181, -BCBIAS_J*4); 2266 dasm_put(Dst, 15175, -BCBIAS_J*4);
2260 } else { 2267 } else {
2261 dasm_put(Dst, 15177, BC_JLOOP); 2268 dasm_put(Dst, 15171, BC_JLOOP);
2262 } 2269 }
2263 dasm_put(Dst, 10874); 2270 dasm_put(Dst, 10868);
2264 if (sse) { 2271 if (sse) {
2265 dasm_put(Dst, 15191); 2272 dasm_put(Dst, 15185);
2266 } 2273 }
2267 break; 2274 break;
2268 2275
2269 case BC_ITERL: 2276 case BC_ITERL:
2270#if LJ_HASJIT 2277#if LJ_HASJIT
2271 dasm_put(Dst, 15010, HOTCOUNT_PCMASK, GG_DISP2HOT); 2278 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT);
2272#endif 2279#endif
2273 break; 2280 break;
2274 2281
@@ -2277,33 +2284,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2277 break; 2284 break;
2278#endif 2285#endif
2279 case BC_IITERL: 2286 case BC_IITERL:
2280 dasm_put(Dst, 15202, LJ_TNIL); 2287 dasm_put(Dst, 15196, LJ_TNIL);
2281 if (op == BC_JITERL) { 2288 if (op == BC_JITERL) {
2282 dasm_put(Dst, 15217, BC_JLOOP); 2289 dasm_put(Dst, 15211, BC_JLOOP);
2283 } else { 2290 } else {
2284 dasm_put(Dst, 15231, -BCBIAS_J*4); 2291 dasm_put(Dst, 15225, -BCBIAS_J*4);
2285 } 2292 }
2286 dasm_put(Dst, 11171); 2293 dasm_put(Dst, 11165);
2287 break; 2294 break;
2288 2295
2289 case BC_LOOP: 2296 case BC_LOOP:
2290#if LJ_HASJIT 2297#if LJ_HASJIT
2291 dasm_put(Dst, 15010, HOTCOUNT_PCMASK, GG_DISP2HOT); 2298 dasm_put(Dst, 15004, HOTCOUNT_PCMASK, GG_DISP2HOT);
2292#endif 2299#endif
2293 break; 2300 break;
2294 2301
2295 case BC_ILOOP: 2302 case BC_ILOOP:
2296 dasm_put(Dst, 10876); 2303 dasm_put(Dst, 10870);
2297 break; 2304 break;
2298 2305
2299 case BC_JLOOP: 2306 case BC_JLOOP:
2300#if LJ_HASJIT 2307#if LJ_HASJIT
2301 dasm_put(Dst, 15247, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2308 dasm_put(Dst, 15241, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2302#endif 2309#endif
2303 break; 2310 break;
2304 2311
2305 case BC_JMP: 2312 case BC_JMP:
2306 dasm_put(Dst, 15270, -BCBIAS_J*4); 2313 dasm_put(Dst, 15264, -BCBIAS_J*4);
2307 break; 2314 break;
2308 2315
2309 /* -- Function headers -------------------------------------------------- */ 2316 /* -- Function headers -------------------------------------------------- */
@@ -2317,7 +2324,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2317 2324
2318 case BC_FUNCF: 2325 case BC_FUNCF:
2319#if LJ_HASJIT 2326#if LJ_HASJIT
2320 dasm_put(Dst, 15294, HOTCOUNT_PCMASK, GG_DISP2HOT); 2327 dasm_put(Dst, 15288, HOTCOUNT_PCMASK, GG_DISP2HOT);
2321#endif 2328#endif
2322 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2329 case BC_FUNCV: /* NYI: compiled vararg functions. */
2323 break; 2330 break;
@@ -2327,47 +2334,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2327 break; 2334 break;
2328#endif 2335#endif
2329 case BC_IFUNCF: 2336 case BC_IFUNCF:
2330 dasm_put(Dst, 15315, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2337 dasm_put(Dst, 15309, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2331 if (op == BC_JFUNCF) { 2338 if (op == BC_JFUNCF) {
2332 dasm_put(Dst, 15345, BC_JLOOP); 2339 dasm_put(Dst, 15339, BC_JLOOP);
2333 } else { 2340 } else {
2334 dasm_put(Dst, 10876); 2341 dasm_put(Dst, 10870);
2335 } 2342 }
2336 dasm_put(Dst, 15354, LJ_TNIL); 2343 dasm_put(Dst, 15348, LJ_TNIL);
2337 break; 2344 break;
2338 2345
2339 case BC_JFUNCV: 2346 case BC_JFUNCV:
2340#if !LJ_HASJIT 2347#if !LJ_HASJIT
2341 break; 2348 break;
2342#endif 2349#endif
2343 dasm_put(Dst, 10274); 2350 dasm_put(Dst, 10268);
2344 break; /* NYI: compiled vararg functions. */ 2351 break; /* NYI: compiled vararg functions. */
2345 2352
2346 case BC_IFUNCV: 2353 case BC_IFUNCV:
2347 dasm_put(Dst, 15376, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2354 dasm_put(Dst, 15370, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2348 if (op == BC_JFUNCV) { 2355 if (op == BC_JFUNCV) {
2349 dasm_put(Dst, 15345, BC_JLOOP); 2356 dasm_put(Dst, 15339, BC_JLOOP);
2350 } else { 2357 } else {
2351 dasm_put(Dst, 15467, -4+PC2PROTO(k)); 2358 dasm_put(Dst, 15461, -4+PC2PROTO(k));
2352 } 2359 }
2353 dasm_put(Dst, 15489, LJ_TNIL); 2360 dasm_put(Dst, 15483, LJ_TNIL);
2354 break; 2361 break;
2355 2362
2356 case BC_FUNCC: 2363 case BC_FUNCC:
2357 case BC_FUNCCW: 2364 case BC_FUNCCW:
2358 dasm_put(Dst, 15511, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2365 dasm_put(Dst, 15505, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2359 if (op == BC_FUNCC) { 2366 if (op == BC_FUNCC) {
2360 dasm_put(Dst, 15540); 2367 dasm_put(Dst, 15534);
2361 } else { 2368 } else {
2362 dasm_put(Dst, 15544); 2369 dasm_put(Dst, 15538);
2363 } 2370 }
2364 dasm_put(Dst, 15552, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2371 dasm_put(Dst, 15546, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2365 if (op == BC_FUNCC) { 2372 if (op == BC_FUNCC) {
2366 dasm_put(Dst, 15561); 2373 dasm_put(Dst, 15555);
2367 } else { 2374 } else {
2368 dasm_put(Dst, 15565, DISPATCH_GL(wrapf)); 2375 dasm_put(Dst, 15559, DISPATCH_GL(wrapf));
2369 } 2376 }
2370 dasm_put(Dst, 15570, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2377 dasm_put(Dst, 15564, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2371 break; 2378 break;
2372 2379
2373 /* ---------------------------------------------------------------------- */ 2380 /* ---------------------------------------------------------------------- */
@@ -2395,7 +2402,7 @@ static int build_backend(BuildCtx *ctx)
2395 2402
2396 build_subroutines(ctx, cmov, sse); 2403 build_subroutines(ctx, cmov, sse);
2397 2404
2398 dasm_put(Dst, 15595); 2405 dasm_put(Dst, 15589);
2399 for (op = 0; op < BC__MAX; op++) 2406 for (op = 0; op < BC__MAX; op++)
2400 build_ins(ctx, (BCOp)op, op, cmov, sse); 2407 build_ins(ctx, (BCOp)op, op, cmov, sse);
2401 2408