aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2011-04-05 12:59:03 +0200
committerMike Pall <mike>2011-04-05 13:00:13 +0200
commit5b7a8baea443f7398c1155d3ae474e86450e683d (patch)
tree4cbde7c263698d01ade66111951f826fc4a0db89 /src
parent314995aebf20ce47f854cdab3722085c944f9e74 (diff)
downloadluajit-5b7a8baea443f7398c1155d3ae474e86450e683d.tar.gz
luajit-5b7a8baea443f7398c1155d3ae474e86450e683d.tar.bz2
luajit-5b7a8baea443f7398c1155d3ae474e86450e683d.zip
x64: Fix getmetatable(lightuserdata).
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_x64.h2105
-rw-r--r--src/buildvm_x64win.h1636
-rw-r--r--src/buildvm_x86.dasc12
-rw-r--r--src/buildvm_x86.h2
4 files changed, 1883 insertions, 1872 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index ca235221..927ecc6b 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.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[15975] = { 15static const unsigned char build_actionlist[15992] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -112,368 +112,368 @@ static const unsigned char build_actionlist[15975] = {
112 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, 112 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,
113 15,133,244,3,255,252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244, 113 15,133,244,3,255,252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,
114 63,139,1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253, 114 63,139,1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,
115 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213, 115 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,
116 65,139,172,253,174,233,252,233,244,2,248,65,255,129,252,248,239,15,130,244, 116 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172,
117 60,129,122,253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129, 117 253,174,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,129,122,253,
118 122,253,12,239,15,133,244,60,139,66,8,137,133,233,139,90,252,252,199,66,252, 118 4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,
119 252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235, 119 15,133,244,60,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255,
120 255,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,63,248,66, 120 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139,
121 129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139, 121 134,233,65,137,174,233,137,133,233,248,1,252,233,244,63,248,66,129,252,248,
122 50,141,82,8,139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252, 122 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,50,141,82,8,
123 72,137,106,252,248,252,233,244,63,248,67,129,252,248,239,15,133,244,60,129, 123 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106,
124 122,253,4,239,255,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60, 124 252,248,252,233,244,63,248,67,255,129,252,248,239,15,133,244,60,129,122,253,
125 255,15,131,244,60,255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244, 125 4,239,255,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,
126 70,255,248,71,129,252,248,239,15,130,244,60,139,90,252,252,129,122,253,4, 126 131,244,60,255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,
127 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233, 127 248,71,129,252,248,239,15,130,244,60,139,90,252,252,129,122,253,4,239,15,
128 244,63,248,3,129,122,253,4,239,15,135,244,60,65,131,190,233,0,15,133,244, 128 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,63,
129 60,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,72,248,1,139,108, 129 248,3,129,122,253,4,239,15,135,244,60,65,131,190,233,0,15,133,244,60,65,139,
130 36,24,137,149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232, 130 174,233,65,59,174,233,255,15,130,244,247,232,244,72,248,1,139,108,36,24,137,
131 251,1,13,255,139,149,233,252,233,244,2,248,73,129,252,248,239,15,130,244, 131 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13,
132 60,15,132,244,248,248,1,129,122,253,4,239,15,133,244,60,139,108,36,24,137, 132 255,139,149,233,252,233,244,2,248,73,129,252,248,239,15,130,244,60,15,132,
133 149,233,137,149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36, 133 244,248,248,1,129,122,253,4,239,15,133,244,60,139,108,36,24,137,149,233,137,
134 28,232,251,1,14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66, 134 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,
135 16,72,137,106,252,248,72,137,2,248,74,184,237,255,252,233,244,75,248,2,199, 135 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,
136 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,63,248,76,129, 136 252,248,72,137,2,248,74,184,237,255,252,233,244,75,248,2,199,66,12,237,252,
137 252,248,239,15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255,131, 137 233,244,1,248,3,199,66,252,252,237,252,233,244,63,248,76,129,252,248,239,
138 189,233,0,15,133,244,60,255,139,106,252,248,139,133,233,139,90,252,252,199, 138 15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255,131,189,233,0,15,
139 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248,77, 139 133,244,60,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
140 129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122,253, 140 237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248,77,129,252,248,
141 12,239,255,139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66, 141 239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122,253,12,239,255,
142 252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15, 142 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,
143 88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15, 143 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,
144 131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,78,72, 144 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,
145 139,40,72,137,42,252,233,244,74,248,2,131,189,233,0,15,132,244,78,137,252, 145 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,78,72,139,40,72,137,
146 239,137,213,137,198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,78, 146 42,252,233,244,74,248,2,131,189,233,0,15,132,244,78,137,252,239,137,213,137,
147 184,237,252,233,244,75,248,79,255,139,106,252,248,139,133,233,139,90,252, 147 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,78,184,237,252,233,
148 252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0, 148 244,75,248,79,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
149 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252, 149 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,
150 233,244,75,248,80,129,252,248,239,15,130,244,60,141,74,8,131,232,1,187,237, 150 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,75,248,80,129,
151 248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,28, 151 252,248,239,15,130,244,60,141,74,8,131,232,1,187,237,248,1,65,15,182,174,
152 248,81,129,252,248,239,15,130,244,60,129,122,253,12,239,15,133,244,60,255, 152 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,81,129,252,248,
153 139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74, 153 239,15,130,244,60,129,122,253,12,239,15,133,244,60,255,139,106,4,137,106,
154 16,131,232,2,187,237,252,233,244,1,248,82,129,252,248,239,15,130,244,60,139, 154 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187,
155 42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,60, 155 237,252,233,244,1,248,82,129,252,248,239,15,130,244,60,139,42,139,90,252,
156 72,131,189,233,0,15,133,244,60,128,189,233,235,15,135,244,60,139,141,233, 156 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,60,72,131,189,233,
157 15,132,244,247,255,59,141,233,15,132,244,60,248,1,141,92,193,252,240,59,157, 157 0,15,133,244,60,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,
158 233,15,135,244,60,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149, 158 255,59,141,233,15,132,244,60,248,1,141,92,193,252,240,59,157,233,15,135,244,
159 233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72, 159 60,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194,
160 137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36, 160 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131,
161 232,244,25,65,199,134,233,237,255,139,108,36,24,139,28,36,139,149,233,129, 161 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,
162 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, 162 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,
163 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, 163 254,248,4,139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,
164 244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252, 164 132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,
165 249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7,139,92,36,28,137, 165 205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,
166 68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247,195,237,255,15, 166 141,67,2,199,66,252,252,237,248,7,139,92,36,28,137,68,36,4,72,199,193,252,
167 132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233, 167 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,
168 8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68, 168 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139,
169 137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233, 169 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137,
170 244,4,248,83,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137, 170 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,83,139,106,252,
171 44,36,72,131,189,233,0,15,133,244,60,255,128,189,233,235,15,135,244,60,139, 171 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15,
172 141,233,15,132,244,247,59,141,233,15,132,244,60,248,1,141,92,193,252,248, 172 133,244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,59,
173 59,157,233,15,135,244,60,137,157,233,139,108,36,24,137,149,233,137,149,233, 173 141,233,15,132,244,60,248,1,141,92,193,252,248,59,157,233,15,135,244,60,137,
174 141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,72,139,4,43, 174 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221,
175 72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60, 175 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235,
176 36,232,244,25,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129, 176 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,
177 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, 177 139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,
178 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, 178 139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,
179 244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57, 179 141,4,26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,
180 252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,4,49,201, 180 5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,
181 252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,239,232, 181 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,
182 251,1,16,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139, 182 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137,
183 28,36,139,149,233,252,233,244,4,248,84,139,108,36,24,72,252,247,133,233,237, 183 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,
184 15,132,244,60,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137, 184 4,248,84,139,108,36,24,72,252,247,133,233,237,15,132,244,60,255,137,149,233,
185 133,233,176,235,136,133,233,252,233,244,16,255,248,68,255,248,70,139,90,252, 185 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,
186 252,221,90,252,248,252,233,244,63,255,248,85,129,252,248,239,15,130,244,60, 186 252,233,244,16,255,248,68,255,248,70,139,90,252,252,221,90,252,248,252,233,
187 255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252, 187 244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,
188 247,221,15,136,244,247,248,86,248,68,139,90,252,252,199,66,252,252,237,137, 188 133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136,244,247,
189 106,252,248,252,233,244,63,248,1,139,90,252,252,199,66,252,252,0,0,224,65, 189 248,86,248,68,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244,
190 199,66,252,248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253, 190 63,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,
191 4,239,15,131,244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200, 191 252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131,244,60,255,
192 15,84,193,248,69,139,90,252,252,252,242,15,17,66,252,248,255,221,2,217,225, 192 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,69,139,90,
193 248,69,248,70,139,90,252,252,221,90,252,248,255,248,63,184,237,248,75,137, 193 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,69,248,70,139,90,252,
194 68,36,4,248,61,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135, 194 252,221,90,252,248,255,248,63,184,237,248,75,137,68,36,4,248,61,252,247,195,
195 244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182, 195 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,
196 232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237, 196 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
197 131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255, 197 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,
198 252,233,244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233, 198 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,87,255,129,
199 244,68,248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15, 199 122,253,4,239,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,
200 45,232,129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193, 200 252,242,15,16,2,232,244,88,255,252,242,15,45,232,129,252,253,0,0,0,128,15,
201 15,138,244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,242,15, 201 133,244,68,252,242,15,42,205,102,15,46,193,15,138,244,69,15,132,244,68,255,
202 16,2,232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,130,244, 202 221,2,232,244,88,255,248,89,255,252,242,15,16,2,232,244,90,255,221,2,232,
203 60,129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,255,248, 203 244,90,255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
204 91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217, 204 244,60,252,242,15,81,2,252,233,244,69,255,248,91,129,252,248,239,15,130,244,
205 252,250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,129,122,253, 205 60,129,122,253,4,239,15,131,244,60,221,2,217,252,250,252,233,244,70,255,248,
206 4,239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,70,248,93,129, 206 92,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,
207 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,236,221, 207 237,221,2,217,252,241,252,233,244,70,248,93,129,252,248,239,15,130,244,60,
208 2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,244,60,129, 208 129,122,253,4,239,15,131,244,60,217,252,236,221,2,217,252,241,252,233,244,
209 122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,96,129,252, 209 70,248,94,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,
210 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,254,252, 210 60,221,2,232,244,95,252,233,244,70,248,96,129,252,248,239,15,130,244,60,129,
211 233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15, 211 122,253,4,239,15,131,244,60,221,2,217,252,254,252,233,244,70,248,97,129,252,
212 131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,15,130, 212 248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,255,
213 244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,233, 213 252,233,244,70,248,98,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
214 244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,131, 214 131,244,60,221,2,217,252,242,221,216,252,233,244,70,248,99,129,252,248,239,
215 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 215 15,130,244,60,255,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,
216 233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 216 232,222,225,217,252,250,217,252,243,252,233,244,70,248,100,129,252,248,239,
217 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 217 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,232,
218 243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,4,239, 218 222,225,217,252,250,217,201,217,252,243,252,233,244,70,248,101,129,252,248,
219 15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,102,129, 219 239,15,130,244,60,129,122,253,4,239,15,131,244,60,255,221,2,217,232,217,252,
220 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2, 220 243,252,233,244,70,255,248,102,129,252,248,239,15,130,244,60,129,122,253,
221 255,137,213,232,251,1,17,137,252,234,252,233,244,69,255,248,103,129,252,248, 221 4,239,15,131,244,60,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,
222 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137, 222 252,233,244,69,255,248,103,129,252,248,239,15,130,244,60,129,122,253,4,239,
223 213,232,251,1,18,137,252,234,252,233,244,69,255,248,104,129,252,248,239,15, 223 15,131,244,60,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,
224 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,213,232, 224 244,69,255,248,104,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
225 251,1,19,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,239,15, 225 244,60,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,69,
226 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248, 226 248,105,255,248,106,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
227 252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244, 227 244,60,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,
228 60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252, 228 69,255,248,106,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,
229 233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 229 60,221,2,139,106,252,248,220,141,233,252,233,244,70,255,248,107,129,252,248,
230 131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252, 230 239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,
231 233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 231 244,60,221,2,221,66,8,217,252,243,252,233,244,70,248,108,129,252,248,239,
232 244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221, 232 15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,255,15,131,
233 217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252, 233 244,60,221,66,8,221,2,217,252,253,221,217,252,233,244,70,248,109,129,252,
234 253,239,15,131,244,60,139,90,252,252,139,2,137,106,252,252,137,66,252,248, 234 248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,90,252,
235 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, 235 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,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, 236 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,
237 197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129, 237 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,
238 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252, 238 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,
239 242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15,87,192,252, 239 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,
240 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72, 240 237,252,233,244,75,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,
241 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248, 241 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
242 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252, 242 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,
243 184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252,248,239,15,130,244, 243 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,
244 60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,248,110,129,252,248, 244 244,1,255,248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
245 239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,255,139,106,4,139, 245 244,60,252,242,15,16,2,255,248,110,129,252,248,239,15,130,244,60,129,122,
246 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224, 246 253,4,239,15,131,244,60,221,2,255,139,106,4,139,90,252,252,209,229,129,252,
247 232,244,111,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17, 247 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,111,252,242,15,92,
248 34,255,217,192,232,244,111,220,252,233,248,1,221,90,252,248,221,26,255,139, 248 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,111,
249 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,75,248, 249 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,
250 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, 250 15,136,244,249,248,2,184,237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,
251 244,1,255,217,252,238,217,201,252,233,244,1,255,248,112,129,252,248,239,15, 251 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,
252 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 252 201,252,233,244,1,255,248,112,129,252,248,239,15,130,244,60,129,122,253,4,
253 60,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, 253 239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,
254 233,244,70,255,248,113,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 254 252,248,223,224,158,15,138,244,1,221,217,252,233,244,70,255,248,113,129,252,
255 131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16, 255 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,
256 74,8,232,244,114,252,233,244,69,255,248,113,129,252,248,239,15,130,244,60, 256 15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,
257 129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221, 257 69,255,248,113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,
258 66,8,232,244,114,252,233,244,70,255,248,115,185,2,0,0,0,129,122,253,4,239, 258 60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,
259 255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,252, 259 70,255,248,115,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,
260 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1, 260 1,57,193,15,131,244,68,129,124,253,202,252,252,239,15,133,244,249,59,108,
261 252,233,244,1,248,3,15,135,244,60,255,252,233,244,252,248,4,15,135,244,60, 261 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,
262 255,252,242,15,16,2,248,5,57,193,15,131,244,69,129,124,253,202,252,252,239, 262 60,255,252,233,244,252,248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,
263 255,15,130,244,252,15,135,244,60,252,242,15,42,76,202,252,248,252,233,244, 263 15,131,244,69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,60,
264 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193, 264 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,
265 1,252,233,244,5,255,248,116,185,2,0,0,0,129,122,253,4,239,255,15,133,244, 265 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,116,185,2,
266 250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,252,252,239,15,133, 266 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
267 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1, 267 68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,
268 248,3,15,135,244,60,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242, 268 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,
269 15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,244,60,255,248, 269 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,
270 117,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,139,42, 270 248,9,221,216,252,233,244,60,255,248,117,129,252,248,239,15,130,244,60,129,
271 255,139,173,233,252,233,244,68,255,252,242,15,42,133,233,252,233,244,69,255, 271 122,253,4,239,15,133,244,60,139,42,255,139,173,233,252,233,244,68,255,252,
272 219,133,233,252,233,244,70,255,248,118,129,252,248,239,15,133,244,60,129, 272 242,15,42,133,233,252,233,244,69,255,219,133,233,252,233,244,70,255,248,118,
273 122,253,4,239,15,133,244,60,139,42,139,90,252,252,131,189,233,1,15,130,244, 273 129,252,248,239,15,133,244,60,129,122,253,4,239,15,133,244,60,139,42,139,
274 78,15,182,173,233,255,252,242,15,42,197,252,233,244,69,255,137,44,36,219, 274 90,252,252,131,189,233,1,15,130,244,78,15,182,173,233,255,252,242,15,42,197,
275 4,36,252,233,244,70,255,248,119,65,139,174,233,65,59,174,233,15,130,244,247, 275 252,233,244,69,255,137,44,36,219,4,36,252,233,244,70,255,248,119,65,139,174,
276 232,244,72,248,1,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133, 276 233,65,59,174,233,15,130,244,247,232,244,72,248,1,129,252,248,239,15,133,
277 244,60,139,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,4,255,15, 277 244,60,129,122,253,4,239,255,15,133,244,60,139,42,129,252,253,252,255,0,0,
278 131,244,60,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108, 278 0,15,135,244,60,137,108,36,4,255,15,131,244,60,252,242,15,44,42,129,252,253,
279 36,4,255,15,131,244,60,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135, 279 252,255,0,0,0,15,135,244,60,137,108,36,4,255,15,131,244,60,221,2,219,92,36,
280 244,60,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,120,139,108,36,24,137,149, 280 4,129,124,36,4,252,255,0,0,0,15,135,244,60,255,199,68,36,8,1,0,0,0,72,141,
281 233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251,1,20,139,149, 281 68,36,4,248,120,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,
282 233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,63,248,121, 282 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,
283 65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,199,68,36,4, 283 137,66,252,248,252,233,244,63,248,121,65,139,174,233,65,59,174,233,15,130,
284 252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,60,15,134,244, 284 244,247,232,244,72,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,
285 247,129,122,253,20,239,255,15,133,244,60,139,106,16,137,108,36,4,255,15,131, 285 252,248,239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,133,244,
286 244,60,252,242,15,44,106,16,137,108,36,4,255,15,131,244,60,221,66,16,219, 286 60,139,106,16,137,108,36,4,255,15,131,244,60,252,242,15,44,106,16,137,108,
287 92,36,4,255,248,1,129,122,253,4,239,15,133,244,60,129,122,253,12,239,255, 287 36,4,255,15,131,244,60,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,
288 139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139, 288 15,133,244,60,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,
289 68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108, 289 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,
290 36,8,41,200,15,140,244,122,141,172,253,13,233,131,192,1,248,4,137,68,36,8, 290 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,122,141,172,
291 137,232,252,233,244,120,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248, 291 253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,120,248,5,15,140,
292 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143, 292 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
293 244,3,248,8,185,1,0,0,0,252,233,244,3,248,122,49,192,252,233,244,4,248,123, 293 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
294 129,252,248,239,15,130,244,60,65,139,174,233,65,59,174,233,15,130,244,247, 294 3,248,122,49,192,252,233,244,4,248,123,129,252,248,239,15,130,244,60,65,139,
295 232,244,72,248,1,255,129,122,253,4,239,15,133,244,60,129,122,253,12,239,139, 295 174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,255,129,122,253,4,239,
296 42,255,15,133,244,60,139,66,8,255,15,131,244,60,252,242,15,44,66,8,255,15, 296 15,133,244,60,129,122,253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,
297 131,244,60,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,122,131, 297 131,244,60,252,242,15,44,66,8,255,15,131,244,60,221,66,8,219,92,36,4,139,
298 189,233,1,15,130,244,122,15,133,244,124,65,57,134,233,15,130,244,124,15,182, 298 68,36,4,255,133,192,15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,
299 141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15, 299 124,65,57,134,233,15,130,244,124,15,182,141,233,65,139,174,233,137,68,36,
300 133,244,1,65,139,134,233,252,233,244,120,248,125,129,252,248,239,255,15,130, 300 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,
301 244,60,65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,129,122, 301 244,120,248,125,129,252,248,239,255,15,130,244,60,65,139,174,233,65,59,174,
302 253,4,239,15,133,244,60,139,42,139,133,233,133,192,15,132,244,122,65,57,134, 302 233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,
303 233,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248, 303 139,133,233,133,192,15,132,244,122,65,57,134,233,15,130,244,126,129,197,239,
304 1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92, 304 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,
305 36,4,252,233,244,120,248,127,129,252,248,239,15,130,244,60,65,139,174,233, 305 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,120,248,127,129,
306 65,59,174,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244, 306 252,248,239,15,130,244,60,65,139,174,233,65,59,174,233,15,130,244,247,232,
307 60,139,42,139,133,233,65,57,134,233,255,15,130,244,126,129,197,239,137,92, 307 244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,65,57,134,
308 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252, 308 233,255,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,
309 249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2, 309 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
310 136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,120, 310 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,
311 248,128,129,252,248,239,15,130,244,60,255,65,139,174,233,65,59,174,233,15, 311 244,1,137,216,139,92,36,4,252,233,244,120,248,128,129,252,248,239,15,130,
312 130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133, 312 244,60,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,129,
313 233,65,57,134,233,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139, 313 122,253,4,239,15,133,244,60,139,42,139,133,233,65,57,134,233,15,130,244,126,
314 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248, 314 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,
315 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131, 315 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
316 232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,120,248,129,129,252,248, 316 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,
317 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,58,232,251, 317 92,36,4,252,233,244,120,248,129,129,252,248,239,15,130,244,60,129,122,253,
318 1,21,137,252,234,255,137,197,252,233,244,68,255,252,242,15,42,192,252,233, 318 4,239,15,133,244,60,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,
319 244,69,255,248,130,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244, 319 233,244,68,255,252,242,15,42,192,252,233,244,69,255,248,130,129,122,253,4,
320 86,248,1,15,135,244,60,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, 320 239,255,15,133,244,247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,
321 252,242,15,88,193,102,15,126,197,255,252,233,244,86,255,248,131,255,72,189, 321 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,
322 237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,255,15,133,244,247,139, 322 197,255,252,233,244,86,255,248,131,255,72,189,237,237,102,72,15,110,205,255,
323 42,252,233,244,248,248,1,15,135,244,60,255,252,242,15,16,2,252,242,15,88, 323 199,4,36,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,
324 193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,252,240,248,1,57,208, 324 244,60,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,
325 15,134,244,86,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,233, 325 68,36,4,141,68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,
326 244,1,248,2,15,135,244,132,255,15,131,244,132,255,252,242,15,16,0,252,242, 326 15,133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,
327 15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,133,255,15, 327 131,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,
328 133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252,242, 328 131,232,8,252,233,244,1,248,133,255,15,133,244,248,11,40,131,232,8,252,233,
329 15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244, 329 244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,
330 1,248,134,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244, 330 193,9,205,255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,51,40,131,
331 132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232, 331 232,8,252,233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,
332 8,252,233,244,1,248,135,129,122,253,4,239,255,248,2,15,205,252,233,244,86, 332 193,102,15,126,193,49,205,255,131,232,8,252,233,244,1,248,135,129,122,253,
333 248,136,129,122,253,4,239,255,248,2,252,247,213,255,248,86,252,242,15,42, 333 4,239,255,248,2,15,205,252,233,244,86,248,136,129,122,253,4,239,255,248,2,
334 197,252,233,244,69,255,248,132,139,68,36,4,252,233,244,60,255,248,137,129, 334 252,247,213,255,248,86,252,242,15,42,197,252,233,244,69,255,248,132,139,68,
335 122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,60,139,74,8,255,248, 335 36,4,252,233,244,60,255,248,137,129,122,253,4,239,255,248,2,129,122,253,12,
336 137,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 336 239,15,133,244,60,139,74,8,255,248,137,129,252,248,239,15,130,244,60,129,
337 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 337 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,
338 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, 338 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
339 15,126,201,255,211,229,252,233,244,86,255,248,138,129,122,253,4,239,255,248, 339 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,86,255,
340 138,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 340 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,60,129,122,
341 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 341 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
342 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, 342 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
343 15,126,201,255,211,252,237,252,233,244,86,255,248,139,129,122,253,4,239,255, 343 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,86,
344 248,139,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129, 344 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,60,129,
345 122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237, 345 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,
346 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197, 346 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
347 102,15,126,201,255,211,252,253,252,233,244,86,255,248,140,129,122,253,4,239, 347 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,86,
348 255,248,140,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 348 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,60,129,
349 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189, 349 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,
350 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, 350 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
351 197,102,15,126,201,255,211,197,252,233,244,86,255,248,141,129,122,253,4,239, 351 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,86,255,
352 255,248,141,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 352 248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,
353 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189, 353 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
354 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, 354 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
355 197,102,15,126,201,255,211,205,252,233,244,86,248,124,184,237,252,233,244, 355 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,86,248,
356 60,248,126,184,237,248,60,139,108,36,24,139,90,252,252,137,92,36,28,137,149, 356 124,184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,24,139,90,252,
357 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233, 357 252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
358 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244, 358 66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,
359 75,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252, 359 233,133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,133,
360 248,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4, 360 192,141,65,1,139,106,252,248,15,133,244,248,139,157,233,139,11,15,182,252,
361 65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182, 361 233,15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,252,247,195,
362 107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,221,131, 362 237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,
363 229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,232,251,1, 363 244,28,248,3,137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,
364 0,139,149,233,49,192,252,233,244,1,248,72,93,72,137,108,36,8,139,108,36,24, 364 237,137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,72,
365 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232, 365 137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,
366 251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36, 366 137,252,239,137,133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,
367 8,85,195,248,142,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15, 367 3,131,192,1,72,139,108,36,8,85,195,248,142,255,65,15,182,134,233,168,235,
368 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255, 368 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,
369 248,143,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,144, 369 233,252,233,244,247,255,248,143,65,15,182,134,233,168,235,15,133,244,251,
370 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255, 370 252,233,244,247,248,144,65,15,182,134,233,168,235,15,133,244,251,168,235,
371 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137, 371 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,
372 149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,4,15,182,75, 372 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,
373 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252, 373 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,
374 238,233,248,145,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,146,255, 374 65,252,255,164,253,252,238,233,248,145,131,195,4,139,77,232,137,76,36,4,252,
375 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149, 375 233,244,4,248,146,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
376 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251, 376 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,
377 1,24,252,233,244,3,255,248,147,137,92,36,28,255,248,148,255,137,92,36,28, 377 137,92,36,28,232,251,1,24,252,233,244,3,255,248,147,137,92,36,28,255,248,
378 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133, 378 148,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,
379 233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,131,227,252, 379 137,149,233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,
380 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252, 380 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,
381 253,193,232,3,131,192,1,252,255,229,248,149,255,65,85,65,84,65,83,65,82,65, 381 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,149,255,65,
382 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101, 382 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,
383 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233, 383 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,
384 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131, 384 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,
385 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242, 385 72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,
386 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242, 386 15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,
387 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15, 387 68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,
388 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101, 388 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,
389 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242, 389 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,
390 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233, 390 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,
391 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,72,139,141,233, 391 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,
392 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244, 392 1,26,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,
393 247,255,248,150,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133, 393 153,233,252,233,244,247,255,248,150,255,72,131,196,16,248,1,76,139,108,36,
394 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191, 394 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,
395 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232, 395 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,
396 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65, 396 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,
397 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,1,255, 397 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,
398 248,88,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252, 398 232,251,1,1,255,248,88,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,
399 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, 399 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,
400 36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 400 108,36,4,139,68,36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,
401 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 401 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,
402 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 402 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,
403 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40, 403 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,
404 193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36, 404 15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102,184,
405 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 405 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,
406 36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184, 406 252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,
407 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, 407 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,
408 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, 408 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,
409 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92, 409 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,
410 200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68,36,8,102,184,0,12, 410 194,252,242,15,92,200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68,
411 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 411 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,
412 68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 412 217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,
413 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 413 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
414 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72, 414 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,
415 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86, 415 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,
416 202,15,40,193,248,1,195,248,154,255,15,40,232,252,242,15,94,193,72,184,237, 416 15,92,200,102,15,86,202,15,40,193,248,1,195,248,154,255,15,40,232,252,242,
417 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84, 417 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,
418 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242, 418 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,
419 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196, 419 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,
420 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15, 420 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,
421 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217, 421 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,
422 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252, 422 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,
423 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252, 423 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
424 233,195,255,248,95,217,252,234,222,201,248,155,217,84,36,252,248,129,124, 424 36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201,248,155,217,84,
425 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255, 425 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,
426 15,132,244,248,248,156,217,192,217,252,252,220,252,233,217,201,217,252,240, 426 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217,
427 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, 427 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
428 255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208,102,15,46,202, 428 217,252,238,195,255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208,
429 15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142,244,252,248,1, 429 102,15,46,202,15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142,
430 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, 430 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
431 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, 431 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
432 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, 432 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
433 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72, 433 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,
434 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184, 434 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,
435 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192, 435 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,
436 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132, 436 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,
437 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15, 437 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,
438 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36, 438 251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,
439 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217, 439 240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,
440 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252, 440 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,
441 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247, 441 15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,
442 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194, 442 194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,
443 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193, 443 208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,
444 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255, 444 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,
445 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192, 445 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,
446 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,159,255,131, 446 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,
447 252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,244,111,15,135, 447 248,159,255,131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,
448 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36, 448 244,111,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,
449 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,95,252,233,244, 449 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,
450 253,248,1,232,244,155,255,252,233,244,253,248,2,131,252,255,7,15,132,244, 450 95,252,233,244,253,248,1,232,244,155,255,252,233,244,253,248,2,131,252,255,
451 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, 451 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,
452 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244, 452 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,
453 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, 453 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,
454 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135, 454 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,
455 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, 455 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,
456 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4, 456 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,
457 131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,244,111,15, 457 221,68,36,4,131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,
458 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,95,15,132,244, 458 244,111,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,95,
459 155,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 459 15,132,244,155,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,
460 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, 460 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,
461 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 461 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,
462 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, 462 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,
463 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,160,255,131,252,255, 463 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,160,255,131,
464 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, 464 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,
465 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, 465 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,
466 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,154,15,132, 466 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,154,
467 244,114,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, 467 15,132,244,114,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,
468 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, 468 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,
469 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, 469 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,
470 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, 470 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,
471 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1, 471 244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,
472 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244, 472 248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,
473 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, 473 244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,
474 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 474 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,
475 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 475 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,
476 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 476 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
477 252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,132,244,247,15,135, 477 252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,132,244,247,15,135,
478 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 478 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
479 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 479 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
@@ -1217,626 +1217,627 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1217 } 1217 }
1218 dasm_put(Dst, 1873, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1218 dasm_put(Dst, 1873, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1219 dasm_put(Dst, 1952, 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)); 1219 dasm_put(Dst, 1952, 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));
1220 dasm_put(Dst, 2010, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 1220 dasm_put(Dst, 2010, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1221 dasm_put(Dst, 2079, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); 1221 dasm_put(Dst, 2076, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1222 dasm_put(Dst, 2148, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1222 dasm_put(Dst, 2147, 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);
1223 dasm_put(Dst, 2237, 1+1, LJ_TISNUM);
1223 if (LJ_DUALNUM) { 1224 if (LJ_DUALNUM) {
1224 dasm_put(Dst, 2234);
1225 } else {
1226 dasm_put(Dst, 2251); 1225 dasm_put(Dst, 2251);
1226 } else {
1227 dasm_put(Dst, 2268);
1227 } 1228 }
1228 if (sse) { 1229 if (sse) {
1229 dasm_put(Dst, 2256); 1230 dasm_put(Dst, 2273);
1230 } else { 1231 } else {
1231 dasm_put(Dst, 2266); 1232 dasm_put(Dst, 2283);
1232 } 1233 }
1233 dasm_put(Dst, 2273, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1234 dasm_put(Dst, 2290, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1234 dasm_put(Dst, 2342, Dt1(->base)); 1235 dasm_put(Dst, 2359, Dt1(->base));
1235 if (LJ_DUALNUM) { 1236 if (LJ_DUALNUM) {
1236 dasm_put(Dst, 2368); 1237 dasm_put(Dst, 2385);
1237 } else { 1238 } else {
1238 dasm_put(Dst, 2373); 1239 dasm_put(Dst, 2390);
1239 } 1240 }
1240 dasm_put(Dst, 2378, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1241 dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1241 dasm_put(Dst, 2470, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1242 dasm_put(Dst, 2487, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1242#ifdef LUAJIT_ENABLE_LUA52COMPAT 1243#ifdef LUAJIT_ENABLE_LUA52COMPAT
1243 dasm_put(Dst, 2517, Dt6(->metatable)); 1244 dasm_put(Dst, 2534, Dt6(->metatable));
1244#endif 1245#endif
1245 dasm_put(Dst, 2526, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1246 dasm_put(Dst, 2543, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1246 if (LJ_DUALNUM) { 1247 if (LJ_DUALNUM) {
1247 dasm_put(Dst, 2512); 1248 dasm_put(Dst, 2529);
1248 } else { 1249 } else {
1249 dasm_put(Dst, 2251); 1250 dasm_put(Dst, 2268);
1250 } 1251 }
1251 dasm_put(Dst, 2581); 1252 dasm_put(Dst, 2598);
1252 if (LJ_DUALNUM) { 1253 if (LJ_DUALNUM) {
1253 dasm_put(Dst, 2586, LJ_TISNUM); 1254 dasm_put(Dst, 2603, LJ_TISNUM);
1254 } else if (sse) { 1255 } else if (sse) {
1255 dasm_put(Dst, 2602, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1256 dasm_put(Dst, 2619, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1256 } else { 1257 } else {
1257 } 1258 }
1258 dasm_put(Dst, 2635, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1259 dasm_put(Dst, 2652, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1259 dasm_put(Dst, 2497, 1+1, LJ_TTAB); 1260 dasm_put(Dst, 2514, 1+1, LJ_TTAB);
1260#ifdef LUAJIT_ENABLE_LUA52COMPAT 1261#ifdef LUAJIT_ENABLE_LUA52COMPAT
1261 dasm_put(Dst, 2517, Dt6(->metatable)); 1262 dasm_put(Dst, 2534, Dt6(->metatable));
1262#endif 1263#endif
1263 dasm_put(Dst, 2712, Dt8(->upvalue[0]), LJ_TFUNC); 1264 dasm_put(Dst, 2729, Dt8(->upvalue[0]), LJ_TFUNC);
1264 if (LJ_DUALNUM) { 1265 if (LJ_DUALNUM) {
1265 dasm_put(Dst, 2733, LJ_TISNUM); 1266 dasm_put(Dst, 2750, LJ_TISNUM);
1266 } else if (sse) { 1267 } else if (sse) {
1267 dasm_put(Dst, 2745); 1268 dasm_put(Dst, 2762);
1268 } else { 1269 } else {
1269 dasm_put(Dst, 2755); 1270 dasm_put(Dst, 2772);
1270 } 1271 }
1271 dasm_put(Dst, 2762, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1272 dasm_put(Dst, 2779, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1272 dasm_put(Dst, 2827, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1273 dasm_put(Dst, 2844, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1273 dasm_put(Dst, 2916, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1274 dasm_put(Dst, 2933, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1274 dasm_put(Dst, 3003, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1275 dasm_put(Dst, 3020, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1275 dasm_put(Dst, 3118, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1276 dasm_put(Dst, 3135, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1276 dasm_put(Dst, 3213, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1277 dasm_put(Dst, 3230, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1277 dasm_put(Dst, 3279, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1278 dasm_put(Dst, 3296, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1278 dasm_put(Dst, 3368, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1279 dasm_put(Dst, 3385, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1279 dasm_put(Dst, 3478, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1280 dasm_put(Dst, 3495, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1280 if (!LJ_DUALNUM) { 1281 if (!LJ_DUALNUM) {
1281 dasm_put(Dst, 3505); 1282 dasm_put(Dst, 3522);
1282 } 1283 }
1283 if (sse) { 1284 if (sse) {
1284 dasm_put(Dst, 3508); 1285 dasm_put(Dst, 3525);
1285 } 1286 }
1286 dasm_put(Dst, 3523, 1+1); 1287 dasm_put(Dst, 3540, 1+1);
1287 if (LJ_DUALNUM) { 1288 if (LJ_DUALNUM) {
1288 dasm_put(Dst, 3534, LJ_TISNUM, LJ_TISNUM); 1289 dasm_put(Dst, 3551, LJ_TISNUM, LJ_TISNUM);
1289 } else { 1290 } else {
1290 dasm_put(Dst, 3614, LJ_TISNUM); 1291 dasm_put(Dst, 3631, LJ_TISNUM);
1291 } 1292 }
1292 if (sse) { 1293 if (sse) {
1293 dasm_put(Dst, 3624, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1294 dasm_put(Dst, 3641, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1294 } else { 1295 } else {
1295 dasm_put(Dst, 3655); 1296 dasm_put(Dst, 3672);
1296 } 1297 }
1297 dasm_put(Dst, 3672, 1+1, FRAME_TYPE, LJ_TNIL); 1298 dasm_put(Dst, 3689, 1+1, FRAME_TYPE, LJ_TNIL);
1298 if (LJ_DUALNUM) { 1299 if (LJ_DUALNUM) {
1299 dasm_put(Dst, 3769, LJ_TISNUM); 1300 dasm_put(Dst, 3786, LJ_TISNUM);
1300 } else { 1301 } else {
1301 dasm_put(Dst, 3614, LJ_TISNUM); 1302 dasm_put(Dst, 3631, LJ_TISNUM);
1302 } 1303 }
1303 if (sse) { 1304 if (sse) {
1304 dasm_put(Dst, 3791); 1305 dasm_put(Dst, 3808);
1305 if (LJ_DUALNUM) { 1306 if (LJ_DUALNUM) {
1306 dasm_put(Dst, 3800); 1307 dasm_put(Dst, 3817);
1307 } 1308 }
1308 dasm_put(Dst, 2261); 1309 dasm_put(Dst, 2278);
1309 } else { 1310 } else {
1310 dasm_put(Dst, 3834); 1311 dasm_put(Dst, 3851);
1311 if (LJ_DUALNUM) { 1312 if (LJ_DUALNUM) {
1312 } else { 1313 } else {
1313 dasm_put(Dst, 2268); 1314 dasm_put(Dst, 2285);
1314 } 1315 }
1315 } 1316 }
1316 dasm_put(Dst, 3840); 1317 dasm_put(Dst, 3857);
1317 if (LJ_DUALNUM) { 1318 if (LJ_DUALNUM) {
1318 dasm_put(Dst, 3769, LJ_TISNUM); 1319 dasm_put(Dst, 3786, LJ_TISNUM);
1319 } else { 1320 } else {
1320 dasm_put(Dst, 3614, LJ_TISNUM); 1321 dasm_put(Dst, 3631, LJ_TISNUM);
1321 } 1322 }
1322 if (sse) { 1323 if (sse) {
1323 dasm_put(Dst, 3843); 1324 dasm_put(Dst, 3860);
1324 if (LJ_DUALNUM) { 1325 if (LJ_DUALNUM) {
1325 dasm_put(Dst, 3800); 1326 dasm_put(Dst, 3817);
1326 } 1327 }
1327 dasm_put(Dst, 2261); 1328 dasm_put(Dst, 2278);
1328 } else { 1329 } else {
1329 dasm_put(Dst, 3852); 1330 dasm_put(Dst, 3869);
1330 if (LJ_DUALNUM) { 1331 if (LJ_DUALNUM) {
1331 } else { 1332 } else {
1332 dasm_put(Dst, 2268); 1333 dasm_put(Dst, 2285);
1333 } 1334 }
1334 } 1335 }
1335 if (sse) { 1336 if (sse) {
1336 dasm_put(Dst, 3858, 1+1, LJ_TISNUM); 1337 dasm_put(Dst, 3875, 1+1, LJ_TISNUM);
1337 } else { 1338 } else {
1338 dasm_put(Dst, 3887, 1+1, LJ_TISNUM); 1339 dasm_put(Dst, 3904, 1+1, LJ_TISNUM);
1339 } 1340 }
1340 dasm_put(Dst, 3916, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1341 dasm_put(Dst, 3933, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1341 dasm_put(Dst, 3985, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1342 dasm_put(Dst, 4002, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1342 dasm_put(Dst, 4042, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1343 dasm_put(Dst, 4059, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1343 dasm_put(Dst, 4105, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1344 dasm_put(Dst, 4122, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1344 dasm_put(Dst, 4195); 1345 dasm_put(Dst, 4212);
1345 if (sse) { 1346 if (sse) {
1346 dasm_put(Dst, 4207, 1+1, LJ_TISNUM); 1347 dasm_put(Dst, 4224, 1+1, LJ_TISNUM);
1347 } else { 1348 } else {
1348 } 1349 }
1349 dasm_put(Dst, 4232); 1350 dasm_put(Dst, 4249);
1350 if (sse) { 1351 if (sse) {
1351 dasm_put(Dst, 4246, 1+1, LJ_TISNUM); 1352 dasm_put(Dst, 4263, 1+1, LJ_TISNUM);
1352 } else { 1353 } else {
1353 } 1354 }
1354 dasm_put(Dst, 4271); 1355 dasm_put(Dst, 4288);
1355 if (sse) { 1356 if (sse) {
1356 dasm_put(Dst, 4285, 1+1, LJ_TISNUM); 1357 dasm_put(Dst, 4302, 1+1, LJ_TISNUM);
1357 } else { 1358 } else {
1358 } 1359 }
1359 dasm_put(Dst, 4310); 1360 dasm_put(Dst, 4327);
1360 if (sse) { 1361 if (sse) {
1361 dasm_put(Dst, 4326, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1362 dasm_put(Dst, 4343, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1362 } else { 1363 } else {
1363 dasm_put(Dst, 4365, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1364 dasm_put(Dst, 4382, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1364 } 1365 }
1365 dasm_put(Dst, 4398, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1366 dasm_put(Dst, 4415, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1366 dasm_put(Dst, 4463, 1+1, LJ_TISNUM); 1367 dasm_put(Dst, 4480, 1+1, LJ_TISNUM);
1367 if (sse) { 1368 if (sse) {
1368 dasm_put(Dst, 4562); 1369 dasm_put(Dst, 4579);
1369 } else { 1370 } else {
1370 dasm_put(Dst, 4568); 1371 dasm_put(Dst, 4585);
1371 } 1372 }
1372 dasm_put(Dst, 4575); 1373 dasm_put(Dst, 4592);
1373 if (sse) { 1374 if (sse) {
1374 dasm_put(Dst, 4600); 1375 dasm_put(Dst, 4617);
1375 } else { 1376 } else {
1376 dasm_put(Dst, 4606); 1377 dasm_put(Dst, 4623);
1377 } 1378 }
1378 dasm_put(Dst, 4609, 1+2); 1379 dasm_put(Dst, 4626, 1+2);
1379 if (sse) { 1380 if (sse) {
1380 dasm_put(Dst, 4618); 1381 dasm_put(Dst, 4635);
1381 } else { 1382 } else {
1382 dasm_put(Dst, 4626); 1383 dasm_put(Dst, 4643);
1383 } 1384 }
1384 dasm_put(Dst, 4634); 1385 dasm_put(Dst, 4651);
1385 if (sse) { 1386 if (sse) {
1386 dasm_put(Dst, 4637, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1387 dasm_put(Dst, 4654, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1387 } else { 1388 } else {
1388 dasm_put(Dst, 4664); 1389 dasm_put(Dst, 4681);
1389 } 1390 }
1390 dasm_put(Dst, 4681); 1391 dasm_put(Dst, 4698);
1391 if (sse) { 1392 if (sse) {
1392 dasm_put(Dst, 4697, 1+1, LJ_TISNUM); 1393 dasm_put(Dst, 4714, 1+1, LJ_TISNUM);
1393 } else { 1394 } else {
1394 dasm_put(Dst, 4722, 1+1, LJ_TISNUM); 1395 dasm_put(Dst, 4739, 1+1, LJ_TISNUM);
1395 } 1396 }
1396 dasm_put(Dst, 4744); 1397 dasm_put(Dst, 4761);
1397 if (sse) { 1398 if (sse) {
1398 dasm_put(Dst, 4766); 1399 dasm_put(Dst, 4783);
1399 } else { 1400 } else {
1400 dasm_put(Dst, 4792); 1401 dasm_put(Dst, 4809);
1401 } 1402 }
1402 dasm_put(Dst, 4809, 1+2); 1403 dasm_put(Dst, 4826, 1+2);
1403 if (sse) { 1404 if (sse) {
1404 dasm_put(Dst, 4849); 1405 dasm_put(Dst, 4866);
1405 } else { 1406 } else {
1406 dasm_put(Dst, 4857); 1407 dasm_put(Dst, 4874);
1407 } 1408 }
1408 dasm_put(Dst, 4867, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 4884, 2+1, LJ_TISNUM, LJ_TISNUM);
1409 if (sse) { 1410 if (sse) {
1410 dasm_put(Dst, 4919, 2+1, LJ_TISNUM, LJ_TISNUM); 1411 dasm_put(Dst, 4936, 2+1, LJ_TISNUM, LJ_TISNUM);
1411 } else { 1412 } else {
1412 dasm_put(Dst, 4966, 2+1, LJ_TISNUM, LJ_TISNUM); 1413 dasm_put(Dst, 4983, 2+1, LJ_TISNUM, LJ_TISNUM);
1413 } 1414 }
1414 dasm_put(Dst, 5007, LJ_TISNUM); 1415 dasm_put(Dst, 5024, LJ_TISNUM);
1415 if (LJ_DUALNUM) { 1416 if (LJ_DUALNUM) {
1416 dasm_put(Dst, 5020, LJ_TISNUM); 1417 dasm_put(Dst, 5037, LJ_TISNUM);
1417 if (sse) { 1418 if (sse) {
1418 dasm_put(Dst, 4562); 1419 dasm_put(Dst, 4579);
1419 } else { 1420 } else {
1420 } 1421 }
1421 dasm_put(Dst, 5070); 1422 dasm_put(Dst, 5087);
1422 } else { 1423 } else {
1423 dasm_put(Dst, 2251); 1424 dasm_put(Dst, 2268);
1424 } 1425 }
1425 if (sse) { 1426 if (sse) {
1426 dasm_put(Dst, 5081, LJ_TISNUM); 1427 dasm_put(Dst, 5098, LJ_TISNUM);
1427 if (LJ_DUALNUM) { 1428 if (LJ_DUALNUM) {
1428 dasm_put(Dst, 5102); 1429 dasm_put(Dst, 5119);
1429 } else { 1430 } else {
1430 dasm_put(Dst, 2251); 1431 dasm_put(Dst, 2268);
1431 } 1432 }
1432 dasm_put(Dst, 5123); 1433 dasm_put(Dst, 5140);
1433 } else { 1434 } else {
1434 } 1435 }
1435 dasm_put(Dst, 5148, LJ_TISNUM); 1436 dasm_put(Dst, 5165, LJ_TISNUM);
1436 if (LJ_DUALNUM) { 1437 if (LJ_DUALNUM) {
1437 dasm_put(Dst, 5161, LJ_TISNUM); 1438 dasm_put(Dst, 5178, LJ_TISNUM);
1438 if (sse) { 1439 if (sse) {
1439 dasm_put(Dst, 4562); 1440 dasm_put(Dst, 4579);
1440 } else { 1441 } else {
1441 } 1442 }
1442 dasm_put(Dst, 5070); 1443 dasm_put(Dst, 5087);
1443 } else { 1444 } else {
1444 dasm_put(Dst, 2251); 1445 dasm_put(Dst, 2268);
1445 } 1446 }
1446 if (sse) { 1447 if (sse) {
1447 dasm_put(Dst, 5081, LJ_TISNUM); 1448 dasm_put(Dst, 5098, LJ_TISNUM);
1448 if (LJ_DUALNUM) { 1449 if (LJ_DUALNUM) {
1449 dasm_put(Dst, 5102); 1450 dasm_put(Dst, 5119);
1450 } else { 1451 } else {
1451 dasm_put(Dst, 2251); 1452 dasm_put(Dst, 2268);
1452 } 1453 }
1453 dasm_put(Dst, 5211); 1454 dasm_put(Dst, 5228);
1454 } else { 1455 } else {
1455 } 1456 }
1456 if (!sse) { 1457 if (!sse) {
1457 dasm_put(Dst, 5236); 1458 dasm_put(Dst, 5253);
1458 } 1459 }
1459 dasm_put(Dst, 5245, 1+1, LJ_TSTR); 1460 dasm_put(Dst, 5262, 1+1, LJ_TSTR);
1460 if (LJ_DUALNUM) { 1461 if (LJ_DUALNUM) {
1461 dasm_put(Dst, 5267, Dt5(->len)); 1462 dasm_put(Dst, 5284, Dt5(->len));
1462 } else if (sse) { 1463 } else if (sse) {
1463 dasm_put(Dst, 5275, Dt5(->len)); 1464 dasm_put(Dst, 5292, Dt5(->len));
1464 } else { 1465 } else {
1465 dasm_put(Dst, 5286, Dt5(->len)); 1466 dasm_put(Dst, 5303, Dt5(->len));
1466 } 1467 }
1467 dasm_put(Dst, 5294, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1468 dasm_put(Dst, 5311, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1468 if (LJ_DUALNUM) { 1469 if (LJ_DUALNUM) {
1469 dasm_put(Dst, 5270); 1470 dasm_put(Dst, 5287);
1470 } else if (sse) { 1471 } else if (sse) {
1471 dasm_put(Dst, 5332); 1472 dasm_put(Dst, 5349);
1472 } else { 1473 } else {
1473 dasm_put(Dst, 5342); 1474 dasm_put(Dst, 5359);
1474 } 1475 }
1475 dasm_put(Dst, 5353, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1476 dasm_put(Dst, 5370, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1476 if (LJ_DUALNUM) { 1477 if (LJ_DUALNUM) {
1477 dasm_put(Dst, 5386); 1478 dasm_put(Dst, 5403);
1478 } else if (sse) { 1479 } else if (sse) {
1479 dasm_put(Dst, 5409); 1480 dasm_put(Dst, 5426);
1480 } else { 1481 } else {
1481 dasm_put(Dst, 5435); 1482 dasm_put(Dst, 5452);
1482 } 1483 }
1483 dasm_put(Dst, 5459, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1484 dasm_put(Dst, 5476, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1484 if (LJ_DUALNUM) { 1485 if (LJ_DUALNUM) {
1485 dasm_put(Dst, 5568); 1486 dasm_put(Dst, 5585);
1486 } else if (sse) { 1487 } else if (sse) {
1487 dasm_put(Dst, 5580); 1488 dasm_put(Dst, 5597);
1488 } else { 1489 } else {
1489 dasm_put(Dst, 5595); 1490 dasm_put(Dst, 5612);
1490 } 1491 }
1491 dasm_put(Dst, 5607, LJ_TSTR, LJ_TISNUM); 1492 dasm_put(Dst, 5624, LJ_TSTR, LJ_TISNUM);
1492 if (LJ_DUALNUM) { 1493 if (LJ_DUALNUM) {
1493 dasm_put(Dst, 2512); 1494 dasm_put(Dst, 2529);
1494 } else { 1495 } else {
1495 dasm_put(Dst, 2251); 1496 dasm_put(Dst, 2268);
1496 } 1497 }
1497 dasm_put(Dst, 5624, Dt5(->len)); 1498 dasm_put(Dst, 5641, Dt5(->len));
1498 if (LJ_DUALNUM) { 1499 if (LJ_DUALNUM) {
1499 dasm_put(Dst, 5634); 1500 dasm_put(Dst, 5651);
1500 } else if (sse) { 1501 } else if (sse) {
1501 dasm_put(Dst, 5638); 1502 dasm_put(Dst, 5655);
1502 } else { 1503 } else {
1503 } 1504 }
1504 dasm_put(Dst, 5645, sizeof(GCstr)-1); 1505 dasm_put(Dst, 5662, sizeof(GCstr)-1);
1505 dasm_put(Dst, 5720, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1506 dasm_put(Dst, 5737, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1506 dasm_put(Dst, 5781, LJ_TSTR, LJ_TISNUM); 1507 dasm_put(Dst, 5798, LJ_TSTR, LJ_TISNUM);
1507 if (LJ_DUALNUM) { 1508 if (LJ_DUALNUM) {
1508 dasm_put(Dst, 5798); 1509 dasm_put(Dst, 5815);
1509 } else if (sse) { 1510 } else if (sse) {
1510 dasm_put(Dst, 5806); 1511 dasm_put(Dst, 5823);
1511 } else { 1512 } else {
1512 dasm_put(Dst, 5817); 1513 dasm_put(Dst, 5834);
1513 } 1514 }
1514 dasm_put(Dst, 5833, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1515 dasm_put(Dst, 5850, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1515 dasm_put(Dst, 5901, 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, 5918, 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, 5968, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1517 dasm_put(Dst, 5985, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1517 dasm_put(Dst, 6041, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1518 dasm_put(Dst, 6058, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1518 dasm_put(Dst, 6126, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1519 dasm_put(Dst, 6143, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1519 dasm_put(Dst, 6200, 1+1, LJ_TTAB); 1520 dasm_put(Dst, 6217, 1+1, LJ_TTAB);
1520 if (LJ_DUALNUM) { 1521 if (LJ_DUALNUM) {
1521 dasm_put(Dst, 6267); 1522 dasm_put(Dst, 6284);
1522 } else if (sse) { 1523 } else if (sse) {
1523 dasm_put(Dst, 6274); 1524 dasm_put(Dst, 6291);
1524 } else { 1525 } else {
1525 } 1526 }
1526 dasm_put(Dst, 6284, LJ_TISNUM); 1527 dasm_put(Dst, 6301, LJ_TISNUM);
1527 if (LJ_DUALNUM) { 1528 if (LJ_DUALNUM) {
1528 dasm_put(Dst, 6292); 1529 dasm_put(Dst, 6309);
1529 } else { 1530 } else {
1530 dasm_put(Dst, 2251); 1531 dasm_put(Dst, 2268);
1531 } 1532 }
1532 if (sse) { 1533 if (sse) {
1533 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1534 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1534 } else { 1535 } else {
1535 } 1536 }
1536 dasm_put(Dst, 106); 1537 dasm_put(Dst, 106);
1537 if (LJ_DUALNUM || sse) { 1538 if (LJ_DUALNUM || sse) {
1538 if (!sse) { 1539 if (!sse) {
1539 } 1540 }
1540 dasm_put(Dst, 6333); 1541 dasm_put(Dst, 6350);
1541 } else { 1542 } else {
1542 } 1543 }
1543 dasm_put(Dst, 6338); 1544 dasm_put(Dst, 6355);
1544 if (sse) { 1545 if (sse) {
1545 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1546 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1546 } else { 1547 } else {
1547 dasm_put(Dst, 6351); 1548 dasm_put(Dst, 6368);
1548 } 1549 }
1549 dasm_put(Dst, 2228, LJ_TISNUM); 1550 dasm_put(Dst, 2245, LJ_TISNUM);
1550 if (LJ_DUALNUM) { 1551 if (LJ_DUALNUM) {
1551 dasm_put(Dst, 6359); 1552 dasm_put(Dst, 6376);
1552 } else { 1553 } else {
1553 dasm_put(Dst, 2251); 1554 dasm_put(Dst, 2268);
1554 } 1555 }
1555 if (sse) { 1556 if (sse) {
1556 dasm_put(Dst, 6376); 1557 dasm_put(Dst, 6393);
1557 } else { 1558 } else {
1558 } 1559 }
1559 dasm_put(Dst, 6391, LJ_TISNUM); 1560 dasm_put(Dst, 6408, LJ_TISNUM);
1560 if (LJ_DUALNUM) { 1561 if (LJ_DUALNUM) {
1561 dasm_put(Dst, 6416); 1562 dasm_put(Dst, 6433);
1562 } else { 1563 } else {
1563 dasm_put(Dst, 6436); 1564 dasm_put(Dst, 6453);
1564 } 1565 }
1565 if (sse) { 1566 if (sse) {
1566 dasm_put(Dst, 6441); 1567 dasm_put(Dst, 6458);
1567 } else { 1568 } else {
1568 } 1569 }
1569 dasm_put(Dst, 6458); 1570 dasm_put(Dst, 6475);
1570 if (sse) { 1571 if (sse) {
1571 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1572 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1572 } else { 1573 } else {
1573 dasm_put(Dst, 6351); 1574 dasm_put(Dst, 6368);
1574 } 1575 }
1575 dasm_put(Dst, 2228, LJ_TISNUM); 1576 dasm_put(Dst, 2245, LJ_TISNUM);
1576 if (LJ_DUALNUM) { 1577 if (LJ_DUALNUM) {
1577 dasm_put(Dst, 6359); 1578 dasm_put(Dst, 6376);
1578 } else { 1579 } else {
1579 dasm_put(Dst, 2251); 1580 dasm_put(Dst, 2268);
1580 } 1581 }
1581 if (sse) { 1582 if (sse) {
1582 dasm_put(Dst, 6376); 1583 dasm_put(Dst, 6393);
1583 } else { 1584 } else {
1584 } 1585 }
1585 dasm_put(Dst, 6391, LJ_TISNUM); 1586 dasm_put(Dst, 6408, LJ_TISNUM);
1586 if (LJ_DUALNUM) { 1587 if (LJ_DUALNUM) {
1587 dasm_put(Dst, 6468); 1588 dasm_put(Dst, 6485);
1588 } else { 1589 } else {
1589 dasm_put(Dst, 6436); 1590 dasm_put(Dst, 6453);
1590 } 1591 }
1591 if (sse) { 1592 if (sse) {
1592 dasm_put(Dst, 6488); 1593 dasm_put(Dst, 6505);
1593 } else { 1594 } else {
1594 } 1595 }
1595 dasm_put(Dst, 6505); 1596 dasm_put(Dst, 6522);
1596 if (sse) { 1597 if (sse) {
1597 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1598 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1598 } else { 1599 } else {
1599 dasm_put(Dst, 6351); 1600 dasm_put(Dst, 6368);
1600 } 1601 }
1601 dasm_put(Dst, 2228, LJ_TISNUM); 1602 dasm_put(Dst, 2245, LJ_TISNUM);
1602 if (LJ_DUALNUM) { 1603 if (LJ_DUALNUM) {
1603 dasm_put(Dst, 6359); 1604 dasm_put(Dst, 6376);
1604 } else { 1605 } else {
1605 dasm_put(Dst, 2251); 1606 dasm_put(Dst, 2268);
1606 } 1607 }
1607 if (sse) { 1608 if (sse) {
1608 dasm_put(Dst, 6376); 1609 dasm_put(Dst, 6393);
1609 } else { 1610 } else {
1610 } 1611 }
1611 dasm_put(Dst, 6391, LJ_TISNUM); 1612 dasm_put(Dst, 6408, LJ_TISNUM);
1612 if (LJ_DUALNUM) { 1613 if (LJ_DUALNUM) {
1613 dasm_put(Dst, 6515); 1614 dasm_put(Dst, 6532);
1614 } else { 1615 } else {
1615 dasm_put(Dst, 6436); 1616 dasm_put(Dst, 6453);
1616 } 1617 }
1617 if (sse) { 1618 if (sse) {
1618 dasm_put(Dst, 6535); 1619 dasm_put(Dst, 6552);
1619 } else { 1620 } else {
1620 } 1621 }
1621 dasm_put(Dst, 6552, LJ_TISNUM); 1622 dasm_put(Dst, 6569, LJ_TISNUM);
1622 if (LJ_DUALNUM) { 1623 if (LJ_DUALNUM) {
1623 dasm_put(Dst, 6359); 1624 dasm_put(Dst, 6376);
1624 } else { 1625 } else {
1625 dasm_put(Dst, 2251); 1626 dasm_put(Dst, 2268);
1626 } 1627 }
1627 if (sse) { 1628 if (sse) {
1628 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1629 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1629 } else { 1630 } else {
1630 } 1631 }
1631 dasm_put(Dst, 6567, LJ_TISNUM); 1632 dasm_put(Dst, 6584, LJ_TISNUM);
1632 if (LJ_DUALNUM) { 1633 if (LJ_DUALNUM) {
1633 dasm_put(Dst, 6359); 1634 dasm_put(Dst, 6376);
1634 } else { 1635 } else {
1635 dasm_put(Dst, 2251); 1636 dasm_put(Dst, 2268);
1636 } 1637 }
1637 if (sse) { 1638 if (sse) {
1638 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1639 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1639 } else { 1640 } else {
1640 } 1641 }
1641 dasm_put(Dst, 6583); 1642 dasm_put(Dst, 6600);
1642 if (LJ_DUALNUM) { 1643 if (LJ_DUALNUM) {
1643 dasm_put(Dst, 6333); 1644 dasm_put(Dst, 6350);
1644 } else if (sse) { 1645 } else if (sse) {
1645 dasm_put(Dst, 6589); 1646 dasm_put(Dst, 6606);
1646 } else { 1647 } else {
1647 } 1648 }
1648 dasm_put(Dst, 6601); 1649 dasm_put(Dst, 6618);
1649 if (LJ_DUALNUM) { 1650 if (LJ_DUALNUM) {
1650 dasm_put(Dst, 6612, LJ_TISNUM); 1651 dasm_put(Dst, 6629, LJ_TISNUM);
1651 if (LJ_DUALNUM) { 1652 if (LJ_DUALNUM) {
1652 dasm_put(Dst, 6359); 1653 dasm_put(Dst, 6376);
1653 } else { 1654 } else {
1654 dasm_put(Dst, 2251); 1655 dasm_put(Dst, 2268);
1655 } 1656 }
1656 if (sse) { 1657 if (sse) {
1657 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1658 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1658 } else { 1659 } else {
1659 } 1660 }
1660 dasm_put(Dst, 6620, LJ_TISNUM); 1661 dasm_put(Dst, 6637, LJ_TISNUM);
1661 } else if (sse) { 1662 } else if (sse) {
1662 dasm_put(Dst, 6635, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1663 dasm_put(Dst, 6652, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1663 } else { 1664 } else {
1664 } 1665 }
1665 dasm_put(Dst, 6702); 1666 dasm_put(Dst, 6719);
1666 if (LJ_DUALNUM) { 1667 if (LJ_DUALNUM) {
1667 dasm_put(Dst, 6709, LJ_TISNUM); 1668 dasm_put(Dst, 6726, LJ_TISNUM);
1668 if (LJ_DUALNUM) { 1669 if (LJ_DUALNUM) {
1669 dasm_put(Dst, 6359); 1670 dasm_put(Dst, 6376);
1670 } else { 1671 } else {
1671 dasm_put(Dst, 2251); 1672 dasm_put(Dst, 2268);
1672 } 1673 }
1673 if (sse) { 1674 if (sse) {
1674 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1675 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1675 } else { 1676 } else {
1676 } 1677 }
1677 dasm_put(Dst, 6620, LJ_TISNUM); 1678 dasm_put(Dst, 6637, LJ_TISNUM);
1678 } else if (sse) { 1679 } else if (sse) {
1679 dasm_put(Dst, 6717, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1680 dasm_put(Dst, 6734, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1680 } else { 1681 } else {
1681 } 1682 }
1682 dasm_put(Dst, 6784); 1683 dasm_put(Dst, 6801);
1683 if (LJ_DUALNUM) { 1684 if (LJ_DUALNUM) {
1684 dasm_put(Dst, 6792, LJ_TISNUM); 1685 dasm_put(Dst, 6809, LJ_TISNUM);
1685 if (LJ_DUALNUM) { 1686 if (LJ_DUALNUM) {
1686 dasm_put(Dst, 6359); 1687 dasm_put(Dst, 6376);
1687 } else { 1688 } else {
1688 dasm_put(Dst, 2251); 1689 dasm_put(Dst, 2268);
1689 } 1690 }
1690 if (sse) { 1691 if (sse) {
1691 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1692 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1692 } else { 1693 } else {
1693 } 1694 }
1694 dasm_put(Dst, 6620, LJ_TISNUM); 1695 dasm_put(Dst, 6637, LJ_TISNUM);
1695 } else if (sse) { 1696 } else if (sse) {
1696 dasm_put(Dst, 6800, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1697 dasm_put(Dst, 6817, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1697 } else { 1698 } else {
1698 } 1699 }
1699 dasm_put(Dst, 6867); 1700 dasm_put(Dst, 6884);
1700 if (LJ_DUALNUM) { 1701 if (LJ_DUALNUM) {
1701 dasm_put(Dst, 6875, LJ_TISNUM); 1702 dasm_put(Dst, 6892, LJ_TISNUM);
1702 if (LJ_DUALNUM) { 1703 if (LJ_DUALNUM) {
1703 dasm_put(Dst, 6359); 1704 dasm_put(Dst, 6376);
1704 } else { 1705 } else {
1705 dasm_put(Dst, 2251); 1706 dasm_put(Dst, 2268);
1706 } 1707 }
1707 if (sse) { 1708 if (sse) {
1708 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1709 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1709 } else { 1710 } else {
1710 } 1711 }
1711 dasm_put(Dst, 6620, LJ_TISNUM); 1712 dasm_put(Dst, 6637, LJ_TISNUM);
1712 } else if (sse) { 1713 } else if (sse) {
1713 dasm_put(Dst, 6883, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1714 dasm_put(Dst, 6900, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1714 } else { 1715 } else {
1715 } 1716 }
1716 dasm_put(Dst, 6950); 1717 dasm_put(Dst, 6967);
1717 if (LJ_DUALNUM) { 1718 if (LJ_DUALNUM) {
1718 dasm_put(Dst, 6957, LJ_TISNUM); 1719 dasm_put(Dst, 6974, LJ_TISNUM);
1719 if (LJ_DUALNUM) { 1720 if (LJ_DUALNUM) {
1720 dasm_put(Dst, 6359); 1721 dasm_put(Dst, 6376);
1721 } else { 1722 } else {
1722 dasm_put(Dst, 2251); 1723 dasm_put(Dst, 2268);
1723 } 1724 }
1724 if (sse) { 1725 if (sse) {
1725 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1726 dasm_put(Dst, 6326, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1726 } else { 1727 } else {
1727 } 1728 }
1728 dasm_put(Dst, 6620, LJ_TISNUM); 1729 dasm_put(Dst, 6637, LJ_TISNUM);
1729 } else if (sse) { 1730 } else if (sse) {
1730 dasm_put(Dst, 6965, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1731 dasm_put(Dst, 6982, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1731 } else { 1732 } else {
1732 } 1733 }
1733 dasm_put(Dst, 7032, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1734 dasm_put(Dst, 7049, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1734 dasm_put(Dst, 7108, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1735 dasm_put(Dst, 7125, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1735 dasm_put(Dst, 7235, Dt1(->top), Dt1(->base), Dt1(->top)); 1736 dasm_put(Dst, 7252, Dt1(->top), Dt1(->base), Dt1(->top));
1736#if LJ_HASJIT 1737#if LJ_HASJIT
1737 dasm_put(Dst, 7274, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1738 dasm_put(Dst, 7291, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1738#endif 1739#endif
1739 dasm_put(Dst, 7307, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1740 dasm_put(Dst, 7324, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1740 dasm_put(Dst, 7361, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1741 dasm_put(Dst, 7378, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1741#if LJ_HASJIT 1742#if LJ_HASJIT
1742 dasm_put(Dst, 7428, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1743 dasm_put(Dst, 7445, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1743#endif 1744#endif
1744 dasm_put(Dst, 7475); 1745 dasm_put(Dst, 7492);
1745#if LJ_HASJIT 1746#if LJ_HASJIT
1746 dasm_put(Dst, 7302); 1747 dasm_put(Dst, 7319);
1747#endif 1748#endif
1748 dasm_put(Dst, 7482); 1749 dasm_put(Dst, 7499);
1749#if LJ_HASJIT 1750#if LJ_HASJIT
1750 dasm_put(Dst, 7485); 1751 dasm_put(Dst, 7502);
1751#endif 1752#endif
1752 dasm_put(Dst, 7495, Dt1(->base), Dt1(->top)); 1753 dasm_put(Dst, 7512, Dt1(->base), Dt1(->top));
1753#if LJ_HASJIT 1754#if LJ_HASJIT
1754 dasm_put(Dst, 7528); 1755 dasm_put(Dst, 7545);
1755#endif 1756#endif
1756 dasm_put(Dst, 7533, Dt1(->base), Dt1(->top)); 1757 dasm_put(Dst, 7550, Dt1(->base), Dt1(->top));
1757#if LJ_HASJIT 1758#if LJ_HASJIT
1758 dasm_put(Dst, 7564, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1759 dasm_put(Dst, 7581, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1759#endif 1760#endif
1760 dasm_put(Dst, 7803); 1761 dasm_put(Dst, 7820);
1761#if LJ_HASJIT 1762#if LJ_HASJIT
1762 dasm_put(Dst, 7806, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1763 dasm_put(Dst, 7823, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1763#endif 1764#endif
1764 dasm_put(Dst, 7906); 1765 dasm_put(Dst, 7923);
1765 if (!sse) { 1766 if (!sse) {
1766 dasm_put(Dst, 7909); 1767 dasm_put(Dst, 7926);
1767 } 1768 }
1768 dasm_put(Dst, 7954, (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)); 1769 dasm_put(Dst, 7971, (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));
1769 if (!sse) { 1770 if (!sse) {
1770 dasm_put(Dst, 8040); 1771 dasm_put(Dst, 8057);
1771 } 1772 }
1772 dasm_put(Dst, 8085, (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)); 1773 dasm_put(Dst, 8102, (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));
1773 if (!sse) { 1774 if (!sse) {
1774 dasm_put(Dst, 8171); 1775 dasm_put(Dst, 8188);
1775 } 1776 }
1776 dasm_put(Dst, 8210, (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 dasm_put(Dst, 8227, (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 if (sse) { 1778 if (sse) {
1778 dasm_put(Dst, 8299, (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)); 1779 dasm_put(Dst, 8316, (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));
1779 } else { 1780 } else {
1780 dasm_put(Dst, 8413); 1781 dasm_put(Dst, 8430);
1781 } 1782 }
1782 dasm_put(Dst, 8460); 1783 dasm_put(Dst, 8477);
1783 if (!sse) { 1784 if (!sse) {
1784 } else { 1785 } else {
1785 dasm_put(Dst, 8537); 1786 dasm_put(Dst, 8554);
1786 } 1787 }
1787 dasm_put(Dst, 8540); 1788 dasm_put(Dst, 8557);
1788 dasm_put(Dst, 8625, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1789 dasm_put(Dst, 8642, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1789 dasm_put(Dst, 8728, (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)); 1790 dasm_put(Dst, 8745, (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));
1790 dasm_put(Dst, 8890); 1791 dasm_put(Dst, 8907);
1791#if LJ_HASJIT 1792#if LJ_HASJIT
1792 if (sse) { 1793 if (sse) {
1793 dasm_put(Dst, 8931); 1794 dasm_put(Dst, 8948);
1794 dasm_put(Dst, 9001); 1795 dasm_put(Dst, 9018);
1795 dasm_put(Dst, 9073); 1796 dasm_put(Dst, 9090);
1796 } else { 1797 } else {
1797 dasm_put(Dst, 9125); 1798 dasm_put(Dst, 9142);
1798 dasm_put(Dst, 9217); 1799 dasm_put(Dst, 9234);
1799 } 1800 }
1800 dasm_put(Dst, 9263); 1801 dasm_put(Dst, 9280);
1801#endif 1802#endif
1802 dasm_put(Dst, 9267); 1803 dasm_put(Dst, 9284);
1803 if (sse) { 1804 if (sse) {
1804 dasm_put(Dst, 9270, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1805 dasm_put(Dst, 9287, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1805 dasm_put(Dst, 9355, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1806 dasm_put(Dst, 9372, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1806 } else { 1807 } else {
1807 dasm_put(Dst, 9483); 1808 dasm_put(Dst, 9500);
1808 dasm_put(Dst, 9566); 1809 dasm_put(Dst, 9583);
1809 if (cmov) { 1810 if (cmov) {
1810 dasm_put(Dst, 9621); 1811 dasm_put(Dst, 9638);
1811 } else { 1812 } else {
1812 dasm_put(Dst, 9640); 1813 dasm_put(Dst, 9657);
1813 } 1814 }
1814 dasm_put(Dst, 9263); 1815 dasm_put(Dst, 9280);
1815 } 1816 }
1816 dasm_put(Dst, 9681); 1817 dasm_put(Dst, 9698);
1817#if LJ_HASFFI 1818#if LJ_HASFFI
1818#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1819#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1819 dasm_put(Dst, 9705, DtE(->spadj)); 1820 dasm_put(Dst, 9722, DtE(->spadj));
1820#if LJ_TARGET_WINDOWS 1821#if LJ_TARGET_WINDOWS
1821#endif 1822#endif
1822 dasm_put(Dst, 9721, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1823 dasm_put(Dst, 9738, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1823 dasm_put(Dst, 9800, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1824 dasm_put(Dst, 9817, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1824#if LJ_TARGET_WINDOWS 1825#if LJ_TARGET_WINDOWS
1825#endif 1826#endif
1826 dasm_put(Dst, 9855); 1827 dasm_put(Dst, 9872);
1827#endif 1828#endif
1828 dasm_put(Dst, 9863); 1829 dasm_put(Dst, 9880);
1829#ifdef LUA_USE_ASSERT 1830#ifdef LUA_USE_ASSERT
1830 dasm_put(Dst, 9265); 1831 dasm_put(Dst, 9282);
1831#endif 1832#endif
1832 dasm_put(Dst, 9265); 1833 dasm_put(Dst, 9282);
1833} 1834}
1834 1835
1835/* Generate the code for a single instruction. */ 1836/* Generate the code for a single instruction. */
1836static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1837static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1837{ 1838{
1838 int vk = 0; 1839 int vk = 0;
1839 dasm_put(Dst, 9866, defop); 1840 dasm_put(Dst, 9883, defop);
1840 1841
1841 switch (op) { 1842 switch (op) {
1842 1843
@@ -1847,296 +1848,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1847 1848
1848 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1849 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1849 if (LJ_DUALNUM) { 1850 if (LJ_DUALNUM) {
1850 dasm_put(Dst, 9868, LJ_TISNUM, LJ_TISNUM); 1851 dasm_put(Dst, 9885, LJ_TISNUM, LJ_TISNUM);
1851 switch (op) { 1852 switch (op) {
1852 case BC_ISLT: 1853 case BC_ISLT:
1853 dasm_put(Dst, 9898); 1854 dasm_put(Dst, 9915);
1854 break; 1855 break;
1855 case BC_ISGE: 1856 case BC_ISGE:
1856 dasm_put(Dst, 9903); 1857 dasm_put(Dst, 9920);
1857 break; 1858 break;
1858 case BC_ISLE: 1859 case BC_ISLE:
1859 dasm_put(Dst, 9908); 1860 dasm_put(Dst, 9925);
1860 break; 1861 break;
1861 case BC_ISGT: 1862 case BC_ISGT:
1862 dasm_put(Dst, 9913); 1863 dasm_put(Dst, 9930);
1863 break; 1864 break;
1864 default: break; /* Shut up GCC. */ 1865 default: break; /* Shut up GCC. */
1865 } 1866 }
1866 dasm_put(Dst, 9918, -BCBIAS_J*4, LJ_TISNUM); 1867 dasm_put(Dst, 9935, -BCBIAS_J*4, LJ_TISNUM);
1867 if (sse) { 1868 if (sse) {
1868 dasm_put(Dst, 9973); 1869 dasm_put(Dst, 9990);
1869 } else { 1870 } else {
1870 dasm_put(Dst, 9984); 1871 dasm_put(Dst, 10001);
1871 } 1872 }
1872 dasm_put(Dst, 9995); 1873 dasm_put(Dst, 10012);
1873 if (sse) { 1874 if (sse) {
1874 dasm_put(Dst, 10002); 1875 dasm_put(Dst, 10019);
1875 switch (op) { 1876 switch (op) {
1876 case BC_ISLT: 1877 case BC_ISLT:
1877 dasm_put(Dst, 10022); 1878 dasm_put(Dst, 10039);
1878 break; 1879 break;
1879 case BC_ISGE: 1880 case BC_ISGE:
1880 dasm_put(Dst, 10027); 1881 dasm_put(Dst, 10044);
1881 break; 1882 break;
1882 case BC_ISLE: 1883 case BC_ISLE:
1883 dasm_put(Dst, 10032); 1884 dasm_put(Dst, 10049);
1884 break; 1885 break;
1885 case BC_ISGT: 1886 case BC_ISGT:
1886 dasm_put(Dst, 10037); 1887 dasm_put(Dst, 10054);
1887 break; 1888 break;
1888 default: break; /* Shut up GCC. */ 1889 default: break; /* Shut up GCC. */
1889 } 1890 }
1890 dasm_put(Dst, 10042); 1891 dasm_put(Dst, 10059);
1891 } else { 1892 } else {
1892 dasm_put(Dst, 10047); 1893 dasm_put(Dst, 10064);
1893 } 1894 }
1894 } else { 1895 } else {
1895 dasm_put(Dst, 10055, LJ_TISNUM, LJ_TISNUM); 1896 dasm_put(Dst, 10072, LJ_TISNUM, LJ_TISNUM);
1896 } 1897 }
1897 if (sse) { 1898 if (sse) {
1898 dasm_put(Dst, 10076); 1899 dasm_put(Dst, 10093);
1899 } else { 1900 } else {
1900 dasm_put(Dst, 10097); 1901 dasm_put(Dst, 10114);
1901 if (cmov) { 1902 if (cmov) {
1902 dasm_put(Dst, 10113); 1903 dasm_put(Dst, 10130);
1903 } else { 1904 } else {
1904 dasm_put(Dst, 10119); 1905 dasm_put(Dst, 10136);
1905 } 1906 }
1906 } 1907 }
1907 if (LJ_DUALNUM) { 1908 if (LJ_DUALNUM) {
1908 switch (op) { 1909 switch (op) {
1909 case BC_ISLT: 1910 case BC_ISLT:
1910 dasm_put(Dst, 10022); 1911 dasm_put(Dst, 10039);
1911 break; 1912 break;
1912 case BC_ISGE: 1913 case BC_ISGE:
1913 dasm_put(Dst, 10027); 1914 dasm_put(Dst, 10044);
1914 break; 1915 break;
1915 case BC_ISLE: 1916 case BC_ISLE:
1916 dasm_put(Dst, 10032); 1917 dasm_put(Dst, 10049);
1917 break; 1918 break;
1918 case BC_ISGT: 1919 case BC_ISGT:
1919 dasm_put(Dst, 10037); 1920 dasm_put(Dst, 10054);
1920 break; 1921 break;
1921 default: break; /* Shut up GCC. */ 1922 default: break; /* Shut up GCC. */
1922 } 1923 }
1923 dasm_put(Dst, 10042); 1924 dasm_put(Dst, 10059);
1924 } else { 1925 } else {
1925 switch (op) { 1926 switch (op) {
1926 case BC_ISLT: 1927 case BC_ISLT:
1927 dasm_put(Dst, 10126); 1928 dasm_put(Dst, 10143);
1928 break; 1929 break;
1929 case BC_ISGE: 1930 case BC_ISGE:
1930 dasm_put(Dst, 10131); 1931 dasm_put(Dst, 10148);
1931 break; 1932 break;
1932 case BC_ISLE: 1933 case BC_ISLE:
1933 dasm_put(Dst, 10136); 1934 dasm_put(Dst, 10153);
1934 break; 1935 break;
1935 case BC_ISGT: 1936 case BC_ISGT:
1936 dasm_put(Dst, 10141); 1937 dasm_put(Dst, 10158);
1937 break; 1938 break;
1938 default: break; /* Shut up GCC. */ 1939 default: break; /* Shut up GCC. */
1939 } 1940 }
1940 dasm_put(Dst, 10146, -BCBIAS_J*4); 1941 dasm_put(Dst, 10163, -BCBIAS_J*4);
1941 } 1942 }
1942 break; 1943 break;
1943 1944
1944 case BC_ISEQV: case BC_ISNEV: 1945 case BC_ISEQV: case BC_ISNEV:
1945 vk = op == BC_ISEQV; 1946 vk = op == BC_ISEQV;
1946 dasm_put(Dst, 10179); 1947 dasm_put(Dst, 10196);
1947 if (LJ_DUALNUM) { 1948 if (LJ_DUALNUM) {
1948 dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); 1949 dasm_put(Dst, 10204, LJ_TISNUM, LJ_TISNUM);
1949 if (vk) { 1950 if (vk) {
1950 dasm_put(Dst, 10212); 1951 dasm_put(Dst, 10229);
1951 } else { 1952 } else {
1952 dasm_put(Dst, 10217); 1953 dasm_put(Dst, 10234);
1953 } 1954 }
1954 dasm_put(Dst, 10222, -BCBIAS_J*4, LJ_TISNUM); 1955 dasm_put(Dst, 10239, -BCBIAS_J*4, LJ_TISNUM);
1955 if (sse) { 1956 if (sse) {
1956 dasm_put(Dst, 10275); 1957 dasm_put(Dst, 10292);
1957 } else { 1958 } else {
1958 dasm_put(Dst, 10282); 1959 dasm_put(Dst, 10299);
1959 } 1960 }
1960 dasm_put(Dst, 10286); 1961 dasm_put(Dst, 10303);
1961 if (sse) { 1962 if (sse) {
1962 dasm_put(Dst, 10297); 1963 dasm_put(Dst, 10314);
1963 } else { 1964 } else {
1964 dasm_put(Dst, 10309); 1965 dasm_put(Dst, 10326);
1965 } 1966 }
1966 dasm_put(Dst, 10316); 1967 dasm_put(Dst, 10333);
1967 } else { 1968 } else {
1968 dasm_put(Dst, 10321, LJ_TISNUM, LJ_TISNUM); 1969 dasm_put(Dst, 10338, LJ_TISNUM, LJ_TISNUM);
1969 } 1970 }
1970 if (sse) { 1971 if (sse) {
1971 dasm_put(Dst, 10340); 1972 dasm_put(Dst, 10357);
1972 } else { 1973 } else {
1973 dasm_put(Dst, 10358); 1974 dasm_put(Dst, 10375);
1974 if (cmov) { 1975 if (cmov) {
1975 dasm_put(Dst, 10113); 1976 dasm_put(Dst, 10130);
1976 } else { 1977 } else {
1977 dasm_put(Dst, 10119); 1978 dasm_put(Dst, 10136);
1978 } 1979 }
1979 } 1980 }
1980 iseqne_fp: 1981 iseqne_fp:
1981 if (vk) { 1982 if (vk) {
1982 dasm_put(Dst, 10371); 1983 dasm_put(Dst, 10388);
1983 } else { 1984 } else {
1984 dasm_put(Dst, 10380); 1985 dasm_put(Dst, 10397);
1985 } 1986 }
1986 iseqne_end: 1987 iseqne_end:
1987 if (vk) { 1988 if (vk) {
1988 dasm_put(Dst, 10389, -BCBIAS_J*4); 1989 dasm_put(Dst, 10406, -BCBIAS_J*4);
1989 if (!LJ_HASFFI) { 1990 if (!LJ_HASFFI) {
1990 dasm_put(Dst, 4615); 1991 dasm_put(Dst, 4632);
1991 } 1992 }
1992 } else { 1993 } else {
1993 if (!LJ_HASFFI) { 1994 if (!LJ_HASFFI) {
1994 dasm_put(Dst, 4615); 1995 dasm_put(Dst, 4632);
1995 } 1996 }
1996 dasm_put(Dst, 10404, -BCBIAS_J*4); 1997 dasm_put(Dst, 10421, -BCBIAS_J*4);
1997 } 1998 }
1998 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 1999 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1999 op == BC_ISEQN || op == BC_ISNEN)) { 2000 op == BC_ISEQN || op == BC_ISNEN)) {
2000 dasm_put(Dst, 10419); 2001 dasm_put(Dst, 10436);
2001 } else { 2002 } else {
2002 dasm_put(Dst, 10158); 2003 dasm_put(Dst, 10175);
2003 } 2004 }
2004 if (op == BC_ISEQV || op == BC_ISNEV) { 2005 if (op == BC_ISEQV || op == BC_ISNEV) {
2005 dasm_put(Dst, 10424); 2006 dasm_put(Dst, 10441);
2006 if (LJ_HASFFI) { 2007 if (LJ_HASFFI) {
2007 dasm_put(Dst, 10427, LJ_TCDATA, LJ_TCDATA); 2008 dasm_put(Dst, 10444, LJ_TCDATA, LJ_TCDATA);
2008 } 2009 }
2009 dasm_put(Dst, 10446, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2010 dasm_put(Dst, 10463, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2010 if (vk) { 2011 if (vk) {
2011 dasm_put(Dst, 10502); 2012 dasm_put(Dst, 10519);
2012 } else { 2013 } else {
2013 dasm_put(Dst, 10506); 2014 dasm_put(Dst, 10523);
2014 } 2015 }
2015 dasm_put(Dst, 10512); 2016 dasm_put(Dst, 10529);
2016 } else if (LJ_HASFFI) { 2017 } else if (LJ_HASFFI) {
2017 dasm_put(Dst, 10517, LJ_TCDATA); 2018 dasm_put(Dst, 10534, LJ_TCDATA);
2018 if (LJ_DUALNUM && vk) { 2019 if (LJ_DUALNUM && vk) {
2019 dasm_put(Dst, 10524); 2020 dasm_put(Dst, 10541);
2020 } else { 2021 } else {
2021 dasm_put(Dst, 10497); 2022 dasm_put(Dst, 10514);
2022 } 2023 }
2023 dasm_put(Dst, 10529); 2024 dasm_put(Dst, 10546);
2024 } 2025 }
2025 break; 2026 break;
2026 case BC_ISEQS: case BC_ISNES: 2027 case BC_ISEQS: case BC_ISNES:
2027 vk = op == BC_ISEQS; 2028 vk = op == BC_ISEQS;
2028 dasm_put(Dst, 10534, LJ_TSTR); 2029 dasm_put(Dst, 10551, LJ_TSTR);
2029 iseqne_test: 2030 iseqne_test:
2030 if (vk) { 2031 if (vk) {
2031 dasm_put(Dst, 10375); 2032 dasm_put(Dst, 10392);
2032 } else { 2033 } else {
2033 dasm_put(Dst, 2911); 2034 dasm_put(Dst, 2928);
2034 } 2035 }
2035 goto iseqne_end; 2036 goto iseqne_end;
2036 case BC_ISEQN: case BC_ISNEN: 2037 case BC_ISEQN: case BC_ISNEN:
2037 vk = op == BC_ISEQN; 2038 vk = op == BC_ISEQN;
2038 dasm_put(Dst, 10561); 2039 dasm_put(Dst, 10578);
2039 if (LJ_DUALNUM) { 2040 if (LJ_DUALNUM) {
2040 dasm_put(Dst, 10569, LJ_TISNUM, LJ_TISNUM); 2041 dasm_put(Dst, 10586, LJ_TISNUM, LJ_TISNUM);
2041 if (vk) { 2042 if (vk) {
2042 dasm_put(Dst, 10212); 2043 dasm_put(Dst, 10229);
2043 } else { 2044 } else {
2044 dasm_put(Dst, 10217); 2045 dasm_put(Dst, 10234);
2045 } 2046 }
2046 dasm_put(Dst, 10596, -BCBIAS_J*4, LJ_TISNUM); 2047 dasm_put(Dst, 10613, -BCBIAS_J*4, LJ_TISNUM);
2047 if (sse) { 2048 if (sse) {
2048 dasm_put(Dst, 10646); 2049 dasm_put(Dst, 10663);
2049 } else { 2050 } else {
2050 dasm_put(Dst, 10654); 2051 dasm_put(Dst, 10671);
2051 } 2052 }
2052 dasm_put(Dst, 10659); 2053 dasm_put(Dst, 10676);
2053 if (sse) { 2054 if (sse) {
2054 dasm_put(Dst, 10666); 2055 dasm_put(Dst, 10683);
2055 } else { 2056 } else {
2056 dasm_put(Dst, 10679); 2057 dasm_put(Dst, 10696);
2057 } 2058 }
2058 dasm_put(Dst, 10316); 2059 dasm_put(Dst, 10333);
2059 } else { 2060 } else {
2060 dasm_put(Dst, 10687, LJ_TISNUM); 2061 dasm_put(Dst, 10704, LJ_TISNUM);
2061 } 2062 }
2062 if (sse) { 2063 if (sse) {
2063 dasm_put(Dst, 10696); 2064 dasm_put(Dst, 10713);
2064 } else { 2065 } else {
2065 dasm_put(Dst, 10715); 2066 dasm_put(Dst, 10732);
2066 if (cmov) { 2067 if (cmov) {
2067 dasm_put(Dst, 10113); 2068 dasm_put(Dst, 10130);
2068 } else { 2069 } else {
2069 dasm_put(Dst, 10119); 2070 dasm_put(Dst, 10136);
2070 } 2071 }
2071 } 2072 }
2072 goto iseqne_fp; 2073 goto iseqne_fp;
2073 case BC_ISEQP: case BC_ISNEP: 2074 case BC_ISEQP: case BC_ISNEP:
2074 vk = op == BC_ISEQP; 2075 vk = op == BC_ISEQP;
2075 dasm_put(Dst, 10729); 2076 dasm_put(Dst, 10746);
2076 if (!LJ_HASFFI) goto iseqne_test; 2077 if (!LJ_HASFFI) goto iseqne_test;
2077 if (vk) { 2078 if (vk) {
2078 dasm_put(Dst, 10743, -BCBIAS_J*4, LJ_TCDATA); 2079 dasm_put(Dst, 10760, -BCBIAS_J*4, LJ_TCDATA);
2079 } else { 2080 } else {
2080 dasm_put(Dst, 10794, LJ_TCDATA, -BCBIAS_J*4); 2081 dasm_put(Dst, 10811, LJ_TCDATA, -BCBIAS_J*4);
2081 } 2082 }
2082 break; 2083 break;
2083 2084
2084 /* -- Unary test and copy ops ------------------------------------------- */ 2085 /* -- Unary test and copy ops ------------------------------------------- */
2085 2086
2086 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2087 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2087 dasm_put(Dst, 10839, LJ_TISTRUECOND); 2088 dasm_put(Dst, 10856, LJ_TISTRUECOND);
2088 if (op == BC_IST || op == BC_ISTC) { 2089 if (op == BC_IST || op == BC_ISTC) {
2089 dasm_put(Dst, 10141); 2090 dasm_put(Dst, 10158);
2090 } else { 2091 } else {
2091 dasm_put(Dst, 10136); 2092 dasm_put(Dst, 10153);
2092 } 2093 }
2093 if (op == BC_ISTC || op == BC_ISFC) { 2094 if (op == BC_ISTC || op == BC_ISFC) {
2094 dasm_put(Dst, 10851); 2095 dasm_put(Dst, 10868);
2095 } 2096 }
2096 dasm_put(Dst, 10146, -BCBIAS_J*4); 2097 dasm_put(Dst, 10163, -BCBIAS_J*4);
2097 break; 2098 break;
2098 2099
2099 /* -- Unary ops --------------------------------------------------------- */ 2100 /* -- Unary ops --------------------------------------------------------- */
2100 2101
2101 case BC_MOV: 2102 case BC_MOV:
2102 dasm_put(Dst, 10862); 2103 dasm_put(Dst, 10879);
2103 break; 2104 break;
2104 case BC_NOT: 2105 case BC_NOT:
2105 dasm_put(Dst, 10891, LJ_TISTRUECOND, LJ_TTRUE); 2106 dasm_put(Dst, 10908, LJ_TISTRUECOND, LJ_TTRUE);
2106 break; 2107 break;
2107 case BC_UNM: 2108 case BC_UNM:
2108 if (LJ_DUALNUM) { 2109 if (LJ_DUALNUM) {
2109 dasm_put(Dst, 10928, LJ_TISNUM, LJ_TISNUM); 2110 dasm_put(Dst, 10945, LJ_TISNUM, LJ_TISNUM);
2110 } else { 2111 } else {
2111 dasm_put(Dst, 11006, LJ_TISNUM); 2112 dasm_put(Dst, 11023, LJ_TISNUM);
2112 } 2113 }
2113 if (sse) { 2114 if (sse) {
2114 dasm_put(Dst, 11017, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2115 dasm_put(Dst, 11034, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2115 } else { 2116 } else {
2116 dasm_put(Dst, 11042); 2117 dasm_put(Dst, 11059);
2117 } 2118 }
2118 if (LJ_DUALNUM) { 2119 if (LJ_DUALNUM) {
2119 dasm_put(Dst, 10419); 2120 dasm_put(Dst, 10436);
2120 } else { 2121 } else {
2121 dasm_put(Dst, 10158); 2122 dasm_put(Dst, 10175);
2122 } 2123 }
2123 break; 2124 break;
2124 case BC_LEN: 2125 case BC_LEN:
2125 dasm_put(Dst, 11051, LJ_TSTR); 2126 dasm_put(Dst, 11068, LJ_TSTR);
2126 if (LJ_DUALNUM) { 2127 if (LJ_DUALNUM) {
2127 dasm_put(Dst, 11065, Dt5(->len), LJ_TISNUM); 2128 dasm_put(Dst, 11082, Dt5(->len), LJ_TISNUM);
2128 } else if (sse) { 2129 } else if (sse) {
2129 dasm_put(Dst, 11079, Dt5(->len)); 2130 dasm_put(Dst, 11096, Dt5(->len));
2130 } else { 2131 } else {
2131 dasm_put(Dst, 11097, Dt5(->len)); 2132 dasm_put(Dst, 11114, Dt5(->len));
2132 } 2133 }
2133 dasm_put(Dst, 11106, LJ_TTAB); 2134 dasm_put(Dst, 11123, LJ_TTAB);
2134 if (LJ_DUALNUM) { 2135 if (LJ_DUALNUM) {
2135 } else if (sse) { 2136 } else if (sse) {
2136 dasm_put(Dst, 11148); 2137 dasm_put(Dst, 11165);
2137 } else { 2138 } else {
2138 } 2139 }
2139 dasm_put(Dst, 11154); 2140 dasm_put(Dst, 11171);
2140 break; 2141 break;
2141 2142
2142 /* -- Binary ops -------------------------------------------------------- */ 2143 /* -- Binary ops -------------------------------------------------------- */
@@ -2144,605 +2145,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2144 2145
2145 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2146 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2146 if (LJ_DUALNUM) { 2147 if (LJ_DUALNUM) {
2147 dasm_put(Dst, 11167); 2148 dasm_put(Dst, 11184);
2148 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2149 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2149 switch (vk) { 2150 switch (vk) {
2150 case 0: 2151 case 0:
2151 dasm_put(Dst, 11175, LJ_TISNUM, LJ_TISNUM); 2152 dasm_put(Dst, 11192, LJ_TISNUM, LJ_TISNUM);
2152 break; 2153 break;
2153 case 1: 2154 case 1:
2154 dasm_put(Dst, 11210, LJ_TISNUM, LJ_TISNUM); 2155 dasm_put(Dst, 11227, LJ_TISNUM, LJ_TISNUM);
2155 break; 2156 break;
2156 default: 2157 default:
2157 dasm_put(Dst, 11245, LJ_TISNUM, LJ_TISNUM); 2158 dasm_put(Dst, 11262, LJ_TISNUM, LJ_TISNUM);
2158 break; 2159 break;
2159 } 2160 }
2160 dasm_put(Dst, 11278, LJ_TISNUM); 2161 dasm_put(Dst, 11295, LJ_TISNUM);
2161 if (vk == 1) { 2162 if (vk == 1) {
2162 dasm_put(Dst, 11075); 2163 dasm_put(Dst, 11092);
2163 } else { 2164 } else {
2164 dasm_put(Dst, 10858); 2165 dasm_put(Dst, 10875);
2165 } 2166 }
2166 dasm_put(Dst, 10158); 2167 dasm_put(Dst, 10175);
2167 } else { 2168 } else {
2168 dasm_put(Dst, 11167); 2169 dasm_put(Dst, 11184);
2169 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2170 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2170 switch (vk) { 2171 switch (vk) {
2171 case 0: 2172 case 0:
2172 dasm_put(Dst, 11284, LJ_TISNUM); 2173 dasm_put(Dst, 11301, LJ_TISNUM);
2173 if (LJ_DUALNUM) { 2174 if (LJ_DUALNUM) {
2174 dasm_put(Dst, 11296, LJ_TISNUM); 2175 dasm_put(Dst, 11313, LJ_TISNUM);
2175 } 2176 }
2176 if (sse) { 2177 if (sse) {
2177 dasm_put(Dst, 11308); 2178 dasm_put(Dst, 11325);
2178 } else { 2179 } else {
2179 dasm_put(Dst, 11323); 2180 dasm_put(Dst, 11340);
2180 } 2181 }
2181 break; 2182 break;
2182 case 1: 2183 case 1:
2183 dasm_put(Dst, 11332, LJ_TISNUM); 2184 dasm_put(Dst, 11349, LJ_TISNUM);
2184 if (LJ_DUALNUM) { 2185 if (LJ_DUALNUM) {
2185 dasm_put(Dst, 11344, LJ_TISNUM); 2186 dasm_put(Dst, 11361, LJ_TISNUM);
2186 } 2187 }
2187 if (sse) { 2188 if (sse) {
2188 dasm_put(Dst, 11356); 2189 dasm_put(Dst, 11373);
2189 } else { 2190 } else {
2190 dasm_put(Dst, 11371); 2191 dasm_put(Dst, 11388);
2191 } 2192 }
2192 break; 2193 break;
2193 default: 2194 default:
2194 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2195 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2195 if (sse) { 2196 if (sse) {
2196 dasm_put(Dst, 11402); 2197 dasm_put(Dst, 11419);
2197 } else { 2198 } else {
2198 dasm_put(Dst, 11416); 2199 dasm_put(Dst, 11433);
2199 } 2200 }
2200 break; 2201 break;
2201 } 2202 }
2202 if (sse) { 2203 if (sse) {
2203 dasm_put(Dst, 11035); 2204 dasm_put(Dst, 11052);
2204 } else { 2205 } else {
2205 dasm_put(Dst, 11047); 2206 dasm_put(Dst, 11064);
2206 } 2207 }
2207 dasm_put(Dst, 10158); 2208 dasm_put(Dst, 10175);
2208 } 2209 }
2209 break; 2210 break;
2210 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2211 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2211 if (LJ_DUALNUM) { 2212 if (LJ_DUALNUM) {
2212 dasm_put(Dst, 11167); 2213 dasm_put(Dst, 11184);
2213 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2214 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2214 switch (vk) { 2215 switch (vk) {
2215 case 0: 2216 case 0:
2216 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM); 2217 dasm_put(Dst, 11441, LJ_TISNUM, LJ_TISNUM);
2217 break; 2218 break;
2218 case 1: 2219 case 1:
2219 dasm_put(Dst, 11459, LJ_TISNUM, LJ_TISNUM); 2220 dasm_put(Dst, 11476, LJ_TISNUM, LJ_TISNUM);
2220 break; 2221 break;
2221 default: 2222 default:
2222 dasm_put(Dst, 11494, LJ_TISNUM, LJ_TISNUM); 2223 dasm_put(Dst, 11511, LJ_TISNUM, LJ_TISNUM);
2223 break; 2224 break;
2224 } 2225 }
2225 dasm_put(Dst, 11278, LJ_TISNUM); 2226 dasm_put(Dst, 11295, LJ_TISNUM);
2226 if (vk == 1) { 2227 if (vk == 1) {
2227 dasm_put(Dst, 11075); 2228 dasm_put(Dst, 11092);
2228 } else { 2229 } else {
2229 dasm_put(Dst, 10858); 2230 dasm_put(Dst, 10875);
2230 } 2231 }
2231 dasm_put(Dst, 10158); 2232 dasm_put(Dst, 10175);
2232 } else { 2233 } else {
2233 dasm_put(Dst, 11167); 2234 dasm_put(Dst, 11184);
2234 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2235 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2235 switch (vk) { 2236 switch (vk) {
2236 case 0: 2237 case 0:
2237 dasm_put(Dst, 11284, LJ_TISNUM); 2238 dasm_put(Dst, 11301, LJ_TISNUM);
2238 if (LJ_DUALNUM) { 2239 if (LJ_DUALNUM) {
2239 dasm_put(Dst, 11296, LJ_TISNUM); 2240 dasm_put(Dst, 11313, LJ_TISNUM);
2240 } 2241 }
2241 if (sse) { 2242 if (sse) {
2242 dasm_put(Dst, 11527); 2243 dasm_put(Dst, 11544);
2243 } else { 2244 } else {
2244 dasm_put(Dst, 11542); 2245 dasm_put(Dst, 11559);
2245 } 2246 }
2246 break; 2247 break;
2247 case 1: 2248 case 1:
2248 dasm_put(Dst, 11332, LJ_TISNUM); 2249 dasm_put(Dst, 11349, LJ_TISNUM);
2249 if (LJ_DUALNUM) { 2250 if (LJ_DUALNUM) {
2250 dasm_put(Dst, 11344, LJ_TISNUM); 2251 dasm_put(Dst, 11361, LJ_TISNUM);
2251 } 2252 }
2252 if (sse) { 2253 if (sse) {
2253 dasm_put(Dst, 11551); 2254 dasm_put(Dst, 11568);
2254 } else { 2255 } else {
2255 dasm_put(Dst, 11566); 2256 dasm_put(Dst, 11583);
2256 } 2257 }
2257 break; 2258 break;
2258 default: 2259 default:
2259 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2260 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2260 if (sse) { 2261 if (sse) {
2261 dasm_put(Dst, 11575); 2262 dasm_put(Dst, 11592);
2262 } else { 2263 } else {
2263 dasm_put(Dst, 11589); 2264 dasm_put(Dst, 11606);
2264 } 2265 }
2265 break; 2266 break;
2266 } 2267 }
2267 if (sse) { 2268 if (sse) {
2268 dasm_put(Dst, 11035); 2269 dasm_put(Dst, 11052);
2269 } else { 2270 } else {
2270 dasm_put(Dst, 11047); 2271 dasm_put(Dst, 11064);
2271 } 2272 }
2272 dasm_put(Dst, 10158); 2273 dasm_put(Dst, 10175);
2273 } 2274 }
2274 break; 2275 break;
2275 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2276 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2276 if (LJ_DUALNUM) { 2277 if (LJ_DUALNUM) {
2277 dasm_put(Dst, 11167); 2278 dasm_put(Dst, 11184);
2278 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2279 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2279 switch (vk) { 2280 switch (vk) {
2280 case 0: 2281 case 0:
2281 dasm_put(Dst, 11597, LJ_TISNUM, LJ_TISNUM); 2282 dasm_put(Dst, 11614, LJ_TISNUM, LJ_TISNUM);
2282 break; 2283 break;
2283 case 1: 2284 case 1:
2284 dasm_put(Dst, 11633, LJ_TISNUM, LJ_TISNUM); 2285 dasm_put(Dst, 11650, LJ_TISNUM, LJ_TISNUM);
2285 break; 2286 break;
2286 default: 2287 default:
2287 dasm_put(Dst, 11669, LJ_TISNUM, LJ_TISNUM); 2288 dasm_put(Dst, 11686, LJ_TISNUM, LJ_TISNUM);
2288 break; 2289 break;
2289 } 2290 }
2290 dasm_put(Dst, 11278, LJ_TISNUM); 2291 dasm_put(Dst, 11295, LJ_TISNUM);
2291 if (vk == 1) { 2292 if (vk == 1) {
2292 dasm_put(Dst, 11075); 2293 dasm_put(Dst, 11092);
2293 } else { 2294 } else {
2294 dasm_put(Dst, 10858); 2295 dasm_put(Dst, 10875);
2295 } 2296 }
2296 dasm_put(Dst, 10158); 2297 dasm_put(Dst, 10175);
2297 } else { 2298 } else {
2298 dasm_put(Dst, 11167); 2299 dasm_put(Dst, 11184);
2299 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2300 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2300 switch (vk) { 2301 switch (vk) {
2301 case 0: 2302 case 0:
2302 dasm_put(Dst, 11284, LJ_TISNUM); 2303 dasm_put(Dst, 11301, LJ_TISNUM);
2303 if (LJ_DUALNUM) { 2304 if (LJ_DUALNUM) {
2304 dasm_put(Dst, 11296, LJ_TISNUM); 2305 dasm_put(Dst, 11313, LJ_TISNUM);
2305 } 2306 }
2306 if (sse) { 2307 if (sse) {
2307 dasm_put(Dst, 11703); 2308 dasm_put(Dst, 11720);
2308 } else { 2309 } else {
2309 dasm_put(Dst, 11718); 2310 dasm_put(Dst, 11735);
2310 } 2311 }
2311 break; 2312 break;
2312 case 1: 2313 case 1:
2313 dasm_put(Dst, 11332, LJ_TISNUM); 2314 dasm_put(Dst, 11349, LJ_TISNUM);
2314 if (LJ_DUALNUM) { 2315 if (LJ_DUALNUM) {
2315 dasm_put(Dst, 11344, LJ_TISNUM); 2316 dasm_put(Dst, 11361, LJ_TISNUM);
2316 } 2317 }
2317 if (sse) { 2318 if (sse) {
2318 dasm_put(Dst, 11727); 2319 dasm_put(Dst, 11744);
2319 } else { 2320 } else {
2320 dasm_put(Dst, 11742); 2321 dasm_put(Dst, 11759);
2321 } 2322 }
2322 break; 2323 break;
2323 default: 2324 default:
2324 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2325 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2325 if (sse) { 2326 if (sse) {
2326 dasm_put(Dst, 11751); 2327 dasm_put(Dst, 11768);
2327 } else { 2328 } else {
2328 dasm_put(Dst, 11765); 2329 dasm_put(Dst, 11782);
2329 } 2330 }
2330 break; 2331 break;
2331 } 2332 }
2332 if (sse) { 2333 if (sse) {
2333 dasm_put(Dst, 11035); 2334 dasm_put(Dst, 11052);
2334 } else { 2335 } else {
2335 dasm_put(Dst, 11047); 2336 dasm_put(Dst, 11064);
2336 } 2337 }
2337 dasm_put(Dst, 10158); 2338 dasm_put(Dst, 10175);
2338 } 2339 }
2339 break; 2340 break;
2340 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2341 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2341 dasm_put(Dst, 11167); 2342 dasm_put(Dst, 11184);
2342 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2343 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2343 switch (vk) { 2344 switch (vk) {
2344 case 0: 2345 case 0:
2345 dasm_put(Dst, 11284, LJ_TISNUM); 2346 dasm_put(Dst, 11301, LJ_TISNUM);
2346 if (LJ_DUALNUM) { 2347 if (LJ_DUALNUM) {
2347 dasm_put(Dst, 11296, LJ_TISNUM); 2348 dasm_put(Dst, 11313, LJ_TISNUM);
2348 } 2349 }
2349 if (sse) { 2350 if (sse) {
2350 dasm_put(Dst, 11773); 2351 dasm_put(Dst, 11790);
2351 } else { 2352 } else {
2352 dasm_put(Dst, 11788); 2353 dasm_put(Dst, 11805);
2353 } 2354 }
2354 break; 2355 break;
2355 case 1: 2356 case 1:
2356 dasm_put(Dst, 11332, LJ_TISNUM); 2357 dasm_put(Dst, 11349, LJ_TISNUM);
2357 if (LJ_DUALNUM) { 2358 if (LJ_DUALNUM) {
2358 dasm_put(Dst, 11344, LJ_TISNUM); 2359 dasm_put(Dst, 11361, LJ_TISNUM);
2359 } 2360 }
2360 if (sse) { 2361 if (sse) {
2361 dasm_put(Dst, 11797); 2362 dasm_put(Dst, 11814);
2362 } else { 2363 } else {
2363 dasm_put(Dst, 11812); 2364 dasm_put(Dst, 11829);
2364 } 2365 }
2365 break; 2366 break;
2366 default: 2367 default:
2367 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2368 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2368 if (sse) { 2369 if (sse) {
2369 dasm_put(Dst, 11821); 2370 dasm_put(Dst, 11838);
2370 } else { 2371 } else {
2371 dasm_put(Dst, 11835); 2372 dasm_put(Dst, 11852);
2372 } 2373 }
2373 break; 2374 break;
2374 } 2375 }
2375 if (sse) { 2376 if (sse) {
2376 dasm_put(Dst, 11035); 2377 dasm_put(Dst, 11052);
2377 } else { 2378 } else {
2378 dasm_put(Dst, 11047); 2379 dasm_put(Dst, 11064);
2379 } 2380 }
2380 dasm_put(Dst, 10158); 2381 dasm_put(Dst, 10175);
2381 break; 2382 break;
2382 case BC_MODVN: 2383 case BC_MODVN:
2383 dasm_put(Dst, 11167); 2384 dasm_put(Dst, 11184);
2384 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2385 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2385 switch (vk) { 2386 switch (vk) {
2386 case 0: 2387 case 0:
2387 dasm_put(Dst, 11284, LJ_TISNUM); 2388 dasm_put(Dst, 11301, LJ_TISNUM);
2388 if (LJ_DUALNUM) { 2389 if (LJ_DUALNUM) {
2389 dasm_put(Dst, 11296, LJ_TISNUM); 2390 dasm_put(Dst, 11313, LJ_TISNUM);
2390 } 2391 }
2391 if (sse) { 2392 if (sse) {
2392 dasm_put(Dst, 11843); 2393 dasm_put(Dst, 11860);
2393 } else { 2394 } else {
2394 dasm_put(Dst, 11858); 2395 dasm_put(Dst, 11875);
2395 } 2396 }
2396 break; 2397 break;
2397 case 1: 2398 case 1:
2398 dasm_put(Dst, 11332, LJ_TISNUM); 2399 dasm_put(Dst, 11349, LJ_TISNUM);
2399 if (LJ_DUALNUM) { 2400 if (LJ_DUALNUM) {
2400 dasm_put(Dst, 11344, LJ_TISNUM); 2401 dasm_put(Dst, 11361, LJ_TISNUM);
2401 } 2402 }
2402 if (sse) { 2403 if (sse) {
2403 dasm_put(Dst, 11867); 2404 dasm_put(Dst, 11884);
2404 } else { 2405 } else {
2405 dasm_put(Dst, 11882); 2406 dasm_put(Dst, 11899);
2406 } 2407 }
2407 break; 2408 break;
2408 default: 2409 default:
2409 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2410 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2410 if (sse) { 2411 if (sse) {
2411 dasm_put(Dst, 11891); 2412 dasm_put(Dst, 11908);
2412 } else { 2413 } else {
2413 dasm_put(Dst, 11905); 2414 dasm_put(Dst, 11922);
2414 } 2415 }
2415 break; 2416 break;
2416 } 2417 }
2417 dasm_put(Dst, 11913); 2418 dasm_put(Dst, 11930);
2418 if (sse) { 2419 if (sse) {
2419 dasm_put(Dst, 11035); 2420 dasm_put(Dst, 11052);
2420 } else { 2421 } else {
2421 dasm_put(Dst, 11047); 2422 dasm_put(Dst, 11064);
2422 } 2423 }
2423 dasm_put(Dst, 10158); 2424 dasm_put(Dst, 10175);
2424 break; 2425 break;
2425 case BC_MODNV: case BC_MODVV: 2426 case BC_MODNV: case BC_MODVV:
2426 dasm_put(Dst, 11167); 2427 dasm_put(Dst, 11184);
2427 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2428 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2428 switch (vk) { 2429 switch (vk) {
2429 case 0: 2430 case 0:
2430 dasm_put(Dst, 11284, LJ_TISNUM); 2431 dasm_put(Dst, 11301, LJ_TISNUM);
2431 if (LJ_DUALNUM) { 2432 if (LJ_DUALNUM) {
2432 dasm_put(Dst, 11296, LJ_TISNUM); 2433 dasm_put(Dst, 11313, LJ_TISNUM);
2433 } 2434 }
2434 if (sse) { 2435 if (sse) {
2435 dasm_put(Dst, 11843); 2436 dasm_put(Dst, 11860);
2436 } else { 2437 } else {
2437 dasm_put(Dst, 11858); 2438 dasm_put(Dst, 11875);
2438 } 2439 }
2439 break; 2440 break;
2440 case 1: 2441 case 1:
2441 dasm_put(Dst, 11332, LJ_TISNUM); 2442 dasm_put(Dst, 11349, LJ_TISNUM);
2442 if (LJ_DUALNUM) { 2443 if (LJ_DUALNUM) {
2443 dasm_put(Dst, 11344, LJ_TISNUM); 2444 dasm_put(Dst, 11361, LJ_TISNUM);
2444 } 2445 }
2445 if (sse) { 2446 if (sse) {
2446 dasm_put(Dst, 11867); 2447 dasm_put(Dst, 11884);
2447 } else { 2448 } else {
2448 dasm_put(Dst, 11882); 2449 dasm_put(Dst, 11899);
2449 } 2450 }
2450 break; 2451 break;
2451 default: 2452 default:
2452 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2453 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2453 if (sse) { 2454 if (sse) {
2454 dasm_put(Dst, 11891); 2455 dasm_put(Dst, 11908);
2455 } else { 2456 } else {
2456 dasm_put(Dst, 11905); 2457 dasm_put(Dst, 11922);
2457 } 2458 }
2458 break; 2459 break;
2459 } 2460 }
2460 dasm_put(Dst, 11919); 2461 dasm_put(Dst, 11936);
2461 break; 2462 break;
2462 case BC_POW: 2463 case BC_POW:
2463 dasm_put(Dst, 11167); 2464 dasm_put(Dst, 11184);
2464 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2465 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2465 switch (vk) { 2466 switch (vk) {
2466 case 0: 2467 case 0:
2467 dasm_put(Dst, 11284, LJ_TISNUM); 2468 dasm_put(Dst, 11301, LJ_TISNUM);
2468 if (LJ_DUALNUM) { 2469 if (LJ_DUALNUM) {
2469 dasm_put(Dst, 11296, LJ_TISNUM); 2470 dasm_put(Dst, 11313, LJ_TISNUM);
2470 } 2471 }
2471 if (sse) { 2472 if (sse) {
2472 dasm_put(Dst, 11843); 2473 dasm_put(Dst, 11860);
2473 } else { 2474 } else {
2474 dasm_put(Dst, 11858); 2475 dasm_put(Dst, 11875);
2475 } 2476 }
2476 break; 2477 break;
2477 case 1: 2478 case 1:
2478 dasm_put(Dst, 11332, LJ_TISNUM); 2479 dasm_put(Dst, 11349, LJ_TISNUM);
2479 if (LJ_DUALNUM) { 2480 if (LJ_DUALNUM) {
2480 dasm_put(Dst, 11344, LJ_TISNUM); 2481 dasm_put(Dst, 11361, LJ_TISNUM);
2481 } 2482 }
2482 if (sse) { 2483 if (sse) {
2483 dasm_put(Dst, 11867); 2484 dasm_put(Dst, 11884);
2484 } else { 2485 } else {
2485 dasm_put(Dst, 11882); 2486 dasm_put(Dst, 11899);
2486 } 2487 }
2487 break; 2488 break;
2488 default: 2489 default:
2489 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM); 2490 dasm_put(Dst, 11397, LJ_TISNUM, LJ_TISNUM);
2490 if (sse) { 2491 if (sse) {
2491 dasm_put(Dst, 11891); 2492 dasm_put(Dst, 11908);
2492 } else { 2493 } else {
2493 dasm_put(Dst, 11905); 2494 dasm_put(Dst, 11922);
2494 } 2495 }
2495 break; 2496 break;
2496 } 2497 }
2497 dasm_put(Dst, 11924); 2498 dasm_put(Dst, 11941);
2498 if (sse) { 2499 if (sse) {
2499 dasm_put(Dst, 11035); 2500 dasm_put(Dst, 11052);
2500 } else { 2501 } else {
2501 dasm_put(Dst, 11047); 2502 dasm_put(Dst, 11064);
2502 } 2503 }
2503 dasm_put(Dst, 10158); 2504 dasm_put(Dst, 10175);
2504 break; 2505 break;
2505 2506
2506 case BC_CAT: 2507 case BC_CAT:
2507 dasm_put(Dst, 11928, Dt1(->base), Dt1(->base)); 2508 dasm_put(Dst, 11945, Dt1(->base), Dt1(->base));
2508 break; 2509 break;
2509 2510
2510 /* -- Constant ops ------------------------------------------------------ */ 2511 /* -- Constant ops ------------------------------------------------------ */
2511 2512
2512 case BC_KSTR: 2513 case BC_KSTR:
2513 dasm_put(Dst, 12012, LJ_TSTR); 2514 dasm_put(Dst, 12029, LJ_TSTR);
2514 break; 2515 break;
2515 case BC_KCDATA: 2516 case BC_KCDATA:
2516#if LJ_HASFFI 2517#if LJ_HASFFI
2517 dasm_put(Dst, 12012, LJ_TCDATA); 2518 dasm_put(Dst, 12029, LJ_TCDATA);
2518#endif 2519#endif
2519 break; 2520 break;
2520 case BC_KSHORT: 2521 case BC_KSHORT:
2521 if (LJ_DUALNUM) { 2522 if (LJ_DUALNUM) {
2522 dasm_put(Dst, 12049, LJ_TISNUM); 2523 dasm_put(Dst, 12066, LJ_TISNUM);
2523 } else if (sse) { 2524 } else if (sse) {
2524 dasm_put(Dst, 12061); 2525 dasm_put(Dst, 12078);
2525 } else { 2526 } else {
2526 dasm_put(Dst, 12076); 2527 dasm_put(Dst, 12093);
2527 } 2528 }
2528 dasm_put(Dst, 10158); 2529 dasm_put(Dst, 10175);
2529 break; 2530 break;
2530 case BC_KNUM: 2531 case BC_KNUM:
2531 if (sse) { 2532 if (sse) {
2532 dasm_put(Dst, 12084); 2533 dasm_put(Dst, 12101);
2533 } else { 2534 } else {
2534 dasm_put(Dst, 12098); 2535 dasm_put(Dst, 12115);
2535 } 2536 }
2536 dasm_put(Dst, 10158); 2537 dasm_put(Dst, 10175);
2537 break; 2538 break;
2538 case BC_KPRI: 2539 case BC_KPRI:
2539 dasm_put(Dst, 12106); 2540 dasm_put(Dst, 12123);
2540 break; 2541 break;
2541 case BC_KNIL: 2542 case BC_KNIL:
2542 dasm_put(Dst, 12135, LJ_TNIL); 2543 dasm_put(Dst, 12152, LJ_TNIL);
2543 break; 2544 break;
2544 2545
2545 /* -- Upvalue and function ops ------------------------------------------ */ 2546 /* -- Upvalue and function ops ------------------------------------------ */
2546 2547
2547 case BC_UGET: 2548 case BC_UGET:
2548 dasm_put(Dst, 12183, offsetof(GCfuncL, uvptr), DtA(->v)); 2549 dasm_put(Dst, 12200, offsetof(GCfuncL, uvptr), DtA(->v));
2549 break; 2550 break;
2550 case BC_USETV: 2551 case BC_USETV:
2551#define TV2MARKOFS \ 2552#define TV2MARKOFS \
2552 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2553 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2553 dasm_put(Dst, 12224, 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); 2554 dasm_put(Dst, 12241, 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);
2554 dasm_put(Dst, 12320); 2555 dasm_put(Dst, 12337);
2555 break; 2556 break;
2556#undef TV2MARKOFS 2557#undef TV2MARKOFS
2557 case BC_USETS: 2558 case BC_USETS:
2558 dasm_put(Dst, 12332, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2559 dasm_put(Dst, 12349, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2559 break; 2560 break;
2560 case BC_USETN: 2561 case BC_USETN:
2561 dasm_put(Dst, 12428); 2562 dasm_put(Dst, 12445);
2562 if (sse) { 2563 if (sse) {
2563 dasm_put(Dst, 12433); 2564 dasm_put(Dst, 12450);
2564 } else { 2565 } else {
2565 dasm_put(Dst, 10682); 2566 dasm_put(Dst, 10699);
2566 } 2567 }
2567 dasm_put(Dst, 12441, offsetof(GCfuncL, uvptr), DtA(->v)); 2568 dasm_put(Dst, 12458, offsetof(GCfuncL, uvptr), DtA(->v));
2568 if (sse) { 2569 if (sse) {
2569 dasm_put(Dst, 12450); 2570 dasm_put(Dst, 12467);
2570 } else { 2571 } else {
2571 dasm_put(Dst, 12456); 2572 dasm_put(Dst, 12473);
2572 } 2573 }
2573 dasm_put(Dst, 10158); 2574 dasm_put(Dst, 10175);
2574 break; 2575 break;
2575 case BC_USETP: 2576 case BC_USETP:
2576 dasm_put(Dst, 12459, offsetof(GCfuncL, uvptr), DtA(->v)); 2577 dasm_put(Dst, 12476, offsetof(GCfuncL, uvptr), DtA(->v));
2577 break; 2578 break;
2578 case BC_UCLO: 2579 case BC_UCLO:
2579 dasm_put(Dst, 12499, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2580 dasm_put(Dst, 12516, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2580 break; 2581 break;
2581 2582
2582 case BC_FNEW: 2583 case BC_FNEW:
2583 dasm_put(Dst, 12555, Dt1(->base), Dt1(->base), LJ_TFUNC); 2584 dasm_put(Dst, 12572, Dt1(->base), Dt1(->base), LJ_TFUNC);
2584 break; 2585 break;
2585 2586
2586 /* -- Table ops --------------------------------------------------------- */ 2587 /* -- Table ops --------------------------------------------------------- */
2587 2588
2588 case BC_TNEW: 2589 case BC_TNEW:
2589 dasm_put(Dst, 12622, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2590 dasm_put(Dst, 12639, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2590 break; 2591 break;
2591 case BC_TDUP: 2592 case BC_TDUP:
2592 dasm_put(Dst, 12746, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2593 dasm_put(Dst, 12763, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2593 break; 2594 break;
2594 2595
2595 case BC_GGET: 2596 case BC_GGET:
2596 dasm_put(Dst, 12845, Dt7(->env)); 2597 dasm_put(Dst, 12862, Dt7(->env));
2597 break; 2598 break;
2598 case BC_GSET: 2599 case BC_GSET:
2599 dasm_put(Dst, 12865, Dt7(->env)); 2600 dasm_put(Dst, 12882, Dt7(->env));
2600 break; 2601 break;
2601 2602
2602 case BC_TGETV: 2603 case BC_TGETV:
2603 dasm_put(Dst, 12885, LJ_TTAB); 2604 dasm_put(Dst, 12902, LJ_TTAB);
2604 if (LJ_DUALNUM) { 2605 if (LJ_DUALNUM) {
2605 dasm_put(Dst, 12908, LJ_TISNUM); 2606 dasm_put(Dst, 12925, LJ_TISNUM);
2606 } else { 2607 } else {
2607 dasm_put(Dst, 12922, LJ_TISNUM); 2608 dasm_put(Dst, 12939, LJ_TISNUM);
2608 if (sse) { 2609 if (sse) {
2609 dasm_put(Dst, 12933); 2610 dasm_put(Dst, 12950);
2610 } else { 2611 } else {
2611 } 2612 }
2612 dasm_put(Dst, 12954); 2613 dasm_put(Dst, 12971);
2613 } 2614 }
2614 dasm_put(Dst, 12959, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2615 dasm_put(Dst, 12976, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2615 dasm_put(Dst, 13051, LJ_TSTR); 2616 dasm_put(Dst, 13068, LJ_TSTR);
2616 break; 2617 break;
2617 case BC_TGETS: 2618 case BC_TGETS:
2618 dasm_put(Dst, 13069, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2619 dasm_put(Dst, 13086, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2619 dasm_put(Dst, 13154, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2620 dasm_put(Dst, 13171, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2620 break; 2621 break;
2621 case BC_TGETB: 2622 case BC_TGETB:
2622 dasm_put(Dst, 13226, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2623 dasm_put(Dst, 13243, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2623 dasm_put(Dst, 13322, LJ_TNIL); 2624 dasm_put(Dst, 13339, LJ_TNIL);
2624 break; 2625 break;
2625 2626
2626 case BC_TSETV: 2627 case BC_TSETV:
2627 dasm_put(Dst, 13339, LJ_TTAB); 2628 dasm_put(Dst, 13356, LJ_TTAB);
2628 if (LJ_DUALNUM) { 2629 if (LJ_DUALNUM) {
2629 dasm_put(Dst, 12908, LJ_TISNUM); 2630 dasm_put(Dst, 12925, LJ_TISNUM);
2630 } else { 2631 } else {
2631 dasm_put(Dst, 12922, LJ_TISNUM); 2632 dasm_put(Dst, 12939, LJ_TISNUM);
2632 if (sse) { 2633 if (sse) {
2633 dasm_put(Dst, 12933); 2634 dasm_put(Dst, 12950);
2634 } else { 2635 } else {
2635 } 2636 }
2636 dasm_put(Dst, 13362); 2637 dasm_put(Dst, 13379);
2637 } 2638 }
2638 dasm_put(Dst, 13367, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2639 dasm_put(Dst, 13384, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2639 dasm_put(Dst, 13448, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2640 dasm_put(Dst, 13465, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2640 break; 2641 break;
2641 case BC_TSETS: 2642 case BC_TSETS:
2642 dasm_put(Dst, 13507, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2643 dasm_put(Dst, 13524, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2643 dasm_put(Dst, 13584, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2644 dasm_put(Dst, 13601, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2644 dasm_put(Dst, 13671, 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)); 2645 dasm_put(Dst, 13688, 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));
2645 break; 2646 break;
2646 case BC_TSETB: 2647 case BC_TSETB:
2647 dasm_put(Dst, 13763, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2648 dasm_put(Dst, 13780, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2648 dasm_put(Dst, 13858, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2649 dasm_put(Dst, 13875, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2649 break; 2650 break;
2650 2651
2651 case BC_TSETM: 2652 case BC_TSETM:
2652 dasm_put(Dst, 13906, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2653 dasm_put(Dst, 13923, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2653 dasm_put(Dst, 14056, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2654 dasm_put(Dst, 14073, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2654 break; 2655 break;
2655 2656
2656 /* -- Calls and vararg handling ----------------------------------------- */ 2657 /* -- Calls and vararg handling ----------------------------------------- */
2657 2658
2658 case BC_CALL: case BC_CALLM: 2659 case BC_CALL: case BC_CALLM:
2659 dasm_put(Dst, 11171); 2660 dasm_put(Dst, 11188);
2660 if (op == BC_CALLM) { 2661 if (op == BC_CALLM) {
2661 dasm_put(Dst, 14076); 2662 dasm_put(Dst, 14093);
2662 } 2663 }
2663 dasm_put(Dst, 14081, LJ_TFUNC, Dt7(->pc)); 2664 dasm_put(Dst, 14098, LJ_TFUNC, Dt7(->pc));
2664 break; 2665 break;
2665 2666
2666 case BC_CALLMT: 2667 case BC_CALLMT:
2667 dasm_put(Dst, 14076); 2668 dasm_put(Dst, 14093);
2668 break; 2669 break;
2669 case BC_CALLT: 2670 case BC_CALLT:
2670 dasm_put(Dst, 14124, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2671 dasm_put(Dst, 14141, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2671 dasm_put(Dst, 14242, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2672 dasm_put(Dst, 14259, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2672 break; 2673 break;
2673 2674
2674 case BC_ITERC: 2675 case BC_ITERC:
2675 dasm_put(Dst, 14316, LJ_TFUNC, 2+1, Dt7(->pc)); 2676 dasm_put(Dst, 14333, LJ_TFUNC, 2+1, Dt7(->pc));
2676 break; 2677 break;
2677 2678
2678 case BC_ITERN: 2679 case BC_ITERN:
2679#if LJ_HASJIT 2680#if LJ_HASJIT
2680#endif 2681#endif
2681 dasm_put(Dst, 14388, Dt6(->asize), Dt6(->array), LJ_TNIL); 2682 dasm_put(Dst, 14405, Dt6(->asize), Dt6(->array), LJ_TNIL);
2682 if (LJ_DUALNUM) { 2683 if (LJ_DUALNUM) {
2683 dasm_put(Dst, 11070, LJ_TISNUM); 2684 dasm_put(Dst, 11087, LJ_TISNUM);
2684 } else if (sse) { 2685 } else if (sse) {
2685 dasm_put(Dst, 11148); 2686 dasm_put(Dst, 11165);
2686 } else { 2687 } else {
2687 dasm_put(Dst, 14440); 2688 dasm_put(Dst, 14457);
2688 } 2689 }
2689 dasm_put(Dst, 14446); 2690 dasm_put(Dst, 14463);
2690 if (LJ_DUALNUM) { 2691 if (LJ_DUALNUM) {
2691 } else if (sse) { 2692 } else if (sse) {
2692 dasm_put(Dst, 11035); 2693 dasm_put(Dst, 11052);
2693 } else { 2694 } else {
2694 dasm_put(Dst, 11047); 2695 dasm_put(Dst, 11064);
2695 } 2696 }
2696 dasm_put(Dst, 14459, -BCBIAS_J*4); 2697 dasm_put(Dst, 14476, -BCBIAS_J*4);
2697 if (!LJ_DUALNUM && !sse) { 2698 if (!LJ_DUALNUM && !sse) {
2698 dasm_put(Dst, 14513); 2699 dasm_put(Dst, 14530);
2699 } 2700 }
2700 dasm_put(Dst, 14519, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2701 dasm_put(Dst, 14536, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2701 break; 2702 break;
2702 2703
2703 case BC_ISNEXT: 2704 case BC_ISNEXT:
2704 dasm_put(Dst, 14598, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2705 dasm_put(Dst, 14615, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2705 break; 2706 break;
2706 2707
2707 case BC_VARG: 2708 case BC_VARG:
2708 dasm_put(Dst, 14699, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2709 dasm_put(Dst, 14716, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2709 dasm_put(Dst, 14866, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2710 dasm_put(Dst, 14883, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2710 break; 2711 break;
2711 2712
2712 /* -- Returns ----------------------------------------------------------- */ 2713 /* -- Returns ----------------------------------------------------------- */
2713 2714
2714 case BC_RETM: 2715 case BC_RETM:
2715 dasm_put(Dst, 14076); 2716 dasm_put(Dst, 14093);
2716 break; 2717 break;
2717 2718
2718 case BC_RET: case BC_RET0: case BC_RET1: 2719 case BC_RET: case BC_RET0: case BC_RET1:
2719 if (op != BC_RET0) { 2720 if (op != BC_RET0) {
2720 dasm_put(Dst, 14936); 2721 dasm_put(Dst, 14953);
2721 } 2722 }
2722 dasm_put(Dst, 14940, FRAME_TYPE); 2723 dasm_put(Dst, 14957, FRAME_TYPE);
2723 switch (op) { 2724 switch (op) {
2724 case BC_RET: 2725 case BC_RET:
2725 dasm_put(Dst, 14959); 2726 dasm_put(Dst, 14976);
2726 break; 2727 break;
2727 case BC_RET1: 2728 case BC_RET1:
2728 dasm_put(Dst, 15013); 2729 dasm_put(Dst, 15030);
2729 /* fallthrough */ 2730 /* fallthrough */
2730 case BC_RET0: 2731 case BC_RET0:
2731 dasm_put(Dst, 15023); 2732 dasm_put(Dst, 15040);
2732 default: 2733 default:
2733 break; 2734 break;
2734 } 2735 }
2735 dasm_put(Dst, 15034, Dt7(->pc), PC2PROTO(k)); 2736 dasm_put(Dst, 15051, Dt7(->pc), PC2PROTO(k));
2736 if (op == BC_RET) { 2737 if (op == BC_RET) {
2737 dasm_put(Dst, 15082, LJ_TNIL); 2738 dasm_put(Dst, 15099, LJ_TNIL);
2738 } else { 2739 } else {
2739 dasm_put(Dst, 15093, LJ_TNIL); 2740 dasm_put(Dst, 15110, LJ_TNIL);
2740 } 2741 }
2741 dasm_put(Dst, 15100, -FRAME_VARG, FRAME_TYPEP); 2742 dasm_put(Dst, 15117, -FRAME_VARG, FRAME_TYPEP);
2742 if (op != BC_RET0) { 2743 if (op != BC_RET0) {
2743 dasm_put(Dst, 15124); 2744 dasm_put(Dst, 15141);
2744 } 2745 }
2745 dasm_put(Dst, 4692); 2746 dasm_put(Dst, 4709);
2746 break; 2747 break;
2747 2748
2748 /* -- Loops and branches ------------------------------------------------ */ 2749 /* -- Loops and branches ------------------------------------------------ */
@@ -2750,7 +2751,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2750 2751
2751 case BC_FORL: 2752 case BC_FORL:
2752#if LJ_HASJIT 2753#if LJ_HASJIT
2753 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT); 2754 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT);
2754#endif 2755#endif
2755 break; 2756 break;
2756 2757
@@ -2762,111 +2763,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2762 case BC_FORI: 2763 case BC_FORI:
2763 case BC_IFORL: 2764 case BC_IFORL:
2764 vk = (op == BC_IFORL || op == BC_JFORL); 2765 vk = (op == BC_IFORL || op == BC_JFORL);
2765 dasm_put(Dst, 15149); 2766 dasm_put(Dst, 15166);
2766 if (LJ_DUALNUM) { 2767 if (LJ_DUALNUM) {
2767 dasm_put(Dst, 15153, LJ_TISNUM); 2768 dasm_put(Dst, 15170, LJ_TISNUM);
2768 if (!vk) { 2769 if (!vk) {
2769 dasm_put(Dst, 15163, LJ_TISNUM, LJ_TISNUM); 2770 dasm_put(Dst, 15180, LJ_TISNUM, LJ_TISNUM);
2770 } else { 2771 } else {
2771#ifdef LUA_USE_ASSERT 2772#ifdef LUA_USE_ASSERT
2772 dasm_put(Dst, 15192, LJ_TISNUM, LJ_TISNUM); 2773 dasm_put(Dst, 15209, LJ_TISNUM, LJ_TISNUM);
2773#endif 2774#endif
2774 dasm_put(Dst, 15211); 2775 dasm_put(Dst, 15228);
2775 } 2776 }
2776 dasm_put(Dst, 15230, LJ_TISNUM); 2777 dasm_put(Dst, 15247, LJ_TISNUM);
2777 if (op == BC_FORI) { 2778 if (op == BC_FORI) {
2778 dasm_put(Dst, 15241, -BCBIAS_J*4); 2779 dasm_put(Dst, 15258, -BCBIAS_J*4);
2779 } else if (op == BC_JFORI) { 2780 } else if (op == BC_JFORI) {
2780 dasm_put(Dst, 15255, -BCBIAS_J*4, BC_JLOOP); 2781 dasm_put(Dst, 15272, -BCBIAS_J*4, BC_JLOOP);
2781 } else if (op == BC_IFORL) { 2782 } else if (op == BC_IFORL) {
2782 dasm_put(Dst, 15273, -BCBIAS_J*4); 2783 dasm_put(Dst, 15290, -BCBIAS_J*4);
2783 } else { 2784 } else {
2784 dasm_put(Dst, 15265, BC_JLOOP); 2785 dasm_put(Dst, 15282, BC_JLOOP);
2785 } 2786 }
2786 dasm_put(Dst, 15287); 2787 dasm_put(Dst, 15304);
2787 if (vk) { 2788 if (vk) {
2788 dasm_put(Dst, 15312); 2789 dasm_put(Dst, 15329);
2789 } 2790 }
2790 dasm_put(Dst, 15230, LJ_TISNUM); 2791 dasm_put(Dst, 15247, LJ_TISNUM);
2791 if (op == BC_FORI) { 2792 if (op == BC_FORI) {
2792 dasm_put(Dst, 15321); 2793 dasm_put(Dst, 15338);
2793 } else if (op == BC_JFORI) { 2794 } else if (op == BC_JFORI) {
2794 dasm_put(Dst, 15326, -BCBIAS_J*4, BC_JLOOP); 2795 dasm_put(Dst, 15343, -BCBIAS_J*4, BC_JLOOP);
2795 } else if (op == BC_IFORL) { 2796 } else if (op == BC_IFORL) {
2796 dasm_put(Dst, 15340); 2797 dasm_put(Dst, 15357);
2797 } else { 2798 } else {
2798 dasm_put(Dst, 15336, BC_JLOOP); 2799 dasm_put(Dst, 15353, BC_JLOOP);
2799 } 2800 }
2800 dasm_put(Dst, 15345); 2801 dasm_put(Dst, 15362);
2801 } else if (!vk) { 2802 } else if (!vk) {
2802 dasm_put(Dst, 15352, LJ_TISNUM); 2803 dasm_put(Dst, 15369, LJ_TISNUM);
2803 } 2804 }
2804 if (!vk) { 2805 if (!vk) {
2805 dasm_put(Dst, 15358, LJ_TISNUM); 2806 dasm_put(Dst, 15375, LJ_TISNUM);
2806 } else { 2807 } else {
2807#ifdef LUA_USE_ASSERT 2808#ifdef LUA_USE_ASSERT
2808 dasm_put(Dst, 15372, LJ_TISNUM, LJ_TISNUM); 2809 dasm_put(Dst, 15389, LJ_TISNUM, LJ_TISNUM);
2809#endif 2810#endif
2810 } 2811 }
2811 dasm_put(Dst, 15391); 2812 dasm_put(Dst, 15408);
2812 if (!vk) { 2813 if (!vk) {
2813 dasm_put(Dst, 15395, LJ_TISNUM); 2814 dasm_put(Dst, 15412, LJ_TISNUM);
2814 } 2815 }
2815 if (sse) { 2816 if (sse) {
2816 dasm_put(Dst, 15404); 2817 dasm_put(Dst, 15421);
2817 if (vk) { 2818 if (vk) {
2818 dasm_put(Dst, 15416); 2819 dasm_put(Dst, 15433);
2819 } else { 2820 } else {
2820 dasm_put(Dst, 15435); 2821 dasm_put(Dst, 15452);
2821 } 2822 }
2822 dasm_put(Dst, 15440); 2823 dasm_put(Dst, 15457);
2823 } else { 2824 } else {
2824 dasm_put(Dst, 15453); 2825 dasm_put(Dst, 15470);
2825 if (vk) { 2826 if (vk) {
2826 dasm_put(Dst, 15459); 2827 dasm_put(Dst, 15476);
2827 } else { 2828 } else {
2828 dasm_put(Dst, 15475); 2829 dasm_put(Dst, 15492);
2829 } 2830 }
2830 dasm_put(Dst, 15483); 2831 dasm_put(Dst, 15500);
2831 if (cmov) { 2832 if (cmov) {
2832 dasm_put(Dst, 10113); 2833 dasm_put(Dst, 10130);
2833 } else { 2834 } else {
2834 dasm_put(Dst, 10119); 2835 dasm_put(Dst, 10136);
2835 } 2836 }
2836 if (!cmov) { 2837 if (!cmov) {
2837 dasm_put(Dst, 15488); 2838 dasm_put(Dst, 15505);
2838 } 2839 }
2839 } 2840 }
2840 if (op == BC_FORI) { 2841 if (op == BC_FORI) {
2841 if (LJ_DUALNUM) { 2842 if (LJ_DUALNUM) {
2842 dasm_put(Dst, 15494); 2843 dasm_put(Dst, 15511);
2843 } else { 2844 } else {
2844 dasm_put(Dst, 15499, -BCBIAS_J*4); 2845 dasm_put(Dst, 15516, -BCBIAS_J*4);
2845 } 2846 }
2846 } else if (op == BC_JFORI) { 2847 } else if (op == BC_JFORI) {
2847 dasm_put(Dst, 15509, -BCBIAS_J*4, BC_JLOOP); 2848 dasm_put(Dst, 15526, -BCBIAS_J*4, BC_JLOOP);
2848 } else if (op == BC_IFORL) { 2849 } else if (op == BC_IFORL) {
2849 if (LJ_DUALNUM) { 2850 if (LJ_DUALNUM) {
2850 dasm_put(Dst, 15523); 2851 dasm_put(Dst, 15540);
2851 } else { 2852 } else {
2852 dasm_put(Dst, 15528, -BCBIAS_J*4); 2853 dasm_put(Dst, 15545, -BCBIAS_J*4);
2853 } 2854 }
2854 } else { 2855 } else {
2855 dasm_put(Dst, 15519, BC_JLOOP); 2856 dasm_put(Dst, 15536, BC_JLOOP);
2856 } 2857 }
2857 if (LJ_DUALNUM) { 2858 if (LJ_DUALNUM) {
2858 dasm_put(Dst, 10042); 2859 dasm_put(Dst, 10059);
2859 } else { 2860 } else {
2860 dasm_put(Dst, 10816); 2861 dasm_put(Dst, 10833);
2861 } 2862 }
2862 if (sse) { 2863 if (sse) {
2863 dasm_put(Dst, 15538); 2864 dasm_put(Dst, 15555);
2864 } 2865 }
2865 break; 2866 break;
2866 2867
2867 case BC_ITERL: 2868 case BC_ITERL:
2868#if LJ_HASJIT 2869#if LJ_HASJIT
2869 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT); 2870 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT);
2870#endif 2871#endif
2871 break; 2872 break;
2872 2873
@@ -2875,33 +2876,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2875 break; 2876 break;
2876#endif 2877#endif
2877 case BC_IITERL: 2878 case BC_IITERL:
2878 dasm_put(Dst, 15549, LJ_TNIL); 2879 dasm_put(Dst, 15566, LJ_TNIL);
2879 if (op == BC_JITERL) { 2880 if (op == BC_JITERL) {
2880 dasm_put(Dst, 15564, BC_JLOOP); 2881 dasm_put(Dst, 15581, BC_JLOOP);
2881 } else { 2882 } else {
2882 dasm_put(Dst, 15578, -BCBIAS_J*4); 2883 dasm_put(Dst, 15595, -BCBIAS_J*4);
2883 } 2884 }
2884 dasm_put(Dst, 10156); 2885 dasm_put(Dst, 10173);
2885 break; 2886 break;
2886 2887
2887 case BC_LOOP: 2888 case BC_LOOP:
2888#if LJ_HASJIT 2889#if LJ_HASJIT
2889 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT); 2890 dasm_put(Dst, 15145, HOTCOUNT_PCMASK, GG_DISP2HOT);
2890#endif 2891#endif
2891 break; 2892 break;
2892 2893
2893 case BC_ILOOP: 2894 case BC_ILOOP:
2894 dasm_put(Dst, 10158); 2895 dasm_put(Dst, 10175);
2895 break; 2896 break;
2896 2897
2897 case BC_JLOOP: 2898 case BC_JLOOP:
2898#if LJ_HASJIT 2899#if LJ_HASJIT
2899 dasm_put(Dst, 15594, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2900 dasm_put(Dst, 15611, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2900#endif 2901#endif
2901 break; 2902 break;
2902 2903
2903 case BC_JMP: 2904 case BC_JMP:
2904 dasm_put(Dst, 15635, -BCBIAS_J*4); 2905 dasm_put(Dst, 15652, -BCBIAS_J*4);
2905 break; 2906 break;
2906 2907
2907 /* -- Function headers -------------------------------------------------- */ 2908 /* -- Function headers -------------------------------------------------- */
@@ -2915,7 +2916,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2915 2916
2916 case BC_FUNCF: 2917 case BC_FUNCF:
2917#if LJ_HASJIT 2918#if LJ_HASJIT
2918 dasm_put(Dst, 15661, HOTCOUNT_PCMASK, GG_DISP2HOT); 2919 dasm_put(Dst, 15678, HOTCOUNT_PCMASK, GG_DISP2HOT);
2919#endif 2920#endif
2920 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2921 case BC_FUNCV: /* NYI: compiled vararg functions. */
2921 break; 2922 break;
@@ -2925,47 +2926,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2925 break; 2926 break;
2926#endif 2927#endif
2927 case BC_IFUNCF: 2928 case BC_IFUNCF:
2928 dasm_put(Dst, 15682, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2929 dasm_put(Dst, 15699, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2929 if (op == BC_JFUNCF) { 2930 if (op == BC_JFUNCF) {
2930 dasm_put(Dst, 15713, BC_JLOOP); 2931 dasm_put(Dst, 15730, BC_JLOOP);
2931 } else { 2932 } else {
2932 dasm_put(Dst, 10158); 2933 dasm_put(Dst, 10175);
2933 } 2934 }
2934 dasm_put(Dst, 15722, LJ_TNIL); 2935 dasm_put(Dst, 15739, LJ_TNIL);
2935 break; 2936 break;
2936 2937
2937 case BC_JFUNCV: 2938 case BC_JFUNCV:
2938#if !LJ_HASJIT 2939#if !LJ_HASJIT
2939 break; 2940 break;
2940#endif 2941#endif
2941 dasm_put(Dst, 9265); 2942 dasm_put(Dst, 9282);
2942 break; /* NYI: compiled vararg functions. */ 2943 break; /* NYI: compiled vararg functions. */
2943 2944
2944 case BC_IFUNCV: 2945 case BC_IFUNCV:
2945 dasm_put(Dst, 15744, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2946 dasm_put(Dst, 15761, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2946 if (op == BC_JFUNCV) { 2947 if (op == BC_JFUNCV) {
2947 dasm_put(Dst, 15713, BC_JLOOP); 2948 dasm_put(Dst, 15730, BC_JLOOP);
2948 } else { 2949 } else {
2949 dasm_put(Dst, 15841, -4+PC2PROTO(k)); 2950 dasm_put(Dst, 15858, -4+PC2PROTO(k));
2950 } 2951 }
2951 dasm_put(Dst, 15866, LJ_TNIL); 2952 dasm_put(Dst, 15883, LJ_TNIL);
2952 break; 2953 break;
2953 2954
2954 case BC_FUNCC: 2955 case BC_FUNCC:
2955 case BC_FUNCCW: 2956 case BC_FUNCCW:
2956 dasm_put(Dst, 15888, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2957 dasm_put(Dst, 15905, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2957 if (op == BC_FUNCC) { 2958 if (op == BC_FUNCC) {
2958 dasm_put(Dst, 2364); 2959 dasm_put(Dst, 2381);
2959 } else { 2960 } else {
2960 dasm_put(Dst, 15918); 2961 dasm_put(Dst, 15935);
2961 } 2962 }
2962 dasm_put(Dst, 15926, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2963 dasm_put(Dst, 15943, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2963 if (op == BC_FUNCC) { 2964 if (op == BC_FUNCC) {
2964 dasm_put(Dst, 15936); 2965 dasm_put(Dst, 15953);
2965 } else { 2966 } else {
2966 dasm_put(Dst, 15941, DISPATCH_GL(wrapf)); 2967 dasm_put(Dst, 15958, DISPATCH_GL(wrapf));
2967 } 2968 }
2968 dasm_put(Dst, 15947, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2969 dasm_put(Dst, 15964, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2969 break; 2970 break;
2970 2971
2971 /* ---------------------------------------------------------------------- */ 2972 /* ---------------------------------------------------------------------- */
@@ -2993,7 +2994,7 @@ static int build_backend(BuildCtx *ctx)
2993 2994
2994 build_subroutines(ctx, cmov, sse); 2995 build_subroutines(ctx, cmov, sse);
2995 2996
2996 dasm_put(Dst, 15973); 2997 dasm_put(Dst, 15990);
2997 for (op = 0; op < BC__MAX; op++) 2998 for (op = 0; op < BC__MAX; op++)
2998 build_ins(ctx, (BCOp)op, op, cmov, sse); 2999 build_ins(ctx, (BCOp)op, op, cmov, sse);
2999 3000
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
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 98998d83..b64617f9 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -1390,9 +1390,17 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1390 | 1390 |
1391 |6: 1391 |6:
1392 | cmp RB, LJ_TUDATA; je <1 1392 | cmp RB, LJ_TUDATA; je <1
1393 | cmp RB, LJ_TISNUM; ja >7 1393 |.if X64
1394 | mov RB, LJ_TNUMX 1394 | cmp RB, LJ_TNUMX; ja >8
1395 | cmp RB, LJ_TISNUM; jbe >7
1396 | mov RB, LJ_TLIGHTUD
1397 | jmp >8
1395 |7: 1398 |7:
1399 |.else
1400 | cmp RB, LJ_TISNUM; ja >8
1401 |.endif
1402 | mov RB, LJ_TNUMX
1403 |8:
1396 | not RB 1404 | not RB
1397 | mov TAB:RB, [DISPATCH+RB*4+DISPATCH_GL(gcroot[GCROOT_BASEMT])] 1405 | mov TAB:RB, [DISPATCH+RB*4+DISPATCH_GL(gcroot[GCROOT_BASEMT])]
1398 | jmp <2 1406 | jmp <2
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index b7b86cfd..2df74098 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -110,7 +110,7 @@ static const unsigned char build_actionlist[16947] = {
110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133, 110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,
111 244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139, 111 244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139,
112 1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15, 112 1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,
113 132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172, 113 132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,172,
114 253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122, 114 253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122,
115 253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12, 115 253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,
116 239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237, 116 239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,