summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h2329
1 files changed, 1173 insertions, 1156 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index fcff6db3..f6ed666c 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[16103] = { 15static const unsigned char build_actionlist[16156] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -91,73 +91,74 @@ static const unsigned char build_actionlist[16103] = {
91 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244, 91 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244,
92 42,248,44,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28, 92 42,248,44,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28,
93 248,56,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232, 93 248,56,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,
94 251,1,8,139,149,233,252,233,244,44,248,57,141,76,202,8,248,29,137,76,36,4, 94 251,1,8,139,149,233,255,133,192,15,133,244,44,15,183,67,252,254,139,60,194,
95 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137, 95 252,233,244,57,255,252,233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,
96 4,137,4,36,131,252,233,8,139,108,36,24,137,149,233,137,206,141,20,193,137,
96 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105, 97 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105,
97 252,248,131,192,1,65,57,215,15,132,244,58,137,202,137,90,252,252,139,157, 98 252,248,131,192,1,65,57,215,15,132,244,59,137,202,137,90,252,252,139,157,
98 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, 99 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,
99 59,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10, 100 60,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10,
100 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164, 101 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,
101 253,252,238,233,248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253, 102 253,252,238,233,248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,
102 239,15,131,244,61,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106, 103 239,15,131,244,62,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,
103 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137, 104 252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,193,8,72,139,41,72,
104 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,62,248, 105 137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,4,252,233,244,63,248,
105 63,129,252,248,239,15,130,244,61,139,106,4,137,252,233,193,252,249,15,131, 106 64,129,252,248,239,15,130,244,62,139,106,4,137,252,233,193,252,249,15,131,
106 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255, 107 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,
107 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233, 108 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,
108 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,184, 109 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,184,
109 237,252,233,244,2,248,65,129,252,248,239,15,130,244,61,139,106,4,139,90,252, 110 237,252,233,244,2,248,66,129,252,248,239,15,130,244,62,139,106,4,139,90,252,
110 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, 111 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
111 237,199,66,252,252,237,255,15,132,244,64,65,139,134,233,199,66,252,252,237, 112 237,199,66,252,252,237,255,15,132,244,65,65,139,134,233,199,66,252,252,237,
112 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185, 113 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,
113 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, 114 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,
114 15,133,244,3,255,252,233,244,64,248,5,139,105,4,129,252,253,239,15,132,244, 115 15,133,244,3,255,252,233,244,65,248,5,139,105,4,129,252,253,239,15,132,244,
115 64,139,1,137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253, 116 65,139,1,137,106,252,252,137,66,252,248,252,233,244,65,248,6,129,252,253,
116 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244, 117 239,15,132,244,1,129,252,253,239,15,135,244,254,129,252,253,239,15,134,244,
117 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172, 118 253,189,237,252,233,244,254,248,7,255,189,237,248,8,252,247,213,65,139,172,
118 253,174,233,252,233,244,2,248,66,129,252,248,239,15,130,244,61,129,122,253, 119 253,174,233,252,233,244,2,248,67,129,252,248,239,15,130,244,62,129,122,253,
119 4,239,15,133,244,61,139,42,131,189,233,0,15,133,244,61,129,122,253,12,239, 120 4,239,15,133,244,62,139,42,131,189,233,0,15,133,244,62,129,122,253,12,239,
120 15,133,244,61,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255, 121 15,133,244,62,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237,255,
121 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139, 122 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,65,139,
122 134,233,65,137,174,233,137,133,233,248,1,252,233,244,64,248,67,129,252,248, 123 134,233,65,137,174,233,137,133,233,248,1,252,233,244,65,248,68,129,252,248,
123 239,15,130,244,61,129,122,253,4,239,15,133,244,61,137,213,139,50,141,82,8, 124 239,15,130,244,62,129,122,253,4,239,15,133,244,62,137,213,139,50,141,82,8,
124 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106, 125 139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,72,137,106,
125 252,248,252,233,244,64,248,68,255,129,252,248,239,15,133,244,61,129,122,253, 126 252,248,252,233,244,65,248,69,255,129,252,248,239,15,133,244,62,129,122,253,
126 4,239,255,15,133,244,247,139,42,252,233,244,69,248,1,15,135,244,61,255,15, 127 4,239,255,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,
127 131,244,61,255,252,242,15,16,2,252,233,244,70,255,221,2,252,233,244,71,255, 128 131,244,62,255,252,242,15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,
128 248,72,129,252,248,239,15,130,244,61,139,90,252,252,129,122,253,4,239,15, 129 248,73,129,252,248,239,15,130,244,62,139,90,252,252,129,122,253,4,239,15,
129 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,64, 130 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,65,
130 248,3,129,122,253,4,239,15,135,244,61,65,131,190,233,0,15,133,244,61,65,139, 131 248,3,129,122,253,4,239,15,135,244,62,65,131,190,233,0,15,133,244,62,65,139,
131 174,233,65,59,174,233,255,15,130,244,247,232,244,73,248,1,139,108,36,24,137, 132 174,233,65,59,174,233,255,15,130,244,247,232,244,74,248,1,139,108,36,24,137,
132 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13, 133 149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,251,1,13,
133 255,139,149,233,252,233,244,2,248,74,129,252,248,239,15,130,244,61,15,132, 134 255,139,149,233,252,233,244,2,248,75,129,252,248,239,15,130,244,62,15,132,
134 244,248,248,1,129,122,253,4,239,15,133,244,61,139,108,36,24,137,149,233,137, 135 244,248,248,1,129,122,253,4,239,15,133,244,62,139,108,36,24,137,149,233,137,
135 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1, 136 149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,
136 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106, 137 14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,
137 252,248,72,137,2,248,75,184,237,255,252,233,244,76,248,2,199,66,12,237,252, 138 252,248,72,137,2,248,76,184,237,255,252,233,244,77,248,2,199,66,12,237,252,
138 233,244,1,248,3,199,66,252,252,237,252,233,244,64,248,77,129,252,248,239, 139 233,244,1,248,3,199,66,252,252,237,252,233,244,65,248,78,129,252,248,239,
139 15,130,244,61,139,42,129,122,253,4,239,15,133,244,61,255,131,189,233,0,15, 140 15,130,244,62,139,42,129,122,253,4,239,15,133,244,62,255,131,189,233,0,15,
140 133,244,61,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, 141 133,244,62,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
141 237,137,66,252,248,199,66,12,237,184,237,252,233,244,76,248,78,129,252,248, 142 237,137,66,252,248,199,66,12,237,184,237,252,233,244,77,248,79,129,252,248,
142 239,15,130,244,61,129,122,253,4,239,15,133,244,61,129,122,253,12,239,255, 143 239,15,130,244,62,129,122,253,4,239,15,133,244,62,129,122,253,12,239,255,
143 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255, 144 139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,
144 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252, 145 252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,
145 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248, 146 242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,
146 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,79,72,139,40,72,137, 147 193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,80,72,139,40,72,137,
147 42,252,233,244,75,248,2,131,189,233,0,15,132,244,79,137,252,239,137,213,137, 148 42,252,233,244,76,248,2,131,189,233,0,15,132,244,80,137,252,239,137,213,137,
148 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,79,184,237,252,233, 149 198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,80,184,237,252,233,
149 244,76,248,80,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252, 150 244,77,248,81,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,
150 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242, 151 237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,
151 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,76,248,81,129, 152 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,77,248,82,129,
152 252,248,239,15,130,244,61,141,74,8,131,232,1,187,237,248,1,65,15,182,174, 153 252,248,239,15,130,244,62,141,74,8,131,232,1,187,237,248,1,65,15,182,174,
153 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,82,129,252,248, 154 233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,248,83,129,252,248,
154 239,15,130,244,61,129,122,253,12,239,15,133,244,61,255,139,106,4,137,106, 155 239,15,130,244,62,129,122,253,12,239,15,133,244,62,255,139,106,4,137,106,
155 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187, 156 12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187,
156 237,252,233,244,1,248,83,129,252,248,239,15,130,244,61,139,42,139,90,252, 157 237,252,233,244,1,248,84,129,252,248,239,15,130,244,62,139,42,139,90,252,
157 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,61,72,131,189,233, 158 252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,62,72,131,189,233,
158 0,15,133,244,61,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247, 159 0,15,133,244,62,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247,
159 255,59,141,233,15,132,244,61,248,1,141,92,193,252,240,59,157,233,15,135,244, 160 255,59,141,233,15,132,244,62,248,1,141,92,193,252,240,59,157,233,15,135,244,
160 61,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194, 161 62,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194,
161 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131, 162 232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131,
162 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134, 163 252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,
163 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244, 164 233,237,255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,
@@ -168,10 +169,10 @@ static const unsigned char build_actionlist[16103] = {
168 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244, 169 248,252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,
169 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139, 170 14,248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139,
170 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137, 171 1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137,
171 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,84,139,106,252, 172 252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,85,139,106,252,
172 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15, 173 248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15,
173 133,244,61,255,128,189,233,235,15,135,244,61,139,141,233,15,132,244,247,59, 174 133,244,62,255,128,189,233,235,15,135,244,62,139,141,233,15,132,244,247,59,
174 141,233,15,132,244,61,248,1,141,92,193,252,248,59,157,233,15,135,244,61,137, 175 141,233,15,132,244,62,248,1,141,92,193,252,248,59,157,233,15,135,244,62,137,
175 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221, 176 157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221,
176 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235, 177 57,203,15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235,
177 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237, 178 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,
@@ -182,209 +183,209 @@ static const unsigned char build_actionlist[16103] = {
182 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252, 183 1,248,7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,
183 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137, 184 233,244,14,248,8,137,222,137,252,239,232,251,1,16,248,9,139,12,36,68,137,
184 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244, 185 185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,
185 4,248,85,139,108,36,24,72,252,247,133,233,237,15,132,244,61,255,137,149,233, 186 4,248,86,139,108,36,24,72,252,247,133,233,237,15,132,244,62,255,137,149,233,
186 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233, 187 141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,
187 252,233,244,16,255,248,69,255,248,71,139,90,252,252,221,90,252,248,252,233, 188 252,233,244,16,255,248,70,255,248,72,139,90,252,252,221,90,252,248,252,233,
188 244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4,239,15, 189 244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4,239,15,
189 133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136,244,247, 190 133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136,244,247,
190 248,87,248,69,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244, 191 248,88,248,70,139,90,252,252,199,66,252,252,237,137,106,252,248,252,233,244,
191 64,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0, 192 65,248,1,139,90,252,252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,
192 252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131,244,61,255, 193 252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131,244,62,255,
193 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,70,139,90, 194 252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,71,139,90,
194 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,70,248,71,139,90,252, 195 252,252,252,242,15,17,66,252,248,255,221,2,217,225,248,71,248,72,139,90,252,
195 252,221,90,252,248,255,248,64,184,237,248,76,137,68,36,4,248,62,252,247,195, 196 252,221,90,252,248,255,248,65,184,237,248,77,137,68,36,4,248,63,252,247,195,
196 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72, 197 237,15,133,244,253,248,5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,
197 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 198 252,247,209,141,20,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
198 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248, 199 252,255,36,252,238,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,
199 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,88,255,129, 200 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,248,89,255,129,
200 122,253,4,239,15,133,244,247,139,42,252,233,244,69,248,1,15,135,244,61,255, 201 122,253,4,239,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,
201 252,242,15,16,2,232,244,89,255,252,242,15,45,232,129,252,253,0,0,0,128,15, 202 252,242,15,16,2,232,244,90,255,252,242,15,45,232,129,252,253,0,0,0,128,15,
202 133,244,69,252,242,15,42,205,102,15,46,193,15,138,244,70,15,132,244,69,255, 203 133,244,70,252,242,15,42,205,102,15,46,193,15,138,244,71,15,132,244,70,255,
203 221,2,232,244,89,255,248,90,255,252,242,15,16,2,232,244,91,255,221,2,232, 204 221,2,232,244,90,255,248,91,255,252,242,15,16,2,232,244,92,255,221,2,232,
204 244,91,255,248,92,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 205 244,92,255,248,93,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
205 244,61,252,242,15,81,2,252,233,244,70,255,248,92,129,252,248,239,15,130,244, 206 244,62,252,242,15,81,2,252,233,244,71,255,248,93,129,252,248,239,15,130,244,
206 61,129,122,253,4,239,15,131,244,61,221,2,217,252,250,252,233,244,71,255,248, 207 62,129,122,253,4,239,15,131,244,62,221,2,217,252,250,252,233,244,72,255,248,
207 93,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252, 208 94,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,
208 237,221,2,217,252,241,252,233,244,71,248,94,129,252,248,239,15,130,244,61, 209 237,221,2,217,252,241,252,233,244,72,248,95,129,252,248,239,15,130,244,62,
209 129,122,253,4,239,15,131,244,61,217,252,236,221,2,217,252,241,252,233,244, 210 129,122,253,4,239,15,131,244,62,217,252,236,221,2,217,252,241,252,233,244,
210 71,248,95,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,131,244, 211 72,248,96,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,
211 61,221,2,232,244,96,252,233,244,71,248,97,129,252,248,239,15,130,244,61,129, 212 62,221,2,232,244,97,252,233,244,72,248,98,129,252,248,239,15,130,244,62,129,
212 122,253,4,239,15,131,244,61,221,2,217,252,254,252,233,244,71,248,98,129,252, 213 122,253,4,239,15,131,244,62,221,2,217,252,254,252,233,244,72,248,99,129,252,
213 248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,255, 214 248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,255,
214 252,233,244,71,248,99,129,252,248,239,15,130,244,61,129,122,253,4,239,15, 215 252,233,244,72,248,100,129,252,248,239,15,130,244,62,129,122,253,4,239,15,
215 131,244,61,221,2,217,252,242,221,216,252,233,244,71,248,100,129,252,248,239, 216 131,244,62,221,2,217,252,242,221,216,252,233,244,72,248,101,129,252,248,239,
216 15,130,244,61,255,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217, 217 15,130,244,62,255,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,
217 232,222,225,217,252,250,217,252,243,252,233,244,71,248,101,129,252,248,239, 218 232,222,225,217,252,250,217,252,243,252,233,244,72,248,102,129,252,248,239,
218 15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,232, 219 15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,232,
219 222,225,217,252,250,217,201,217,252,243,252,233,244,71,248,102,129,252,248, 220 222,225,217,252,250,217,201,217,252,243,252,233,244,72,248,103,129,252,248,
220 239,15,130,244,61,129,122,253,4,239,15,131,244,61,255,221,2,217,232,217,252, 221 239,15,130,244,62,129,122,253,4,239,15,131,244,62,255,221,2,217,232,217,252,
221 243,252,233,244,71,255,248,103,129,252,248,239,15,130,244,61,129,122,253, 222 243,252,233,244,72,255,248,104,129,252,248,239,15,130,244,62,129,122,253,
222 4,239,15,131,244,61,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234, 223 4,239,15,131,244,62,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,
223 252,233,244,70,255,248,104,129,252,248,239,15,130,244,61,129,122,253,4,239, 224 252,233,244,71,255,248,105,129,252,248,239,15,130,244,62,129,122,253,4,239,
224 15,131,244,61,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233, 225 15,131,244,62,252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,
225 244,70,255,248,105,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 226 244,71,255,248,106,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
226 244,61,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,70, 227 244,62,252,242,15,16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,71,
227 248,106,255,248,107,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 228 248,107,255,248,108,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
228 244,61,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244, 229 244,62,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,
229 70,255,248,107,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244, 230 71,255,248,108,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,
230 61,221,2,139,106,252,248,220,141,233,252,233,244,71,255,248,108,129,252,248, 231 62,221,2,139,106,252,248,220,141,233,252,233,244,72,255,248,109,129,252,248,
231 239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131, 232 239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,
232 244,61,221,2,221,66,8,217,252,243,252,233,244,71,248,109,129,252,248,239, 233 244,62,221,2,221,66,8,217,252,243,252,233,244,72,248,110,129,252,248,239,
233 15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,255,15,131, 234 15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,255,15,131,
234 244,61,221,66,8,221,2,217,252,253,221,217,252,233,244,71,248,110,129,252, 235 244,62,221,66,8,221,2,217,252,253,221,217,252,233,244,72,248,111,129,252,
235 248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244,61,139,90,252, 236 248,239,15,130,244,62,139,106,4,129,252,253,239,15,131,244,62,139,90,252,
236 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252, 237 252,139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,
237 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0, 238 255,15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,
238 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255, 239 32,0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,
239 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129, 240 137,44,36,219,4,36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,
240 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184, 241 205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,
241 237,252,233,244,76,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252, 242 237,252,233,244,77,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,
242 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, 243 233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
243 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90, 244 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,
244 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233, 245 216,12,36,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,
245 244,1,255,248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 246 244,1,255,248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
246 244,61,252,242,15,16,2,255,248,111,129,252,248,239,15,130,244,61,129,122, 247 244,62,252,242,15,16,2,255,248,112,129,252,248,239,15,130,244,62,129,122,
247 253,4,239,15,131,244,61,221,2,255,139,106,4,139,90,252,252,209,229,129,252, 248 253,4,239,15,131,244,62,221,2,255,139,106,4,139,90,252,252,209,229,129,252,
248 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,112,252,242,15,92, 249 253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,113,252,242,15,92,
249 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,112, 250 224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,113,
250 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232, 251 220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,
251 15,136,244,249,248,2,184,237,252,233,244,76,248,3,129,252,245,0,0,0,128,137, 252 15,136,244,249,248,2,184,237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,
252 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217, 253 106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,
253 201,252,233,244,1,255,248,113,129,252,248,239,15,130,244,61,129,122,253,4, 254 201,252,233,244,1,255,248,114,129,252,248,239,15,130,244,62,129,122,253,4,
254 239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,66,8,221,2,248,1,217, 255 239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,
255 252,248,223,224,158,15,138,244,1,221,217,252,233,244,71,255,248,114,129,252, 256 252,248,223,224,158,15,138,244,1,221,217,252,233,244,72,255,248,115,129,252,
256 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239, 257 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,
257 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,232,244,115,252,233,244, 258 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,
258 70,255,248,114,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244, 259 71,255,248,115,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,
259 61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,232,244,115,252,233,244, 260 62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,
260 71,255,248,116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248, 261 72,255,248,117,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,
261 1,57,193,15,131,244,69,129,124,253,202,252,252,239,15,133,244,249,59,108, 262 1,57,193,15,131,244,70,129,124,253,202,252,252,239,15,133,244,249,59,108,
262 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244, 263 202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,
263 61,255,252,233,244,252,248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193, 264 62,255,252,233,244,252,248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,
264 15,131,244,70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,61, 265 15,131,244,71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,62,
265 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202, 266 252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,
266 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,117,185,2, 267 252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,118,185,2,
267 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 268 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
268 69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108, 269 70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,
269 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242, 270 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,
270 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255, 271 15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,
271 248,9,221,216,252,233,244,61,255,248,118,129,252,248,239,15,130,244,61,129, 272 248,9,221,216,252,233,244,62,255,248,119,129,252,248,239,15,130,244,62,129,
272 122,253,4,239,15,133,244,61,139,42,255,139,173,233,252,233,244,69,255,252, 273 122,253,4,239,15,133,244,62,139,42,255,139,173,233,252,233,244,70,255,252,
273 242,15,42,133,233,252,233,244,70,255,219,133,233,252,233,244,71,255,248,119, 274 242,15,42,133,233,252,233,244,71,255,219,133,233,252,233,244,72,255,248,120,
274 129,252,248,239,15,133,244,61,129,122,253,4,239,15,133,244,61,139,42,139, 275 129,252,248,239,15,133,244,62,129,122,253,4,239,15,133,244,62,139,42,139,
275 90,252,252,131,189,233,1,15,130,244,79,15,182,173,233,255,252,242,15,42,197, 276 90,252,252,131,189,233,1,15,130,244,80,15,182,173,233,255,252,242,15,42,197,
276 252,233,244,70,255,137,44,36,219,4,36,252,233,244,71,255,248,120,65,139,174, 277 252,233,244,71,255,137,44,36,219,4,36,252,233,244,72,255,248,121,65,139,174,
277 233,65,59,174,233,15,130,244,247,232,244,73,248,1,129,252,248,239,15,133, 278 233,65,59,174,233,15,130,244,247,232,244,74,248,1,129,252,248,239,15,133,
278 244,61,129,122,253,4,239,255,15,133,244,61,139,42,129,252,253,252,255,0,0, 279 244,62,129,122,253,4,239,255,15,133,244,62,139,42,129,252,253,252,255,0,0,
279 0,15,135,244,61,137,108,36,4,255,15,131,244,61,252,242,15,44,42,129,252,253, 280 0,15,135,244,62,137,108,36,4,255,15,131,244,62,252,242,15,44,42,129,252,253,
280 252,255,0,0,0,15,135,244,61,137,108,36,4,255,15,131,244,61,221,2,219,92,36, 281 252,255,0,0,0,15,135,244,62,137,108,36,4,255,15,131,244,62,221,2,219,92,36,
281 4,129,124,36,4,252,255,0,0,0,15,135,244,61,255,199,68,36,8,1,0,0,0,72,141, 282 4,129,124,36,4,252,255,0,0,0,15,135,244,62,255,199,68,36,8,1,0,0,0,72,141,
282 68,36,4,248,121,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252, 283 68,36,4,248,122,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,
283 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237, 284 239,137,92,36,28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,
284 137,66,252,248,252,233,244,64,248,122,65,139,174,233,65,59,174,233,15,130, 285 137,66,252,248,252,233,244,65,248,123,65,139,174,233,65,59,174,233,15,130,
285 244,247,232,244,73,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129, 286 244,247,232,244,74,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,
286 252,248,239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,133,244, 287 252,248,239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15,133,244,
287 61,139,106,16,137,108,36,4,255,15,131,244,61,252,242,15,44,106,16,137,108, 288 62,139,106,16,137,108,36,4,255,15,131,244,62,252,242,15,44,106,16,137,108,
288 36,4,255,15,131,244,61,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239, 289 36,4,255,15,131,244,62,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,
289 15,133,244,61,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255, 290 15,133,244,62,129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,
290 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248, 291 139,74,8,255,252,242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,
291 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,123,141,172, 292 2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,124,141,172,
292 253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,121,248,5,15,140, 293 253,13,233,131,192,1,248,4,137,68,36,8,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,65,139, 296 3,248,124,49,192,252,233,244,4,248,125,129,252,248,239,15,130,244,62,65,139,
296 174,233,65,59,174,233,15,130,244,247,232,244,73,248,1,255,129,122,253,4,239, 297 174,233,65,59,174,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,4,139, 299 131,244,62,252,242,15,44,66,8,255,15,131,244,62,221,66,8,219,92,36,4,139,
299 68,36,4,255,133,192,15,142,244,123,131,189,233,1,15,130,244,123,15,133,244, 300 68,36,4,255,133,192,15,142,244,124,131,189,233,1,15,130,244,124,15,133,244,
300 125,65,57,134,233,15,130,244,125,15,182,141,233,65,139,174,233,137,68,36, 301 126,65,57,134,233,15,130,244,126,15,182,141,233,65,139,174,233,137,68,36,
301 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233, 302 8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,
302 244,121,248,126,129,252,248,239,255,15,130,244,61,65,139,174,233,65,59,174, 303 244,122,248,127,129,252,248,239,255,15,130,244,62,65,139,174,233,65,59,174,
303 233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42, 304 233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,
304 139,133,233,133,192,15,132,244,123,65,57,134,233,15,130,244,127,129,197,239, 305 139,133,233,133,192,15,132,244,124,65,57,134,233,15,130,244,128,129,197,239,
305 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131, 306 137,92,36,4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,
306 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,121,248,128,129, 307 232,1,136,12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,122,248,129,129,
307 252,248,239,15,130,244,61,65,139,174,233,65,59,174,233,15,130,244,247,232, 308 252,248,239,15,130,244,62,65,139,174,233,65,59,174,233,15,130,244,247,232,
308 244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,65,57,134, 309 244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,65,57,134,
309 233,255,15,130,244,127,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233, 310 233,255,15,130,244,128,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,
310 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252, 311 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
311 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137, 312 249,90,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,
312 244,1,137,216,139,92,36,4,252,233,244,121,248,129,129,252,248,239,15,130, 313 244,1,137,216,139,92,36,4,252,233,244,122,248,130,129,252,248,239,15,130,
313 244,61,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,73,248,1,129, 314 244,62,255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,74,248,1,129,
314 122,253,4,239,15,133,244,61,139,42,139,133,233,65,57,134,233,15,130,244,127, 315 122,253,4,239,15,133,244,62,139,42,139,133,233,65,57,134,233,15,130,244,128,
315 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1, 316 129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,
316 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244, 317 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
317 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139, 318 248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,
318 92,36,4,252,233,244,121,248,130,129,252,248,239,15,130,244,61,129,122,253, 319 92,36,4,252,233,244,122,248,131,129,252,248,239,15,130,244,62,129,122,253,
319 4,239,15,133,244,61,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252, 320 4,239,15,133,244,62,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,
320 233,244,69,255,252,242,15,42,192,252,233,244,70,255,248,131,129,252,248,239, 321 233,244,70,255,252,242,15,42,192,252,233,244,71,255,248,132,129,252,248,239,
321 15,130,244,61,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,87, 322 15,130,244,62,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,
322 248,1,15,135,244,61,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, 323 248,1,15,135,244,62,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
323 252,242,15,88,193,102,15,126,197,255,252,233,244,87,255,248,132,129,252,248, 324 252,242,15,88,193,102,15,126,197,255,252,233,244,88,255,248,133,129,252,248,
324 239,15,130,244,61,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192, 325 239,15,130,244,62,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192,
325 89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,61,255,252, 326 89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,62,255,252,
326 242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68, 327 242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68,
327 194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,248, 328 194,252,240,248,1,57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,
328 35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,255, 329 35,40,131,232,8,252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,
329 252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252, 330 252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,
330 233,244,1,248,134,129,252,248,239,15,130,244,61,255,15,133,244,248,11,40, 331 233,244,1,248,135,129,252,248,239,15,130,244,62,255,15,133,244,248,11,40,
331 131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,242, 332 131,232,8,252,233,244,1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,
332 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,135,129,252, 333 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,136,129,252,
333 248,239,15,130,244,61,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248, 334 248,239,15,130,244,62,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,
334 2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49, 335 2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,
335 205,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,61,129, 336 205,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15,130,244,62,129,
336 122,253,4,239,255,248,2,15,205,252,233,244,87,248,137,129,252,248,239,15, 337 122,253,4,239,255,248,2,15,205,252,233,244,88,248,138,129,252,248,239,15,
337 130,244,61,129,122,253,4,239,255,248,2,252,247,213,255,248,87,252,242,15, 338 130,244,62,129,122,253,4,239,255,248,2,252,247,213,255,248,88,252,242,15,
338 42,197,252,233,244,70,255,248,133,139,68,36,4,252,233,244,61,255,248,138, 339 42,197,252,233,244,71,255,248,134,139,68,36,4,252,233,244,62,255,248,139,
339 129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,2,129,122,253,12, 340 129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,129,122,253,12,
340 239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129, 341 239,15,133,244,62,139,74,8,255,248,139,129,252,248,239,15,130,244,62,129,
341 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, 342 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,
342 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 343 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
343 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,87,255, 344 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,88,255,
344 248,139,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,139,129,252, 345 248,140,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,140,129,252,
345 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239, 346 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,
346 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15, 347 15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,
347 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201, 348 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,
348 255,211,252,237,252,233,244,87,255,248,140,129,252,248,239,15,130,244,61, 349 255,211,252,237,252,233,244,88,255,248,141,129,252,248,239,15,130,244,62,
349 129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61,129,122,253,4, 350 129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,62,129,122,253,4,
350 239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242, 351 239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,
351 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15, 352 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,
352 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,87,255,248, 353 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,88,255,248,
353 141,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,141,129,252,248, 354 142,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,142,129,252,248,
354 239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131, 355 239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,
355 244,61,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213, 356 244,62,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,
356 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211, 357 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,
357 197,252,233,244,87,255,248,142,129,252,248,239,15,130,244,61,129,122,253, 358 197,252,233,244,88,255,248,143,129,252,248,239,15,130,244,62,129,122,253,
358 4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 359 4,239,255,248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
359 244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74, 360 244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,
360 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102, 361 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,
361 15,126,197,102,15,126,201,255,211,205,252,233,244,87,248,125,184,237,252, 362 15,126,197,102,15,126,201,255,211,205,252,233,244,88,248,126,184,237,252,
362 233,244,61,248,127,184,237,248,61,139,108,36,24,139,90,252,252,137,92,36, 363 233,244,62,248,128,184,237,248,62,139,108,36,24,139,90,252,252,137,92,36,
363 28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, 364 28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,
364 59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192, 365 59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,
365 15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, 366 15,143,244,77,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,
366 139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252,233,15,182,205, 367 139,106,252,248,15,133,244,32,139,157,233,139,11,15,182,252,233,15,182,205,
367 131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195,237,15,133,244, 368 131,195,4,65,252,255,36,252,238,248,32,137,209,252,247,195,237,15,133,244,
368 249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3, 369 249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,
369 137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239, 370 137,221,131,229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,
370 232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,72,137,108,36,8,139, 371 232,251,1,0,139,149,233,49,192,252,233,244,1,248,74,93,72,137,108,36,8,139,
371 108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137, 372 108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,
372 133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, 373 133,233,232,251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,
373 139,108,36,8,85,195,248,143,255,65,15,182,134,233,168,235,15,133,244,251, 374 139,108,36,8,85,195,248,144,255,65,15,182,134,233,168,235,15,133,244,251,
374 168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233, 375 168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,
375 244,247,255,248,144,65,15,182,134,233,168,235,15,133,244,251,252,233,244, 376 244,247,255,248,145,65,15,182,134,233,168,235,15,133,244,251,252,233,244,
376 247,248,145,65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251, 377 247,248,146,65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,
377 65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108, 378 65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,
378 36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248, 379 36,24,137,149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,
379 4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255, 380 4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,
380 164,253,252,238,233,248,146,131,195,4,139,77,232,137,76,36,4,252,233,244, 381 164,253,252,238,233,248,147,131,195,4,139,77,232,137,76,36,4,252,233,244,
381 4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108, 382 4,248,148,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,
382 36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92, 383 36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,
383 36,28,232,251,1,24,252,233,244,3,255,248,148,137,92,36,28,255,248,149,255, 384 36,28,232,251,1,24,252,233,244,3,255,248,149,137,92,36,28,255,248,150,255,
384 137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149, 385 137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,
385 233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255, 386 233,137,133,233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,
386 131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205, 387 131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,
387 15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,150,255,65,85,65,84, 388 15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,151,255,65,85,65,84,
388 65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69, 389 65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,
389 252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,139,117, 390 252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,
390 0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,72,129, 391 0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,
@@ -396,30 +397,30 @@ static const unsigned char build_actionlist[16103] = {
396 17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233, 397 17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,
397 65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26, 398 65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,
398 72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,153, 399 72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,
399 233,252,233,244,247,255,248,151,255,72,131,196,16,248,1,76,139,108,36,8,76, 400 233,252,233,244,247,255,248,152,255,72,131,196,16,248,1,76,139,108,36,8,76,
400 139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191, 401 139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,
401 233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182, 402 233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,
402 204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68, 403 204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,
403 36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232, 404 36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,
404 251,1,1,255,248,89,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, 405 251,1,1,255,248,90,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,
405 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 406 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
406 36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184, 407 36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184,
407 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, 408 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
408 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, 409 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
409 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, 410 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,
410 200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,184,0,8,102, 411 200,15,40,193,248,1,195,248,92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,
411 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, 412 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,
412 217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208, 413 217,108,36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,
413 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, 414 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
414 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, 415 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,
415 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, 416 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,
416 15,92,200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184, 417 15,92,200,15,40,193,248,1,195,248,113,255,217,124,36,4,137,68,36,8,102,184,
417 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, 418 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
418 139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237, 419 139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,72,184,237,237,
419 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 420 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
420 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, 421 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,
421 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, 422 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,
422 86,202,15,40,193,248,1,195,248,155,255,15,40,232,252,242,15,94,193,72,184, 423 86,202,15,40,193,248,1,195,248,156,255,15,40,232,252,242,15,94,193,72,184,
423 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, 424 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,
424 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, 425 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,
425 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, 426 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,
@@ -427,12 +428,12 @@ static const unsigned char build_actionlist[16103] = {
427 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, 428 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,
428 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, 429 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,
429 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, 430 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,
430 252,233,195,255,248,96,217,252,234,222,201,248,156,217,84,36,252,248,129, 431 252,233,195,255,248,97,217,252,234,222,201,248,157,217,84,36,252,248,129,
431 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252, 432 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,
432 255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,201,217,252, 433 255,15,132,244,248,248,158,217,192,217,252,252,220,252,233,217,201,217,252,
433 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238, 434 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,
434 195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208,102,15,46, 435 195,255,248,116,255,248,159,252,242,15,45,193,252,242,15,42,208,102,15,46,
435 202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142,244,252,248, 436 202,15,133,244,254,15,138,244,255,248,160,131,252,248,1,15,142,244,252,248,
436 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248, 437 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,
437 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132, 438 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,
438 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15, 439 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,
@@ -449,28 +450,28 @@ static const unsigned char build_actionlist[16103] = {
449 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, 450 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,
450 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, 451 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,
451 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, 452 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
452 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,160,255, 453 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,161,255,
453 131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,244,112,15, 454 131,252,255,1,15,130,244,90,15,132,244,92,131,252,255,3,15,130,244,113,15,
454 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68, 455 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,
455 36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,96,252,233, 456 36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,97,252,233,
456 244,253,248,1,232,244,156,255,252,233,244,253,248,2,131,252,255,7,15,132, 457 244,253,248,1,232,244,157,255,252,233,244,253,248,2,131,252,255,7,15,132,
457 244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248, 458 244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,
458 1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132, 459 1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,
459 244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248, 460 244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,
460 1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15, 461 1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,
461 135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221, 462 135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,
462 92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36, 463 92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,
463 4,131,252,255,1,15,130,244,89,15,132,244,91,131,252,255,3,15,130,244,112, 464 4,131,252,255,1,15,130,244,90,15,132,244,92,131,252,255,3,15,130,244,113,
464 15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,96,15,132,244, 465 15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,97,15,132,244,
465 156,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 466 157,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
466 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, 467 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,
467 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 468 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
468 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, 469 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,
469 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,161,255,131,252,255, 470 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,162,255,131,252,255,
470 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, 471 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
471 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, 472 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,
472 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,155,15,132, 473 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,156,15,132,
473 244,115,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, 474 244,116,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
474 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, 475 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
475 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, 476 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,
476 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, 477 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,
@@ -480,14 +481,14 @@ static const unsigned char build_actionlist[16103] = {
480 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 481 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
481 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 482 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
482 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 483 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
483 252,248,5,15,130,244,155,15,132,244,115,131,252,248,7,15,132,244,247,15,135, 484 252,248,5,15,130,244,156,15,132,244,116,131,252,248,7,15,132,244,247,15,135,
484 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 485 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
485 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 486 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
486 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 487 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
487 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 488 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
488 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 489 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
489 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 490 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
490 162,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,163, 491 163,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,164,
491 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, 492 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139,
492 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, 493 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,
493 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, 494 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233,
@@ -495,7 +496,7 @@ static const unsigned char build_actionlist[16103] = {
495 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40, 496 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40,
496 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, 497 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179,
497 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, 498 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137,
498 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,164,255,249,255, 499 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,165,255,249,255,
499 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254, 500 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,
500 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255, 501 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,
501 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253, 502 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,
@@ -556,240 +557,242 @@ static const unsigned char build_actionlist[16103] = {
556 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255, 557 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,
557 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, 558 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
558 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 559 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
559 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,56,139,60,194,137, 560 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,56,139,60,194,255,
560 213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253, 561 139,175,233,131,252,253,0,15,133,244,255,248,3,255,248,57,137,213,232,251,
561 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239, 562 1,21,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,244,
562 15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65,3, 563 1,255,248,9,252,246,133,233,235,15,133,244,3,252,233,244,56,255,15,182,252,
563 44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129,124, 564 236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,
564 253,199,4,239,15,133,244,52,65,139,4,199,3,4,252,234,15,128,244,51,255,129, 565 199,4,239,15,133,244,50,139,44,252,234,65,3,44,199,15,128,244,49,255,129,
565 124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139, 566 124,253,252,234,4,239,15,133,244,52,65,129,124,253,199,4,239,15,133,244,52,
566 44,252,234,3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252, 567 65,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,
567 234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252, 568 244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,3,44,194,15,128,
568 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199, 569 244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,50,255,
569 255,129,124,253,252,234,4,239,15,131,244,52,255,65,129,124,253,199,4,239, 570 65,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,252,234,252,242,
570 15,131,244,52,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, 571 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,
571 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129,124,253, 572 15,131,244,52,255,65,129,124,253,199,4,239,15,131,244,52,255,252,242,65,15,
572 194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, 573 16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234,255,129,124,
573 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,50,65,129, 574 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252,
574 124,253,199,4,239,15,133,244,50,139,44,252,234,65,43,44,199,15,128,244,49, 575 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,
575 255,129,124,253,252,234,4,239,15,133,244,52,65,129,124,253,199,4,239,15,133, 576 124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,
576 244,52,65,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,234,4, 577 139,44,252,234,65,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,
577 239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,43,44, 578 133,244,52,65,129,124,253,199,4,239,15,133,244,52,65,139,4,199,43,4,252,234,
578 194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255, 579 15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,
579 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252, 580 4,239,15,133,244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,
580 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15, 581 16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234,65,220,36,199,255,252,
581 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133, 582 242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221,4,199,220,36,252,234,
582 244,50,65,129,124,253,199,4,239,15,133,244,50,139,44,252,234,65,15,175,44, 583 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,
583 199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,65,129,124, 584 194,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,
584 253,199,4,239,15,133,244,52,65,139,4,199,15,175,4,252,234,15,128,244,51,255, 585 15,133,244,50,139,44,252,234,65,15,175,44,199,15,128,244,49,255,129,124,253,
585 129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244, 586 252,234,4,239,15,133,244,52,65,129,124,253,199,4,239,15,133,244,52,65,139,
586 55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16,4,252,234, 587 4,199,15,175,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,
587 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, 588 244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,15,175,44,194,15,
588 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, 589 128,244,54,255,252,242,15,16,4,252,234,252,242,65,15,89,4,199,255,221,4,252,
589 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 590 234,65,220,12,199,255,252,242,65,15,16,4,199,252,242,15,89,4,252,234,255,
590 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52, 591 65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
591 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220, 592 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,65,15,94,
592 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252, 593 4,199,255,221,4,252,234,65,220,52,199,255,252,242,65,15,16,4,199,252,242,
593 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, 594 15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,
594 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, 595 252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,
595 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, 596 234,252,242,65,15,16,12,199,255,221,4,252,234,65,221,4,199,255,252,242,65,
596 12,194,255,221,4,252,234,221,4,194,255,248,165,232,244,155,255,252,233,244, 597 15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,
597 165,255,232,244,115,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, 598 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,
598 141,52,194,137,194,41,252,234,248,35,137,252,253,137,92,36,28,232,251,1,27, 599 248,166,232,244,156,255,252,233,244,166,255,232,244,116,255,15,182,252,236,
599 139,149,233,133,192,15,133,244,44,15,182,107,252,255,15,182,75,252,253,72, 600 15,182,192,139,124,36,24,137,151,233,141,52,194,137,194,41,252,234,248,35,
600 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, 601 137,252,253,137,92,36,28,232,251,1,27,139,149,233,133,192,15,133,244,44,15,
601 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237, 602 182,107,252,255,15,182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,
602 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 603 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,
603 252,238,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242, 604 247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,
604 15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,202,255,252,242,65, 605 131,195,4,193,232,16,65,252,255,36,252,238,255,15,191,192,199,68,202,4,237,
605 15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247, 606 137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,
606 208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, 607 252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,
607 255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248, 608 221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,
608 1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,182,232,131,195, 609 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,
609 4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,133,233, 610 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
610 139,173,233,72,139,69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195, 611 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
611 4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233, 612 255,139,106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,
612 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132, 613 202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
613 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, 614 255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,
614 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252, 615 194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,
615 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213, 616 133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
616 65,141,190,233,255,232,251,1,28,137,252,234,252,233,244,1,255,72,252,247, 617 255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,
617 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199, 618 233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,28,
618 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, 619 137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,
619 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235, 620 141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,
620 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232, 621 15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
621 251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15, 622 252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,
622 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, 623 132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,252,234,252,233,
623 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, 624 244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,
624 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, 625 233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,
625 255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149, 626 252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,
626 233,141,52,202,137,252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204, 627 232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,
627 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208, 628 108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,
628 139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, 629 232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,
629 36,28,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, 630 232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,
630 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, 631 139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,30,139,149,
631 139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131, 632 233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,
632 244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15, 633 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,149,
633 132,244,249,248,2,137,252,239,137,198,232,251,1,31,139,149,233,15,182,75, 634 233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,194,
634 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, 635 37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,
635 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137, 636 252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202,199,
636 252,239,232,251,1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139, 637 68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
637 108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244, 638 36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,1,32,
638 249,248,2,65,139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252, 639 15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,
639 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, 640 233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,
640 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252, 641 135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,4,202,199,
641 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, 642 68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
642 233,65,139,4,135,252,233,244,166,255,72,252,247,208,139,106,252,248,139,173, 643 36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,247,208,
643 233,65,139,4,135,252,233,244,167,255,15,182,252,236,15,182,192,129,124,253, 644 252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,
644 252,234,4,239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133, 645 252,233,244,167,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,
645 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15, 646 252,233,244,168,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
646 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244, 647 133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,
647 38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15, 648 194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,
648 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131, 649 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,38,255,59,133,
649 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249, 650 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,
650 139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,253,248,3,199, 651 139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
651 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,38, 652 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
652 139,4,194,252,233,244,166,255,15,182,252,236,15,182,192,72,252,247,208,65, 653 246,129,233,235,15,132,244,38,15,182,75,252,253,248,3,199,68,202,4,237,252,
653 139,4,135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,166, 654 233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,38,139,4,194,252,233,
654 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 655 244,167,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,
655 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 656 253,252,234,4,239,15,133,244,36,139,44,252,234,248,167,139,141,233,35,136,
656 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, 657 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,
657 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, 658 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139,
658 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, 659 41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,
659 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, 660 16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233,
660 36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37, 661 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
661 139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4, 662 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,36,255,15,182,252,
662 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, 663 236,15,182,192,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,59,
663 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, 664 133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
664 244,249,139,141,233,252,246,129,233,235,15,132,244,37,255,15,182,75,252,253, 665 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,
665 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, 666 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,
666 253,252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244,41,255,59,133, 667 246,129,233,235,15,132,244,37,255,15,182,75,252,253,248,3,199,68,202,4,237,
667 233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, 668 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,
668 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, 669 133,244,41,139,44,252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,
669 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, 670 193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,
670 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,41, 671 235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,15,182,204,15,182,
671 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41, 672 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132,
672 139,4,194,252,233,244,167,248,7,128,165,233,235,65,139,142,233,65,137,174, 673 244,1,139,141,233,252,246,129,233,235,255,15,132,244,41,15,182,75,252,253,
673 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, 674 252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,
674 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139, 675 244,168,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15,
675 44,252,234,248,167,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, 676 182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208,
676 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, 677 65,139,4,135,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,248,168,
677 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, 678 139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,
678 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, 679 233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,
679 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, 680 244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252,
680 12,36,139,141,233,252,246,129,233,235,15,132,244,39,139,12,36,252,233,244, 681 253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,195,4,193,232,
681 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 682 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,
682 252,252,246,129,233,235,15,132,244,39,248,6,137,4,36,199,68,36,4,237,137, 683 233,252,246,129,233,235,15,132,244,39,139,12,36,252,233,244,2,248,5,139,137,
683 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, 684 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
684 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248, 685 233,235,15,132,244,39,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124,
685 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, 686 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251,
686 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139, 687 1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235,
687 44,252,234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239, 688 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236,
688 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 689 15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252,234,59,133,
689 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 690 233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
690 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 691 1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,72,137,8,139,3,15,
691 15,132,244,40,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, 692 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,
692 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, 693 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,40,15,182,
693 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, 694 75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,
694 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, 695 233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,69,139,60,
695 59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72, 696 199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,
696 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139, 697 2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,133,233,15,135,244,
697 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 698 251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,139,41,131,193,8,73,
698 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, 699 137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182,
699 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, 700 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,139,124,36,
700 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, 701 24,137,151,233,137,252,238,137,194,137,252,253,137,92,36,28,232,251,1,35,
701 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8, 702 139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,128,165,233,235,65,
702 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, 703 139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,3,68,36,4,255,129,
703 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, 704 124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,90,252,252,139,
704 252,252,239,15,133,244,29,248,58,139,90,252,252,252,247,195,237,15,133,244,
705 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,
706 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,
707 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,
708 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,
709 195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,
710 252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,
711 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,
712 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,
713 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,
714 65,252,252,129,252,248,239,184,237,15,133,244,29,137,202,137,90,252,252,139,
715 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, 705 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
716 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68, 706 255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
717 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65, 707 244,29,248,59,139,90,252,252,252,247,195,237,15,133,244,253,248,1,137,106,
718 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44, 708 252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,73,
719 199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252, 709 137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,
720 254,141,156,253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204, 710 4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252,233,15,
721 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255, 711 182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237,15,133,
722 137,68,202,252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233, 712 244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248,69,139,
723 15,135,244,3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244, 713 191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,252,247,195,237,
724 253,70,141,116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68, 714 15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,1,248,8,129,195,
725 202,8,68,137,116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6, 715 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,
726 255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,124,253, 716 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129,
727 202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,244,251, 717 252,248,239,184,237,15,133,244,29,137,202,137,90,252,252,139,157,233,139,
728 128,189,233,235,15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0, 718 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,68,137,60,
729 0,0,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 719 36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,139,181,233,
730 252,238,248,5,198,67,252,252,235,141,156,253,131,233,198,3,235,252,233,244, 720 131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,129,124,253,
731 1,255,15,182,252,236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12, 721 199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,199,72,137,
732 202,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248, 722 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,254,141,156,
733 65,57,215,15,131,244,248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131, 723 253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,
734 193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237, 724 131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,137,68,202,
735 131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15, 725 252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,
736 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0, 726 3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,253,70,141,
737 0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137, 727 116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,
738 108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71, 728 116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
739 252,248,65,131,199,8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244, 729 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
740 3,248,7,137,149,233,137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252, 730 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
741 238,1,137,252,239,232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244, 731 15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,
742 6,255,193,225,3,255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133, 732 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,
743 244,253,255,248,13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15, 733 67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,1,255,15,182,252,
744 73,137,111,252,248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4, 734 236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,
745 15,182,107,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106, 735 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,
746 252,248,255,248,5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252, 736 248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,
747 247,209,141,20,202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3, 737 131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,
748 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255, 738 15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,
749 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, 739 232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,
750 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, 740 248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,
751 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233, 741 24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,252,248,65,131,199,
752 1,15,132,244,147,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, 742 8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,
753 129,121,253,12,239,15,133,244,59,129,121,253,20,239,15,133,244,59,139,41, 743 137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,
754 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,164,129,121, 744 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3,
755 253,20,239,15,133,244,164,255,139,105,16,133,252,237,15,136,244,251,3,41, 745 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248,
756 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, 746 13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,
757 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, 747 248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,
758 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, 748 255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248,
759 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 749 5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20,
760 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, 750 202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15,
761 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, 751 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252,
762 9,255,129,121,253,4,239,255,15,131,244,59,129,121,253,12,239,15,131,244,59, 752 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,
763 255,129,121,253,12,239,15,131,244,164,129,121,253,20,239,15,131,244,164,255, 753 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,
764 139,105,20,255,129,252,253,239,15,131,244,59,255,252,242,15,16,1,252,242, 754 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,
765 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, 755 148,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,
766 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, 756 239,15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15,
767 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, 757 140,244,251,255,129,121,253,12,239,15,133,244,165,129,121,253,20,239,15,133,
768 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131, 758 244,165,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,
769 244,7,255,15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183, 759 41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
770 67,252,254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131, 760 156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245,248,
771 233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252, 761 1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7,139,
772 253,239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233, 762 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,
773 245,255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139, 763 255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15,
774 142,233,139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174, 764 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,
775 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, 765 121,253,4,239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129,
776 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 766 121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,139,105,
777 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15, 767 20,255,129,252,253,239,15,131,244,60,255,252,242,15,16,1,252,242,15,16,73,
778 132,244,149,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135, 768 8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,
779 244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252, 769 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,
780 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252, 770 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,
781 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252, 771 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,7,255,
782 68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,137, 772 15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
783 209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57, 773 254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,233,255,
784 209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137, 774 248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,
785 120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68, 775 15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,
786 139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 776 141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,233,
787 252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233, 777 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137,
788 244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248, 778 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233,
789 137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252, 779 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
790 239,255,15,135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,255, 780 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,150,
791 150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233, 781 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,24,15,182,
792 139,90,252,252,252,233,244,12,255,254,0 782 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255,
783 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
784 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120,
785 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,137,209,137,194,
786 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
787 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192,
788 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233,
789 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,
790 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,
791 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233,
792 141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239,255,15,
793 135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255,
794 65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,
795 252,252,233,244,12,255,254,0
793}; 796};
794 797
795enum { 798enum {
@@ -840,6 +843,7 @@ enum {
840 GLOB_vmeta_arith_vvo, 843 GLOB_vmeta_arith_vvo,
841 GLOB_vmeta_arith_vv, 844 GLOB_vmeta_arith_vv,
842 GLOB_vmeta_len, 845 GLOB_vmeta_len,
846 GLOB_BC_LEN_Z,
843 GLOB_vmeta_call_ra, 847 GLOB_vmeta_call_ra,
844 GLOB_BC_CALLT_Z, 848 GLOB_BC_CALLT_Z,
845 GLOB_vmeta_for, 849 GLOB_vmeta_for,
@@ -1001,6 +1005,7 @@ static const char *const globnames[] = {
1001 "vmeta_arith_vvo", 1005 "vmeta_arith_vvo",
1002 "vmeta_arith_vv", 1006 "vmeta_arith_vv",
1003 "vmeta_len", 1007 "vmeta_len",
1008 "BC_LEN_Z",
1004 "vmeta_call_ra", 1009 "vmeta_call_ra",
1005 "BC_CALLT_Z", 1010 "BC_CALLT_Z",
1006 "vmeta_for", 1011 "vmeta_for",
@@ -1216,637 +1221,642 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1216#if LJ_DUALNUM 1221#if LJ_DUALNUM
1217 dasm_put(Dst, 1474); 1222 dasm_put(Dst, 1474);
1218#endif 1223#endif
1219 dasm_put(Dst, 1522, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1224 dasm_put(Dst, 1522, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1220 dasm_put(Dst, 1654, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1225#ifdef LUAJIT_ENABLE_LUA52COMPAT
1221 dasm_put(Dst, 1838, 1+1, ~LJ_TNUMX); 1226 dasm_put(Dst, 1624);
1227#else
1228 dasm_put(Dst, 1643);
1229#endif
1230 dasm_put(Dst, 1648, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1231 dasm_put(Dst, 1834, 1+1, ~LJ_TNUMX);
1222 if (cmov) { 1232 if (cmov) {
1223 dasm_put(Dst, 1883); 1233 dasm_put(Dst, 1903);
1224 } else { 1234 } else {
1225 dasm_put(Dst, 1887); 1235 dasm_put(Dst, 1907);
1226 } 1236 }
1227 dasm_put(Dst, 1896, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1237 dasm_put(Dst, 1916, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1228 dasm_put(Dst, 1975, 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)); 1238 dasm_put(Dst, 1995, 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));
1229 dasm_put(Dst, 2033, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD); 1239 dasm_put(Dst, 2053, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1230 dasm_put(Dst, 2099, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB); 1240 dasm_put(Dst, 2119, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1231 dasm_put(Dst, 2170, 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); 1241 dasm_put(Dst, 2190, 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);
1232 dasm_put(Dst, 2260, 1+1, LJ_TISNUM); 1242 dasm_put(Dst, 2280, 1+1, LJ_TISNUM);
1233 if (LJ_DUALNUM) { 1243 if (LJ_DUALNUM) {
1234 dasm_put(Dst, 2274); 1244 dasm_put(Dst, 2294);
1235 } else { 1245 } else {
1236 dasm_put(Dst, 2291); 1246 dasm_put(Dst, 2311);
1237 } 1247 }
1238 if (sse) { 1248 if (sse) {
1239 dasm_put(Dst, 2296); 1249 dasm_put(Dst, 2316);
1240 } else { 1250 } else {
1241 dasm_put(Dst, 2306); 1251 dasm_put(Dst, 2326);
1242 } 1252 }
1243 dasm_put(Dst, 2313, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1253 dasm_put(Dst, 2333, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1244 dasm_put(Dst, 2382, Dt1(->base)); 1254 dasm_put(Dst, 2402, Dt1(->base));
1245 if (LJ_DUALNUM) { 1255 if (LJ_DUALNUM) {
1246 dasm_put(Dst, 2408); 1256 dasm_put(Dst, 2428);
1247 } else { 1257 } else {
1248 dasm_put(Dst, 2413); 1258 dasm_put(Dst, 2433);
1249 } 1259 }
1250 dasm_put(Dst, 2418, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1260 dasm_put(Dst, 2438, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1251 dasm_put(Dst, 2510, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1261 dasm_put(Dst, 2530, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1252#ifdef LUAJIT_ENABLE_LUA52COMPAT 1262#ifdef LUAJIT_ENABLE_LUA52COMPAT
1253 dasm_put(Dst, 2557, Dt6(->metatable)); 1263 dasm_put(Dst, 2577, Dt6(->metatable));
1254#endif 1264#endif
1255 dasm_put(Dst, 2566, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1265 dasm_put(Dst, 2586, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1256 if (LJ_DUALNUM) { 1266 if (LJ_DUALNUM) {
1257 dasm_put(Dst, 2552); 1267 dasm_put(Dst, 2572);
1258 } else { 1268 } else {
1259 dasm_put(Dst, 2291); 1269 dasm_put(Dst, 2311);
1260 } 1270 }
1261 dasm_put(Dst, 2621); 1271 dasm_put(Dst, 2641);
1262 if (LJ_DUALNUM) { 1272 if (LJ_DUALNUM) {
1263 dasm_put(Dst, 2626, LJ_TISNUM); 1273 dasm_put(Dst, 2646, LJ_TISNUM);
1264 } else if (sse) { 1274 } else if (sse) {
1265 dasm_put(Dst, 2642, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1275 dasm_put(Dst, 2662, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1266 } else { 1276 } else {
1267 } 1277 }
1268 dasm_put(Dst, 2675, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1278 dasm_put(Dst, 2695, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1269 dasm_put(Dst, 2537, 1+1, LJ_TTAB); 1279 dasm_put(Dst, 2557, 1+1, LJ_TTAB);
1270#ifdef LUAJIT_ENABLE_LUA52COMPAT 1280#ifdef LUAJIT_ENABLE_LUA52COMPAT
1271 dasm_put(Dst, 2557, Dt6(->metatable)); 1281 dasm_put(Dst, 2577, Dt6(->metatable));
1272#endif 1282#endif
1273 dasm_put(Dst, 2752, Dt8(->upvalue[0]), LJ_TFUNC); 1283 dasm_put(Dst, 2772, Dt8(->upvalue[0]), LJ_TFUNC);
1274 if (LJ_DUALNUM) { 1284 if (LJ_DUALNUM) {
1275 dasm_put(Dst, 2773, LJ_TISNUM); 1285 dasm_put(Dst, 2793, LJ_TISNUM);
1276 } else if (sse) { 1286 } else if (sse) {
1277 dasm_put(Dst, 2785); 1287 dasm_put(Dst, 2805);
1278 } else { 1288 } else {
1279 dasm_put(Dst, 2795); 1289 dasm_put(Dst, 2815);
1280 } 1290 }
1281 dasm_put(Dst, 2802, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1291 dasm_put(Dst, 2822, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1282 dasm_put(Dst, 2867, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1292 dasm_put(Dst, 2887, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1283 dasm_put(Dst, 2956, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1293 dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1284 dasm_put(Dst, 3043, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1294 dasm_put(Dst, 3063, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1285 dasm_put(Dst, 3158, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1295 dasm_put(Dst, 3178, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1286 dasm_put(Dst, 3253, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1296 dasm_put(Dst, 3273, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1287 dasm_put(Dst, 3319, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1297 dasm_put(Dst, 3339, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1288 dasm_put(Dst, 3408, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1298 dasm_put(Dst, 3428, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1289 dasm_put(Dst, 3518, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1299 dasm_put(Dst, 3538, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1290 if (!LJ_DUALNUM) { 1300 if (!LJ_DUALNUM) {
1291 dasm_put(Dst, 3545); 1301 dasm_put(Dst, 3565);
1292 } 1302 }
1293 if (sse) { 1303 if (sse) {
1294 dasm_put(Dst, 3548); 1304 dasm_put(Dst, 3568);
1295 } 1305 }
1296 dasm_put(Dst, 3563, 1+1); 1306 dasm_put(Dst, 3583, 1+1);
1297 if (LJ_DUALNUM) { 1307 if (LJ_DUALNUM) {
1298 dasm_put(Dst, 3574, LJ_TISNUM, LJ_TISNUM); 1308 dasm_put(Dst, 3594, LJ_TISNUM, LJ_TISNUM);
1299 } else { 1309 } else {
1300 dasm_put(Dst, 3654, LJ_TISNUM); 1310 dasm_put(Dst, 3674, LJ_TISNUM);
1301 } 1311 }
1302 if (sse) { 1312 if (sse) {
1303 dasm_put(Dst, 3664, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1313 dasm_put(Dst, 3684, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1304 } else { 1314 } else {
1305 dasm_put(Dst, 3695); 1315 dasm_put(Dst, 3715);
1306 } 1316 }
1307 dasm_put(Dst, 3712, 1+1, FRAME_TYPE, LJ_TNIL); 1317 dasm_put(Dst, 3732, 1+1, FRAME_TYPE, LJ_TNIL);
1308 if (LJ_DUALNUM) { 1318 if (LJ_DUALNUM) {
1309 dasm_put(Dst, 3809, LJ_TISNUM); 1319 dasm_put(Dst, 3829, LJ_TISNUM);
1310 } else { 1320 } else {
1311 dasm_put(Dst, 3654, LJ_TISNUM); 1321 dasm_put(Dst, 3674, LJ_TISNUM);
1312 } 1322 }
1313 if (sse) { 1323 if (sse) {
1314 dasm_put(Dst, 3831); 1324 dasm_put(Dst, 3851);
1315 if (LJ_DUALNUM) { 1325 if (LJ_DUALNUM) {
1316 dasm_put(Dst, 3840); 1326 dasm_put(Dst, 3860);
1317 } 1327 }
1318 dasm_put(Dst, 2301); 1328 dasm_put(Dst, 2321);
1319 } else { 1329 } else {
1320 dasm_put(Dst, 3874); 1330 dasm_put(Dst, 3894);
1321 if (LJ_DUALNUM) { 1331 if (LJ_DUALNUM) {
1322 } else { 1332 } else {
1323 dasm_put(Dst, 2308); 1333 dasm_put(Dst, 2328);
1324 } 1334 }
1325 } 1335 }
1326 dasm_put(Dst, 3880); 1336 dasm_put(Dst, 3900);
1327 if (LJ_DUALNUM) { 1337 if (LJ_DUALNUM) {
1328 dasm_put(Dst, 3809, LJ_TISNUM); 1338 dasm_put(Dst, 3829, LJ_TISNUM);
1329 } else { 1339 } else {
1330 dasm_put(Dst, 3654, LJ_TISNUM); 1340 dasm_put(Dst, 3674, LJ_TISNUM);
1331 } 1341 }
1332 if (sse) { 1342 if (sse) {
1333 dasm_put(Dst, 3883); 1343 dasm_put(Dst, 3903);
1334 if (LJ_DUALNUM) { 1344 if (LJ_DUALNUM) {
1335 dasm_put(Dst, 3840); 1345 dasm_put(Dst, 3860);
1336 } 1346 }
1337 dasm_put(Dst, 2301); 1347 dasm_put(Dst, 2321);
1338 } else { 1348 } else {
1339 dasm_put(Dst, 3892); 1349 dasm_put(Dst, 3912);
1340 if (LJ_DUALNUM) { 1350 if (LJ_DUALNUM) {
1341 } else { 1351 } else {
1342 dasm_put(Dst, 2308); 1352 dasm_put(Dst, 2328);
1343 } 1353 }
1344 } 1354 }
1345 if (sse) { 1355 if (sse) {
1346 dasm_put(Dst, 3898, 1+1, LJ_TISNUM); 1356 dasm_put(Dst, 3918, 1+1, LJ_TISNUM);
1347 } else { 1357 } else {
1348 dasm_put(Dst, 3927, 1+1, LJ_TISNUM); 1358 dasm_put(Dst, 3947, 1+1, LJ_TISNUM);
1349 } 1359 }
1350 dasm_put(Dst, 3956, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1360 dasm_put(Dst, 3976, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1351 dasm_put(Dst, 4025, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1361 dasm_put(Dst, 4045, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1352 dasm_put(Dst, 4082, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1362 dasm_put(Dst, 4102, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1353 dasm_put(Dst, 4145, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1363 dasm_put(Dst, 4165, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1354 dasm_put(Dst, 4235); 1364 dasm_put(Dst, 4255);
1355 if (sse) { 1365 if (sse) {
1356 dasm_put(Dst, 4247, 1+1, LJ_TISNUM); 1366 dasm_put(Dst, 4267, 1+1, LJ_TISNUM);
1357 } else { 1367 } else {
1358 } 1368 }
1359 dasm_put(Dst, 4272); 1369 dasm_put(Dst, 4292);
1360 if (sse) { 1370 if (sse) {
1361 dasm_put(Dst, 4286, 1+1, LJ_TISNUM); 1371 dasm_put(Dst, 4306, 1+1, LJ_TISNUM);
1362 } else { 1372 } else {
1363 } 1373 }
1364 dasm_put(Dst, 4311); 1374 dasm_put(Dst, 4331);
1365 if (sse) { 1375 if (sse) {
1366 dasm_put(Dst, 4325, 1+1, LJ_TISNUM); 1376 dasm_put(Dst, 4345, 1+1, LJ_TISNUM);
1367 } else { 1377 } else {
1368 } 1378 }
1369 dasm_put(Dst, 4350); 1379 dasm_put(Dst, 4370);
1370 if (sse) { 1380 if (sse) {
1371 dasm_put(Dst, 4366, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1381 dasm_put(Dst, 4386, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1372 } else { 1382 } else {
1373 dasm_put(Dst, 4405, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1383 dasm_put(Dst, 4425, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1374 } 1384 }
1375 dasm_put(Dst, 4438, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1385 dasm_put(Dst, 4458, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1376 dasm_put(Dst, 4503, 1+1, LJ_TISNUM); 1386 dasm_put(Dst, 4523, 1+1, LJ_TISNUM);
1377 if (sse) { 1387 if (sse) {
1378 dasm_put(Dst, 4602); 1388 dasm_put(Dst, 4622);
1379 } else { 1389 } else {
1380 dasm_put(Dst, 4608); 1390 dasm_put(Dst, 4628);
1381 } 1391 }
1382 dasm_put(Dst, 4615); 1392 dasm_put(Dst, 4635);
1383 if (sse) { 1393 if (sse) {
1384 dasm_put(Dst, 4640); 1394 dasm_put(Dst, 4660);
1385 } else { 1395 } else {
1386 dasm_put(Dst, 4646); 1396 dasm_put(Dst, 4666);
1387 } 1397 }
1388 dasm_put(Dst, 4649, 1+2); 1398 dasm_put(Dst, 4669, 1+2);
1389 if (sse) { 1399 if (sse) {
1390 dasm_put(Dst, 4658); 1400 dasm_put(Dst, 4678);
1391 } else { 1401 } else {
1392 dasm_put(Dst, 4666); 1402 dasm_put(Dst, 4686);
1393 } 1403 }
1394 dasm_put(Dst, 4674); 1404 dasm_put(Dst, 4694);
1395 if (sse) { 1405 if (sse) {
1396 dasm_put(Dst, 4677, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1406 dasm_put(Dst, 4697, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1397 } else { 1407 } else {
1398 dasm_put(Dst, 4704); 1408 dasm_put(Dst, 4724);
1399 } 1409 }
1400 dasm_put(Dst, 4721); 1410 dasm_put(Dst, 4741);
1401 if (sse) { 1411 if (sse) {
1402 dasm_put(Dst, 4737, 1+1, LJ_TISNUM); 1412 dasm_put(Dst, 4757, 1+1, LJ_TISNUM);
1403 } else { 1413 } else {
1404 dasm_put(Dst, 4762, 1+1, LJ_TISNUM); 1414 dasm_put(Dst, 4782, 1+1, LJ_TISNUM);
1405 } 1415 }
1406 dasm_put(Dst, 4784); 1416 dasm_put(Dst, 4804);
1407 if (sse) { 1417 if (sse) {
1408 dasm_put(Dst, 4806); 1418 dasm_put(Dst, 4826);
1409 } else { 1419 } else {
1410 dasm_put(Dst, 4832); 1420 dasm_put(Dst, 4852);
1411 } 1421 }
1412 dasm_put(Dst, 4849, 1+2); 1422 dasm_put(Dst, 4869, 1+2);
1413 if (sse) { 1423 if (sse) {
1414 dasm_put(Dst, 4889); 1424 dasm_put(Dst, 4909);
1415 } else { 1425 } else {
1416 dasm_put(Dst, 4897); 1426 dasm_put(Dst, 4917);
1417 } 1427 }
1418 dasm_put(Dst, 4907, 2+1, LJ_TISNUM, LJ_TISNUM); 1428 dasm_put(Dst, 4927, 2+1, LJ_TISNUM, LJ_TISNUM);
1419 if (sse) { 1429 if (sse) {
1420 dasm_put(Dst, 4959, 2+1, LJ_TISNUM, LJ_TISNUM); 1430 dasm_put(Dst, 4979, 2+1, LJ_TISNUM, LJ_TISNUM);
1421 } else { 1431 } else {
1422 dasm_put(Dst, 5006, 2+1, LJ_TISNUM, LJ_TISNUM); 1432 dasm_put(Dst, 5026, 2+1, LJ_TISNUM, LJ_TISNUM);
1423 } 1433 }
1424 dasm_put(Dst, 5047, LJ_TISNUM); 1434 dasm_put(Dst, 5067, LJ_TISNUM);
1425 if (LJ_DUALNUM) { 1435 if (LJ_DUALNUM) {
1426 dasm_put(Dst, 5060, LJ_TISNUM); 1436 dasm_put(Dst, 5080, LJ_TISNUM);
1427 if (sse) { 1437 if (sse) {
1428 dasm_put(Dst, 4602); 1438 dasm_put(Dst, 4622);
1429 } else { 1439 } else {
1430 } 1440 }
1431 dasm_put(Dst, 5110); 1441 dasm_put(Dst, 5130);
1432 } else { 1442 } else {
1433 dasm_put(Dst, 2291); 1443 dasm_put(Dst, 2311);
1434 } 1444 }
1435 if (sse) { 1445 if (sse) {
1436 dasm_put(Dst, 5121, LJ_TISNUM); 1446 dasm_put(Dst, 5141, LJ_TISNUM);
1437 if (LJ_DUALNUM) { 1447 if (LJ_DUALNUM) {
1438 dasm_put(Dst, 5142); 1448 dasm_put(Dst, 5162);
1439 } else { 1449 } else {
1440 dasm_put(Dst, 2291); 1450 dasm_put(Dst, 2311);
1441 } 1451 }
1442 dasm_put(Dst, 5163); 1452 dasm_put(Dst, 5183);
1443 } else { 1453 } else {
1444 } 1454 }
1445 dasm_put(Dst, 5188, LJ_TISNUM); 1455 dasm_put(Dst, 5208, LJ_TISNUM);
1446 if (LJ_DUALNUM) { 1456 if (LJ_DUALNUM) {
1447 dasm_put(Dst, 5201, LJ_TISNUM); 1457 dasm_put(Dst, 5221, LJ_TISNUM);
1448 if (sse) { 1458 if (sse) {
1449 dasm_put(Dst, 4602); 1459 dasm_put(Dst, 4622);
1450 } else { 1460 } else {
1451 } 1461 }
1452 dasm_put(Dst, 5110); 1462 dasm_put(Dst, 5130);
1453 } else { 1463 } else {
1454 dasm_put(Dst, 2291); 1464 dasm_put(Dst, 2311);
1455 } 1465 }
1456 if (sse) { 1466 if (sse) {
1457 dasm_put(Dst, 5121, LJ_TISNUM); 1467 dasm_put(Dst, 5141, LJ_TISNUM);
1458 if (LJ_DUALNUM) { 1468 if (LJ_DUALNUM) {
1459 dasm_put(Dst, 5142); 1469 dasm_put(Dst, 5162);
1460 } else { 1470 } else {
1461 dasm_put(Dst, 2291); 1471 dasm_put(Dst, 2311);
1462 } 1472 }
1463 dasm_put(Dst, 5251); 1473 dasm_put(Dst, 5271);
1464 } else { 1474 } else {
1465 } 1475 }
1466 if (!sse) { 1476 if (!sse) {
1467 dasm_put(Dst, 5276); 1477 dasm_put(Dst, 5296);
1468 } 1478 }
1469 dasm_put(Dst, 5285, 1+1, LJ_TSTR); 1479 dasm_put(Dst, 5305, 1+1, LJ_TSTR);
1470 if (LJ_DUALNUM) { 1480 if (LJ_DUALNUM) {
1471 dasm_put(Dst, 5307, Dt5(->len)); 1481 dasm_put(Dst, 5327, Dt5(->len));
1472 } else if (sse) { 1482 } else if (sse) {
1473 dasm_put(Dst, 5315, Dt5(->len)); 1483 dasm_put(Dst, 5335, Dt5(->len));
1474 } else { 1484 } else {
1475 dasm_put(Dst, 5326, Dt5(->len)); 1485 dasm_put(Dst, 5346, Dt5(->len));
1476 } 1486 }
1477 dasm_put(Dst, 5334, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1487 dasm_put(Dst, 5354, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1478 if (LJ_DUALNUM) { 1488 if (LJ_DUALNUM) {
1479 dasm_put(Dst, 5310); 1489 dasm_put(Dst, 5330);
1480 } else if (sse) { 1490 } else if (sse) {
1481 dasm_put(Dst, 5372); 1491 dasm_put(Dst, 5392);
1482 } else { 1492 } else {
1483 dasm_put(Dst, 5382); 1493 dasm_put(Dst, 5402);
1484 } 1494 }
1485 dasm_put(Dst, 5393, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1495 dasm_put(Dst, 5413, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1486 if (LJ_DUALNUM) { 1496 if (LJ_DUALNUM) {
1487 dasm_put(Dst, 5426); 1497 dasm_put(Dst, 5446);
1488 } else if (sse) { 1498 } else if (sse) {
1489 dasm_put(Dst, 5449); 1499 dasm_put(Dst, 5469);
1490 } else { 1500 } else {
1491 dasm_put(Dst, 5475); 1501 dasm_put(Dst, 5495);
1492 } 1502 }
1493 dasm_put(Dst, 5499, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1503 dasm_put(Dst, 5519, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1494 if (LJ_DUALNUM) { 1504 if (LJ_DUALNUM) {
1495 dasm_put(Dst, 5608); 1505 dasm_put(Dst, 5628);
1496 } else if (sse) { 1506 } else if (sse) {
1497 dasm_put(Dst, 5620); 1507 dasm_put(Dst, 5640);
1498 } else { 1508 } else {
1499 dasm_put(Dst, 5635); 1509 dasm_put(Dst, 5655);
1500 } 1510 }
1501 dasm_put(Dst, 5647, LJ_TSTR, LJ_TISNUM); 1511 dasm_put(Dst, 5667, LJ_TSTR, LJ_TISNUM);
1502 if (LJ_DUALNUM) { 1512 if (LJ_DUALNUM) {
1503 dasm_put(Dst, 2552); 1513 dasm_put(Dst, 2572);
1504 } else { 1514 } else {
1505 dasm_put(Dst, 2291); 1515 dasm_put(Dst, 2311);
1506 } 1516 }
1507 dasm_put(Dst, 5664, Dt5(->len)); 1517 dasm_put(Dst, 5684, Dt5(->len));
1508 if (LJ_DUALNUM) { 1518 if (LJ_DUALNUM) {
1509 dasm_put(Dst, 5674); 1519 dasm_put(Dst, 5694);
1510 } else if (sse) { 1520 } else if (sse) {
1511 dasm_put(Dst, 5678); 1521 dasm_put(Dst, 5698);
1512 } else { 1522 } else {
1513 } 1523 }
1514 dasm_put(Dst, 5685, sizeof(GCstr)-1); 1524 dasm_put(Dst, 5705, sizeof(GCstr)-1);
1515 dasm_put(Dst, 5760, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1525 dasm_put(Dst, 5780, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1516 dasm_put(Dst, 5821, LJ_TSTR, LJ_TISNUM); 1526 dasm_put(Dst, 5841, LJ_TSTR, LJ_TISNUM);
1517 if (LJ_DUALNUM) { 1527 if (LJ_DUALNUM) {
1518 dasm_put(Dst, 5838); 1528 dasm_put(Dst, 5858);
1519 } else if (sse) { 1529 } else if (sse) {
1520 dasm_put(Dst, 5846); 1530 dasm_put(Dst, 5866);
1521 } else { 1531 } else {
1522 dasm_put(Dst, 5857); 1532 dasm_put(Dst, 5877);
1523 } 1533 }
1524 dasm_put(Dst, 5873, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1534 dasm_put(Dst, 5893, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1525 dasm_put(Dst, 5941, 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, 5961, 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, 6008, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1536 dasm_put(Dst, 6028, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1527 dasm_put(Dst, 6081, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1537 dasm_put(Dst, 6101, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1528 dasm_put(Dst, 6166, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1538 dasm_put(Dst, 6186, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1529 dasm_put(Dst, 6240, 1+1, LJ_TTAB); 1539 dasm_put(Dst, 6260, 1+1, LJ_TTAB);
1530 if (LJ_DUALNUM) { 1540 if (LJ_DUALNUM) {
1531 dasm_put(Dst, 6307); 1541 dasm_put(Dst, 6327);
1532 } else if (sse) { 1542 } else if (sse) {
1533 dasm_put(Dst, 6314); 1543 dasm_put(Dst, 6334);
1534 } else { 1544 } else {
1535 } 1545 }
1536 dasm_put(Dst, 6324, 1+1, LJ_TISNUM); 1546 dasm_put(Dst, 6344, 1+1, LJ_TISNUM);
1537 if (LJ_DUALNUM) { 1547 if (LJ_DUALNUM) {
1538 dasm_put(Dst, 6340); 1548 dasm_put(Dst, 6360);
1539 } else { 1549 } else {
1540 dasm_put(Dst, 2291); 1550 dasm_put(Dst, 2311);
1541 } 1551 }
1542 if (sse) { 1552 if (sse) {
1543 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1553 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1544 } else { 1554 } else {
1545 } 1555 }
1546 dasm_put(Dst, 106); 1556 dasm_put(Dst, 106);
1547 if (LJ_DUALNUM || sse) { 1557 if (LJ_DUALNUM || sse) {
1548 if (!sse) { 1558 if (!sse) {
1549 } 1559 }
1550 dasm_put(Dst, 6381); 1560 dasm_put(Dst, 6401);
1551 } else { 1561 } else {
1552 } 1562 }
1553 dasm_put(Dst, 6386, 1+1); 1563 dasm_put(Dst, 6406, 1+1);
1554 if (sse) { 1564 if (sse) {
1555 dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1565 dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1556 } else { 1566 } else {
1557 dasm_put(Dst, 6407); 1567 dasm_put(Dst, 6427);
1558 } 1568 }
1559 dasm_put(Dst, 2268, LJ_TISNUM); 1569 dasm_put(Dst, 2288, LJ_TISNUM);
1560 if (LJ_DUALNUM) { 1570 if (LJ_DUALNUM) {
1561 dasm_put(Dst, 6415); 1571 dasm_put(Dst, 6435);
1562 } else { 1572 } else {
1563 dasm_put(Dst, 2291); 1573 dasm_put(Dst, 2311);
1564 } 1574 }
1565 if (sse) { 1575 if (sse) {
1566 dasm_put(Dst, 6432); 1576 dasm_put(Dst, 6452);
1567 } else { 1577 } else {
1568 } 1578 }
1569 dasm_put(Dst, 6447, LJ_TISNUM); 1579 dasm_put(Dst, 6467, LJ_TISNUM);
1570 if (LJ_DUALNUM) { 1580 if (LJ_DUALNUM) {
1571 dasm_put(Dst, 6472);
1572 } else {
1573 dasm_put(Dst, 6492); 1581 dasm_put(Dst, 6492);
1582 } else {
1583 dasm_put(Dst, 6512);
1574 } 1584 }
1575 if (sse) { 1585 if (sse) {
1576 dasm_put(Dst, 6497); 1586 dasm_put(Dst, 6517);
1577 } else { 1587 } else {
1578 } 1588 }
1579 dasm_put(Dst, 6514, 1+1); 1589 dasm_put(Dst, 6534, 1+1);
1580 if (sse) { 1590 if (sse) {
1581 dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1591 dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1582 } else { 1592 } else {
1583 dasm_put(Dst, 6407); 1593 dasm_put(Dst, 6427);
1584 } 1594 }
1585 dasm_put(Dst, 2268, LJ_TISNUM); 1595 dasm_put(Dst, 2288, LJ_TISNUM);
1586 if (LJ_DUALNUM) { 1596 if (LJ_DUALNUM) {
1587 dasm_put(Dst, 6415); 1597 dasm_put(Dst, 6435);
1588 } else { 1598 } else {
1589 dasm_put(Dst, 2291); 1599 dasm_put(Dst, 2311);
1590 } 1600 }
1591 if (sse) { 1601 if (sse) {
1592 dasm_put(Dst, 6432); 1602 dasm_put(Dst, 6452);
1593 } else { 1603 } else {
1594 } 1604 }
1595 dasm_put(Dst, 6447, LJ_TISNUM); 1605 dasm_put(Dst, 6467, LJ_TISNUM);
1596 if (LJ_DUALNUM) { 1606 if (LJ_DUALNUM) {
1597 dasm_put(Dst, 6532); 1607 dasm_put(Dst, 6552);
1598 } else { 1608 } else {
1599 dasm_put(Dst, 6492); 1609 dasm_put(Dst, 6512);
1600 } 1610 }
1601 if (sse) { 1611 if (sse) {
1602 dasm_put(Dst, 6552); 1612 dasm_put(Dst, 6572);
1603 } else { 1613 } else {
1604 } 1614 }
1605 dasm_put(Dst, 6569, 1+1); 1615 dasm_put(Dst, 6589, 1+1);
1606 if (sse) { 1616 if (sse) {
1607 dasm_put(Dst, 6397, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1617 dasm_put(Dst, 6417, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1608 } else { 1618 } else {
1609 dasm_put(Dst, 6407); 1619 dasm_put(Dst, 6427);
1610 } 1620 }
1611 dasm_put(Dst, 2268, LJ_TISNUM); 1621 dasm_put(Dst, 2288, LJ_TISNUM);
1612 if (LJ_DUALNUM) { 1622 if (LJ_DUALNUM) {
1613 dasm_put(Dst, 6415); 1623 dasm_put(Dst, 6435);
1614 } else { 1624 } else {
1615 dasm_put(Dst, 2291); 1625 dasm_put(Dst, 2311);
1616 } 1626 }
1617 if (sse) { 1627 if (sse) {
1618 dasm_put(Dst, 6432); 1628 dasm_put(Dst, 6452);
1619 } else { 1629 } else {
1620 } 1630 }
1621 dasm_put(Dst, 6447, LJ_TISNUM); 1631 dasm_put(Dst, 6467, LJ_TISNUM);
1622 if (LJ_DUALNUM) { 1632 if (LJ_DUALNUM) {
1623 dasm_put(Dst, 6587); 1633 dasm_put(Dst, 6607);
1624 } else { 1634 } else {
1625 dasm_put(Dst, 6492); 1635 dasm_put(Dst, 6512);
1626 } 1636 }
1627 if (sse) { 1637 if (sse) {
1628 dasm_put(Dst, 6607); 1638 dasm_put(Dst, 6627);
1629 } else { 1639 } else {
1630 } 1640 }
1631 dasm_put(Dst, 6624, 1+1, LJ_TISNUM); 1641 dasm_put(Dst, 6644, 1+1, LJ_TISNUM);
1632 if (LJ_DUALNUM) { 1642 if (LJ_DUALNUM) {
1633 dasm_put(Dst, 6415); 1643 dasm_put(Dst, 6435);
1634 } else { 1644 } else {
1635 dasm_put(Dst, 2291); 1645 dasm_put(Dst, 2311);
1636 } 1646 }
1637 if (sse) { 1647 if (sse) {
1638 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1648 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1639 } else { 1649 } else {
1640 } 1650 }
1641 dasm_put(Dst, 6647, 1+1, LJ_TISNUM); 1651 dasm_put(Dst, 6667, 1+1, LJ_TISNUM);
1642 if (LJ_DUALNUM) { 1652 if (LJ_DUALNUM) {
1643 dasm_put(Dst, 6415); 1653 dasm_put(Dst, 6435);
1644 } else { 1654 } else {
1645 dasm_put(Dst, 2291); 1655 dasm_put(Dst, 2311);
1646 } 1656 }
1647 if (sse) { 1657 if (sse) {
1648 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1658 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1649 } else { 1659 } else {
1650 } 1660 }
1651 dasm_put(Dst, 6671); 1661 dasm_put(Dst, 6691);
1652 if (LJ_DUALNUM) { 1662 if (LJ_DUALNUM) {
1653 dasm_put(Dst, 6381); 1663 dasm_put(Dst, 6401);
1654 } else if (sse) { 1664 } else if (sse) {
1655 dasm_put(Dst, 6677); 1665 dasm_put(Dst, 6697);
1656 } else { 1666 } else {
1657 } 1667 }
1658 dasm_put(Dst, 6689); 1668 dasm_put(Dst, 6709);
1659 if (LJ_DUALNUM) { 1669 if (LJ_DUALNUM) {
1660 dasm_put(Dst, 6700, 1+1, LJ_TISNUM); 1670 dasm_put(Dst, 6720, 1+1, LJ_TISNUM);
1661 if (LJ_DUALNUM) { 1671 if (LJ_DUALNUM) {
1662 dasm_put(Dst, 6415); 1672 dasm_put(Dst, 6435);
1663 } else { 1673 } else {
1664 dasm_put(Dst, 2291); 1674 dasm_put(Dst, 2311);
1665 } 1675 }
1666 if (sse) { 1676 if (sse) {
1667 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1677 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1668 } else { 1678 } else {
1669 } 1679 }
1670 dasm_put(Dst, 6716, LJ_TISNUM); 1680 dasm_put(Dst, 6736, LJ_TISNUM);
1671 } else if (sse) { 1681 } else if (sse) {
1672 dasm_put(Dst, 6731, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1682 dasm_put(Dst, 6751, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1673 } else { 1683 } else {
1674 } 1684 }
1675 dasm_put(Dst, 6798); 1685 dasm_put(Dst, 6818);
1676 if (LJ_DUALNUM) { 1686 if (LJ_DUALNUM) {
1677 dasm_put(Dst, 6805, 1+1, LJ_TISNUM); 1687 dasm_put(Dst, 6825, 1+1, LJ_TISNUM);
1678 if (LJ_DUALNUM) { 1688 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6415); 1689 dasm_put(Dst, 6435);
1680 } else { 1690 } else {
1681 dasm_put(Dst, 2291); 1691 dasm_put(Dst, 2311);
1682 } 1692 }
1683 if (sse) { 1693 if (sse) {
1684 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1694 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1685 } else { 1695 } else {
1686 } 1696 }
1687 dasm_put(Dst, 6716, LJ_TISNUM); 1697 dasm_put(Dst, 6736, LJ_TISNUM);
1688 } else if (sse) { 1698 } else if (sse) {
1689 dasm_put(Dst, 6821, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1699 dasm_put(Dst, 6841, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1690 } else { 1700 } else {
1691 } 1701 }
1692 dasm_put(Dst, 6888); 1702 dasm_put(Dst, 6908);
1693 if (LJ_DUALNUM) { 1703 if (LJ_DUALNUM) {
1694 dasm_put(Dst, 6896, 1+1, LJ_TISNUM); 1704 dasm_put(Dst, 6916, 1+1, LJ_TISNUM);
1695 if (LJ_DUALNUM) { 1705 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6415); 1706 dasm_put(Dst, 6435);
1697 } else { 1707 } else {
1698 dasm_put(Dst, 2291); 1708 dasm_put(Dst, 2311);
1699 } 1709 }
1700 if (sse) { 1710 if (sse) {
1701 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1711 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1702 } else { 1712 } else {
1703 } 1713 }
1704 dasm_put(Dst, 6716, LJ_TISNUM); 1714 dasm_put(Dst, 6736, LJ_TISNUM);
1705 } else if (sse) { 1715 } else if (sse) {
1706 dasm_put(Dst, 6912, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1716 dasm_put(Dst, 6932, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1707 } else { 1717 } else {
1708 } 1718 }
1709 dasm_put(Dst, 6979); 1719 dasm_put(Dst, 6999);
1710 if (LJ_DUALNUM) { 1720 if (LJ_DUALNUM) {
1711 dasm_put(Dst, 6987, 1+1, LJ_TISNUM); 1721 dasm_put(Dst, 7007, 1+1, LJ_TISNUM);
1712 if (LJ_DUALNUM) { 1722 if (LJ_DUALNUM) {
1713 dasm_put(Dst, 6415); 1723 dasm_put(Dst, 6435);
1714 } else { 1724 } else {
1715 dasm_put(Dst, 2291); 1725 dasm_put(Dst, 2311);
1716 } 1726 }
1717 if (sse) { 1727 if (sse) {
1718 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1728 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1719 } else { 1729 } else {
1720 } 1730 }
1721 dasm_put(Dst, 6716, LJ_TISNUM); 1731 dasm_put(Dst, 6736, LJ_TISNUM);
1722 } else if (sse) { 1732 } else if (sse) {
1723 dasm_put(Dst, 7003, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1733 dasm_put(Dst, 7023, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1724 } else { 1734 } else {
1725 } 1735 }
1726 dasm_put(Dst, 7070); 1736 dasm_put(Dst, 7090);
1727 if (LJ_DUALNUM) { 1737 if (LJ_DUALNUM) {
1728 dasm_put(Dst, 7077, 1+1, LJ_TISNUM); 1738 dasm_put(Dst, 7097, 1+1, LJ_TISNUM);
1729 if (LJ_DUALNUM) { 1739 if (LJ_DUALNUM) {
1730 dasm_put(Dst, 6415); 1740 dasm_put(Dst, 6435);
1731 } else { 1741 } else {
1732 dasm_put(Dst, 2291); 1742 dasm_put(Dst, 2311);
1733 } 1743 }
1734 if (sse) { 1744 if (sse) {
1735 dasm_put(Dst, 6357, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1745 dasm_put(Dst, 6377, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1736 } else { 1746 } else {
1737 } 1747 }
1738 dasm_put(Dst, 6716, LJ_TISNUM); 1748 dasm_put(Dst, 6736, LJ_TISNUM);
1739 } else if (sse) { 1749 } else if (sse) {
1740 dasm_put(Dst, 7093, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1750 dasm_put(Dst, 7113, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1741 } else { 1751 } else {
1742 } 1752 }
1743 dasm_put(Dst, 7160, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1753 dasm_put(Dst, 7180, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1744 dasm_put(Dst, 7236, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1754 dasm_put(Dst, 7256, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1745 dasm_put(Dst, 7363, Dt1(->top), Dt1(->base), Dt1(->top)); 1755 dasm_put(Dst, 7383, Dt1(->top), Dt1(->base), Dt1(->top));
1746#if LJ_HASJIT 1756#if LJ_HASJIT
1747 dasm_put(Dst, 7402, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1757 dasm_put(Dst, 7422, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1748#endif 1758#endif
1749 dasm_put(Dst, 7435, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1759 dasm_put(Dst, 7455, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1750 dasm_put(Dst, 7489, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1760 dasm_put(Dst, 7509, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1751#if LJ_HASJIT 1761#if LJ_HASJIT
1752 dasm_put(Dst, 7556, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1762 dasm_put(Dst, 7576, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1753#endif 1763#endif
1754 dasm_put(Dst, 7603); 1764 dasm_put(Dst, 7623);
1755#if LJ_HASJIT 1765#if LJ_HASJIT
1756 dasm_put(Dst, 7430); 1766 dasm_put(Dst, 7450);
1757#endif 1767#endif
1758 dasm_put(Dst, 7610); 1768 dasm_put(Dst, 7630);
1759#if LJ_HASJIT 1769#if LJ_HASJIT
1760 dasm_put(Dst, 7613); 1770 dasm_put(Dst, 7633);
1761#endif 1771#endif
1762 dasm_put(Dst, 7623, Dt1(->base), Dt1(->top)); 1772 dasm_put(Dst, 7643, Dt1(->base), Dt1(->top));
1763#if LJ_HASJIT 1773#if LJ_HASJIT
1764 dasm_put(Dst, 7656); 1774 dasm_put(Dst, 7676);
1765#endif 1775#endif
1766 dasm_put(Dst, 7661, Dt1(->base), Dt1(->top)); 1776 dasm_put(Dst, 7681, Dt1(->base), Dt1(->top));
1767#if LJ_HASJIT 1777#if LJ_HASJIT
1768 dasm_put(Dst, 7692, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1778 dasm_put(Dst, 7712, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1769#endif 1779#endif
1770 dasm_put(Dst, 7931); 1780 dasm_put(Dst, 7951);
1771#if LJ_HASJIT 1781#if LJ_HASJIT
1772 dasm_put(Dst, 7934, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1782 dasm_put(Dst, 7954, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1773#endif 1783#endif
1774 dasm_put(Dst, 8034); 1784 dasm_put(Dst, 8054);
1775 if (!sse) { 1785 if (!sse) {
1776 dasm_put(Dst, 8037); 1786 dasm_put(Dst, 8057);
1777 } 1787 }
1778 dasm_put(Dst, 8082, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1788 dasm_put(Dst, 8102, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1779 if (!sse) { 1789 if (!sse) {
1780 dasm_put(Dst, 8168); 1790 dasm_put(Dst, 8188);
1781 } 1791 }
1782 dasm_put(Dst, 8213, (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)); 1792 dasm_put(Dst, 8233, (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));
1783 if (!sse) { 1793 if (!sse) {
1784 dasm_put(Dst, 8299); 1794 dasm_put(Dst, 8319);
1785 } 1795 }
1786 dasm_put(Dst, 8338, (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, 8358, (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 if (sse) { 1797 if (sse) {
1788 dasm_put(Dst, 8427, (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)); 1798 dasm_put(Dst, 8447, (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));
1789 } else { 1799 } else {
1790 dasm_put(Dst, 8541); 1800 dasm_put(Dst, 8561);
1791 } 1801 }
1792 dasm_put(Dst, 8588); 1802 dasm_put(Dst, 8608);
1793 if (!sse) { 1803 if (!sse) {
1794 } else { 1804 } else {
1795 dasm_put(Dst, 8665); 1805 dasm_put(Dst, 8685);
1796 } 1806 }
1797 dasm_put(Dst, 8668); 1807 dasm_put(Dst, 8688);
1798 dasm_put(Dst, 8753, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1808 dasm_put(Dst, 8773, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1799 dasm_put(Dst, 8856, (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)); 1809 dasm_put(Dst, 8876, (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));
1800 dasm_put(Dst, 9018); 1810 dasm_put(Dst, 9038);
1801#if LJ_HASJIT 1811#if LJ_HASJIT
1802 if (sse) { 1812 if (sse) {
1803 dasm_put(Dst, 9059); 1813 dasm_put(Dst, 9079);
1804 dasm_put(Dst, 9129); 1814 dasm_put(Dst, 9149);
1805 dasm_put(Dst, 9201); 1815 dasm_put(Dst, 9221);
1806 } else { 1816 } else {
1807 dasm_put(Dst, 9253); 1817 dasm_put(Dst, 9273);
1808 dasm_put(Dst, 9345); 1818 dasm_put(Dst, 9365);
1809 } 1819 }
1810 dasm_put(Dst, 9391); 1820 dasm_put(Dst, 9411);
1811#endif 1821#endif
1812 dasm_put(Dst, 9395); 1822 dasm_put(Dst, 9415);
1813 if (sse) { 1823 if (sse) {
1814 dasm_put(Dst, 9398, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1824 dasm_put(Dst, 9418, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1815 dasm_put(Dst, 9483, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1825 dasm_put(Dst, 9503, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1816 } else { 1826 } else {
1817 dasm_put(Dst, 9611); 1827 dasm_put(Dst, 9631);
1818 dasm_put(Dst, 9694); 1828 dasm_put(Dst, 9714);
1819 if (cmov) { 1829 if (cmov) {
1820 dasm_put(Dst, 9749); 1830 dasm_put(Dst, 9769);
1821 } else { 1831 } else {
1822 dasm_put(Dst, 9768); 1832 dasm_put(Dst, 9788);
1823 } 1833 }
1824 dasm_put(Dst, 9391); 1834 dasm_put(Dst, 9411);
1825 } 1835 }
1826 dasm_put(Dst, 9809); 1836 dasm_put(Dst, 9829);
1827#if LJ_HASFFI 1837#if LJ_HASFFI
1828#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1838#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1829 dasm_put(Dst, 9833, DtE(->spadj)); 1839 dasm_put(Dst, 9853, DtE(->spadj));
1830#if LJ_TARGET_WINDOWS 1840#if LJ_TARGET_WINDOWS
1831#endif 1841#endif
1832 dasm_put(Dst, 9849, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1842 dasm_put(Dst, 9869, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1833 dasm_put(Dst, 9928, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1843 dasm_put(Dst, 9948, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1834#if LJ_TARGET_WINDOWS 1844#if LJ_TARGET_WINDOWS
1835#endif 1845#endif
1836 dasm_put(Dst, 9983); 1846 dasm_put(Dst, 10003);
1837#endif 1847#endif
1838 dasm_put(Dst, 9991); 1848 dasm_put(Dst, 10011);
1839#ifdef LUA_USE_ASSERT 1849#ifdef LUA_USE_ASSERT
1840 dasm_put(Dst, 9393); 1850 dasm_put(Dst, 9413);
1841#endif 1851#endif
1842 dasm_put(Dst, 9393); 1852 dasm_put(Dst, 9413);
1843} 1853}
1844 1854
1845/* Generate the code for a single instruction. */ 1855/* Generate the code for a single instruction. */
1846static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1856static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1847{ 1857{
1848 int vk = 0; 1858 int vk = 0;
1849 dasm_put(Dst, 9994, defop); 1859 dasm_put(Dst, 10014, defop);
1850 1860
1851 switch (op) { 1861 switch (op) {
1852 1862
@@ -1857,296 +1867,303 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1857 1867
1858 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1868 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1859 if (LJ_DUALNUM) { 1869 if (LJ_DUALNUM) {
1860 dasm_put(Dst, 9996, LJ_TISNUM, LJ_TISNUM); 1870 dasm_put(Dst, 10016, LJ_TISNUM, LJ_TISNUM);
1861 switch (op) { 1871 switch (op) {
1862 case BC_ISLT: 1872 case BC_ISLT:
1863 dasm_put(Dst, 10026); 1873 dasm_put(Dst, 10046);
1864 break; 1874 break;
1865 case BC_ISGE: 1875 case BC_ISGE:
1866 dasm_put(Dst, 10031); 1876 dasm_put(Dst, 10051);
1867 break; 1877 break;
1868 case BC_ISLE: 1878 case BC_ISLE:
1869 dasm_put(Dst, 10036); 1879 dasm_put(Dst, 10056);
1870 break; 1880 break;
1871 case BC_ISGT: 1881 case BC_ISGT:
1872 dasm_put(Dst, 10041); 1882 dasm_put(Dst, 10061);
1873 break; 1883 break;
1874 default: break; /* Shut up GCC. */ 1884 default: break; /* Shut up GCC. */
1875 } 1885 }
1876 dasm_put(Dst, 10046, -BCBIAS_J*4, LJ_TISNUM); 1886 dasm_put(Dst, 10066, -BCBIAS_J*4, LJ_TISNUM);
1877 if (sse) { 1887 if (sse) {
1878 dasm_put(Dst, 10101); 1888 dasm_put(Dst, 10121);
1879 } else { 1889 } else {
1880 dasm_put(Dst, 10112); 1890 dasm_put(Dst, 10132);
1881 } 1891 }
1882 dasm_put(Dst, 10123); 1892 dasm_put(Dst, 10143);
1883 if (sse) { 1893 if (sse) {
1884 dasm_put(Dst, 10130); 1894 dasm_put(Dst, 10150);
1885 switch (op) { 1895 switch (op) {
1886 case BC_ISLT: 1896 case BC_ISLT:
1887 dasm_put(Dst, 10150); 1897 dasm_put(Dst, 10170);
1888 break; 1898 break;
1889 case BC_ISGE: 1899 case BC_ISGE:
1890 dasm_put(Dst, 10155); 1900 dasm_put(Dst, 10175);
1891 break; 1901 break;
1892 case BC_ISLE: 1902 case BC_ISLE:
1893 dasm_put(Dst, 10160); 1903 dasm_put(Dst, 10180);
1894 break; 1904 break;
1895 case BC_ISGT: 1905 case BC_ISGT:
1896 dasm_put(Dst, 10165); 1906 dasm_put(Dst, 10185);
1897 break; 1907 break;
1898 default: break; /* Shut up GCC. */ 1908 default: break; /* Shut up GCC. */
1899 } 1909 }
1900 dasm_put(Dst, 10170); 1910 dasm_put(Dst, 10190);
1901 } else { 1911 } else {
1902 dasm_put(Dst, 10175); 1912 dasm_put(Dst, 10195);
1903 } 1913 }
1904 } else { 1914 } else {
1905 dasm_put(Dst, 10183, LJ_TISNUM, LJ_TISNUM); 1915 dasm_put(Dst, 10203, LJ_TISNUM, LJ_TISNUM);
1906 } 1916 }
1907 if (sse) { 1917 if (sse) {
1908 dasm_put(Dst, 10204); 1918 dasm_put(Dst, 10224);
1909 } else { 1919 } else {
1910 dasm_put(Dst, 10225); 1920 dasm_put(Dst, 10245);
1911 if (cmov) { 1921 if (cmov) {
1912 dasm_put(Dst, 10241); 1922 dasm_put(Dst, 10261);
1913 } else { 1923 } else {
1914 dasm_put(Dst, 10247); 1924 dasm_put(Dst, 10267);
1915 } 1925 }
1916 } 1926 }
1917 if (LJ_DUALNUM) { 1927 if (LJ_DUALNUM) {
1918 switch (op) { 1928 switch (op) {
1919 case BC_ISLT: 1929 case BC_ISLT:
1920 dasm_put(Dst, 10150); 1930 dasm_put(Dst, 10170);
1921 break; 1931 break;
1922 case BC_ISGE: 1932 case BC_ISGE:
1923 dasm_put(Dst, 10155); 1933 dasm_put(Dst, 10175);
1924 break; 1934 break;
1925 case BC_ISLE: 1935 case BC_ISLE:
1926 dasm_put(Dst, 10160); 1936 dasm_put(Dst, 10180);
1927 break; 1937 break;
1928 case BC_ISGT: 1938 case BC_ISGT:
1929 dasm_put(Dst, 10165); 1939 dasm_put(Dst, 10185);
1930 break; 1940 break;
1931 default: break; /* Shut up GCC. */ 1941 default: break; /* Shut up GCC. */
1932 } 1942 }
1933 dasm_put(Dst, 10170); 1943 dasm_put(Dst, 10190);
1934 } else { 1944 } else {
1935 switch (op) { 1945 switch (op) {
1936 case BC_ISLT: 1946 case BC_ISLT:
1937 dasm_put(Dst, 10254); 1947 dasm_put(Dst, 10274);
1938 break; 1948 break;
1939 case BC_ISGE: 1949 case BC_ISGE:
1940 dasm_put(Dst, 10259); 1950 dasm_put(Dst, 10279);
1941 break; 1951 break;
1942 case BC_ISLE: 1952 case BC_ISLE:
1943 dasm_put(Dst, 10264); 1953 dasm_put(Dst, 10284);
1944 break; 1954 break;
1945 case BC_ISGT: 1955 case BC_ISGT:
1946 dasm_put(Dst, 10269); 1956 dasm_put(Dst, 10289);
1947 break; 1957 break;
1948 default: break; /* Shut up GCC. */ 1958 default: break; /* Shut up GCC. */
1949 } 1959 }
1950 dasm_put(Dst, 10274, -BCBIAS_J*4); 1960 dasm_put(Dst, 10294, -BCBIAS_J*4);
1951 } 1961 }
1952 break; 1962 break;
1953 1963
1954 case BC_ISEQV: case BC_ISNEV: 1964 case BC_ISEQV: case BC_ISNEV:
1955 vk = op == BC_ISEQV; 1965 vk = op == BC_ISEQV;
1956 dasm_put(Dst, 10307); 1966 dasm_put(Dst, 10327);
1957 if (LJ_DUALNUM) { 1967 if (LJ_DUALNUM) {
1958 dasm_put(Dst, 10315, LJ_TISNUM, LJ_TISNUM); 1968 dasm_put(Dst, 10335, LJ_TISNUM, LJ_TISNUM);
1959 if (vk) { 1969 if (vk) {
1960 dasm_put(Dst, 10340); 1970 dasm_put(Dst, 10360);
1961 } else { 1971 } else {
1962 dasm_put(Dst, 10345); 1972 dasm_put(Dst, 10365);
1963 } 1973 }
1964 dasm_put(Dst, 10350, -BCBIAS_J*4, LJ_TISNUM); 1974 dasm_put(Dst, 10370, -BCBIAS_J*4, LJ_TISNUM);
1965 if (sse) { 1975 if (sse) {
1966 dasm_put(Dst, 10403); 1976 dasm_put(Dst, 10423);
1967 } else { 1977 } else {
1968 dasm_put(Dst, 10410); 1978 dasm_put(Dst, 10430);
1969 } 1979 }
1970 dasm_put(Dst, 10414); 1980 dasm_put(Dst, 10434);
1971 if (sse) { 1981 if (sse) {
1972 dasm_put(Dst, 10425); 1982 dasm_put(Dst, 10445);
1973 } else { 1983 } else {
1974 dasm_put(Dst, 10437); 1984 dasm_put(Dst, 10457);
1975 } 1985 }
1976 dasm_put(Dst, 10444); 1986 dasm_put(Dst, 10464);
1977 } else { 1987 } else {
1978 dasm_put(Dst, 10449, LJ_TISNUM, LJ_TISNUM); 1988 dasm_put(Dst, 10469, LJ_TISNUM, LJ_TISNUM);
1979 } 1989 }
1980 if (sse) { 1990 if (sse) {
1981 dasm_put(Dst, 10468); 1991 dasm_put(Dst, 10488);
1982 } else { 1992 } else {
1983 dasm_put(Dst, 10486); 1993 dasm_put(Dst, 10506);
1984 if (cmov) { 1994 if (cmov) {
1985 dasm_put(Dst, 10241); 1995 dasm_put(Dst, 10261);
1986 } else { 1996 } else {
1987 dasm_put(Dst, 10247); 1997 dasm_put(Dst, 10267);
1988 } 1998 }
1989 } 1999 }
1990 iseqne_fp: 2000 iseqne_fp:
1991 if (vk) { 2001 if (vk) {
1992 dasm_put(Dst, 10499); 2002 dasm_put(Dst, 10519);
1993 } else { 2003 } else {
1994 dasm_put(Dst, 10508); 2004 dasm_put(Dst, 10528);
1995 } 2005 }
1996 iseqne_end: 2006 iseqne_end:
1997 if (vk) { 2007 if (vk) {
1998 dasm_put(Dst, 10517, -BCBIAS_J*4); 2008 dasm_put(Dst, 10537, -BCBIAS_J*4);
1999 if (!LJ_HASFFI) { 2009 if (!LJ_HASFFI) {
2000 dasm_put(Dst, 4655); 2010 dasm_put(Dst, 4675);
2001 } 2011 }
2002 } else { 2012 } else {
2003 if (!LJ_HASFFI) { 2013 if (!LJ_HASFFI) {
2004 dasm_put(Dst, 4655); 2014 dasm_put(Dst, 4675);
2005 } 2015 }
2006 dasm_put(Dst, 10532, -BCBIAS_J*4); 2016 dasm_put(Dst, 10552, -BCBIAS_J*4);
2007 } 2017 }
2008 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2018 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2009 op == BC_ISEQN || op == BC_ISNEN)) { 2019 op == BC_ISEQN || op == BC_ISNEN)) {
2010 dasm_put(Dst, 10547); 2020 dasm_put(Dst, 10567);
2011 } else { 2021 } else {
2012 dasm_put(Dst, 10286); 2022 dasm_put(Dst, 10306);
2013 } 2023 }
2014 if (op == BC_ISEQV || op == BC_ISNEV) { 2024 if (op == BC_ISEQV || op == BC_ISNEV) {
2015 dasm_put(Dst, 10552); 2025 dasm_put(Dst, 10572);
2016 if (LJ_HASFFI) { 2026 if (LJ_HASFFI) {
2017 dasm_put(Dst, 10555, LJ_TCDATA, LJ_TCDATA); 2027 dasm_put(Dst, 10575, LJ_TCDATA, LJ_TCDATA);
2018 } 2028 }
2019 dasm_put(Dst, 10574, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2029 dasm_put(Dst, 10594, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2020 if (vk) { 2030 if (vk) {
2021 dasm_put(Dst, 10630); 2031 dasm_put(Dst, 10650);
2022 } else { 2032 } else {
2023 dasm_put(Dst, 10634); 2033 dasm_put(Dst, 10654);
2024 } 2034 }
2025 dasm_put(Dst, 10640); 2035 dasm_put(Dst, 10660);
2026 } else if (LJ_HASFFI) { 2036 } else if (LJ_HASFFI) {
2027 dasm_put(Dst, 10645, LJ_TCDATA); 2037 dasm_put(Dst, 10665, LJ_TCDATA);
2028 if (LJ_DUALNUM && vk) { 2038 if (LJ_DUALNUM && vk) {
2029 dasm_put(Dst, 10652); 2039 dasm_put(Dst, 10672);
2030 } else { 2040 } else {
2031 dasm_put(Dst, 10625); 2041 dasm_put(Dst, 10645);
2032 } 2042 }
2033 dasm_put(Dst, 10657); 2043 dasm_put(Dst, 10677);
2034 } 2044 }
2035 break; 2045 break;
2036 case BC_ISEQS: case BC_ISNES: 2046 case BC_ISEQS: case BC_ISNES:
2037 vk = op == BC_ISEQS; 2047 vk = op == BC_ISEQS;
2038 dasm_put(Dst, 10662, LJ_TSTR); 2048 dasm_put(Dst, 10682, LJ_TSTR);
2039 iseqne_test: 2049 iseqne_test:
2040 if (vk) { 2050 if (vk) {
2041 dasm_put(Dst, 10503); 2051 dasm_put(Dst, 10523);
2042 } else { 2052 } else {
2043 dasm_put(Dst, 814); 2053 dasm_put(Dst, 814);
2044 } 2054 }
2045 goto iseqne_end; 2055 goto iseqne_end;
2046 case BC_ISEQN: case BC_ISNEN: 2056 case BC_ISEQN: case BC_ISNEN:
2047 vk = op == BC_ISEQN; 2057 vk = op == BC_ISEQN;
2048 dasm_put(Dst, 10689); 2058 dasm_put(Dst, 10709);
2049 if (LJ_DUALNUM) { 2059 if (LJ_DUALNUM) {
2050 dasm_put(Dst, 10697, LJ_TISNUM, LJ_TISNUM); 2060 dasm_put(Dst, 10717, LJ_TISNUM, LJ_TISNUM);
2051 if (vk) { 2061 if (vk) {
2052 dasm_put(Dst, 10340); 2062 dasm_put(Dst, 10360);
2053 } else { 2063 } else {
2054 dasm_put(Dst, 10345); 2064 dasm_put(Dst, 10365);
2055 } 2065 }
2056 dasm_put(Dst, 10724, -BCBIAS_J*4, LJ_TISNUM); 2066 dasm_put(Dst, 10744, -BCBIAS_J*4, LJ_TISNUM);
2057 if (sse) { 2067 if (sse) {
2058 dasm_put(Dst, 10774); 2068 dasm_put(Dst, 10794);
2059 } else { 2069 } else {
2060 dasm_put(Dst, 10782); 2070 dasm_put(Dst, 10802);
2061 } 2071 }
2062 dasm_put(Dst, 10787); 2072 dasm_put(Dst, 10807);
2063 if (sse) { 2073 if (sse) {
2064 dasm_put(Dst, 10794); 2074 dasm_put(Dst, 10814);
2065 } else { 2075 } else {
2066 dasm_put(Dst, 10807); 2076 dasm_put(Dst, 10827);
2067 } 2077 }
2068 dasm_put(Dst, 10444); 2078 dasm_put(Dst, 10464);
2069 } else { 2079 } else {
2070 dasm_put(Dst, 10815, LJ_TISNUM); 2080 dasm_put(Dst, 10835, LJ_TISNUM);
2071 } 2081 }
2072 if (sse) { 2082 if (sse) {
2073 dasm_put(Dst, 10824); 2083 dasm_put(Dst, 10844);
2074 } else { 2084 } else {
2075 dasm_put(Dst, 10843); 2085 dasm_put(Dst, 10863);
2076 if (cmov) { 2086 if (cmov) {
2077 dasm_put(Dst, 10241); 2087 dasm_put(Dst, 10261);
2078 } else { 2088 } else {
2079 dasm_put(Dst, 10247); 2089 dasm_put(Dst, 10267);
2080 } 2090 }
2081 } 2091 }
2082 goto iseqne_fp; 2092 goto iseqne_fp;
2083 case BC_ISEQP: case BC_ISNEP: 2093 case BC_ISEQP: case BC_ISNEP:
2084 vk = op == BC_ISEQP; 2094 vk = op == BC_ISEQP;
2085 dasm_put(Dst, 10857); 2095 dasm_put(Dst, 10877);
2086 if (!LJ_HASFFI) goto iseqne_test; 2096 if (!LJ_HASFFI) goto iseqne_test;
2087 if (vk) { 2097 if (vk) {
2088 dasm_put(Dst, 10871, -BCBIAS_J*4, LJ_TCDATA); 2098 dasm_put(Dst, 10891, -BCBIAS_J*4, LJ_TCDATA);
2089 } else { 2099 } else {
2090 dasm_put(Dst, 10922, LJ_TCDATA, -BCBIAS_J*4); 2100 dasm_put(Dst, 10942, LJ_TCDATA, -BCBIAS_J*4);
2091 } 2101 }
2092 break; 2102 break;
2093 2103
2094 /* -- Unary test and copy ops ------------------------------------------- */ 2104 /* -- Unary test and copy ops ------------------------------------------- */
2095 2105
2096 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2106 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2097 dasm_put(Dst, 10967, LJ_TISTRUECOND); 2107 dasm_put(Dst, 10987, LJ_TISTRUECOND);
2098 if (op == BC_IST || op == BC_ISTC) { 2108 if (op == BC_IST || op == BC_ISTC) {
2099 dasm_put(Dst, 10269); 2109 dasm_put(Dst, 10289);
2100 } else { 2110 } else {
2101 dasm_put(Dst, 10264); 2111 dasm_put(Dst, 10284);
2102 } 2112 }
2103 if (op == BC_ISTC || op == BC_ISFC) { 2113 if (op == BC_ISTC || op == BC_ISFC) {
2104 dasm_put(Dst, 10979); 2114 dasm_put(Dst, 10999);
2105 } 2115 }
2106 dasm_put(Dst, 10274, -BCBIAS_J*4); 2116 dasm_put(Dst, 10294, -BCBIAS_J*4);
2107 break; 2117 break;
2108 2118
2109 /* -- Unary ops --------------------------------------------------------- */ 2119 /* -- Unary ops --------------------------------------------------------- */
2110 2120
2111 case BC_MOV: 2121 case BC_MOV:
2112 dasm_put(Dst, 10990); 2122 dasm_put(Dst, 11010);
2113 break; 2123 break;
2114 case BC_NOT: 2124 case BC_NOT:
2115 dasm_put(Dst, 11019, LJ_TISTRUECOND, LJ_TTRUE); 2125 dasm_put(Dst, 11039, LJ_TISTRUECOND, LJ_TTRUE);
2116 break; 2126 break;
2117 case BC_UNM: 2127 case BC_UNM:
2118 if (LJ_DUALNUM) { 2128 if (LJ_DUALNUM) {
2119 dasm_put(Dst, 11056, LJ_TISNUM, LJ_TISNUM); 2129 dasm_put(Dst, 11076, LJ_TISNUM, LJ_TISNUM);
2120 } else { 2130 } else {
2121 dasm_put(Dst, 11134, LJ_TISNUM); 2131 dasm_put(Dst, 11154, LJ_TISNUM);
2122 } 2132 }
2123 if (sse) { 2133 if (sse) {
2124 dasm_put(Dst, 11145, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2134 dasm_put(Dst, 11165, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2125 } else { 2135 } else {
2126 dasm_put(Dst, 11170); 2136 dasm_put(Dst, 11190);
2127 } 2137 }
2128 if (LJ_DUALNUM) { 2138 if (LJ_DUALNUM) {
2129 dasm_put(Dst, 10547); 2139 dasm_put(Dst, 10567);
2130 } else { 2140 } else {
2131 dasm_put(Dst, 10286); 2141 dasm_put(Dst, 10306);
2132 } 2142 }
2133 break; 2143 break;
2134 case BC_LEN: 2144 case BC_LEN:
2135 dasm_put(Dst, 11179, LJ_TSTR); 2145 dasm_put(Dst, 11199, LJ_TSTR);
2136 if (LJ_DUALNUM) { 2146 if (LJ_DUALNUM) {
2137 dasm_put(Dst, 11193, Dt5(->len), LJ_TISNUM); 2147 dasm_put(Dst, 11213, Dt5(->len), LJ_TISNUM);
2138 } else if (sse) { 2148 } else if (sse) {
2139 dasm_put(Dst, 11207, Dt5(->len)); 2149 dasm_put(Dst, 11227, Dt5(->len));
2140 } else { 2150 } else {
2141 dasm_put(Dst, 11225, Dt5(->len)); 2151 dasm_put(Dst, 11245, Dt5(->len));
2142 } 2152 }
2143 dasm_put(Dst, 11234, LJ_TTAB); 2153 dasm_put(Dst, 11254, LJ_TTAB);
2154#ifdef LUAJIT_ENABLE_LUA52COMPAT
2155 dasm_put(Dst, 11290, Dt6(->metatable));
2156#endif
2157 dasm_put(Dst, 11304);
2144 if (LJ_DUALNUM) { 2158 if (LJ_DUALNUM) {
2145 } else if (sse) { 2159 } else if (sse) {
2146 dasm_put(Dst, 11276); 2160 dasm_put(Dst, 11313);
2147 } else { 2161 } else {
2148 } 2162 }
2149 dasm_put(Dst, 11282); 2163 dasm_put(Dst, 11319);
2164#ifdef LUAJIT_ENABLE_LUA52COMPAT
2165 dasm_put(Dst, 11332, Dt6(->nomm), 1<<MM_len);
2166#endif
2150 break; 2167 break;
2151 2168
2152 /* -- Binary ops -------------------------------------------------------- */ 2169 /* -- Binary ops -------------------------------------------------------- */
@@ -2154,605 +2171,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2154 2171
2155 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2172 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2156 if (LJ_DUALNUM) { 2173 if (LJ_DUALNUM) {
2157 dasm_put(Dst, 11295); 2174 dasm_put(Dst, 11348);
2158 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2175 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2159 switch (vk) { 2176 switch (vk) {
2160 case 0: 2177 case 0:
2161 dasm_put(Dst, 11303, LJ_TISNUM, LJ_TISNUM); 2178 dasm_put(Dst, 11356, LJ_TISNUM, LJ_TISNUM);
2162 break; 2179 break;
2163 case 1: 2180 case 1:
2164 dasm_put(Dst, 11338, LJ_TISNUM, LJ_TISNUM); 2181 dasm_put(Dst, 11391, LJ_TISNUM, LJ_TISNUM);
2165 break; 2182 break;
2166 default: 2183 default:
2167 dasm_put(Dst, 11373, LJ_TISNUM, LJ_TISNUM); 2184 dasm_put(Dst, 11426, LJ_TISNUM, LJ_TISNUM);
2168 break; 2185 break;
2169 } 2186 }
2170 dasm_put(Dst, 11406, LJ_TISNUM); 2187 dasm_put(Dst, 11459, LJ_TISNUM);
2171 if (vk == 1) { 2188 if (vk == 1) {
2172 dasm_put(Dst, 11203); 2189 dasm_put(Dst, 11223);
2173 } else { 2190 } else {
2174 dasm_put(Dst, 10986); 2191 dasm_put(Dst, 11006);
2175 } 2192 }
2176 dasm_put(Dst, 10286); 2193 dasm_put(Dst, 10306);
2177 } else { 2194 } else {
2178 dasm_put(Dst, 11295); 2195 dasm_put(Dst, 11348);
2179 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2196 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2180 switch (vk) { 2197 switch (vk) {
2181 case 0: 2198 case 0:
2182 dasm_put(Dst, 11412, LJ_TISNUM); 2199 dasm_put(Dst, 11465, LJ_TISNUM);
2183 if (LJ_DUALNUM) { 2200 if (LJ_DUALNUM) {
2184 dasm_put(Dst, 11424, LJ_TISNUM); 2201 dasm_put(Dst, 11477, LJ_TISNUM);
2185 } 2202 }
2186 if (sse) { 2203 if (sse) {
2187 dasm_put(Dst, 11436); 2204 dasm_put(Dst, 11489);
2188 } else { 2205 } else {
2189 dasm_put(Dst, 11451); 2206 dasm_put(Dst, 11504);
2190 } 2207 }
2191 break; 2208 break;
2192 case 1: 2209 case 1:
2193 dasm_put(Dst, 11460, LJ_TISNUM); 2210 dasm_put(Dst, 11513, LJ_TISNUM);
2194 if (LJ_DUALNUM) { 2211 if (LJ_DUALNUM) {
2195 dasm_put(Dst, 11472, LJ_TISNUM); 2212 dasm_put(Dst, 11525, LJ_TISNUM);
2196 } 2213 }
2197 if (sse) { 2214 if (sse) {
2198 dasm_put(Dst, 11484); 2215 dasm_put(Dst, 11537);
2199 } else { 2216 } else {
2200 dasm_put(Dst, 11499); 2217 dasm_put(Dst, 11552);
2201 } 2218 }
2202 break; 2219 break;
2203 default: 2220 default:
2204 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2221 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2205 if (sse) { 2222 if (sse) {
2206 dasm_put(Dst, 11530); 2223 dasm_put(Dst, 11583);
2207 } else { 2224 } else {
2208 dasm_put(Dst, 11544); 2225 dasm_put(Dst, 11597);
2209 } 2226 }
2210 break; 2227 break;
2211 } 2228 }
2212 if (sse) { 2229 if (sse) {
2213 dasm_put(Dst, 11163); 2230 dasm_put(Dst, 11183);
2214 } else { 2231 } else {
2215 dasm_put(Dst, 11175); 2232 dasm_put(Dst, 11195);
2216 } 2233 }
2217 dasm_put(Dst, 10286); 2234 dasm_put(Dst, 10306);
2218 } 2235 }
2219 break; 2236 break;
2220 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2237 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2221 if (LJ_DUALNUM) { 2238 if (LJ_DUALNUM) {
2222 dasm_put(Dst, 11295); 2239 dasm_put(Dst, 11348);
2223 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2240 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2224 switch (vk) { 2241 switch (vk) {
2225 case 0: 2242 case 0:
2226 dasm_put(Dst, 11552, LJ_TISNUM, LJ_TISNUM); 2243 dasm_put(Dst, 11605, LJ_TISNUM, LJ_TISNUM);
2227 break; 2244 break;
2228 case 1: 2245 case 1:
2229 dasm_put(Dst, 11587, LJ_TISNUM, LJ_TISNUM); 2246 dasm_put(Dst, 11640, LJ_TISNUM, LJ_TISNUM);
2230 break; 2247 break;
2231 default: 2248 default:
2232 dasm_put(Dst, 11622, LJ_TISNUM, LJ_TISNUM); 2249 dasm_put(Dst, 11675, LJ_TISNUM, LJ_TISNUM);
2233 break; 2250 break;
2234 } 2251 }
2235 dasm_put(Dst, 11406, LJ_TISNUM); 2252 dasm_put(Dst, 11459, LJ_TISNUM);
2236 if (vk == 1) { 2253 if (vk == 1) {
2237 dasm_put(Dst, 11203); 2254 dasm_put(Dst, 11223);
2238 } else { 2255 } else {
2239 dasm_put(Dst, 10986); 2256 dasm_put(Dst, 11006);
2240 } 2257 }
2241 dasm_put(Dst, 10286); 2258 dasm_put(Dst, 10306);
2242 } else { 2259 } else {
2243 dasm_put(Dst, 11295); 2260 dasm_put(Dst, 11348);
2244 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2261 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2245 switch (vk) { 2262 switch (vk) {
2246 case 0: 2263 case 0:
2247 dasm_put(Dst, 11412, LJ_TISNUM); 2264 dasm_put(Dst, 11465, LJ_TISNUM);
2248 if (LJ_DUALNUM) { 2265 if (LJ_DUALNUM) {
2249 dasm_put(Dst, 11424, LJ_TISNUM); 2266 dasm_put(Dst, 11477, LJ_TISNUM);
2250 } 2267 }
2251 if (sse) { 2268 if (sse) {
2252 dasm_put(Dst, 11655); 2269 dasm_put(Dst, 11708);
2253 } else { 2270 } else {
2254 dasm_put(Dst, 11670); 2271 dasm_put(Dst, 11723);
2255 } 2272 }
2256 break; 2273 break;
2257 case 1: 2274 case 1:
2258 dasm_put(Dst, 11460, LJ_TISNUM); 2275 dasm_put(Dst, 11513, LJ_TISNUM);
2259 if (LJ_DUALNUM) { 2276 if (LJ_DUALNUM) {
2260 dasm_put(Dst, 11472, LJ_TISNUM); 2277 dasm_put(Dst, 11525, LJ_TISNUM);
2261 } 2278 }
2262 if (sse) { 2279 if (sse) {
2263 dasm_put(Dst, 11679); 2280 dasm_put(Dst, 11732);
2264 } else { 2281 } else {
2265 dasm_put(Dst, 11694); 2282 dasm_put(Dst, 11747);
2266 } 2283 }
2267 break; 2284 break;
2268 default: 2285 default:
2269 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2286 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2270 if (sse) { 2287 if (sse) {
2271 dasm_put(Dst, 11703); 2288 dasm_put(Dst, 11756);
2272 } else { 2289 } else {
2273 dasm_put(Dst, 11717); 2290 dasm_put(Dst, 11770);
2274 } 2291 }
2275 break; 2292 break;
2276 } 2293 }
2277 if (sse) { 2294 if (sse) {
2278 dasm_put(Dst, 11163); 2295 dasm_put(Dst, 11183);
2279 } else { 2296 } else {
2280 dasm_put(Dst, 11175); 2297 dasm_put(Dst, 11195);
2281 } 2298 }
2282 dasm_put(Dst, 10286); 2299 dasm_put(Dst, 10306);
2283 } 2300 }
2284 break; 2301 break;
2285 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2302 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2286 if (LJ_DUALNUM) { 2303 if (LJ_DUALNUM) {
2287 dasm_put(Dst, 11295); 2304 dasm_put(Dst, 11348);
2288 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2305 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2289 switch (vk) { 2306 switch (vk) {
2290 case 0: 2307 case 0:
2291 dasm_put(Dst, 11725, LJ_TISNUM, LJ_TISNUM); 2308 dasm_put(Dst, 11778, LJ_TISNUM, LJ_TISNUM);
2292 break; 2309 break;
2293 case 1: 2310 case 1:
2294 dasm_put(Dst, 11761, LJ_TISNUM, LJ_TISNUM); 2311 dasm_put(Dst, 11814, LJ_TISNUM, LJ_TISNUM);
2295 break; 2312 break;
2296 default: 2313 default:
2297 dasm_put(Dst, 11797, LJ_TISNUM, LJ_TISNUM); 2314 dasm_put(Dst, 11850, LJ_TISNUM, LJ_TISNUM);
2298 break; 2315 break;
2299 } 2316 }
2300 dasm_put(Dst, 11406, LJ_TISNUM); 2317 dasm_put(Dst, 11459, LJ_TISNUM);
2301 if (vk == 1) { 2318 if (vk == 1) {
2302 dasm_put(Dst, 11203); 2319 dasm_put(Dst, 11223);
2303 } else { 2320 } else {
2304 dasm_put(Dst, 10986); 2321 dasm_put(Dst, 11006);
2305 } 2322 }
2306 dasm_put(Dst, 10286); 2323 dasm_put(Dst, 10306);
2307 } else { 2324 } else {
2308 dasm_put(Dst, 11295); 2325 dasm_put(Dst, 11348);
2309 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2326 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2310 switch (vk) { 2327 switch (vk) {
2311 case 0: 2328 case 0:
2312 dasm_put(Dst, 11412, LJ_TISNUM); 2329 dasm_put(Dst, 11465, LJ_TISNUM);
2313 if (LJ_DUALNUM) { 2330 if (LJ_DUALNUM) {
2314 dasm_put(Dst, 11424, LJ_TISNUM); 2331 dasm_put(Dst, 11477, LJ_TISNUM);
2315 } 2332 }
2316 if (sse) { 2333 if (sse) {
2317 dasm_put(Dst, 11831); 2334 dasm_put(Dst, 11884);
2318 } else { 2335 } else {
2319 dasm_put(Dst, 11846); 2336 dasm_put(Dst, 11899);
2320 } 2337 }
2321 break; 2338 break;
2322 case 1: 2339 case 1:
2323 dasm_put(Dst, 11460, LJ_TISNUM); 2340 dasm_put(Dst, 11513, LJ_TISNUM);
2324 if (LJ_DUALNUM) { 2341 if (LJ_DUALNUM) {
2325 dasm_put(Dst, 11472, LJ_TISNUM); 2342 dasm_put(Dst, 11525, LJ_TISNUM);
2326 } 2343 }
2327 if (sse) { 2344 if (sse) {
2328 dasm_put(Dst, 11855); 2345 dasm_put(Dst, 11908);
2329 } else { 2346 } else {
2330 dasm_put(Dst, 11870); 2347 dasm_put(Dst, 11923);
2331 } 2348 }
2332 break; 2349 break;
2333 default: 2350 default:
2334 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2351 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2335 if (sse) { 2352 if (sse) {
2336 dasm_put(Dst, 11879); 2353 dasm_put(Dst, 11932);
2337 } else { 2354 } else {
2338 dasm_put(Dst, 11893); 2355 dasm_put(Dst, 11946);
2339 } 2356 }
2340 break; 2357 break;
2341 } 2358 }
2342 if (sse) { 2359 if (sse) {
2343 dasm_put(Dst, 11163); 2360 dasm_put(Dst, 11183);
2344 } else { 2361 } else {
2345 dasm_put(Dst, 11175); 2362 dasm_put(Dst, 11195);
2346 } 2363 }
2347 dasm_put(Dst, 10286); 2364 dasm_put(Dst, 10306);
2348 } 2365 }
2349 break; 2366 break;
2350 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2367 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2351 dasm_put(Dst, 11295); 2368 dasm_put(Dst, 11348);
2352 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2369 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2353 switch (vk) { 2370 switch (vk) {
2354 case 0: 2371 case 0:
2355 dasm_put(Dst, 11412, LJ_TISNUM); 2372 dasm_put(Dst, 11465, LJ_TISNUM);
2356 if (LJ_DUALNUM) { 2373 if (LJ_DUALNUM) {
2357 dasm_put(Dst, 11424, LJ_TISNUM); 2374 dasm_put(Dst, 11477, LJ_TISNUM);
2358 } 2375 }
2359 if (sse) { 2376 if (sse) {
2360 dasm_put(Dst, 11901); 2377 dasm_put(Dst, 11954);
2361 } else { 2378 } else {
2362 dasm_put(Dst, 11916); 2379 dasm_put(Dst, 11969);
2363 } 2380 }
2364 break; 2381 break;
2365 case 1: 2382 case 1:
2366 dasm_put(Dst, 11460, LJ_TISNUM); 2383 dasm_put(Dst, 11513, LJ_TISNUM);
2367 if (LJ_DUALNUM) { 2384 if (LJ_DUALNUM) {
2368 dasm_put(Dst, 11472, LJ_TISNUM); 2385 dasm_put(Dst, 11525, LJ_TISNUM);
2369 } 2386 }
2370 if (sse) { 2387 if (sse) {
2371 dasm_put(Dst, 11925); 2388 dasm_put(Dst, 11978);
2372 } else { 2389 } else {
2373 dasm_put(Dst, 11940); 2390 dasm_put(Dst, 11993);
2374 } 2391 }
2375 break; 2392 break;
2376 default: 2393 default:
2377 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2394 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2378 if (sse) { 2395 if (sse) {
2379 dasm_put(Dst, 11949); 2396 dasm_put(Dst, 12002);
2380 } else { 2397 } else {
2381 dasm_put(Dst, 11963); 2398 dasm_put(Dst, 12016);
2382 } 2399 }
2383 break; 2400 break;
2384 } 2401 }
2385 if (sse) { 2402 if (sse) {
2386 dasm_put(Dst, 11163); 2403 dasm_put(Dst, 11183);
2387 } else { 2404 } else {
2388 dasm_put(Dst, 11175); 2405 dasm_put(Dst, 11195);
2389 } 2406 }
2390 dasm_put(Dst, 10286); 2407 dasm_put(Dst, 10306);
2391 break; 2408 break;
2392 case BC_MODVN: 2409 case BC_MODVN:
2393 dasm_put(Dst, 11295); 2410 dasm_put(Dst, 11348);
2394 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2411 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2395 switch (vk) { 2412 switch (vk) {
2396 case 0: 2413 case 0:
2397 dasm_put(Dst, 11412, LJ_TISNUM); 2414 dasm_put(Dst, 11465, LJ_TISNUM);
2398 if (LJ_DUALNUM) { 2415 if (LJ_DUALNUM) {
2399 dasm_put(Dst, 11424, LJ_TISNUM); 2416 dasm_put(Dst, 11477, LJ_TISNUM);
2400 } 2417 }
2401 if (sse) { 2418 if (sse) {
2402 dasm_put(Dst, 11971); 2419 dasm_put(Dst, 12024);
2403 } else { 2420 } else {
2404 dasm_put(Dst, 11986); 2421 dasm_put(Dst, 12039);
2405 } 2422 }
2406 break; 2423 break;
2407 case 1: 2424 case 1:
2408 dasm_put(Dst, 11460, LJ_TISNUM); 2425 dasm_put(Dst, 11513, LJ_TISNUM);
2409 if (LJ_DUALNUM) { 2426 if (LJ_DUALNUM) {
2410 dasm_put(Dst, 11472, LJ_TISNUM); 2427 dasm_put(Dst, 11525, LJ_TISNUM);
2411 } 2428 }
2412 if (sse) { 2429 if (sse) {
2413 dasm_put(Dst, 11995); 2430 dasm_put(Dst, 12048);
2414 } else { 2431 } else {
2415 dasm_put(Dst, 12010); 2432 dasm_put(Dst, 12063);
2416 } 2433 }
2417 break; 2434 break;
2418 default: 2435 default:
2419 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2436 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2420 if (sse) { 2437 if (sse) {
2421 dasm_put(Dst, 12019); 2438 dasm_put(Dst, 12072);
2422 } else { 2439 } else {
2423 dasm_put(Dst, 12033); 2440 dasm_put(Dst, 12086);
2424 } 2441 }
2425 break; 2442 break;
2426 } 2443 }
2427 dasm_put(Dst, 12041); 2444 dasm_put(Dst, 12094);
2428 if (sse) { 2445 if (sse) {
2429 dasm_put(Dst, 11163); 2446 dasm_put(Dst, 11183);
2430 } else { 2447 } else {
2431 dasm_put(Dst, 11175); 2448 dasm_put(Dst, 11195);
2432 } 2449 }
2433 dasm_put(Dst, 10286); 2450 dasm_put(Dst, 10306);
2434 break; 2451 break;
2435 case BC_MODNV: case BC_MODVV: 2452 case BC_MODNV: case BC_MODVV:
2436 dasm_put(Dst, 11295); 2453 dasm_put(Dst, 11348);
2437 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2454 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2438 switch (vk) { 2455 switch (vk) {
2439 case 0: 2456 case 0:
2440 dasm_put(Dst, 11412, LJ_TISNUM); 2457 dasm_put(Dst, 11465, LJ_TISNUM);
2441 if (LJ_DUALNUM) { 2458 if (LJ_DUALNUM) {
2442 dasm_put(Dst, 11424, LJ_TISNUM); 2459 dasm_put(Dst, 11477, LJ_TISNUM);
2443 } 2460 }
2444 if (sse) { 2461 if (sse) {
2445 dasm_put(Dst, 11971); 2462 dasm_put(Dst, 12024);
2446 } else { 2463 } else {
2447 dasm_put(Dst, 11986); 2464 dasm_put(Dst, 12039);
2448 } 2465 }
2449 break; 2466 break;
2450 case 1: 2467 case 1:
2451 dasm_put(Dst, 11460, LJ_TISNUM); 2468 dasm_put(Dst, 11513, LJ_TISNUM);
2452 if (LJ_DUALNUM) { 2469 if (LJ_DUALNUM) {
2453 dasm_put(Dst, 11472, LJ_TISNUM); 2470 dasm_put(Dst, 11525, LJ_TISNUM);
2454 } 2471 }
2455 if (sse) { 2472 if (sse) {
2456 dasm_put(Dst, 11995); 2473 dasm_put(Dst, 12048);
2457 } else { 2474 } else {
2458 dasm_put(Dst, 12010); 2475 dasm_put(Dst, 12063);
2459 } 2476 }
2460 break; 2477 break;
2461 default: 2478 default:
2462 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2479 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2463 if (sse) { 2480 if (sse) {
2464 dasm_put(Dst, 12019); 2481 dasm_put(Dst, 12072);
2465 } else { 2482 } else {
2466 dasm_put(Dst, 12033); 2483 dasm_put(Dst, 12086);
2467 } 2484 }
2468 break; 2485 break;
2469 } 2486 }
2470 dasm_put(Dst, 12047); 2487 dasm_put(Dst, 12100);
2471 break; 2488 break;
2472 case BC_POW: 2489 case BC_POW:
2473 dasm_put(Dst, 11295); 2490 dasm_put(Dst, 11348);
2474 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2491 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2475 switch (vk) { 2492 switch (vk) {
2476 case 0: 2493 case 0:
2477 dasm_put(Dst, 11412, LJ_TISNUM); 2494 dasm_put(Dst, 11465, LJ_TISNUM);
2478 if (LJ_DUALNUM) { 2495 if (LJ_DUALNUM) {
2479 dasm_put(Dst, 11424, LJ_TISNUM); 2496 dasm_put(Dst, 11477, LJ_TISNUM);
2480 } 2497 }
2481 if (sse) { 2498 if (sse) {
2482 dasm_put(Dst, 11971); 2499 dasm_put(Dst, 12024);
2483 } else { 2500 } else {
2484 dasm_put(Dst, 11986); 2501 dasm_put(Dst, 12039);
2485 } 2502 }
2486 break; 2503 break;
2487 case 1: 2504 case 1:
2488 dasm_put(Dst, 11460, LJ_TISNUM); 2505 dasm_put(Dst, 11513, LJ_TISNUM);
2489 if (LJ_DUALNUM) { 2506 if (LJ_DUALNUM) {
2490 dasm_put(Dst, 11472, LJ_TISNUM); 2507 dasm_put(Dst, 11525, LJ_TISNUM);
2491 } 2508 }
2492 if (sse) { 2509 if (sse) {
2493 dasm_put(Dst, 11995); 2510 dasm_put(Dst, 12048);
2494 } else { 2511 } else {
2495 dasm_put(Dst, 12010); 2512 dasm_put(Dst, 12063);
2496 } 2513 }
2497 break; 2514 break;
2498 default: 2515 default:
2499 dasm_put(Dst, 11508, LJ_TISNUM, LJ_TISNUM); 2516 dasm_put(Dst, 11561, LJ_TISNUM, LJ_TISNUM);
2500 if (sse) { 2517 if (sse) {
2501 dasm_put(Dst, 12019); 2518 dasm_put(Dst, 12072);
2502 } else { 2519 } else {
2503 dasm_put(Dst, 12033); 2520 dasm_put(Dst, 12086);
2504 } 2521 }
2505 break; 2522 break;
2506 } 2523 }
2507 dasm_put(Dst, 12052); 2524 dasm_put(Dst, 12105);
2508 if (sse) { 2525 if (sse) {
2509 dasm_put(Dst, 11163); 2526 dasm_put(Dst, 11183);
2510 } else { 2527 } else {
2511 dasm_put(Dst, 11175); 2528 dasm_put(Dst, 11195);
2512 } 2529 }
2513 dasm_put(Dst, 10286); 2530 dasm_put(Dst, 10306);
2514 break; 2531 break;
2515 2532
2516 case BC_CAT: 2533 case BC_CAT:
2517 dasm_put(Dst, 12056, Dt1(->base), Dt1(->base)); 2534 dasm_put(Dst, 12109, Dt1(->base), Dt1(->base));
2518 break; 2535 break;
2519 2536
2520 /* -- Constant ops ------------------------------------------------------ */ 2537 /* -- Constant ops ------------------------------------------------------ */
2521 2538
2522 case BC_KSTR: 2539 case BC_KSTR:
2523 dasm_put(Dst, 12140, LJ_TSTR); 2540 dasm_put(Dst, 12193, LJ_TSTR);
2524 break; 2541 break;
2525 case BC_KCDATA: 2542 case BC_KCDATA:
2526#if LJ_HASFFI 2543#if LJ_HASFFI
2527 dasm_put(Dst, 12140, LJ_TCDATA); 2544 dasm_put(Dst, 12193, LJ_TCDATA);
2528#endif 2545#endif
2529 break; 2546 break;
2530 case BC_KSHORT: 2547 case BC_KSHORT:
2531 if (LJ_DUALNUM) { 2548 if (LJ_DUALNUM) {
2532 dasm_put(Dst, 12177, LJ_TISNUM); 2549 dasm_put(Dst, 12230, LJ_TISNUM);
2533 } else if (sse) { 2550 } else if (sse) {
2534 dasm_put(Dst, 12189); 2551 dasm_put(Dst, 12242);
2535 } else { 2552 } else {
2536 dasm_put(Dst, 12204); 2553 dasm_put(Dst, 12257);
2537 } 2554 }
2538 dasm_put(Dst, 10286); 2555 dasm_put(Dst, 10306);
2539 break; 2556 break;
2540 case BC_KNUM: 2557 case BC_KNUM:
2541 if (sse) { 2558 if (sse) {
2542 dasm_put(Dst, 12212); 2559 dasm_put(Dst, 12265);
2543 } else { 2560 } else {
2544 dasm_put(Dst, 12226); 2561 dasm_put(Dst, 12279);
2545 } 2562 }
2546 dasm_put(Dst, 10286); 2563 dasm_put(Dst, 10306);
2547 break; 2564 break;
2548 case BC_KPRI: 2565 case BC_KPRI:
2549 dasm_put(Dst, 12234); 2566 dasm_put(Dst, 12287);
2550 break; 2567 break;
2551 case BC_KNIL: 2568 case BC_KNIL:
2552 dasm_put(Dst, 12263, LJ_TNIL); 2569 dasm_put(Dst, 12316, LJ_TNIL);
2553 break; 2570 break;
2554 2571
2555 /* -- Upvalue and function ops ------------------------------------------ */ 2572 /* -- Upvalue and function ops ------------------------------------------ */
2556 2573
2557 case BC_UGET: 2574 case BC_UGET:
2558 dasm_put(Dst, 12311, offsetof(GCfuncL, uvptr), DtA(->v)); 2575 dasm_put(Dst, 12364, offsetof(GCfuncL, uvptr), DtA(->v));
2559 break; 2576 break;
2560 case BC_USETV: 2577 case BC_USETV:
2561#define TV2MARKOFS \ 2578#define TV2MARKOFS \
2562 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2579 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2563 dasm_put(Dst, 12352, 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); 2580 dasm_put(Dst, 12405, 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);
2564 dasm_put(Dst, 12448); 2581 dasm_put(Dst, 12501);
2565 break; 2582 break;
2566#undef TV2MARKOFS 2583#undef TV2MARKOFS
2567 case BC_USETS: 2584 case BC_USETS:
2568 dasm_put(Dst, 12460, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2585 dasm_put(Dst, 12513, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2569 break; 2586 break;
2570 case BC_USETN: 2587 case BC_USETN:
2571 dasm_put(Dst, 12556); 2588 dasm_put(Dst, 12609);
2572 if (sse) { 2589 if (sse) {
2573 dasm_put(Dst, 12561); 2590 dasm_put(Dst, 12614);
2574 } else { 2591 } else {
2575 dasm_put(Dst, 10810); 2592 dasm_put(Dst, 10830);
2576 } 2593 }
2577 dasm_put(Dst, 12569, offsetof(GCfuncL, uvptr), DtA(->v)); 2594 dasm_put(Dst, 12622, offsetof(GCfuncL, uvptr), DtA(->v));
2578 if (sse) { 2595 if (sse) {
2579 dasm_put(Dst, 12578); 2596 dasm_put(Dst, 12631);
2580 } else { 2597 } else {
2581 dasm_put(Dst, 12584); 2598 dasm_put(Dst, 12637);
2582 } 2599 }
2583 dasm_put(Dst, 10286); 2600 dasm_put(Dst, 10306);
2584 break; 2601 break;
2585 case BC_USETP: 2602 case BC_USETP:
2586 dasm_put(Dst, 12587, offsetof(GCfuncL, uvptr), DtA(->v)); 2603 dasm_put(Dst, 12640, offsetof(GCfuncL, uvptr), DtA(->v));
2587 break; 2604 break;
2588 case BC_UCLO: 2605 case BC_UCLO:
2589 dasm_put(Dst, 12627, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2606 dasm_put(Dst, 12680, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2590 break; 2607 break;
2591 2608
2592 case BC_FNEW: 2609 case BC_FNEW:
2593 dasm_put(Dst, 12683, Dt1(->base), Dt1(->base), LJ_TFUNC); 2610 dasm_put(Dst, 12736, Dt1(->base), Dt1(->base), LJ_TFUNC);
2594 break; 2611 break;
2595 2612
2596 /* -- Table ops --------------------------------------------------------- */ 2613 /* -- Table ops --------------------------------------------------------- */
2597 2614
2598 case BC_TNEW: 2615 case BC_TNEW:
2599 dasm_put(Dst, 12750, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2616 dasm_put(Dst, 12803, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2600 break; 2617 break;
2601 case BC_TDUP: 2618 case BC_TDUP:
2602 dasm_put(Dst, 12874, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2619 dasm_put(Dst, 12927, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2603 break; 2620 break;
2604 2621
2605 case BC_GGET: 2622 case BC_GGET:
2606 dasm_put(Dst, 12973, Dt7(->env)); 2623 dasm_put(Dst, 13026, Dt7(->env));
2607 break; 2624 break;
2608 case BC_GSET: 2625 case BC_GSET:
2609 dasm_put(Dst, 12993, Dt7(->env)); 2626 dasm_put(Dst, 13046, Dt7(->env));
2610 break; 2627 break;
2611 2628
2612 case BC_TGETV: 2629 case BC_TGETV:
2613 dasm_put(Dst, 13013, LJ_TTAB); 2630 dasm_put(Dst, 13066, LJ_TTAB);
2614 if (LJ_DUALNUM) { 2631 if (LJ_DUALNUM) {
2615 dasm_put(Dst, 13036, LJ_TISNUM); 2632 dasm_put(Dst, 13089, LJ_TISNUM);
2616 } else { 2633 } else {
2617 dasm_put(Dst, 13050, LJ_TISNUM); 2634 dasm_put(Dst, 13103, LJ_TISNUM);
2618 if (sse) { 2635 if (sse) {
2619 dasm_put(Dst, 13061); 2636 dasm_put(Dst, 13114);
2620 } else { 2637 } else {
2621 } 2638 }
2622 dasm_put(Dst, 13082); 2639 dasm_put(Dst, 13135);
2623 } 2640 }
2624 dasm_put(Dst, 13087, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2641 dasm_put(Dst, 13140, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2625 dasm_put(Dst, 13179, LJ_TSTR); 2642 dasm_put(Dst, 13232, LJ_TSTR);
2626 break; 2643 break;
2627 case BC_TGETS: 2644 case BC_TGETS:
2628 dasm_put(Dst, 13197, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2645 dasm_put(Dst, 13250, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2629 dasm_put(Dst, 13282, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2646 dasm_put(Dst, 13335, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2630 break; 2647 break;
2631 case BC_TGETB: 2648 case BC_TGETB:
2632 dasm_put(Dst, 13354, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2649 dasm_put(Dst, 13407, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2633 dasm_put(Dst, 13450, LJ_TNIL); 2650 dasm_put(Dst, 13503, LJ_TNIL);
2634 break; 2651 break;
2635 2652
2636 case BC_TSETV: 2653 case BC_TSETV:
2637 dasm_put(Dst, 13467, LJ_TTAB); 2654 dasm_put(Dst, 13520, LJ_TTAB);
2638 if (LJ_DUALNUM) { 2655 if (LJ_DUALNUM) {
2639 dasm_put(Dst, 13036, LJ_TISNUM); 2656 dasm_put(Dst, 13089, LJ_TISNUM);
2640 } else { 2657 } else {
2641 dasm_put(Dst, 13050, LJ_TISNUM); 2658 dasm_put(Dst, 13103, LJ_TISNUM);
2642 if (sse) { 2659 if (sse) {
2643 dasm_put(Dst, 13061); 2660 dasm_put(Dst, 13114);
2644 } else { 2661 } else {
2645 } 2662 }
2646 dasm_put(Dst, 13490); 2663 dasm_put(Dst, 13543);
2647 } 2664 }
2648 dasm_put(Dst, 13495, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2665 dasm_put(Dst, 13548, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2649 dasm_put(Dst, 13576, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2666 dasm_put(Dst, 13629, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2650 break; 2667 break;
2651 case BC_TSETS: 2668 case BC_TSETS:
2652 dasm_put(Dst, 13635, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2669 dasm_put(Dst, 13688, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2653 dasm_put(Dst, 13712, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2670 dasm_put(Dst, 13765, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2654 dasm_put(Dst, 13799, 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)); 2671 dasm_put(Dst, 13852, 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));
2655 break; 2672 break;
2656 case BC_TSETB: 2673 case BC_TSETB:
2657 dasm_put(Dst, 13891, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2674 dasm_put(Dst, 13944, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2658 dasm_put(Dst, 13986, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2675 dasm_put(Dst, 14039, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2659 break; 2676 break;
2660 2677
2661 case BC_TSETM: 2678 case BC_TSETM:
2662 dasm_put(Dst, 14034, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2679 dasm_put(Dst, 14087, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2663 dasm_put(Dst, 14184, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2680 dasm_put(Dst, 14237, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2664 break; 2681 break;
2665 2682
2666 /* -- Calls and vararg handling ----------------------------------------- */ 2683 /* -- Calls and vararg handling ----------------------------------------- */
2667 2684
2668 case BC_CALL: case BC_CALLM: 2685 case BC_CALL: case BC_CALLM:
2669 dasm_put(Dst, 11299); 2686 dasm_put(Dst, 11352);
2670 if (op == BC_CALLM) { 2687 if (op == BC_CALLM) {
2671 dasm_put(Dst, 14204); 2688 dasm_put(Dst, 14257);
2672 } 2689 }
2673 dasm_put(Dst, 14209, LJ_TFUNC, Dt7(->pc)); 2690 dasm_put(Dst, 14262, LJ_TFUNC, Dt7(->pc));
2674 break; 2691 break;
2675 2692
2676 case BC_CALLMT: 2693 case BC_CALLMT:
2677 dasm_put(Dst, 14204); 2694 dasm_put(Dst, 14257);
2678 break; 2695 break;
2679 case BC_CALLT: 2696 case BC_CALLT:
2680 dasm_put(Dst, 14252, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2697 dasm_put(Dst, 14305, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2681 dasm_put(Dst, 14370, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2698 dasm_put(Dst, 14423, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2682 break; 2699 break;
2683 2700
2684 case BC_ITERC: 2701 case BC_ITERC:
2685 dasm_put(Dst, 14444, LJ_TFUNC, 2+1, Dt7(->pc)); 2702 dasm_put(Dst, 14497, LJ_TFUNC, 2+1, Dt7(->pc));
2686 break; 2703 break;
2687 2704
2688 case BC_ITERN: 2705 case BC_ITERN:
2689#if LJ_HASJIT 2706#if LJ_HASJIT
2690#endif 2707#endif
2691 dasm_put(Dst, 14516, Dt6(->asize), Dt6(->array), LJ_TNIL); 2708 dasm_put(Dst, 14569, Dt6(->asize), Dt6(->array), LJ_TNIL);
2692 if (LJ_DUALNUM) { 2709 if (LJ_DUALNUM) {
2693 dasm_put(Dst, 11198, LJ_TISNUM); 2710 dasm_put(Dst, 11218, LJ_TISNUM);
2694 } else if (sse) { 2711 } else if (sse) {
2695 dasm_put(Dst, 11276); 2712 dasm_put(Dst, 11313);
2696 } else { 2713 } else {
2697 dasm_put(Dst, 14568); 2714 dasm_put(Dst, 14621);
2698 } 2715 }
2699 dasm_put(Dst, 14574); 2716 dasm_put(Dst, 14627);
2700 if (LJ_DUALNUM) { 2717 if (LJ_DUALNUM) {
2701 } else if (sse) { 2718 } else if (sse) {
2702 dasm_put(Dst, 11163); 2719 dasm_put(Dst, 11183);
2703 } else { 2720 } else {
2704 dasm_put(Dst, 11175); 2721 dasm_put(Dst, 11195);
2705 } 2722 }
2706 dasm_put(Dst, 14587, -BCBIAS_J*4); 2723 dasm_put(Dst, 14640, -BCBIAS_J*4);
2707 if (!LJ_DUALNUM && !sse) { 2724 if (!LJ_DUALNUM && !sse) {
2708 dasm_put(Dst, 14641); 2725 dasm_put(Dst, 14694);
2709 } 2726 }
2710 dasm_put(Dst, 14647, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2727 dasm_put(Dst, 14700, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2711 break; 2728 break;
2712 2729
2713 case BC_ISNEXT: 2730 case BC_ISNEXT:
2714 dasm_put(Dst, 14726, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2731 dasm_put(Dst, 14779, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2715 break; 2732 break;
2716 2733
2717 case BC_VARG: 2734 case BC_VARG:
2718 dasm_put(Dst, 14827, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2735 dasm_put(Dst, 14880, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2719 dasm_put(Dst, 14994, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2736 dasm_put(Dst, 15047, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2720 break; 2737 break;
2721 2738
2722 /* -- Returns ----------------------------------------------------------- */ 2739 /* -- Returns ----------------------------------------------------------- */
2723 2740
2724 case BC_RETM: 2741 case BC_RETM:
2725 dasm_put(Dst, 14204); 2742 dasm_put(Dst, 14257);
2726 break; 2743 break;
2727 2744
2728 case BC_RET: case BC_RET0: case BC_RET1: 2745 case BC_RET: case BC_RET0: case BC_RET1:
2729 if (op != BC_RET0) { 2746 if (op != BC_RET0) {
2730 dasm_put(Dst, 15064); 2747 dasm_put(Dst, 15117);
2731 } 2748 }
2732 dasm_put(Dst, 15068, FRAME_TYPE); 2749 dasm_put(Dst, 15121, FRAME_TYPE);
2733 switch (op) { 2750 switch (op) {
2734 case BC_RET: 2751 case BC_RET:
2735 dasm_put(Dst, 15087); 2752 dasm_put(Dst, 15140);
2736 break; 2753 break;
2737 case BC_RET1: 2754 case BC_RET1:
2738 dasm_put(Dst, 15141); 2755 dasm_put(Dst, 15194);
2739 /* fallthrough */ 2756 /* fallthrough */
2740 case BC_RET0: 2757 case BC_RET0:
2741 dasm_put(Dst, 15151); 2758 dasm_put(Dst, 15204);
2742 default: 2759 default:
2743 break; 2760 break;
2744 } 2761 }
2745 dasm_put(Dst, 15162, Dt7(->pc), PC2PROTO(k)); 2762 dasm_put(Dst, 15215, Dt7(->pc), PC2PROTO(k));
2746 if (op == BC_RET) { 2763 if (op == BC_RET) {
2747 dasm_put(Dst, 15210, LJ_TNIL); 2764 dasm_put(Dst, 15263, LJ_TNIL);
2748 } else { 2765 } else {
2749 dasm_put(Dst, 15221, LJ_TNIL); 2766 dasm_put(Dst, 15274, LJ_TNIL);
2750 } 2767 }
2751 dasm_put(Dst, 15228, -FRAME_VARG, FRAME_TYPEP); 2768 dasm_put(Dst, 15281, -FRAME_VARG, FRAME_TYPEP);
2752 if (op != BC_RET0) { 2769 if (op != BC_RET0) {
2753 dasm_put(Dst, 15252); 2770 dasm_put(Dst, 15305);
2754 } 2771 }
2755 dasm_put(Dst, 4732); 2772 dasm_put(Dst, 4752);
2756 break; 2773 break;
2757 2774
2758 /* -- Loops and branches ------------------------------------------------ */ 2775 /* -- Loops and branches ------------------------------------------------ */
@@ -2760,7 +2777,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2760 2777
2761 case BC_FORL: 2778 case BC_FORL:
2762#if LJ_HASJIT 2779#if LJ_HASJIT
2763 dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); 2780 dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT);
2764#endif 2781#endif
2765 break; 2782 break;
2766 2783
@@ -2772,111 +2789,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2772 case BC_FORI: 2789 case BC_FORI:
2773 case BC_IFORL: 2790 case BC_IFORL:
2774 vk = (op == BC_IFORL || op == BC_JFORL); 2791 vk = (op == BC_IFORL || op == BC_JFORL);
2775 dasm_put(Dst, 15277); 2792 dasm_put(Dst, 15330);
2776 if (LJ_DUALNUM) { 2793 if (LJ_DUALNUM) {
2777 dasm_put(Dst, 15281, LJ_TISNUM); 2794 dasm_put(Dst, 15334, LJ_TISNUM);
2778 if (!vk) { 2795 if (!vk) {
2779 dasm_put(Dst, 15291, LJ_TISNUM, LJ_TISNUM); 2796 dasm_put(Dst, 15344, LJ_TISNUM, LJ_TISNUM);
2780 } else { 2797 } else {
2781#ifdef LUA_USE_ASSERT 2798#ifdef LUA_USE_ASSERT
2782 dasm_put(Dst, 15320, LJ_TISNUM, LJ_TISNUM); 2799 dasm_put(Dst, 15373, LJ_TISNUM, LJ_TISNUM);
2783#endif 2800#endif
2784 dasm_put(Dst, 15339); 2801 dasm_put(Dst, 15392);
2785 } 2802 }
2786 dasm_put(Dst, 15358, LJ_TISNUM); 2803 dasm_put(Dst, 15411, LJ_TISNUM);
2787 if (op == BC_FORI) { 2804 if (op == BC_FORI) {
2788 dasm_put(Dst, 15369, -BCBIAS_J*4); 2805 dasm_put(Dst, 15422, -BCBIAS_J*4);
2789 } else if (op == BC_JFORI) { 2806 } else if (op == BC_JFORI) {
2790 dasm_put(Dst, 15383, -BCBIAS_J*4, BC_JLOOP); 2807 dasm_put(Dst, 15436, -BCBIAS_J*4, BC_JLOOP);
2791 } else if (op == BC_IFORL) { 2808 } else if (op == BC_IFORL) {
2792 dasm_put(Dst, 15401, -BCBIAS_J*4); 2809 dasm_put(Dst, 15454, -BCBIAS_J*4);
2793 } else { 2810 } else {
2794 dasm_put(Dst, 15393, BC_JLOOP); 2811 dasm_put(Dst, 15446, BC_JLOOP);
2795 } 2812 }
2796 dasm_put(Dst, 15415); 2813 dasm_put(Dst, 15468);
2797 if (vk) { 2814 if (vk) {
2798 dasm_put(Dst, 15440); 2815 dasm_put(Dst, 15493);
2799 } 2816 }
2800 dasm_put(Dst, 15358, LJ_TISNUM); 2817 dasm_put(Dst, 15411, LJ_TISNUM);
2801 if (op == BC_FORI) { 2818 if (op == BC_FORI) {
2802 dasm_put(Dst, 15449); 2819 dasm_put(Dst, 15502);
2803 } else if (op == BC_JFORI) { 2820 } else if (op == BC_JFORI) {
2804 dasm_put(Dst, 15454, -BCBIAS_J*4, BC_JLOOP); 2821 dasm_put(Dst, 15507, -BCBIAS_J*4, BC_JLOOP);
2805 } else if (op == BC_IFORL) { 2822 } else if (op == BC_IFORL) {
2806 dasm_put(Dst, 15468); 2823 dasm_put(Dst, 15521);
2807 } else { 2824 } else {
2808 dasm_put(Dst, 15464, BC_JLOOP); 2825 dasm_put(Dst, 15517, BC_JLOOP);
2809 } 2826 }
2810 dasm_put(Dst, 15473); 2827 dasm_put(Dst, 15526);
2811 } else if (!vk) { 2828 } else if (!vk) {
2812 dasm_put(Dst, 15480, LJ_TISNUM); 2829 dasm_put(Dst, 15533, LJ_TISNUM);
2813 } 2830 }
2814 if (!vk) { 2831 if (!vk) {
2815 dasm_put(Dst, 15486, LJ_TISNUM); 2832 dasm_put(Dst, 15539, LJ_TISNUM);
2816 } else { 2833 } else {
2817#ifdef LUA_USE_ASSERT 2834#ifdef LUA_USE_ASSERT
2818 dasm_put(Dst, 15500, LJ_TISNUM, LJ_TISNUM); 2835 dasm_put(Dst, 15553, LJ_TISNUM, LJ_TISNUM);
2819#endif 2836#endif
2820 } 2837 }
2821 dasm_put(Dst, 15519); 2838 dasm_put(Dst, 15572);
2822 if (!vk) { 2839 if (!vk) {
2823 dasm_put(Dst, 15523, LJ_TISNUM); 2840 dasm_put(Dst, 15576, LJ_TISNUM);
2824 } 2841 }
2825 if (sse) { 2842 if (sse) {
2826 dasm_put(Dst, 15532); 2843 dasm_put(Dst, 15585);
2827 if (vk) { 2844 if (vk) {
2828 dasm_put(Dst, 15544); 2845 dasm_put(Dst, 15597);
2829 } else { 2846 } else {
2830 dasm_put(Dst, 15563); 2847 dasm_put(Dst, 15616);
2831 } 2848 }
2832 dasm_put(Dst, 15568); 2849 dasm_put(Dst, 15621);
2833 } else { 2850 } else {
2834 dasm_put(Dst, 15581); 2851 dasm_put(Dst, 15634);
2835 if (vk) { 2852 if (vk) {
2836 dasm_put(Dst, 15587); 2853 dasm_put(Dst, 15640);
2837 } else { 2854 } else {
2838 dasm_put(Dst, 15603); 2855 dasm_put(Dst, 15656);
2839 } 2856 }
2840 dasm_put(Dst, 15611); 2857 dasm_put(Dst, 15664);
2841 if (cmov) { 2858 if (cmov) {
2842 dasm_put(Dst, 10241); 2859 dasm_put(Dst, 10261);
2843 } else { 2860 } else {
2844 dasm_put(Dst, 10247); 2861 dasm_put(Dst, 10267);
2845 } 2862 }
2846 if (!cmov) { 2863 if (!cmov) {
2847 dasm_put(Dst, 15616); 2864 dasm_put(Dst, 15669);
2848 } 2865 }
2849 } 2866 }
2850 if (op == BC_FORI) { 2867 if (op == BC_FORI) {
2851 if (LJ_DUALNUM) { 2868 if (LJ_DUALNUM) {
2852 dasm_put(Dst, 15622); 2869 dasm_put(Dst, 15675);
2853 } else { 2870 } else {
2854 dasm_put(Dst, 15627, -BCBIAS_J*4); 2871 dasm_put(Dst, 15680, -BCBIAS_J*4);
2855 } 2872 }
2856 } else if (op == BC_JFORI) { 2873 } else if (op == BC_JFORI) {
2857 dasm_put(Dst, 15637, -BCBIAS_J*4, BC_JLOOP); 2874 dasm_put(Dst, 15690, -BCBIAS_J*4, BC_JLOOP);
2858 } else if (op == BC_IFORL) { 2875 } else if (op == BC_IFORL) {
2859 if (LJ_DUALNUM) { 2876 if (LJ_DUALNUM) {
2860 dasm_put(Dst, 15651); 2877 dasm_put(Dst, 15704);
2861 } else { 2878 } else {
2862 dasm_put(Dst, 15656, -BCBIAS_J*4); 2879 dasm_put(Dst, 15709, -BCBIAS_J*4);
2863 } 2880 }
2864 } else { 2881 } else {
2865 dasm_put(Dst, 15647, BC_JLOOP); 2882 dasm_put(Dst, 15700, BC_JLOOP);
2866 } 2883 }
2867 if (LJ_DUALNUM) { 2884 if (LJ_DUALNUM) {
2868 dasm_put(Dst, 10170); 2885 dasm_put(Dst, 10190);
2869 } else { 2886 } else {
2870 dasm_put(Dst, 10944); 2887 dasm_put(Dst, 10964);
2871 } 2888 }
2872 if (sse) { 2889 if (sse) {
2873 dasm_put(Dst, 15666); 2890 dasm_put(Dst, 15719);
2874 } 2891 }
2875 break; 2892 break;
2876 2893
2877 case BC_ITERL: 2894 case BC_ITERL:
2878#if LJ_HASJIT 2895#if LJ_HASJIT
2879 dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); 2896 dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT);
2880#endif 2897#endif
2881 break; 2898 break;
2882 2899
@@ -2885,33 +2902,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2885 break; 2902 break;
2886#endif 2903#endif
2887 case BC_IITERL: 2904 case BC_IITERL:
2888 dasm_put(Dst, 15677, LJ_TNIL); 2905 dasm_put(Dst, 15730, LJ_TNIL);
2889 if (op == BC_JITERL) { 2906 if (op == BC_JITERL) {
2890 dasm_put(Dst, 15692, BC_JLOOP); 2907 dasm_put(Dst, 15745, BC_JLOOP);
2891 } else { 2908 } else {
2892 dasm_put(Dst, 15706, -BCBIAS_J*4); 2909 dasm_put(Dst, 15759, -BCBIAS_J*4);
2893 } 2910 }
2894 dasm_put(Dst, 10284); 2911 dasm_put(Dst, 10304);
2895 break; 2912 break;
2896 2913
2897 case BC_LOOP: 2914 case BC_LOOP:
2898#if LJ_HASJIT 2915#if LJ_HASJIT
2899 dasm_put(Dst, 15256, HOTCOUNT_PCMASK, GG_DISP2HOT); 2916 dasm_put(Dst, 15309, HOTCOUNT_PCMASK, GG_DISP2HOT);
2900#endif 2917#endif
2901 break; 2918 break;
2902 2919
2903 case BC_ILOOP: 2920 case BC_ILOOP:
2904 dasm_put(Dst, 10286); 2921 dasm_put(Dst, 10306);
2905 break; 2922 break;
2906 2923
2907 case BC_JLOOP: 2924 case BC_JLOOP:
2908#if LJ_HASJIT 2925#if LJ_HASJIT
2909 dasm_put(Dst, 15722, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2926 dasm_put(Dst, 15775, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2910#endif 2927#endif
2911 break; 2928 break;
2912 2929
2913 case BC_JMP: 2930 case BC_JMP:
2914 dasm_put(Dst, 15763, -BCBIAS_J*4); 2931 dasm_put(Dst, 15816, -BCBIAS_J*4);
2915 break; 2932 break;
2916 2933
2917 /* -- Function headers -------------------------------------------------- */ 2934 /* -- Function headers -------------------------------------------------- */
@@ -2925,7 +2942,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2925 2942
2926 case BC_FUNCF: 2943 case BC_FUNCF:
2927#if LJ_HASJIT 2944#if LJ_HASJIT
2928 dasm_put(Dst, 15789, HOTCOUNT_PCMASK, GG_DISP2HOT); 2945 dasm_put(Dst, 15842, HOTCOUNT_PCMASK, GG_DISP2HOT);
2929#endif 2946#endif
2930 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2947 case BC_FUNCV: /* NYI: compiled vararg functions. */
2931 break; 2948 break;
@@ -2935,47 +2952,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2935 break; 2952 break;
2936#endif 2953#endif
2937 case BC_IFUNCF: 2954 case BC_IFUNCF:
2938 dasm_put(Dst, 15810, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2955 dasm_put(Dst, 15863, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2939 if (op == BC_JFUNCF) { 2956 if (op == BC_JFUNCF) {
2940 dasm_put(Dst, 15841, BC_JLOOP); 2957 dasm_put(Dst, 15894, BC_JLOOP);
2941 } else { 2958 } else {
2942 dasm_put(Dst, 10286); 2959 dasm_put(Dst, 10306);
2943 } 2960 }
2944 dasm_put(Dst, 15850, LJ_TNIL); 2961 dasm_put(Dst, 15903, LJ_TNIL);
2945 break; 2962 break;
2946 2963
2947 case BC_JFUNCV: 2964 case BC_JFUNCV:
2948#if !LJ_HASJIT 2965#if !LJ_HASJIT
2949 break; 2966 break;
2950#endif 2967#endif
2951 dasm_put(Dst, 9393); 2968 dasm_put(Dst, 9413);
2952 break; /* NYI: compiled vararg functions. */ 2969 break; /* NYI: compiled vararg functions. */
2953 2970
2954 case BC_IFUNCV: 2971 case BC_IFUNCV:
2955 dasm_put(Dst, 15872, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2972 dasm_put(Dst, 15925, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2956 if (op == BC_JFUNCV) { 2973 if (op == BC_JFUNCV) {
2957 dasm_put(Dst, 15841, BC_JLOOP); 2974 dasm_put(Dst, 15894, BC_JLOOP);
2958 } else { 2975 } else {
2959 dasm_put(Dst, 15969, -4+PC2PROTO(k)); 2976 dasm_put(Dst, 16022, -4+PC2PROTO(k));
2960 } 2977 }
2961 dasm_put(Dst, 15994, LJ_TNIL); 2978 dasm_put(Dst, 16047, LJ_TNIL);
2962 break; 2979 break;
2963 2980
2964 case BC_FUNCC: 2981 case BC_FUNCC:
2965 case BC_FUNCCW: 2982 case BC_FUNCCW:
2966 dasm_put(Dst, 16016, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2983 dasm_put(Dst, 16069, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2967 if (op == BC_FUNCC) { 2984 if (op == BC_FUNCC) {
2968 dasm_put(Dst, 2404); 2985 dasm_put(Dst, 2424);
2969 } else { 2986 } else {
2970 dasm_put(Dst, 16046); 2987 dasm_put(Dst, 16099);
2971 } 2988 }
2972 dasm_put(Dst, 16054, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2989 dasm_put(Dst, 16107, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2973 if (op == BC_FUNCC) { 2990 if (op == BC_FUNCC) {
2974 dasm_put(Dst, 16064); 2991 dasm_put(Dst, 16117);
2975 } else { 2992 } else {
2976 dasm_put(Dst, 16069, DISPATCH_GL(wrapf)); 2993 dasm_put(Dst, 16122, DISPATCH_GL(wrapf));
2977 } 2994 }
2978 dasm_put(Dst, 16075, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2995 dasm_put(Dst, 16128, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2979 break; 2996 break;
2980 2997
2981 /* ---------------------------------------------------------------------- */ 2998 /* ---------------------------------------------------------------------- */
@@ -3003,7 +3020,7 @@ static int build_backend(BuildCtx *ctx)
3003 3020
3004 build_subroutines(ctx, cmov, sse); 3021 build_subroutines(ctx, cmov, sse);
3005 3022
3006 dasm_put(Dst, 16101); 3023 dasm_put(Dst, 16154);
3007 for (op = 0; op < BC__MAX; op++) 3024 for (op = 0; op < BC__MAX; op++)
3008 build_ins(ctx, (BCOp)op, op, cmov, sse); 3025 build_ins(ctx, (BCOp)op, op, cmov, sse);
3009 3026