summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h1636
1 files changed, 819 insertions, 817 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 244225f3..461f768c 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15830] = { 15static const unsigned char build_actionlist[15847] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -111,134 +111,135 @@ static const unsigned char build_actionlist[15830] = {
111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, 111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,
112 252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,63,139,1,137,106, 112 252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,63,139,1,137,106,
113 252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,132,244,1, 113 252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,132,244,1,
114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, 114 129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237,252,
115 233,252,233,244,2,248,65,255,129,252,248,239,15,130,244,60,129,122,253,4, 115 233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252,233,
116 239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,15, 116 244,2,248,65,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,
117 133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, 117 139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,15,133,244,60,139,66,
118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, 118 8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252,
119 137,171,233,137,133,233,248,1,252,233,244,63,248,66,129,252,248,239,15,130, 119 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,
120 244,60,129,122,253,4,239,15,133,244,60,137,213,68,141,66,8,139,18,139,76, 120 133,233,248,1,252,233,244,63,248,66,129,252,248,239,15,130,244,60,129,122,
121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, 121 253,4,239,15,133,244,60,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,
122 252,233,244,63,248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255, 122 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,63,
123 15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60, 123 248,67,255,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,
124 255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129, 124 247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,255,252,242,
125 252,248,239,15,130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249, 125 15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,252,248,239,
126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122, 126 15,130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
127 253,4,239,15,135,244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233, 127 2,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,253,4,239,
128 255,15,130,244,247,232,244,72,248,1,139,108,36,96,137,149,233,137,116,36, 128 15,135,244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,255,15,130,
129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, 129 244,247,232,244,72,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,
130 244,2,248,73,129,252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253, 130 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,73,
131 4,239,15,133,244,60,139,108,36,96,137,149,233,137,149,233,139,114,252,252, 131 129,252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,4,239,15,133,
132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133, 132 244,60,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,
133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2, 133 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,
134 248,74,184,237,255,252,233,244,75,248,2,199,66,12,237,252,233,244,1,248,3, 134 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,74,184,
135 199,66,252,252,237,252,233,244,63,248,76,129,252,248,239,15,130,244,60,139, 135 237,255,252,233,244,75,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,
136 42,129,122,253,4,239,15,133,244,60,255,131,189,233,0,15,133,244,60,255,139, 136 252,237,252,233,244,63,248,76,129,252,248,239,15,130,244,60,139,42,129,122,
137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, 137 253,4,239,15,133,244,60,255,131,189,233,0,15,133,244,60,255,139,106,252,248,
138 199,66,12,237,184,237,252,233,244,75,248,77,129,252,248,239,15,130,244,60, 138 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,
139 129,122,253,4,239,15,133,244,60,129,122,253,12,239,255,139,114,252,252,255, 139 184,237,252,233,244,75,248,77,129,252,248,239,15,130,244,60,129,122,253,4,
140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66, 140 239,15,133,244,60,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,
141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252, 141 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,
142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133, 142 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,
143 233,248,1,129,120,253,4,239,15,132,244,78,72,139,40,72,137,42,252,233,244, 143 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
144 74,248,2,131,189,233,0,15,132,244,78,137,252,233,137,213,137,194,232,251, 144 120,253,4,239,15,132,244,78,72,139,40,72,137,42,252,233,244,74,248,2,131,
145 1,14,137,252,234,133,192,15,133,244,1,248,78,184,237,252,233,244,75,248,79, 145 189,233,0,15,132,244,78,137,252,233,137,213,137,194,232,251,1,14,137,252,
146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66, 146 234,133,192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,255,139,106,
147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66, 147 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,
148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,75,248,80,129,252,248, 148 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,
149 239,15,130,244,60,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252, 149 238,221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,239,15,130,244,
150 237,235,131,229,1,1,252,238,252,233,244,28,248,81,129,252,248,239,15,130, 150 60,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,
151 244,60,129,122,253,12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4, 151 1,1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,244,60,129,122,253,
152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233, 152 12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
153 244,1,248,82,129,252,248,239,15,130,244,60,139,42,139,114,252,252,137,116, 153 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,82,129,252,
154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,60,72,131,189,233,0,15, 154 248,239,15,130,244,60,139,42,139,114,252,252,137,116,36,100,137,108,36,80,
155 133,244,60,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,255,59, 155 129,122,253,4,239,15,133,244,60,72,131,189,233,0,15,133,244,60,128,189,233,
156 141,233,15,132,244,60,248,1,141,116,193,252,240,59,181,233,15,135,244,60, 156 235,15,135,244,60,139,141,233,15,132,244,247,255,59,141,233,15,132,244,60,
157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232, 157 248,1,141,116,193,252,240,59,181,233,15,135,244,60,137,181,233,139,108,36,
158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131, 158 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,
159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131, 159 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,
160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, 160 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,
161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, 161 36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,
162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205, 162 142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,
163 248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70, 163 193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,
164 2,199,66,252,252,237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248, 164 72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,
165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14, 165 237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248,252,255,252,255,
166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72, 166 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137, 167 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,
168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,83,139,106, 168 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,
169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189, 169 1,0,139,116,36,80,139,149,233,252,233,244,4,248,83,139,106,252,248,139,173,
170 233,0,15,133,244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132, 170 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133,
171 244,247,59,141,233,15,132,244,60,248,1,141,116,193,252,248,59,181,233,15, 171 244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,59,141,
172 135,244,60,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194, 172 233,15,132,244,60,248,1,141,116,193,252,248,59,181,233,15,135,244,60,137,
173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137, 173 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252,
174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232, 174 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252,
175 244,25,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248, 175 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,
176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 176 237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,
177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255, 177 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,
178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133, 178 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,
179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198, 179 5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,
180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1, 180 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,
181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 181 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137,
182 116,36,80,139,149,233,252,233,244,4,248,84,139,108,36,96,72,252,247,133,233, 182 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252,
183 237,15,132,244,60,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, 183 233,244,4,248,84,139,108,36,96,72,252,247,133,233,237,15,132,244,60,255,137,
184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,68,255,248,70,139, 184 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,
185 114,252,252,221,90,252,248,252,233,244,63,255,248,85,129,252,248,239,15,130, 185 133,233,252,233,244,16,255,248,68,255,248,70,139,114,252,252,221,90,252,248,
186 244,60,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244, 186 252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4,
187 68,252,247,221,15,136,244,247,248,86,248,68,139,114,252,252,199,66,252,252, 187 239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136,
188 237,137,106,252,248,252,233,244,63,248,1,139,114,252,252,199,66,252,252,0, 188 244,247,248,86,248,68,139,114,252,252,199,66,252,252,237,137,106,252,248,
189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129, 189 252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
190 122,253,4,239,15,131,244,60,255,252,242,15,16,2,72,184,237,237,102,72,15, 190 248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131,
191 110,200,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221, 191 244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,
192 2,217,225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237, 192 69,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,69,248,
193 248,75,137,68,36,84,248,61,252,247,198,237,15,133,244,253,248,5,56,70,252, 193 70,139,114,252,252,221,90,252,248,255,248,63,184,237,248,75,137,68,36,84,
194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182, 194 248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,
195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252, 195 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,
196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255, 196 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,
197 252,255,252,233,244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42, 197 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,
198 252,233,244,68,248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252, 198 244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,68,
199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15, 199 248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,45,232,
200 46,193,15,138,244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252, 200 129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,15,138,
201 242,15,16,2,232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15, 201 244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,242,15,16,2,
202 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69, 202 232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,130,244,60,
203 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 203 129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,255,248,91,
204 221,2,217,252,250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60, 204 129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,
205 129,122,253,4,239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244, 205 250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,129,122,253,4,
206 70,248,93,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217, 206 239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,70,248,93,129,
207 252,236,221,2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130, 207 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,236,221,
208 244,60,129,122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248, 208 2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,244,60,129,
209 96,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217, 209 122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,96,129,252,
210 252,254,252,233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253, 210 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,254,252,
211 4,239,15,131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239, 211 233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,
212 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252, 212 131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,15,130,
213 233,244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15, 213 244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,233,
214 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243, 214 244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,131,
215 252,233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 215 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
216 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, 216 233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
217 252,243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253, 217 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
218 4,239,15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248, 218 243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,4,239,
219 102,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242, 219 15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,102,129,
220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,103,129,
221 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2, 220 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,
222 255,137,213,232,251,1,17,137,252,234,252,233,244,69,255,248,104,129,252,248, 221 255,137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,103,129,252,248,
223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137, 222 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,
224 213,232,251,1,18,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248, 223 213,232,251,1,17,137,252,234,252,233,244,69,255,248,104,129,252,248,239,15,
225 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106, 224 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,213,232,
226 252,248,252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239, 225 251,1,18,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,239,15,
227 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141, 226 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248,
228 233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253, 227 252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,
229 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252, 228 60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252,
230 243,252,233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239, 229 233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
231 15,131,244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252, 230 131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252,
232 253,221,217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106, 231 233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
233 4,129,252,253,239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137, 232 244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221,
234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132, 233 217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252,
235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252, 234 253,239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,66,252,248,
236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139, 235 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252, 236 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3, 237 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252,
239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252, 238 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,
240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15, 239 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15,
241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 240 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,
241 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,
242 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252, 243 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252,
243 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255, 244 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,
244 248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221, 245 248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,
@@ -1214,627 +1215,628 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1214 } 1215 }
1215 dasm_put(Dst, 1829, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1216 dasm_put(Dst, 1829, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1216 dasm_put(Dst, 1908, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1217 dasm_put(Dst, 1908, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1217 dasm_put(Dst, 1965, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 1218 dasm_put(Dst, 1965, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1218 dasm_put(Dst, 2033, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); 1219 dasm_put(Dst, 2031, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1219 dasm_put(Dst, 2102, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1220 dasm_put(Dst, 2101, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
1221 dasm_put(Dst, 2190, 1+1, LJ_TISNUM);
1220 if (LJ_DUALNUM) { 1222 if (LJ_DUALNUM) {
1221 dasm_put(Dst, 2187);
1222 } else {
1223 dasm_put(Dst, 2204); 1223 dasm_put(Dst, 2204);
1224 } else {
1225 dasm_put(Dst, 2221);
1224 } 1226 }
1225 if (sse) { 1227 if (sse) {
1226 dasm_put(Dst, 2209); 1228 dasm_put(Dst, 2226);
1227 } else { 1229 } else {
1228 dasm_put(Dst, 2219); 1230 dasm_put(Dst, 2236);
1229 } 1231 }
1230 dasm_put(Dst, 2226, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1232 dasm_put(Dst, 2243, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1231 dasm_put(Dst, 2292, Dt1(->base)); 1233 dasm_put(Dst, 2309, Dt1(->base));
1232 if (LJ_DUALNUM) { 1234 if (LJ_DUALNUM) {
1233 dasm_put(Dst, 2316); 1235 dasm_put(Dst, 2333);
1234 } else { 1236 } else {
1235 dasm_put(Dst, 2321); 1237 dasm_put(Dst, 2338);
1236 } 1238 }
1237 dasm_put(Dst, 2326, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1239 dasm_put(Dst, 2343, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1238 dasm_put(Dst, 2419, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1240 dasm_put(Dst, 2436, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1239#ifdef LUAJIT_ENABLE_LUA52COMPAT 1241#ifdef LUAJIT_ENABLE_LUA52COMPAT
1240 dasm_put(Dst, 2466, Dt6(->metatable)); 1242 dasm_put(Dst, 2483, Dt6(->metatable));
1241#endif 1243#endif
1242 dasm_put(Dst, 2475, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1244 dasm_put(Dst, 2492, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1243 if (LJ_DUALNUM) { 1245 if (LJ_DUALNUM) {
1244 dasm_put(Dst, 2461); 1246 dasm_put(Dst, 2478);
1245 } else { 1247 } else {
1246 dasm_put(Dst, 2204); 1248 dasm_put(Dst, 2221);
1247 } 1249 }
1248 dasm_put(Dst, 2530); 1250 dasm_put(Dst, 2547);
1249 if (LJ_DUALNUM) { 1251 if (LJ_DUALNUM) {
1250 dasm_put(Dst, 2535, LJ_TISNUM); 1252 dasm_put(Dst, 2552, LJ_TISNUM);
1251 } else if (sse) { 1253 } else if (sse) {
1252 dasm_put(Dst, 2551, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1254 dasm_put(Dst, 2568, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1253 } else { 1255 } else {
1254 } 1256 }
1255 dasm_put(Dst, 2584, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1257 dasm_put(Dst, 2601, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1256 dasm_put(Dst, 2446, 1+1, LJ_TTAB); 1258 dasm_put(Dst, 2463, 1+1, LJ_TTAB);
1257#ifdef LUAJIT_ENABLE_LUA52COMPAT 1259#ifdef LUAJIT_ENABLE_LUA52COMPAT
1258 dasm_put(Dst, 2466, Dt6(->metatable)); 1260 dasm_put(Dst, 2483, Dt6(->metatable));
1259#endif 1261#endif
1260 dasm_put(Dst, 2661, Dt8(->upvalue[0]), LJ_TFUNC); 1262 dasm_put(Dst, 2678, Dt8(->upvalue[0]), LJ_TFUNC);
1261 if (LJ_DUALNUM) { 1263 if (LJ_DUALNUM) {
1262 dasm_put(Dst, 2682, LJ_TISNUM); 1264 dasm_put(Dst, 2699, LJ_TISNUM);
1263 } else if (sse) { 1265 } else if (sse) {
1264 dasm_put(Dst, 2694); 1266 dasm_put(Dst, 2711);
1265 } else { 1267 } else {
1266 dasm_put(Dst, 2704); 1268 dasm_put(Dst, 2721);
1267 } 1269 }
1268 dasm_put(Dst, 2711, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1270 dasm_put(Dst, 2728, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1269 dasm_put(Dst, 2775, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1271 dasm_put(Dst, 2792, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1270 dasm_put(Dst, 2865, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1272 dasm_put(Dst, 2882, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1271 dasm_put(Dst, 2953, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1273 dasm_put(Dst, 2970, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1272 dasm_put(Dst, 3066, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1274 dasm_put(Dst, 3083, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1273 dasm_put(Dst, 3164, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1275 dasm_put(Dst, 3181, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1274 dasm_put(Dst, 3231, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1276 dasm_put(Dst, 3248, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1275 dasm_put(Dst, 3319, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1277 dasm_put(Dst, 3336, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1276 dasm_put(Dst, 3431, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1278 dasm_put(Dst, 3448, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1277 if (!LJ_DUALNUM) { 1279 if (!LJ_DUALNUM) {
1278 dasm_put(Dst, 3458); 1280 dasm_put(Dst, 3475);
1279 } 1281 }
1280 if (sse) { 1282 if (sse) {
1281 dasm_put(Dst, 3461); 1283 dasm_put(Dst, 3478);
1282 } 1284 }
1283 dasm_put(Dst, 3476, 1+1); 1285 dasm_put(Dst, 3493, 1+1);
1284 if (LJ_DUALNUM) { 1286 if (LJ_DUALNUM) {
1285 dasm_put(Dst, 3487, LJ_TISNUM, LJ_TISNUM); 1287 dasm_put(Dst, 3504, LJ_TISNUM, LJ_TISNUM);
1286 } else { 1288 } else {
1287 dasm_put(Dst, 3567, LJ_TISNUM); 1289 dasm_put(Dst, 3584, LJ_TISNUM);
1288 } 1290 }
1289 if (sse) { 1291 if (sse) {
1290 dasm_put(Dst, 3577, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1292 dasm_put(Dst, 3594, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1291 } else { 1293 } else {
1292 dasm_put(Dst, 3608); 1294 dasm_put(Dst, 3625);
1293 } 1295 }
1294 dasm_put(Dst, 3625, 1+1, FRAME_TYPE, LJ_TNIL); 1296 dasm_put(Dst, 3642, 1+1, FRAME_TYPE, LJ_TNIL);
1295 if (LJ_DUALNUM) { 1297 if (LJ_DUALNUM) {
1296 dasm_put(Dst, 3721, LJ_TISNUM); 1298 dasm_put(Dst, 3738, LJ_TISNUM);
1297 } else { 1299 } else {
1298 dasm_put(Dst, 3567, LJ_TISNUM); 1300 dasm_put(Dst, 3584, LJ_TISNUM);
1299 } 1301 }
1300 if (sse) { 1302 if (sse) {
1301 dasm_put(Dst, 3743); 1303 dasm_put(Dst, 3760);
1302 if (LJ_DUALNUM) { 1304 if (LJ_DUALNUM) {
1303 dasm_put(Dst, 3752); 1305 dasm_put(Dst, 3769);
1304 } 1306 }
1305 dasm_put(Dst, 2214); 1307 dasm_put(Dst, 2231);
1306 } else { 1308 } else {
1307 dasm_put(Dst, 3786); 1309 dasm_put(Dst, 3803);
1308 if (LJ_DUALNUM) { 1310 if (LJ_DUALNUM) {
1309 } else { 1311 } else {
1310 dasm_put(Dst, 2221); 1312 dasm_put(Dst, 2238);
1311 } 1313 }
1312 } 1314 }
1313 dasm_put(Dst, 3792); 1315 dasm_put(Dst, 3809);
1314 if (LJ_DUALNUM) { 1316 if (LJ_DUALNUM) {
1315 dasm_put(Dst, 3721, LJ_TISNUM); 1317 dasm_put(Dst, 3738, LJ_TISNUM);
1316 } else { 1318 } else {
1317 dasm_put(Dst, 3567, LJ_TISNUM); 1319 dasm_put(Dst, 3584, LJ_TISNUM);
1318 } 1320 }
1319 if (sse) { 1321 if (sse) {
1320 dasm_put(Dst, 3795); 1322 dasm_put(Dst, 3812);
1321 if (LJ_DUALNUM) { 1323 if (LJ_DUALNUM) {
1322 dasm_put(Dst, 3752); 1324 dasm_put(Dst, 3769);
1323 } 1325 }
1324 dasm_put(Dst, 2214); 1326 dasm_put(Dst, 2231);
1325 } else { 1327 } else {
1326 dasm_put(Dst, 3804); 1328 dasm_put(Dst, 3821);
1327 if (LJ_DUALNUM) { 1329 if (LJ_DUALNUM) {
1328 } else { 1330 } else {
1329 dasm_put(Dst, 2221); 1331 dasm_put(Dst, 2238);
1330 } 1332 }
1331 } 1333 }
1332 if (sse) { 1334 if (sse) {
1333 dasm_put(Dst, 3810, 1+1, LJ_TISNUM); 1335 dasm_put(Dst, 3827, 1+1, LJ_TISNUM);
1334 } else { 1336 } else {
1335 dasm_put(Dst, 3839, 1+1, LJ_TISNUM); 1337 dasm_put(Dst, 3856, 1+1, LJ_TISNUM);
1336 } 1338 }
1337 dasm_put(Dst, 3868, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1339 dasm_put(Dst, 3885, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1338 dasm_put(Dst, 3937, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1340 dasm_put(Dst, 3954, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1339 dasm_put(Dst, 3994, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1341 dasm_put(Dst, 4011, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1340 dasm_put(Dst, 4057, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1342 dasm_put(Dst, 4074, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1341 dasm_put(Dst, 4147); 1343 dasm_put(Dst, 4164);
1342 if (sse) { 1344 if (sse) {
1343 dasm_put(Dst, 4159, 1+1, LJ_TISNUM); 1345 dasm_put(Dst, 4176, 1+1, LJ_TISNUM);
1344 } else { 1346 } else {
1345 } 1347 }
1346 dasm_put(Dst, 4184); 1348 dasm_put(Dst, 4201);
1347 if (sse) { 1349 if (sse) {
1348 dasm_put(Dst, 4198, 1+1, LJ_TISNUM); 1350 dasm_put(Dst, 4215, 1+1, LJ_TISNUM);
1349 } else { 1351 } else {
1350 } 1352 }
1351 dasm_put(Dst, 4223); 1353 dasm_put(Dst, 4240);
1352 if (sse) { 1354 if (sse) {
1353 dasm_put(Dst, 4237, 1+1, LJ_TISNUM); 1355 dasm_put(Dst, 4254, 1+1, LJ_TISNUM);
1354 } else { 1356 } else {
1355 } 1357 }
1356 dasm_put(Dst, 4262); 1358 dasm_put(Dst, 4279);
1357 if (sse) { 1359 if (sse) {
1358 dasm_put(Dst, 4278, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1360 dasm_put(Dst, 4295, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1359 } else { 1361 } else {
1360 dasm_put(Dst, 4317, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1362 dasm_put(Dst, 4334, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1361 } 1363 }
1362 dasm_put(Dst, 4350, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1364 dasm_put(Dst, 4367, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1363 dasm_put(Dst, 4415, 1+1, LJ_TISNUM); 1365 dasm_put(Dst, 4432, 1+1, LJ_TISNUM);
1364 if (sse) { 1366 if (sse) {
1365 dasm_put(Dst, 4514); 1367 dasm_put(Dst, 4531);
1366 } else { 1368 } else {
1367 dasm_put(Dst, 4520); 1369 dasm_put(Dst, 4537);
1368 } 1370 }
1369 dasm_put(Dst, 4529); 1371 dasm_put(Dst, 4546);
1370 if (sse) { 1372 if (sse) {
1371 dasm_put(Dst, 4554); 1373 dasm_put(Dst, 4571);
1372 } else { 1374 } else {
1373 dasm_put(Dst, 4560); 1375 dasm_put(Dst, 4577);
1374 } 1376 }
1375 dasm_put(Dst, 4563, 1+2); 1377 dasm_put(Dst, 4580, 1+2);
1376 if (sse) { 1378 if (sse) {
1377 dasm_put(Dst, 4572); 1379 dasm_put(Dst, 4589);
1378 } else { 1380 } else {
1379 dasm_put(Dst, 4580); 1381 dasm_put(Dst, 4597);
1380 } 1382 }
1381 dasm_put(Dst, 4588); 1383 dasm_put(Dst, 4605);
1382 if (sse) { 1384 if (sse) {
1383 dasm_put(Dst, 4591, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1385 dasm_put(Dst, 4608, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1384 } else { 1386 } else {
1385 dasm_put(Dst, 4618); 1387 dasm_put(Dst, 4635);
1386 } 1388 }
1387 dasm_put(Dst, 4637); 1389 dasm_put(Dst, 4654);
1388 if (sse) { 1390 if (sse) {
1389 dasm_put(Dst, 4653, 1+1, LJ_TISNUM); 1391 dasm_put(Dst, 4670, 1+1, LJ_TISNUM);
1390 } else { 1392 } else {
1391 dasm_put(Dst, 4678, 1+1, LJ_TISNUM); 1393 dasm_put(Dst, 4695, 1+1, LJ_TISNUM);
1392 } 1394 }
1393 dasm_put(Dst, 4700); 1395 dasm_put(Dst, 4717);
1394 if (sse) { 1396 if (sse) {
1395 dasm_put(Dst, 4722); 1397 dasm_put(Dst, 4739);
1396 } else { 1398 } else {
1397 dasm_put(Dst, 4748); 1399 dasm_put(Dst, 4765);
1398 } 1400 }
1399 dasm_put(Dst, 4765, 1+2); 1401 dasm_put(Dst, 4782, 1+2);
1400 if (sse) { 1402 if (sse) {
1401 dasm_put(Dst, 4805); 1403 dasm_put(Dst, 4822);
1402 } else { 1404 } else {
1403 dasm_put(Dst, 4813); 1405 dasm_put(Dst, 4830);
1404 } 1406 }
1405 dasm_put(Dst, 4823, 2+1, LJ_TISNUM, LJ_TISNUM); 1407 dasm_put(Dst, 4840, 2+1, LJ_TISNUM, LJ_TISNUM);
1406 if (sse) { 1408 if (sse) {
1407 dasm_put(Dst, 4875, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 4892, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } else { 1410 } else {
1409 dasm_put(Dst, 4922, 2+1, LJ_TISNUM, LJ_TISNUM); 1411 dasm_put(Dst, 4939, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 } 1412 }
1411 dasm_put(Dst, 4963, LJ_TISNUM); 1413 dasm_put(Dst, 4980, LJ_TISNUM);
1412 if (LJ_DUALNUM) { 1414 if (LJ_DUALNUM) {
1413 dasm_put(Dst, 4976, LJ_TISNUM); 1415 dasm_put(Dst, 4993, LJ_TISNUM);
1414 if (sse) { 1416 if (sse) {
1415 dasm_put(Dst, 4514); 1417 dasm_put(Dst, 4531);
1416 } else { 1418 } else {
1417 } 1419 }
1418 dasm_put(Dst, 5026); 1420 dasm_put(Dst, 5043);
1419 } else { 1421 } else {
1420 dasm_put(Dst, 2204); 1422 dasm_put(Dst, 2221);
1421 } 1423 }
1422 if (sse) { 1424 if (sse) {
1423 dasm_put(Dst, 5037, LJ_TISNUM); 1425 dasm_put(Dst, 5054, LJ_TISNUM);
1424 if (LJ_DUALNUM) { 1426 if (LJ_DUALNUM) {
1425 dasm_put(Dst, 5058); 1427 dasm_put(Dst, 5075);
1426 } else { 1428 } else {
1427 dasm_put(Dst, 2204); 1429 dasm_put(Dst, 2221);
1428 } 1430 }
1429 dasm_put(Dst, 5079); 1431 dasm_put(Dst, 5096);
1430 } else { 1432 } else {
1431 } 1433 }
1432 dasm_put(Dst, 5104, LJ_TISNUM); 1434 dasm_put(Dst, 5121, LJ_TISNUM);
1433 if (LJ_DUALNUM) { 1435 if (LJ_DUALNUM) {
1434 dasm_put(Dst, 5117, LJ_TISNUM); 1436 dasm_put(Dst, 5134, LJ_TISNUM);
1435 if (sse) { 1437 if (sse) {
1436 dasm_put(Dst, 4514); 1438 dasm_put(Dst, 4531);
1437 } else { 1439 } else {
1438 } 1440 }
1439 dasm_put(Dst, 5026); 1441 dasm_put(Dst, 5043);
1440 } else { 1442 } else {
1441 dasm_put(Dst, 2204); 1443 dasm_put(Dst, 2221);
1442 } 1444 }
1443 if (sse) { 1445 if (sse) {
1444 dasm_put(Dst, 5037, LJ_TISNUM); 1446 dasm_put(Dst, 5054, LJ_TISNUM);
1445 if (LJ_DUALNUM) { 1447 if (LJ_DUALNUM) {
1446 dasm_put(Dst, 5058); 1448 dasm_put(Dst, 5075);
1447 } else { 1449 } else {
1448 dasm_put(Dst, 2204); 1450 dasm_put(Dst, 2221);
1449 } 1451 }
1450 dasm_put(Dst, 5167); 1452 dasm_put(Dst, 5184);
1451 } else { 1453 } else {
1452 } 1454 }
1453 if (!sse) { 1455 if (!sse) {
1454 dasm_put(Dst, 5192); 1456 dasm_put(Dst, 5209);
1455 } 1457 }
1456 dasm_put(Dst, 5201, 1+1, LJ_TSTR); 1458 dasm_put(Dst, 5218, 1+1, LJ_TSTR);
1457 if (LJ_DUALNUM) { 1459 if (LJ_DUALNUM) {
1458 dasm_put(Dst, 5223, Dt5(->len)); 1460 dasm_put(Dst, 5240, Dt5(->len));
1459 } else if (sse) { 1461 } else if (sse) {
1460 dasm_put(Dst, 5231, Dt5(->len)); 1462 dasm_put(Dst, 5248, Dt5(->len));
1461 } else { 1463 } else {
1462 dasm_put(Dst, 5242, Dt5(->len)); 1464 dasm_put(Dst, 5259, Dt5(->len));
1463 } 1465 }
1464 dasm_put(Dst, 5250, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1466 dasm_put(Dst, 5267, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1465 if (LJ_DUALNUM) { 1467 if (LJ_DUALNUM) {
1466 dasm_put(Dst, 5226); 1468 dasm_put(Dst, 5243);
1467 } else if (sse) { 1469 } else if (sse) {
1468 dasm_put(Dst, 5288); 1470 dasm_put(Dst, 5305);
1469 } else { 1471 } else {
1470 dasm_put(Dst, 5298); 1472 dasm_put(Dst, 5315);
1471 } 1473 }
1472 dasm_put(Dst, 5311, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1474 dasm_put(Dst, 5328, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1473 if (LJ_DUALNUM) { 1475 if (LJ_DUALNUM) {
1474 dasm_put(Dst, 5342); 1476 dasm_put(Dst, 5359);
1475 } else if (sse) { 1477 } else if (sse) {
1476 dasm_put(Dst, 5365); 1478 dasm_put(Dst, 5382);
1477 } else { 1479 } else {
1478 dasm_put(Dst, 5391); 1480 dasm_put(Dst, 5408);
1479 } 1481 }
1480 dasm_put(Dst, 5415, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1482 dasm_put(Dst, 5432, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1481 if (LJ_DUALNUM) { 1483 if (LJ_DUALNUM) {
1482 dasm_put(Dst, 5523); 1484 dasm_put(Dst, 5540);
1483 } else if (sse) { 1485 } else if (sse) {
1484 dasm_put(Dst, 5535); 1486 dasm_put(Dst, 5552);
1485 } else { 1487 } else {
1486 dasm_put(Dst, 5550); 1488 dasm_put(Dst, 5567);
1487 } 1489 }
1488 dasm_put(Dst, 5562, LJ_TSTR, LJ_TISNUM); 1490 dasm_put(Dst, 5579, LJ_TSTR, LJ_TISNUM);
1489 if (LJ_DUALNUM) { 1491 if (LJ_DUALNUM) {
1490 dasm_put(Dst, 2461); 1492 dasm_put(Dst, 2478);
1491 } else { 1493 } else {
1492 dasm_put(Dst, 2204); 1494 dasm_put(Dst, 2221);
1493 } 1495 }
1494 dasm_put(Dst, 5579, Dt5(->len)); 1496 dasm_put(Dst, 5596, Dt5(->len));
1495 if (LJ_DUALNUM) { 1497 if (LJ_DUALNUM) {
1496 dasm_put(Dst, 5589); 1498 dasm_put(Dst, 5606);
1497 } else if (sse) { 1499 } else if (sse) {
1498 dasm_put(Dst, 5593); 1500 dasm_put(Dst, 5610);
1499 } else { 1501 } else {
1500 } 1502 }
1501 dasm_put(Dst, 5600, sizeof(GCstr)-1); 1503 dasm_put(Dst, 5617, sizeof(GCstr)-1);
1502 dasm_put(Dst, 5675, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1504 dasm_put(Dst, 5692, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1503 dasm_put(Dst, 5734, LJ_TSTR, LJ_TISNUM); 1505 dasm_put(Dst, 5751, LJ_TSTR, LJ_TISNUM);
1504 if (LJ_DUALNUM) { 1506 if (LJ_DUALNUM) {
1505 dasm_put(Dst, 5751); 1507 dasm_put(Dst, 5768);
1506 } else if (sse) { 1508 } else if (sse) {
1507 dasm_put(Dst, 5759); 1509 dasm_put(Dst, 5776);
1508 } else { 1510 } else {
1509 dasm_put(Dst, 5770); 1511 dasm_put(Dst, 5787);
1510 } 1512 }
1511 dasm_put(Dst, 5786, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1513 dasm_put(Dst, 5803, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1512 dasm_put(Dst, 5851, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1514 dasm_put(Dst, 5868, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1513 dasm_put(Dst, 5914, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1515 dasm_put(Dst, 5931, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1514 dasm_put(Dst, 5985, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1516 dasm_put(Dst, 6002, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1515 dasm_put(Dst, 6070, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1517 dasm_put(Dst, 6087, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1516 dasm_put(Dst, 6140, 1+1, LJ_TTAB); 1518 dasm_put(Dst, 6157, 1+1, LJ_TTAB);
1517 if (LJ_DUALNUM) { 1519 if (LJ_DUALNUM) {
1518 dasm_put(Dst, 6208); 1520 dasm_put(Dst, 6225);
1519 } else if (sse) { 1521 } else if (sse) {
1520 dasm_put(Dst, 6215); 1522 dasm_put(Dst, 6232);
1521 } else { 1523 } else {
1522 } 1524 }
1523 dasm_put(Dst, 6225, LJ_TISNUM); 1525 dasm_put(Dst, 6242, LJ_TISNUM);
1524 if (LJ_DUALNUM) { 1526 if (LJ_DUALNUM) {
1525 dasm_put(Dst, 6233); 1527 dasm_put(Dst, 6250);
1526 } else { 1528 } else {
1527 dasm_put(Dst, 2204); 1529 dasm_put(Dst, 2221);
1528 } 1530 }
1529 if (sse) { 1531 if (sse) {
1530 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1532 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1531 } else { 1533 } else {
1532 } 1534 }
1533 dasm_put(Dst, 106); 1535 dasm_put(Dst, 106);
1534 if (LJ_DUALNUM || sse) { 1536 if (LJ_DUALNUM || sse) {
1535 if (!sse) { 1537 if (!sse) {
1536 } 1538 }
1537 dasm_put(Dst, 6274); 1539 dasm_put(Dst, 6291);
1538 } else { 1540 } else {
1539 } 1541 }
1540 dasm_put(Dst, 6279); 1542 dasm_put(Dst, 6296);
1541 if (sse) { 1543 if (sse) {
1542 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1544 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1543 } else { 1545 } else {
1544 dasm_put(Dst, 6292); 1546 dasm_put(Dst, 6309);
1545 } 1547 }
1546 dasm_put(Dst, 2181, LJ_TISNUM); 1548 dasm_put(Dst, 2198, LJ_TISNUM);
1547 if (LJ_DUALNUM) { 1549 if (LJ_DUALNUM) {
1548 dasm_put(Dst, 6301); 1550 dasm_put(Dst, 6318);
1549 } else { 1551 } else {
1550 dasm_put(Dst, 2204); 1552 dasm_put(Dst, 2221);
1551 } 1553 }
1552 if (sse) { 1554 if (sse) {
1553 dasm_put(Dst, 6318); 1555 dasm_put(Dst, 6335);
1554 } else { 1556 } else {
1555 } 1557 }
1556 dasm_put(Dst, 6333, LJ_TISNUM); 1558 dasm_put(Dst, 6350, LJ_TISNUM);
1557 if (LJ_DUALNUM) { 1559 if (LJ_DUALNUM) {
1558 dasm_put(Dst, 6358); 1560 dasm_put(Dst, 6375);
1559 } else { 1561 } else {
1560 dasm_put(Dst, 6378); 1562 dasm_put(Dst, 6395);
1561 } 1563 }
1562 if (sse) { 1564 if (sse) {
1563 dasm_put(Dst, 6383); 1565 dasm_put(Dst, 6400);
1564 } else { 1566 } else {
1565 } 1567 }
1566 dasm_put(Dst, 6400); 1568 dasm_put(Dst, 6417);
1567 if (sse) { 1569 if (sse) {
1568 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1570 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1569 } else { 1571 } else {
1570 dasm_put(Dst, 6292); 1572 dasm_put(Dst, 6309);
1571 } 1573 }
1572 dasm_put(Dst, 2181, LJ_TISNUM); 1574 dasm_put(Dst, 2198, LJ_TISNUM);
1573 if (LJ_DUALNUM) { 1575 if (LJ_DUALNUM) {
1574 dasm_put(Dst, 6301); 1576 dasm_put(Dst, 6318);
1575 } else { 1577 } else {
1576 dasm_put(Dst, 2204); 1578 dasm_put(Dst, 2221);
1577 } 1579 }
1578 if (sse) { 1580 if (sse) {
1579 dasm_put(Dst, 6318); 1581 dasm_put(Dst, 6335);
1580 } else { 1582 } else {
1581 } 1583 }
1582 dasm_put(Dst, 6333, LJ_TISNUM); 1584 dasm_put(Dst, 6350, LJ_TISNUM);
1583 if (LJ_DUALNUM) { 1585 if (LJ_DUALNUM) {
1584 dasm_put(Dst, 6410); 1586 dasm_put(Dst, 6427);
1585 } else { 1587 } else {
1586 dasm_put(Dst, 6378); 1588 dasm_put(Dst, 6395);
1587 } 1589 }
1588 if (sse) { 1590 if (sse) {
1589 dasm_put(Dst, 6430); 1591 dasm_put(Dst, 6447);
1590 } else { 1592 } else {
1591 } 1593 }
1592 dasm_put(Dst, 6447); 1594 dasm_put(Dst, 6464);
1593 if (sse) { 1595 if (sse) {
1594 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1596 dasm_put(Dst, 6299, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1595 } else { 1597 } else {
1596 dasm_put(Dst, 6292); 1598 dasm_put(Dst, 6309);
1597 } 1599 }
1598 dasm_put(Dst, 2181, LJ_TISNUM); 1600 dasm_put(Dst, 2198, LJ_TISNUM);
1599 if (LJ_DUALNUM) { 1601 if (LJ_DUALNUM) {
1600 dasm_put(Dst, 6301); 1602 dasm_put(Dst, 6318);
1601 } else { 1603 } else {
1602 dasm_put(Dst, 2204); 1604 dasm_put(Dst, 2221);
1603 } 1605 }
1604 if (sse) { 1606 if (sse) {
1605 dasm_put(Dst, 6318); 1607 dasm_put(Dst, 6335);
1606 } else { 1608 } else {
1607 } 1609 }
1608 dasm_put(Dst, 6333, LJ_TISNUM); 1610 dasm_put(Dst, 6350, LJ_TISNUM);
1609 if (LJ_DUALNUM) { 1611 if (LJ_DUALNUM) {
1610 dasm_put(Dst, 6457); 1612 dasm_put(Dst, 6474);
1611 } else { 1613 } else {
1612 dasm_put(Dst, 6378); 1614 dasm_put(Dst, 6395);
1613 } 1615 }
1614 if (sse) { 1616 if (sse) {
1615 dasm_put(Dst, 6477); 1617 dasm_put(Dst, 6494);
1616 } else { 1618 } else {
1617 } 1619 }
1618 dasm_put(Dst, 6494, LJ_TISNUM); 1620 dasm_put(Dst, 6511, LJ_TISNUM);
1619 if (LJ_DUALNUM) { 1621 if (LJ_DUALNUM) {
1620 dasm_put(Dst, 6301); 1622 dasm_put(Dst, 6318);
1621 } else { 1623 } else {
1622 dasm_put(Dst, 2204); 1624 dasm_put(Dst, 2221);
1623 } 1625 }
1624 if (sse) { 1626 if (sse) {
1625 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1627 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1626 } else { 1628 } else {
1627 } 1629 }
1628 dasm_put(Dst, 6509, LJ_TISNUM); 1630 dasm_put(Dst, 6526, LJ_TISNUM);
1629 if (LJ_DUALNUM) { 1631 if (LJ_DUALNUM) {
1630 dasm_put(Dst, 6301); 1632 dasm_put(Dst, 6318);
1631 } else { 1633 } else {
1632 dasm_put(Dst, 2204); 1634 dasm_put(Dst, 2221);
1633 } 1635 }
1634 if (sse) { 1636 if (sse) {
1635 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1637 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1636 } else { 1638 } else {
1637 } 1639 }
1638 dasm_put(Dst, 6525); 1640 dasm_put(Dst, 6542);
1639 if (LJ_DUALNUM) { 1641 if (LJ_DUALNUM) {
1640 dasm_put(Dst, 6274); 1642 dasm_put(Dst, 6291);
1641 } else if (sse) { 1643 } else if (sse) {
1642 dasm_put(Dst, 6531); 1644 dasm_put(Dst, 6548);
1643 } else { 1645 } else {
1644 } 1646 }
1645 dasm_put(Dst, 6543); 1647 dasm_put(Dst, 6560);
1646 if (LJ_DUALNUM) { 1648 if (LJ_DUALNUM) {
1647 dasm_put(Dst, 6554, LJ_TISNUM); 1649 dasm_put(Dst, 6571, LJ_TISNUM);
1648 if (LJ_DUALNUM) { 1650 if (LJ_DUALNUM) {
1649 dasm_put(Dst, 6301); 1651 dasm_put(Dst, 6318);
1650 } else { 1652 } else {
1651 dasm_put(Dst, 2204); 1653 dasm_put(Dst, 2221);
1652 } 1654 }
1653 if (sse) { 1655 if (sse) {
1654 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1656 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1655 } else { 1657 } else {
1656 } 1658 }
1657 dasm_put(Dst, 6562, LJ_TISNUM); 1659 dasm_put(Dst, 6579, LJ_TISNUM);
1658 } else if (sse) { 1660 } else if (sse) {
1659 dasm_put(Dst, 6577, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1661 dasm_put(Dst, 6594, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1660 } else { 1662 } else {
1661 } 1663 }
1662 dasm_put(Dst, 6644); 1664 dasm_put(Dst, 6661);
1663 if (LJ_DUALNUM) { 1665 if (LJ_DUALNUM) {
1664 dasm_put(Dst, 6651, LJ_TISNUM); 1666 dasm_put(Dst, 6668, LJ_TISNUM);
1665 if (LJ_DUALNUM) { 1667 if (LJ_DUALNUM) {
1666 dasm_put(Dst, 6301); 1668 dasm_put(Dst, 6318);
1667 } else { 1669 } else {
1668 dasm_put(Dst, 2204); 1670 dasm_put(Dst, 2221);
1669 } 1671 }
1670 if (sse) { 1672 if (sse) {
1671 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1673 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1672 } else { 1674 } else {
1673 } 1675 }
1674 dasm_put(Dst, 6562, LJ_TISNUM); 1676 dasm_put(Dst, 6579, LJ_TISNUM);
1675 } else if (sse) { 1677 } else if (sse) {
1676 dasm_put(Dst, 6659, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1678 dasm_put(Dst, 6676, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1677 } else { 1679 } else {
1678 } 1680 }
1679 dasm_put(Dst, 6726); 1681 dasm_put(Dst, 6743);
1680 if (LJ_DUALNUM) { 1682 if (LJ_DUALNUM) {
1681 dasm_put(Dst, 6734, LJ_TISNUM); 1683 dasm_put(Dst, 6751, LJ_TISNUM);
1682 if (LJ_DUALNUM) { 1684 if (LJ_DUALNUM) {
1683 dasm_put(Dst, 6301); 1685 dasm_put(Dst, 6318);
1684 } else { 1686 } else {
1685 dasm_put(Dst, 2204); 1687 dasm_put(Dst, 2221);
1686 } 1688 }
1687 if (sse) { 1689 if (sse) {
1688 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1690 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1689 } else { 1691 } else {
1690 } 1692 }
1691 dasm_put(Dst, 6562, LJ_TISNUM); 1693 dasm_put(Dst, 6579, LJ_TISNUM);
1692 } else if (sse) { 1694 } else if (sse) {
1693 dasm_put(Dst, 6742, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1695 dasm_put(Dst, 6759, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1694 } else { 1696 } else {
1695 } 1697 }
1696 dasm_put(Dst, 6809); 1698 dasm_put(Dst, 6826);
1697 if (LJ_DUALNUM) { 1699 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6817, LJ_TISNUM); 1700 dasm_put(Dst, 6834, LJ_TISNUM);
1699 if (LJ_DUALNUM) { 1701 if (LJ_DUALNUM) {
1700 dasm_put(Dst, 6301); 1702 dasm_put(Dst, 6318);
1701 } else { 1703 } else {
1702 dasm_put(Dst, 2204); 1704 dasm_put(Dst, 2221);
1703 } 1705 }
1704 if (sse) { 1706 if (sse) {
1705 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1707 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1706 } else { 1708 } else {
1707 } 1709 }
1708 dasm_put(Dst, 6562, LJ_TISNUM); 1710 dasm_put(Dst, 6579, LJ_TISNUM);
1709 } else if (sse) { 1711 } else if (sse) {
1710 dasm_put(Dst, 6825, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1712 dasm_put(Dst, 6842, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1711 } else { 1713 } else {
1712 } 1714 }
1713 dasm_put(Dst, 6892); 1715 dasm_put(Dst, 6909);
1714 if (LJ_DUALNUM) { 1716 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6899, LJ_TISNUM); 1717 dasm_put(Dst, 6916, LJ_TISNUM);
1716 if (LJ_DUALNUM) { 1718 if (LJ_DUALNUM) {
1717 dasm_put(Dst, 6301); 1719 dasm_put(Dst, 6318);
1718 } else { 1720 } else {
1719 dasm_put(Dst, 2204); 1721 dasm_put(Dst, 2221);
1720 } 1722 }
1721 if (sse) { 1723 if (sse) {
1722 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1724 dasm_put(Dst, 6267, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1723 } else { 1725 } else {
1724 } 1726 }
1725 dasm_put(Dst, 6562, LJ_TISNUM); 1727 dasm_put(Dst, 6579, LJ_TISNUM);
1726 } else if (sse) { 1728 } else if (sse) {
1727 dasm_put(Dst, 6907, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1729 dasm_put(Dst, 6924, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1728 } else { 1730 } else {
1729 } 1731 }
1730 dasm_put(Dst, 6974, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1732 dasm_put(Dst, 6991, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1731 dasm_put(Dst, 7050, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1733 dasm_put(Dst, 7067, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1732 dasm_put(Dst, 7177, Dt1(->top), Dt1(->base), Dt1(->top)); 1734 dasm_put(Dst, 7194, Dt1(->top), Dt1(->base), Dt1(->top));
1733#if LJ_HASJIT 1735#if LJ_HASJIT
1734 dasm_put(Dst, 7216, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1736 dasm_put(Dst, 7233, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1735#endif 1737#endif
1736 dasm_put(Dst, 7247, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1738 dasm_put(Dst, 7264, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1737 dasm_put(Dst, 7298, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1739 dasm_put(Dst, 7315, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1738#if LJ_HASJIT 1740#if LJ_HASJIT
1739 dasm_put(Dst, 7365, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1741 dasm_put(Dst, 7382, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1740#endif 1742#endif
1741 dasm_put(Dst, 7412); 1743 dasm_put(Dst, 7429);
1742#if LJ_HASJIT 1744#if LJ_HASJIT
1743 dasm_put(Dst, 7242); 1745 dasm_put(Dst, 7259);
1744#endif 1746#endif
1745 dasm_put(Dst, 7419); 1747 dasm_put(Dst, 7436);
1746#if LJ_HASJIT 1748#if LJ_HASJIT
1747 dasm_put(Dst, 7422); 1749 dasm_put(Dst, 7439);
1748#endif 1750#endif
1749 dasm_put(Dst, 7432, Dt1(->base), Dt1(->top)); 1751 dasm_put(Dst, 7449, Dt1(->base), Dt1(->top));
1750#if LJ_HASJIT 1752#if LJ_HASJIT
1751 dasm_put(Dst, 7466); 1753 dasm_put(Dst, 7483);
1752#endif 1754#endif
1753 dasm_put(Dst, 7471, Dt1(->base), Dt1(->top)); 1755 dasm_put(Dst, 7488, Dt1(->base), Dt1(->top));
1754#if LJ_HASJIT 1756#if LJ_HASJIT
1755 dasm_put(Dst, 7502, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1757 dasm_put(Dst, 7519, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1756#endif 1758#endif
1757 dasm_put(Dst, 7732); 1759 dasm_put(Dst, 7749);
1758#if LJ_HASJIT 1760#if LJ_HASJIT
1759 dasm_put(Dst, 7735, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1761 dasm_put(Dst, 7752, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1760 dasm_put(Dst, 7877); 1762 dasm_put(Dst, 7894);
1761#endif 1763#endif
1762 dasm_put(Dst, 7903); 1764 dasm_put(Dst, 7920);
1763 if (!sse) { 1765 if (!sse) {
1764 dasm_put(Dst, 7906); 1766 dasm_put(Dst, 7923);
1765 } 1767 }
1766 dasm_put(Dst, 7951, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1768 dasm_put(Dst, 7968, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1767 if (!sse) { 1769 if (!sse) {
1768 dasm_put(Dst, 8037); 1770 dasm_put(Dst, 8054);
1769 } 1771 }
1770 dasm_put(Dst, 8082, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1772 dasm_put(Dst, 8099, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1771 if (!sse) { 1773 if (!sse) {
1772 dasm_put(Dst, 8168); 1774 dasm_put(Dst, 8185);
1773 } 1775 }
1774 dasm_put(Dst, 8207, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1776 dasm_put(Dst, 8224, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1775 if (sse) { 1777 if (sse) {
1776 dasm_put(Dst, 8296, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1778 dasm_put(Dst, 8313, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1777 } else { 1779 } else {
1778 dasm_put(Dst, 8410); 1780 dasm_put(Dst, 8427);
1779 } 1781 }
1780 dasm_put(Dst, 8457); 1782 dasm_put(Dst, 8474);
1781 if (!sse) { 1783 if (!sse) {
1782 } else { 1784 } else {
1783 dasm_put(Dst, 8531); 1785 dasm_put(Dst, 8548);
1784 } 1786 }
1785 dasm_put(Dst, 8534); 1787 dasm_put(Dst, 8551);
1786 dasm_put(Dst, 8619, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1788 dasm_put(Dst, 8636, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1787 dasm_put(Dst, 8722, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1789 dasm_put(Dst, 8739, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1788 dasm_put(Dst, 8878); 1790 dasm_put(Dst, 8895);
1789#if LJ_HASJIT 1791#if LJ_HASJIT
1790 if (sse) { 1792 if (sse) {
1791 dasm_put(Dst, 8919); 1793 dasm_put(Dst, 8936);
1792 dasm_put(Dst, 8989); 1794 dasm_put(Dst, 9006);
1793 dasm_put(Dst, 9062); 1795 dasm_put(Dst, 9079);
1794 } else { 1796 } else {
1795 dasm_put(Dst, 9112); 1797 dasm_put(Dst, 9129);
1796 dasm_put(Dst, 9204); 1798 dasm_put(Dst, 9221);
1797 } 1799 }
1798 dasm_put(Dst, 9250); 1800 dasm_put(Dst, 9267);
1799#endif 1801#endif
1800 dasm_put(Dst, 9254); 1802 dasm_put(Dst, 9271);
1801 if (sse) { 1803 if (sse) {
1802 dasm_put(Dst, 9257, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1804 dasm_put(Dst, 9274, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1803 dasm_put(Dst, 9346, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1805 dasm_put(Dst, 9363, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1804 } else { 1806 } else {
1805 dasm_put(Dst, 9470); 1807 dasm_put(Dst, 9487);
1806 dasm_put(Dst, 9553); 1808 dasm_put(Dst, 9570);
1807 if (cmov) { 1809 if (cmov) {
1808 dasm_put(Dst, 9608); 1810 dasm_put(Dst, 9625);
1809 } else { 1811 } else {
1810 dasm_put(Dst, 9627); 1812 dasm_put(Dst, 9644);
1811 } 1813 }
1812 dasm_put(Dst, 9250); 1814 dasm_put(Dst, 9267);
1813 } 1815 }
1814 dasm_put(Dst, 9668); 1816 dasm_put(Dst, 9685);
1815#if LJ_HASFFI 1817#if LJ_HASFFI
1816#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1818#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1817 dasm_put(Dst, 9696, DtE(->spadj)); 1819 dasm_put(Dst, 9713, DtE(->spadj));
1818#if LJ_TARGET_WINDOWS 1820#if LJ_TARGET_WINDOWS
1819#endif 1821#endif
1820 dasm_put(Dst, 9711, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1822 dasm_put(Dst, 9728, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1821 dasm_put(Dst, 9792, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1823 dasm_put(Dst, 9809, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1822#if LJ_TARGET_WINDOWS 1824#if LJ_TARGET_WINDOWS
1823#endif 1825#endif
1824 dasm_put(Dst, 9805); 1826 dasm_put(Dst, 9822);
1825#endif 1827#endif
1826 dasm_put(Dst, 9813); 1828 dasm_put(Dst, 9830);
1827#ifdef LUA_USE_ASSERT 1829#ifdef LUA_USE_ASSERT
1828 dasm_put(Dst, 9252); 1830 dasm_put(Dst, 9269);
1829#endif 1831#endif
1830 dasm_put(Dst, 9252); 1832 dasm_put(Dst, 9269);
1831} 1833}
1832 1834
1833/* Generate the code for a single instruction. */ 1835/* Generate the code for a single instruction. */
1834static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1836static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1835{ 1837{
1836 int vk = 0; 1838 int vk = 0;
1837 dasm_put(Dst, 9816, defop); 1839 dasm_put(Dst, 9833, defop);
1838 1840
1839 switch (op) { 1841 switch (op) {
1840 1842
@@ -1845,296 +1847,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1845 1847
1846 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1848 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1847 if (LJ_DUALNUM) { 1849 if (LJ_DUALNUM) {
1848 dasm_put(Dst, 9818, LJ_TISNUM, LJ_TISNUM); 1850 dasm_put(Dst, 9835, LJ_TISNUM, LJ_TISNUM);
1849 switch (op) { 1851 switch (op) {
1850 case BC_ISLT: 1852 case BC_ISLT:
1851 dasm_put(Dst, 9848); 1853 dasm_put(Dst, 9865);
1852 break; 1854 break;
1853 case BC_ISGE: 1855 case BC_ISGE:
1854 dasm_put(Dst, 9853); 1856 dasm_put(Dst, 9870);
1855 break; 1857 break;
1856 case BC_ISLE: 1858 case BC_ISLE:
1857 dasm_put(Dst, 9858); 1859 dasm_put(Dst, 9875);
1858 break; 1860 break;
1859 case BC_ISGT: 1861 case BC_ISGT:
1860 dasm_put(Dst, 9863); 1862 dasm_put(Dst, 9880);
1861 break; 1863 break;
1862 default: break; /* Shut up GCC. */ 1864 default: break; /* Shut up GCC. */
1863 } 1865 }
1864 dasm_put(Dst, 9868, -BCBIAS_J*4, LJ_TISNUM); 1866 dasm_put(Dst, 9885, -BCBIAS_J*4, LJ_TISNUM);
1865 if (sse) { 1867 if (sse) {
1866 dasm_put(Dst, 9922); 1868 dasm_put(Dst, 9939);
1867 } else { 1869 } else {
1868 dasm_put(Dst, 9933); 1870 dasm_put(Dst, 9950);
1869 } 1871 }
1870 dasm_put(Dst, 9944); 1872 dasm_put(Dst, 9961);
1871 if (sse) { 1873 if (sse) {
1872 dasm_put(Dst, 9951); 1874 dasm_put(Dst, 9968);
1873 switch (op) { 1875 switch (op) {
1874 case BC_ISLT: 1876 case BC_ISLT:
1875 dasm_put(Dst, 9971); 1877 dasm_put(Dst, 9988);
1876 break; 1878 break;
1877 case BC_ISGE: 1879 case BC_ISGE:
1878 dasm_put(Dst, 9976); 1880 dasm_put(Dst, 9993);
1879 break; 1881 break;
1880 case BC_ISLE: 1882 case BC_ISLE:
1881 dasm_put(Dst, 9981); 1883 dasm_put(Dst, 9998);
1882 break; 1884 break;
1883 case BC_ISGT: 1885 case BC_ISGT:
1884 dasm_put(Dst, 9986); 1886 dasm_put(Dst, 10003);
1885 break; 1887 break;
1886 default: break; /* Shut up GCC. */ 1888 default: break; /* Shut up GCC. */
1887 } 1889 }
1888 dasm_put(Dst, 9991); 1890 dasm_put(Dst, 10008);
1889 } else { 1891 } else {
1890 dasm_put(Dst, 9996); 1892 dasm_put(Dst, 10013);
1891 } 1893 }
1892 } else { 1894 } else {
1893 dasm_put(Dst, 10004, LJ_TISNUM, LJ_TISNUM); 1895 dasm_put(Dst, 10021, LJ_TISNUM, LJ_TISNUM);
1894 } 1896 }
1895 if (sse) { 1897 if (sse) {
1896 dasm_put(Dst, 10025); 1898 dasm_put(Dst, 10042);
1897 } else { 1899 } else {
1898 dasm_put(Dst, 10046); 1900 dasm_put(Dst, 10063);
1899 if (cmov) { 1901 if (cmov) {
1900 dasm_put(Dst, 10062); 1902 dasm_put(Dst, 10079);
1901 } else { 1903 } else {
1902 dasm_put(Dst, 10068); 1904 dasm_put(Dst, 10085);
1903 } 1905 }
1904 } 1906 }
1905 if (LJ_DUALNUM) { 1907 if (LJ_DUALNUM) {
1906 switch (op) { 1908 switch (op) {
1907 case BC_ISLT: 1909 case BC_ISLT:
1908 dasm_put(Dst, 9971); 1910 dasm_put(Dst, 9988);
1909 break; 1911 break;
1910 case BC_ISGE: 1912 case BC_ISGE:
1911 dasm_put(Dst, 9976); 1913 dasm_put(Dst, 9993);
1912 break; 1914 break;
1913 case BC_ISLE: 1915 case BC_ISLE:
1914 dasm_put(Dst, 9981); 1916 dasm_put(Dst, 9998);
1915 break; 1917 break;
1916 case BC_ISGT: 1918 case BC_ISGT:
1917 dasm_put(Dst, 9986); 1919 dasm_put(Dst, 10003);
1918 break; 1920 break;
1919 default: break; /* Shut up GCC. */ 1921 default: break; /* Shut up GCC. */
1920 } 1922 }
1921 dasm_put(Dst, 9991); 1923 dasm_put(Dst, 10008);
1922 } else { 1924 } else {
1923 switch (op) { 1925 switch (op) {
1924 case BC_ISLT: 1926 case BC_ISLT:
1925 dasm_put(Dst, 10075); 1927 dasm_put(Dst, 10092);
1926 break; 1928 break;
1927 case BC_ISGE: 1929 case BC_ISGE:
1928 dasm_put(Dst, 10080); 1930 dasm_put(Dst, 10097);
1929 break; 1931 break;
1930 case BC_ISLE: 1932 case BC_ISLE:
1931 dasm_put(Dst, 10085); 1933 dasm_put(Dst, 10102);
1932 break; 1934 break;
1933 case BC_ISGT: 1935 case BC_ISGT:
1934 dasm_put(Dst, 10090); 1936 dasm_put(Dst, 10107);
1935 break; 1937 break;
1936 default: break; /* Shut up GCC. */ 1938 default: break; /* Shut up GCC. */
1937 } 1939 }
1938 dasm_put(Dst, 10095, -BCBIAS_J*4); 1940 dasm_put(Dst, 10112, -BCBIAS_J*4);
1939 } 1941 }
1940 break; 1942 break;
1941 1943
1942 case BC_ISEQV: case BC_ISNEV: 1944 case BC_ISEQV: case BC_ISNEV:
1943 vk = op == BC_ISEQV; 1945 vk = op == BC_ISEQV;
1944 dasm_put(Dst, 10127); 1946 dasm_put(Dst, 10144);
1945 if (LJ_DUALNUM) { 1947 if (LJ_DUALNUM) {
1946 dasm_put(Dst, 10135, LJ_TISNUM, LJ_TISNUM); 1948 dasm_put(Dst, 10152, LJ_TISNUM, LJ_TISNUM);
1947 if (vk) { 1949 if (vk) {
1948 dasm_put(Dst, 10160); 1950 dasm_put(Dst, 10177);
1949 } else { 1951 } else {
1950 dasm_put(Dst, 10165); 1952 dasm_put(Dst, 10182);
1951 } 1953 }
1952 dasm_put(Dst, 10170, -BCBIAS_J*4, LJ_TISNUM); 1954 dasm_put(Dst, 10187, -BCBIAS_J*4, LJ_TISNUM);
1953 if (sse) { 1955 if (sse) {
1954 dasm_put(Dst, 10222); 1956 dasm_put(Dst, 10239);
1955 } else { 1957 } else {
1956 dasm_put(Dst, 10229); 1958 dasm_put(Dst, 10246);
1957 } 1959 }
1958 dasm_put(Dst, 10233); 1960 dasm_put(Dst, 10250);
1959 if (sse) { 1961 if (sse) {
1960 dasm_put(Dst, 10244); 1962 dasm_put(Dst, 10261);
1961 } else { 1963 } else {
1962 dasm_put(Dst, 10256); 1964 dasm_put(Dst, 10273);
1963 } 1965 }
1964 dasm_put(Dst, 10263); 1966 dasm_put(Dst, 10280);
1965 } else { 1967 } else {
1966 dasm_put(Dst, 10268, LJ_TISNUM, LJ_TISNUM); 1968 dasm_put(Dst, 10285, LJ_TISNUM, LJ_TISNUM);
1967 } 1969 }
1968 if (sse) { 1970 if (sse) {
1969 dasm_put(Dst, 10287); 1971 dasm_put(Dst, 10304);
1970 } else { 1972 } else {
1971 dasm_put(Dst, 10305); 1973 dasm_put(Dst, 10322);
1972 if (cmov) { 1974 if (cmov) {
1973 dasm_put(Dst, 10062); 1975 dasm_put(Dst, 10079);
1974 } else { 1976 } else {
1975 dasm_put(Dst, 10068); 1977 dasm_put(Dst, 10085);
1976 } 1978 }
1977 } 1979 }
1978 iseqne_fp: 1980 iseqne_fp:
1979 if (vk) { 1981 if (vk) {
1980 dasm_put(Dst, 10318); 1982 dasm_put(Dst, 10335);
1981 } else { 1983 } else {
1982 dasm_put(Dst, 10327); 1984 dasm_put(Dst, 10344);
1983 } 1985 }
1984 iseqne_end: 1986 iseqne_end:
1985 if (vk) { 1987 if (vk) {
1986 dasm_put(Dst, 10336, -BCBIAS_J*4); 1988 dasm_put(Dst, 10353, -BCBIAS_J*4);
1987 if (!LJ_HASFFI) { 1989 if (!LJ_HASFFI) {
1988 dasm_put(Dst, 4569); 1990 dasm_put(Dst, 4586);
1989 } 1991 }
1990 } else { 1992 } else {
1991 if (!LJ_HASFFI) { 1993 if (!LJ_HASFFI) {
1992 dasm_put(Dst, 4569); 1994 dasm_put(Dst, 4586);
1993 } 1995 }
1994 dasm_put(Dst, 10351, -BCBIAS_J*4); 1996 dasm_put(Dst, 10368, -BCBIAS_J*4);
1995 } 1997 }
1996 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 1998 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1997 op == BC_ISEQN || op == BC_ISNEN)) { 1999 op == BC_ISEQN || op == BC_ISNEN)) {
1998 dasm_put(Dst, 10366); 2000 dasm_put(Dst, 10383);
1999 } else { 2001 } else {
2000 dasm_put(Dst, 10107); 2002 dasm_put(Dst, 10124);
2001 } 2003 }
2002 if (op == BC_ISEQV || op == BC_ISNEV) { 2004 if (op == BC_ISEQV || op == BC_ISNEV) {
2003 dasm_put(Dst, 9789); 2005 dasm_put(Dst, 9806);
2004 if (LJ_HASFFI) { 2006 if (LJ_HASFFI) {
2005 dasm_put(Dst, 10371, LJ_TCDATA, LJ_TCDATA); 2007 dasm_put(Dst, 10388, LJ_TCDATA, LJ_TCDATA);
2006 } 2008 }
2007 dasm_put(Dst, 10390, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2009 dasm_put(Dst, 10407, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2008 if (vk) { 2010 if (vk) {
2009 dasm_put(Dst, 10446); 2011 dasm_put(Dst, 10463);
2010 } else { 2012 } else {
2011 dasm_put(Dst, 10450); 2013 dasm_put(Dst, 10467);
2012 } 2014 }
2013 dasm_put(Dst, 10456); 2015 dasm_put(Dst, 10473);
2014 } else if (LJ_HASFFI) { 2016 } else if (LJ_HASFFI) {
2015 dasm_put(Dst, 10461, LJ_TCDATA); 2017 dasm_put(Dst, 10478, LJ_TCDATA);
2016 if (LJ_DUALNUM && vk) { 2018 if (LJ_DUALNUM && vk) {
2017 dasm_put(Dst, 10468); 2019 dasm_put(Dst, 10485);
2018 } else { 2020 } else {
2019 dasm_put(Dst, 10441); 2021 dasm_put(Dst, 10458);
2020 } 2022 }
2021 dasm_put(Dst, 10473); 2023 dasm_put(Dst, 10490);
2022 } 2024 }
2023 break; 2025 break;
2024 case BC_ISEQS: case BC_ISNES: 2026 case BC_ISEQS: case BC_ISNES:
2025 vk = op == BC_ISEQS; 2027 vk = op == BC_ISEQS;
2026 dasm_put(Dst, 10478, LJ_TSTR); 2028 dasm_put(Dst, 10495, LJ_TSTR);
2027 iseqne_test: 2029 iseqne_test:
2028 if (vk) { 2030 if (vk) {
2029 dasm_put(Dst, 10322); 2031 dasm_put(Dst, 10339);
2030 } else { 2032 } else {
2031 dasm_put(Dst, 2860); 2033 dasm_put(Dst, 2877);
2032 } 2034 }
2033 goto iseqne_end; 2035 goto iseqne_end;
2034 case BC_ISEQN: case BC_ISNEN: 2036 case BC_ISEQN: case BC_ISNEN:
2035 vk = op == BC_ISEQN; 2037 vk = op == BC_ISEQN;
2036 dasm_put(Dst, 10504); 2038 dasm_put(Dst, 10521);
2037 if (LJ_DUALNUM) { 2039 if (LJ_DUALNUM) {
2038 dasm_put(Dst, 10512, LJ_TISNUM, LJ_TISNUM); 2040 dasm_put(Dst, 10529, LJ_TISNUM, LJ_TISNUM);
2039 if (vk) { 2041 if (vk) {
2040 dasm_put(Dst, 10160); 2042 dasm_put(Dst, 10177);
2041 } else { 2043 } else {
2042 dasm_put(Dst, 10165); 2044 dasm_put(Dst, 10182);
2043 } 2045 }
2044 dasm_put(Dst, 10537, -BCBIAS_J*4, LJ_TISNUM); 2046 dasm_put(Dst, 10554, -BCBIAS_J*4, LJ_TISNUM);
2045 if (sse) { 2047 if (sse) {
2046 dasm_put(Dst, 10585); 2048 dasm_put(Dst, 10602);
2047 } else { 2049 } else {
2048 dasm_put(Dst, 10592); 2050 dasm_put(Dst, 10609);
2049 } 2051 }
2050 dasm_put(Dst, 10596); 2052 dasm_put(Dst, 10613);
2051 if (sse) { 2053 if (sse) {
2052 dasm_put(Dst, 10603); 2054 dasm_put(Dst, 10620);
2053 } else { 2055 } else {
2054 dasm_put(Dst, 10615); 2056 dasm_put(Dst, 10632);
2055 } 2057 }
2056 dasm_put(Dst, 10263); 2058 dasm_put(Dst, 10280);
2057 } else { 2059 } else {
2058 dasm_put(Dst, 10622, LJ_TISNUM); 2060 dasm_put(Dst, 10639, LJ_TISNUM);
2059 } 2061 }
2060 if (sse) { 2062 if (sse) {
2061 dasm_put(Dst, 10631); 2063 dasm_put(Dst, 10648);
2062 } else { 2064 } else {
2063 dasm_put(Dst, 10649); 2065 dasm_put(Dst, 10666);
2064 if (cmov) { 2066 if (cmov) {
2065 dasm_put(Dst, 10062); 2067 dasm_put(Dst, 10079);
2066 } else { 2068 } else {
2067 dasm_put(Dst, 10068); 2069 dasm_put(Dst, 10085);
2068 } 2070 }
2069 } 2071 }
2070 goto iseqne_fp; 2072 goto iseqne_fp;
2071 case BC_ISEQP: case BC_ISNEP: 2073 case BC_ISEQP: case BC_ISNEP:
2072 vk = op == BC_ISEQP; 2074 vk = op == BC_ISEQP;
2073 dasm_put(Dst, 10662); 2075 dasm_put(Dst, 10679);
2074 if (!LJ_HASFFI) goto iseqne_test; 2076 if (!LJ_HASFFI) goto iseqne_test;
2075 if (vk) { 2077 if (vk) {
2076 dasm_put(Dst, 10676, -BCBIAS_J*4, LJ_TCDATA); 2078 dasm_put(Dst, 10693, -BCBIAS_J*4, LJ_TCDATA);
2077 } else { 2079 } else {
2078 dasm_put(Dst, 10726, LJ_TCDATA, -BCBIAS_J*4); 2080 dasm_put(Dst, 10743, LJ_TCDATA, -BCBIAS_J*4);
2079 } 2081 }
2080 break; 2082 break;
2081 2083
2082 /* -- Unary test and copy ops ------------------------------------------- */ 2084 /* -- Unary test and copy ops ------------------------------------------- */
2083 2085
2084 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2086 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2085 dasm_put(Dst, 10770, LJ_TISTRUECOND); 2087 dasm_put(Dst, 10787, LJ_TISTRUECOND);
2086 if (op == BC_IST || op == BC_ISTC) { 2088 if (op == BC_IST || op == BC_ISTC) {
2087 dasm_put(Dst, 10090); 2089 dasm_put(Dst, 10107);
2088 } else { 2090 } else {
2089 dasm_put(Dst, 10085); 2091 dasm_put(Dst, 10102);
2090 } 2092 }
2091 if (op == BC_ISTC || op == BC_ISFC) { 2093 if (op == BC_ISTC || op == BC_ISFC) {
2092 dasm_put(Dst, 10782); 2094 dasm_put(Dst, 10799);
2093 } 2095 }
2094 dasm_put(Dst, 10095, -BCBIAS_J*4); 2096 dasm_put(Dst, 10112, -BCBIAS_J*4);
2095 break; 2097 break;
2096 2098
2097 /* -- Unary ops --------------------------------------------------------- */ 2099 /* -- Unary ops --------------------------------------------------------- */
2098 2100
2099 case BC_MOV: 2101 case BC_MOV:
2100 dasm_put(Dst, 10793); 2102 dasm_put(Dst, 10810);
2101 break; 2103 break;
2102 case BC_NOT: 2104 case BC_NOT:
2103 dasm_put(Dst, 10821, LJ_TISTRUECOND, LJ_TTRUE); 2105 dasm_put(Dst, 10838, LJ_TISTRUECOND, LJ_TTRUE);
2104 break; 2106 break;
2105 case BC_UNM: 2107 case BC_UNM:
2106 if (LJ_DUALNUM) { 2108 if (LJ_DUALNUM) {
2107 dasm_put(Dst, 10857, LJ_TISNUM, LJ_TISNUM); 2109 dasm_put(Dst, 10874, LJ_TISNUM, LJ_TISNUM);
2108 } else { 2110 } else {
2109 dasm_put(Dst, 10934, LJ_TISNUM); 2111 dasm_put(Dst, 10951, LJ_TISNUM);
2110 } 2112 }
2111 if (sse) { 2113 if (sse) {
2112 dasm_put(Dst, 10945, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2114 dasm_put(Dst, 10962, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2113 } else { 2115 } else {
2114 dasm_put(Dst, 10970); 2116 dasm_put(Dst, 10987);
2115 } 2117 }
2116 if (LJ_DUALNUM) { 2118 if (LJ_DUALNUM) {
2117 dasm_put(Dst, 10366); 2119 dasm_put(Dst, 10383);
2118 } else { 2120 } else {
2119 dasm_put(Dst, 10107); 2121 dasm_put(Dst, 10124);
2120 } 2122 }
2121 break; 2123 break;
2122 case BC_LEN: 2124 case BC_LEN:
2123 dasm_put(Dst, 10979, LJ_TSTR); 2125 dasm_put(Dst, 10996, LJ_TSTR);
2124 if (LJ_DUALNUM) { 2126 if (LJ_DUALNUM) {
2125 dasm_put(Dst, 10993, Dt5(->len), LJ_TISNUM); 2127 dasm_put(Dst, 11010, Dt5(->len), LJ_TISNUM);
2126 } else if (sse) { 2128 } else if (sse) {
2127 dasm_put(Dst, 11007, Dt5(->len)); 2129 dasm_put(Dst, 11024, Dt5(->len));
2128 } else { 2130 } else {
2129 dasm_put(Dst, 11025, Dt5(->len)); 2131 dasm_put(Dst, 11042, Dt5(->len));
2130 } 2132 }
2131 dasm_put(Dst, 11034, LJ_TTAB); 2133 dasm_put(Dst, 11051, LJ_TTAB);
2132 if (LJ_DUALNUM) { 2134 if (LJ_DUALNUM) {
2133 } else if (sse) { 2135 } else if (sse) {
2134 dasm_put(Dst, 11075); 2136 dasm_put(Dst, 11092);
2135 } else { 2137 } else {
2136 } 2138 }
2137 dasm_put(Dst, 11081); 2139 dasm_put(Dst, 11098);
2138 break; 2140 break;
2139 2141
2140 /* -- Binary ops -------------------------------------------------------- */ 2142 /* -- Binary ops -------------------------------------------------------- */
@@ -2142,605 +2144,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2142 2144
2143 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2145 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2144 if (LJ_DUALNUM) { 2146 if (LJ_DUALNUM) {
2145 dasm_put(Dst, 11094); 2147 dasm_put(Dst, 11111);
2146 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2148 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2147 switch (vk) { 2149 switch (vk) {
2148 case 0: 2150 case 0:
2149 dasm_put(Dst, 11102, LJ_TISNUM, LJ_TISNUM); 2151 dasm_put(Dst, 11119, LJ_TISNUM, LJ_TISNUM);
2150 break; 2152 break;
2151 case 1: 2153 case 1:
2152 dasm_put(Dst, 11135, LJ_TISNUM, LJ_TISNUM); 2154 dasm_put(Dst, 11152, LJ_TISNUM, LJ_TISNUM);
2153 break; 2155 break;
2154 default: 2156 default:
2155 dasm_put(Dst, 11168, LJ_TISNUM, LJ_TISNUM); 2157 dasm_put(Dst, 11185, LJ_TISNUM, LJ_TISNUM);
2156 break; 2158 break;
2157 } 2159 }
2158 dasm_put(Dst, 11201, LJ_TISNUM); 2160 dasm_put(Dst, 11218, LJ_TISNUM);
2159 if (vk == 1) { 2161 if (vk == 1) {
2160 dasm_put(Dst, 11003); 2162 dasm_put(Dst, 11020);
2161 } else { 2163 } else {
2162 dasm_put(Dst, 10789); 2164 dasm_put(Dst, 10806);
2163 } 2165 }
2164 dasm_put(Dst, 10107); 2166 dasm_put(Dst, 10124);
2165 } else { 2167 } else {
2166 dasm_put(Dst, 11094); 2168 dasm_put(Dst, 11111);
2167 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2169 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2168 switch (vk) { 2170 switch (vk) {
2169 case 0: 2171 case 0:
2170 dasm_put(Dst, 11207, LJ_TISNUM); 2172 dasm_put(Dst, 11224, LJ_TISNUM);
2171 if (LJ_DUALNUM) { 2173 if (LJ_DUALNUM) {
2172 dasm_put(Dst, 11219, LJ_TISNUM); 2174 dasm_put(Dst, 11236, LJ_TISNUM);
2173 } 2175 }
2174 if (sse) { 2176 if (sse) {
2175 dasm_put(Dst, 11230); 2177 dasm_put(Dst, 11247);
2176 } else { 2178 } else {
2177 dasm_put(Dst, 11244); 2179 dasm_put(Dst, 11261);
2178 } 2180 }
2179 break; 2181 break;
2180 case 1: 2182 case 1:
2181 dasm_put(Dst, 11252, LJ_TISNUM); 2183 dasm_put(Dst, 11269, LJ_TISNUM);
2182 if (LJ_DUALNUM) { 2184 if (LJ_DUALNUM) {
2183 dasm_put(Dst, 11264, LJ_TISNUM); 2185 dasm_put(Dst, 11281, LJ_TISNUM);
2184 } 2186 }
2185 if (sse) { 2187 if (sse) {
2186 dasm_put(Dst, 11275); 2188 dasm_put(Dst, 11292);
2187 } else { 2189 } else {
2188 dasm_put(Dst, 11289); 2190 dasm_put(Dst, 11306);
2189 } 2191 }
2190 break; 2192 break;
2191 default: 2193 default:
2192 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2194 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2193 if (sse) { 2195 if (sse) {
2194 dasm_put(Dst, 11319); 2196 dasm_put(Dst, 11336);
2195 } else { 2197 } else {
2196 dasm_put(Dst, 11333); 2198 dasm_put(Dst, 11350);
2197 } 2199 }
2198 break; 2200 break;
2199 } 2201 }
2200 if (sse) { 2202 if (sse) {
2201 dasm_put(Dst, 10963); 2203 dasm_put(Dst, 10980);
2202 } else { 2204 } else {
2203 dasm_put(Dst, 10975); 2205 dasm_put(Dst, 10992);
2204 } 2206 }
2205 dasm_put(Dst, 10107); 2207 dasm_put(Dst, 10124);
2206 } 2208 }
2207 break; 2209 break;
2208 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2210 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2209 if (LJ_DUALNUM) { 2211 if (LJ_DUALNUM) {
2210 dasm_put(Dst, 11094); 2212 dasm_put(Dst, 11111);
2211 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2213 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2212 switch (vk) { 2214 switch (vk) {
2213 case 0: 2215 case 0:
2214 dasm_put(Dst, 11341, LJ_TISNUM, LJ_TISNUM); 2216 dasm_put(Dst, 11358, LJ_TISNUM, LJ_TISNUM);
2215 break; 2217 break;
2216 case 1: 2218 case 1:
2217 dasm_put(Dst, 11374, LJ_TISNUM, LJ_TISNUM); 2219 dasm_put(Dst, 11391, LJ_TISNUM, LJ_TISNUM);
2218 break; 2220 break;
2219 default: 2221 default:
2220 dasm_put(Dst, 11407, LJ_TISNUM, LJ_TISNUM); 2222 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
2221 break; 2223 break;
2222 } 2224 }
2223 dasm_put(Dst, 11201, LJ_TISNUM); 2225 dasm_put(Dst, 11218, LJ_TISNUM);
2224 if (vk == 1) { 2226 if (vk == 1) {
2225 dasm_put(Dst, 11003); 2227 dasm_put(Dst, 11020);
2226 } else { 2228 } else {
2227 dasm_put(Dst, 10789); 2229 dasm_put(Dst, 10806);
2228 } 2230 }
2229 dasm_put(Dst, 10107); 2231 dasm_put(Dst, 10124);
2230 } else { 2232 } else {
2231 dasm_put(Dst, 11094); 2233 dasm_put(Dst, 11111);
2232 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2234 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2233 switch (vk) { 2235 switch (vk) {
2234 case 0: 2236 case 0:
2235 dasm_put(Dst, 11207, LJ_TISNUM); 2237 dasm_put(Dst, 11224, LJ_TISNUM);
2236 if (LJ_DUALNUM) { 2238 if (LJ_DUALNUM) {
2237 dasm_put(Dst, 11219, LJ_TISNUM); 2239 dasm_put(Dst, 11236, LJ_TISNUM);
2238 } 2240 }
2239 if (sse) { 2241 if (sse) {
2240 dasm_put(Dst, 11440); 2242 dasm_put(Dst, 11457);
2241 } else { 2243 } else {
2242 dasm_put(Dst, 11454); 2244 dasm_put(Dst, 11471);
2243 } 2245 }
2244 break; 2246 break;
2245 case 1: 2247 case 1:
2246 dasm_put(Dst, 11252, LJ_TISNUM); 2248 dasm_put(Dst, 11269, LJ_TISNUM);
2247 if (LJ_DUALNUM) { 2249 if (LJ_DUALNUM) {
2248 dasm_put(Dst, 11264, LJ_TISNUM); 2250 dasm_put(Dst, 11281, LJ_TISNUM);
2249 } 2251 }
2250 if (sse) { 2252 if (sse) {
2251 dasm_put(Dst, 11462); 2253 dasm_put(Dst, 11479);
2252 } else { 2254 } else {
2253 dasm_put(Dst, 11476); 2255 dasm_put(Dst, 11493);
2254 } 2256 }
2255 break; 2257 break;
2256 default: 2258 default:
2257 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2259 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2258 if (sse) { 2260 if (sse) {
2259 dasm_put(Dst, 11484); 2261 dasm_put(Dst, 11501);
2260 } else { 2262 } else {
2261 dasm_put(Dst, 11498); 2263 dasm_put(Dst, 11515);
2262 } 2264 }
2263 break; 2265 break;
2264 } 2266 }
2265 if (sse) { 2267 if (sse) {
2266 dasm_put(Dst, 10963); 2268 dasm_put(Dst, 10980);
2267 } else { 2269 } else {
2268 dasm_put(Dst, 10975); 2270 dasm_put(Dst, 10992);
2269 } 2271 }
2270 dasm_put(Dst, 10107); 2272 dasm_put(Dst, 10124);
2271 } 2273 }
2272 break; 2274 break;
2273 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2275 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2274 if (LJ_DUALNUM) { 2276 if (LJ_DUALNUM) {
2275 dasm_put(Dst, 11094); 2277 dasm_put(Dst, 11111);
2276 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2278 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2277 switch (vk) { 2279 switch (vk) {
2278 case 0: 2280 case 0:
2279 dasm_put(Dst, 11506, LJ_TISNUM, LJ_TISNUM); 2281 dasm_put(Dst, 11523, LJ_TISNUM, LJ_TISNUM);
2280 break; 2282 break;
2281 case 1: 2283 case 1:
2282 dasm_put(Dst, 11540, LJ_TISNUM, LJ_TISNUM); 2284 dasm_put(Dst, 11557, LJ_TISNUM, LJ_TISNUM);
2283 break; 2285 break;
2284 default: 2286 default:
2285 dasm_put(Dst, 11574, LJ_TISNUM, LJ_TISNUM); 2287 dasm_put(Dst, 11591, LJ_TISNUM, LJ_TISNUM);
2286 break; 2288 break;
2287 } 2289 }
2288 dasm_put(Dst, 11201, LJ_TISNUM); 2290 dasm_put(Dst, 11218, LJ_TISNUM);
2289 if (vk == 1) { 2291 if (vk == 1) {
2290 dasm_put(Dst, 11003); 2292 dasm_put(Dst, 11020);
2291 } else { 2293 } else {
2292 dasm_put(Dst, 10789); 2294 dasm_put(Dst, 10806);
2293 } 2295 }
2294 dasm_put(Dst, 10107); 2296 dasm_put(Dst, 10124);
2295 } else { 2297 } else {
2296 dasm_put(Dst, 11094); 2298 dasm_put(Dst, 11111);
2297 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2299 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2298 switch (vk) { 2300 switch (vk) {
2299 case 0: 2301 case 0:
2300 dasm_put(Dst, 11207, LJ_TISNUM); 2302 dasm_put(Dst, 11224, LJ_TISNUM);
2301 if (LJ_DUALNUM) { 2303 if (LJ_DUALNUM) {
2302 dasm_put(Dst, 11219, LJ_TISNUM); 2304 dasm_put(Dst, 11236, LJ_TISNUM);
2303 } 2305 }
2304 if (sse) { 2306 if (sse) {
2305 dasm_put(Dst, 11608); 2307 dasm_put(Dst, 11625);
2306 } else { 2308 } else {
2307 dasm_put(Dst, 11622); 2309 dasm_put(Dst, 11639);
2308 } 2310 }
2309 break; 2311 break;
2310 case 1: 2312 case 1:
2311 dasm_put(Dst, 11252, LJ_TISNUM); 2313 dasm_put(Dst, 11269, LJ_TISNUM);
2312 if (LJ_DUALNUM) { 2314 if (LJ_DUALNUM) {
2313 dasm_put(Dst, 11264, LJ_TISNUM); 2315 dasm_put(Dst, 11281, LJ_TISNUM);
2314 } 2316 }
2315 if (sse) { 2317 if (sse) {
2316 dasm_put(Dst, 11630); 2318 dasm_put(Dst, 11647);
2317 } else { 2319 } else {
2318 dasm_put(Dst, 11644); 2320 dasm_put(Dst, 11661);
2319 } 2321 }
2320 break; 2322 break;
2321 default: 2323 default:
2322 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2324 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2323 if (sse) { 2325 if (sse) {
2324 dasm_put(Dst, 11652); 2326 dasm_put(Dst, 11669);
2325 } else { 2327 } else {
2326 dasm_put(Dst, 11666); 2328 dasm_put(Dst, 11683);
2327 } 2329 }
2328 break; 2330 break;
2329 } 2331 }
2330 if (sse) { 2332 if (sse) {
2331 dasm_put(Dst, 10963); 2333 dasm_put(Dst, 10980);
2332 } else { 2334 } else {
2333 dasm_put(Dst, 10975); 2335 dasm_put(Dst, 10992);
2334 } 2336 }
2335 dasm_put(Dst, 10107); 2337 dasm_put(Dst, 10124);
2336 } 2338 }
2337 break; 2339 break;
2338 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2340 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2339 dasm_put(Dst, 11094); 2341 dasm_put(Dst, 11111);
2340 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2342 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2341 switch (vk) { 2343 switch (vk) {
2342 case 0: 2344 case 0:
2343 dasm_put(Dst, 11207, LJ_TISNUM); 2345 dasm_put(Dst, 11224, LJ_TISNUM);
2344 if (LJ_DUALNUM) { 2346 if (LJ_DUALNUM) {
2345 dasm_put(Dst, 11219, LJ_TISNUM); 2347 dasm_put(Dst, 11236, LJ_TISNUM);
2346 } 2348 }
2347 if (sse) { 2349 if (sse) {
2348 dasm_put(Dst, 11674); 2350 dasm_put(Dst, 11691);
2349 } else { 2351 } else {
2350 dasm_put(Dst, 11688); 2352 dasm_put(Dst, 11705);
2351 } 2353 }
2352 break; 2354 break;
2353 case 1: 2355 case 1:
2354 dasm_put(Dst, 11252, LJ_TISNUM); 2356 dasm_put(Dst, 11269, LJ_TISNUM);
2355 if (LJ_DUALNUM) { 2357 if (LJ_DUALNUM) {
2356 dasm_put(Dst, 11264, LJ_TISNUM); 2358 dasm_put(Dst, 11281, LJ_TISNUM);
2357 } 2359 }
2358 if (sse) { 2360 if (sse) {
2359 dasm_put(Dst, 11696); 2361 dasm_put(Dst, 11713);
2360 } else { 2362 } else {
2361 dasm_put(Dst, 11710); 2363 dasm_put(Dst, 11727);
2362 } 2364 }
2363 break; 2365 break;
2364 default: 2366 default:
2365 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2367 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2366 if (sse) { 2368 if (sse) {
2367 dasm_put(Dst, 11718); 2369 dasm_put(Dst, 11735);
2368 } else { 2370 } else {
2369 dasm_put(Dst, 11732); 2371 dasm_put(Dst, 11749);
2370 } 2372 }
2371 break; 2373 break;
2372 } 2374 }
2373 if (sse) { 2375 if (sse) {
2374 dasm_put(Dst, 10963); 2376 dasm_put(Dst, 10980);
2375 } else { 2377 } else {
2376 dasm_put(Dst, 10975); 2378 dasm_put(Dst, 10992);
2377 } 2379 }
2378 dasm_put(Dst, 10107); 2380 dasm_put(Dst, 10124);
2379 break; 2381 break;
2380 case BC_MODVN: 2382 case BC_MODVN:
2381 dasm_put(Dst, 11094); 2383 dasm_put(Dst, 11111);
2382 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2384 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2383 switch (vk) { 2385 switch (vk) {
2384 case 0: 2386 case 0:
2385 dasm_put(Dst, 11207, LJ_TISNUM); 2387 dasm_put(Dst, 11224, LJ_TISNUM);
2386 if (LJ_DUALNUM) { 2388 if (LJ_DUALNUM) {
2387 dasm_put(Dst, 11219, LJ_TISNUM); 2389 dasm_put(Dst, 11236, LJ_TISNUM);
2388 } 2390 }
2389 if (sse) { 2391 if (sse) {
2390 dasm_put(Dst, 11740); 2392 dasm_put(Dst, 11757);
2391 } else { 2393 } else {
2392 dasm_put(Dst, 11754); 2394 dasm_put(Dst, 11771);
2393 } 2395 }
2394 break; 2396 break;
2395 case 1: 2397 case 1:
2396 dasm_put(Dst, 11252, LJ_TISNUM); 2398 dasm_put(Dst, 11269, LJ_TISNUM);
2397 if (LJ_DUALNUM) { 2399 if (LJ_DUALNUM) {
2398 dasm_put(Dst, 11264, LJ_TISNUM); 2400 dasm_put(Dst, 11281, LJ_TISNUM);
2399 } 2401 }
2400 if (sse) { 2402 if (sse) {
2401 dasm_put(Dst, 11762); 2403 dasm_put(Dst, 11779);
2402 } else { 2404 } else {
2403 dasm_put(Dst, 11776); 2405 dasm_put(Dst, 11793);
2404 } 2406 }
2405 break; 2407 break;
2406 default: 2408 default:
2407 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2409 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2408 if (sse) { 2410 if (sse) {
2409 dasm_put(Dst, 11784); 2411 dasm_put(Dst, 11801);
2410 } else { 2412 } else {
2411 dasm_put(Dst, 11798); 2413 dasm_put(Dst, 11815);
2412 } 2414 }
2413 break; 2415 break;
2414 } 2416 }
2415 dasm_put(Dst, 11806); 2417 dasm_put(Dst, 11823);
2416 if (sse) { 2418 if (sse) {
2417 dasm_put(Dst, 10963); 2419 dasm_put(Dst, 10980);
2418 } else { 2420 } else {
2419 dasm_put(Dst, 10975); 2421 dasm_put(Dst, 10992);
2420 } 2422 }
2421 dasm_put(Dst, 10107); 2423 dasm_put(Dst, 10124);
2422 break; 2424 break;
2423 case BC_MODNV: case BC_MODVV: 2425 case BC_MODNV: case BC_MODVV:
2424 dasm_put(Dst, 11094); 2426 dasm_put(Dst, 11111);
2425 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2427 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2426 switch (vk) { 2428 switch (vk) {
2427 case 0: 2429 case 0:
2428 dasm_put(Dst, 11207, LJ_TISNUM); 2430 dasm_put(Dst, 11224, LJ_TISNUM);
2429 if (LJ_DUALNUM) { 2431 if (LJ_DUALNUM) {
2430 dasm_put(Dst, 11219, LJ_TISNUM); 2432 dasm_put(Dst, 11236, LJ_TISNUM);
2431 } 2433 }
2432 if (sse) { 2434 if (sse) {
2433 dasm_put(Dst, 11740); 2435 dasm_put(Dst, 11757);
2434 } else { 2436 } else {
2435 dasm_put(Dst, 11754); 2437 dasm_put(Dst, 11771);
2436 } 2438 }
2437 break; 2439 break;
2438 case 1: 2440 case 1:
2439 dasm_put(Dst, 11252, LJ_TISNUM); 2441 dasm_put(Dst, 11269, LJ_TISNUM);
2440 if (LJ_DUALNUM) { 2442 if (LJ_DUALNUM) {
2441 dasm_put(Dst, 11264, LJ_TISNUM); 2443 dasm_put(Dst, 11281, LJ_TISNUM);
2442 } 2444 }
2443 if (sse) { 2445 if (sse) {
2444 dasm_put(Dst, 11762); 2446 dasm_put(Dst, 11779);
2445 } else { 2447 } else {
2446 dasm_put(Dst, 11776); 2448 dasm_put(Dst, 11793);
2447 } 2449 }
2448 break; 2450 break;
2449 default: 2451 default:
2450 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2452 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2451 if (sse) { 2453 if (sse) {
2452 dasm_put(Dst, 11784); 2454 dasm_put(Dst, 11801);
2453 } else { 2455 } else {
2454 dasm_put(Dst, 11798); 2456 dasm_put(Dst, 11815);
2455 } 2457 }
2456 break; 2458 break;
2457 } 2459 }
2458 dasm_put(Dst, 11812); 2460 dasm_put(Dst, 11829);
2459 break; 2461 break;
2460 case BC_POW: 2462 case BC_POW:
2461 dasm_put(Dst, 11094); 2463 dasm_put(Dst, 11111);
2462 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2464 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2463 switch (vk) { 2465 switch (vk) {
2464 case 0: 2466 case 0:
2465 dasm_put(Dst, 11207, LJ_TISNUM); 2467 dasm_put(Dst, 11224, LJ_TISNUM);
2466 if (LJ_DUALNUM) { 2468 if (LJ_DUALNUM) {
2467 dasm_put(Dst, 11219, LJ_TISNUM); 2469 dasm_put(Dst, 11236, LJ_TISNUM);
2468 } 2470 }
2469 if (sse) { 2471 if (sse) {
2470 dasm_put(Dst, 11740); 2472 dasm_put(Dst, 11757);
2471 } else { 2473 } else {
2472 dasm_put(Dst, 11754); 2474 dasm_put(Dst, 11771);
2473 } 2475 }
2474 break; 2476 break;
2475 case 1: 2477 case 1:
2476 dasm_put(Dst, 11252, LJ_TISNUM); 2478 dasm_put(Dst, 11269, LJ_TISNUM);
2477 if (LJ_DUALNUM) { 2479 if (LJ_DUALNUM) {
2478 dasm_put(Dst, 11264, LJ_TISNUM); 2480 dasm_put(Dst, 11281, LJ_TISNUM);
2479 } 2481 }
2480 if (sse) { 2482 if (sse) {
2481 dasm_put(Dst, 11762); 2483 dasm_put(Dst, 11779);
2482 } else { 2484 } else {
2483 dasm_put(Dst, 11776); 2485 dasm_put(Dst, 11793);
2484 } 2486 }
2485 break; 2487 break;
2486 default: 2488 default:
2487 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM); 2489 dasm_put(Dst, 11314, LJ_TISNUM, LJ_TISNUM);
2488 if (sse) { 2490 if (sse) {
2489 dasm_put(Dst, 11784); 2491 dasm_put(Dst, 11801);
2490 } else { 2492 } else {
2491 dasm_put(Dst, 11798); 2493 dasm_put(Dst, 11815);
2492 } 2494 }
2493 break; 2495 break;
2494 } 2496 }
2495 dasm_put(Dst, 11817); 2497 dasm_put(Dst, 11834);
2496 if (sse) { 2498 if (sse) {
2497 dasm_put(Dst, 10963); 2499 dasm_put(Dst, 10980);
2498 } else { 2500 } else {
2499 dasm_put(Dst, 10975); 2501 dasm_put(Dst, 10992);
2500 } 2502 }
2501 dasm_put(Dst, 10107); 2503 dasm_put(Dst, 10124);
2502 break; 2504 break;
2503 2505
2504 case BC_CAT: 2506 case BC_CAT:
2505 dasm_put(Dst, 11821, Dt1(->base), Dt1(->base)); 2507 dasm_put(Dst, 11838, Dt1(->base), Dt1(->base));
2506 break; 2508 break;
2507 2509
2508 /* -- Constant ops ------------------------------------------------------ */ 2510 /* -- Constant ops ------------------------------------------------------ */
2509 2511
2510 case BC_KSTR: 2512 case BC_KSTR:
2511 dasm_put(Dst, 11904, LJ_TSTR); 2513 dasm_put(Dst, 11921, LJ_TSTR);
2512 break; 2514 break;
2513 case BC_KCDATA: 2515 case BC_KCDATA:
2514#if LJ_HASFFI 2516#if LJ_HASFFI
2515 dasm_put(Dst, 11904, LJ_TCDATA); 2517 dasm_put(Dst, 11921, LJ_TCDATA);
2516#endif 2518#endif
2517 break; 2519 break;
2518 case BC_KSHORT: 2520 case BC_KSHORT:
2519 if (LJ_DUALNUM) { 2521 if (LJ_DUALNUM) {
2520 dasm_put(Dst, 11939, LJ_TISNUM); 2522 dasm_put(Dst, 11956, LJ_TISNUM);
2521 } else if (sse) { 2523 } else if (sse) {
2522 dasm_put(Dst, 11951); 2524 dasm_put(Dst, 11968);
2523 } else { 2525 } else {
2524 dasm_put(Dst, 11966); 2526 dasm_put(Dst, 11983);
2525 } 2527 }
2526 dasm_put(Dst, 10107); 2528 dasm_put(Dst, 10124);
2527 break; 2529 break;
2528 case BC_KNUM: 2530 case BC_KNUM:
2529 if (sse) { 2531 if (sse) {
2530 dasm_put(Dst, 11974); 2532 dasm_put(Dst, 11991);
2531 } else { 2533 } else {
2532 dasm_put(Dst, 11987); 2534 dasm_put(Dst, 12004);
2533 } 2535 }
2534 dasm_put(Dst, 10107); 2536 dasm_put(Dst, 10124);
2535 break; 2537 break;
2536 case BC_KPRI: 2538 case BC_KPRI:
2537 dasm_put(Dst, 11994); 2539 dasm_put(Dst, 12011);
2538 break; 2540 break;
2539 case BC_KNIL: 2541 case BC_KNIL:
2540 dasm_put(Dst, 12022, LJ_TNIL); 2542 dasm_put(Dst, 12039, LJ_TNIL);
2541 break; 2543 break;
2542 2544
2543 /* -- Upvalue and function ops ------------------------------------------ */ 2545 /* -- Upvalue and function ops ------------------------------------------ */
2544 2546
2545 case BC_UGET: 2547 case BC_UGET:
2546 dasm_put(Dst, 12069, offsetof(GCfuncL, uvptr), DtA(->v)); 2548 dasm_put(Dst, 12086, offsetof(GCfuncL, uvptr), DtA(->v));
2547 break; 2549 break;
2548 case BC_USETV: 2550 case BC_USETV:
2549#define TV2MARKOFS \ 2551#define TV2MARKOFS \
2550 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2552 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2551 dasm_put(Dst, 12109, 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); 2553 dasm_put(Dst, 12126, 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);
2552 dasm_put(Dst, 12200); 2554 dasm_put(Dst, 12217);
2553 break; 2555 break;
2554#undef TV2MARKOFS 2556#undef TV2MARKOFS
2555 case BC_USETS: 2557 case BC_USETS:
2556 dasm_put(Dst, 12212, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2558 dasm_put(Dst, 12229, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2557 break; 2559 break;
2558 case BC_USETN: 2560 case BC_USETN:
2559 dasm_put(Dst, 12305); 2561 dasm_put(Dst, 12322);
2560 if (sse) { 2562 if (sse) {
2561 dasm_put(Dst, 12310); 2563 dasm_put(Dst, 12327);
2562 } else { 2564 } else {
2563 dasm_put(Dst, 10618); 2565 dasm_put(Dst, 10635);
2564 } 2566 }
2565 dasm_put(Dst, 12317, offsetof(GCfuncL, uvptr), DtA(->v)); 2567 dasm_put(Dst, 12334, offsetof(GCfuncL, uvptr), DtA(->v));
2566 if (sse) { 2568 if (sse) {
2567 dasm_put(Dst, 12326); 2569 dasm_put(Dst, 12343);
2568 } else { 2570 } else {
2569 dasm_put(Dst, 12332); 2571 dasm_put(Dst, 12349);
2570 } 2572 }
2571 dasm_put(Dst, 10107); 2573 dasm_put(Dst, 10124);
2572 break; 2574 break;
2573 case BC_USETP: 2575 case BC_USETP:
2574 dasm_put(Dst, 12335, offsetof(GCfuncL, uvptr), DtA(->v)); 2576 dasm_put(Dst, 12352, offsetof(GCfuncL, uvptr), DtA(->v));
2575 break; 2577 break;
2576 case BC_UCLO: 2578 case BC_UCLO:
2577 dasm_put(Dst, 12374, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2579 dasm_put(Dst, 12391, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2578 break; 2580 break;
2579 2581
2580 case BC_FNEW: 2582 case BC_FNEW:
2581 dasm_put(Dst, 12429, Dt1(->base), Dt1(->base), LJ_TFUNC); 2583 dasm_put(Dst, 12446, Dt1(->base), Dt1(->base), LJ_TFUNC);
2582 break; 2584 break;
2583 2585
2584 /* -- Table ops --------------------------------------------------------- */ 2586 /* -- Table ops --------------------------------------------------------- */
2585 2587
2586 case BC_TNEW: 2588 case BC_TNEW:
2587 dasm_put(Dst, 12495, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2589 dasm_put(Dst, 12512, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2588 break; 2590 break;
2589 case BC_TDUP: 2591 case BC_TDUP:
2590 dasm_put(Dst, 12617, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2592 dasm_put(Dst, 12634, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2591 break; 2593 break;
2592 2594
2593 case BC_GGET: 2595 case BC_GGET:
2594 dasm_put(Dst, 12712, Dt7(->env)); 2596 dasm_put(Dst, 12729, Dt7(->env));
2595 break; 2597 break;
2596 case BC_GSET: 2598 case BC_GSET:
2597 dasm_put(Dst, 12731, Dt7(->env)); 2599 dasm_put(Dst, 12748, Dt7(->env));
2598 break; 2600 break;
2599 2601
2600 case BC_TGETV: 2602 case BC_TGETV:
2601 dasm_put(Dst, 12750, LJ_TTAB); 2603 dasm_put(Dst, 12767, LJ_TTAB);
2602 if (LJ_DUALNUM) { 2604 if (LJ_DUALNUM) {
2603 dasm_put(Dst, 12773, LJ_TISNUM); 2605 dasm_put(Dst, 12790, LJ_TISNUM);
2604 } else { 2606 } else {
2605 dasm_put(Dst, 12787, LJ_TISNUM); 2607 dasm_put(Dst, 12804, LJ_TISNUM);
2606 if (sse) { 2608 if (sse) {
2607 dasm_put(Dst, 12798); 2609 dasm_put(Dst, 12815);
2608 } else { 2610 } else {
2609 } 2611 }
2610 dasm_put(Dst, 12819); 2612 dasm_put(Dst, 12836);
2611 } 2613 }
2612 dasm_put(Dst, 12824, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2614 dasm_put(Dst, 12841, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2613 dasm_put(Dst, 12915, LJ_TSTR); 2615 dasm_put(Dst, 12932, LJ_TSTR);
2614 break; 2616 break;
2615 case BC_TGETS: 2617 case BC_TGETS:
2616 dasm_put(Dst, 12933, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2618 dasm_put(Dst, 12950, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2617 dasm_put(Dst, 13017, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2619 dasm_put(Dst, 13034, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2618 break; 2620 break;
2619 case BC_TGETB: 2621 case BC_TGETB:
2620 dasm_put(Dst, 13088, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2622 dasm_put(Dst, 13105, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2621 dasm_put(Dst, 13183, LJ_TNIL); 2623 dasm_put(Dst, 13200, LJ_TNIL);
2622 break; 2624 break;
2623 2625
2624 case BC_TSETV: 2626 case BC_TSETV:
2625 dasm_put(Dst, 13200, LJ_TTAB); 2627 dasm_put(Dst, 13217, LJ_TTAB);
2626 if (LJ_DUALNUM) { 2628 if (LJ_DUALNUM) {
2627 dasm_put(Dst, 12773, LJ_TISNUM); 2629 dasm_put(Dst, 12790, LJ_TISNUM);
2628 } else { 2630 } else {
2629 dasm_put(Dst, 12787, LJ_TISNUM); 2631 dasm_put(Dst, 12804, LJ_TISNUM);
2630 if (sse) { 2632 if (sse) {
2631 dasm_put(Dst, 12798); 2633 dasm_put(Dst, 12815);
2632 } else { 2634 } else {
2633 } 2635 }
2634 dasm_put(Dst, 13223); 2636 dasm_put(Dst, 13240);
2635 } 2637 }
2636 dasm_put(Dst, 13228, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2638 dasm_put(Dst, 13245, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2637 dasm_put(Dst, 13308, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2639 dasm_put(Dst, 13325, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2638 break; 2640 break;
2639 case BC_TSETS: 2641 case BC_TSETS:
2640 dasm_put(Dst, 13365, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2642 dasm_put(Dst, 13382, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2641 dasm_put(Dst, 13441, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2643 dasm_put(Dst, 13458, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2642 dasm_put(Dst, 13529, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2644 dasm_put(Dst, 13546, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2643 break; 2645 break;
2644 case BC_TSETB: 2646 case BC_TSETB:
2645 dasm_put(Dst, 13620, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2647 dasm_put(Dst, 13637, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2646 dasm_put(Dst, 13714, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2648 dasm_put(Dst, 13731, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2647 break; 2649 break;
2648 2650
2649 case BC_TSETM: 2651 case BC_TSETM:
2650 dasm_put(Dst, 13760, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2652 dasm_put(Dst, 13777, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2651 dasm_put(Dst, 13903, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2653 dasm_put(Dst, 13920, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2652 break; 2654 break;
2653 2655
2654 /* -- Calls and vararg handling ----------------------------------------- */ 2656 /* -- Calls and vararg handling ----------------------------------------- */
2655 2657
2656 case BC_CALL: case BC_CALLM: 2658 case BC_CALL: case BC_CALLM:
2657 dasm_put(Dst, 11098); 2659 dasm_put(Dst, 11115);
2658 if (op == BC_CALLM) { 2660 if (op == BC_CALLM) {
2659 dasm_put(Dst, 13921); 2661 dasm_put(Dst, 13938);
2660 } 2662 }
2661 dasm_put(Dst, 13926, LJ_TFUNC, Dt7(->pc)); 2663 dasm_put(Dst, 13943, LJ_TFUNC, Dt7(->pc));
2662 break; 2664 break;
2663 2665
2664 case BC_CALLMT: 2666 case BC_CALLMT:
2665 dasm_put(Dst, 13921); 2667 dasm_put(Dst, 13938);
2666 break; 2668 break;
2667 case BC_CALLT: 2669 case BC_CALLT:
2668 dasm_put(Dst, 13968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2670 dasm_put(Dst, 13985, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2669 dasm_put(Dst, 14083, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2671 dasm_put(Dst, 14100, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2670 break; 2672 break;
2671 2673
2672 case BC_ITERC: 2674 case BC_ITERC:
2673 dasm_put(Dst, 14154, LJ_TFUNC, 2+1, Dt7(->pc)); 2675 dasm_put(Dst, 14171, LJ_TFUNC, 2+1, Dt7(->pc));
2674 break; 2676 break;
2675 2677
2676 case BC_ITERN: 2678 case BC_ITERN:
2677#if LJ_HASJIT 2679#if LJ_HASJIT
2678#endif 2680#endif
2679 dasm_put(Dst, 14225, Dt6(->asize), Dt6(->array), LJ_TNIL); 2681 dasm_put(Dst, 14242, Dt6(->asize), Dt6(->array), LJ_TNIL);
2680 if (LJ_DUALNUM) { 2682 if (LJ_DUALNUM) {
2681 dasm_put(Dst, 10998, LJ_TISNUM); 2683 dasm_put(Dst, 11015, LJ_TISNUM);
2682 } else if (sse) { 2684 } else if (sse) {
2683 dasm_put(Dst, 11075); 2685 dasm_put(Dst, 11092);
2684 } else { 2686 } else {
2685 dasm_put(Dst, 14271); 2687 dasm_put(Dst, 14288);
2686 } 2688 }
2687 dasm_put(Dst, 14277); 2689 dasm_put(Dst, 14294);
2688 if (LJ_DUALNUM) { 2690 if (LJ_DUALNUM) {
2689 } else if (sse) { 2691 } else if (sse) {
2690 dasm_put(Dst, 10963); 2692 dasm_put(Dst, 10980);
2691 } else { 2693 } else {
2692 dasm_put(Dst, 10975); 2694 dasm_put(Dst, 10992);
2693 } 2695 }
2694 dasm_put(Dst, 14290, -BCBIAS_J*4); 2696 dasm_put(Dst, 14307, -BCBIAS_J*4);
2695 if (!LJ_DUALNUM && !sse) { 2697 if (!LJ_DUALNUM && !sse) {
2696 dasm_put(Dst, 14342); 2698 dasm_put(Dst, 14359);
2697 } 2699 }
2698 dasm_put(Dst, 14348, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2700 dasm_put(Dst, 14365, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2699 break; 2701 break;
2700 2702
2701 case BC_ISNEXT: 2703 case BC_ISNEXT:
2702 dasm_put(Dst, 14420, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2704 dasm_put(Dst, 14437, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2703 break; 2705 break;
2704 2706
2705 case BC_VARG: 2707 case BC_VARG:
2706 dasm_put(Dst, 14520, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2708 dasm_put(Dst, 14537, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2707 dasm_put(Dst, 14680, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2709 dasm_put(Dst, 14697, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2708 break; 2710 break;
2709 2711
2710 /* -- Returns ----------------------------------------------------------- */ 2712 /* -- Returns ----------------------------------------------------------- */
2711 2713
2712 case BC_RETM: 2714 case BC_RETM:
2713 dasm_put(Dst, 13921); 2715 dasm_put(Dst, 13938);
2714 break; 2716 break;
2715 2717
2716 case BC_RET: case BC_RET0: case BC_RET1: 2718 case BC_RET: case BC_RET0: case BC_RET1:
2717 if (op != BC_RET0) { 2719 if (op != BC_RET0) {
2718 dasm_put(Dst, 14746); 2720 dasm_put(Dst, 14763);
2719 } 2721 }
2720 dasm_put(Dst, 14750, FRAME_TYPE); 2722 dasm_put(Dst, 14767, FRAME_TYPE);
2721 switch (op) { 2723 switch (op) {
2722 case BC_RET: 2724 case BC_RET:
2723 dasm_put(Dst, 14769); 2725 dasm_put(Dst, 14786);
2724 break; 2726 break;
2725 case BC_RET1: 2727 case BC_RET1:
2726 dasm_put(Dst, 14821); 2728 dasm_put(Dst, 14838);
2727 /* fallthrough */ 2729 /* fallthrough */
2728 case BC_RET0: 2730 case BC_RET0:
2729 dasm_put(Dst, 14831); 2731 dasm_put(Dst, 14848);
2730 default: 2732 default:
2731 break; 2733 break;
2732 } 2734 }
2733 dasm_put(Dst, 14842, Dt7(->pc), PC2PROTO(k)); 2735 dasm_put(Dst, 14859, Dt7(->pc), PC2PROTO(k));
2734 if (op == BC_RET) { 2736 if (op == BC_RET) {
2735 dasm_put(Dst, 14886, LJ_TNIL); 2737 dasm_put(Dst, 14903, LJ_TNIL);
2736 } else { 2738 } else {
2737 dasm_put(Dst, 14895, LJ_TNIL); 2739 dasm_put(Dst, 14912, LJ_TNIL);
2738 } 2740 }
2739 dasm_put(Dst, 14902, -FRAME_VARG, FRAME_TYPEP); 2741 dasm_put(Dst, 14919, -FRAME_VARG, FRAME_TYPEP);
2740 if (op != BC_RET0) { 2742 if (op != BC_RET0) {
2741 dasm_put(Dst, 14926); 2743 dasm_put(Dst, 14943);
2742 } 2744 }
2743 dasm_put(Dst, 4648); 2745 dasm_put(Dst, 4665);
2744 break; 2746 break;
2745 2747
2746 /* -- Loops and branches ------------------------------------------------ */ 2748 /* -- Loops and branches ------------------------------------------------ */
@@ -2748,7 +2750,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2748 2750
2749 case BC_FORL: 2751 case BC_FORL:
2750#if LJ_HASJIT 2752#if LJ_HASJIT
2751 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT); 2753 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT);
2752#endif 2754#endif
2753 break; 2755 break;
2754 2756
@@ -2760,111 +2762,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2760 case BC_FORI: 2762 case BC_FORI:
2761 case BC_IFORL: 2763 case BC_IFORL:
2762 vk = (op == BC_IFORL || op == BC_JFORL); 2764 vk = (op == BC_IFORL || op == BC_JFORL);
2763 dasm_put(Dst, 14951); 2765 dasm_put(Dst, 14968);
2764 if (LJ_DUALNUM) { 2766 if (LJ_DUALNUM) {
2765 dasm_put(Dst, 14955, LJ_TISNUM); 2767 dasm_put(Dst, 14972, LJ_TISNUM);
2766 if (!vk) { 2768 if (!vk) {
2767 dasm_put(Dst, 14965, LJ_TISNUM, LJ_TISNUM); 2769 dasm_put(Dst, 14982, LJ_TISNUM, LJ_TISNUM);
2768 } else { 2770 } else {
2769#ifdef LUA_USE_ASSERT 2771#ifdef LUA_USE_ASSERT
2770 dasm_put(Dst, 14994, LJ_TISNUM, LJ_TISNUM); 2772 dasm_put(Dst, 15011, LJ_TISNUM, LJ_TISNUM);
2771#endif 2773#endif
2772 dasm_put(Dst, 15013); 2774 dasm_put(Dst, 15030);
2773 } 2775 }
2774 dasm_put(Dst, 15032, LJ_TISNUM); 2776 dasm_put(Dst, 15049, LJ_TISNUM);
2775 if (op == BC_FORI) { 2777 if (op == BC_FORI) {
2776 dasm_put(Dst, 15043, -BCBIAS_J*4); 2778 dasm_put(Dst, 15060, -BCBIAS_J*4);
2777 } else if (op == BC_JFORI) { 2779 } else if (op == BC_JFORI) {
2778 dasm_put(Dst, 15057, -BCBIAS_J*4, BC_JLOOP); 2780 dasm_put(Dst, 15074, -BCBIAS_J*4, BC_JLOOP);
2779 } else if (op == BC_IFORL) { 2781 } else if (op == BC_IFORL) {
2780 dasm_put(Dst, 15075, -BCBIAS_J*4); 2782 dasm_put(Dst, 15092, -BCBIAS_J*4);
2781 } else { 2783 } else {
2782 dasm_put(Dst, 15067, BC_JLOOP); 2784 dasm_put(Dst, 15084, BC_JLOOP);
2783 } 2785 }
2784 dasm_put(Dst, 15089); 2786 dasm_put(Dst, 15106);
2785 if (vk) { 2787 if (vk) {
2786 dasm_put(Dst, 15113); 2788 dasm_put(Dst, 15130);
2787 } 2789 }
2788 dasm_put(Dst, 15032, LJ_TISNUM); 2790 dasm_put(Dst, 15049, LJ_TISNUM);
2789 if (op == BC_FORI) { 2791 if (op == BC_FORI) {
2790 dasm_put(Dst, 15122); 2792 dasm_put(Dst, 15139);
2791 } else if (op == BC_JFORI) { 2793 } else if (op == BC_JFORI) {
2792 dasm_put(Dst, 15127, -BCBIAS_J*4, BC_JLOOP); 2794 dasm_put(Dst, 15144, -BCBIAS_J*4, BC_JLOOP);
2793 } else if (op == BC_IFORL) { 2795 } else if (op == BC_IFORL) {
2794 dasm_put(Dst, 15141); 2796 dasm_put(Dst, 15158);
2795 } else { 2797 } else {
2796 dasm_put(Dst, 15137, BC_JLOOP); 2798 dasm_put(Dst, 15154, BC_JLOOP);
2797 } 2799 }
2798 dasm_put(Dst, 15146); 2800 dasm_put(Dst, 15163);
2799 } else if (!vk) { 2801 } else if (!vk) {
2800 dasm_put(Dst, 15153, LJ_TISNUM); 2802 dasm_put(Dst, 15170, LJ_TISNUM);
2801 } 2803 }
2802 if (!vk) { 2804 if (!vk) {
2803 dasm_put(Dst, 15159, LJ_TISNUM); 2805 dasm_put(Dst, 15176, LJ_TISNUM);
2804 } else { 2806 } else {
2805#ifdef LUA_USE_ASSERT 2807#ifdef LUA_USE_ASSERT
2806 dasm_put(Dst, 15173, LJ_TISNUM, LJ_TISNUM); 2808 dasm_put(Dst, 15190, LJ_TISNUM, LJ_TISNUM);
2807#endif 2809#endif
2808 } 2810 }
2809 dasm_put(Dst, 15192); 2811 dasm_put(Dst, 15209);
2810 if (!vk) { 2812 if (!vk) {
2811 dasm_put(Dst, 15196, LJ_TISNUM); 2813 dasm_put(Dst, 15213, LJ_TISNUM);
2812 } 2814 }
2813 if (sse) { 2815 if (sse) {
2814 dasm_put(Dst, 15205); 2816 dasm_put(Dst, 15222);
2815 if (vk) { 2817 if (vk) {
2816 dasm_put(Dst, 15217); 2818 dasm_put(Dst, 15234);
2817 } else { 2819 } else {
2818 dasm_put(Dst, 15236); 2820 dasm_put(Dst, 15253);
2819 } 2821 }
2820 dasm_put(Dst, 15241); 2822 dasm_put(Dst, 15258);
2821 } else { 2823 } else {
2822 dasm_put(Dst, 15254); 2824 dasm_put(Dst, 15271);
2823 if (vk) { 2825 if (vk) {
2824 dasm_put(Dst, 15260); 2826 dasm_put(Dst, 15277);
2825 } else { 2827 } else {
2826 dasm_put(Dst, 15276); 2828 dasm_put(Dst, 15293);
2827 } 2829 }
2828 dasm_put(Dst, 15284); 2830 dasm_put(Dst, 15301);
2829 if (cmov) { 2831 if (cmov) {
2830 dasm_put(Dst, 10062); 2832 dasm_put(Dst, 10079);
2831 } else { 2833 } else {
2832 dasm_put(Dst, 10068); 2834 dasm_put(Dst, 10085);
2833 } 2835 }
2834 if (!cmov) { 2836 if (!cmov) {
2835 dasm_put(Dst, 15289); 2837 dasm_put(Dst, 15306);
2836 } 2838 }
2837 } 2839 }
2838 if (op == BC_FORI) { 2840 if (op == BC_FORI) {
2839 if (LJ_DUALNUM) { 2841 if (LJ_DUALNUM) {
2840 dasm_put(Dst, 15295); 2842 dasm_put(Dst, 15312);
2841 } else { 2843 } else {
2842 dasm_put(Dst, 15300, -BCBIAS_J*4); 2844 dasm_put(Dst, 15317, -BCBIAS_J*4);
2843 } 2845 }
2844 } else if (op == BC_JFORI) { 2846 } else if (op == BC_JFORI) {
2845 dasm_put(Dst, 15310, -BCBIAS_J*4, BC_JLOOP); 2847 dasm_put(Dst, 15327, -BCBIAS_J*4, BC_JLOOP);
2846 } else if (op == BC_IFORL) { 2848 } else if (op == BC_IFORL) {
2847 if (LJ_DUALNUM) { 2849 if (LJ_DUALNUM) {
2848 dasm_put(Dst, 15324); 2850 dasm_put(Dst, 15341);
2849 } else { 2851 } else {
2850 dasm_put(Dst, 15329, -BCBIAS_J*4); 2852 dasm_put(Dst, 15346, -BCBIAS_J*4);
2851 } 2853 }
2852 } else { 2854 } else {
2853 dasm_put(Dst, 15320, BC_JLOOP); 2855 dasm_put(Dst, 15337, BC_JLOOP);
2854 } 2856 }
2855 if (LJ_DUALNUM) { 2857 if (LJ_DUALNUM) {
2856 dasm_put(Dst, 9991); 2858 dasm_put(Dst, 10008);
2857 } else { 2859 } else {
2858 dasm_put(Dst, 10748); 2860 dasm_put(Dst, 10765);
2859 } 2861 }
2860 if (sse) { 2862 if (sse) {
2861 dasm_put(Dst, 15339); 2863 dasm_put(Dst, 15356);
2862 } 2864 }
2863 break; 2865 break;
2864 2866
2865 case BC_ITERL: 2867 case BC_ITERL:
2866#if LJ_HASJIT 2868#if LJ_HASJIT
2867 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT); 2869 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT);
2868#endif 2870#endif
2869 break; 2871 break;
2870 2872
@@ -2873,33 +2875,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2873 break; 2875 break;
2874#endif 2876#endif
2875 case BC_IITERL: 2877 case BC_IITERL:
2876 dasm_put(Dst, 15350, LJ_TNIL); 2878 dasm_put(Dst, 15367, LJ_TNIL);
2877 if (op == BC_JITERL) { 2879 if (op == BC_JITERL) {
2878 dasm_put(Dst, 15365, BC_JLOOP); 2880 dasm_put(Dst, 15382, BC_JLOOP);
2879 } else { 2881 } else {
2880 dasm_put(Dst, 15379, -BCBIAS_J*4); 2882 dasm_put(Dst, 15396, -BCBIAS_J*4);
2881 } 2883 }
2882 dasm_put(Dst, 10105); 2884 dasm_put(Dst, 10122);
2883 break; 2885 break;
2884 2886
2885 case BC_LOOP: 2887 case BC_LOOP:
2886#if LJ_HASJIT 2888#if LJ_HASJIT
2887 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT); 2889 dasm_put(Dst, 14947, HOTCOUNT_PCMASK, GG_DISP2HOT);
2888#endif 2890#endif
2889 break; 2891 break;
2890 2892
2891 case BC_ILOOP: 2893 case BC_ILOOP:
2892 dasm_put(Dst, 10107); 2894 dasm_put(Dst, 10124);
2893 break; 2895 break;
2894 2896
2895 case BC_JLOOP: 2897 case BC_JLOOP:
2896#if LJ_HASJIT 2898#if LJ_HASJIT
2897 dasm_put(Dst, 15395, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2899 dasm_put(Dst, 15412, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2898#endif 2900#endif
2899 break; 2901 break;
2900 2902
2901 case BC_JMP: 2903 case BC_JMP:
2902 dasm_put(Dst, 15504, -BCBIAS_J*4); 2904 dasm_put(Dst, 15521, -BCBIAS_J*4);
2903 break; 2905 break;
2904 2906
2905 /* -- Function headers -------------------------------------------------- */ 2907 /* -- Function headers -------------------------------------------------- */
@@ -2913,7 +2915,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2913 2915
2914 case BC_FUNCF: 2916 case BC_FUNCF:
2915#if LJ_HASJIT 2917#if LJ_HASJIT
2916 dasm_put(Dst, 15529, HOTCOUNT_PCMASK, GG_DISP2HOT); 2918 dasm_put(Dst, 15546, HOTCOUNT_PCMASK, GG_DISP2HOT);
2917#endif 2919#endif
2918 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2920 case BC_FUNCV: /* NYI: compiled vararg functions. */
2919 break; 2921 break;
@@ -2923,47 +2925,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2923 break; 2925 break;
2924#endif 2926#endif
2925 case BC_IFUNCF: 2927 case BC_IFUNCF:
2926 dasm_put(Dst, 15550, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2928 dasm_put(Dst, 15567, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2927 if (op == BC_JFUNCF) { 2929 if (op == BC_JFUNCF) {
2928 dasm_put(Dst, 15580, BC_JLOOP); 2930 dasm_put(Dst, 15597, BC_JLOOP);
2929 } else { 2931 } else {
2930 dasm_put(Dst, 10107); 2932 dasm_put(Dst, 10124);
2931 } 2933 }
2932 dasm_put(Dst, 15589, LJ_TNIL); 2934 dasm_put(Dst, 15606, LJ_TNIL);
2933 break; 2935 break;
2934 2936
2935 case BC_JFUNCV: 2937 case BC_JFUNCV:
2936#if !LJ_HASJIT 2938#if !LJ_HASJIT
2937 break; 2939 break;
2938#endif 2940#endif
2939 dasm_put(Dst, 9252); 2941 dasm_put(Dst, 9269);
2940 break; /* NYI: compiled vararg functions. */ 2942 break; /* NYI: compiled vararg functions. */
2941 2943
2942 case BC_IFUNCV: 2944 case BC_IFUNCV:
2943 dasm_put(Dst, 15611, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2945 dasm_put(Dst, 15628, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2944 if (op == BC_JFUNCV) { 2946 if (op == BC_JFUNCV) {
2945 dasm_put(Dst, 15580, BC_JLOOP); 2947 dasm_put(Dst, 15597, BC_JLOOP);
2946 } else { 2948 } else {
2947 dasm_put(Dst, 15702, -4+PC2PROTO(k)); 2949 dasm_put(Dst, 15719, -4+PC2PROTO(k));
2948 } 2950 }
2949 dasm_put(Dst, 15725, LJ_TNIL); 2951 dasm_put(Dst, 15742, LJ_TNIL);
2950 break; 2952 break;
2951 2953
2952 case BC_FUNCC: 2954 case BC_FUNCC:
2953 case BC_FUNCCW: 2955 case BC_FUNCCW:
2954 dasm_put(Dst, 15747, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2956 dasm_put(Dst, 15764, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2955 if (op == BC_FUNCC) { 2957 if (op == BC_FUNCC) {
2956 dasm_put(Dst, 2312); 2958 dasm_put(Dst, 2329);
2957 } else { 2959 } else {
2958 dasm_put(Dst, 15777); 2960 dasm_put(Dst, 15794);
2959 } 2961 }
2960 dasm_put(Dst, 15785, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2962 dasm_put(Dst, 15802, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2961 if (op == BC_FUNCC) { 2963 if (op == BC_FUNCC) {
2962 dasm_put(Dst, 15794); 2964 dasm_put(Dst, 15811);
2963 } else { 2965 } else {
2964 dasm_put(Dst, 15798, DISPATCH_GL(wrapf)); 2966 dasm_put(Dst, 15815, DISPATCH_GL(wrapf));
2965 } 2967 }
2966 dasm_put(Dst, 15803, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2968 dasm_put(Dst, 15820, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2967 break; 2969 break;
2968 2970
2969 /* ---------------------------------------------------------------------- */ 2971 /* ---------------------------------------------------------------------- */
@@ -2991,7 +2993,7 @@ static int build_backend(BuildCtx *ctx)
2991 2993
2992 build_subroutines(ctx, cmov, sse); 2994 build_subroutines(ctx, cmov, sse);
2993 2995
2994 dasm_put(Dst, 15828); 2996 dasm_put(Dst, 15845);
2995 for (op = 0; op < BC__MAX; op++) 2997 for (op = 0; op < BC__MAX; op++)
2996 build_ins(ctx, (BCOp)op, op, cmov, sse); 2998 build_ins(ctx, (BCOp)op, op, cmov, sse);
2997 2999