diff options
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r-- | src/buildvm_x64win.h | 1636 |
1 files changed, 819 insertions, 817 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 244225f3..461f768c 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[15830] = { | 15 | static 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. */ |
1834 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1836 | static 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 | ||