aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h2325
1 files changed, 1171 insertions, 1154 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 9e6c72bb..bb813284 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15958] = { 15static const unsigned char build_actionlist[16011] = {
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,
@@ -89,73 +89,74 @@ static const unsigned char build_actionlist[15958] = {
89 252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116, 89 252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,
90 36,100,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,41,208, 90 36,100,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,41,208,
91 137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,36,96,137, 91 137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,36,96,137,
92 149,233,141,20,194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252, 92 149,233,141,20,194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,255,
93 233,244,44,248,57,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,233, 93 133,192,15,133,244,44,15,183,70,252,254,139,12,194,252,233,244,57,255,252,
94 8,139,108,36,96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116, 94 233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,
95 233,8,139,108,36,96,137,149,233,137,202,68,141,4,193,137,252,233,137,116,
95 36,100,232,251,1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248, 96 36,100,232,251,1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,
96 131,192,1,57,215,15,132,244,58,137,202,137,114,252,252,139,181,233,139,14, 97 131,192,1,57,215,15,132,244,59,137,202,137,114,252,252,139,181,233,139,14,
97 15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,59,139,108,36, 98 15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,60,139,108,36,
98 96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,9,139,149,233, 99 96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,
99 139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,252,235,233, 100 139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,
100 248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244, 101 248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,239,15,131,244,
101 61,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131, 102 62,139,114,252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,
102 232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248, 103 232,2,15,132,244,248,255,137,209,248,1,131,193,8,72,139,41,72,137,105,252,
103 131,232,1,15,133,244,1,248,2,255,139,68,36,84,252,233,244,62,248,63,129,252, 104 248,131,232,1,15,133,244,1,248,2,139,68,36,84,252,233,244,63,248,64,129,252,
104 248,239,15,130,244,61,139,106,4,137,252,233,193,252,249,15,131,252,249,252, 105 248,239,15,130,244,62,139,106,4,137,252,233,193,252,249,15,131,252,249,252,
105 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244, 106 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,
106 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252, 107 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,
107 252,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,184,237,252,233, 108 252,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,184,237,252,233,
108 244,2,248,65,129,252,248,239,15,130,244,61,139,106,4,139,114,252,252,129, 109 244,2,248,66,129,252,248,239,15,130,244,62,139,106,4,139,114,252,252,129,
109 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199, 110 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,
110 66,252,252,237,255,15,132,244,64,139,131,233,199,66,252,252,237,137,106,252, 111 66,252,252,237,255,15,132,244,65,139,131,233,199,66,252,252,237,137,106,252,
111 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, 112 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,
112 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, 113 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,
113 3,255,252,233,244,64,248,5,139,105,4,129,252,253,239,15,132,244,64,139,1, 114 3,255,252,233,244,65,248,5,139,105,4,129,252,253,239,15,132,244,65,139,1,
114 137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,239,15,132, 115 137,106,252,252,137,66,252,248,252,233,244,65,248,6,129,252,253,239,15,132,
115 244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237, 116 244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,253,189,237,
116 252,233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252, 117 252,233,244,254,248,7,255,189,237,248,8,252,247,213,139,172,253,171,233,252,
117 233,244,2,248,66,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244, 118 233,244,2,248,67,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,
118 61,139,42,131,189,233,0,15,133,244,61,129,122,253,12,239,15,133,244,61,139, 119 62,139,42,131,189,233,0,15,133,244,62,129,122,253,12,239,15,133,244,62,139,
119 66,8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252, 120 66,8,137,133,233,139,114,252,252,199,66,252,252,237,255,137,106,252,248,252,
120 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137, 121 246,133,233,235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,
121 133,233,248,1,252,233,244,64,248,67,129,252,248,239,15,130,244,61,129,122, 122 133,233,248,1,252,233,244,65,248,68,129,252,248,239,15,130,244,62,129,122,
122 253,4,239,15,133,244,61,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1, 123 253,4,239,15,133,244,62,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,
123 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,64, 124 10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,252,233,244,65,
124 248,68,255,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244, 125 248,69,255,129,252,248,239,15,133,244,62,129,122,253,4,239,255,15,133,244,
125 247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,131,244,61,255,252,242, 126 247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,131,244,62,255,252,242,
126 15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,248,72,129,252,248,239, 127 15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,248,73,129,252,248,239,
127 15,130,244,61,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248, 128 15,130,244,62,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
128 2,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,129,122,253,4,239, 129 2,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,129,122,253,4,239,
129 15,135,244,61,131,187,233,0,15,133,244,61,139,171,233,59,171,233,255,15,130, 130 15,135,244,62,131,187,233,0,15,133,244,62,139,171,233,59,171,233,255,15,130,
130 244,247,232,244,73,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252, 131 244,247,232,244,74,248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,
131 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,74, 132 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,75,
132 129,252,248,239,15,130,244,61,15,132,244,248,248,1,129,122,253,4,239,15,133, 133 129,252,248,239,15,130,244,62,15,132,244,248,248,1,129,122,253,4,239,15,133,
133 244,61,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8, 134 244,62,139,108,36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,
134 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132, 135 139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,
135 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,75,184, 136 244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,76,184,
136 237,255,252,233,244,76,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252, 137 237,255,252,233,244,77,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,
137 252,237,252,233,244,64,248,77,129,252,248,239,15,130,244,61,139,42,129,122, 138 252,237,252,233,244,65,248,78,129,252,248,239,15,130,244,62,139,42,129,122,
138 253,4,239,15,133,244,61,255,131,189,233,0,15,133,244,61,255,139,106,252,248, 139 253,4,239,15,133,244,62,255,131,189,233,0,15,133,244,62,255,139,106,252,248,
139 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237, 140 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,
140 184,237,252,233,244,76,248,78,129,252,248,239,15,130,244,61,129,122,253,4, 141 184,237,252,233,244,77,248,79,129,252,248,239,15,130,244,62,129,122,253,4,
141 239,15,133,244,61,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131, 142 239,15,133,244,62,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,
142 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237, 143 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,
143 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66, 144 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,
144 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129, 145 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
145 120,253,4,239,15,132,244,79,72,139,40,72,137,42,252,233,244,75,248,2,131, 146 120,253,4,239,15,132,244,80,72,139,40,72,137,42,252,233,244,76,248,2,131,
146 189,233,0,15,132,244,79,137,252,233,137,213,137,194,232,251,1,14,137,252, 147 189,233,0,15,132,244,80,137,252,233,137,213,137,194,232,251,1,14,137,252,
147 234,133,192,15,133,244,1,248,79,184,237,252,233,244,76,248,80,255,139,106, 148 234,133,192,15,133,244,1,248,80,184,237,252,233,244,77,248,81,255,139,106,
148 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255, 149 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,
149 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252, 150 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,
150 238,221,90,8,255,184,237,252,233,244,76,248,81,129,252,248,239,15,130,244, 151 238,221,90,8,255,184,237,252,233,244,77,248,82,129,252,248,239,15,130,244,
151 61,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, 152 62,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,
152 1,1,252,238,252,233,244,28,248,82,129,252,248,239,15,130,244,61,129,122,253, 153 1,1,252,238,252,233,244,28,248,83,129,252,248,239,15,130,244,62,129,122,253,
153 12,239,15,133,244,61,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 154 12,239,15,133,244,62,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
154 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,83,129,252, 155 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,84,129,252,
155 248,239,15,130,244,61,139,42,139,114,252,252,137,116,36,100,137,108,36,80, 156 248,239,15,130,244,62,139,42,139,114,252,252,137,116,36,100,137,108,36,80,
156 129,122,253,4,239,15,133,244,61,72,131,189,233,0,15,133,244,61,128,189,233, 157 129,122,253,4,239,15,133,244,62,72,131,189,233,0,15,133,244,62,128,189,233,
157 235,15,135,244,61,139,141,233,15,132,244,247,255,59,141,233,15,132,244,61, 158 235,15,135,244,62,139,141,233,15,132,244,247,255,59,141,233,15,132,244,62,
158 248,1,141,116,193,252,240,59,181,233,15,135,244,61,137,181,233,139,108,36, 159 248,1,141,116,193,252,240,59,181,233,15,135,244,62,137,181,233,139,108,36,
159 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, 160 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,
160 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15, 161 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,
161 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108, 162 133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,
@@ -167,10 +168,10 @@ static const unsigned char build_actionlist[15958] = {
167 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, 168 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
168 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252, 169 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,
169 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251, 170 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,
170 1,0,139,116,36,80,139,149,233,252,233,244,4,248,84,139,106,252,248,139,173, 171 1,0,139,116,36,80,139,149,233,252,233,244,4,248,85,139,106,252,248,139,173,
171 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133, 172 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133,
172 244,61,255,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247,59,141, 173 244,62,255,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247,59,141,
173 233,15,132,244,61,248,1,141,116,193,252,248,59,181,233,15,135,244,61,137, 174 233,15,132,244,62,248,1,141,116,193,252,248,59,181,233,15,135,244,62,137,
174 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252, 175 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252,
175 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252, 176 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252,
176 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233, 177 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,233,
@@ -181,210 +182,210 @@ static const unsigned char build_actionlist[15958] = {
181 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233, 182 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233,
182 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137, 183 244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,76,36,80,137,
183 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252, 184 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252,
184 233,244,4,248,85,139,108,36,96,72,252,247,133,233,237,15,132,244,61,255,137, 185 233,244,4,248,86,139,108,36,96,72,252,247,133,233,237,15,132,244,62,255,137,
185 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136, 186 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,
186 133,233,252,233,244,16,255,248,69,255,248,71,139,114,252,252,221,90,252,248, 187 133,233,252,233,244,16,255,248,70,255,248,72,139,114,252,252,221,90,252,248,
187 252,233,244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4, 188 252,233,244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4,
188 239,15,133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136, 189 239,15,133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136,
189 244,247,248,87,248,69,139,114,252,252,199,66,252,252,237,137,106,252,248, 190 244,247,248,88,248,70,139,114,252,252,199,66,252,252,237,137,106,252,248,
190 252,233,244,64,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 191 252,233,244,65,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
191 248,0,0,0,0,252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131, 192 248,0,0,0,0,252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131,
192 244,61,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248, 193 244,62,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,
193 70,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,70,248, 194 71,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,71,248,
194 71,139,114,252,252,221,90,252,248,255,248,64,184,237,248,76,137,68,36,84, 195 72,139,114,252,252,221,90,252,248,255,248,65,184,237,248,77,137,68,36,84,
195 248,62,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252, 196 248,63,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,
196 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131, 197 15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,
197 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192, 198 198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,
198 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233, 199 1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,252,233,
199 244,14,248,88,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,69, 200 244,14,248,89,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,70,
200 248,1,15,135,244,61,255,252,242,15,16,2,232,244,89,255,252,242,15,45,232, 201 248,1,15,135,244,62,255,252,242,15,16,2,232,244,90,255,252,242,15,45,232,
201 129,252,253,0,0,0,128,15,133,244,69,252,242,15,42,205,102,15,46,193,15,138, 202 129,252,253,0,0,0,128,15,133,244,70,252,242,15,42,205,102,15,46,193,15,138,
202 244,70,15,132,244,69,255,221,2,232,244,89,255,248,90,255,252,242,15,16,2, 203 244,71,15,132,244,70,255,221,2,232,244,90,255,248,91,255,252,242,15,16,2,
203 232,244,91,255,221,2,232,244,91,255,248,92,129,252,248,239,15,130,244,61, 204 232,244,92,255,221,2,232,244,92,255,248,93,129,252,248,239,15,130,244,62,
204 129,122,253,4,239,15,131,244,61,252,242,15,81,2,252,233,244,70,255,248,92, 205 129,122,253,4,239,15,131,244,62,252,242,15,81,2,252,233,244,71,255,248,93,
205 129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252, 206 129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,
206 250,252,233,244,71,255,248,93,129,252,248,239,15,130,244,61,129,122,253,4, 207 250,252,233,244,72,255,248,94,129,252,248,239,15,130,244,62,129,122,253,4,
207 239,15,131,244,61,217,252,237,221,2,217,252,241,252,233,244,71,248,94,129, 208 239,15,131,244,62,217,252,237,221,2,217,252,241,252,233,244,72,248,95,129,
208 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,236,221, 209 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,236,221,
209 2,217,252,241,252,233,244,71,248,95,129,252,248,239,255,15,130,244,61,129, 210 2,217,252,241,252,233,244,72,248,96,129,252,248,239,255,15,130,244,62,129,
210 122,253,4,239,15,131,244,61,221,2,232,244,96,252,233,244,71,248,97,129,252, 211 122,253,4,239,15,131,244,62,221,2,232,244,97,252,233,244,72,248,98,129,252,
211 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,254,252, 212 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,254,252,
212 233,244,71,248,98,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15, 213 233,244,72,248,99,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,
213 131,244,61,221,2,217,252,255,252,233,244,71,248,99,129,252,248,239,15,130, 214 131,244,62,221,2,217,252,255,252,233,244,72,248,100,129,252,248,239,15,130,
214 244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,242,221,216,252,233, 215 244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,242,221,216,252,233,
215 244,71,248,100,129,252,248,239,15,130,244,61,255,129,122,253,4,239,15,131, 216 244,72,248,101,129,252,248,239,15,130,244,62,255,129,122,253,4,239,15,131,
216 244,61,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 217 244,62,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
217 233,244,71,248,101,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 218 233,244,72,248,102,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
218 244,61,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 219 244,62,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
219 243,252,233,244,71,248,102,129,252,248,239,15,130,244,61,129,122,253,4,239, 220 243,252,233,244,72,248,103,129,252,248,239,15,130,244,62,129,122,253,4,239,
220 15,131,244,61,255,221,2,217,232,217,252,243,252,233,244,71,255,248,103,129, 221 15,131,244,62,255,221,2,217,232,217,252,243,252,233,244,72,255,248,104,129,
221 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2, 222 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,
222 255,137,213,232,251,1,16,137,252,234,252,233,244,70,255,248,104,129,252,248, 223 255,137,213,232,251,1,16,137,252,234,252,233,244,71,255,248,105,129,252,248,
223 239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255,137, 224 239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255,137,
224 213,232,251,1,17,137,252,234,252,233,244,70,255,248,105,129,252,248,239,15, 225 213,232,251,1,17,137,252,234,252,233,244,71,255,248,106,129,252,248,239,15,
225 130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255,137,213,232, 226 130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255,137,213,232,
226 251,1,18,137,252,234,252,233,244,70,248,106,255,248,107,129,252,248,239,15, 227 251,1,18,137,252,234,252,233,244,71,248,107,255,248,108,129,252,248,239,15,
227 130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,139,106,252,248, 228 130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,139,106,252,248,
228 252,242,15,89,133,233,252,233,244,70,255,248,107,129,252,248,239,15,130,244, 229 252,242,15,89,133,233,252,233,244,71,255,248,108,129,252,248,239,15,130,244,
229 61,129,122,253,4,239,15,131,244,61,221,2,139,106,252,248,220,141,233,252, 230 62,129,122,253,4,239,15,131,244,62,221,2,139,106,252,248,220,141,233,252,
230 233,244,71,255,248,108,129,252,248,239,15,130,244,61,129,122,253,4,239,15, 231 233,244,72,255,248,109,129,252,248,239,15,130,244,62,129,122,253,4,239,15,
231 131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,217,252,243,252, 232 131,244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,217,252,243,252,
232 233,244,71,248,109,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 233 233,244,72,248,110,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
233 244,61,129,122,253,12,239,255,15,131,244,61,221,66,8,221,2,217,252,253,221, 234 244,62,129,122,253,12,239,255,15,131,244,62,221,66,8,221,2,217,252,253,221,
234 217,252,233,244,71,248,110,129,252,248,239,15,130,244,61,139,106,4,129,252, 235 217,252,233,244,72,248,111,129,252,248,239,15,130,244,62,139,106,4,129,252,
235 253,239,15,131,244,61,139,114,252,252,139,2,137,106,252,252,137,66,252,248, 236 253,239,15,131,244,62,139,114,252,252,139,2,137,106,252,252,137,66,252,248,
236 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, 237 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
237 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,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
238 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, 239 197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252,
239 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, 240 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,
240 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,76,248,3,255,15, 241 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,77,248,3,255,15,
241 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, 242 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,
242 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, 243 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,
243 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 244 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
244 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,111,129,252, 245 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,112,129,252,
245 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,255, 246 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,255,
246 248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221, 247 248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,
247 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, 248 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
248 244,250,255,15,40,224,232,244,112,252,242,15,92,224,248,1,252,242,15,17,66, 249 244,250,255,15,40,224,232,244,113,252,242,15,92,224,248,1,252,242,15,17,66,
249 252,248,252,242,15,17,34,255,217,192,232,244,112,220,252,233,248,1,221,90, 250 252,248,252,242,15,17,34,255,217,192,232,244,113,220,252,233,248,1,221,90,
250 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, 251 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
251 237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, 252 237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
252 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, 253 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
253 113,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122, 254 114,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,
254 253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,252,248,223,224,158,15, 255 253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
255 138,244,1,221,217,252,233,244,71,255,248,114,129,252,248,239,15,130,244,61, 256 138,244,1,221,217,252,233,244,72,255,248,115,129,252,248,239,15,130,244,62,
256 129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242, 257 129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,
257 15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,70,255,248,114,129,252, 258 15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,71,255,248,115,129,252,
258 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239, 259 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,
259 15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,71,255,248,116,185,2, 260 15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,72,255,248,117,185,2,
260 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 261 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
261 69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, 262 70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108,
262 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,252,233,244,252, 263 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,252,233,244,252,
263 248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,15,131,244,70,129,124, 264 248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,15,131,244,71,129,124,
264 253,202,252,252,239,255,15,130,244,252,15,135,244,61,252,242,15,42,76,202, 265 253,202,252,252,239,255,15,130,244,252,15,135,244,62,252,242,15,42,76,202,
265 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, 266 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,
266 242,15,93,193,131,193,1,252,233,244,5,255,248,117,185,2,0,0,0,129,122,253, 267 242,15,93,193,131,193,1,252,233,244,5,255,248,118,185,2,0,0,0,129,122,253,
267 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,69,129,124,253,202, 268 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,70,129,124,253,202,
268 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, 269 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,
269 1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,15,16,76,202,252,248, 270 1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,15,16,76,202,252,248,
270 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, 271 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,
271 244,61,255,248,118,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133, 272 244,62,255,248,119,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,
272 244,61,139,42,255,139,173,233,252,233,244,69,255,252,242,15,42,133,233,252, 273 244,62,139,42,255,139,173,233,252,233,244,70,255,252,242,15,42,133,233,252,
273 233,244,70,255,219,133,233,252,233,244,71,255,248,119,129,252,248,239,15, 274 233,244,71,255,219,133,233,252,233,244,72,255,248,120,129,252,248,239,15,
274 133,244,61,129,122,253,4,239,15,133,244,61,139,42,139,114,252,252,131,189, 275 133,244,62,129,122,253,4,239,15,133,244,62,139,42,139,114,252,252,131,189,
275 233,1,15,130,244,79,15,182,173,233,255,252,242,15,42,197,252,233,244,70,255, 276 233,1,15,130,244,80,15,182,173,233,255,252,242,15,42,197,252,233,244,71,255,
276 137,108,36,80,219,68,36,80,252,233,244,71,255,248,120,139,171,233,59,171, 277 137,108,36,80,219,68,36,80,252,233,244,72,255,248,121,139,171,233,59,171,
277 233,15,130,244,247,232,244,73,248,1,129,252,248,239,15,133,244,61,129,122, 278 233,15,130,244,247,232,244,74,248,1,129,252,248,239,15,133,244,62,129,122,
278 253,4,239,255,15,133,244,61,139,42,129,252,253,252,255,0,0,0,15,135,244,61, 279 253,4,239,255,15,133,244,62,139,42,129,252,253,252,255,0,0,0,15,135,244,62,
279 137,108,36,84,255,15,131,244,61,252,242,15,44,42,129,252,253,252,255,0,0, 280 137,108,36,84,255,15,131,244,62,252,242,15,44,42,129,252,253,252,255,0,0,
280 0,15,135,244,61,137,108,36,84,255,15,131,244,61,221,2,219,92,36,84,129,124, 281 0,15,135,244,62,137,108,36,84,255,15,131,244,62,221,2,219,92,36,84,129,124,
281 36,84,252,255,0,0,0,15,135,244,61,255,199,68,36,32,1,0,0,0,72,141,68,36,84, 282 36,84,252,255,0,0,0,15,135,244,62,255,199,68,36,32,1,0,0,0,72,141,68,36,84,
282 248,121,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, 283 248,122,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,
283 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, 284 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237,
284 137,66,252,248,252,233,244,64,248,122,139,171,233,59,171,233,15,130,244,247, 285 137,66,252,248,252,233,244,65,248,123,139,171,233,59,171,233,15,130,244,247,
285 232,244,73,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, 286 232,244,74,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,
286 239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,133,244,61,139, 287 239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15,133,244,62,139,
287 106,16,137,108,36,84,255,15,131,244,61,252,242,15,44,106,16,137,108,36,84, 288 106,16,137,108,36,84,255,15,131,244,62,252,242,15,44,106,16,137,108,36,84,
288 255,15,131,244,61,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, 289 255,15,131,244,62,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
289 244,61,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, 290 244,62,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74,
290 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, 291 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,
291 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,123,141,172,253, 292 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,124,141,172,253,
292 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,121,248,5,15,140, 293 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,122,248,5,15,140,
293 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 294 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
294 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 295 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
295 3,248,123,49,192,252,233,244,4,248,124,129,252,248,239,15,130,244,61,139, 296 3,248,124,49,192,252,233,244,4,248,125,129,252,248,239,15,130,244,62,139,
296 171,233,59,171,233,15,130,244,247,232,244,73,248,1,255,129,122,253,4,239, 297 171,233,59,171,233,15,130,244,247,232,244,74,248,1,255,129,122,253,4,239,
297 15,133,244,61,129,122,253,12,239,139,42,255,15,133,244,61,139,66,8,255,15, 298 15,133,244,62,129,122,253,12,239,139,42,255,15,133,244,62,139,66,8,255,15,
298 131,244,61,252,242,15,44,66,8,255,15,131,244,61,221,66,8,219,92,36,84,139, 299 131,244,62,252,242,15,44,66,8,255,15,131,244,62,221,66,8,219,92,36,84,139,
299 68,36,84,255,133,192,15,142,244,123,131,189,233,1,15,130,244,123,15,133,244, 300 68,36,84,255,133,192,15,142,244,124,131,189,233,1,15,130,244,124,15,133,244,
300 125,57,131,233,15,130,244,125,15,182,141,233,139,171,233,137,68,36,32,248, 301 126,57,131,233,15,130,244,126,15,182,141,233,139,171,233,137,68,36,32,248,
301 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,121,248, 302 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,122,248,
302 126,129,252,248,239,255,15,130,244,61,139,171,233,59,171,233,15,130,244,247, 303 127,129,252,248,239,255,15,130,244,62,139,171,233,59,171,233,15,130,244,247,
303 232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,133,192, 304 232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,133,192,
304 15,132,244,123,57,131,233,15,130,244,127,129,197,239,137,116,36,84,137,68, 305 15,132,244,124,57,131,233,15,130,244,128,129,197,239,137,116,36,84,137,68,
305 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, 306 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,
306 244,1,137,252,240,139,116,36,84,252,233,244,121,248,128,129,252,248,239,15, 307 244,1,137,252,240,139,116,36,84,252,233,244,122,248,129,129,252,248,239,15,
307 130,244,61,139,171,233,59,171,233,15,130,244,247,232,244,73,248,1,129,122, 308 130,244,62,139,171,233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,
308 253,4,239,15,133,244,61,139,42,139,133,233,57,131,233,255,15,130,244,127, 309 253,4,239,15,133,244,62,139,42,139,133,233,57,131,233,255,15,130,244,128,
309 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, 310 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
310 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, 311 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,
311 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, 312 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
312 116,36,84,252,233,244,121,248,129,129,252,248,239,15,130,244,61,255,139,171, 313 116,36,84,252,233,244,122,248,130,129,252,248,239,15,130,244,62,255,139,171,
313 233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244, 314 233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244,
314 61,139,42,139,133,233,57,131,233,15,130,244,127,129,197,239,137,116,36,84, 315 62,139,42,139,133,233,57,131,233,15,130,244,128,129,197,239,137,116,36,84,
315 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 316 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
316 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, 317 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,
317 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, 318 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,
318 121,248,130,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61, 319 122,248,131,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,62,
319 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,69,255,252, 320 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,70,255,252,
320 242,15,42,192,252,233,244,70,255,248,131,129,252,248,239,15,130,244,61,129, 321 242,15,42,192,252,233,244,71,255,248,132,129,252,248,239,15,130,244,62,129,
321 122,253,4,239,255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61, 322 122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,248,1,15,135,244,62,
322 255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102, 323 255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,
323 15,126,197,255,252,233,244,87,255,248,132,129,252,248,239,15,130,244,61,255, 324 15,126,197,255,252,233,244,88,255,248,133,129,252,248,239,15,130,244,62,255,
324 72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,192,89,255,15,133,244, 325 72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,192,89,255,15,133,244,
325 247,139,42,252,233,244,248,248,1,15,135,244,61,255,252,242,15,16,2,252,242, 326 247,139,42,252,233,244,248,248,1,15,135,244,62,255,252,242,15,16,2,252,242,
326 15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,68,194,252,240,248,1, 327 15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,68,194,252,240,248,1,
327 57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8, 328 57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,
328 252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,255,252,242,15,16,0, 329 252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,252,242,15,16,0,
329 252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,134, 330 252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,135,
330 129,252,248,239,15,130,244,61,255,15,133,244,248,11,40,131,232,8,252,233, 331 129,252,248,239,15,130,244,62,255,15,133,244,248,11,40,131,232,8,252,233,
331 244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126, 332 244,1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,
332 193,9,205,255,131,232,8,252,233,244,1,248,135,129,252,248,239,15,130,244, 333 193,9,205,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,
333 61,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,133, 334 62,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,134,
334 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,8, 335 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,8,
335 252,233,244,1,248,136,129,252,248,239,15,130,244,61,129,122,253,4,239,255, 336 252,233,244,1,248,137,129,252,248,239,15,130,244,62,129,122,253,4,239,255,
336 248,2,15,205,252,233,244,87,248,137,129,252,248,239,15,130,244,61,129,122, 337 248,2,15,205,252,233,244,88,248,138,129,252,248,239,15,130,244,62,129,122,
337 253,4,239,255,248,2,252,247,213,255,248,87,252,242,15,42,197,252,233,244, 338 253,4,239,255,248,2,252,247,213,255,248,88,252,242,15,42,197,252,233,244,
338 70,255,248,133,139,68,36,84,252,233,244,61,255,248,138,129,252,248,239,15, 339 71,255,248,134,139,68,36,84,252,233,244,62,255,248,139,129,252,248,239,15,
339 130,244,61,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,61,139, 340 130,244,62,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,62,139,
340 74,8,255,248,138,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244, 341 74,8,255,248,139,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,
341 61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72, 342 62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,
342 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15, 343 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,
343 126,197,102,15,126,201,255,211,229,252,233,244,87,255,248,139,129,252,248, 344 126,197,102,15,126,201,255,211,229,252,233,244,88,255,248,140,129,252,248,
344 239,15,130,244,61,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244, 345 239,15,130,244,62,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,
345 61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242, 346 62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,
346 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, 347 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,
347 194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233, 348 194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,
348 244,87,255,248,140,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248, 349 244,88,255,248,141,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,
349 140,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122, 350 141,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,
350 253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 351 253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
351 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, 352 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
352 15,126,201,255,211,252,253,252,233,244,87,255,248,141,129,252,248,239,15, 353 15,126,201,255,211,252,253,252,233,244,88,255,248,142,129,252,248,239,15,
353 130,244,61,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,61,129, 354 130,244,62,129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,62,129,
354 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, 355 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,
355 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 356 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
356 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,87,255, 357 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,88,255,
357 248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,142,129,252, 358 248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,143,129,252,
358 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239, 359 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,
359 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, 360 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,
360 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, 361 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,
361 255,211,205,252,233,244,87,248,125,184,237,252,233,244,61,248,127,184,237, 362 255,211,205,252,233,244,88,248,126,184,237,252,233,244,62,248,128,184,237,
362 248,61,139,108,36,96,139,114,252,252,137,116,36,100,137,149,233,141,68,194, 363 248,62,139,108,36,96,139,114,252,252,137,116,36,100,137,149,233,141,68,194,
363 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251, 364 252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,
364 137,252,233,252,255,144,233,139,149,233,133,192,15,143,244,76,248,1,255,139, 365 137,252,233,252,255,144,233,139,149,233,133,192,15,143,244,77,248,1,255,139,
365 141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244, 366 141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,
366 32,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252, 367 32,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,
367 235,248,32,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,72,252, 368 235,248,32,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,72,252,
368 247,213,141,20,252,234,252,233,244,28,248,3,137,252,245,131,229,252,248,41, 369 247,213,141,20,252,234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,
369 252,234,252,233,244,28,248,5,186,237,137,252,233,232,251,1,0,139,149,233, 370 252,234,252,233,244,28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,
370 49,192,252,233,244,1,248,73,93,72,137,108,36,32,139,108,36,96,137,116,36, 371 49,192,252,233,244,1,248,74,93,72,137,108,36,32,139,108,36,96,137,116,36,
371 100,137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1, 372 100,137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,
372 21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,32,85, 373 21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,32,85,
373 195,248,143,255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244, 374 195,248,144,255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244,
374 247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,255,248,144,15, 375 247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,255,248,145,15,
375 182,131,233,168,235,15,133,244,251,252,233,244,247,248,145,15,182,131,233, 376 182,131,233,168,235,15,133,244,251,252,233,244,247,248,146,15,182,131,233,
376 168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244, 377 168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,
377 247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242, 378 247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,233,137,252,242,
378 137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,252,253,248,5, 379 137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,252,253,248,5,
379 15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,146, 380 15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,233,248,147,
380 131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,147,255,139,106,252,248, 381 131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,148,255,139,106,252,248,
381 139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,137,133,233, 382 139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,137,133,233,
382 137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,1,23,252,233, 383 137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,1,23,252,233,
383 244,3,255,248,148,137,116,36,100,255,248,149,255,137,116,36,100,131,206,1, 384 244,3,255,248,149,137,116,36,100,255,248,150,255,137,116,36,100,131,206,1,
384 248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,133,233,137,252, 385 248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,133,233,137,252,
385 242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,230,252,254,255, 386 242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,230,252,254,255,
386 139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,78,252,253,193, 387 139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,78,252,253,193,
387 232,3,131,192,1,252,255,229,248,150,255,65,85,65,84,65,83,65,82,65,81,65, 388 232,3,131,192,1,252,255,229,248,151,255,65,85,65,84,65,83,65,82,65,81,65,
388 80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,252, 389 80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,252,
389 240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,233,199,131,233, 390 240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,233,199,131,233,
390 237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,128,252,242,68, 391 237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,128,252,242,68,
@@ -395,7 +396,7 @@ static const unsigned char build_actionlist[15958] = {
395 152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171, 396 152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,
396 233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,149,233,72,141,148, 397 233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,149,233,72,141,148,
397 253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,129,225,239,137,169, 398 253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,129,225,239,137,169,
398 233,139,149,233,139,177,233,252,233,244,247,255,248,151,255,72,141,140,253, 399 233,139,149,233,139,177,233,252,233,244,247,255,248,152,255,72,141,140,253,
399 36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169, 400 36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169,
400 233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,15,111,145,233,102, 401 233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,15,111,145,233,102,
401 68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,233,72,137,204,102, 402 68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,233,72,137,204,102,
@@ -403,26 +404,26 @@ static const unsigned char build_actionlist[15958] = {
403 80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,139,191,233,139,191, 404 80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,139,191,233,139,191,
404 233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198, 405 233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,
405 4,193,232,16,129,252,253,239,15,130,244,248,255,139,68,36,84,248,2,252,255, 406 4,193,232,16,129,252,253,239,15,130,244,248,255,139,68,36,84,248,2,252,255,
406 36,252,235,248,3,252,247,216,137,252,233,137,194,232,251,1,26,255,248,89, 407 36,252,235,248,3,252,247,216,137,252,233,137,194,232,251,1,26,255,248,90,
407 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252, 408 255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
408 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 409 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
409 255,248,152,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 410 255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
410 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, 411 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
411 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110, 412 242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,
412 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1, 413 208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,
413 195,248,91,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37, 414 195,248,92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,
414 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 415 252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
415 68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 416 68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
416 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 417 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
417 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 418 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
418 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40, 419 72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,
419 193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68, 420 193,248,1,195,248,113,255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,
420 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195, 421 36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,
421 255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110, 422 255,248,155,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,
422 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15, 423 216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,
423 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216, 424 40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,
424 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40, 425 252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,
425 193,248,1,195,248,155,255,15,40,232,252,242,15,94,193,72,184,237,237,102, 426 193,248,1,195,248,156,255,15,40,232,252,242,15,94,193,72,184,237,237,102,
426 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102, 427 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,
427 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227, 428 15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,
428 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15, 429 102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,
@@ -430,12 +431,12 @@ static const unsigned char build_actionlist[15958] = {
430 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252, 431 248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,
431 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137, 432 241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,
432 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255, 433 68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,
433 248,96,217,252,234,222,201,248,156,217,84,36,8,129,124,36,8,0,0,128,127,15, 434 248,97,217,252,234,222,201,248,157,217,84,36,8,129,124,36,8,0,0,128,127,15,
434 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,157,217,192,217, 435 132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,248,158,217,192,217,
435 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217, 436 252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,
436 248,1,195,248,2,221,216,217,252,238,195,255,248,115,255,248,158,252,242,15, 437 248,1,195,248,2,221,216,217,252,238,195,255,248,116,255,248,159,252,242,15,
437 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248, 438 45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,
438 159,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242, 439 160,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,
439 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248, 440 15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,
440 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89, 441 3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,
441 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15, 442 200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,
@@ -451,28 +452,28 @@ static const unsigned char build_actionlist[15958] = {
451 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, 452 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,
452 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, 453 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,
453 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, 454 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
454 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,160,255, 455 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,161,255,
455 131,252,250,1,15,130,244,89,15,132,244,91,131,252,250,3,15,130,244,112,15, 456 131,252,250,1,15,130,244,90,15,132,244,92,131,252,250,3,15,130,244,113,15,
456 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8, 457 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8,
457 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,96,80,252,233,244, 458 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,97,80,252,233,244,
458 253,248,1,232,244,156,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244, 459 253,248,1,232,244,157,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244,
459 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, 460 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
460 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244, 461 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244,
461 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, 462 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
462 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135, 463 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135,
463 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, 464 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
464 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1, 465 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1,
465 15,130,244,89,15,132,244,91,131,252,250,3,15,130,244,112,15,135,244,248,217, 466 15,130,244,90,15,132,244,92,131,252,250,3,15,130,244,113,15,135,244,248,217,
466 252,250,195,248,2,131,252,250,5,15,130,244,96,15,132,244,156,131,252,250, 467 252,250,195,248,2,131,252,250,5,15,130,244,97,15,132,244,157,131,252,250,
467 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, 468 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
468 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15, 469 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15,
469 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, 470 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
470 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 471 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
471 252,242,221,216,195,255,248,9,204,255,248,161,255,65,131,252,248,1,15,132, 472 252,242,221,216,195,255,248,9,204,255,248,162,255,65,131,252,248,1,15,132,
472 244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195, 473 244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,
473 248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195, 474 248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,
474 248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,155,15,132, 475 248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,156,15,132,
475 244,115,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255, 476 244,116,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255,
476 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15, 477 102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,
477 84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252, 478 84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252,
478 242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248, 479 242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248,
@@ -481,21 +482,21 @@ static const unsigned char build_actionlist[15958] = {
481 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221, 482 15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,
482 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 483 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
483 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 484 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
484 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,155,15,132, 485 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,156,15,132,
485 244,115,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 486 244,116,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
486 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 487 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
487 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 488 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
488 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 489 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
489 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 490 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
490 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 491 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
491 244,248,217,201,248,2,221,216,195,255,248,162,137,200,86,72,137,214,83,15, 492 244,248,217,201,248,2,221,216,195,255,248,163,137,200,86,72,137,214,83,15,
492 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,163,255,85,72,137,229, 493 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,164,255,85,72,137,229,
493 83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136, 494 83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,
494 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1, 495 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,
495 15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131, 496 15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,
496 233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15, 497 233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,
497 40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131, 498 40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,
498 233,255,72,139,93,252,248,201,195,255,248,164,255,249,255,129,124,253,202, 499 233,255,72,139,93,252,248,201,195,255,248,165,255,249,255,129,124,253,202,
499 4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131, 500 4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,
500 198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255, 501 198,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,
501 255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9, 502 255,15,142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,
@@ -555,238 +556,240 @@ static const unsigned char build_actionlist[15958] = {
555 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255, 556 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,
556 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, 557 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
557 248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 558 248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
558 255,36,252,235,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,137,213, 559 255,36,252,235,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,255,139,
559 232,251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,78,252,253,252, 560 169,233,131,252,253,0,15,133,244,255,248,3,255,248,57,137,213,232,251,1,20,
560 233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15, 561 255,252,242,15,42,192,255,137,252,234,15,182,78,252,253,252,233,244,1,255,
561 133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15, 562 248,9,252,246,133,233,235,15,133,244,3,252,233,244,56,255,15,182,252,236,
563 15,182,192,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,
564 239,15,133,244,50,139,44,252,234,3,44,199,15,128,244,49,255,129,124,253,252,
565 234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,3,4,
566 252,234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,
567 253,194,4,239,15,133,244,55,139,44,252,234,3,44,194,15,128,244,54,255,199,
568 68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,
569 199,4,239,15,131,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,
570 221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,52,255,129,
571 124,253,199,4,239,15,131,244,52,255,252,242,15,16,4,199,252,242,15,88,4,252,
572 234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,
573 55,129,124,253,194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,
574 15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,
575 133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,43,44,199,15,
562 128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4, 576 128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,
563 239,15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252, 577 239,15,133,244,52,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,
564 234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234, 578 234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,
565 3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239, 579 43,44,194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,
566 15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4, 580 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,
567 252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252, 581 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,
568 234,4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242, 582 194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,
569 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, 583 50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,15,175,44,199,15,128,
570 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252, 584 244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,
571 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129, 585 15,133,244,52,139,4,199,15,175,4,252,234,15,128,244,51,255,129,124,253,252,
572 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139, 586 234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,
573 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, 587 15,175,44,194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,89,4,199,
574 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244, 588 255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,
575 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133, 589 234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,
576 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234, 590 4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,
577 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199, 591 94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,
578 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4, 592 94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,
579 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253, 593 242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,
580 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252, 594 252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,
581 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244, 595 252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,
582 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128, 596 252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,166,232,
583 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, 597 244,156,255,252,233,244,166,255,232,244,116,255,15,182,252,236,15,182,192,
584 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16, 598 139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,35,137,205,137,
585 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15, 599 116,36,100,232,251,1,27,139,149,233,133,192,15,133,244,44,15,182,110,252,
586 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242, 600 255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,
587 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252, 601 232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,
588 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255, 602 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
589 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234, 603 16,252,255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,
590 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52, 604 192,252,242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,
591 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221, 605 252,242,15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,
592 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221, 606 247,208,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
593 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252, 607 255,36,252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,
594 234,221,4,194,255,248,165,232,244,155,255,252,233,244,165,255,232,244,115, 608 1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,
595 255,15,182,252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137, 609 4,193,232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,
596 192,65,41,232,248,35,137,205,137,116,36,100,232,251,1,27,139,149,233,133, 610 173,233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,
597 192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72, 611 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,
598 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 612 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,
599 235,255,72,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182, 613 252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,
600 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,199, 614 198,4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,
601 68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202, 615 134,244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,
602 255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202, 616 1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,
603 255,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,6,15,182,204, 617 253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,
604 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,141,76,202,12,141, 618 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
605 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244, 619 255,36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,
606 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, 620 244,1,137,213,137,194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,
607 139,106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202, 621 255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,
608 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139, 622 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,
609 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139, 623 172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,
610 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244, 624 4,193,232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,
611 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 625 189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,29,
612 235,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15, 626 139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
613 132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233,244,1, 627 36,252,235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,
614 255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,133, 628 139,20,135,137,252,233,137,116,36,100,232,251,1,30,139,149,233,15,182,78,
615 233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,15, 629 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
616 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,252,246, 630 193,232,16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,
617 129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139, 631 139,233,137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,
618 233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242, 632 193,232,11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,
619 15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 633 251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,
620 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, 634 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,
621 65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 635 0,0,252,233,244,2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,
622 255,141,180,253,134,233,139,108,36,96,131,189,233,0,15,132,244,247,137,149, 636 244,1,255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,
623 233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204, 637 233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,
624 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139, 638 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
625 108,36,96,137,149,233,68,139,66,252,248,139,20,135,137,252,233,137,116,36, 639 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,
626 100,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, 640 251,1,32,15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,
627 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139, 641 139,106,252,248,139,173,233,139,4,135,252,233,244,167,255,72,252,247,208,
628 108,36,96,137,149,233,139,139,233,59,139,233,137,116,36,100,15,131,244,251, 642 139,106,252,248,139,173,233,139,4,135,252,233,244,168,255,15,182,252,236,
629 248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252,255,7,0,0,15,132,244, 643 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,255,129,
630 249,248,2,137,252,233,137,194,232,251,1,31,139,149,233,15,182,78,252,253, 644 124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,
631 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, 645 244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,
632 16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232, 646 46,193,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,
633 251,1,32,15,183,70,252,254,252,233,244,1,255,72,252,247,208,139,108,36,96, 647 129,120,253,4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,
634 139,139,233,137,116,36,100,59,139,233,137,149,233,15,131,244,249,248,2,139, 648 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,
635 20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199, 649 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,
636 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 650 252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,
637 252,235,248,3,137,252,233,232,251,1,32,15,183,70,252,254,72,252,247,208,252, 651 239,15,133,244,38,139,4,194,252,233,244,167,255,15,182,252,236,15,182,192,
638 233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, 652 72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,
639 244,166,255,72,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233, 653 234,248,167,139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,
640 244,167,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, 654 239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,
641 38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255, 655 251,15,182,70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,
642 129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45, 656 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,
643 192,252,242,15,42,200,102,15,46,193,255,15,133,244,38,255,59,133,233,15,131, 657 199,68,194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,
644 244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72, 658 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,
645 137,44,202,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 659 244,36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,
646 36,252,235,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233, 660 37,139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,
647 235,15,132,244,38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1, 661 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
648 248,5,255,129,124,253,194,4,239,15,133,244,38,139,4,194,252,233,244,166,255, 662 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
649 15,182,252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4, 663 249,139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,78,252,253,248,
650 239,15,133,244,36,139,44,252,234,248,166,139,141,233,35,136,233,105,201,239, 664 3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
651 3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244,250, 665 252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133,233,
652 129,121,253,4,239,15,132,244,251,15,182,70,252,253,72,139,41,72,137,44,194, 666 15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
653 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 667 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
654 235,248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137, 668 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
655 233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129, 669 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41,15,182,
656 233,235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124, 670 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,
657 253,252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193, 671 194,252,233,244,168,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
658 224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139,40,72,137,44,202, 672 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
659 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 673 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
660 248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132, 674 248,168,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
661 244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15, 675 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
662 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,252, 676 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
663 234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,129, 677 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
664 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248, 678 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
665 2,72,139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 679 80,139,141,233,252,246,129,233,235,15,132,244,39,139,76,36,80,252,233,244,
666 252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, 680 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
667 233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,1,248,5,129,124,253, 681 252,252,246,129,233,235,15,132,244,39,248,6,137,68,36,80,199,68,36,84,237,
668 194,4,239,15,133,244,41,139,4,194,252,233,244,167,248,7,128,165,233,235,139, 682 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
669 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, 683 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244,
670 252,236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15, 684 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
671 133,244,39,139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,198, 685 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,
672 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 686 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,
673 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 687 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
674 133,244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182, 688 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
675 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233, 689 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
676 0,15,132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,39, 690 15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
677 139,76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139, 691 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
678 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39,248,6,137, 692 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
679 68,36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68, 693 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
680 36,80,137,252,234,137,205,137,116,36,100,232,251,1,34,139,149,233,139,108, 694 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72,
681 36,32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233, 695 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,
682 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234, 696 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,
683 4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244,40,193,224,3,3,133, 697 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139,
684 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, 698 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
685 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193, 699 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
686 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233, 700 202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,114,252,252,139,181,233,
687 252,246,129,233,235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128, 701 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
688 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233, 702 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,59,
689 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246, 703 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
690 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1, 704 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
691 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72, 705 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
692 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124, 706 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
693 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, 707 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,
694 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36, 708 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
695 100,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, 709 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
696 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, 710 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
697 84,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114, 711 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
698 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 712 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
699 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239, 713 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
700 15,133,244,29,248,58,139,114,252,252,252,247,198,237,15,133,244,253,248,1, 714 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
701 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131, 715 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
702 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139, 716 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
703 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252, 717 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,
704 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15, 718 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139,
705 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139, 719 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
706 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15, 720 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133,
707 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198, 721 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253,
708 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, 722 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137,
709 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, 723 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
710 252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,233,139, 724 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
711 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36, 725 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
712 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198, 726 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,
713 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244, 727 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70,
714 250,255,219,68,202,252,248,255,72,139,44,199,72,137,108,202,8,131,192,1,255, 728 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,
715 137,68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248,3,139, 729 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133,
716 92,36,84,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 730 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,
717 255,36,252,235,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244,1,248, 731 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,
718 5,41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129,191, 732 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,
719 233,239,15,132,244,253,141,92,24,1,72,139,175,233,72,139,135,233,72,137,44, 733 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
720 202,72,137,68,202,8,137,92,202,252,248,252,233,244,2,248,7,131,192,1,252, 734 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,
721 233,244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232, 735 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,
722 129,124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15, 736 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193,
723 133,244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202, 737 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,
724 252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 738 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,
725 255,36,252,235,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252, 739 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,
726 233,244,1,255,15,182,252,236,15,182,192,137,124,36,80,141,188,253,194,233, 740 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,
727 141,12,202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252, 741 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1,
728 248,57,215,15,131,244,248,248,1,72,139,71,252,248,131,199,8,72,137,1,131, 742 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,
729 193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,4,237,131, 743 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244,
730 193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139,6,15,182,204,15,182, 744 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191,
731 232,131,198,4,193,232,16,252,255,36,252,235,248,5,199,68,36,84,1,0,0,0,137, 745 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
732 208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,84, 746 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
733 139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255,72,139,71,252,248, 747 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
734 131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137, 748 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
735 149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131,252,234,1,137, 749 131,172,253,43,233,1,15,132,244,148,255,141,12,202,255,129,121,253,4,239,
736 252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225, 750 15,133,244,255,255,129,121,253,12,239,15,133,244,60,129,121,253,20,239,15,
737 3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15,133,244,253,255, 751 133,244,60,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
738 248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15,72,137,111,252, 752 244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,
739 248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15,182,110,252,255, 753 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
740 248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,5, 754 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
741 56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247,209,141,20, 755 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
742 202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131, 756 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
743 198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252,237,131,199, 757 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
744 8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233, 758 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
745 252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209, 759 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,60,129,121,253,12,
746 252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,141,12,202, 760 239,15,131,244,60,255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,
747 255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,59, 761 15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,60,255,252,242,
748 129,121,253,20,239,15,133,244,59,139,41,131,121,16,0,15,140,244,251,255,129, 762 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
749 121,253,12,239,15,133,244,164,129,121,253,20,239,15,133,244,164,255,139,105, 763 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
750 16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199, 764 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
751 65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255, 765 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,
752 141,180,253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244, 766 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180,
753 253,248,6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232, 767 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244,
754 131,198,4,193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41, 768 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,
755 255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255, 769 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137,
756 15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244, 770 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137,
757 59,129,121,253,12,239,15,131,244,59,255,129,121,253,12,239,15,131,244,164, 771 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147,
758 129,121,253,20,239,15,131,244,164,255,139,105,20,255,129,252,253,239,15,131, 772 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137,
759 244,59,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252, 773 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233,
760 242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200, 774 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68,
761 248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81, 775 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
762 24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248, 776 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
763 1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134, 777 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
764 233,255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7, 778 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,150,255,139,190,
765 255,15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244, 779 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,
766 1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252, 780 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,
767 252,139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137, 781 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
768 105,252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108, 782 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,
769 36,96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116, 783 12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,
770 36,24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15, 784 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,
771 127,185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145, 785 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,
772 233,102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102, 786 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,
773 68,15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233, 787 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,
774 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137, 788 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,
775 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,255, 789 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
776 139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142, 790 72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,252,255,
777 233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248, 791 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,
778 3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255, 792 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
779 141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,
780 139,108,36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,
781 174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,
782 139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,
783 237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,
784 182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,
785 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,
786 189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,
787 137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,
788 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,
789 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
790}; 793};
791 794
792enum { 795enum {
@@ -837,6 +840,7 @@ enum {
837 GLOB_vmeta_arith_vvo, 840 GLOB_vmeta_arith_vvo,
838 GLOB_vmeta_arith_vv, 841 GLOB_vmeta_arith_vv,
839 GLOB_vmeta_len, 842 GLOB_vmeta_len,
843 GLOB_BC_LEN_Z,
840 GLOB_vmeta_call_ra, 844 GLOB_vmeta_call_ra,
841 GLOB_BC_CALLT_Z, 845 GLOB_BC_CALLT_Z,
842 GLOB_vmeta_for, 846 GLOB_vmeta_for,
@@ -998,6 +1002,7 @@ static const char *const globnames[] = {
998 "vmeta_arith_vvo", 1002 "vmeta_arith_vvo",
999 "vmeta_arith_vv", 1003 "vmeta_arith_vv",
1000 "vmeta_len", 1004 "vmeta_len",
1005 "BC_LEN_Z",
1001 "vmeta_call_ra", 1006 "vmeta_call_ra",
1002 "BC_CALLT_Z", 1007 "BC_CALLT_Z",
1003 "vmeta_for", 1008 "vmeta_for",
@@ -1213,638 +1218,643 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1213#if LJ_DUALNUM 1218#if LJ_DUALNUM
1214 dasm_put(Dst, 1428); 1219 dasm_put(Dst, 1428);
1215#endif 1220#endif
1216 dasm_put(Dst, 1474, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1221 dasm_put(Dst, 1474, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1217 dasm_put(Dst, 1611, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1222#ifdef LUAJIT_ENABLE_LUA52COMPAT
1218 dasm_put(Dst, 1794, 1+1, ~LJ_TNUMX); 1223 dasm_put(Dst, 1580);
1224#else
1225 dasm_put(Dst, 1599);
1226#endif
1227 dasm_put(Dst, 1604, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1228 dasm_put(Dst, 1790, 1+1, ~LJ_TNUMX);
1219 if (cmov) { 1229 if (cmov) {
1220 dasm_put(Dst, 1839); 1230 dasm_put(Dst, 1859);
1221 } else { 1231 } else {
1222 dasm_put(Dst, 1843); 1232 dasm_put(Dst, 1863);
1223 } 1233 }
1224 dasm_put(Dst, 1852, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1234 dasm_put(Dst, 1872, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1225 dasm_put(Dst, 1931, 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)); 1235 dasm_put(Dst, 1951, 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));
1226 dasm_put(Dst, 1988, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); 1236 dasm_put(Dst, 2008, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1227 dasm_put(Dst, 2054, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); 1237 dasm_put(Dst, 2074, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1228 dasm_put(Dst, 2124, 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); 1238 dasm_put(Dst, 2144, 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);
1229 dasm_put(Dst, 2213, 1+1, LJ_TISNUM); 1239 dasm_put(Dst, 2233, 1+1, LJ_TISNUM);
1230 if (LJ_DUALNUM) { 1240 if (LJ_DUALNUM) {
1231 dasm_put(Dst, 2227); 1241 dasm_put(Dst, 2247);
1232 } else { 1242 } else {
1233 dasm_put(Dst, 2244); 1243 dasm_put(Dst, 2264);
1234 } 1244 }
1235 if (sse) { 1245 if (sse) {
1236 dasm_put(Dst, 2249); 1246 dasm_put(Dst, 2269);
1237 } else { 1247 } else {
1238 dasm_put(Dst, 2259); 1248 dasm_put(Dst, 2279);
1239 } 1249 }
1240 dasm_put(Dst, 2266, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1250 dasm_put(Dst, 2286, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1241 dasm_put(Dst, 2332, Dt1(->base)); 1251 dasm_put(Dst, 2352, Dt1(->base));
1242 if (LJ_DUALNUM) { 1252 if (LJ_DUALNUM) {
1243 dasm_put(Dst, 2356); 1253 dasm_put(Dst, 2376);
1244 } else { 1254 } else {
1245 dasm_put(Dst, 2361); 1255 dasm_put(Dst, 2381);
1246 } 1256 }
1247 dasm_put(Dst, 2366, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1257 dasm_put(Dst, 2386, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1248 dasm_put(Dst, 2459, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1258 dasm_put(Dst, 2479, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1249#ifdef LUAJIT_ENABLE_LUA52COMPAT 1259#ifdef LUAJIT_ENABLE_LUA52COMPAT
1250 dasm_put(Dst, 2506, Dt6(->metatable)); 1260 dasm_put(Dst, 2526, Dt6(->metatable));
1251#endif 1261#endif
1252 dasm_put(Dst, 2515, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1262 dasm_put(Dst, 2535, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1253 if (LJ_DUALNUM) { 1263 if (LJ_DUALNUM) {
1254 dasm_put(Dst, 2501); 1264 dasm_put(Dst, 2521);
1255 } else { 1265 } else {
1256 dasm_put(Dst, 2244); 1266 dasm_put(Dst, 2264);
1257 } 1267 }
1258 dasm_put(Dst, 2570); 1268 dasm_put(Dst, 2590);
1259 if (LJ_DUALNUM) { 1269 if (LJ_DUALNUM) {
1260 dasm_put(Dst, 2575, LJ_TISNUM); 1270 dasm_put(Dst, 2595, LJ_TISNUM);
1261 } else if (sse) { 1271 } else if (sse) {
1262 dasm_put(Dst, 2591, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1272 dasm_put(Dst, 2611, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1263 } else { 1273 } else {
1264 } 1274 }
1265 dasm_put(Dst, 2624, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1275 dasm_put(Dst, 2644, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1266 dasm_put(Dst, 2486, 1+1, LJ_TTAB); 1276 dasm_put(Dst, 2506, 1+1, LJ_TTAB);
1267#ifdef LUAJIT_ENABLE_LUA52COMPAT 1277#ifdef LUAJIT_ENABLE_LUA52COMPAT
1268 dasm_put(Dst, 2506, Dt6(->metatable)); 1278 dasm_put(Dst, 2526, Dt6(->metatable));
1269#endif 1279#endif
1270 dasm_put(Dst, 2701, Dt8(->upvalue[0]), LJ_TFUNC); 1280 dasm_put(Dst, 2721, Dt8(->upvalue[0]), LJ_TFUNC);
1271 if (LJ_DUALNUM) { 1281 if (LJ_DUALNUM) {
1272 dasm_put(Dst, 2722, LJ_TISNUM); 1282 dasm_put(Dst, 2742, LJ_TISNUM);
1273 } else if (sse) { 1283 } else if (sse) {
1274 dasm_put(Dst, 2734); 1284 dasm_put(Dst, 2754);
1275 } else { 1285 } else {
1276 dasm_put(Dst, 2744); 1286 dasm_put(Dst, 2764);
1277 } 1287 }
1278 dasm_put(Dst, 2751, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1288 dasm_put(Dst, 2771, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1279 dasm_put(Dst, 2815, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1289 dasm_put(Dst, 2835, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1280 dasm_put(Dst, 2905, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1290 dasm_put(Dst, 2925, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1281 dasm_put(Dst, 2993, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1291 dasm_put(Dst, 3013, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1282 dasm_put(Dst, 3106, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1292 dasm_put(Dst, 3126, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1283 dasm_put(Dst, 3204, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1293 dasm_put(Dst, 3224, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1284 dasm_put(Dst, 3271, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1294 dasm_put(Dst, 3291, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1285 dasm_put(Dst, 3359, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1295 dasm_put(Dst, 3379, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1286 dasm_put(Dst, 3471, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1296 dasm_put(Dst, 3491, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1287 if (!LJ_DUALNUM) { 1297 if (!LJ_DUALNUM) {
1288 dasm_put(Dst, 3498); 1298 dasm_put(Dst, 3518);
1289 } 1299 }
1290 if (sse) { 1300 if (sse) {
1291 dasm_put(Dst, 3501); 1301 dasm_put(Dst, 3521);
1292 } 1302 }
1293 dasm_put(Dst, 3516, 1+1); 1303 dasm_put(Dst, 3536, 1+1);
1294 if (LJ_DUALNUM) { 1304 if (LJ_DUALNUM) {
1295 dasm_put(Dst, 3527, LJ_TISNUM, LJ_TISNUM); 1305 dasm_put(Dst, 3547, LJ_TISNUM, LJ_TISNUM);
1296 } else { 1306 } else {
1297 dasm_put(Dst, 3607, LJ_TISNUM); 1307 dasm_put(Dst, 3627, LJ_TISNUM);
1298 } 1308 }
1299 if (sse) { 1309 if (sse) {
1300 dasm_put(Dst, 3617, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1310 dasm_put(Dst, 3637, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1301 } else { 1311 } else {
1302 dasm_put(Dst, 3648); 1312 dasm_put(Dst, 3668);
1303 } 1313 }
1304 dasm_put(Dst, 3665, 1+1, FRAME_TYPE, LJ_TNIL); 1314 dasm_put(Dst, 3685, 1+1, FRAME_TYPE, LJ_TNIL);
1305 if (LJ_DUALNUM) { 1315 if (LJ_DUALNUM) {
1306 dasm_put(Dst, 3761, LJ_TISNUM); 1316 dasm_put(Dst, 3781, LJ_TISNUM);
1307 } else { 1317 } else {
1308 dasm_put(Dst, 3607, LJ_TISNUM); 1318 dasm_put(Dst, 3627, LJ_TISNUM);
1309 } 1319 }
1310 if (sse) { 1320 if (sse) {
1311 dasm_put(Dst, 3783); 1321 dasm_put(Dst, 3803);
1312 if (LJ_DUALNUM) { 1322 if (LJ_DUALNUM) {
1313 dasm_put(Dst, 3792); 1323 dasm_put(Dst, 3812);
1314 } 1324 }
1315 dasm_put(Dst, 2254); 1325 dasm_put(Dst, 2274);
1316 } else { 1326 } else {
1317 dasm_put(Dst, 3826); 1327 dasm_put(Dst, 3846);
1318 if (LJ_DUALNUM) { 1328 if (LJ_DUALNUM) {
1319 } else { 1329 } else {
1320 dasm_put(Dst, 2261); 1330 dasm_put(Dst, 2281);
1321 } 1331 }
1322 } 1332 }
1323 dasm_put(Dst, 3832); 1333 dasm_put(Dst, 3852);
1324 if (LJ_DUALNUM) { 1334 if (LJ_DUALNUM) {
1325 dasm_put(Dst, 3761, LJ_TISNUM); 1335 dasm_put(Dst, 3781, LJ_TISNUM);
1326 } else { 1336 } else {
1327 dasm_put(Dst, 3607, LJ_TISNUM); 1337 dasm_put(Dst, 3627, LJ_TISNUM);
1328 } 1338 }
1329 if (sse) { 1339 if (sse) {
1330 dasm_put(Dst, 3835); 1340 dasm_put(Dst, 3855);
1331 if (LJ_DUALNUM) { 1341 if (LJ_DUALNUM) {
1332 dasm_put(Dst, 3792); 1342 dasm_put(Dst, 3812);
1333 } 1343 }
1334 dasm_put(Dst, 2254); 1344 dasm_put(Dst, 2274);
1335 } else { 1345 } else {
1336 dasm_put(Dst, 3844); 1346 dasm_put(Dst, 3864);
1337 if (LJ_DUALNUM) { 1347 if (LJ_DUALNUM) {
1338 } else { 1348 } else {
1339 dasm_put(Dst, 2261); 1349 dasm_put(Dst, 2281);
1340 } 1350 }
1341 } 1351 }
1342 if (sse) { 1352 if (sse) {
1343 dasm_put(Dst, 3850, 1+1, LJ_TISNUM); 1353 dasm_put(Dst, 3870, 1+1, LJ_TISNUM);
1344 } else { 1354 } else {
1345 dasm_put(Dst, 3879, 1+1, LJ_TISNUM); 1355 dasm_put(Dst, 3899, 1+1, LJ_TISNUM);
1346 } 1356 }
1347 dasm_put(Dst, 3908, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1357 dasm_put(Dst, 3928, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1348 dasm_put(Dst, 3977, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1358 dasm_put(Dst, 3997, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1349 dasm_put(Dst, 4034, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1359 dasm_put(Dst, 4054, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1350 dasm_put(Dst, 4097, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1360 dasm_put(Dst, 4117, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1351 dasm_put(Dst, 4187); 1361 dasm_put(Dst, 4207);
1352 if (sse) { 1362 if (sse) {
1353 dasm_put(Dst, 4199, 1+1, LJ_TISNUM); 1363 dasm_put(Dst, 4219, 1+1, LJ_TISNUM);
1354 } else { 1364 } else {
1355 } 1365 }
1356 dasm_put(Dst, 4224); 1366 dasm_put(Dst, 4244);
1357 if (sse) { 1367 if (sse) {
1358 dasm_put(Dst, 4238, 1+1, LJ_TISNUM); 1368 dasm_put(Dst, 4258, 1+1, LJ_TISNUM);
1359 } else { 1369 } else {
1360 } 1370 }
1361 dasm_put(Dst, 4263); 1371 dasm_put(Dst, 4283);
1362 if (sse) { 1372 if (sse) {
1363 dasm_put(Dst, 4277, 1+1, LJ_TISNUM); 1373 dasm_put(Dst, 4297, 1+1, LJ_TISNUM);
1364 } else { 1374 } else {
1365 } 1375 }
1366 dasm_put(Dst, 4302); 1376 dasm_put(Dst, 4322);
1367 if (sse) { 1377 if (sse) {
1368 dasm_put(Dst, 4318, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1378 dasm_put(Dst, 4338, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1369 } else { 1379 } else {
1370 dasm_put(Dst, 4357, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1380 dasm_put(Dst, 4377, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1371 } 1381 }
1372 dasm_put(Dst, 4390, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1382 dasm_put(Dst, 4410, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1373 dasm_put(Dst, 4455, 1+1, LJ_TISNUM); 1383 dasm_put(Dst, 4475, 1+1, LJ_TISNUM);
1374 if (sse) { 1384 if (sse) {
1375 dasm_put(Dst, 4554); 1385 dasm_put(Dst, 4574);
1376 } else { 1386 } else {
1377 dasm_put(Dst, 4560); 1387 dasm_put(Dst, 4580);
1378 } 1388 }
1379 dasm_put(Dst, 4569); 1389 dasm_put(Dst, 4589);
1380 if (sse) { 1390 if (sse) {
1381 dasm_put(Dst, 4594); 1391 dasm_put(Dst, 4614);
1382 } else { 1392 } else {
1383 dasm_put(Dst, 4600); 1393 dasm_put(Dst, 4620);
1384 } 1394 }
1385 dasm_put(Dst, 4603, 1+2); 1395 dasm_put(Dst, 4623, 1+2);
1386 if (sse) { 1396 if (sse) {
1387 dasm_put(Dst, 4612); 1397 dasm_put(Dst, 4632);
1388 } else { 1398 } else {
1389 dasm_put(Dst, 4620); 1399 dasm_put(Dst, 4640);
1390 } 1400 }
1391 dasm_put(Dst, 4628); 1401 dasm_put(Dst, 4648);
1392 if (sse) { 1402 if (sse) {
1393 dasm_put(Dst, 4631, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1403 dasm_put(Dst, 4651, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1394 } else { 1404 } else {
1395 dasm_put(Dst, 4658); 1405 dasm_put(Dst, 4678);
1396 } 1406 }
1397 dasm_put(Dst, 4677); 1407 dasm_put(Dst, 4697);
1398 if (sse) { 1408 if (sse) {
1399 dasm_put(Dst, 4693, 1+1, LJ_TISNUM); 1409 dasm_put(Dst, 4713, 1+1, LJ_TISNUM);
1400 } else { 1410 } else {
1401 dasm_put(Dst, 4718, 1+1, LJ_TISNUM); 1411 dasm_put(Dst, 4738, 1+1, LJ_TISNUM);
1402 } 1412 }
1403 dasm_put(Dst, 4740); 1413 dasm_put(Dst, 4760);
1404 if (sse) { 1414 if (sse) {
1405 dasm_put(Dst, 4762); 1415 dasm_put(Dst, 4782);
1406 } else { 1416 } else {
1407 dasm_put(Dst, 4788); 1417 dasm_put(Dst, 4808);
1408 } 1418 }
1409 dasm_put(Dst, 4805, 1+2); 1419 dasm_put(Dst, 4825, 1+2);
1410 if (sse) { 1420 if (sse) {
1411 dasm_put(Dst, 4845); 1421 dasm_put(Dst, 4865);
1412 } else { 1422 } else {
1413 dasm_put(Dst, 4853); 1423 dasm_put(Dst, 4873);
1414 } 1424 }
1415 dasm_put(Dst, 4863, 2+1, LJ_TISNUM, LJ_TISNUM); 1425 dasm_put(Dst, 4883, 2+1, LJ_TISNUM, LJ_TISNUM);
1416 if (sse) { 1426 if (sse) {
1417 dasm_put(Dst, 4915, 2+1, LJ_TISNUM, LJ_TISNUM); 1427 dasm_put(Dst, 4935, 2+1, LJ_TISNUM, LJ_TISNUM);
1418 } else { 1428 } else {
1419 dasm_put(Dst, 4962, 2+1, LJ_TISNUM, LJ_TISNUM); 1429 dasm_put(Dst, 4982, 2+1, LJ_TISNUM, LJ_TISNUM);
1420 } 1430 }
1421 dasm_put(Dst, 5003, LJ_TISNUM); 1431 dasm_put(Dst, 5023, LJ_TISNUM);
1422 if (LJ_DUALNUM) { 1432 if (LJ_DUALNUM) {
1423 dasm_put(Dst, 5016, LJ_TISNUM); 1433 dasm_put(Dst, 5036, LJ_TISNUM);
1424 if (sse) { 1434 if (sse) {
1425 dasm_put(Dst, 4554); 1435 dasm_put(Dst, 4574);
1426 } else { 1436 } else {
1427 } 1437 }
1428 dasm_put(Dst, 5066); 1438 dasm_put(Dst, 5086);
1429 } else { 1439 } else {
1430 dasm_put(Dst, 2244); 1440 dasm_put(Dst, 2264);
1431 } 1441 }
1432 if (sse) { 1442 if (sse) {
1433 dasm_put(Dst, 5077, LJ_TISNUM); 1443 dasm_put(Dst, 5097, LJ_TISNUM);
1434 if (LJ_DUALNUM) { 1444 if (LJ_DUALNUM) {
1435 dasm_put(Dst, 5098); 1445 dasm_put(Dst, 5118);
1436 } else { 1446 } else {
1437 dasm_put(Dst, 2244); 1447 dasm_put(Dst, 2264);
1438 } 1448 }
1439 dasm_put(Dst, 5119); 1449 dasm_put(Dst, 5139);
1440 } else { 1450 } else {
1441 } 1451 }
1442 dasm_put(Dst, 5144, LJ_TISNUM); 1452 dasm_put(Dst, 5164, LJ_TISNUM);
1443 if (LJ_DUALNUM) { 1453 if (LJ_DUALNUM) {
1444 dasm_put(Dst, 5157, LJ_TISNUM); 1454 dasm_put(Dst, 5177, LJ_TISNUM);
1445 if (sse) { 1455 if (sse) {
1446 dasm_put(Dst, 4554); 1456 dasm_put(Dst, 4574);
1447 } else { 1457 } else {
1448 } 1458 }
1449 dasm_put(Dst, 5066); 1459 dasm_put(Dst, 5086);
1450 } else { 1460 } else {
1451 dasm_put(Dst, 2244); 1461 dasm_put(Dst, 2264);
1452 } 1462 }
1453 if (sse) { 1463 if (sse) {
1454 dasm_put(Dst, 5077, LJ_TISNUM); 1464 dasm_put(Dst, 5097, LJ_TISNUM);
1455 if (LJ_DUALNUM) { 1465 if (LJ_DUALNUM) {
1456 dasm_put(Dst, 5098); 1466 dasm_put(Dst, 5118);
1457 } else { 1467 } else {
1458 dasm_put(Dst, 2244); 1468 dasm_put(Dst, 2264);
1459 } 1469 }
1460 dasm_put(Dst, 5207); 1470 dasm_put(Dst, 5227);
1461 } else { 1471 } else {
1462 } 1472 }
1463 if (!sse) { 1473 if (!sse) {
1464 dasm_put(Dst, 5232); 1474 dasm_put(Dst, 5252);
1465 } 1475 }
1466 dasm_put(Dst, 5241, 1+1, LJ_TSTR); 1476 dasm_put(Dst, 5261, 1+1, LJ_TSTR);
1467 if (LJ_DUALNUM) { 1477 if (LJ_DUALNUM) {
1468 dasm_put(Dst, 5263, Dt5(->len)); 1478 dasm_put(Dst, 5283, Dt5(->len));
1469 } else if (sse) { 1479 } else if (sse) {
1470 dasm_put(Dst, 5271, Dt5(->len)); 1480 dasm_put(Dst, 5291, Dt5(->len));
1471 } else { 1481 } else {
1472 dasm_put(Dst, 5282, Dt5(->len)); 1482 dasm_put(Dst, 5302, Dt5(->len));
1473 } 1483 }
1474 dasm_put(Dst, 5290, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1484 dasm_put(Dst, 5310, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1475 if (LJ_DUALNUM) { 1485 if (LJ_DUALNUM) {
1476 dasm_put(Dst, 5266); 1486 dasm_put(Dst, 5286);
1477 } else if (sse) { 1487 } else if (sse) {
1478 dasm_put(Dst, 5328); 1488 dasm_put(Dst, 5348);
1479 } else { 1489 } else {
1480 dasm_put(Dst, 5338); 1490 dasm_put(Dst, 5358);
1481 } 1491 }
1482 dasm_put(Dst, 5351, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1492 dasm_put(Dst, 5371, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1483 if (LJ_DUALNUM) { 1493 if (LJ_DUALNUM) {
1484 dasm_put(Dst, 5382); 1494 dasm_put(Dst, 5402);
1485 } else if (sse) { 1495 } else if (sse) {
1486 dasm_put(Dst, 5405); 1496 dasm_put(Dst, 5425);
1487 } else { 1497 } else {
1488 dasm_put(Dst, 5431); 1498 dasm_put(Dst, 5451);
1489 } 1499 }
1490 dasm_put(Dst, 5455, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1500 dasm_put(Dst, 5475, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1491 if (LJ_DUALNUM) { 1501 if (LJ_DUALNUM) {
1492 dasm_put(Dst, 5563); 1502 dasm_put(Dst, 5583);
1493 } else if (sse) { 1503 } else if (sse) {
1494 dasm_put(Dst, 5575); 1504 dasm_put(Dst, 5595);
1495 } else { 1505 } else {
1496 dasm_put(Dst, 5590); 1506 dasm_put(Dst, 5610);
1497 } 1507 }
1498 dasm_put(Dst, 5602, LJ_TSTR, LJ_TISNUM); 1508 dasm_put(Dst, 5622, LJ_TSTR, LJ_TISNUM);
1499 if (LJ_DUALNUM) { 1509 if (LJ_DUALNUM) {
1500 dasm_put(Dst, 2501); 1510 dasm_put(Dst, 2521);
1501 } else { 1511 } else {
1502 dasm_put(Dst, 2244); 1512 dasm_put(Dst, 2264);
1503 } 1513 }
1504 dasm_put(Dst, 5619, Dt5(->len)); 1514 dasm_put(Dst, 5639, Dt5(->len));
1505 if (LJ_DUALNUM) { 1515 if (LJ_DUALNUM) {
1506 dasm_put(Dst, 5629); 1516 dasm_put(Dst, 5649);
1507 } else if (sse) { 1517 } else if (sse) {
1508 dasm_put(Dst, 5633); 1518 dasm_put(Dst, 5653);
1509 } else { 1519 } else {
1510 } 1520 }
1511 dasm_put(Dst, 5640, sizeof(GCstr)-1); 1521 dasm_put(Dst, 5660, sizeof(GCstr)-1);
1512 dasm_put(Dst, 5715, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1522 dasm_put(Dst, 5735, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1513 dasm_put(Dst, 5774, LJ_TSTR, LJ_TISNUM); 1523 dasm_put(Dst, 5794, LJ_TSTR, LJ_TISNUM);
1514 if (LJ_DUALNUM) { 1524 if (LJ_DUALNUM) {
1515 dasm_put(Dst, 5791); 1525 dasm_put(Dst, 5811);
1516 } else if (sse) { 1526 } else if (sse) {
1517 dasm_put(Dst, 5799); 1527 dasm_put(Dst, 5819);
1518 } else { 1528 } else {
1519 dasm_put(Dst, 5810); 1529 dasm_put(Dst, 5830);
1520 } 1530 }
1521 dasm_put(Dst, 5826, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1531 dasm_put(Dst, 5846, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1522 dasm_put(Dst, 5891, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1532 dasm_put(Dst, 5911, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1523 dasm_put(Dst, 5954, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1533 dasm_put(Dst, 5974, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1524 dasm_put(Dst, 6025, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1534 dasm_put(Dst, 6045, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1525 dasm_put(Dst, 6110, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1535 dasm_put(Dst, 6130, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1526 dasm_put(Dst, 6180, 1+1, LJ_TTAB); 1536 dasm_put(Dst, 6200, 1+1, LJ_TTAB);
1527 if (LJ_DUALNUM) { 1537 if (LJ_DUALNUM) {
1528 dasm_put(Dst, 6248); 1538 dasm_put(Dst, 6268);
1529 } else if (sse) { 1539 } else if (sse) {
1530 dasm_put(Dst, 6255); 1540 dasm_put(Dst, 6275);
1531 } else { 1541 } else {
1532 } 1542 }
1533 dasm_put(Dst, 6265, 1+1, LJ_TISNUM); 1543 dasm_put(Dst, 6285, 1+1, LJ_TISNUM);
1534 if (LJ_DUALNUM) { 1544 if (LJ_DUALNUM) {
1535 dasm_put(Dst, 6281); 1545 dasm_put(Dst, 6301);
1536 } else { 1546 } else {
1537 dasm_put(Dst, 2244); 1547 dasm_put(Dst, 2264);
1538 } 1548 }
1539 if (sse) { 1549 if (sse) {
1540 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1550 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1541 } else { 1551 } else {
1542 } 1552 }
1543 dasm_put(Dst, 106); 1553 dasm_put(Dst, 106);
1544 if (LJ_DUALNUM || sse) { 1554 if (LJ_DUALNUM || sse) {
1545 if (!sse) { 1555 if (!sse) {
1546 } 1556 }
1547 dasm_put(Dst, 6322); 1557 dasm_put(Dst, 6342);
1548 } else { 1558 } else {
1549 } 1559 }
1550 dasm_put(Dst, 6327, 1+1); 1560 dasm_put(Dst, 6347, 1+1);
1551 if (sse) { 1561 if (sse) {
1552 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1562 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1553 } else { 1563 } else {
1554 dasm_put(Dst, 6348); 1564 dasm_put(Dst, 6368);
1555 } 1565 }
1556 dasm_put(Dst, 2221, LJ_TISNUM); 1566 dasm_put(Dst, 2241, LJ_TISNUM);
1557 if (LJ_DUALNUM) { 1567 if (LJ_DUALNUM) {
1558 dasm_put(Dst, 6357); 1568 dasm_put(Dst, 6377);
1559 } else { 1569 } else {
1560 dasm_put(Dst, 2244); 1570 dasm_put(Dst, 2264);
1561 } 1571 }
1562 if (sse) { 1572 if (sse) {
1563 dasm_put(Dst, 6374); 1573 dasm_put(Dst, 6394);
1564 } else { 1574 } else {
1565 } 1575 }
1566 dasm_put(Dst, 6389, LJ_TISNUM); 1576 dasm_put(Dst, 6409, LJ_TISNUM);
1567 if (LJ_DUALNUM) { 1577 if (LJ_DUALNUM) {
1568 dasm_put(Dst, 6414);
1569 } else {
1570 dasm_put(Dst, 6434); 1578 dasm_put(Dst, 6434);
1579 } else {
1580 dasm_put(Dst, 6454);
1571 } 1581 }
1572 if (sse) { 1582 if (sse) {
1573 dasm_put(Dst, 6439); 1583 dasm_put(Dst, 6459);
1574 } else { 1584 } else {
1575 } 1585 }
1576 dasm_put(Dst, 6456, 1+1); 1586 dasm_put(Dst, 6476, 1+1);
1577 if (sse) { 1587 if (sse) {
1578 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1588 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1579 } else { 1589 } else {
1580 dasm_put(Dst, 6348); 1590 dasm_put(Dst, 6368);
1581 } 1591 }
1582 dasm_put(Dst, 2221, LJ_TISNUM); 1592 dasm_put(Dst, 2241, LJ_TISNUM);
1583 if (LJ_DUALNUM) { 1593 if (LJ_DUALNUM) {
1584 dasm_put(Dst, 6357); 1594 dasm_put(Dst, 6377);
1585 } else { 1595 } else {
1586 dasm_put(Dst, 2244); 1596 dasm_put(Dst, 2264);
1587 } 1597 }
1588 if (sse) { 1598 if (sse) {
1589 dasm_put(Dst, 6374); 1599 dasm_put(Dst, 6394);
1590 } else { 1600 } else {
1591 } 1601 }
1592 dasm_put(Dst, 6389, LJ_TISNUM); 1602 dasm_put(Dst, 6409, LJ_TISNUM);
1593 if (LJ_DUALNUM) { 1603 if (LJ_DUALNUM) {
1594 dasm_put(Dst, 6474); 1604 dasm_put(Dst, 6494);
1595 } else { 1605 } else {
1596 dasm_put(Dst, 6434); 1606 dasm_put(Dst, 6454);
1597 } 1607 }
1598 if (sse) { 1608 if (sse) {
1599 dasm_put(Dst, 6494); 1609 dasm_put(Dst, 6514);
1600 } else { 1610 } else {
1601 } 1611 }
1602 dasm_put(Dst, 6511, 1+1); 1612 dasm_put(Dst, 6531, 1+1);
1603 if (sse) { 1613 if (sse) {
1604 dasm_put(Dst, 6338, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1614 dasm_put(Dst, 6358, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1605 } else { 1615 } else {
1606 dasm_put(Dst, 6348); 1616 dasm_put(Dst, 6368);
1607 } 1617 }
1608 dasm_put(Dst, 2221, LJ_TISNUM); 1618 dasm_put(Dst, 2241, LJ_TISNUM);
1609 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1610 dasm_put(Dst, 6357); 1620 dasm_put(Dst, 6377);
1611 } else { 1621 } else {
1612 dasm_put(Dst, 2244); 1622 dasm_put(Dst, 2264);
1613 } 1623 }
1614 if (sse) { 1624 if (sse) {
1615 dasm_put(Dst, 6374); 1625 dasm_put(Dst, 6394);
1616 } else { 1626 } else {
1617 } 1627 }
1618 dasm_put(Dst, 6389, LJ_TISNUM); 1628 dasm_put(Dst, 6409, LJ_TISNUM);
1619 if (LJ_DUALNUM) { 1629 if (LJ_DUALNUM) {
1620 dasm_put(Dst, 6529); 1630 dasm_put(Dst, 6549);
1621 } else { 1631 } else {
1622 dasm_put(Dst, 6434); 1632 dasm_put(Dst, 6454);
1623 } 1633 }
1624 if (sse) { 1634 if (sse) {
1625 dasm_put(Dst, 6549); 1635 dasm_put(Dst, 6569);
1626 } else { 1636 } else {
1627 } 1637 }
1628 dasm_put(Dst, 6566, 1+1, LJ_TISNUM); 1638 dasm_put(Dst, 6586, 1+1, LJ_TISNUM);
1629 if (LJ_DUALNUM) { 1639 if (LJ_DUALNUM) {
1630 dasm_put(Dst, 6357); 1640 dasm_put(Dst, 6377);
1631 } else { 1641 } else {
1632 dasm_put(Dst, 2244); 1642 dasm_put(Dst, 2264);
1633 } 1643 }
1634 if (sse) { 1644 if (sse) {
1635 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1645 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1636 } else { 1646 } else {
1637 } 1647 }
1638 dasm_put(Dst, 6589, 1+1, LJ_TISNUM); 1648 dasm_put(Dst, 6609, 1+1, LJ_TISNUM);
1639 if (LJ_DUALNUM) { 1649 if (LJ_DUALNUM) {
1640 dasm_put(Dst, 6357); 1650 dasm_put(Dst, 6377);
1641 } else { 1651 } else {
1642 dasm_put(Dst, 2244); 1652 dasm_put(Dst, 2264);
1643 } 1653 }
1644 if (sse) { 1654 if (sse) {
1645 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1655 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1646 } else { 1656 } else {
1647 } 1657 }
1648 dasm_put(Dst, 6613); 1658 dasm_put(Dst, 6633);
1649 if (LJ_DUALNUM) { 1659 if (LJ_DUALNUM) {
1650 dasm_put(Dst, 6322); 1660 dasm_put(Dst, 6342);
1651 } else if (sse) { 1661 } else if (sse) {
1652 dasm_put(Dst, 6619); 1662 dasm_put(Dst, 6639);
1653 } else { 1663 } else {
1654 } 1664 }
1655 dasm_put(Dst, 6631); 1665 dasm_put(Dst, 6651);
1656 if (LJ_DUALNUM) { 1666 if (LJ_DUALNUM) {
1657 dasm_put(Dst, 6642, 1+1, LJ_TISNUM); 1667 dasm_put(Dst, 6662, 1+1, LJ_TISNUM);
1658 if (LJ_DUALNUM) { 1668 if (LJ_DUALNUM) {
1659 dasm_put(Dst, 6357); 1669 dasm_put(Dst, 6377);
1660 } else { 1670 } else {
1661 dasm_put(Dst, 2244); 1671 dasm_put(Dst, 2264);
1662 } 1672 }
1663 if (sse) { 1673 if (sse) {
1664 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1674 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1665 } else { 1675 } else {
1666 } 1676 }
1667 dasm_put(Dst, 6658, LJ_TISNUM); 1677 dasm_put(Dst, 6678, LJ_TISNUM);
1668 } else if (sse) { 1678 } else if (sse) {
1669 dasm_put(Dst, 6673, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1679 dasm_put(Dst, 6693, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1670 } else { 1680 } else {
1671 } 1681 }
1672 dasm_put(Dst, 6740); 1682 dasm_put(Dst, 6760);
1673 if (LJ_DUALNUM) { 1683 if (LJ_DUALNUM) {
1674 dasm_put(Dst, 6747, 1+1, LJ_TISNUM); 1684 dasm_put(Dst, 6767, 1+1, LJ_TISNUM);
1675 if (LJ_DUALNUM) { 1685 if (LJ_DUALNUM) {
1676 dasm_put(Dst, 6357); 1686 dasm_put(Dst, 6377);
1677 } else { 1687 } else {
1678 dasm_put(Dst, 2244); 1688 dasm_put(Dst, 2264);
1679 } 1689 }
1680 if (sse) { 1690 if (sse) {
1681 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1691 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1682 } else { 1692 } else {
1683 } 1693 }
1684 dasm_put(Dst, 6658, LJ_TISNUM); 1694 dasm_put(Dst, 6678, LJ_TISNUM);
1685 } else if (sse) { 1695 } else if (sse) {
1686 dasm_put(Dst, 6763, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1696 dasm_put(Dst, 6783, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1687 } else { 1697 } else {
1688 } 1698 }
1689 dasm_put(Dst, 6830); 1699 dasm_put(Dst, 6850);
1690 if (LJ_DUALNUM) { 1700 if (LJ_DUALNUM) {
1691 dasm_put(Dst, 6838, 1+1, LJ_TISNUM); 1701 dasm_put(Dst, 6858, 1+1, LJ_TISNUM);
1692 if (LJ_DUALNUM) { 1702 if (LJ_DUALNUM) {
1693 dasm_put(Dst, 6357); 1703 dasm_put(Dst, 6377);
1694 } else { 1704 } else {
1695 dasm_put(Dst, 2244); 1705 dasm_put(Dst, 2264);
1696 } 1706 }
1697 if (sse) { 1707 if (sse) {
1698 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1708 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1699 } else { 1709 } else {
1700 } 1710 }
1701 dasm_put(Dst, 6658, LJ_TISNUM); 1711 dasm_put(Dst, 6678, LJ_TISNUM);
1702 } else if (sse) { 1712 } else if (sse) {
1703 dasm_put(Dst, 6854, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1713 dasm_put(Dst, 6874, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1704 } else { 1714 } else {
1705 } 1715 }
1706 dasm_put(Dst, 6921); 1716 dasm_put(Dst, 6941);
1707 if (LJ_DUALNUM) { 1717 if (LJ_DUALNUM) {
1708 dasm_put(Dst, 6929, 1+1, LJ_TISNUM); 1718 dasm_put(Dst, 6949, 1+1, LJ_TISNUM);
1709 if (LJ_DUALNUM) { 1719 if (LJ_DUALNUM) {
1710 dasm_put(Dst, 6357); 1720 dasm_put(Dst, 6377);
1711 } else { 1721 } else {
1712 dasm_put(Dst, 2244); 1722 dasm_put(Dst, 2264);
1713 } 1723 }
1714 if (sse) { 1724 if (sse) {
1715 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1725 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1716 } else { 1726 } else {
1717 } 1727 }
1718 dasm_put(Dst, 6658, LJ_TISNUM); 1728 dasm_put(Dst, 6678, LJ_TISNUM);
1719 } else if (sse) { 1729 } else if (sse) {
1720 dasm_put(Dst, 6945, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1730 dasm_put(Dst, 6965, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1721 } else { 1731 } else {
1722 } 1732 }
1723 dasm_put(Dst, 7012); 1733 dasm_put(Dst, 7032);
1724 if (LJ_DUALNUM) { 1734 if (LJ_DUALNUM) {
1725 dasm_put(Dst, 7019, 1+1, LJ_TISNUM); 1735 dasm_put(Dst, 7039, 1+1, LJ_TISNUM);
1726 if (LJ_DUALNUM) { 1736 if (LJ_DUALNUM) {
1727 dasm_put(Dst, 6357); 1737 dasm_put(Dst, 6377);
1728 } else { 1738 } else {
1729 dasm_put(Dst, 2244); 1739 dasm_put(Dst, 2264);
1730 } 1740 }
1731 if (sse) { 1741 if (sse) {
1732 dasm_put(Dst, 6298, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1742 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1733 } else { 1743 } else {
1734 } 1744 }
1735 dasm_put(Dst, 6658, LJ_TISNUM); 1745 dasm_put(Dst, 6678, LJ_TISNUM);
1736 } else if (sse) { 1746 } else if (sse) {
1737 dasm_put(Dst, 7035, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1747 dasm_put(Dst, 7055, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1738 } else { 1748 } else {
1739 } 1749 }
1740 dasm_put(Dst, 7102, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1750 dasm_put(Dst, 7122, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1741 dasm_put(Dst, 7178, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1751 dasm_put(Dst, 7198, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1742 dasm_put(Dst, 7305, Dt1(->top), Dt1(->base), Dt1(->top)); 1752 dasm_put(Dst, 7325, Dt1(->top), Dt1(->base), Dt1(->top));
1743#if LJ_HASJIT 1753#if LJ_HASJIT
1744 dasm_put(Dst, 7344, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1754 dasm_put(Dst, 7364, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1745#endif 1755#endif
1746 dasm_put(Dst, 7375, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1756 dasm_put(Dst, 7395, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1747 dasm_put(Dst, 7426, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1757 dasm_put(Dst, 7446, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1748#if LJ_HASJIT 1758#if LJ_HASJIT
1749 dasm_put(Dst, 7493, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1759 dasm_put(Dst, 7513, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1750#endif 1760#endif
1751 dasm_put(Dst, 7540); 1761 dasm_put(Dst, 7560);
1752#if LJ_HASJIT 1762#if LJ_HASJIT
1753 dasm_put(Dst, 7370); 1763 dasm_put(Dst, 7390);
1754#endif 1764#endif
1755 dasm_put(Dst, 7547); 1765 dasm_put(Dst, 7567);
1756#if LJ_HASJIT 1766#if LJ_HASJIT
1757 dasm_put(Dst, 7550); 1767 dasm_put(Dst, 7570);
1758#endif 1768#endif
1759 dasm_put(Dst, 7560, Dt1(->base), Dt1(->top)); 1769 dasm_put(Dst, 7580, Dt1(->base), Dt1(->top));
1760#if LJ_HASJIT 1770#if LJ_HASJIT
1761 dasm_put(Dst, 7594); 1771 dasm_put(Dst, 7614);
1762#endif 1772#endif
1763 dasm_put(Dst, 7599, Dt1(->base), Dt1(->top)); 1773 dasm_put(Dst, 7619, Dt1(->base), Dt1(->top));
1764#if LJ_HASJIT 1774#if LJ_HASJIT
1765 dasm_put(Dst, 7630, 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); 1775 dasm_put(Dst, 7650, 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);
1766#endif 1776#endif
1767 dasm_put(Dst, 7860); 1777 dasm_put(Dst, 7880);
1768#if LJ_HASJIT 1778#if LJ_HASJIT
1769 dasm_put(Dst, 7863, 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); 1779 dasm_put(Dst, 7883, 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);
1770 dasm_put(Dst, 8005); 1780 dasm_put(Dst, 8025);
1771#endif 1781#endif
1772 dasm_put(Dst, 8031); 1782 dasm_put(Dst, 8051);
1773 if (!sse) { 1783 if (!sse) {
1774 dasm_put(Dst, 8034); 1784 dasm_put(Dst, 8054);
1775 } 1785 }
1776 dasm_put(Dst, 8079, (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)); 1786 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(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1777 if (!sse) { 1787 if (!sse) {
1778 dasm_put(Dst, 8165); 1788 dasm_put(Dst, 8185);
1779 } 1789 }
1780 dasm_put(Dst, 8210, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1790 dasm_put(Dst, 8230, (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));
1781 if (!sse) { 1791 if (!sse) {
1782 dasm_put(Dst, 8296); 1792 dasm_put(Dst, 8316);
1783 } 1793 }
1784 dasm_put(Dst, 8335, (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)); 1794 dasm_put(Dst, 8355, (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));
1785 if (sse) { 1795 if (sse) {
1786 dasm_put(Dst, 8424, (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)); 1796 dasm_put(Dst, 8444, (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));
1787 } else { 1797 } else {
1788 dasm_put(Dst, 8538); 1798 dasm_put(Dst, 8558);
1789 } 1799 }
1790 dasm_put(Dst, 8585); 1800 dasm_put(Dst, 8605);
1791 if (!sse) { 1801 if (!sse) {
1792 } else { 1802 } else {
1793 dasm_put(Dst, 8659); 1803 dasm_put(Dst, 8679);
1794 } 1804 }
1795 dasm_put(Dst, 8662); 1805 dasm_put(Dst, 8682);
1796 dasm_put(Dst, 8747, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1806 dasm_put(Dst, 8767, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1797 dasm_put(Dst, 8850, (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)); 1807 dasm_put(Dst, 8870, (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));
1798 dasm_put(Dst, 9006); 1808 dasm_put(Dst, 9026);
1799#if LJ_HASJIT 1809#if LJ_HASJIT
1800 if (sse) { 1810 if (sse) {
1801 dasm_put(Dst, 9047); 1811 dasm_put(Dst, 9067);
1802 dasm_put(Dst, 9117); 1812 dasm_put(Dst, 9137);
1803 dasm_put(Dst, 9190); 1813 dasm_put(Dst, 9210);
1804 } else { 1814 } else {
1805 dasm_put(Dst, 9240); 1815 dasm_put(Dst, 9260);
1806 dasm_put(Dst, 9332); 1816 dasm_put(Dst, 9352);
1807 } 1817 }
1808 dasm_put(Dst, 9378); 1818 dasm_put(Dst, 9398);
1809#endif 1819#endif
1810 dasm_put(Dst, 9382); 1820 dasm_put(Dst, 9402);
1811 if (sse) { 1821 if (sse) {
1812 dasm_put(Dst, 9385, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1822 dasm_put(Dst, 9405, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1813 dasm_put(Dst, 9474, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1823 dasm_put(Dst, 9494, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1814 } else { 1824 } else {
1815 dasm_put(Dst, 9598); 1825 dasm_put(Dst, 9618);
1816 dasm_put(Dst, 9681); 1826 dasm_put(Dst, 9701);
1817 if (cmov) { 1827 if (cmov) {
1818 dasm_put(Dst, 9736); 1828 dasm_put(Dst, 9756);
1819 } else { 1829 } else {
1820 dasm_put(Dst, 9755); 1830 dasm_put(Dst, 9775);
1821 } 1831 }
1822 dasm_put(Dst, 9378); 1832 dasm_put(Dst, 9398);
1823 } 1833 }
1824 dasm_put(Dst, 9796); 1834 dasm_put(Dst, 9816);
1825#if LJ_HASFFI 1835#if LJ_HASFFI
1826#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1836#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1827 dasm_put(Dst, 9824, DtE(->spadj)); 1837 dasm_put(Dst, 9844, DtE(->spadj));
1828#if LJ_TARGET_WINDOWS 1838#if LJ_TARGET_WINDOWS
1829#endif 1839#endif
1830 dasm_put(Dst, 9839, 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])); 1840 dasm_put(Dst, 9859, 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]));
1831 dasm_put(Dst, 9920, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1841 dasm_put(Dst, 9940, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1832#if LJ_TARGET_WINDOWS 1842#if LJ_TARGET_WINDOWS
1833#endif 1843#endif
1834 dasm_put(Dst, 9933); 1844 dasm_put(Dst, 9953);
1835#endif 1845#endif
1836 dasm_put(Dst, 9941); 1846 dasm_put(Dst, 9961);
1837#ifdef LUA_USE_ASSERT 1847#ifdef LUA_USE_ASSERT
1838 dasm_put(Dst, 9380); 1848 dasm_put(Dst, 9400);
1839#endif 1849#endif
1840 dasm_put(Dst, 9380); 1850 dasm_put(Dst, 9400);
1841} 1851}
1842 1852
1843/* Generate the code for a single instruction. */ 1853/* Generate the code for a single instruction. */
1844static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1854static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1845{ 1855{
1846 int vk = 0; 1856 int vk = 0;
1847 dasm_put(Dst, 9944, defop); 1857 dasm_put(Dst, 9964, defop);
1848 1858
1849 switch (op) { 1859 switch (op) {
1850 1860
@@ -1855,296 +1865,303 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1855 1865
1856 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1866 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1857 if (LJ_DUALNUM) { 1867 if (LJ_DUALNUM) {
1858 dasm_put(Dst, 9946, LJ_TISNUM, LJ_TISNUM); 1868 dasm_put(Dst, 9966, LJ_TISNUM, LJ_TISNUM);
1859 switch (op) { 1869 switch (op) {
1860 case BC_ISLT: 1870 case BC_ISLT:
1861 dasm_put(Dst, 9976); 1871 dasm_put(Dst, 9996);
1862 break; 1872 break;
1863 case BC_ISGE: 1873 case BC_ISGE:
1864 dasm_put(Dst, 9981); 1874 dasm_put(Dst, 10001);
1865 break; 1875 break;
1866 case BC_ISLE: 1876 case BC_ISLE:
1867 dasm_put(Dst, 9986); 1877 dasm_put(Dst, 10006);
1868 break; 1878 break;
1869 case BC_ISGT: 1879 case BC_ISGT:
1870 dasm_put(Dst, 9991); 1880 dasm_put(Dst, 10011);
1871 break; 1881 break;
1872 default: break; /* Shut up GCC. */ 1882 default: break; /* Shut up GCC. */
1873 } 1883 }
1874 dasm_put(Dst, 9996, -BCBIAS_J*4, LJ_TISNUM); 1884 dasm_put(Dst, 10016, -BCBIAS_J*4, LJ_TISNUM);
1875 if (sse) { 1885 if (sse) {
1876 dasm_put(Dst, 10050); 1886 dasm_put(Dst, 10070);
1877 } else { 1887 } else {
1878 dasm_put(Dst, 10061); 1888 dasm_put(Dst, 10081);
1879 } 1889 }
1880 dasm_put(Dst, 10072); 1890 dasm_put(Dst, 10092);
1881 if (sse) { 1891 if (sse) {
1882 dasm_put(Dst, 10079); 1892 dasm_put(Dst, 10099);
1883 switch (op) { 1893 switch (op) {
1884 case BC_ISLT: 1894 case BC_ISLT:
1885 dasm_put(Dst, 10099); 1895 dasm_put(Dst, 10119);
1886 break; 1896 break;
1887 case BC_ISGE: 1897 case BC_ISGE:
1888 dasm_put(Dst, 10104); 1898 dasm_put(Dst, 10124);
1889 break; 1899 break;
1890 case BC_ISLE: 1900 case BC_ISLE:
1891 dasm_put(Dst, 10109); 1901 dasm_put(Dst, 10129);
1892 break; 1902 break;
1893 case BC_ISGT: 1903 case BC_ISGT:
1894 dasm_put(Dst, 10114); 1904 dasm_put(Dst, 10134);
1895 break; 1905 break;
1896 default: break; /* Shut up GCC. */ 1906 default: break; /* Shut up GCC. */
1897 } 1907 }
1898 dasm_put(Dst, 10119); 1908 dasm_put(Dst, 10139);
1899 } else { 1909 } else {
1900 dasm_put(Dst, 10124); 1910 dasm_put(Dst, 10144);
1901 } 1911 }
1902 } else { 1912 } else {
1903 dasm_put(Dst, 10132, LJ_TISNUM, LJ_TISNUM); 1913 dasm_put(Dst, 10152, LJ_TISNUM, LJ_TISNUM);
1904 } 1914 }
1905 if (sse) { 1915 if (sse) {
1906 dasm_put(Dst, 10153); 1916 dasm_put(Dst, 10173);
1907 } else { 1917 } else {
1908 dasm_put(Dst, 10174); 1918 dasm_put(Dst, 10194);
1909 if (cmov) { 1919 if (cmov) {
1910 dasm_put(Dst, 10190); 1920 dasm_put(Dst, 10210);
1911 } else { 1921 } else {
1912 dasm_put(Dst, 10196); 1922 dasm_put(Dst, 10216);
1913 } 1923 }
1914 } 1924 }
1915 if (LJ_DUALNUM) { 1925 if (LJ_DUALNUM) {
1916 switch (op) { 1926 switch (op) {
1917 case BC_ISLT: 1927 case BC_ISLT:
1918 dasm_put(Dst, 10099); 1928 dasm_put(Dst, 10119);
1919 break; 1929 break;
1920 case BC_ISGE: 1930 case BC_ISGE:
1921 dasm_put(Dst, 10104); 1931 dasm_put(Dst, 10124);
1922 break; 1932 break;
1923 case BC_ISLE: 1933 case BC_ISLE:
1924 dasm_put(Dst, 10109); 1934 dasm_put(Dst, 10129);
1925 break; 1935 break;
1926 case BC_ISGT: 1936 case BC_ISGT:
1927 dasm_put(Dst, 10114); 1937 dasm_put(Dst, 10134);
1928 break; 1938 break;
1929 default: break; /* Shut up GCC. */ 1939 default: break; /* Shut up GCC. */
1930 } 1940 }
1931 dasm_put(Dst, 10119); 1941 dasm_put(Dst, 10139);
1932 } else { 1942 } else {
1933 switch (op) { 1943 switch (op) {
1934 case BC_ISLT: 1944 case BC_ISLT:
1935 dasm_put(Dst, 10203); 1945 dasm_put(Dst, 10223);
1936 break; 1946 break;
1937 case BC_ISGE: 1947 case BC_ISGE:
1938 dasm_put(Dst, 10208); 1948 dasm_put(Dst, 10228);
1939 break; 1949 break;
1940 case BC_ISLE: 1950 case BC_ISLE:
1941 dasm_put(Dst, 10213); 1951 dasm_put(Dst, 10233);
1942 break; 1952 break;
1943 case BC_ISGT: 1953 case BC_ISGT:
1944 dasm_put(Dst, 10218); 1954 dasm_put(Dst, 10238);
1945 break; 1955 break;
1946 default: break; /* Shut up GCC. */ 1956 default: break; /* Shut up GCC. */
1947 } 1957 }
1948 dasm_put(Dst, 10223, -BCBIAS_J*4); 1958 dasm_put(Dst, 10243, -BCBIAS_J*4);
1949 } 1959 }
1950 break; 1960 break;
1951 1961
1952 case BC_ISEQV: case BC_ISNEV: 1962 case BC_ISEQV: case BC_ISNEV:
1953 vk = op == BC_ISEQV; 1963 vk = op == BC_ISEQV;
1954 dasm_put(Dst, 10255); 1964 dasm_put(Dst, 10275);
1955 if (LJ_DUALNUM) { 1965 if (LJ_DUALNUM) {
1956 dasm_put(Dst, 10263, LJ_TISNUM, LJ_TISNUM); 1966 dasm_put(Dst, 10283, LJ_TISNUM, LJ_TISNUM);
1957 if (vk) { 1967 if (vk) {
1958 dasm_put(Dst, 10288); 1968 dasm_put(Dst, 10308);
1959 } else { 1969 } else {
1960 dasm_put(Dst, 10293); 1970 dasm_put(Dst, 10313);
1961 } 1971 }
1962 dasm_put(Dst, 10298, -BCBIAS_J*4, LJ_TISNUM); 1972 dasm_put(Dst, 10318, -BCBIAS_J*4, LJ_TISNUM);
1963 if (sse) { 1973 if (sse) {
1964 dasm_put(Dst, 10350); 1974 dasm_put(Dst, 10370);
1965 } else { 1975 } else {
1966 dasm_put(Dst, 10357); 1976 dasm_put(Dst, 10377);
1967 } 1977 }
1968 dasm_put(Dst, 10361); 1978 dasm_put(Dst, 10381);
1969 if (sse) { 1979 if (sse) {
1970 dasm_put(Dst, 10372); 1980 dasm_put(Dst, 10392);
1971 } else { 1981 } else {
1972 dasm_put(Dst, 10384); 1982 dasm_put(Dst, 10404);
1973 } 1983 }
1974 dasm_put(Dst, 10391); 1984 dasm_put(Dst, 10411);
1975 } else { 1985 } else {
1976 dasm_put(Dst, 10396, LJ_TISNUM, LJ_TISNUM); 1986 dasm_put(Dst, 10416, LJ_TISNUM, LJ_TISNUM);
1977 } 1987 }
1978 if (sse) { 1988 if (sse) {
1979 dasm_put(Dst, 10415); 1989 dasm_put(Dst, 10435);
1980 } else { 1990 } else {
1981 dasm_put(Dst, 10433); 1991 dasm_put(Dst, 10453);
1982 if (cmov) { 1992 if (cmov) {
1983 dasm_put(Dst, 10190); 1993 dasm_put(Dst, 10210);
1984 } else { 1994 } else {
1985 dasm_put(Dst, 10196); 1995 dasm_put(Dst, 10216);
1986 } 1996 }
1987 } 1997 }
1988 iseqne_fp: 1998 iseqne_fp:
1989 if (vk) { 1999 if (vk) {
1990 dasm_put(Dst, 10446); 2000 dasm_put(Dst, 10466);
1991 } else { 2001 } else {
1992 dasm_put(Dst, 10455); 2002 dasm_put(Dst, 10475);
1993 } 2003 }
1994 iseqne_end: 2004 iseqne_end:
1995 if (vk) { 2005 if (vk) {
1996 dasm_put(Dst, 10464, -BCBIAS_J*4); 2006 dasm_put(Dst, 10484, -BCBIAS_J*4);
1997 if (!LJ_HASFFI) { 2007 if (!LJ_HASFFI) {
1998 dasm_put(Dst, 4609); 2008 dasm_put(Dst, 4629);
1999 } 2009 }
2000 } else { 2010 } else {
2001 if (!LJ_HASFFI) { 2011 if (!LJ_HASFFI) {
2002 dasm_put(Dst, 4609); 2012 dasm_put(Dst, 4629);
2003 } 2013 }
2004 dasm_put(Dst, 10479, -BCBIAS_J*4); 2014 dasm_put(Dst, 10499, -BCBIAS_J*4);
2005 } 2015 }
2006 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2016 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2007 op == BC_ISEQN || op == BC_ISNEN)) { 2017 op == BC_ISEQN || op == BC_ISNEN)) {
2008 dasm_put(Dst, 10494); 2018 dasm_put(Dst, 10514);
2009 } else { 2019 } else {
2010 dasm_put(Dst, 10235); 2020 dasm_put(Dst, 10255);
2011 } 2021 }
2012 if (op == BC_ISEQV || op == BC_ISNEV) { 2022 if (op == BC_ISEQV || op == BC_ISNEV) {
2013 dasm_put(Dst, 9917); 2023 dasm_put(Dst, 9937);
2014 if (LJ_HASFFI) { 2024 if (LJ_HASFFI) {
2015 dasm_put(Dst, 10499, LJ_TCDATA, LJ_TCDATA); 2025 dasm_put(Dst, 10519, LJ_TCDATA, LJ_TCDATA);
2016 } 2026 }
2017 dasm_put(Dst, 10518, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2027 dasm_put(Dst, 10538, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2018 if (vk) { 2028 if (vk) {
2019 dasm_put(Dst, 10574); 2029 dasm_put(Dst, 10594);
2020 } else { 2030 } else {
2021 dasm_put(Dst, 10578); 2031 dasm_put(Dst, 10598);
2022 } 2032 }
2023 dasm_put(Dst, 10584); 2033 dasm_put(Dst, 10604);
2024 } else if (LJ_HASFFI) { 2034 } else if (LJ_HASFFI) {
2025 dasm_put(Dst, 10589, LJ_TCDATA); 2035 dasm_put(Dst, 10609, LJ_TCDATA);
2026 if (LJ_DUALNUM && vk) { 2036 if (LJ_DUALNUM && vk) {
2027 dasm_put(Dst, 10596); 2037 dasm_put(Dst, 10616);
2028 } else { 2038 } else {
2029 dasm_put(Dst, 10569); 2039 dasm_put(Dst, 10589);
2030 } 2040 }
2031 dasm_put(Dst, 10601); 2041 dasm_put(Dst, 10621);
2032 } 2042 }
2033 break; 2043 break;
2034 case BC_ISEQS: case BC_ISNES: 2044 case BC_ISEQS: case BC_ISNES:
2035 vk = op == BC_ISEQS; 2045 vk = op == BC_ISEQS;
2036 dasm_put(Dst, 10606, LJ_TSTR); 2046 dasm_put(Dst, 10626, LJ_TSTR);
2037 iseqne_test: 2047 iseqne_test:
2038 if (vk) { 2048 if (vk) {
2039 dasm_put(Dst, 10450); 2049 dasm_put(Dst, 10470);
2040 } else { 2050 } else {
2041 dasm_put(Dst, 765); 2051 dasm_put(Dst, 765);
2042 } 2052 }
2043 goto iseqne_end; 2053 goto iseqne_end;
2044 case BC_ISEQN: case BC_ISNEN: 2054 case BC_ISEQN: case BC_ISNEN:
2045 vk = op == BC_ISEQN; 2055 vk = op == BC_ISEQN;
2046 dasm_put(Dst, 10632); 2056 dasm_put(Dst, 10652);
2047 if (LJ_DUALNUM) { 2057 if (LJ_DUALNUM) {
2048 dasm_put(Dst, 10640, LJ_TISNUM, LJ_TISNUM); 2058 dasm_put(Dst, 10660, LJ_TISNUM, LJ_TISNUM);
2049 if (vk) { 2059 if (vk) {
2050 dasm_put(Dst, 10288); 2060 dasm_put(Dst, 10308);
2051 } else { 2061 } else {
2052 dasm_put(Dst, 10293); 2062 dasm_put(Dst, 10313);
2053 } 2063 }
2054 dasm_put(Dst, 10665, -BCBIAS_J*4, LJ_TISNUM); 2064 dasm_put(Dst, 10685, -BCBIAS_J*4, LJ_TISNUM);
2055 if (sse) { 2065 if (sse) {
2056 dasm_put(Dst, 10713); 2066 dasm_put(Dst, 10733);
2057 } else { 2067 } else {
2058 dasm_put(Dst, 10720); 2068 dasm_put(Dst, 10740);
2059 } 2069 }
2060 dasm_put(Dst, 10724); 2070 dasm_put(Dst, 10744);
2061 if (sse) { 2071 if (sse) {
2062 dasm_put(Dst, 10731); 2072 dasm_put(Dst, 10751);
2063 } else { 2073 } else {
2064 dasm_put(Dst, 10743); 2074 dasm_put(Dst, 10763);
2065 } 2075 }
2066 dasm_put(Dst, 10391); 2076 dasm_put(Dst, 10411);
2067 } else { 2077 } else {
2068 dasm_put(Dst, 10750, LJ_TISNUM); 2078 dasm_put(Dst, 10770, LJ_TISNUM);
2069 } 2079 }
2070 if (sse) { 2080 if (sse) {
2071 dasm_put(Dst, 10759); 2081 dasm_put(Dst, 10779);
2072 } else { 2082 } else {
2073 dasm_put(Dst, 10777); 2083 dasm_put(Dst, 10797);
2074 if (cmov) { 2084 if (cmov) {
2075 dasm_put(Dst, 10190); 2085 dasm_put(Dst, 10210);
2076 } else { 2086 } else {
2077 dasm_put(Dst, 10196); 2087 dasm_put(Dst, 10216);
2078 } 2088 }
2079 } 2089 }
2080 goto iseqne_fp; 2090 goto iseqne_fp;
2081 case BC_ISEQP: case BC_ISNEP: 2091 case BC_ISEQP: case BC_ISNEP:
2082 vk = op == BC_ISEQP; 2092 vk = op == BC_ISEQP;
2083 dasm_put(Dst, 10790); 2093 dasm_put(Dst, 10810);
2084 if (!LJ_HASFFI) goto iseqne_test; 2094 if (!LJ_HASFFI) goto iseqne_test;
2085 if (vk) { 2095 if (vk) {
2086 dasm_put(Dst, 10804, -BCBIAS_J*4, LJ_TCDATA); 2096 dasm_put(Dst, 10824, -BCBIAS_J*4, LJ_TCDATA);
2087 } else { 2097 } else {
2088 dasm_put(Dst, 10854, LJ_TCDATA, -BCBIAS_J*4); 2098 dasm_put(Dst, 10874, LJ_TCDATA, -BCBIAS_J*4);
2089 } 2099 }
2090 break; 2100 break;
2091 2101
2092 /* -- Unary test and copy ops ------------------------------------------- */ 2102 /* -- Unary test and copy ops ------------------------------------------- */
2093 2103
2094 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2104 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2095 dasm_put(Dst, 10898, LJ_TISTRUECOND); 2105 dasm_put(Dst, 10918, LJ_TISTRUECOND);
2096 if (op == BC_IST || op == BC_ISTC) { 2106 if (op == BC_IST || op == BC_ISTC) {
2097 dasm_put(Dst, 10218); 2107 dasm_put(Dst, 10238);
2098 } else { 2108 } else {
2099 dasm_put(Dst, 10213); 2109 dasm_put(Dst, 10233);
2100 } 2110 }
2101 if (op == BC_ISTC || op == BC_ISFC) { 2111 if (op == BC_ISTC || op == BC_ISFC) {
2102 dasm_put(Dst, 10910); 2112 dasm_put(Dst, 10930);
2103 } 2113 }
2104 dasm_put(Dst, 10223, -BCBIAS_J*4); 2114 dasm_put(Dst, 10243, -BCBIAS_J*4);
2105 break; 2115 break;
2106 2116
2107 /* -- Unary ops --------------------------------------------------------- */ 2117 /* -- Unary ops --------------------------------------------------------- */
2108 2118
2109 case BC_MOV: 2119 case BC_MOV:
2110 dasm_put(Dst, 10921); 2120 dasm_put(Dst, 10941);
2111 break; 2121 break;
2112 case BC_NOT: 2122 case BC_NOT:
2113 dasm_put(Dst, 10949, LJ_TISTRUECOND, LJ_TTRUE); 2123 dasm_put(Dst, 10969, LJ_TISTRUECOND, LJ_TTRUE);
2114 break; 2124 break;
2115 case BC_UNM: 2125 case BC_UNM:
2116 if (LJ_DUALNUM) { 2126 if (LJ_DUALNUM) {
2117 dasm_put(Dst, 10985, LJ_TISNUM, LJ_TISNUM); 2127 dasm_put(Dst, 11005, LJ_TISNUM, LJ_TISNUM);
2118 } else { 2128 } else {
2119 dasm_put(Dst, 11062, LJ_TISNUM); 2129 dasm_put(Dst, 11082, LJ_TISNUM);
2120 } 2130 }
2121 if (sse) { 2131 if (sse) {
2122 dasm_put(Dst, 11073, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2132 dasm_put(Dst, 11093, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2123 } else { 2133 } else {
2124 dasm_put(Dst, 11098); 2134 dasm_put(Dst, 11118);
2125 } 2135 }
2126 if (LJ_DUALNUM) { 2136 if (LJ_DUALNUM) {
2127 dasm_put(Dst, 10494); 2137 dasm_put(Dst, 10514);
2128 } else { 2138 } else {
2129 dasm_put(Dst, 10235); 2139 dasm_put(Dst, 10255);
2130 } 2140 }
2131 break; 2141 break;
2132 case BC_LEN: 2142 case BC_LEN:
2133 dasm_put(Dst, 11107, LJ_TSTR); 2143 dasm_put(Dst, 11127, LJ_TSTR);
2134 if (LJ_DUALNUM) { 2144 if (LJ_DUALNUM) {
2135 dasm_put(Dst, 11121, Dt5(->len), LJ_TISNUM); 2145 dasm_put(Dst, 11141, Dt5(->len), LJ_TISNUM);
2136 } else if (sse) { 2146 } else if (sse) {
2137 dasm_put(Dst, 11135, Dt5(->len)); 2147 dasm_put(Dst, 11155, Dt5(->len));
2138 } else { 2148 } else {
2139 dasm_put(Dst, 11153, Dt5(->len)); 2149 dasm_put(Dst, 11173, Dt5(->len));
2140 } 2150 }
2141 dasm_put(Dst, 11162, LJ_TTAB); 2151 dasm_put(Dst, 11182, LJ_TTAB);
2152#ifdef LUAJIT_ENABLE_LUA52COMPAT
2153 dasm_put(Dst, 11217, Dt6(->metatable));
2154#endif
2155 dasm_put(Dst, 11231);
2142 if (LJ_DUALNUM) { 2156 if (LJ_DUALNUM) {
2143 } else if (sse) { 2157 } else if (sse) {
2144 dasm_put(Dst, 11203); 2158 dasm_put(Dst, 11240);
2145 } else { 2159 } else {
2146 } 2160 }
2147 dasm_put(Dst, 11209); 2161 dasm_put(Dst, 11246);
2162#ifdef LUAJIT_ENABLE_LUA52COMPAT
2163 dasm_put(Dst, 11259, Dt6(->nomm), 1<<MM_len);
2164#endif
2148 break; 2165 break;
2149 2166
2150 /* -- Binary ops -------------------------------------------------------- */ 2167 /* -- Binary ops -------------------------------------------------------- */
@@ -2152,605 +2169,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2152 2169
2153 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2170 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2154 if (LJ_DUALNUM) { 2171 if (LJ_DUALNUM) {
2155 dasm_put(Dst, 11222); 2172 dasm_put(Dst, 11275);
2156 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2173 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2157 switch (vk) { 2174 switch (vk) {
2158 case 0: 2175 case 0:
2159 dasm_put(Dst, 11230, LJ_TISNUM, LJ_TISNUM); 2176 dasm_put(Dst, 11283, LJ_TISNUM, LJ_TISNUM);
2160 break; 2177 break;
2161 case 1: 2178 case 1:
2162 dasm_put(Dst, 11263, LJ_TISNUM, LJ_TISNUM); 2179 dasm_put(Dst, 11316, LJ_TISNUM, LJ_TISNUM);
2163 break; 2180 break;
2164 default: 2181 default:
2165 dasm_put(Dst, 11296, LJ_TISNUM, LJ_TISNUM); 2182 dasm_put(Dst, 11349, LJ_TISNUM, LJ_TISNUM);
2166 break; 2183 break;
2167 } 2184 }
2168 dasm_put(Dst, 11329, LJ_TISNUM); 2185 dasm_put(Dst, 11382, LJ_TISNUM);
2169 if (vk == 1) { 2186 if (vk == 1) {
2170 dasm_put(Dst, 11131); 2187 dasm_put(Dst, 11151);
2171 } else { 2188 } else {
2172 dasm_put(Dst, 10917); 2189 dasm_put(Dst, 10937);
2173 } 2190 }
2174 dasm_put(Dst, 10235); 2191 dasm_put(Dst, 10255);
2175 } else { 2192 } else {
2176 dasm_put(Dst, 11222); 2193 dasm_put(Dst, 11275);
2177 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2194 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2178 switch (vk) { 2195 switch (vk) {
2179 case 0: 2196 case 0:
2180 dasm_put(Dst, 11335, LJ_TISNUM); 2197 dasm_put(Dst, 11388, LJ_TISNUM);
2181 if (LJ_DUALNUM) { 2198 if (LJ_DUALNUM) {
2182 dasm_put(Dst, 11347, LJ_TISNUM); 2199 dasm_put(Dst, 11400, LJ_TISNUM);
2183 } 2200 }
2184 if (sse) { 2201 if (sse) {
2185 dasm_put(Dst, 11358); 2202 dasm_put(Dst, 11411);
2186 } else { 2203 } else {
2187 dasm_put(Dst, 11372); 2204 dasm_put(Dst, 11425);
2188 } 2205 }
2189 break; 2206 break;
2190 case 1: 2207 case 1:
2191 dasm_put(Dst, 11380, LJ_TISNUM); 2208 dasm_put(Dst, 11433, LJ_TISNUM);
2192 if (LJ_DUALNUM) { 2209 if (LJ_DUALNUM) {
2193 dasm_put(Dst, 11392, LJ_TISNUM); 2210 dasm_put(Dst, 11445, LJ_TISNUM);
2194 } 2211 }
2195 if (sse) { 2212 if (sse) {
2196 dasm_put(Dst, 11403); 2213 dasm_put(Dst, 11456);
2197 } else { 2214 } else {
2198 dasm_put(Dst, 11417); 2215 dasm_put(Dst, 11470);
2199 } 2216 }
2200 break; 2217 break;
2201 default: 2218 default:
2202 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2219 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2203 if (sse) { 2220 if (sse) {
2204 dasm_put(Dst, 11447); 2221 dasm_put(Dst, 11500);
2205 } else { 2222 } else {
2206 dasm_put(Dst, 11461); 2223 dasm_put(Dst, 11514);
2207 } 2224 }
2208 break; 2225 break;
2209 } 2226 }
2210 if (sse) { 2227 if (sse) {
2211 dasm_put(Dst, 11091); 2228 dasm_put(Dst, 11111);
2212 } else { 2229 } else {
2213 dasm_put(Dst, 11103); 2230 dasm_put(Dst, 11123);
2214 } 2231 }
2215 dasm_put(Dst, 10235); 2232 dasm_put(Dst, 10255);
2216 } 2233 }
2217 break; 2234 break;
2218 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2235 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2219 if (LJ_DUALNUM) { 2236 if (LJ_DUALNUM) {
2220 dasm_put(Dst, 11222); 2237 dasm_put(Dst, 11275);
2221 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2238 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2222 switch (vk) { 2239 switch (vk) {
2223 case 0: 2240 case 0:
2224 dasm_put(Dst, 11469, LJ_TISNUM, LJ_TISNUM); 2241 dasm_put(Dst, 11522, LJ_TISNUM, LJ_TISNUM);
2225 break; 2242 break;
2226 case 1: 2243 case 1:
2227 dasm_put(Dst, 11502, LJ_TISNUM, LJ_TISNUM); 2244 dasm_put(Dst, 11555, LJ_TISNUM, LJ_TISNUM);
2228 break; 2245 break;
2229 default: 2246 default:
2230 dasm_put(Dst, 11535, LJ_TISNUM, LJ_TISNUM); 2247 dasm_put(Dst, 11588, LJ_TISNUM, LJ_TISNUM);
2231 break; 2248 break;
2232 } 2249 }
2233 dasm_put(Dst, 11329, LJ_TISNUM); 2250 dasm_put(Dst, 11382, LJ_TISNUM);
2234 if (vk == 1) { 2251 if (vk == 1) {
2235 dasm_put(Dst, 11131); 2252 dasm_put(Dst, 11151);
2236 } else { 2253 } else {
2237 dasm_put(Dst, 10917); 2254 dasm_put(Dst, 10937);
2238 } 2255 }
2239 dasm_put(Dst, 10235); 2256 dasm_put(Dst, 10255);
2240 } else { 2257 } else {
2241 dasm_put(Dst, 11222); 2258 dasm_put(Dst, 11275);
2242 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2259 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2243 switch (vk) { 2260 switch (vk) {
2244 case 0: 2261 case 0:
2245 dasm_put(Dst, 11335, LJ_TISNUM); 2262 dasm_put(Dst, 11388, LJ_TISNUM);
2246 if (LJ_DUALNUM) { 2263 if (LJ_DUALNUM) {
2247 dasm_put(Dst, 11347, LJ_TISNUM); 2264 dasm_put(Dst, 11400, LJ_TISNUM);
2248 } 2265 }
2249 if (sse) { 2266 if (sse) {
2250 dasm_put(Dst, 11568); 2267 dasm_put(Dst, 11621);
2251 } else { 2268 } else {
2252 dasm_put(Dst, 11582); 2269 dasm_put(Dst, 11635);
2253 } 2270 }
2254 break; 2271 break;
2255 case 1: 2272 case 1:
2256 dasm_put(Dst, 11380, LJ_TISNUM); 2273 dasm_put(Dst, 11433, LJ_TISNUM);
2257 if (LJ_DUALNUM) { 2274 if (LJ_DUALNUM) {
2258 dasm_put(Dst, 11392, LJ_TISNUM); 2275 dasm_put(Dst, 11445, LJ_TISNUM);
2259 } 2276 }
2260 if (sse) { 2277 if (sse) {
2261 dasm_put(Dst, 11590); 2278 dasm_put(Dst, 11643);
2262 } else { 2279 } else {
2263 dasm_put(Dst, 11604); 2280 dasm_put(Dst, 11657);
2264 } 2281 }
2265 break; 2282 break;
2266 default: 2283 default:
2267 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2284 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2268 if (sse) { 2285 if (sse) {
2269 dasm_put(Dst, 11612); 2286 dasm_put(Dst, 11665);
2270 } else { 2287 } else {
2271 dasm_put(Dst, 11626); 2288 dasm_put(Dst, 11679);
2272 } 2289 }
2273 break; 2290 break;
2274 } 2291 }
2275 if (sse) { 2292 if (sse) {
2276 dasm_put(Dst, 11091); 2293 dasm_put(Dst, 11111);
2277 } else { 2294 } else {
2278 dasm_put(Dst, 11103); 2295 dasm_put(Dst, 11123);
2279 } 2296 }
2280 dasm_put(Dst, 10235); 2297 dasm_put(Dst, 10255);
2281 } 2298 }
2282 break; 2299 break;
2283 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2300 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2284 if (LJ_DUALNUM) { 2301 if (LJ_DUALNUM) {
2285 dasm_put(Dst, 11222); 2302 dasm_put(Dst, 11275);
2286 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2303 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2287 switch (vk) { 2304 switch (vk) {
2288 case 0: 2305 case 0:
2289 dasm_put(Dst, 11634, LJ_TISNUM, LJ_TISNUM); 2306 dasm_put(Dst, 11687, LJ_TISNUM, LJ_TISNUM);
2290 break; 2307 break;
2291 case 1: 2308 case 1:
2292 dasm_put(Dst, 11668, LJ_TISNUM, LJ_TISNUM); 2309 dasm_put(Dst, 11721, LJ_TISNUM, LJ_TISNUM);
2293 break; 2310 break;
2294 default: 2311 default:
2295 dasm_put(Dst, 11702, LJ_TISNUM, LJ_TISNUM); 2312 dasm_put(Dst, 11755, LJ_TISNUM, LJ_TISNUM);
2296 break; 2313 break;
2297 } 2314 }
2298 dasm_put(Dst, 11329, LJ_TISNUM); 2315 dasm_put(Dst, 11382, LJ_TISNUM);
2299 if (vk == 1) { 2316 if (vk == 1) {
2300 dasm_put(Dst, 11131); 2317 dasm_put(Dst, 11151);
2301 } else { 2318 } else {
2302 dasm_put(Dst, 10917); 2319 dasm_put(Dst, 10937);
2303 } 2320 }
2304 dasm_put(Dst, 10235); 2321 dasm_put(Dst, 10255);
2305 } else { 2322 } else {
2306 dasm_put(Dst, 11222); 2323 dasm_put(Dst, 11275);
2307 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2324 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2308 switch (vk) { 2325 switch (vk) {
2309 case 0: 2326 case 0:
2310 dasm_put(Dst, 11335, LJ_TISNUM); 2327 dasm_put(Dst, 11388, LJ_TISNUM);
2311 if (LJ_DUALNUM) { 2328 if (LJ_DUALNUM) {
2312 dasm_put(Dst, 11347, LJ_TISNUM); 2329 dasm_put(Dst, 11400, LJ_TISNUM);
2313 } 2330 }
2314 if (sse) { 2331 if (sse) {
2315 dasm_put(Dst, 11736); 2332 dasm_put(Dst, 11789);
2316 } else { 2333 } else {
2317 dasm_put(Dst, 11750); 2334 dasm_put(Dst, 11803);
2318 } 2335 }
2319 break; 2336 break;
2320 case 1: 2337 case 1:
2321 dasm_put(Dst, 11380, LJ_TISNUM); 2338 dasm_put(Dst, 11433, LJ_TISNUM);
2322 if (LJ_DUALNUM) { 2339 if (LJ_DUALNUM) {
2323 dasm_put(Dst, 11392, LJ_TISNUM); 2340 dasm_put(Dst, 11445, LJ_TISNUM);
2324 } 2341 }
2325 if (sse) { 2342 if (sse) {
2326 dasm_put(Dst, 11758); 2343 dasm_put(Dst, 11811);
2327 } else { 2344 } else {
2328 dasm_put(Dst, 11772); 2345 dasm_put(Dst, 11825);
2329 } 2346 }
2330 break; 2347 break;
2331 default: 2348 default:
2332 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2349 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2333 if (sse) { 2350 if (sse) {
2334 dasm_put(Dst, 11780); 2351 dasm_put(Dst, 11833);
2335 } else { 2352 } else {
2336 dasm_put(Dst, 11794); 2353 dasm_put(Dst, 11847);
2337 } 2354 }
2338 break; 2355 break;
2339 } 2356 }
2340 if (sse) { 2357 if (sse) {
2341 dasm_put(Dst, 11091); 2358 dasm_put(Dst, 11111);
2342 } else { 2359 } else {
2343 dasm_put(Dst, 11103); 2360 dasm_put(Dst, 11123);
2344 } 2361 }
2345 dasm_put(Dst, 10235); 2362 dasm_put(Dst, 10255);
2346 } 2363 }
2347 break; 2364 break;
2348 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2365 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2349 dasm_put(Dst, 11222); 2366 dasm_put(Dst, 11275);
2350 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2367 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2351 switch (vk) { 2368 switch (vk) {
2352 case 0: 2369 case 0:
2353 dasm_put(Dst, 11335, LJ_TISNUM); 2370 dasm_put(Dst, 11388, LJ_TISNUM);
2354 if (LJ_DUALNUM) { 2371 if (LJ_DUALNUM) {
2355 dasm_put(Dst, 11347, LJ_TISNUM); 2372 dasm_put(Dst, 11400, LJ_TISNUM);
2356 } 2373 }
2357 if (sse) { 2374 if (sse) {
2358 dasm_put(Dst, 11802); 2375 dasm_put(Dst, 11855);
2359 } else { 2376 } else {
2360 dasm_put(Dst, 11816); 2377 dasm_put(Dst, 11869);
2361 } 2378 }
2362 break; 2379 break;
2363 case 1: 2380 case 1:
2364 dasm_put(Dst, 11380, LJ_TISNUM); 2381 dasm_put(Dst, 11433, LJ_TISNUM);
2365 if (LJ_DUALNUM) { 2382 if (LJ_DUALNUM) {
2366 dasm_put(Dst, 11392, LJ_TISNUM); 2383 dasm_put(Dst, 11445, LJ_TISNUM);
2367 } 2384 }
2368 if (sse) { 2385 if (sse) {
2369 dasm_put(Dst, 11824); 2386 dasm_put(Dst, 11877);
2370 } else { 2387 } else {
2371 dasm_put(Dst, 11838); 2388 dasm_put(Dst, 11891);
2372 } 2389 }
2373 break; 2390 break;
2374 default: 2391 default:
2375 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2392 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2376 if (sse) { 2393 if (sse) {
2377 dasm_put(Dst, 11846); 2394 dasm_put(Dst, 11899);
2378 } else { 2395 } else {
2379 dasm_put(Dst, 11860); 2396 dasm_put(Dst, 11913);
2380 } 2397 }
2381 break; 2398 break;
2382 } 2399 }
2383 if (sse) { 2400 if (sse) {
2384 dasm_put(Dst, 11091); 2401 dasm_put(Dst, 11111);
2385 } else { 2402 } else {
2386 dasm_put(Dst, 11103); 2403 dasm_put(Dst, 11123);
2387 } 2404 }
2388 dasm_put(Dst, 10235); 2405 dasm_put(Dst, 10255);
2389 break; 2406 break;
2390 case BC_MODVN: 2407 case BC_MODVN:
2391 dasm_put(Dst, 11222); 2408 dasm_put(Dst, 11275);
2392 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2409 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2393 switch (vk) { 2410 switch (vk) {
2394 case 0: 2411 case 0:
2395 dasm_put(Dst, 11335, LJ_TISNUM); 2412 dasm_put(Dst, 11388, LJ_TISNUM);
2396 if (LJ_DUALNUM) { 2413 if (LJ_DUALNUM) {
2397 dasm_put(Dst, 11347, LJ_TISNUM); 2414 dasm_put(Dst, 11400, LJ_TISNUM);
2398 } 2415 }
2399 if (sse) { 2416 if (sse) {
2400 dasm_put(Dst, 11868); 2417 dasm_put(Dst, 11921);
2401 } else { 2418 } else {
2402 dasm_put(Dst, 11882); 2419 dasm_put(Dst, 11935);
2403 } 2420 }
2404 break; 2421 break;
2405 case 1: 2422 case 1:
2406 dasm_put(Dst, 11380, LJ_TISNUM); 2423 dasm_put(Dst, 11433, LJ_TISNUM);
2407 if (LJ_DUALNUM) { 2424 if (LJ_DUALNUM) {
2408 dasm_put(Dst, 11392, LJ_TISNUM); 2425 dasm_put(Dst, 11445, LJ_TISNUM);
2409 } 2426 }
2410 if (sse) { 2427 if (sse) {
2411 dasm_put(Dst, 11890); 2428 dasm_put(Dst, 11943);
2412 } else { 2429 } else {
2413 dasm_put(Dst, 11904); 2430 dasm_put(Dst, 11957);
2414 } 2431 }
2415 break; 2432 break;
2416 default: 2433 default:
2417 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2434 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2418 if (sse) { 2435 if (sse) {
2419 dasm_put(Dst, 11912); 2436 dasm_put(Dst, 11965);
2420 } else { 2437 } else {
2421 dasm_put(Dst, 11926); 2438 dasm_put(Dst, 11979);
2422 } 2439 }
2423 break; 2440 break;
2424 } 2441 }
2425 dasm_put(Dst, 11934); 2442 dasm_put(Dst, 11987);
2426 if (sse) { 2443 if (sse) {
2427 dasm_put(Dst, 11091); 2444 dasm_put(Dst, 11111);
2428 } else { 2445 } else {
2429 dasm_put(Dst, 11103); 2446 dasm_put(Dst, 11123);
2430 } 2447 }
2431 dasm_put(Dst, 10235); 2448 dasm_put(Dst, 10255);
2432 break; 2449 break;
2433 case BC_MODNV: case BC_MODVV: 2450 case BC_MODNV: case BC_MODVV:
2434 dasm_put(Dst, 11222); 2451 dasm_put(Dst, 11275);
2435 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2452 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2436 switch (vk) { 2453 switch (vk) {
2437 case 0: 2454 case 0:
2438 dasm_put(Dst, 11335, LJ_TISNUM); 2455 dasm_put(Dst, 11388, LJ_TISNUM);
2439 if (LJ_DUALNUM) { 2456 if (LJ_DUALNUM) {
2440 dasm_put(Dst, 11347, LJ_TISNUM); 2457 dasm_put(Dst, 11400, LJ_TISNUM);
2441 } 2458 }
2442 if (sse) { 2459 if (sse) {
2443 dasm_put(Dst, 11868); 2460 dasm_put(Dst, 11921);
2444 } else { 2461 } else {
2445 dasm_put(Dst, 11882); 2462 dasm_put(Dst, 11935);
2446 } 2463 }
2447 break; 2464 break;
2448 case 1: 2465 case 1:
2449 dasm_put(Dst, 11380, LJ_TISNUM); 2466 dasm_put(Dst, 11433, LJ_TISNUM);
2450 if (LJ_DUALNUM) { 2467 if (LJ_DUALNUM) {
2451 dasm_put(Dst, 11392, LJ_TISNUM); 2468 dasm_put(Dst, 11445, LJ_TISNUM);
2452 } 2469 }
2453 if (sse) { 2470 if (sse) {
2454 dasm_put(Dst, 11890); 2471 dasm_put(Dst, 11943);
2455 } else { 2472 } else {
2456 dasm_put(Dst, 11904); 2473 dasm_put(Dst, 11957);
2457 } 2474 }
2458 break; 2475 break;
2459 default: 2476 default:
2460 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2477 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2461 if (sse) { 2478 if (sse) {
2462 dasm_put(Dst, 11912); 2479 dasm_put(Dst, 11965);
2463 } else { 2480 } else {
2464 dasm_put(Dst, 11926); 2481 dasm_put(Dst, 11979);
2465 } 2482 }
2466 break; 2483 break;
2467 } 2484 }
2468 dasm_put(Dst, 11940); 2485 dasm_put(Dst, 11993);
2469 break; 2486 break;
2470 case BC_POW: 2487 case BC_POW:
2471 dasm_put(Dst, 11222); 2488 dasm_put(Dst, 11275);
2472 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2489 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2473 switch (vk) { 2490 switch (vk) {
2474 case 0: 2491 case 0:
2475 dasm_put(Dst, 11335, LJ_TISNUM); 2492 dasm_put(Dst, 11388, LJ_TISNUM);
2476 if (LJ_DUALNUM) { 2493 if (LJ_DUALNUM) {
2477 dasm_put(Dst, 11347, LJ_TISNUM); 2494 dasm_put(Dst, 11400, LJ_TISNUM);
2478 } 2495 }
2479 if (sse) { 2496 if (sse) {
2480 dasm_put(Dst, 11868); 2497 dasm_put(Dst, 11921);
2481 } else { 2498 } else {
2482 dasm_put(Dst, 11882); 2499 dasm_put(Dst, 11935);
2483 } 2500 }
2484 break; 2501 break;
2485 case 1: 2502 case 1:
2486 dasm_put(Dst, 11380, LJ_TISNUM); 2503 dasm_put(Dst, 11433, LJ_TISNUM);
2487 if (LJ_DUALNUM) { 2504 if (LJ_DUALNUM) {
2488 dasm_put(Dst, 11392, LJ_TISNUM); 2505 dasm_put(Dst, 11445, LJ_TISNUM);
2489 } 2506 }
2490 if (sse) { 2507 if (sse) {
2491 dasm_put(Dst, 11890); 2508 dasm_put(Dst, 11943);
2492 } else { 2509 } else {
2493 dasm_put(Dst, 11904); 2510 dasm_put(Dst, 11957);
2494 } 2511 }
2495 break; 2512 break;
2496 default: 2513 default:
2497 dasm_put(Dst, 11425, LJ_TISNUM, LJ_TISNUM); 2514 dasm_put(Dst, 11478, LJ_TISNUM, LJ_TISNUM);
2498 if (sse) { 2515 if (sse) {
2499 dasm_put(Dst, 11912); 2516 dasm_put(Dst, 11965);
2500 } else { 2517 } else {
2501 dasm_put(Dst, 11926); 2518 dasm_put(Dst, 11979);
2502 } 2519 }
2503 break; 2520 break;
2504 } 2521 }
2505 dasm_put(Dst, 11945); 2522 dasm_put(Dst, 11998);
2506 if (sse) { 2523 if (sse) {
2507 dasm_put(Dst, 11091); 2524 dasm_put(Dst, 11111);
2508 } else { 2525 } else {
2509 dasm_put(Dst, 11103); 2526 dasm_put(Dst, 11123);
2510 } 2527 }
2511 dasm_put(Dst, 10235); 2528 dasm_put(Dst, 10255);
2512 break; 2529 break;
2513 2530
2514 case BC_CAT: 2531 case BC_CAT:
2515 dasm_put(Dst, 11949, Dt1(->base), Dt1(->base)); 2532 dasm_put(Dst, 12002, Dt1(->base), Dt1(->base));
2516 break; 2533 break;
2517 2534
2518 /* -- Constant ops ------------------------------------------------------ */ 2535 /* -- Constant ops ------------------------------------------------------ */
2519 2536
2520 case BC_KSTR: 2537 case BC_KSTR:
2521 dasm_put(Dst, 12032, LJ_TSTR); 2538 dasm_put(Dst, 12085, LJ_TSTR);
2522 break; 2539 break;
2523 case BC_KCDATA: 2540 case BC_KCDATA:
2524#if LJ_HASFFI 2541#if LJ_HASFFI
2525 dasm_put(Dst, 12032, LJ_TCDATA); 2542 dasm_put(Dst, 12085, LJ_TCDATA);
2526#endif 2543#endif
2527 break; 2544 break;
2528 case BC_KSHORT: 2545 case BC_KSHORT:
2529 if (LJ_DUALNUM) { 2546 if (LJ_DUALNUM) {
2530 dasm_put(Dst, 12067, LJ_TISNUM); 2547 dasm_put(Dst, 12120, LJ_TISNUM);
2531 } else if (sse) { 2548 } else if (sse) {
2532 dasm_put(Dst, 12079); 2549 dasm_put(Dst, 12132);
2533 } else { 2550 } else {
2534 dasm_put(Dst, 12094); 2551 dasm_put(Dst, 12147);
2535 } 2552 }
2536 dasm_put(Dst, 10235); 2553 dasm_put(Dst, 10255);
2537 break; 2554 break;
2538 case BC_KNUM: 2555 case BC_KNUM:
2539 if (sse) { 2556 if (sse) {
2540 dasm_put(Dst, 12102); 2557 dasm_put(Dst, 12155);
2541 } else { 2558 } else {
2542 dasm_put(Dst, 12115); 2559 dasm_put(Dst, 12168);
2543 } 2560 }
2544 dasm_put(Dst, 10235); 2561 dasm_put(Dst, 10255);
2545 break; 2562 break;
2546 case BC_KPRI: 2563 case BC_KPRI:
2547 dasm_put(Dst, 12122); 2564 dasm_put(Dst, 12175);
2548 break; 2565 break;
2549 case BC_KNIL: 2566 case BC_KNIL:
2550 dasm_put(Dst, 12150, LJ_TNIL); 2567 dasm_put(Dst, 12203, LJ_TNIL);
2551 break; 2568 break;
2552 2569
2553 /* -- Upvalue and function ops ------------------------------------------ */ 2570 /* -- Upvalue and function ops ------------------------------------------ */
2554 2571
2555 case BC_UGET: 2572 case BC_UGET:
2556 dasm_put(Dst, 12197, offsetof(GCfuncL, uvptr), DtA(->v)); 2573 dasm_put(Dst, 12250, offsetof(GCfuncL, uvptr), DtA(->v));
2557 break; 2574 break;
2558 case BC_USETV: 2575 case BC_USETV:
2559#define TV2MARKOFS \ 2576#define TV2MARKOFS \
2560 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2577 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2561 dasm_put(Dst, 12237, 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); 2578 dasm_put(Dst, 12290, 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);
2562 dasm_put(Dst, 12328); 2579 dasm_put(Dst, 12381);
2563 break; 2580 break;
2564#undef TV2MARKOFS 2581#undef TV2MARKOFS
2565 case BC_USETS: 2582 case BC_USETS:
2566 dasm_put(Dst, 12340, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2583 dasm_put(Dst, 12393, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2567 break; 2584 break;
2568 case BC_USETN: 2585 case BC_USETN:
2569 dasm_put(Dst, 12433); 2586 dasm_put(Dst, 12486);
2570 if (sse) { 2587 if (sse) {
2571 dasm_put(Dst, 12438); 2588 dasm_put(Dst, 12491);
2572 } else { 2589 } else {
2573 dasm_put(Dst, 10746); 2590 dasm_put(Dst, 10766);
2574 } 2591 }
2575 dasm_put(Dst, 12445, offsetof(GCfuncL, uvptr), DtA(->v)); 2592 dasm_put(Dst, 12498, offsetof(GCfuncL, uvptr), DtA(->v));
2576 if (sse) { 2593 if (sse) {
2577 dasm_put(Dst, 12454); 2594 dasm_put(Dst, 12507);
2578 } else { 2595 } else {
2579 dasm_put(Dst, 12460); 2596 dasm_put(Dst, 12513);
2580 } 2597 }
2581 dasm_put(Dst, 10235); 2598 dasm_put(Dst, 10255);
2582 break; 2599 break;
2583 case BC_USETP: 2600 case BC_USETP:
2584 dasm_put(Dst, 12463, offsetof(GCfuncL, uvptr), DtA(->v)); 2601 dasm_put(Dst, 12516, offsetof(GCfuncL, uvptr), DtA(->v));
2585 break; 2602 break;
2586 case BC_UCLO: 2603 case BC_UCLO:
2587 dasm_put(Dst, 12502, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2604 dasm_put(Dst, 12555, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2588 break; 2605 break;
2589 2606
2590 case BC_FNEW: 2607 case BC_FNEW:
2591 dasm_put(Dst, 12557, Dt1(->base), Dt1(->base), LJ_TFUNC); 2608 dasm_put(Dst, 12610, Dt1(->base), Dt1(->base), LJ_TFUNC);
2592 break; 2609 break;
2593 2610
2594 /* -- Table ops --------------------------------------------------------- */ 2611 /* -- Table ops --------------------------------------------------------- */
2595 2612
2596 case BC_TNEW: 2613 case BC_TNEW:
2597 dasm_put(Dst, 12623, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2614 dasm_put(Dst, 12676, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2598 break; 2615 break;
2599 case BC_TDUP: 2616 case BC_TDUP:
2600 dasm_put(Dst, 12745, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2617 dasm_put(Dst, 12798, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2601 break; 2618 break;
2602 2619
2603 case BC_GGET: 2620 case BC_GGET:
2604 dasm_put(Dst, 12840, Dt7(->env)); 2621 dasm_put(Dst, 12893, Dt7(->env));
2605 break; 2622 break;
2606 case BC_GSET: 2623 case BC_GSET:
2607 dasm_put(Dst, 12859, Dt7(->env)); 2624 dasm_put(Dst, 12912, Dt7(->env));
2608 break; 2625 break;
2609 2626
2610 case BC_TGETV: 2627 case BC_TGETV:
2611 dasm_put(Dst, 12878, LJ_TTAB); 2628 dasm_put(Dst, 12931, LJ_TTAB);
2612 if (LJ_DUALNUM) { 2629 if (LJ_DUALNUM) {
2613 dasm_put(Dst, 12901, LJ_TISNUM); 2630 dasm_put(Dst, 12954, LJ_TISNUM);
2614 } else { 2631 } else {
2615 dasm_put(Dst, 12915, LJ_TISNUM); 2632 dasm_put(Dst, 12968, LJ_TISNUM);
2616 if (sse) { 2633 if (sse) {
2617 dasm_put(Dst, 12926); 2634 dasm_put(Dst, 12979);
2618 } else { 2635 } else {
2619 } 2636 }
2620 dasm_put(Dst, 12947); 2637 dasm_put(Dst, 13000);
2621 } 2638 }
2622 dasm_put(Dst, 12952, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2639 dasm_put(Dst, 13005, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2623 dasm_put(Dst, 13043, LJ_TSTR); 2640 dasm_put(Dst, 13096, LJ_TSTR);
2624 break; 2641 break;
2625 case BC_TGETS: 2642 case BC_TGETS:
2626 dasm_put(Dst, 13061, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2643 dasm_put(Dst, 13114, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2627 dasm_put(Dst, 13145, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2644 dasm_put(Dst, 13198, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2628 break; 2645 break;
2629 case BC_TGETB: 2646 case BC_TGETB:
2630 dasm_put(Dst, 13216, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2647 dasm_put(Dst, 13269, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2631 dasm_put(Dst, 13311, LJ_TNIL); 2648 dasm_put(Dst, 13364, LJ_TNIL);
2632 break; 2649 break;
2633 2650
2634 case BC_TSETV: 2651 case BC_TSETV:
2635 dasm_put(Dst, 13328, LJ_TTAB); 2652 dasm_put(Dst, 13381, LJ_TTAB);
2636 if (LJ_DUALNUM) { 2653 if (LJ_DUALNUM) {
2637 dasm_put(Dst, 12901, LJ_TISNUM); 2654 dasm_put(Dst, 12954, LJ_TISNUM);
2638 } else { 2655 } else {
2639 dasm_put(Dst, 12915, LJ_TISNUM); 2656 dasm_put(Dst, 12968, LJ_TISNUM);
2640 if (sse) { 2657 if (sse) {
2641 dasm_put(Dst, 12926); 2658 dasm_put(Dst, 12979);
2642 } else { 2659 } else {
2643 } 2660 }
2644 dasm_put(Dst, 13351); 2661 dasm_put(Dst, 13404);
2645 } 2662 }
2646 dasm_put(Dst, 13356, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2663 dasm_put(Dst, 13409, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2647 dasm_put(Dst, 13436, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2664 dasm_put(Dst, 13489, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2648 break; 2665 break;
2649 case BC_TSETS: 2666 case BC_TSETS:
2650 dasm_put(Dst, 13493, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2667 dasm_put(Dst, 13546, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2651 dasm_put(Dst, 13569, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2668 dasm_put(Dst, 13622, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2652 dasm_put(Dst, 13657, 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)); 2669 dasm_put(Dst, 13710, 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));
2653 break; 2670 break;
2654 case BC_TSETB: 2671 case BC_TSETB:
2655 dasm_put(Dst, 13748, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2672 dasm_put(Dst, 13801, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2656 dasm_put(Dst, 13842, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2673 dasm_put(Dst, 13895, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2657 break; 2674 break;
2658 2675
2659 case BC_TSETM: 2676 case BC_TSETM:
2660 dasm_put(Dst, 13888, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2677 dasm_put(Dst, 13941, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2661 dasm_put(Dst, 14031, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2678 dasm_put(Dst, 14084, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2662 break; 2679 break;
2663 2680
2664 /* -- Calls and vararg handling ----------------------------------------- */ 2681 /* -- Calls and vararg handling ----------------------------------------- */
2665 2682
2666 case BC_CALL: case BC_CALLM: 2683 case BC_CALL: case BC_CALLM:
2667 dasm_put(Dst, 11226); 2684 dasm_put(Dst, 11279);
2668 if (op == BC_CALLM) { 2685 if (op == BC_CALLM) {
2669 dasm_put(Dst, 14049); 2686 dasm_put(Dst, 14102);
2670 } 2687 }
2671 dasm_put(Dst, 14054, LJ_TFUNC, Dt7(->pc)); 2688 dasm_put(Dst, 14107, LJ_TFUNC, Dt7(->pc));
2672 break; 2689 break;
2673 2690
2674 case BC_CALLMT: 2691 case BC_CALLMT:
2675 dasm_put(Dst, 14049); 2692 dasm_put(Dst, 14102);
2676 break; 2693 break;
2677 case BC_CALLT: 2694 case BC_CALLT:
2678 dasm_put(Dst, 14096, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2695 dasm_put(Dst, 14149, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2679 dasm_put(Dst, 14211, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2696 dasm_put(Dst, 14264, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2680 break; 2697 break;
2681 2698
2682 case BC_ITERC: 2699 case BC_ITERC:
2683 dasm_put(Dst, 14282, LJ_TFUNC, 2+1, Dt7(->pc)); 2700 dasm_put(Dst, 14335, LJ_TFUNC, 2+1, Dt7(->pc));
2684 break; 2701 break;
2685 2702
2686 case BC_ITERN: 2703 case BC_ITERN:
2687#if LJ_HASJIT 2704#if LJ_HASJIT
2688#endif 2705#endif
2689 dasm_put(Dst, 14353, Dt6(->asize), Dt6(->array), LJ_TNIL); 2706 dasm_put(Dst, 14406, Dt6(->asize), Dt6(->array), LJ_TNIL);
2690 if (LJ_DUALNUM) { 2707 if (LJ_DUALNUM) {
2691 dasm_put(Dst, 11126, LJ_TISNUM); 2708 dasm_put(Dst, 11146, LJ_TISNUM);
2692 } else if (sse) { 2709 } else if (sse) {
2693 dasm_put(Dst, 11203); 2710 dasm_put(Dst, 11240);
2694 } else { 2711 } else {
2695 dasm_put(Dst, 14399); 2712 dasm_put(Dst, 14452);
2696 } 2713 }
2697 dasm_put(Dst, 14405); 2714 dasm_put(Dst, 14458);
2698 if (LJ_DUALNUM) { 2715 if (LJ_DUALNUM) {
2699 } else if (sse) { 2716 } else if (sse) {
2700 dasm_put(Dst, 11091); 2717 dasm_put(Dst, 11111);
2701 } else { 2718 } else {
2702 dasm_put(Dst, 11103); 2719 dasm_put(Dst, 11123);
2703 } 2720 }
2704 dasm_put(Dst, 14418, -BCBIAS_J*4); 2721 dasm_put(Dst, 14471, -BCBIAS_J*4);
2705 if (!LJ_DUALNUM && !sse) { 2722 if (!LJ_DUALNUM && !sse) {
2706 dasm_put(Dst, 14470); 2723 dasm_put(Dst, 14523);
2707 } 2724 }
2708 dasm_put(Dst, 14476, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2725 dasm_put(Dst, 14529, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2709 break; 2726 break;
2710 2727
2711 case BC_ISNEXT: 2728 case BC_ISNEXT:
2712 dasm_put(Dst, 14548, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2729 dasm_put(Dst, 14601, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2713 break; 2730 break;
2714 2731
2715 case BC_VARG: 2732 case BC_VARG:
2716 dasm_put(Dst, 14648, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2733 dasm_put(Dst, 14701, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2717 dasm_put(Dst, 14808, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2734 dasm_put(Dst, 14861, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2718 break; 2735 break;
2719 2736
2720 /* -- Returns ----------------------------------------------------------- */ 2737 /* -- Returns ----------------------------------------------------------- */
2721 2738
2722 case BC_RETM: 2739 case BC_RETM:
2723 dasm_put(Dst, 14049); 2740 dasm_put(Dst, 14102);
2724 break; 2741 break;
2725 2742
2726 case BC_RET: case BC_RET0: case BC_RET1: 2743 case BC_RET: case BC_RET0: case BC_RET1:
2727 if (op != BC_RET0) { 2744 if (op != BC_RET0) {
2728 dasm_put(Dst, 14874); 2745 dasm_put(Dst, 14927);
2729 } 2746 }
2730 dasm_put(Dst, 14878, FRAME_TYPE); 2747 dasm_put(Dst, 14931, FRAME_TYPE);
2731 switch (op) { 2748 switch (op) {
2732 case BC_RET: 2749 case BC_RET:
2733 dasm_put(Dst, 14897); 2750 dasm_put(Dst, 14950);
2734 break; 2751 break;
2735 case BC_RET1: 2752 case BC_RET1:
2736 dasm_put(Dst, 14949); 2753 dasm_put(Dst, 15002);
2737 /* fallthrough */ 2754 /* fallthrough */
2738 case BC_RET0: 2755 case BC_RET0:
2739 dasm_put(Dst, 14959); 2756 dasm_put(Dst, 15012);
2740 default: 2757 default:
2741 break; 2758 break;
2742 } 2759 }
2743 dasm_put(Dst, 14970, Dt7(->pc), PC2PROTO(k)); 2760 dasm_put(Dst, 15023, Dt7(->pc), PC2PROTO(k));
2744 if (op == BC_RET) { 2761 if (op == BC_RET) {
2745 dasm_put(Dst, 15014, LJ_TNIL); 2762 dasm_put(Dst, 15067, LJ_TNIL);
2746 } else { 2763 } else {
2747 dasm_put(Dst, 15023, LJ_TNIL); 2764 dasm_put(Dst, 15076, LJ_TNIL);
2748 } 2765 }
2749 dasm_put(Dst, 15030, -FRAME_VARG, FRAME_TYPEP); 2766 dasm_put(Dst, 15083, -FRAME_VARG, FRAME_TYPEP);
2750 if (op != BC_RET0) { 2767 if (op != BC_RET0) {
2751 dasm_put(Dst, 15054); 2768 dasm_put(Dst, 15107);
2752 } 2769 }
2753 dasm_put(Dst, 4688); 2770 dasm_put(Dst, 4708);
2754 break; 2771 break;
2755 2772
2756 /* -- Loops and branches ------------------------------------------------ */ 2773 /* -- Loops and branches ------------------------------------------------ */
@@ -2758,7 +2775,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2758 2775
2759 case BC_FORL: 2776 case BC_FORL:
2760#if LJ_HASJIT 2777#if LJ_HASJIT
2761 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT); 2778 dasm_put(Dst, 15111, HOTCOUNT_PCMASK, GG_DISP2HOT);
2762#endif 2779#endif
2763 break; 2780 break;
2764 2781
@@ -2770,111 +2787,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2770 case BC_FORI: 2787 case BC_FORI:
2771 case BC_IFORL: 2788 case BC_IFORL:
2772 vk = (op == BC_IFORL || op == BC_JFORL); 2789 vk = (op == BC_IFORL || op == BC_JFORL);
2773 dasm_put(Dst, 15079); 2790 dasm_put(Dst, 15132);
2774 if (LJ_DUALNUM) { 2791 if (LJ_DUALNUM) {
2775 dasm_put(Dst, 15083, LJ_TISNUM); 2792 dasm_put(Dst, 15136, LJ_TISNUM);
2776 if (!vk) { 2793 if (!vk) {
2777 dasm_put(Dst, 15093, LJ_TISNUM, LJ_TISNUM); 2794 dasm_put(Dst, 15146, LJ_TISNUM, LJ_TISNUM);
2778 } else { 2795 } else {
2779#ifdef LUA_USE_ASSERT 2796#ifdef LUA_USE_ASSERT
2780 dasm_put(Dst, 15122, LJ_TISNUM, LJ_TISNUM); 2797 dasm_put(Dst, 15175, LJ_TISNUM, LJ_TISNUM);
2781#endif 2798#endif
2782 dasm_put(Dst, 15141); 2799 dasm_put(Dst, 15194);
2783 } 2800 }
2784 dasm_put(Dst, 15160, LJ_TISNUM); 2801 dasm_put(Dst, 15213, LJ_TISNUM);
2785 if (op == BC_FORI) { 2802 if (op == BC_FORI) {
2786 dasm_put(Dst, 15171, -BCBIAS_J*4); 2803 dasm_put(Dst, 15224, -BCBIAS_J*4);
2787 } else if (op == BC_JFORI) { 2804 } else if (op == BC_JFORI) {
2788 dasm_put(Dst, 15185, -BCBIAS_J*4, BC_JLOOP); 2805 dasm_put(Dst, 15238, -BCBIAS_J*4, BC_JLOOP);
2789 } else if (op == BC_IFORL) { 2806 } else if (op == BC_IFORL) {
2790 dasm_put(Dst, 15203, -BCBIAS_J*4); 2807 dasm_put(Dst, 15256, -BCBIAS_J*4);
2791 } else { 2808 } else {
2792 dasm_put(Dst, 15195, BC_JLOOP); 2809 dasm_put(Dst, 15248, BC_JLOOP);
2793 } 2810 }
2794 dasm_put(Dst, 15217); 2811 dasm_put(Dst, 15270);
2795 if (vk) { 2812 if (vk) {
2796 dasm_put(Dst, 15241); 2813 dasm_put(Dst, 15294);
2797 } 2814 }
2798 dasm_put(Dst, 15160, LJ_TISNUM); 2815 dasm_put(Dst, 15213, LJ_TISNUM);
2799 if (op == BC_FORI) { 2816 if (op == BC_FORI) {
2800 dasm_put(Dst, 15250); 2817 dasm_put(Dst, 15303);
2801 } else if (op == BC_JFORI) { 2818 } else if (op == BC_JFORI) {
2802 dasm_put(Dst, 15255, -BCBIAS_J*4, BC_JLOOP); 2819 dasm_put(Dst, 15308, -BCBIAS_J*4, BC_JLOOP);
2803 } else if (op == BC_IFORL) { 2820 } else if (op == BC_IFORL) {
2804 dasm_put(Dst, 15269); 2821 dasm_put(Dst, 15322);
2805 } else { 2822 } else {
2806 dasm_put(Dst, 15265, BC_JLOOP); 2823 dasm_put(Dst, 15318, BC_JLOOP);
2807 } 2824 }
2808 dasm_put(Dst, 15274); 2825 dasm_put(Dst, 15327);
2809 } else if (!vk) { 2826 } else if (!vk) {
2810 dasm_put(Dst, 15281, LJ_TISNUM); 2827 dasm_put(Dst, 15334, LJ_TISNUM);
2811 } 2828 }
2812 if (!vk) { 2829 if (!vk) {
2813 dasm_put(Dst, 15287, LJ_TISNUM); 2830 dasm_put(Dst, 15340, LJ_TISNUM);
2814 } else { 2831 } else {
2815#ifdef LUA_USE_ASSERT 2832#ifdef LUA_USE_ASSERT
2816 dasm_put(Dst, 15301, LJ_TISNUM, LJ_TISNUM); 2833 dasm_put(Dst, 15354, LJ_TISNUM, LJ_TISNUM);
2817#endif 2834#endif
2818 } 2835 }
2819 dasm_put(Dst, 15320); 2836 dasm_put(Dst, 15373);
2820 if (!vk) { 2837 if (!vk) {
2821 dasm_put(Dst, 15324, LJ_TISNUM); 2838 dasm_put(Dst, 15377, LJ_TISNUM);
2822 } 2839 }
2823 if (sse) { 2840 if (sse) {
2824 dasm_put(Dst, 15333); 2841 dasm_put(Dst, 15386);
2825 if (vk) { 2842 if (vk) {
2826 dasm_put(Dst, 15345); 2843 dasm_put(Dst, 15398);
2827 } else { 2844 } else {
2828 dasm_put(Dst, 15364); 2845 dasm_put(Dst, 15417);
2829 } 2846 }
2830 dasm_put(Dst, 15369); 2847 dasm_put(Dst, 15422);
2831 } else { 2848 } else {
2832 dasm_put(Dst, 15382); 2849 dasm_put(Dst, 15435);
2833 if (vk) { 2850 if (vk) {
2834 dasm_put(Dst, 15388); 2851 dasm_put(Dst, 15441);
2835 } else { 2852 } else {
2836 dasm_put(Dst, 15404); 2853 dasm_put(Dst, 15457);
2837 } 2854 }
2838 dasm_put(Dst, 15412); 2855 dasm_put(Dst, 15465);
2839 if (cmov) { 2856 if (cmov) {
2840 dasm_put(Dst, 10190); 2857 dasm_put(Dst, 10210);
2841 } else { 2858 } else {
2842 dasm_put(Dst, 10196); 2859 dasm_put(Dst, 10216);
2843 } 2860 }
2844 if (!cmov) { 2861 if (!cmov) {
2845 dasm_put(Dst, 15417); 2862 dasm_put(Dst, 15470);
2846 } 2863 }
2847 } 2864 }
2848 if (op == BC_FORI) { 2865 if (op == BC_FORI) {
2849 if (LJ_DUALNUM) { 2866 if (LJ_DUALNUM) {
2850 dasm_put(Dst, 15423); 2867 dasm_put(Dst, 15476);
2851 } else { 2868 } else {
2852 dasm_put(Dst, 15428, -BCBIAS_J*4); 2869 dasm_put(Dst, 15481, -BCBIAS_J*4);
2853 } 2870 }
2854 } else if (op == BC_JFORI) { 2871 } else if (op == BC_JFORI) {
2855 dasm_put(Dst, 15438, -BCBIAS_J*4, BC_JLOOP); 2872 dasm_put(Dst, 15491, -BCBIAS_J*4, BC_JLOOP);
2856 } else if (op == BC_IFORL) { 2873 } else if (op == BC_IFORL) {
2857 if (LJ_DUALNUM) { 2874 if (LJ_DUALNUM) {
2858 dasm_put(Dst, 15452); 2875 dasm_put(Dst, 15505);
2859 } else { 2876 } else {
2860 dasm_put(Dst, 15457, -BCBIAS_J*4); 2877 dasm_put(Dst, 15510, -BCBIAS_J*4);
2861 } 2878 }
2862 } else { 2879 } else {
2863 dasm_put(Dst, 15448, BC_JLOOP); 2880 dasm_put(Dst, 15501, BC_JLOOP);
2864 } 2881 }
2865 if (LJ_DUALNUM) { 2882 if (LJ_DUALNUM) {
2866 dasm_put(Dst, 10119); 2883 dasm_put(Dst, 10139);
2867 } else { 2884 } else {
2868 dasm_put(Dst, 10876); 2885 dasm_put(Dst, 10896);
2869 } 2886 }
2870 if (sse) { 2887 if (sse) {
2871 dasm_put(Dst, 15467); 2888 dasm_put(Dst, 15520);
2872 } 2889 }
2873 break; 2890 break;
2874 2891
2875 case BC_ITERL: 2892 case BC_ITERL:
2876#if LJ_HASJIT 2893#if LJ_HASJIT
2877 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT); 2894 dasm_put(Dst, 15111, HOTCOUNT_PCMASK, GG_DISP2HOT);
2878#endif 2895#endif
2879 break; 2896 break;
2880 2897
@@ -2883,33 +2900,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2883 break; 2900 break;
2884#endif 2901#endif
2885 case BC_IITERL: 2902 case BC_IITERL:
2886 dasm_put(Dst, 15478, LJ_TNIL); 2903 dasm_put(Dst, 15531, LJ_TNIL);
2887 if (op == BC_JITERL) { 2904 if (op == BC_JITERL) {
2888 dasm_put(Dst, 15493, BC_JLOOP); 2905 dasm_put(Dst, 15546, BC_JLOOP);
2889 } else { 2906 } else {
2890 dasm_put(Dst, 15507, -BCBIAS_J*4); 2907 dasm_put(Dst, 15560, -BCBIAS_J*4);
2891 } 2908 }
2892 dasm_put(Dst, 10233); 2909 dasm_put(Dst, 10253);
2893 break; 2910 break;
2894 2911
2895 case BC_LOOP: 2912 case BC_LOOP:
2896#if LJ_HASJIT 2913#if LJ_HASJIT
2897 dasm_put(Dst, 15058, HOTCOUNT_PCMASK, GG_DISP2HOT); 2914 dasm_put(Dst, 15111, HOTCOUNT_PCMASK, GG_DISP2HOT);
2898#endif 2915#endif
2899 break; 2916 break;
2900 2917
2901 case BC_ILOOP: 2918 case BC_ILOOP:
2902 dasm_put(Dst, 10235); 2919 dasm_put(Dst, 10255);
2903 break; 2920 break;
2904 2921
2905 case BC_JLOOP: 2922 case BC_JLOOP:
2906#if LJ_HASJIT 2923#if LJ_HASJIT
2907 dasm_put(Dst, 15523, 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); 2924 dasm_put(Dst, 15576, 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);
2908#endif 2925#endif
2909 break; 2926 break;
2910 2927
2911 case BC_JMP: 2928 case BC_JMP:
2912 dasm_put(Dst, 15632, -BCBIAS_J*4); 2929 dasm_put(Dst, 15685, -BCBIAS_J*4);
2913 break; 2930 break;
2914 2931
2915 /* -- Function headers -------------------------------------------------- */ 2932 /* -- Function headers -------------------------------------------------- */
@@ -2923,7 +2940,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2923 2940
2924 case BC_FUNCF: 2941 case BC_FUNCF:
2925#if LJ_HASJIT 2942#if LJ_HASJIT
2926 dasm_put(Dst, 15657, HOTCOUNT_PCMASK, GG_DISP2HOT); 2943 dasm_put(Dst, 15710, HOTCOUNT_PCMASK, GG_DISP2HOT);
2927#endif 2944#endif
2928 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2945 case BC_FUNCV: /* NYI: compiled vararg functions. */
2929 break; 2946 break;
@@ -2933,47 +2950,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2933 break; 2950 break;
2934#endif 2951#endif
2935 case BC_IFUNCF: 2952 case BC_IFUNCF:
2936 dasm_put(Dst, 15678, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2953 dasm_put(Dst, 15731, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2937 if (op == BC_JFUNCF) { 2954 if (op == BC_JFUNCF) {
2938 dasm_put(Dst, 15708, BC_JLOOP); 2955 dasm_put(Dst, 15761, BC_JLOOP);
2939 } else { 2956 } else {
2940 dasm_put(Dst, 10235); 2957 dasm_put(Dst, 10255);
2941 } 2958 }
2942 dasm_put(Dst, 15717, LJ_TNIL); 2959 dasm_put(Dst, 15770, LJ_TNIL);
2943 break; 2960 break;
2944 2961
2945 case BC_JFUNCV: 2962 case BC_JFUNCV:
2946#if !LJ_HASJIT 2963#if !LJ_HASJIT
2947 break; 2964 break;
2948#endif 2965#endif
2949 dasm_put(Dst, 9380); 2966 dasm_put(Dst, 9400);
2950 break; /* NYI: compiled vararg functions. */ 2967 break; /* NYI: compiled vararg functions. */
2951 2968
2952 case BC_IFUNCV: 2969 case BC_IFUNCV:
2953 dasm_put(Dst, 15739, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2970 dasm_put(Dst, 15792, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2954 if (op == BC_JFUNCV) { 2971 if (op == BC_JFUNCV) {
2955 dasm_put(Dst, 15708, BC_JLOOP); 2972 dasm_put(Dst, 15761, BC_JLOOP);
2956 } else { 2973 } else {
2957 dasm_put(Dst, 15830, -4+PC2PROTO(k)); 2974 dasm_put(Dst, 15883, -4+PC2PROTO(k));
2958 } 2975 }
2959 dasm_put(Dst, 15853, LJ_TNIL); 2976 dasm_put(Dst, 15906, LJ_TNIL);
2960 break; 2977 break;
2961 2978
2962 case BC_FUNCC: 2979 case BC_FUNCC:
2963 case BC_FUNCCW: 2980 case BC_FUNCCW:
2964 dasm_put(Dst, 15875, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2981 dasm_put(Dst, 15928, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2965 if (op == BC_FUNCC) { 2982 if (op == BC_FUNCC) {
2966 dasm_put(Dst, 2352); 2983 dasm_put(Dst, 2372);
2967 } else { 2984 } else {
2968 dasm_put(Dst, 15905); 2985 dasm_put(Dst, 15958);
2969 } 2986 }
2970 dasm_put(Dst, 15913, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2987 dasm_put(Dst, 15966, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2971 if (op == BC_FUNCC) { 2988 if (op == BC_FUNCC) {
2972 dasm_put(Dst, 15922); 2989 dasm_put(Dst, 15975);
2973 } else { 2990 } else {
2974 dasm_put(Dst, 15926, DISPATCH_GL(wrapf)); 2991 dasm_put(Dst, 15979, DISPATCH_GL(wrapf));
2975 } 2992 }
2976 dasm_put(Dst, 15931, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2993 dasm_put(Dst, 15984, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2977 break; 2994 break;
2978 2995
2979 /* ---------------------------------------------------------------------- */ 2996 /* ---------------------------------------------------------------------- */
@@ -3001,7 +3018,7 @@ static int build_backend(BuildCtx *ctx)
3001 3018
3002 build_subroutines(ctx, cmov, sse); 3019 build_subroutines(ctx, cmov, sse);
3003 3020
3004 dasm_put(Dst, 15956); 3021 dasm_put(Dst, 16009);
3005 for (op = 0; op < BC__MAX; op++) 3022 for (op = 0; op < BC__MAX; op++)
3006 build_ins(ctx, (BCOp)op, op, cmov, sse); 3023 build_ins(ctx, (BCOp)op, op, cmov, sse);
3007 3024