summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h2594
1 files changed, 1305 insertions, 1289 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 289f4bb9..7adb2637 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.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[17058] = { 15static const unsigned char build_actionlist[17111] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -90,89 +90,90 @@ static const unsigned char build_actionlist[17058] = {
90 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193, 90 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,
91 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108, 91 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,
92 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149, 92 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,
93 233,252,233,244,44,248,57,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131, 93 233,255,133,192,15,133,244,44,15,183,70,252,254,139,12,194,252,233,244,57,
94 252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149, 94 255,252,233,244,44,255,248,58,141,76,202,8,248,29,137,76,36,20,137,68,36,
95 233,255,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139, 95 16,131,252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,
96 105,252,248,131,192,1,57,215,15,132,244,58,137,202,137,114,252,252,139,181, 96 137,149,233,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,
97 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,59,139, 97 16,139,105,252,248,131,192,1,57,215,15,132,244,59,137,202,137,114,252,252,
98 108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149, 98 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,
99 233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233, 99 60,139,108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1,
100 248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244, 100 9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,
101 61,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131, 101 253,171,233,248,61,129,252,248,239,15,130,244,62,139,106,4,129,252,253,239,
102 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139, 102 15,131,244,62,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106,
103 41,137,105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233, 103 252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,193,8,139,105,4,137,
104 244,62,248,63,129,252,248,239,15,130,244,61,139,106,4,184,237,252,247,213, 104 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,
105 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252, 105 20,252,233,244,63,248,64,129,252,248,239,15,130,244,62,139,106,4,184,237,
106 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248, 106 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,
107 252,233,244,64,248,65,129,252,248,239,15,130,244,61,139,106,4,139,114,252, 107 2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,
108 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, 108 137,66,252,248,252,233,244,65,248,66,129,252,248,239,15,130,244,62,139,106,
109 237,199,66,252,252,237,15,132,244,64,139,131,233,199,66,252,252,237,255,137, 109 4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,
110 106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233, 110 248,2,133,252,237,199,66,252,252,237,15,132,244,65,139,131,233,199,66,252,
111 239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15, 111 252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,
112 133,244,3,252,233,244,64,248,5,139,105,4,129,252,253,239,255,15,132,244,64, 112 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,
113 139,1,137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,239, 113 137,233,133,201,15,133,244,3,252,233,244,65,248,5,139,105,4,129,252,253,239,
114 15,132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139, 114 255,15,132,244,65,139,1,137,106,252,252,137,66,252,248,252,233,244,65,248,
115 172,253,171,233,252,233,244,2,248,66,129,252,248,239,15,130,244,61,255,129, 115 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,254,189,237,248,
116 122,253,4,239,15,133,244,61,139,42,131,189,233,0,15,133,244,61,129,122,253, 116 8,252,247,213,139,172,253,171,233,252,233,244,2,248,67,129,252,248,239,15,
117 12,239,15,133,244,61,139,66,8,137,133,233,139,114,252,252,199,66,252,252, 117 130,244,62,255,129,122,253,4,239,15,133,244,62,139,42,131,189,233,0,15,133,
118 237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139, 118 244,62,129,122,253,12,239,15,133,244,62,139,66,8,137,133,233,139,114,252,
119 131,233,137,171,233,137,133,233,248,1,255,252,233,244,64,248,67,129,252,248, 119 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,
120 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,2,139,108,36,48,137, 120 128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255,252,233,244,
121 68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234, 121 65,248,68,129,252,248,239,15,130,244,62,129,122,253,4,239,15,133,244,62,139,
122 139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244, 122 2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,
123 64,248,68,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244, 123 1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,
124 247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,131,244,61,255,252,242, 124 252,252,233,244,65,248,69,129,252,248,239,15,133,244,62,129,122,253,4,239,
125 15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,248,72,129,252,248,239, 125 255,15,133,244,247,139,42,252,233,244,70,248,1,15,135,244,62,255,15,131,244,
126 15,130,244,61,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248, 126 62,255,252,242,15,16,2,252,233,244,71,255,221,2,252,233,244,72,255,248,73,
127 2,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,129,122,253,4,239, 127 129,252,248,239,15,130,244,62,139,114,252,252,129,122,253,4,239,15,133,244,
128 15,135,244,61,131,187,233,0,15,133,244,61,139,171,233,59,171,233,255,15,130, 128 249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,65,248,3,129,
129 244,247,232,244,73,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252, 129 122,253,4,239,15,135,244,62,131,187,233,0,15,133,244,62,139,171,233,59,171,
130 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,74, 130 233,255,15,130,244,247,232,244,74,248,1,139,108,36,48,137,149,233,137,116,
131 129,252,248,239,15,130,244,61,15,132,244,248,248,1,129,122,253,4,239,15,133, 131 36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,
132 244,61,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68, 132 244,2,248,75,129,252,248,239,15,130,244,62,15,132,244,248,248,1,129,122,253,
133 36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233, 133 4,239,15,133,244,62,139,108,36,48,137,149,233,137,149,233,139,114,252,252,
134 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252, 134 139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,
135 139,106,16,139,66,20,137,42,137,66,4,248,75,184,237,255,252,233,244,76,248, 135 13,139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,
136 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,64,248, 136 137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,76,184,237,255,252,
137 77,129,252,248,239,15,130,244,61,139,42,129,122,253,4,239,15,133,244,61,255, 137 233,244,77,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,
138 131,189,233,0,15,133,244,61,255,139,106,252,248,139,133,233,139,114,252,252, 138 233,244,65,248,78,129,252,248,239,15,130,244,62,139,42,129,122,253,4,239,
139 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,76,248, 139 15,133,244,62,255,131,189,233,0,15,133,244,62,255,139,106,252,248,139,133,
140 78,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61,129,122, 140 233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,
141 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237, 141 252,233,244,77,248,79,129,252,248,239,15,130,244,62,129,122,253,4,239,15,
142 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102, 142 133,244,62,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,
143 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248, 143 199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,
144 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42, 144 63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,
145 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15, 145 242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,
146 132,244,79,139,40,139,64,4,137,42,137,66,4,252,233,244,75,248,2,131,189,233, 146 139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
147 0,15,132,244,79,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133, 147 120,253,4,239,15,132,244,80,139,40,139,64,4,137,42,137,66,4,252,233,244,76,
148 192,15,133,244,1,248,79,184,237,252,233,244,76,248,80,255,139,106,252,248, 148 248,2,131,189,233,0,15,132,244,80,137,252,233,137,213,137,194,232,251,1,14,
149 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66, 149 137,252,234,133,192,15,133,244,1,248,80,184,237,252,233,244,77,248,81,255,
150 12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238, 150 139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,
151 221,90,8,255,184,237,252,233,244,76,248,81,129,252,248,239,15,130,244,61, 151 248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,
152 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1, 152 217,252,238,221,90,8,255,184,237,252,233,244,77,248,82,129,252,248,239,15,
153 1,252,238,252,233,244,28,248,82,129,252,248,239,15,130,244,61,129,122,253, 153 130,244,62,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,
154 12,239,15,133,244,61,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 154 131,229,1,1,252,238,252,233,244,28,248,83,129,252,248,239,15,130,244,62,129,
155 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,83,129,252, 155 122,253,12,239,15,133,244,62,255,139,106,4,137,106,12,199,66,4,237,139,42,
156 248,239,15,130,244,61,139,42,139,114,252,252,137,116,36,24,137,44,36,129, 156 139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,
157 122,253,4,239,15,133,244,61,131,189,233,0,15,133,244,61,128,189,233,235,15, 157 84,129,252,248,239,15,130,244,62,139,42,139,114,252,252,137,116,36,24,137,
158 135,244,61,139,141,233,15,132,244,247,255,59,141,233,15,132,244,61,248,1, 158 44,36,129,122,253,4,239,15,133,244,62,131,189,233,0,15,133,244,62,128,189,
159 141,116,193,252,240,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137, 159 233,235,15,135,244,62,139,141,233,15,132,244,247,255,59,141,233,15,132,244,
160 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244, 160 62,248,1,141,116,193,252,240,59,181,233,15,135,244,62,137,181,233,139,108,
161 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238, 161 36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,
162 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232, 162 15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,
163 244,25,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248, 163 252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,
164 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 164 36,8,232,244,25,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,
165 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137, 165 252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,
166 213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249, 166 252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,
167 15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,137,68, 167 255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,
168 36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244, 168 252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,
169 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137, 169 137,68,36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,
170 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12, 170 244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,
171 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 171 137,142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,
172 252,233,244,4,248,84,139,106,252,248,139,173,233,139,114,252,252,137,116, 172 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
173 36,24,137,44,36,131,189,233,0,15,133,244,61,255,128,189,233,235,15,135,244, 173 252,233,244,4,248,85,139,106,252,248,139,173,233,139,114,252,252,137,116,
174 61,139,141,233,15,132,244,247,59,141,233,15,132,244,61,248,1,141,116,193, 174 36,24,137,44,36,131,189,233,0,15,133,244,62,255,128,189,233,235,15,135,244,
175 252,248,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137,149,233,137, 175 62,139,141,233,15,132,244,247,59,141,233,15,132,244,62,248,1,141,116,193,
176 252,248,59,181,233,15,135,244,62,137,181,233,139,108,36,48,137,149,233,137,
176 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, 177 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,
177 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, 178 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,
178 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131, 179 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,
@@ -183,243 +184,243 @@ static const unsigned char build_actionlist[17058] = {
183 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, 184 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,
184 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, 185 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,
185 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 186 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
186 252,233,244,4,248,85,139,108,36,48,252,247,133,233,237,15,132,244,61,255, 187 252,233,244,4,248,86,139,108,36,48,252,247,133,233,237,15,132,244,62,255,
187 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, 188 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136,
188 133,233,252,233,244,16,255,248,69,255,248,71,139,114,252,252,221,90,252,248, 189 133,233,252,233,244,16,255,248,70,255,248,72,139,114,252,252,221,90,252,248,
189 252,233,244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4, 190 252,233,244,65,255,248,87,129,252,248,239,15,130,244,62,255,129,122,253,4,
190 239,15,133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136, 191 239,15,133,244,248,139,42,131,252,253,0,15,137,244,70,252,247,221,15,136,
191 244,247,248,87,248,69,139,114,252,252,199,66,252,252,237,137,106,252,248, 192 244,247,248,88,248,70,139,114,252,252,199,66,252,252,237,137,106,252,248,
192 252,233,244,64,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 193 252,233,244,65,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
193 248,0,0,0,0,252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131, 194 248,0,0,0,0,252,233,244,65,248,2,15,135,244,62,255,129,122,253,4,239,15,131,
194 244,61,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 195 244,62,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209,
195 1,15,84,193,248,70,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, 196 1,15,84,193,248,71,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,
196 225,248,70,248,71,139,114,252,252,221,90,252,248,255,248,64,184,237,248,76, 197 225,248,71,248,72,139,114,252,252,221,90,252,248,255,248,65,184,237,248,77,
197 137,68,36,20,248,62,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, 198 137,68,36,20,248,63,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,
198 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, 199 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15,
199 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, 200 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237,
200 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, 201 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,
201 244,14,248,88,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,69, 202 244,14,248,89,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,70,
202 248,1,15,135,244,61,255,252,242,15,16,2,232,244,89,255,252,242,15,45,232, 203 248,1,15,135,244,62,255,252,242,15,16,2,232,244,90,255,252,242,15,45,232,
203 129,252,253,0,0,0,128,15,133,244,69,252,242,15,42,205,102,15,46,193,15,138, 204 129,252,253,0,0,0,128,15,133,244,70,252,242,15,42,205,102,15,46,193,15,138,
204 244,70,15,132,244,69,255,221,2,232,244,89,255,219,20,36,139,44,36,129,252, 205 244,71,15,132,244,70,255,221,2,232,244,90,255,219,20,36,139,44,36,129,252,
205 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, 206 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255,
206 218,252,233,223,224,158,255,15,138,244,71,15,133,244,71,248,2,221,216,252, 207 218,252,233,223,224,158,255,15,138,244,72,15,133,244,72,248,2,221,216,252,
207 233,244,69,255,248,90,255,252,242,15,16,2,232,244,91,255,221,2,232,244,91, 208 233,244,70,255,248,91,255,252,242,15,16,2,232,244,92,255,221,2,232,244,92,
208 255,248,92,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61, 209 255,248,93,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,
209 252,242,15,81,2,252,233,244,70,255,248,92,129,252,248,239,15,130,244,61,129, 210 252,242,15,81,2,252,233,244,71,255,248,93,129,252,248,239,15,130,244,62,129,
210 122,253,4,239,15,131,244,61,221,2,217,252,250,252,233,244,71,255,248,93,129, 211 122,253,4,239,15,131,244,62,221,2,217,252,250,252,233,244,72,255,248,94,129,
211 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,237,221, 212 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,217,252,237,221,
212 2,217,252,241,252,233,244,71,248,94,129,252,248,239,15,130,244,61,129,122, 213 2,217,252,241,252,233,244,72,248,95,129,252,248,239,15,130,244,62,129,122,
213 253,4,239,15,131,244,61,217,252,236,221,2,217,252,241,252,233,244,71,248, 214 253,4,239,15,131,244,62,217,252,236,221,2,217,252,241,252,233,244,72,248,
214 95,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221, 215 96,129,252,248,239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,
215 2,232,244,96,252,233,244,71,248,97,129,252,248,239,15,130,244,61,129,122, 216 2,232,244,97,252,233,244,72,248,98,129,252,248,239,15,130,244,62,129,122,
216 253,4,239,15,131,244,61,221,2,217,252,254,252,233,244,71,248,98,129,252,248, 217 253,4,239,15,131,244,62,221,2,217,252,254,252,233,244,72,248,99,129,252,248,
217 239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,255,252, 218 239,255,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,252,255,252,
218 233,244,71,248,99,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 219 233,244,72,248,100,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
219 244,61,221,2,217,252,242,221,216,252,233,244,71,248,100,129,252,248,239,15, 220 244,62,221,2,217,252,242,221,216,252,233,244,72,248,101,129,252,248,239,15,
220 130,244,61,255,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217, 221 130,244,62,255,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,
221 232,222,225,217,252,250,217,252,243,252,233,244,71,248,101,129,252,248,239, 222 232,222,225,217,252,250,217,252,243,252,233,244,72,248,102,129,252,248,239,
222 15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,232, 223 15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,217,192,216,200,217,232,
223 222,225,217,252,250,217,201,217,252,243,252,233,244,71,248,102,129,252,248, 224 222,225,217,252,250,217,201,217,252,243,252,233,244,72,248,103,129,252,248,
224 239,15,130,244,61,129,122,253,4,239,15,131,244,61,255,221,2,217,232,217,252, 225 239,15,130,244,62,129,122,253,4,239,15,131,244,62,255,221,2,217,232,217,252,
225 243,252,233,244,71,255,248,103,129,252,248,239,15,130,244,61,129,122,253, 226 243,252,233,244,72,255,248,104,129,252,248,239,15,130,244,62,129,122,253,
226 4,239,15,131,244,61,252,242,15,16,2,252,242,15,17,4,36,255,248,103,129,252, 227 4,239,15,131,244,62,252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252,
227 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255, 228 248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255,
228 137,213,232,251,1,16,137,252,234,252,233,244,71,255,248,104,129,252,248,239, 229 137,213,232,251,1,16,137,252,234,252,233,244,72,255,248,105,129,252,248,239,
229 15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,252,242,15, 230 15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,252,242,15,
230 17,4,36,255,248,104,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 231 17,4,36,255,248,105,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
231 244,61,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,71, 232 244,62,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,72,
232 255,248,105,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61, 233 255,248,106,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,
233 252,242,15,16,2,252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244, 234 252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,239,15,130,244,
234 61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255,137,213,232,251,1, 235 62,129,122,253,4,239,15,131,244,62,221,2,221,28,36,255,137,213,232,251,1,
235 18,137,252,234,252,233,244,71,248,106,255,248,107,129,252,248,239,15,130, 236 18,137,252,234,252,233,244,72,248,107,255,248,108,129,252,248,239,15,130,
236 244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,139,106,252,248,252, 237 244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,139,106,252,248,252,
237 242,15,89,133,233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,61, 238 242,15,89,133,233,252,233,244,71,255,248,108,129,252,248,239,15,130,244,62,
238 129,122,253,4,239,15,131,244,61,221,2,139,106,252,248,220,141,233,252,233, 239 129,122,253,4,239,15,131,244,62,221,2,139,106,252,248,220,141,233,252,233,
239 244,71,255,248,108,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131, 240 244,72,255,248,109,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,
240 244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,217,252,243,252,233, 241 244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,217,252,243,252,233,
241 244,71,248,109,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244, 242 244,72,248,110,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,
242 61,129,122,253,12,239,255,15,131,244,61,221,66,8,221,2,217,252,253,221,217, 243 62,129,122,253,12,239,255,15,131,244,62,221,66,8,221,2,217,252,253,221,217,
243 252,233,244,71,248,110,129,252,248,239,15,130,244,61,139,106,4,129,252,253, 244 252,233,244,72,248,111,129,252,248,239,15,130,244,62,139,106,4,129,252,253,
244 239,15,131,244,61,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, 245 239,15,131,244,62,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209,
245 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, 246 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,
246 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, 247 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,
247 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, 248 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252,
248 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, 249 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,
249 252,242,15,17,2,255,221,26,255,184,237,252,233,244,76,248,3,255,15,87,192, 250 252,242,15,17,2,255,221,26,255,184,237,252,233,244,77,248,3,255,15,87,192,
250 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, 251 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,
251 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, 252 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242,
252 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, 253 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,
253 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,111,129, 254 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,112,129,
254 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2, 255 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,252,242,15,16,2,
255 255,248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61, 256 255,248,112,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,
256 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, 257 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,
257 132,244,250,255,15,40,224,232,244,112,252,242,15,92,224,248,1,252,242,15, 258 132,244,250,255,15,40,224,232,244,113,252,242,15,92,224,248,1,252,242,15,
258 17,66,252,248,252,242,15,17,34,255,217,192,232,244,112,220,252,233,248,1, 259 17,66,252,248,252,242,15,17,34,255,217,192,232,244,113,220,252,233,248,1,
259 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, 260 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,
260 248,2,184,237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,106,4,252,233, 261 248,2,184,237,252,233,244,77,248,3,129,252,245,0,0,0,128,137,106,4,252,233,
261 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 262 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,
262 1,255,248,113,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244, 263 1,255,248,114,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,
263 61,129,122,253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,252,248,223, 264 62,129,122,253,12,239,15,131,244,62,221,66,8,221,2,248,1,217,252,248,223,
264 224,158,15,138,244,1,221,217,252,233,244,71,255,248,114,129,252,248,239,15, 265 224,158,15,138,244,1,221,217,252,233,244,72,255,248,115,129,252,248,239,15,
265 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244, 266 130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,
266 61,252,242,15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,70,255,248, 267 62,252,242,15,16,2,252,242,15,16,74,8,232,244,116,252,233,244,71,255,248,
267 114,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122, 268 115,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,
268 253,12,239,15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,71,255,248, 269 253,12,239,15,131,244,62,221,2,221,66,8,232,244,116,252,233,244,72,255,248,
269 116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, 270 117,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,
270 15,131,244,69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, 271 15,131,244,70,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,
271 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,252, 272 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,252,
272 233,244,252,248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,15,131,244, 273 233,244,252,248,4,15,135,244,62,255,252,242,15,16,2,248,5,57,193,15,131,244,
273 70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,61,252,242,15, 274 71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,62,252,242,15,
274 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, 275 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,
275 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, 276 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15,
276 131,244,71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, 277 131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255,
277 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, 278 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202,
278 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, 279 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252,
279 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,117,185,2,0,0,0, 280 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,118,185,2,0,0,0,
280 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,69,129, 281 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,70,129,
281 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, 282 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,
282 248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,15,16,76, 283 248,131,193,1,252,233,244,1,248,3,15,135,244,62,255,248,6,252,242,15,16,76,
283 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, 284 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233,
284 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 285 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
285 248,2,221,216,88,255,248,9,221,216,252,233,244,61,255,248,118,129,252,248, 286 248,2,221,216,88,255,248,9,221,216,252,233,244,62,255,248,119,129,252,248,
286 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,42,255,139,173,233, 287 239,15,130,244,62,129,122,253,4,239,15,133,244,62,139,42,255,139,173,233,
287 252,233,244,69,255,252,242,15,42,133,233,252,233,244,70,255,219,133,233,252, 288 252,233,244,70,255,252,242,15,42,133,233,252,233,244,71,255,219,133,233,252,
288 233,244,71,255,248,119,129,252,248,239,15,133,244,61,129,122,253,4,239,15, 289 233,244,72,255,248,120,129,252,248,239,15,133,244,62,129,122,253,4,239,15,
289 133,244,61,139,42,139,114,252,252,131,189,233,1,15,130,244,79,15,182,173, 290 133,244,62,139,42,139,114,252,252,131,189,233,1,15,130,244,80,15,182,173,
290 233,255,252,242,15,42,197,252,233,244,70,255,137,108,36,16,219,68,36,16,252, 291 233,255,252,242,15,42,197,252,233,244,71,255,137,108,36,16,219,68,36,16,252,
291 233,244,71,255,248,120,139,171,233,59,171,233,15,130,244,247,232,244,73,248, 292 233,244,72,255,248,121,139,171,233,59,171,233,15,130,244,247,232,244,74,248,
292 1,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,61,139,42, 293 1,129,252,248,239,15,133,244,62,129,122,253,4,239,255,15,133,244,62,139,42,
293 129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15,131,244,61,252, 294 129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15,131,244,62,252,
294 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15, 295 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,62,137,108,36,20,255,15,
295 131,244,61,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,61,255, 296 131,244,62,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,62,255,
296 199,68,36,8,1,0,0,0,141,68,36,20,248,121,139,108,36,48,137,149,233,137,68, 297 199,68,36,8,1,0,0,0,141,68,36,20,248,122,139,108,36,48,137,149,233,137,68,
297 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, 298 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,
298 66,252,252,237,137,66,252,248,252,233,244,64,248,122,139,171,233,59,171,233, 299 66,252,252,237,137,66,252,248,252,233,244,65,248,123,139,171,233,59,171,233,
299 15,130,244,247,232,244,73,248,1,199,68,36,20,252,255,252,255,252,255,252, 300 15,130,244,247,232,244,74,248,1,199,68,36,20,252,255,252,255,252,255,252,
300 255,129,252,248,239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15, 301 255,129,252,248,239,15,130,244,62,15,134,244,247,129,122,253,20,239,255,15,
301 133,244,61,139,106,16,137,108,36,20,255,15,131,244,61,252,242,15,44,106,16, 302 133,244,62,139,106,16,137,108,36,20,255,15,131,244,62,252,242,15,44,106,16,
302 137,108,36,20,255,15,131,244,61,221,66,16,219,92,36,20,255,248,1,129,122, 303 137,108,36,20,255,15,131,244,62,221,66,16,219,92,36,20,255,248,1,129,122,
303 253,4,239,15,133,244,61,129,122,253,12,239,255,139,42,137,108,36,12,139,173, 304 253,4,239,15,133,244,62,129,122,253,12,239,255,139,42,137,108,36,12,139,173,
304 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, 305 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,
305 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, 306 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,
306 3,139,108,36,12,41,200,15,140,244,123,141,172,253,13,233,131,192,1,248,4, 307 3,139,108,36,12,41,200,15,140,244,124,141,172,253,13,233,131,192,1,248,4,
307 137,68,36,8,137,232,252,233,244,121,248,5,15,140,244,252,141,68,40,1,252, 308 137,68,36,8,137,232,252,233,244,122,248,5,15,140,244,252,141,68,40,1,252,
308 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, 309 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,
309 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,123,49,192,252, 310 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,124,49,192,252,
310 233,244,4,248,124,129,252,248,239,15,130,244,61,139,171,233,59,171,233,15, 311 233,244,4,248,125,129,252,248,239,15,130,244,62,139,171,233,59,171,233,15,
311 130,244,247,232,244,73,248,1,255,129,122,253,4,239,15,133,244,61,129,122, 312 130,244,247,232,244,74,248,1,255,129,122,253,4,239,15,133,244,62,129,122,
312 253,12,239,139,42,255,15,133,244,61,139,66,8,255,15,131,244,61,252,242,15, 313 253,12,239,139,42,255,15,133,244,62,139,66,8,255,15,131,244,62,252,242,15,
313 44,66,8,255,15,131,244,61,221,66,8,219,92,36,20,139,68,36,20,255,133,192, 314 44,66,8,255,15,131,244,62,221,66,8,219,92,36,20,139,68,36,20,255,133,192,
314 15,142,244,123,131,189,233,1,15,130,244,123,15,133,244,125,57,131,233,15, 315 15,142,244,124,131,189,233,1,15,130,244,124,15,133,244,126,57,131,233,15,
315 130,244,125,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, 316 130,244,126,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,
316 1,131,232,1,15,133,244,1,139,131,233,252,233,244,121,248,126,129,252,248, 317 1,131,232,1,15,133,244,1,139,131,233,252,233,244,122,248,127,129,252,248,
317 239,255,15,130,244,61,139,171,233,59,171,233,15,130,244,247,232,244,73,248, 318 239,255,15,130,244,62,139,171,233,59,171,233,15,130,244,247,232,244,74,248,
318 1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,133,192,15,132,244,123, 319 1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,133,192,15,132,244,124,
319 57,131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 320 57,131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
320 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, 321 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,
321 139,116,36,20,252,233,244,121,248,128,129,252,248,239,15,130,244,61,139,171, 322 139,116,36,20,252,233,244,122,248,129,129,252,248,239,15,130,244,62,139,171,
322 233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244, 323 233,59,171,233,15,130,244,247,232,244,74,248,1,129,122,253,4,239,15,133,244,
323 61,139,42,139,133,233,57,131,233,255,15,130,244,127,129,197,239,137,116,36, 324 62,139,42,139,133,233,57,131,233,255,15,130,244,128,129,197,239,137,116,36,
324 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 325 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
325 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, 326 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,
326 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,121, 327 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,122,
327 248,129,129,252,248,239,15,130,244,61,255,139,171,233,59,171,233,15,130,244, 328 248,130,129,252,248,239,15,130,244,62,255,139,171,233,59,171,233,15,130,244,
328 247,232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,57, 329 247,232,244,74,248,1,129,122,253,4,239,15,133,244,62,139,42,139,133,233,57,
329 131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 330 131,233,15,130,244,128,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
330 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, 331 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,
331 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, 332 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,
332 15,137,244,1,137,252,240,139,116,36,20,252,233,244,121,248,130,129,252,248, 333 15,137,244,1,137,252,240,139,116,36,20,252,233,244,122,248,131,129,252,248,
333 239,15,130,244,61,129,122,253,4,239,15,133,244,61,137,213,139,10,232,251, 334 239,15,130,244,62,129,122,253,4,239,15,133,244,62,137,213,139,10,232,251,
334 1,20,137,252,234,255,137,197,252,233,244,69,255,252,242,15,42,192,252,233, 335 1,20,137,252,234,255,137,197,252,233,244,70,255,252,242,15,42,192,252,233,
335 244,70,255,137,4,36,219,4,36,252,233,244,71,255,248,131,129,252,248,239,15, 336 244,71,255,137,4,36,219,4,36,252,233,244,72,255,248,132,129,252,248,239,15,
336 130,244,61,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,87,248, 337 130,244,62,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,88,248,
337 1,15,135,244,61,255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112, 338 1,15,135,244,62,255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,
338 201,81,252,242,15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89, 339 201,81,252,242,15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,
339 216,68,36,16,221,28,36,255,139,44,36,255,252,233,244,87,255,248,132,129,252, 340 216,68,36,16,221,28,36,255,139,44,36,255,252,233,244,88,255,248,133,129,252,
340 248,239,15,130,244,61,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81, 341 248,239,15,130,244,62,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81,
341 255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248, 342 255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,
342 1,15,135,244,61,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255, 343 1,15,135,244,62,255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,
343 221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194, 344 221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194,
344 252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,133,244,248,35, 345 252,240,248,1,57,208,15,134,244,88,129,120,253,4,239,255,15,133,244,248,35,
345 40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,244,133,255,252, 346 40,131,232,8,252,233,244,1,248,2,15,135,244,134,255,15,131,244,134,255,252,
346 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16, 347 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16,
347 221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,134,129,252,248,239,15, 348 221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,135,129,252,248,239,15,
348 130,244,61,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135, 349 130,244,62,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,
349 244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221, 350 244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,
350 0,216,68,36,16,221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,135,129, 351 0,216,68,36,16,221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,136,129,
351 252,248,239,15,130,244,61,255,15,133,244,248,51,40,131,232,8,252,233,244, 352 252,248,239,15,130,244,62,255,15,133,244,248,51,40,131,232,8,252,233,244,
352 1,248,2,15,135,244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193, 353 1,248,2,15,135,244,134,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,
353 49,205,255,221,0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244, 354 49,205,255,221,0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244,
354 1,248,136,129,252,248,239,15,130,244,61,129,122,253,4,239,255,221,2,199,68, 355 1,248,137,129,252,248,239,15,130,244,62,129,122,253,4,239,255,221,2,199,68,
355 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, 356 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,
356 244,87,248,137,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,2, 357 244,88,248,138,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,
357 252,247,213,255,248,87,252,242,15,42,197,252,233,244,70,255,248,87,137,44, 358 252,247,213,255,248,88,252,242,15,42,197,252,233,244,71,255,248,88,137,44,
358 36,219,4,36,252,233,244,71,255,248,133,139,68,36,20,252,233,244,61,255,248, 359 36,219,4,36,252,233,244,72,255,248,134,139,68,36,20,252,233,244,62,255,248,
359 138,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248,2,129,122,253, 360 139,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,2,129,122,253,
360 12,239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,130,244,61,129, 361 12,239,15,133,244,62,139,74,8,255,248,139,129,252,248,239,15,130,244,62,129,
361 122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16, 362 122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,15,16,
362 2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242, 363 2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,
363 15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,138,129, 364 15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,139,129,
364 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12, 365 252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,
365 239,15,131,244,61,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221, 366 239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,
366 92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233, 367 92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233,
367 244,87,255,248,139,129,252,248,239,15,130,244,61,129,122,253,4,239,255,248, 368 244,88,255,248,140,129,252,248,239,15,130,244,62,129,122,253,4,239,255,248,
368 139,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122, 369 140,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,
369 253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, 370 253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,
370 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, 371 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,
371 15,126,197,102,15,126,201,255,248,139,129,252,248,239,15,130,244,61,129,122, 372 15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,62,129,122,
372 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199, 373 253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2,221,66,8,199,
373 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, 374 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,
374 36,8,139,44,36,255,211,252,237,252,233,244,87,255,248,140,129,252,248,239, 375 36,8,139,44,36,255,211,252,237,252,233,244,88,255,248,141,129,252,248,239,
375 15,130,244,61,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,61, 376 15,130,244,62,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,62,
376 129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252,242, 377 129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,242,
377 15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81, 378 15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,
378 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248, 379 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,
379 140,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122, 380 141,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,122,
380 253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36, 381 253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,
381 16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253, 382 16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253,
382 252,233,244,87,255,248,141,129,252,248,239,15,130,244,61,129,122,253,4,239, 383 252,233,244,88,255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239,
383 255,248,141,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61, 384 255,248,142,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,
384 129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0, 385 129,122,253,12,239,15,131,244,62,252,242,15,16,2,252,242,15,16,74,8,189,0,
385 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, 386 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,
386 202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15,130,244, 387 202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,15,130,244,
387 61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2, 388 62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,221,2,
388 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, 389 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,
389 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,87,255,248,142,129,252, 390 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,88,255,248,143,129,252,
390 248,239,15,130,244,61,129,122,253,4,239,255,248,142,129,252,248,239,15,130, 391 248,239,15,130,244,62,129,122,253,4,239,255,248,143,129,252,248,239,15,130,
391 244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,252, 392 244,62,129,122,253,4,239,15,131,244,62,129,122,253,12,239,15,131,244,62,252,
392 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210, 393 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,
393 81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255, 394 81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,
394 248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129, 395 248,143,129,252,248,239,15,130,244,62,129,122,253,4,239,15,131,244,62,129,
395 122,253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68, 396 122,253,12,239,15,131,244,62,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,
396 36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,205, 397 36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,
397 252,233,244,87,248,125,184,237,252,233,244,61,248,127,184,237,248,61,139, 398 252,233,244,88,248,126,184,237,252,233,244,62,248,128,184,237,248,62,139,
398 108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194,252,248,141, 399 108,36,48,139,114,252,252,137,116,36,24,137,149,233,141,68,194,252,248,141,
399 136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,44,36,252, 400 136,233,137,133,233,139,66,252,248,59,141,233,15,135,244,251,137,44,36,252,
400 255,144,233,139,149,233,133,192,15,143,244,76,248,1,255,139,141,233,41,209, 401 255,144,233,139,149,233,133,192,15,143,244,77,248,1,255,139,141,233,41,209,
401 193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233, 402 193,252,233,3,133,192,141,65,1,139,106,252,248,15,133,244,32,139,181,233,
402 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,32,137,209, 403 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,32,137,209,
403 252,247,198,237,15,133,244,249,15,182,110,252,253,252,247,213,141,20,252, 404 252,247,198,237,15,133,244,249,15,182,110,252,253,252,247,213,141,20,252,
404 234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244, 405 234,252,233,244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,
405 28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1, 406 28,248,5,186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,
406 248,73,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233,255,141,68, 407 248,74,93,137,108,36,16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,
407 194,252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233, 408 194,252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,
408 41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,143,255,15,182,131,233, 409 41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,144,255,15,182,131,233,
409 168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252, 410 168,235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,
410 255,139,233,252,233,244,247,255,248,144,15,182,131,233,168,235,15,133,244, 411 255,139,233,252,233,244,247,255,248,145,15,182,131,233,168,235,15,133,244,
411 251,252,233,244,247,248,145,15,182,131,233,168,235,15,133,244,251,168,235, 412 251,252,233,244,247,248,146,15,182,131,233,168,235,15,133,244,251,168,235,
412 15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248, 413 15,132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,
413 1,255,139,108,36,48,137,149,233,137,252,242,137,252,233,232,251,1,22,248, 414 1,255,139,108,36,48,137,149,233,137,252,242,137,252,233,232,251,1,22,248,
414 3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70, 415 3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,
415 252,254,252,255,164,253,171,233,248,146,131,198,4,139,77,232,137,76,36,20, 416 252,254,252,255,164,253,171,233,248,147,131,198,4,139,77,232,137,76,36,20,
416 252,233,244,4,248,147,255,139,106,252,248,139,173,233,15,182,133,233,141, 417 252,233,244,4,248,148,255,139,106,252,248,139,173,233,15,182,133,233,141,
417 4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139,233,137,171, 418 4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139,233,137,171,
418 233,137,116,36,24,232,251,1,23,252,233,244,3,255,248,148,137,116,36,24,255, 419 233,137,116,36,24,232,251,1,23,252,233,244,3,255,248,149,137,116,36,24,255,
419 248,149,255,137,116,36,24,131,206,1,248,1,255,141,68,194,252,248,139,108, 420 248,150,255,137,116,36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,
420 36,48,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,68, 421 36,48,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,68,
421 36,24,0,0,0,0,255,131,230,252,254,255,139,149,233,137,193,139,133,233,41, 422 36,24,0,0,0,0,255,131,230,252,254,255,139,149,233,137,193,139,133,233,41,
422 208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,150,255, 423 208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,151,255,
423 85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,125, 424 85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252,248,137,125,
424 252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,233, 425 252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237,137,131,233,
425 137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15,17,117,208,252, 426 137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15,17,117,208,252,
@@ -427,31 +428,31 @@ static const unsigned char build_actionlist[17058] = {
427 85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,233, 428 85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147,233,
428 137,171,233,199,131,233,0,0,0,0,137,149,233,141,84,36,16,141,139,233,232, 429 137,171,233,199,131,233,0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,
429 251,1,25,139,141,233,129,225,239,137,204,137,169,233,139,149,233,139,177, 430 251,1,25,139,141,233,129,225,239,137,204,137,169,233,139,149,233,139,177,
430 233,255,248,151,255,133,192,15,136,244,249,137,68,36,20,139,122,252,248,139, 431 233,255,248,152,255,133,192,15,136,244,249,137,68,36,20,139,122,252,248,139,
431 191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204, 432 191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,
432 15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36, 433 15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,
433 20,248,2,252,255,36,171,248,3,252,247,216,137,252,233,137,194,232,251,1,26, 434 20,248,2,252,255,36,171,248,3,252,247,216,137,252,233,137,194,232,251,1,26,
434 255,248,89,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37, 435 255,248,90,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,
435 252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 436 252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
436 68,36,8,195,255,248,152,102,15,252,239,210,102,15,118,210,102,15,115,210, 437 68,36,8,195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210,
437 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, 438 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
438 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 439 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,
439 203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252, 440 203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,
440 242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248, 441 242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,
441 91,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255, 442 92,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,
442 252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8, 443 252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,
443 195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0, 444 195,255,248,154,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,
444 0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46, 445 0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,
445 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, 446 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,
446 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15, 447 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15,
447 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,112,255, 448 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,113,255,
448 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217, 449 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,
449 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,102,15,252, 450 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252,
450 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102, 451 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,
451 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 452 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
452 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102, 453 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102,
453 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15, 454 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15,
454 92,200,102,15,86,202,15,40,193,248,1,195,248,155,255,15,40,232,252,242,15, 455 92,200,102,15,86,202,15,40,193,248,1,195,248,156,255,15,40,232,252,242,15,
455 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, 456 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,
456 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134, 457 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134,
457 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184, 458 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184,
@@ -460,10 +461,10 @@ static const unsigned char build_actionlist[17058] = {
460 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216, 461 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216,
461 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, 462 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,
462 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195, 463 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,
463 255,248,96,217,252,234,222,201,248,156,217,84,36,4,129,124,36,4,0,0,128,127, 464 255,248,97,217,252,234,222,201,248,157,217,84,36,4,129,124,36,4,0,0,128,127,
464 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,157,217,192, 465 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,158,217,192,
465 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, 466 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,
466 217,248,1,195,248,2,221,216,217,252,238,195,255,248,115,219,84,36,4,219,68, 467 217,248,1,195,248,2,221,216,217,252,238,195,255,248,116,219,84,36,4,219,68,
467 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138, 468 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138,
468 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0, 469 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0,
469 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 470 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
@@ -472,14 +473,14 @@ static const unsigned char build_actionlist[17058] = {
472 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221, 473 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221,
473 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224, 474 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,
474 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0, 475 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0,
475 0,252,255,15,132,244,250,217,252,241,252,233,244,157,248,9,255,217,232,255, 476 0,252,255,15,132,244,250,217,252,241,252,233,244,158,248,9,255,217,232,255,
476 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1, 477 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1,
477 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217, 478 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217,
478 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201, 479 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201,
479 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216, 480 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216,
480 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217, 481 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217,
481 68,36,4,195,255,248,115,255,248,158,252,242,15,45,193,252,242,15,42,208,102, 482 68,36,4,195,255,248,116,255,248,159,252,242,15,45,193,252,242,15,42,208,102,
482 15,46,202,15,133,244,254,15,138,244,255,248,159,131,252,248,1,15,142,244, 483 15,46,202,15,133,244,254,15,138,244,255,248,160,131,252,248,1,15,142,244,
483 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, 484 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,
484 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, 485 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,
485 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, 486 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,
@@ -498,29 +499,29 @@ static const unsigned char build_actionlist[17058] = {
498 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184, 499 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184,
499 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193, 500 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193,
500 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244, 501 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,
501 3,255,15,87,192,195,248,160,255,139,68,36,12,252,242,15,16,68,36,4,131,252, 502 3,255,15,87,192,195,248,161,255,139,68,36,12,252,242,15,16,68,36,4,131,252,
502 248,1,15,132,244,247,15,135,244,248,232,244,89,252,233,244,253,248,1,232, 503 248,1,15,132,244,247,15,135,244,248,232,244,90,252,233,244,253,248,1,232,
503 244,91,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 504 244,92,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
504 232,244,112,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15, 505 232,244,113,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15,
505 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,96, 506 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,97,
506 15,132,244,156,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252, 507 15,132,244,157,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252,
507 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, 508 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,
508 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241, 509 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241,
509 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244, 510 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,
510 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68, 511 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68,
511 36,4,131,252,248,1,15,130,244,89,15,132,244,91,131,252,248,3,15,130,244,112, 512 36,4,131,252,248,1,15,130,244,90,15,132,244,92,131,252,248,3,15,130,244,113,
512 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,96,15,132,244, 513 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,97,15,132,244,
513 156,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 514 157,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
514 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132, 515 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,
515 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 516 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
516 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255, 517 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,
517 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,161,255,139,68,36, 518 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,162,255,139,68,36,
518 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244, 519 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244,
519 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36, 520 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,
520 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244, 521 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244,
521 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193, 522 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193,
522 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244, 523 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244,
523 155,252,233,244,7,248,1,90,232,244,115,82,252,233,244,7,248,2,131,252,248, 524 156,252,233,244,7,248,1,90,232,244,116,82,252,233,244,7,248,2,131,252,248,
524 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201, 525 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201,
525 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15, 526 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15,
526 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248, 527 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248,
@@ -530,21 +531,21 @@ static const unsigned char build_actionlist[17058] = {
530 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15, 531 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,
531 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132, 532 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,
532 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248, 533 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,
533 5,15,130,244,155,15,132,244,115,131,252,248,7,15,132,244,247,15,135,244,248, 534 5,15,130,244,156,15,132,244,116,131,252,248,7,15,132,244,247,15,135,244,248,
534 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15, 535 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,
535 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221, 536 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,
536 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233, 537 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,
537 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223, 538 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,
538 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225, 539 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,
539 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,162, 540 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,163,
540 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244, 541 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,
541 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87, 542 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,
542 12,91,95,248,1,195,248,163,255,85,137,229,83,137,203,43,163,233,255,137,163, 543 12,91,95,248,1,195,248,164,255,85,137,229,83,137,203,43,163,233,255,137,163,
543 233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,139, 544 233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,139,
544 233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,252, 545 233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,252,
545 255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,244, 546 255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,244,
546 252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,233, 547 252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,233,
547 255,139,93,252,252,201,195,255,248,164,255,249,255,129,124,253,202,4,239, 548 255,139,93,252,252,201,195,255,248,165,255,249,255,129,124,253,202,4,239,
548 15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4, 549 15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,
549 59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15, 550 59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,
550 142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15, 551 142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,
@@ -604,238 +605,239 @@ static const unsigned char build_actionlist[17058] = {
604 137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255, 605 137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,
605 219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193, 606 219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,
606 232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194, 607 232,16,252,255,36,171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,
607 137,213,232,251,1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137, 608 255,139,169,233,131,252,253,0,15,133,244,255,248,3,255,248,57,137,213,232,
608 252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, 609 251,1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,
609 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, 610 78,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,3,252,233,
610 50,139,44,252,234,3,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15, 611 244,56,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,
611 133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,3,4,252,234,15,128, 612 244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,44,199,15,128,
613 244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,
614 15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,253,252,234,
615 4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,3,
616 44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,
617 131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,252,
618 234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,
619 4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,252,242,15,
620 16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,
621 253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,55,255,252,
622 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,
623 124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,
624 44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,
625 52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,234,15,128,244,
626 51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,
627 244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,15,16,4,252,234,
628 252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,
629 252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,
630 252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,
631 252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,
632 234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,
633 52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,4,252,234,15,128,
612 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239, 634 244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,
613 15,133,244,55,139,44,252,234,3,44,194,15,128,244,54,255,199,68,202,4,237, 635 15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,252,242,15,16,
614 255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253,199,4,239,15, 636 4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,
615 131,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, 637 16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,
616 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,52,255,129,124,253, 638 15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,
617 199,4,239,15,131,244,52,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255, 639 242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,
618 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,55,129,124, 640 252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,
619 253,194,4,239,15,131,244,55,255,252,242,15,16,4,252,234,252,242,15,88,4,194, 641 255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,
620 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,50,129, 642 194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,
621 124,253,199,4,239,15,133,244,50,139,44,252,234,43,44,199,15,128,244,49,255, 643 4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,
622 129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,244, 644 4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,
623 52,139,4,199,43,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,15, 645 234,221,4,194,255,248,166,232,244,156,255,252,233,244,166,255,232,244,116,
624 133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,43,44,194,15, 646 255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,
625 128,244,54,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 647 35,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,
626 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 648 233,133,192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,139,68,252,
627 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 649 234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,
628 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,50,129,124, 650 131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68,202,
629 253,199,4,239,15,133,244,50,139,44,252,234,15,175,44,199,15,128,244,49,255, 651 4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
630 129,124,253,252,234,4,239,15,133,244,52,129,124,253,199,4,239,15,133,244, 652 36,171,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,
631 52,139,4,199,15,175,4,252,234,15,128,244,51,255,129,124,253,252,234,4,239, 653 42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,
632 15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,252,234,15,175,44, 654 4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,
633 194,15,128,244,54,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, 655 202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
634 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, 656 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,
635 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 657 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
636 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, 658 255,36,171,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,
637 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4, 659 109,0,137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
638 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, 660 16,252,255,36,171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,
639 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 661 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,
640 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 662 133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
641 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 663 232,16,252,255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,
642 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,165,232,244, 664 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,
643 155,255,252,233,244,165,255,232,244,115,255,15,182,252,236,15,182,192,141, 665 234,252,233,244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,
644 12,194,41,232,137,76,36,4,137,68,36,8,248,35,139,108,36,48,137,44,36,137, 666 12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,
645 149,233,137,116,36,24,232,251,1,27,139,149,233,133,192,15,133,244,44,15,182, 667 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
646 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202, 668 2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,
647 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 669 194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,
648 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204, 670 255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,
649 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,199,68,202, 671 17,1,255,221,25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,
650 4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255, 672 233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
651 223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255, 673 171,255,141,180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,
652 221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182, 674 149,233,141,20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,
653 232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189, 675 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,
654 237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182, 676 252,248,139,4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,
655 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139, 677 233,137,116,36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,
656 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139, 678 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
657 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252, 679 171,255,139,108,36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,
658 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4, 680 131,244,251,248,1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,
659 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1, 681 252,255,7,0,0,15,132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,
660 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129, 682 149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,
661 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135, 683 182,232,131,198,4,193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,
662 213,141,139,233,255,232,251,1,28,137,252,234,252,233,244,1,255,252,247,208, 684 2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,
663 139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4, 685 247,208,139,108,36,48,139,139,233,137,116,36,24,59,139,233,137,149,233,15,
664 237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232, 686 131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149,233,15,182,
665 131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244, 687 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
666 1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,28,137, 688 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252,
667 252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139, 689 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
668 172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208, 690 139,4,135,252,233,244,167,255,252,247,208,139,106,252,248,139,173,233,139,
669 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204, 691 4,135,252,233,244,168,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
670 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139, 692 239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
671 108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233, 693 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
672 232,251,1,29,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193, 694 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,
673 232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36, 695 219,4,36,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,
674 48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1, 696 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
675 30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182, 697 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
676 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137, 698 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
677 149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193, 699 38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,
678 37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249, 700 253,194,4,239,15,133,244,38,139,4,194,252,233,244,167,255,15,182,252,236,
679 248,2,137,44,36,137,68,36,4,232,251,1,31,139,149,233,15,182,78,252,253,137, 701 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36,
680 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 702 139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,3,141,233,248,1,
681 255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,32, 703 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,
682 15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233, 704 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,
683 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137, 705 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
684 252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4, 706 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,
685 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3, 707 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,
686 137,252,233,232,251,1,32,15,183,70,252,254,252,247,208,252,233,244,2,255, 708 235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,253,
687 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,166,255,252, 709 252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224,
688 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,167,255,15,182, 710 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,
689 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234, 711 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
690 255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4, 712 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
691 239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42, 713 132,244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,
692 200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,38,255, 714 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,
693 59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244, 715 252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,
694 248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182, 716 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,
695 232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249, 717 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,
696 139,141,233,252,246,129,233,235,15,132,244,38,15,182,78,252,253,248,3,199, 718 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,
697 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,38, 719 141,233,252,246,129,233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,
698 139,4,194,252,233,244,166,255,15,182,252,236,15,182,192,252,247,208,139,4, 720 1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,244,168,248,
699 135,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,248,166,139,141, 721 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
700 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250, 722 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
701 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252, 723 252,234,4,239,15,133,244,39,139,44,252,234,248,168,139,141,233,35,136,233,
702 253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15, 724 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
703 182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68, 725 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
704 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, 726 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
705 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, 727 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
706 36,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,37, 728 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,
707 139,44,252,234,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4, 729 246,129,233,235,15,132,244,39,139,76,36,16,252,233,244,2,248,5,139,137,233,
708 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15, 730 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,
709 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, 731 235,15,132,244,39,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,
710 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,37,255,15,182, 732 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,
711 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182, 733 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,
712 192,129,124,253,252,234,4,239,15,133,244,41,139,44,252,234,255,15,133,244, 734 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
713 41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,15, 735 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252,
714 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4, 736 234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,
715 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232, 737 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
716 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, 738 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
717 233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,1,248,5,129,124,253, 739 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
718 194,4,239,15,133,244,41,139,4,194,252,233,244,167,248,7,128,165,233,235,139, 740 235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
719 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, 741 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
720 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, 742 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
721 244,39,139,44,252,234,248,167,139,141,233,35,136,233,105,201,239,198,133, 743 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
722 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, 744 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,
723 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, 745 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,
724 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139, 746 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
725 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189, 747 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
726 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244, 748 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
727 39,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255, 749 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
728 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,39,248, 750 20,255,129,124,253,202,4,239,139,44,202,15,133,244,58,141,84,202,8,137,114,
729 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139, 751 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
730 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,34,139, 752 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
731 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131, 753 244,29,248,59,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
732 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129, 754 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
733 124,253,252,234,4,239,15,133,244,40,139,44,252,234,59,133,233,15,131,244, 755 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
734 40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, 756 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
735 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, 757 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,
736 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189, 758 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191,
737 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,40,15,182, 759 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,
738 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137, 760 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,
739 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248, 761 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,
740 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139, 762 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,
741 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41, 763 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,29,137,
742 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111, 764 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
743 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15, 765 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,
744 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36, 766 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,
745 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,35,139,149,233, 767 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,139,108,199,
746 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137, 768 4,137,108,202,12,139,44,199,137,108,202,8,131,192,1,255,137,68,202,252,248,
747 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239, 769 248,2,15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,20,139,124,36,
748 139,44,202,15,133,244,57,141,84,202,8,137,114,252,252,139,181,233,139,14, 770 16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,
749 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215, 771 131,192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,
750 139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,58,139,114,252, 772 133,233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,
751 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131, 773 253,141,92,24,1,139,175,233,139,135,233,137,44,202,137,68,202,4,139,175,233,
752 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131, 774 139,135,233,137,108,202,8,137,68,202,12,137,92,202,252,248,252,233,244,2,
753 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233, 775 248,7,255,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,
754 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 776 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,
755 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, 777 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,
756 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, 778 253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,
757 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215, 779 131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252,235,141,180,253,
758 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76, 780 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36,
759 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252, 781 16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251,
760 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252, 782 141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,
761 252,129,252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181, 783 139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,
762 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124, 784 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,
763 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131, 785 3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
764 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132, 786 36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,
765 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199, 787 193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,
766 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141, 788 244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,
767 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182, 789 131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,
768 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252, 790 137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,
769 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, 791 149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,
770 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233, 792 252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,
771 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8, 793 1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,
772 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233, 794 252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,
773 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129, 795 248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,
774 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133, 796 106,252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,
775 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252, 797 252,247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,
776 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, 798 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,
777 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244, 799 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
778 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12, 800 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
779 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57, 801 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148,
780 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137, 802 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
781 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65, 803 15,133,244,60,129,121,253,20,239,15,133,244,60,139,41,131,121,16,0,15,140,
782 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182, 804 244,251,255,129,121,253,12,239,15,133,244,165,129,121,253,20,239,15,133,244,
783 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0, 805 165,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,
784 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108, 806 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
785 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252, 807 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,
786 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6, 808 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,
787 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36, 809 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41,
788 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252, 810 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,
789 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198, 811 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,
790 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139, 812 239,255,15,131,244,60,129,121,253,12,239,15,131,244,60,255,129,121,253,12,
791 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15, 813 239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,139,105,20,255,129,
792 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252, 814 252,253,239,15,131,244,60,255,252,242,15,16,1,252,242,15,16,73,8,255,252,
793 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70, 815 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,
794 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122, 816 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,
795 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193, 817 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,
796 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194, 818 247,255,217,201,248,1,255,15,183,70,252,254,255,15,131,244,7,255,15,131,244,
797 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237, 819 248,141,180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,131,
798 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229, 820 245,255,15,130,244,7,255,15,130,244,248,141,180,253,134,233,255,248,3,102,
799 239,102,131,172,253,43,233,1,15,132,244,147,255,141,12,202,255,129,121,253, 821 15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,
800 4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,59,129,121,253,20, 822 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253,
801 239,15,133,244,59,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239, 823 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139,
802 15,133,244,164,129,121,253,20,239,15,133,244,164,255,139,105,16,133,252,237, 824 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253,
803 15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137, 825 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
804 105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253, 826 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,150,
805 134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6, 827 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,
806 141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4, 828 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,
807 193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244, 829 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
808 7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, 830 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,
809 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,59,129,121,253,12, 831 248,139,108,36,48,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,
810 239,15,131,244,59,255,129,121,253,12,239,15,131,244,164,129,121,253,20,239, 832 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
811 15,131,244,164,255,139,105,20,255,129,252,253,239,15,131,244,59,255,252,242, 833 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,
812 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, 834 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,
813 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, 835 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131,
814 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, 836 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189,
815 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70, 837 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,
816 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180, 838 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,22,199,131,
817 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244, 839 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
818 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12, 840 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
819 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137,
820 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137,
821 65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,147,233,
822 137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,15,182,232,
823 131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,129,229,239,
824 102,131,172,253,43,233,1,15,132,244,149,255,139,190,233,139,108,36,48,141,
825 12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,15,134,244,249,248,
826 2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,
827 192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,
828 122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,200,59,141,
829 233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,
830 248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,
831 252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,
832 2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
833 36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,
834 244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,252,248,137,
835 149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4,
836 137,44,36,255,15,135,244,22,199,131,233,237,255,252,255,215,255,252,255,147,
837 233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,
838 114,252,252,252,233,244,12,255,254,0
839}; 841};
840 842
841enum { 843enum {
@@ -886,6 +888,7 @@ enum {
886 GLOB_vmeta_arith_vvo, 888 GLOB_vmeta_arith_vvo,
887 GLOB_vmeta_arith_vv, 889 GLOB_vmeta_arith_vv,
888 GLOB_vmeta_len, 890 GLOB_vmeta_len,
891 GLOB_BC_LEN_Z,
889 GLOB_vmeta_call_ra, 892 GLOB_vmeta_call_ra,
890 GLOB_BC_CALLT_Z, 893 GLOB_BC_CALLT_Z,
891 GLOB_vmeta_for, 894 GLOB_vmeta_for,
@@ -1047,6 +1050,7 @@ static const char *const globnames[] = {
1047 "vmeta_arith_vvo", 1050 "vmeta_arith_vvo",
1048 "vmeta_arith_vv", 1051 "vmeta_arith_vv",
1049 "vmeta_len", 1052 "vmeta_len",
1053 "BC_LEN_Z",
1050 "vmeta_call_ra", 1054 "vmeta_call_ra",
1051 "BC_CALLT_Z", 1055 "BC_CALLT_Z",
1052 "vmeta_for", 1056 "vmeta_for",
@@ -1264,730 +1268,735 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1264#if LJ_DUALNUM 1268#if LJ_DUALNUM
1265 dasm_put(Dst, 1442); 1269 dasm_put(Dst, 1442);
1266#endif 1270#endif
1267 dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1271 dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1268 dasm_put(Dst, 1643, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1272#ifdef LUAJIT_ENABLE_LUA52COMPAT
1269 dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX); 1273 dasm_put(Dst, 1598);
1274#else
1275 dasm_put(Dst, 1617);
1276#endif
1277 dasm_put(Dst, 1622, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1278 dasm_put(Dst, 1811, 1+1, ~LJ_TNUMX);
1270 if (cmov) { 1279 if (cmov) {
1271 dasm_put(Dst, 1849); 1280 dasm_put(Dst, 1869);
1272 } else { 1281 } else {
1273 dasm_put(Dst, 1853); 1282 dasm_put(Dst, 1873);
1274 } 1283 }
1275 dasm_put(Dst, 1862, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 1284 dasm_put(Dst, 1882, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB);
1276 dasm_put(Dst, 1945, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1285 dasm_put(Dst, 1965, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1277 dasm_put(Dst, 2003, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1286 dasm_put(Dst, 2023, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1278 dasm_put(Dst, 2066, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1287 dasm_put(Dst, 2086, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1279 dasm_put(Dst, 2138, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1288 dasm_put(Dst, 2158, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1280 if (LJ_DUALNUM) { 1289 if (LJ_DUALNUM) {
1281 dasm_put(Dst, 2227); 1290 dasm_put(Dst, 2247);
1282 } else { 1291 } else {
1283 dasm_put(Dst, 2244); 1292 dasm_put(Dst, 2264);
1284 } 1293 }
1285 if (sse) { 1294 if (sse) {
1286 dasm_put(Dst, 2249); 1295 dasm_put(Dst, 2269);
1287 } else { 1296 } else {
1288 dasm_put(Dst, 2259); 1297 dasm_put(Dst, 2279);
1289 } 1298 }
1290 dasm_put(Dst, 2266, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1299 dasm_put(Dst, 2286, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1291 dasm_put(Dst, 2332, Dt1(->base)); 1300 dasm_put(Dst, 2352, Dt1(->base));
1292 if (LJ_DUALNUM) { 1301 if (LJ_DUALNUM) {
1293 dasm_put(Dst, 2356); 1302 dasm_put(Dst, 2376);
1294 } else { 1303 } else {
1295 dasm_put(Dst, 2361); 1304 dasm_put(Dst, 2381);
1296 } 1305 }
1297 dasm_put(Dst, 2366, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1306 dasm_put(Dst, 2386, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1298 dasm_put(Dst, 2475, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1307 dasm_put(Dst, 2495, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1299#ifdef LUAJIT_ENABLE_LUA52COMPAT 1308#ifdef LUAJIT_ENABLE_LUA52COMPAT
1300 dasm_put(Dst, 2522, Dt6(->metatable)); 1309 dasm_put(Dst, 2542, Dt6(->metatable));
1301#endif 1310#endif
1302 dasm_put(Dst, 2531, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1311 dasm_put(Dst, 2551, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1303 if (LJ_DUALNUM) { 1312 if (LJ_DUALNUM) {
1304 dasm_put(Dst, 2517); 1313 dasm_put(Dst, 2537);
1305 } else { 1314 } else {
1306 dasm_put(Dst, 2244); 1315 dasm_put(Dst, 2264);
1307 } 1316 }
1308 dasm_put(Dst, 2586); 1317 dasm_put(Dst, 2606);
1309 if (LJ_DUALNUM) { 1318 if (LJ_DUALNUM) {
1310 dasm_put(Dst, 2591, LJ_TISNUM); 1319 dasm_put(Dst, 2611, LJ_TISNUM);
1311 } else if (sse) { 1320 } else if (sse) {
1312 dasm_put(Dst, 2607); 1321 dasm_put(Dst, 2627);
1313 } else { 1322 } else {
1314 dasm_put(Dst, 2646); 1323 dasm_put(Dst, 2666);
1315 } 1324 }
1316 dasm_put(Dst, 2664, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1325 dasm_put(Dst, 2684, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1317 dasm_put(Dst, 2502, 1+1, LJ_TTAB); 1326 dasm_put(Dst, 2522, 1+1, LJ_TTAB);
1318#ifdef LUAJIT_ENABLE_LUA52COMPAT 1327#ifdef LUAJIT_ENABLE_LUA52COMPAT
1319 dasm_put(Dst, 2522, Dt6(->metatable)); 1328 dasm_put(Dst, 2542, Dt6(->metatable));
1320#endif 1329#endif
1321 dasm_put(Dst, 2745, Dt8(->upvalue[0]), LJ_TFUNC); 1330 dasm_put(Dst, 2765, Dt8(->upvalue[0]), LJ_TFUNC);
1322 if (LJ_DUALNUM) { 1331 if (LJ_DUALNUM) {
1323 dasm_put(Dst, 2766, LJ_TISNUM); 1332 dasm_put(Dst, 2786, LJ_TISNUM);
1324 } else if (sse) { 1333 } else if (sse) {
1325 dasm_put(Dst, 2778); 1334 dasm_put(Dst, 2798);
1326 } else { 1335 } else {
1327 dasm_put(Dst, 2788); 1336 dasm_put(Dst, 2808);
1328 } 1337 }
1329 dasm_put(Dst, 2795, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1338 dasm_put(Dst, 2815, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1330 dasm_put(Dst, 2859, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1339 dasm_put(Dst, 2879, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1331 dasm_put(Dst, 2947, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1340 dasm_put(Dst, 2967, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1332 dasm_put(Dst, 3048, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1341 dasm_put(Dst, 3068, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1333 dasm_put(Dst, 3162, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1342 dasm_put(Dst, 3182, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1334 dasm_put(Dst, 3260, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1343 dasm_put(Dst, 3280, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1335 dasm_put(Dst, 3326, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1344 dasm_put(Dst, 3346, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1336 dasm_put(Dst, 3427, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1345 dasm_put(Dst, 3447, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1337 dasm_put(Dst, 3540, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1346 dasm_put(Dst, 3560, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1338 if (!LJ_DUALNUM) { 1347 if (!LJ_DUALNUM) {
1339 dasm_put(Dst, 3566); 1348 dasm_put(Dst, 3586);
1340 } 1349 }
1341 if (sse) { 1350 if (sse) {
1342 dasm_put(Dst, 3569); 1351 dasm_put(Dst, 3589);
1343 } 1352 }
1344 dasm_put(Dst, 3584, 1+1); 1353 dasm_put(Dst, 3604, 1+1);
1345 if (LJ_DUALNUM) { 1354 if (LJ_DUALNUM) {
1346 dasm_put(Dst, 3595, LJ_TISNUM, LJ_TISNUM); 1355 dasm_put(Dst, 3615, LJ_TISNUM, LJ_TISNUM);
1347 } else { 1356 } else {
1348 dasm_put(Dst, 3675, LJ_TISNUM); 1357 dasm_put(Dst, 3695, LJ_TISNUM);
1349 } 1358 }
1350 if (sse) { 1359 if (sse) {
1351 dasm_put(Dst, 3685); 1360 dasm_put(Dst, 3705);
1352 } else { 1361 } else {
1353 dasm_put(Dst, 3721); 1362 dasm_put(Dst, 3741);
1354 } 1363 }
1355 dasm_put(Dst, 3738, 1+1, FRAME_TYPE, LJ_TNIL); 1364 dasm_put(Dst, 3758, 1+1, FRAME_TYPE, LJ_TNIL);
1356 if (LJ_DUALNUM) { 1365 if (LJ_DUALNUM) {
1357 dasm_put(Dst, 3830, LJ_TISNUM); 1366 dasm_put(Dst, 3850, LJ_TISNUM);
1358 } else { 1367 } else {
1359 dasm_put(Dst, 3675, LJ_TISNUM); 1368 dasm_put(Dst, 3695, LJ_TISNUM);
1360 } 1369 }
1361 if (sse) { 1370 if (sse) {
1362 dasm_put(Dst, 3852); 1371 dasm_put(Dst, 3872);
1363 if (LJ_DUALNUM) { 1372 if (LJ_DUALNUM) {
1364 dasm_put(Dst, 3861); 1373 dasm_put(Dst, 3881);
1365 } 1374 }
1366 dasm_put(Dst, 2254); 1375 dasm_put(Dst, 2274);
1367 } else { 1376 } else {
1368 dasm_put(Dst, 3895); 1377 dasm_put(Dst, 3915);
1369 if (LJ_DUALNUM) { 1378 if (LJ_DUALNUM) {
1370 dasm_put(Dst, 3901); 1379 dasm_put(Dst, 3921);
1371 if (cmov) { 1380 if (cmov) {
1372 dasm_put(Dst, 3924); 1381 dasm_put(Dst, 3944);
1373 } else { 1382 } else {
1374 dasm_put(Dst, 3930); 1383 dasm_put(Dst, 3950);
1375 } 1384 }
1376 dasm_put(Dst, 3937); 1385 dasm_put(Dst, 3957);
1377 } else { 1386 } else {
1378 dasm_put(Dst, 2261); 1387 dasm_put(Dst, 2281);
1379 } 1388 }
1380 } 1389 }
1381 dasm_put(Dst, 3954); 1390 dasm_put(Dst, 3974);
1382 if (LJ_DUALNUM) { 1391 if (LJ_DUALNUM) {
1383 dasm_put(Dst, 3830, LJ_TISNUM); 1392 dasm_put(Dst, 3850, LJ_TISNUM);
1384 } else { 1393 } else {
1385 dasm_put(Dst, 3675, LJ_TISNUM); 1394 dasm_put(Dst, 3695, LJ_TISNUM);
1386 } 1395 }
1387 if (sse) { 1396 if (sse) {
1388 dasm_put(Dst, 3957); 1397 dasm_put(Dst, 3977);
1389 if (LJ_DUALNUM) { 1398 if (LJ_DUALNUM) {
1390 dasm_put(Dst, 3861); 1399 dasm_put(Dst, 3881);
1391 } 1400 }
1392 dasm_put(Dst, 2254); 1401 dasm_put(Dst, 2274);
1393 } else { 1402 } else {
1394 dasm_put(Dst, 3966); 1403 dasm_put(Dst, 3986);
1395 if (LJ_DUALNUM) { 1404 if (LJ_DUALNUM) {
1396 dasm_put(Dst, 3901); 1405 dasm_put(Dst, 3921);
1397 if (cmov) { 1406 if (cmov) {
1398 dasm_put(Dst, 3924); 1407 dasm_put(Dst, 3944);
1399 } else { 1408 } else {
1400 dasm_put(Dst, 3930); 1409 dasm_put(Dst, 3950);
1401 } 1410 }
1402 dasm_put(Dst, 3937); 1411 dasm_put(Dst, 3957);
1403 } else { 1412 } else {
1404 dasm_put(Dst, 2261); 1413 dasm_put(Dst, 2281);
1405 } 1414 }
1406 } 1415 }
1407 if (sse) { 1416 if (sse) {
1408 dasm_put(Dst, 3972, 1+1, LJ_TISNUM); 1417 dasm_put(Dst, 3992, 1+1, LJ_TISNUM);
1409 } else { 1418 } else {
1410 dasm_put(Dst, 4001, 1+1, LJ_TISNUM); 1419 dasm_put(Dst, 4021, 1+1, LJ_TISNUM);
1411 } 1420 }
1412 dasm_put(Dst, 4030, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1421 dasm_put(Dst, 4050, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1413 dasm_put(Dst, 4099, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1422 dasm_put(Dst, 4119, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1414 dasm_put(Dst, 4156, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1423 dasm_put(Dst, 4176, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1415 dasm_put(Dst, 4219, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1424 dasm_put(Dst, 4239, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1416 dasm_put(Dst, 4309); 1425 dasm_put(Dst, 4329);
1417 if (sse) { 1426 if (sse) {
1418 dasm_put(Dst, 4321, 1+1, LJ_TISNUM); 1427 dasm_put(Dst, 4341, 1+1, LJ_TISNUM);
1419 } else { 1428 } else {
1420 dasm_put(Dst, 4352, 1+1, LJ_TISNUM); 1429 dasm_put(Dst, 4372, 1+1, LJ_TISNUM);
1421 } 1430 }
1422 dasm_put(Dst, 4377); 1431 dasm_put(Dst, 4397);
1423 if (sse) { 1432 if (sse) {
1424 dasm_put(Dst, 4391, 1+1, LJ_TISNUM); 1433 dasm_put(Dst, 4411, 1+1, LJ_TISNUM);
1425 } else { 1434 } else {
1426 dasm_put(Dst, 4422, 1+1, LJ_TISNUM); 1435 dasm_put(Dst, 4442, 1+1, LJ_TISNUM);
1427 } 1436 }
1428 dasm_put(Dst, 4447); 1437 dasm_put(Dst, 4467);
1429 if (sse) { 1438 if (sse) {
1430 dasm_put(Dst, 4461, 1+1, LJ_TISNUM); 1439 dasm_put(Dst, 4481, 1+1, LJ_TISNUM);
1431 } else { 1440 } else {
1432 dasm_put(Dst, 4492, 1+1, LJ_TISNUM); 1441 dasm_put(Dst, 4512, 1+1, LJ_TISNUM);
1433 } 1442 }
1434 dasm_put(Dst, 4517); 1443 dasm_put(Dst, 4537);
1435 if (sse) { 1444 if (sse) {
1436 dasm_put(Dst, 4533, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1445 dasm_put(Dst, 4553, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1437 } else { 1446 } else {
1438 dasm_put(Dst, 4572, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1447 dasm_put(Dst, 4592, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1439 } 1448 }
1440 dasm_put(Dst, 4605, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1449 dasm_put(Dst, 4625, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1441 dasm_put(Dst, 4670, 1+1, LJ_TISNUM); 1450 dasm_put(Dst, 4690, 1+1, LJ_TISNUM);
1442 if (sse) { 1451 if (sse) {
1443 dasm_put(Dst, 4769); 1452 dasm_put(Dst, 4789);
1444 } else { 1453 } else {
1445 dasm_put(Dst, 4775); 1454 dasm_put(Dst, 4795);
1446 } 1455 }
1447 dasm_put(Dst, 4784); 1456 dasm_put(Dst, 4804);
1448 if (sse) { 1457 if (sse) {
1449 dasm_put(Dst, 4809); 1458 dasm_put(Dst, 4829);
1450 } else { 1459 } else {
1451 dasm_put(Dst, 4815); 1460 dasm_put(Dst, 4835);
1452 } 1461 }
1453 dasm_put(Dst, 4818, 1+2); 1462 dasm_put(Dst, 4838, 1+2);
1454 if (sse) { 1463 if (sse) {
1455 dasm_put(Dst, 4827); 1464 dasm_put(Dst, 4847);
1456 } else { 1465 } else {
1457 dasm_put(Dst, 4835); 1466 dasm_put(Dst, 4855);
1458 } 1467 }
1459 dasm_put(Dst, 4843); 1468 dasm_put(Dst, 4863);
1460 if (sse) { 1469 if (sse) {
1461 dasm_put(Dst, 4846); 1470 dasm_put(Dst, 4866);
1462 } else { 1471 } else {
1463 dasm_put(Dst, 4878); 1472 dasm_put(Dst, 4898);
1464 } 1473 }
1465 dasm_put(Dst, 4897); 1474 dasm_put(Dst, 4917);
1466 if (sse) { 1475 if (sse) {
1467 dasm_put(Dst, 4913, 1+1, LJ_TISNUM); 1476 dasm_put(Dst, 4933, 1+1, LJ_TISNUM);
1468 } else { 1477 } else {
1469 dasm_put(Dst, 4938, 1+1, LJ_TISNUM); 1478 dasm_put(Dst, 4958, 1+1, LJ_TISNUM);
1470 } 1479 }
1471 dasm_put(Dst, 4960); 1480 dasm_put(Dst, 4980);
1472 if (sse) { 1481 if (sse) {
1473 dasm_put(Dst, 4982); 1482 dasm_put(Dst, 5002);
1474 } else { 1483 } else {
1475 dasm_put(Dst, 5008); 1484 dasm_put(Dst, 5028);
1476 } 1485 }
1477 dasm_put(Dst, 5025, 1+2); 1486 dasm_put(Dst, 5045, 1+2);
1478 if (sse) { 1487 if (sse) {
1479 dasm_put(Dst, 5065); 1488 dasm_put(Dst, 5085);
1480 } else { 1489 } else {
1481 dasm_put(Dst, 5073); 1490 dasm_put(Dst, 5093);
1482 } 1491 }
1483 dasm_put(Dst, 5083, 2+1, LJ_TISNUM, LJ_TISNUM); 1492 dasm_put(Dst, 5103, 2+1, LJ_TISNUM, LJ_TISNUM);
1484 if (sse) { 1493 if (sse) {
1485 dasm_put(Dst, 5135, 2+1, LJ_TISNUM, LJ_TISNUM); 1494 dasm_put(Dst, 5155, 2+1, LJ_TISNUM, LJ_TISNUM);
1486 } else { 1495 } else {
1487 dasm_put(Dst, 5182, 2+1, LJ_TISNUM, LJ_TISNUM); 1496 dasm_put(Dst, 5202, 2+1, LJ_TISNUM, LJ_TISNUM);
1488 } 1497 }
1489 dasm_put(Dst, 5223, LJ_TISNUM); 1498 dasm_put(Dst, 5243, LJ_TISNUM);
1490 if (LJ_DUALNUM) { 1499 if (LJ_DUALNUM) {
1491 dasm_put(Dst, 5236, LJ_TISNUM); 1500 dasm_put(Dst, 5256, LJ_TISNUM);
1492 if (sse) { 1501 if (sse) {
1493 dasm_put(Dst, 4769); 1502 dasm_put(Dst, 4789);
1494 } else { 1503 } else {
1495 dasm_put(Dst, 4775); 1504 dasm_put(Dst, 4795);
1496 } 1505 }
1497 dasm_put(Dst, 5286); 1506 dasm_put(Dst, 5306);
1498 } else { 1507 } else {
1499 dasm_put(Dst, 2244); 1508 dasm_put(Dst, 2264);
1500 } 1509 }
1501 if (sse) { 1510 if (sse) {
1502 dasm_put(Dst, 5297, LJ_TISNUM); 1511 dasm_put(Dst, 5317, LJ_TISNUM);
1503 if (LJ_DUALNUM) { 1512 if (LJ_DUALNUM) {
1504 dasm_put(Dst, 5318); 1513 dasm_put(Dst, 5338);
1505 } else { 1514 } else {
1506 dasm_put(Dst, 2244); 1515 dasm_put(Dst, 2264);
1507 } 1516 }
1508 dasm_put(Dst, 5339); 1517 dasm_put(Dst, 5359);
1509 } else { 1518 } else {
1510 dasm_put(Dst, 5364, LJ_TISNUM); 1519 dasm_put(Dst, 5384, LJ_TISNUM);
1511 if (LJ_DUALNUM) { 1520 if (LJ_DUALNUM) {
1512 dasm_put(Dst, 5382); 1521 dasm_put(Dst, 5402);
1513 } else { 1522 } else {
1514 dasm_put(Dst, 5400); 1523 dasm_put(Dst, 5420);
1515 } 1524 }
1516 dasm_put(Dst, 5405); 1525 dasm_put(Dst, 5425);
1517 if (cmov) { 1526 if (cmov) {
1518 dasm_put(Dst, 5415); 1527 dasm_put(Dst, 5435);
1519 } else { 1528 } else {
1520 dasm_put(Dst, 5423); 1529 dasm_put(Dst, 5443);
1521 } 1530 }
1522 dasm_put(Dst, 5356); 1531 dasm_put(Dst, 5376);
1523 } 1532 }
1524 dasm_put(Dst, 5444, LJ_TISNUM); 1533 dasm_put(Dst, 5464, LJ_TISNUM);
1525 if (LJ_DUALNUM) { 1534 if (LJ_DUALNUM) {
1526 dasm_put(Dst, 5457, LJ_TISNUM); 1535 dasm_put(Dst, 5477, LJ_TISNUM);
1527 if (sse) { 1536 if (sse) {
1528 dasm_put(Dst, 4769); 1537 dasm_put(Dst, 4789);
1529 } else { 1538 } else {
1530 dasm_put(Dst, 4775); 1539 dasm_put(Dst, 4795);
1531 } 1540 }
1532 dasm_put(Dst, 5286); 1541 dasm_put(Dst, 5306);
1533 } else { 1542 } else {
1534 dasm_put(Dst, 2244); 1543 dasm_put(Dst, 2264);
1535 } 1544 }
1536 if (sse) { 1545 if (sse) {
1537 dasm_put(Dst, 5297, LJ_TISNUM); 1546 dasm_put(Dst, 5317, LJ_TISNUM);
1538 if (LJ_DUALNUM) { 1547 if (LJ_DUALNUM) {
1539 dasm_put(Dst, 5318); 1548 dasm_put(Dst, 5338);
1540 } else { 1549 } else {
1541 dasm_put(Dst, 2244); 1550 dasm_put(Dst, 2264);
1542 } 1551 }
1543 dasm_put(Dst, 5507); 1552 dasm_put(Dst, 5527);
1544 } else { 1553 } else {
1545 dasm_put(Dst, 5364, LJ_TISNUM); 1554 dasm_put(Dst, 5384, LJ_TISNUM);
1546 if (LJ_DUALNUM) { 1555 if (LJ_DUALNUM) {
1547 dasm_put(Dst, 5382); 1556 dasm_put(Dst, 5402);
1548 } else { 1557 } else {
1549 dasm_put(Dst, 5400); 1558 dasm_put(Dst, 5420);
1550 } 1559 }
1551 dasm_put(Dst, 5405); 1560 dasm_put(Dst, 5425);
1552 if (cmov) { 1561 if (cmov) {
1553 dasm_put(Dst, 5532); 1562 dasm_put(Dst, 5552);
1554 } else { 1563 } else {
1555 dasm_put(Dst, 5540); 1564 dasm_put(Dst, 5560);
1556 } 1565 }
1557 dasm_put(Dst, 5356); 1566 dasm_put(Dst, 5376);
1558 } 1567 }
1559 if (!sse) { 1568 if (!sse) {
1560 dasm_put(Dst, 5561); 1569 dasm_put(Dst, 5581);
1561 } 1570 }
1562 dasm_put(Dst, 5570, 1+1, LJ_TSTR); 1571 dasm_put(Dst, 5590, 1+1, LJ_TSTR);
1563 if (LJ_DUALNUM) { 1572 if (LJ_DUALNUM) {
1564 dasm_put(Dst, 5592, Dt5(->len)); 1573 dasm_put(Dst, 5612, Dt5(->len));
1565 } else if (sse) { 1574 } else if (sse) {
1566 dasm_put(Dst, 5600, Dt5(->len)); 1575 dasm_put(Dst, 5620, Dt5(->len));
1567 } else { 1576 } else {
1568 dasm_put(Dst, 5611, Dt5(->len)); 1577 dasm_put(Dst, 5631, Dt5(->len));
1569 } 1578 }
1570 dasm_put(Dst, 5619, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1579 dasm_put(Dst, 5639, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1571 if (LJ_DUALNUM) { 1580 if (LJ_DUALNUM) {
1572 dasm_put(Dst, 3949); 1581 dasm_put(Dst, 3969);
1573 } else if (sse) { 1582 } else if (sse) {
1574 dasm_put(Dst, 5657); 1583 dasm_put(Dst, 5677);
1575 } else { 1584 } else {
1576 dasm_put(Dst, 5667); 1585 dasm_put(Dst, 5687);
1577 } 1586 }
1578 dasm_put(Dst, 5680, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1587 dasm_put(Dst, 5700, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1579 if (LJ_DUALNUM) { 1588 if (LJ_DUALNUM) {
1580 dasm_put(Dst, 5711); 1589 dasm_put(Dst, 5731);
1581 } else if (sse) { 1590 } else if (sse) {
1582 dasm_put(Dst, 5734); 1591 dasm_put(Dst, 5754);
1583 } else { 1592 } else {
1584 dasm_put(Dst, 5760); 1593 dasm_put(Dst, 5780);
1585 } 1594 }
1586 dasm_put(Dst, 5784, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1595 dasm_put(Dst, 5804, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1587 if (LJ_DUALNUM) { 1596 if (LJ_DUALNUM) {
1588 dasm_put(Dst, 5887); 1597 dasm_put(Dst, 5907);
1589 } else if (sse) { 1598 } else if (sse) {
1590 dasm_put(Dst, 5899); 1599 dasm_put(Dst, 5919);
1591 } else { 1600 } else {
1592 dasm_put(Dst, 5914); 1601 dasm_put(Dst, 5934);
1593 } 1602 }
1594 dasm_put(Dst, 5926, LJ_TSTR, LJ_TISNUM); 1603 dasm_put(Dst, 5946, LJ_TSTR, LJ_TISNUM);
1595 if (LJ_DUALNUM) { 1604 if (LJ_DUALNUM) {
1596 dasm_put(Dst, 2517); 1605 dasm_put(Dst, 2537);
1597 } else { 1606 } else {
1598 dasm_put(Dst, 2244); 1607 dasm_put(Dst, 2264);
1599 } 1608 }
1600 dasm_put(Dst, 5943, Dt5(->len)); 1609 dasm_put(Dst, 5963, Dt5(->len));
1601 if (LJ_DUALNUM) { 1610 if (LJ_DUALNUM) {
1602 dasm_put(Dst, 5953); 1611 dasm_put(Dst, 5973);
1603 } else if (sse) { 1612 } else if (sse) {
1604 dasm_put(Dst, 5957); 1613 dasm_put(Dst, 5977);
1605 } else { 1614 } else {
1606 dasm_put(Dst, 5964); 1615 dasm_put(Dst, 5984);
1607 } 1616 }
1608 dasm_put(Dst, 5976, sizeof(GCstr)-1); 1617 dasm_put(Dst, 5996, sizeof(GCstr)-1);
1609 dasm_put(Dst, 6051, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1618 dasm_put(Dst, 6071, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1610 dasm_put(Dst, 6110, LJ_TSTR, LJ_TISNUM); 1619 dasm_put(Dst, 6130, LJ_TSTR, LJ_TISNUM);
1611 if (LJ_DUALNUM) { 1620 if (LJ_DUALNUM) {
1612 dasm_put(Dst, 6127); 1621 dasm_put(Dst, 6147);
1613 } else if (sse) { 1622 } else if (sse) {
1614 dasm_put(Dst, 6135); 1623 dasm_put(Dst, 6155);
1615 } else { 1624 } else {
1616 dasm_put(Dst, 6146); 1625 dasm_put(Dst, 6166);
1617 } 1626 }
1618 dasm_put(Dst, 6162, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1627 dasm_put(Dst, 6182, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1619 dasm_put(Dst, 6227, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1628 dasm_put(Dst, 6247, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1620 dasm_put(Dst, 6290, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1629 dasm_put(Dst, 6310, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1621 dasm_put(Dst, 6361, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1630 dasm_put(Dst, 6381, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1622 dasm_put(Dst, 6446, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1631 dasm_put(Dst, 6466, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1623 dasm_put(Dst, 6516, 1+1, LJ_TTAB); 1632 dasm_put(Dst, 6536, 1+1, LJ_TTAB);
1624 if (LJ_DUALNUM) { 1633 if (LJ_DUALNUM) {
1625 dasm_put(Dst, 6584); 1634 dasm_put(Dst, 6604);
1626 } else if (sse) { 1635 } else if (sse) {
1627 dasm_put(Dst, 6591); 1636 dasm_put(Dst, 6611);
1628 } else { 1637 } else {
1629 dasm_put(Dst, 6601); 1638 dasm_put(Dst, 6621);
1630 } 1639 }
1631 dasm_put(Dst, 6612, 1+1, LJ_TISNUM); 1640 dasm_put(Dst, 6632, 1+1, LJ_TISNUM);
1632 if (LJ_DUALNUM) { 1641 if (LJ_DUALNUM) {
1633 dasm_put(Dst, 6628); 1642 dasm_put(Dst, 6648);
1634 } else { 1643 } else {
1635 dasm_put(Dst, 2244); 1644 dasm_put(Dst, 2264);
1636 } 1645 }
1637 if (sse) { 1646 if (sse) {
1638 dasm_put(Dst, 6645); 1647 dasm_put(Dst, 6665);
1639 } else { 1648 } else {
1640 dasm_put(Dst, 6674); 1649 dasm_put(Dst, 6694);
1641 } 1650 }
1642 dasm_put(Dst, 111); 1651 dasm_put(Dst, 111);
1643 if (LJ_DUALNUM || sse) { 1652 if (LJ_DUALNUM || sse) {
1644 if (!sse) { 1653 if (!sse) {
1645 dasm_put(Dst, 6692); 1654 dasm_put(Dst, 6712);
1646 } 1655 }
1647 dasm_put(Dst, 6696); 1656 dasm_put(Dst, 6716);
1648 } else { 1657 } else {
1649 dasm_put(Dst, 6604); 1658 dasm_put(Dst, 6624);
1650 } 1659 }
1651 dasm_put(Dst, 6701, 1+1); 1660 dasm_put(Dst, 6721, 1+1);
1652 if (sse) { 1661 if (sse) {
1653 dasm_put(Dst, 6712); 1662 dasm_put(Dst, 6732);
1654 } else { 1663 } else {
1655 dasm_put(Dst, 6727); 1664 dasm_put(Dst, 6747);
1656 } 1665 }
1657 dasm_put(Dst, 2221, LJ_TISNUM); 1666 dasm_put(Dst, 2241, LJ_TISNUM);
1658 if (LJ_DUALNUM) { 1667 if (LJ_DUALNUM) {
1659 dasm_put(Dst, 6736); 1668 dasm_put(Dst, 6756);
1660 } else { 1669 } else {
1661 dasm_put(Dst, 2244); 1670 dasm_put(Dst, 2264);
1662 } 1671 }
1663 if (sse) { 1672 if (sse) {
1664 dasm_put(Dst, 6753); 1673 dasm_put(Dst, 6773);
1665 } else { 1674 } else {
1666 dasm_put(Dst, 6768); 1675 dasm_put(Dst, 6788);
1667 } 1676 }
1668 dasm_put(Dst, 6781, LJ_TISNUM); 1677 dasm_put(Dst, 6801, LJ_TISNUM);
1669 if (LJ_DUALNUM) { 1678 if (LJ_DUALNUM) {
1670 dasm_put(Dst, 6806);
1671 } else {
1672 dasm_put(Dst, 6826); 1679 dasm_put(Dst, 6826);
1680 } else {
1681 dasm_put(Dst, 6846);
1673 } 1682 }
1674 if (sse) { 1683 if (sse) {
1675 dasm_put(Dst, 6831); 1684 dasm_put(Dst, 6851);
1676 } else { 1685 } else {
1677 dasm_put(Dst, 6848); 1686 dasm_put(Dst, 6868);
1678 } 1687 }
1679 dasm_put(Dst, 6861, 1+1); 1688 dasm_put(Dst, 6881, 1+1);
1680 if (sse) { 1689 if (sse) {
1681 dasm_put(Dst, 6712); 1690 dasm_put(Dst, 6732);
1682 } else { 1691 } else {
1683 dasm_put(Dst, 6727); 1692 dasm_put(Dst, 6747);
1684 } 1693 }
1685 dasm_put(Dst, 2221, LJ_TISNUM); 1694 dasm_put(Dst, 2241, LJ_TISNUM);
1686 if (LJ_DUALNUM) { 1695 if (LJ_DUALNUM) {
1687 dasm_put(Dst, 6736); 1696 dasm_put(Dst, 6756);
1688 } else { 1697 } else {
1689 dasm_put(Dst, 2244); 1698 dasm_put(Dst, 2264);
1690 } 1699 }
1691 if (sse) { 1700 if (sse) {
1692 dasm_put(Dst, 6753); 1701 dasm_put(Dst, 6773);
1693 } else { 1702 } else {
1694 dasm_put(Dst, 6768); 1703 dasm_put(Dst, 6788);
1695 } 1704 }
1696 dasm_put(Dst, 6781, LJ_TISNUM); 1705 dasm_put(Dst, 6801, LJ_TISNUM);
1697 if (LJ_DUALNUM) { 1706 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6879); 1707 dasm_put(Dst, 6899);
1699 } else { 1708 } else {
1700 dasm_put(Dst, 6826); 1709 dasm_put(Dst, 6846);
1701 } 1710 }
1702 if (sse) { 1711 if (sse) {
1703 dasm_put(Dst, 6899); 1712 dasm_put(Dst, 6919);
1704 } else { 1713 } else {
1705 dasm_put(Dst, 6916); 1714 dasm_put(Dst, 6936);
1706 } 1715 }
1707 dasm_put(Dst, 6929, 1+1); 1716 dasm_put(Dst, 6949, 1+1);
1708 if (sse) { 1717 if (sse) {
1709 dasm_put(Dst, 6712); 1718 dasm_put(Dst, 6732);
1710 } else { 1719 } else {
1711 dasm_put(Dst, 6727); 1720 dasm_put(Dst, 6747);
1712 } 1721 }
1713 dasm_put(Dst, 2221, LJ_TISNUM); 1722 dasm_put(Dst, 2241, LJ_TISNUM);
1714 if (LJ_DUALNUM) { 1723 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6736); 1724 dasm_put(Dst, 6756);
1716 } else { 1725 } else {
1717 dasm_put(Dst, 2244); 1726 dasm_put(Dst, 2264);
1718 } 1727 }
1719 if (sse) { 1728 if (sse) {
1720 dasm_put(Dst, 6753); 1729 dasm_put(Dst, 6773);
1721 } else { 1730 } else {
1722 dasm_put(Dst, 6768); 1731 dasm_put(Dst, 6788);
1723 } 1732 }
1724 dasm_put(Dst, 6781, LJ_TISNUM); 1733 dasm_put(Dst, 6801, LJ_TISNUM);
1725 if (LJ_DUALNUM) { 1734 if (LJ_DUALNUM) {
1726 dasm_put(Dst, 6947); 1735 dasm_put(Dst, 6967);
1727 } else { 1736 } else {
1728 dasm_put(Dst, 6826); 1737 dasm_put(Dst, 6846);
1729 } 1738 }
1730 if (sse) { 1739 if (sse) {
1731 dasm_put(Dst, 6967); 1740 dasm_put(Dst, 6987);
1732 } else { 1741 } else {
1733 dasm_put(Dst, 6984); 1742 dasm_put(Dst, 7004);
1734 } 1743 }
1735 dasm_put(Dst, 6997, 1+1, LJ_TISNUM); 1744 dasm_put(Dst, 7017, 1+1, LJ_TISNUM);
1736 if (LJ_DUALNUM) { 1745 if (LJ_DUALNUM) {
1737 dasm_put(Dst, 6736); 1746 dasm_put(Dst, 6756);
1738 } else { 1747 } else {
1739 dasm_put(Dst, 2244); 1748 dasm_put(Dst, 2264);
1740 } 1749 }
1741 if (sse) { 1750 if (sse) {
1742 dasm_put(Dst, 6645); 1751 dasm_put(Dst, 6665);
1743 } else { 1752 } else {
1744 dasm_put(Dst, 7020); 1753 dasm_put(Dst, 7040);
1745 } 1754 }
1746 dasm_put(Dst, 7041, 1+1, LJ_TISNUM); 1755 dasm_put(Dst, 7061, 1+1, LJ_TISNUM);
1747 if (LJ_DUALNUM) { 1756 if (LJ_DUALNUM) {
1748 dasm_put(Dst, 6736); 1757 dasm_put(Dst, 6756);
1749 } else { 1758 } else {
1750 dasm_put(Dst, 2244); 1759 dasm_put(Dst, 2264);
1751 } 1760 }
1752 if (sse) { 1761 if (sse) {
1753 dasm_put(Dst, 6645); 1762 dasm_put(Dst, 6665);
1754 } else { 1763 } else {
1755 dasm_put(Dst, 7020); 1764 dasm_put(Dst, 7040);
1756 } 1765 }
1757 dasm_put(Dst, 7065); 1766 dasm_put(Dst, 7085);
1758 if (LJ_DUALNUM) { 1767 if (LJ_DUALNUM) {
1759 dasm_put(Dst, 6696); 1768 dasm_put(Dst, 6716);
1760 } else if (sse) { 1769 } else if (sse) {
1761 dasm_put(Dst, 7071); 1770 dasm_put(Dst, 7091);
1762 } else { 1771 } else {
1763 dasm_put(Dst, 7083); 1772 dasm_put(Dst, 7103);
1764 } 1773 }
1765 dasm_put(Dst, 7096); 1774 dasm_put(Dst, 7116);
1766 if (LJ_DUALNUM) { 1775 if (LJ_DUALNUM) {
1767 dasm_put(Dst, 7107, 1+1, LJ_TISNUM); 1776 dasm_put(Dst, 7127, 1+1, LJ_TISNUM);
1768 if (LJ_DUALNUM) { 1777 if (LJ_DUALNUM) {
1769 dasm_put(Dst, 6736); 1778 dasm_put(Dst, 6756);
1770 } else { 1779 } else {
1771 dasm_put(Dst, 2244); 1780 dasm_put(Dst, 2264);
1772 } 1781 }
1773 if (sse) { 1782 if (sse) {
1774 dasm_put(Dst, 6645); 1783 dasm_put(Dst, 6665);
1775 } else { 1784 } else {
1776 dasm_put(Dst, 7020); 1785 dasm_put(Dst, 7040);
1777 } 1786 }
1778 dasm_put(Dst, 7123, LJ_TISNUM); 1787 dasm_put(Dst, 7143, LJ_TISNUM);
1779 } else if (sse) { 1788 } else if (sse) {
1780 dasm_put(Dst, 7138, 2+1, LJ_TISNUM, LJ_TISNUM); 1789 dasm_put(Dst, 7158, 2+1, LJ_TISNUM, LJ_TISNUM);
1781 } else { 1790 } else {
1782 dasm_put(Dst, 7210, 2+1, LJ_TISNUM, LJ_TISNUM); 1791 dasm_put(Dst, 7230, 2+1, LJ_TISNUM, LJ_TISNUM);
1783 } 1792 }
1784 dasm_put(Dst, 7274); 1793 dasm_put(Dst, 7294);
1785 if (LJ_DUALNUM) { 1794 if (LJ_DUALNUM) {
1786 dasm_put(Dst, 7281, 1+1, LJ_TISNUM); 1795 dasm_put(Dst, 7301, 1+1, LJ_TISNUM);
1787 if (LJ_DUALNUM) { 1796 if (LJ_DUALNUM) {
1788 dasm_put(Dst, 6736); 1797 dasm_put(Dst, 6756);
1789 } else { 1798 } else {
1790 dasm_put(Dst, 2244); 1799 dasm_put(Dst, 2264);
1791 } 1800 }
1792 if (sse) { 1801 if (sse) {
1793 dasm_put(Dst, 6645); 1802 dasm_put(Dst, 6665);
1794 } else { 1803 } else {
1795 dasm_put(Dst, 7020); 1804 dasm_put(Dst, 7040);
1796 } 1805 }
1797 dasm_put(Dst, 7123, LJ_TISNUM); 1806 dasm_put(Dst, 7143, LJ_TISNUM);
1798 } else if (sse) { 1807 } else if (sse) {
1799 dasm_put(Dst, 7297, 2+1, LJ_TISNUM, LJ_TISNUM); 1808 dasm_put(Dst, 7317, 2+1, LJ_TISNUM, LJ_TISNUM);
1800 } else { 1809 } else {
1801 dasm_put(Dst, 7369, 2+1, LJ_TISNUM, LJ_TISNUM); 1810 dasm_put(Dst, 7389, 2+1, LJ_TISNUM, LJ_TISNUM);
1802 } 1811 }
1803 dasm_put(Dst, 7433); 1812 dasm_put(Dst, 7453);
1804 if (LJ_DUALNUM) { 1813 if (LJ_DUALNUM) {
1805 dasm_put(Dst, 7441, 1+1, LJ_TISNUM); 1814 dasm_put(Dst, 7461, 1+1, LJ_TISNUM);
1806 if (LJ_DUALNUM) { 1815 if (LJ_DUALNUM) {
1807 dasm_put(Dst, 6736); 1816 dasm_put(Dst, 6756);
1808 } else { 1817 } else {
1809 dasm_put(Dst, 2244); 1818 dasm_put(Dst, 2264);
1810 } 1819 }
1811 if (sse) { 1820 if (sse) {
1812 dasm_put(Dst, 6645); 1821 dasm_put(Dst, 6665);
1813 } else { 1822 } else {
1814 dasm_put(Dst, 7020); 1823 dasm_put(Dst, 7040);
1815 } 1824 }
1816 dasm_put(Dst, 7123, LJ_TISNUM); 1825 dasm_put(Dst, 7143, LJ_TISNUM);
1817 } else if (sse) { 1826 } else if (sse) {
1818 dasm_put(Dst, 7457, 2+1, LJ_TISNUM, LJ_TISNUM); 1827 dasm_put(Dst, 7477, 2+1, LJ_TISNUM, LJ_TISNUM);
1819 } else { 1828 } else {
1820 dasm_put(Dst, 7529, 2+1, LJ_TISNUM, LJ_TISNUM); 1829 dasm_put(Dst, 7549, 2+1, LJ_TISNUM, LJ_TISNUM);
1821 } 1830 }
1822 dasm_put(Dst, 7593); 1831 dasm_put(Dst, 7613);
1823 if (LJ_DUALNUM) { 1832 if (LJ_DUALNUM) {
1824 dasm_put(Dst, 7601, 1+1, LJ_TISNUM); 1833 dasm_put(Dst, 7621, 1+1, LJ_TISNUM);
1825 if (LJ_DUALNUM) { 1834 if (LJ_DUALNUM) {
1826 dasm_put(Dst, 6736); 1835 dasm_put(Dst, 6756);
1827 } else { 1836 } else {
1828 dasm_put(Dst, 2244); 1837 dasm_put(Dst, 2264);
1829 } 1838 }
1830 if (sse) { 1839 if (sse) {
1831 dasm_put(Dst, 6645); 1840 dasm_put(Dst, 6665);
1832 } else { 1841 } else {
1833 dasm_put(Dst, 7020); 1842 dasm_put(Dst, 7040);
1834 } 1843 }
1835 dasm_put(Dst, 7123, LJ_TISNUM); 1844 dasm_put(Dst, 7143, LJ_TISNUM);
1836 } else if (sse) { 1845 } else if (sse) {
1837 dasm_put(Dst, 7617, 2+1, LJ_TISNUM, LJ_TISNUM); 1846 dasm_put(Dst, 7637, 2+1, LJ_TISNUM, LJ_TISNUM);
1838 } else { 1847 } else {
1839 dasm_put(Dst, 7689, 2+1, LJ_TISNUM, LJ_TISNUM); 1848 dasm_put(Dst, 7709, 2+1, LJ_TISNUM, LJ_TISNUM);
1840 } 1849 }
1841 dasm_put(Dst, 7753); 1850 dasm_put(Dst, 7773);
1842 if (LJ_DUALNUM) { 1851 if (LJ_DUALNUM) {
1843 dasm_put(Dst, 7760, 1+1, LJ_TISNUM); 1852 dasm_put(Dst, 7780, 1+1, LJ_TISNUM);
1844 if (LJ_DUALNUM) { 1853 if (LJ_DUALNUM) {
1845 dasm_put(Dst, 6736); 1854 dasm_put(Dst, 6756);
1846 } else { 1855 } else {
1847 dasm_put(Dst, 2244); 1856 dasm_put(Dst, 2264);
1848 } 1857 }
1849 if (sse) { 1858 if (sse) {
1850 dasm_put(Dst, 6645); 1859 dasm_put(Dst, 6665);
1851 } else { 1860 } else {
1852 dasm_put(Dst, 7020); 1861 dasm_put(Dst, 7040);
1853 } 1862 }
1854 dasm_put(Dst, 7123, LJ_TISNUM); 1863 dasm_put(Dst, 7143, LJ_TISNUM);
1855 } else if (sse) { 1864 } else if (sse) {
1856 dasm_put(Dst, 7776, 2+1, LJ_TISNUM, LJ_TISNUM); 1865 dasm_put(Dst, 7796, 2+1, LJ_TISNUM, LJ_TISNUM);
1857 } else { 1866 } else {
1858 dasm_put(Dst, 7848, 2+1, LJ_TISNUM, LJ_TISNUM); 1867 dasm_put(Dst, 7868, 2+1, LJ_TISNUM, LJ_TISNUM);
1859 } 1868 }
1860 dasm_put(Dst, 7912, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1869 dasm_put(Dst, 7932, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1861 dasm_put(Dst, 7988, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1870 dasm_put(Dst, 8008, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1862 dasm_put(Dst, 8112, Dt1(->top), Dt1(->base), Dt1(->top)); 1871 dasm_put(Dst, 8132, Dt1(->top), Dt1(->base), Dt1(->top));
1863#if LJ_HASJIT 1872#if LJ_HASJIT
1864 dasm_put(Dst, 8150, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1873 dasm_put(Dst, 8170, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1865#endif 1874#endif
1866 dasm_put(Dst, 8181, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1875 dasm_put(Dst, 8201, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1867 dasm_put(Dst, 8232, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1876 dasm_put(Dst, 8252, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1868#if LJ_HASJIT 1877#if LJ_HASJIT
1869 dasm_put(Dst, 8298, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1878 dasm_put(Dst, 8318, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1870#endif 1879#endif
1871 dasm_put(Dst, 8344); 1880 dasm_put(Dst, 8364);
1872#if LJ_HASJIT 1881#if LJ_HASJIT
1873 dasm_put(Dst, 8176); 1882 dasm_put(Dst, 8196);
1874#endif 1883#endif
1875 dasm_put(Dst, 8351); 1884 dasm_put(Dst, 8371);
1876#if LJ_HASJIT 1885#if LJ_HASJIT
1877 dasm_put(Dst, 8354); 1886 dasm_put(Dst, 8374);
1878#endif 1887#endif
1879 dasm_put(Dst, 8364, Dt1(->base), Dt1(->top)); 1888 dasm_put(Dst, 8384, Dt1(->base), Dt1(->top));
1880#if LJ_HASJIT 1889#if LJ_HASJIT
1881 dasm_put(Dst, 8398); 1890 dasm_put(Dst, 8418);
1882#endif 1891#endif
1883 dasm_put(Dst, 8403, Dt1(->base), Dt1(->top)); 1892 dasm_put(Dst, 8423, Dt1(->base), Dt1(->top));
1884#if LJ_HASJIT 1893#if LJ_HASJIT
1885 dasm_put(Dst, 8432, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, 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); 1894 dasm_put(Dst, 8452, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, 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);
1886#endif 1895#endif
1887 dasm_put(Dst, 8575); 1896 dasm_put(Dst, 8595);
1888#if LJ_HASJIT 1897#if LJ_HASJIT
1889 dasm_put(Dst, 8578, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1898 dasm_put(Dst, 8598, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1890#endif 1899#endif
1891 dasm_put(Dst, 8656); 1900 dasm_put(Dst, 8676);
1892 if (!sse) { 1901 if (!sse) {
1893 dasm_put(Dst, 8659); 1902 dasm_put(Dst, 8679);
1894 } 1903 }
1895 dasm_put(Dst, 8704); 1904 dasm_put(Dst, 8724);
1896 if (!sse) { 1905 if (!sse) {
1897 dasm_put(Dst, 8806); 1906 dasm_put(Dst, 8826);
1898 } 1907 }
1899 dasm_put(Dst, 8851); 1908 dasm_put(Dst, 8871);
1900 if (!sse) { 1909 if (!sse) {
1901 dasm_put(Dst, 8953); 1910 dasm_put(Dst, 8973);
1902 } 1911 }
1903 dasm_put(Dst, 8992); 1912 dasm_put(Dst, 9012);
1904 if (sse) { 1913 if (sse) {
1905 dasm_put(Dst, 9097); 1914 dasm_put(Dst, 9117);
1906 } else { 1915 } else {
1907 dasm_put(Dst, 9227); 1916 dasm_put(Dst, 9247);
1908 } 1917 }
1909 dasm_put(Dst, 9274); 1918 dasm_put(Dst, 9294);
1910 if (!sse) { 1919 if (!sse) {
1911 dasm_put(Dst, 9348); 1920 dasm_put(Dst, 9368);
1912 if (cmov) { 1921 if (cmov) {
1913 dasm_put(Dst, 9359); 1922 dasm_put(Dst, 9379);
1914 } else { 1923 } else {
1915 dasm_put(Dst, 9363); 1924 dasm_put(Dst, 9383);
1916 } 1925 }
1917 dasm_put(Dst, 9370); 1926 dasm_put(Dst, 9390);
1918 dasm_put(Dst, 9444); 1927 dasm_put(Dst, 9464);
1919 dasm_put(Dst, 9544); 1928 dasm_put(Dst, 9564);
1920 if (cmov) { 1929 if (cmov) {
1921 dasm_put(Dst, 9547); 1930 dasm_put(Dst, 9567);
1922 } else { 1931 } else {
1923 dasm_put(Dst, 9551); 1932 dasm_put(Dst, 9571);
1924 } 1933 }
1925 dasm_put(Dst, 9558); 1934 dasm_put(Dst, 9578);
1926 if (cmov) { 1935 if (cmov) {
1927 dasm_put(Dst, 9359); 1936 dasm_put(Dst, 9379);
1928 } else { 1937 } else {
1929 dasm_put(Dst, 9363); 1938 dasm_put(Dst, 9383);
1930 } 1939 }
1931 dasm_put(Dst, 9576); 1940 dasm_put(Dst, 9596);
1932 } else { 1941 } else {
1933 dasm_put(Dst, 9655); 1942 dasm_put(Dst, 9675);
1934 } 1943 }
1935 dasm_put(Dst, 9658); 1944 dasm_put(Dst, 9678);
1936 dasm_put(Dst, 9743); 1945 dasm_put(Dst, 9763);
1937 dasm_put(Dst, 9873); 1946 dasm_put(Dst, 9893);
1938 dasm_put(Dst, 10079); 1947 dasm_put(Dst, 10099);
1939#if LJ_HASJIT 1948#if LJ_HASJIT
1940 if (sse) { 1949 if (sse) {
1941 dasm_put(Dst, 10086); 1950 dasm_put(Dst, 10106);
1942 dasm_put(Dst, 10143); 1951 dasm_put(Dst, 10163);
1943 dasm_put(Dst, 10234); 1952 dasm_put(Dst, 10254);
1944 } else { 1953 } else {
1945 dasm_put(Dst, 10276); 1954 dasm_put(Dst, 10296);
1946 dasm_put(Dst, 10368); 1955 dasm_put(Dst, 10388);
1947 } 1956 }
1948 dasm_put(Dst, 10414); 1957 dasm_put(Dst, 10434);
1949#endif 1958#endif
1950 dasm_put(Dst, 10418); 1959 dasm_put(Dst, 10438);
1951 if (sse) { 1960 if (sse) {
1952 dasm_put(Dst, 10421); 1961 dasm_put(Dst, 10441);
1953 dasm_put(Dst, 10526); 1962 dasm_put(Dst, 10546);
1954 dasm_put(Dst, 10609); 1963 dasm_put(Dst, 10629);
1955 } else { 1964 } else {
1956 dasm_put(Dst, 10681); 1965 dasm_put(Dst, 10701);
1957 dasm_put(Dst, 10764); 1966 dasm_put(Dst, 10784);
1958 if (cmov) { 1967 if (cmov) {
1959 dasm_put(Dst, 10819); 1968 dasm_put(Dst, 10839);
1960 } else { 1969 } else {
1961 dasm_put(Dst, 10838); 1970 dasm_put(Dst, 10858);
1962 } 1971 }
1963 dasm_put(Dst, 10414); 1972 dasm_put(Dst, 10434);
1964 } 1973 }
1965 dasm_put(Dst, 10879); 1974 dasm_put(Dst, 10899);
1966#if LJ_HASFFI 1975#if LJ_HASFFI
1967#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1976#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1968 dasm_put(Dst, 10935, DtE(->spadj)); 1977 dasm_put(Dst, 10955, DtE(->spadj));
1969#if LJ_TARGET_WINDOWS 1978#if LJ_TARGET_WINDOWS
1970 dasm_put(Dst, 10945, DtE(->spadj)); 1979 dasm_put(Dst, 10965, DtE(->spadj));
1971#endif 1980#endif
1972 dasm_put(Dst, 10949, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); 1981 dasm_put(Dst, 10969, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0]));
1973 dasm_put(Dst, 11019, DtE(->fpr[0].f[0])); 1982 dasm_put(Dst, 11039, DtE(->fpr[0].f[0]));
1974#if LJ_TARGET_WINDOWS 1983#if LJ_TARGET_WINDOWS
1975 dasm_put(Dst, 11025, DtE(->spadj)); 1984 dasm_put(Dst, 11045, DtE(->spadj));
1976#endif 1985#endif
1977 dasm_put(Dst, 11029); 1986 dasm_put(Dst, 11049);
1978#endif 1987#endif
1979 dasm_put(Dst, 11036); 1988 dasm_put(Dst, 11056);
1980#ifdef LUA_USE_ASSERT 1989#ifdef LUA_USE_ASSERT
1981 dasm_put(Dst, 10416); 1990 dasm_put(Dst, 10436);
1982#endif 1991#endif
1983 dasm_put(Dst, 10416); 1992 dasm_put(Dst, 10436);
1984} 1993}
1985 1994
1986/* Generate the code for a single instruction. */ 1995/* Generate the code for a single instruction. */
1987static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1996static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1988{ 1997{
1989 int vk = 0; 1998 int vk = 0;
1990 dasm_put(Dst, 11039, defop); 1999 dasm_put(Dst, 11059, defop);
1991 2000
1992 switch (op) { 2001 switch (op) {
1993 2002
@@ -1998,297 +2007,304 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1998 2007
1999 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 2008 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
2000 if (LJ_DUALNUM) { 2009 if (LJ_DUALNUM) {
2001 dasm_put(Dst, 11041, LJ_TISNUM, LJ_TISNUM); 2010 dasm_put(Dst, 11061, LJ_TISNUM, LJ_TISNUM);
2002 switch (op) { 2011 switch (op) {
2003 case BC_ISLT: 2012 case BC_ISLT:
2004 dasm_put(Dst, 11071); 2013 dasm_put(Dst, 11091);
2005 break; 2014 break;
2006 case BC_ISGE: 2015 case BC_ISGE:
2007 dasm_put(Dst, 11076); 2016 dasm_put(Dst, 11096);
2008 break; 2017 break;
2009 case BC_ISLE: 2018 case BC_ISLE:
2010 dasm_put(Dst, 11081); 2019 dasm_put(Dst, 11101);
2011 break; 2020 break;
2012 case BC_ISGT: 2021 case BC_ISGT:
2013 dasm_put(Dst, 11086); 2022 dasm_put(Dst, 11106);
2014 break; 2023 break;
2015 default: break; /* Shut up GCC. */ 2024 default: break; /* Shut up GCC. */
2016 } 2025 }
2017 dasm_put(Dst, 11091, -BCBIAS_J*4, LJ_TISNUM); 2026 dasm_put(Dst, 11111, -BCBIAS_J*4, LJ_TISNUM);
2018 if (sse) { 2027 if (sse) {
2019 dasm_put(Dst, 11144); 2028 dasm_put(Dst, 11164);
2020 } else { 2029 } else {
2021 dasm_put(Dst, 11155); 2030 dasm_put(Dst, 11175);
2022 } 2031 }
2023 dasm_put(Dst, 11166); 2032 dasm_put(Dst, 11186);
2024 if (sse) { 2033 if (sse) {
2025 dasm_put(Dst, 11173); 2034 dasm_put(Dst, 11193);
2026 switch (op) { 2035 switch (op) {
2027 case BC_ISLT: 2036 case BC_ISLT:
2028 dasm_put(Dst, 11193); 2037 dasm_put(Dst, 11213);
2029 break; 2038 break;
2030 case BC_ISGE: 2039 case BC_ISGE:
2031 dasm_put(Dst, 11198); 2040 dasm_put(Dst, 11218);
2032 break; 2041 break;
2033 case BC_ISLE: 2042 case BC_ISLE:
2034 dasm_put(Dst, 11203); 2043 dasm_put(Dst, 11223);
2035 break; 2044 break;
2036 case BC_ISGT: 2045 case BC_ISGT:
2037 dasm_put(Dst, 11208); 2046 dasm_put(Dst, 11228);
2038 break; 2047 break;
2039 default: break; /* Shut up GCC. */ 2048 default: break; /* Shut up GCC. */
2040 } 2049 }
2041 dasm_put(Dst, 11213); 2050 dasm_put(Dst, 11233);
2042 } else { 2051 } else {
2043 dasm_put(Dst, 11218); 2052 dasm_put(Dst, 11238);
2044 } 2053 }
2045 } else { 2054 } else {
2046 dasm_put(Dst, 11226, LJ_TISNUM, LJ_TISNUM); 2055 dasm_put(Dst, 11246, LJ_TISNUM, LJ_TISNUM);
2047 } 2056 }
2048 if (sse) { 2057 if (sse) {
2049 dasm_put(Dst, 11247); 2058 dasm_put(Dst, 11267);
2050 } else { 2059 } else {
2051 dasm_put(Dst, 11268); 2060 dasm_put(Dst, 11288);
2052 if (cmov) { 2061 if (cmov) {
2053 dasm_put(Dst, 3924); 2062 dasm_put(Dst, 3944);
2054 } else { 2063 } else {
2055 dasm_put(Dst, 3930); 2064 dasm_put(Dst, 3950);
2056 } 2065 }
2057 } 2066 }
2058 if (LJ_DUALNUM) { 2067 if (LJ_DUALNUM) {
2059 switch (op) { 2068 switch (op) {
2060 case BC_ISLT: 2069 case BC_ISLT:
2061 dasm_put(Dst, 11193); 2070 dasm_put(Dst, 11213);
2062 break; 2071 break;
2063 case BC_ISGE: 2072 case BC_ISGE:
2064 dasm_put(Dst, 11198); 2073 dasm_put(Dst, 11218);
2065 break; 2074 break;
2066 case BC_ISLE: 2075 case BC_ISLE:
2067 dasm_put(Dst, 11203); 2076 dasm_put(Dst, 11223);
2068 break; 2077 break;
2069 case BC_ISGT: 2078 case BC_ISGT:
2070 dasm_put(Dst, 11208); 2079 dasm_put(Dst, 11228);
2071 break; 2080 break;
2072 default: break; /* Shut up GCC. */ 2081 default: break; /* Shut up GCC. */
2073 } 2082 }
2074 dasm_put(Dst, 11213); 2083 dasm_put(Dst, 11233);
2075 } else { 2084 } else {
2076 switch (op) { 2085 switch (op) {
2077 case BC_ISLT: 2086 case BC_ISLT:
2078 dasm_put(Dst, 11284); 2087 dasm_put(Dst, 11304);
2079 break; 2088 break;
2080 case BC_ISGE: 2089 case BC_ISGE:
2081 dasm_put(Dst, 11289); 2090 dasm_put(Dst, 11309);
2082 break; 2091 break;
2083 case BC_ISLE: 2092 case BC_ISLE:
2084 dasm_put(Dst, 11294); 2093 dasm_put(Dst, 11314);
2085 break; 2094 break;
2086 case BC_ISGT: 2095 case BC_ISGT:
2087 dasm_put(Dst, 11299); 2096 dasm_put(Dst, 11319);
2088 break; 2097 break;
2089 default: break; /* Shut up GCC. */ 2098 default: break; /* Shut up GCC. */
2090 } 2099 }
2091 dasm_put(Dst, 11304, -BCBIAS_J*4); 2100 dasm_put(Dst, 11324, -BCBIAS_J*4);
2092 } 2101 }
2093 break; 2102 break;
2094 2103
2095 case BC_ISEQV: case BC_ISNEV: 2104 case BC_ISEQV: case BC_ISNEV:
2096 vk = op == BC_ISEQV; 2105 vk = op == BC_ISEQV;
2097 dasm_put(Dst, 11335); 2106 dasm_put(Dst, 11355);
2098 if (LJ_DUALNUM) { 2107 if (LJ_DUALNUM) {
2099 dasm_put(Dst, 11343, LJ_TISNUM, LJ_TISNUM); 2108 dasm_put(Dst, 11363, LJ_TISNUM, LJ_TISNUM);
2100 if (vk) { 2109 if (vk) {
2101 dasm_put(Dst, 11368); 2110 dasm_put(Dst, 11388);
2102 } else { 2111 } else {
2103 dasm_put(Dst, 11373); 2112 dasm_put(Dst, 11393);
2104 } 2113 }
2105 dasm_put(Dst, 11378, -BCBIAS_J*4, LJ_TISNUM); 2114 dasm_put(Dst, 11398, -BCBIAS_J*4, LJ_TISNUM);
2106 if (sse) { 2115 if (sse) {
2107 dasm_put(Dst, 11429); 2116 dasm_put(Dst, 11449);
2108 } else { 2117 } else {
2109 dasm_put(Dst, 11436); 2118 dasm_put(Dst, 11456);
2110 } 2119 }
2111 dasm_put(Dst, 11440); 2120 dasm_put(Dst, 11460);
2112 if (sse) { 2121 if (sse) {
2113 dasm_put(Dst, 11451); 2122 dasm_put(Dst, 11471);
2114 } else { 2123 } else {
2115 dasm_put(Dst, 11463); 2124 dasm_put(Dst, 11483);
2116 } 2125 }
2117 dasm_put(Dst, 11470); 2126 dasm_put(Dst, 11490);
2118 } else { 2127 } else {
2119 dasm_put(Dst, 11475, LJ_TISNUM, LJ_TISNUM); 2128 dasm_put(Dst, 11495, LJ_TISNUM, LJ_TISNUM);
2120 } 2129 }
2121 if (sse) { 2130 if (sse) {
2122 dasm_put(Dst, 11494); 2131 dasm_put(Dst, 11514);
2123 } else { 2132 } else {
2124 dasm_put(Dst, 11512); 2133 dasm_put(Dst, 11532);
2125 if (cmov) { 2134 if (cmov) {
2126 dasm_put(Dst, 3924); 2135 dasm_put(Dst, 3944);
2127 } else { 2136 } else {
2128 dasm_put(Dst, 3930); 2137 dasm_put(Dst, 3950);
2129 } 2138 }
2130 } 2139 }
2131 iseqne_fp: 2140 iseqne_fp:
2132 if (vk) { 2141 if (vk) {
2133 dasm_put(Dst, 11525); 2142 dasm_put(Dst, 11545);
2134 } else { 2143 } else {
2135 dasm_put(Dst, 11534); 2144 dasm_put(Dst, 11554);
2136 } 2145 }
2137 iseqne_end: 2146 iseqne_end:
2138 if (vk) { 2147 if (vk) {
2139 dasm_put(Dst, 11543, -BCBIAS_J*4); 2148 dasm_put(Dst, 11563, -BCBIAS_J*4);
2140 if (!LJ_HASFFI) { 2149 if (!LJ_HASFFI) {
2141 dasm_put(Dst, 4824); 2150 dasm_put(Dst, 4844);
2142 } 2151 }
2143 } else { 2152 } else {
2144 if (!LJ_HASFFI) { 2153 if (!LJ_HASFFI) {
2145 dasm_put(Dst, 4824); 2154 dasm_put(Dst, 4844);
2146 } 2155 }
2147 dasm_put(Dst, 11558, -BCBIAS_J*4); 2156 dasm_put(Dst, 11578, -BCBIAS_J*4);
2148 } 2157 }
2149 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2158 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2150 op == BC_ISEQN || op == BC_ISNEN)) { 2159 op == BC_ISEQN || op == BC_ISNEN)) {
2151 dasm_put(Dst, 11573); 2160 dasm_put(Dst, 11593);
2152 } else { 2161 } else {
2153 dasm_put(Dst, 11316); 2162 dasm_put(Dst, 11336);
2154 } 2163 }
2155 if (op == BC_ISEQV || op == BC_ISNEV) { 2164 if (op == BC_ISEQV || op == BC_ISNEV) {
2156 dasm_put(Dst, 11578); 2165 dasm_put(Dst, 11598);
2157 if (LJ_HASFFI) { 2166 if (LJ_HASFFI) {
2158 dasm_put(Dst, 11581, LJ_TCDATA, LJ_TCDATA); 2167 dasm_put(Dst, 11601, LJ_TCDATA, LJ_TCDATA);
2159 } 2168 }
2160 dasm_put(Dst, 11600, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2169 dasm_put(Dst, 11620, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2161 if (vk) { 2170 if (vk) {
2162 dasm_put(Dst, 11656); 2171 dasm_put(Dst, 11676);
2163 } else { 2172 } else {
2164 dasm_put(Dst, 11660); 2173 dasm_put(Dst, 11680);
2165 } 2174 }
2166 dasm_put(Dst, 11666); 2175 dasm_put(Dst, 11686);
2167 } else if (LJ_HASFFI) { 2176 } else if (LJ_HASFFI) {
2168 dasm_put(Dst, 11671, LJ_TCDATA); 2177 dasm_put(Dst, 11691, LJ_TCDATA);
2169 if (LJ_DUALNUM && vk) { 2178 if (LJ_DUALNUM && vk) {
2170 dasm_put(Dst, 11678); 2179 dasm_put(Dst, 11698);
2171 } else { 2180 } else {
2172 dasm_put(Dst, 11651); 2181 dasm_put(Dst, 11671);
2173 } 2182 }
2174 dasm_put(Dst, 11683); 2183 dasm_put(Dst, 11703);
2175 } 2184 }
2176 break; 2185 break;
2177 case BC_ISEQS: case BC_ISNES: 2186 case BC_ISEQS: case BC_ISNES:
2178 vk = op == BC_ISEQS; 2187 vk = op == BC_ISEQS;
2179 dasm_put(Dst, 11688, LJ_TSTR); 2188 dasm_put(Dst, 11708, LJ_TSTR);
2180 iseqne_test: 2189 iseqne_test:
2181 if (vk) { 2190 if (vk) {
2182 dasm_put(Dst, 11529); 2191 dasm_put(Dst, 11549);
2183 } else { 2192 } else {
2184 dasm_put(Dst, 748); 2193 dasm_put(Dst, 748);
2185 } 2194 }
2186 goto iseqne_end; 2195 goto iseqne_end;
2187 case BC_ISEQN: case BC_ISNEN: 2196 case BC_ISEQN: case BC_ISNEN:
2188 vk = op == BC_ISEQN; 2197 vk = op == BC_ISEQN;
2189 dasm_put(Dst, 11713); 2198 dasm_put(Dst, 11733);
2190 if (LJ_DUALNUM) { 2199 if (LJ_DUALNUM) {
2191 dasm_put(Dst, 11721, LJ_TISNUM, LJ_TISNUM); 2200 dasm_put(Dst, 11741, LJ_TISNUM, LJ_TISNUM);
2192 if (vk) { 2201 if (vk) {
2193 dasm_put(Dst, 11368); 2202 dasm_put(Dst, 11388);
2194 } else { 2203 } else {
2195 dasm_put(Dst, 11373); 2204 dasm_put(Dst, 11393);
2196 } 2205 }
2197 dasm_put(Dst, 11746, -BCBIAS_J*4, LJ_TISNUM); 2206 dasm_put(Dst, 11766, -BCBIAS_J*4, LJ_TISNUM);
2198 if (sse) { 2207 if (sse) {
2199 dasm_put(Dst, 11793); 2208 dasm_put(Dst, 11813);
2200 } else { 2209 } else {
2201 dasm_put(Dst, 11800); 2210 dasm_put(Dst, 11820);
2202 } 2211 }
2203 dasm_put(Dst, 11804); 2212 dasm_put(Dst, 11824);
2204 if (sse) { 2213 if (sse) {
2205 dasm_put(Dst, 11811); 2214 dasm_put(Dst, 11831);
2206 } else { 2215 } else {
2207 dasm_put(Dst, 11823); 2216 dasm_put(Dst, 11843);
2208 } 2217 }
2209 dasm_put(Dst, 11470); 2218 dasm_put(Dst, 11490);
2210 } else { 2219 } else {
2211 dasm_put(Dst, 11830, LJ_TISNUM); 2220 dasm_put(Dst, 11850, LJ_TISNUM);
2212 } 2221 }
2213 if (sse) { 2222 if (sse) {
2214 dasm_put(Dst, 11839); 2223 dasm_put(Dst, 11859);
2215 } else { 2224 } else {
2216 dasm_put(Dst, 11857); 2225 dasm_put(Dst, 11877);
2217 if (cmov) { 2226 if (cmov) {
2218 dasm_put(Dst, 3924); 2227 dasm_put(Dst, 3944);
2219 } else { 2228 } else {
2220 dasm_put(Dst, 3930); 2229 dasm_put(Dst, 3950);
2221 } 2230 }
2222 } 2231 }
2223 goto iseqne_fp; 2232 goto iseqne_fp;
2224 case BC_ISEQP: case BC_ISNEP: 2233 case BC_ISEQP: case BC_ISNEP:
2225 vk = op == BC_ISEQP; 2234 vk = op == BC_ISEQP;
2226 dasm_put(Dst, 11870); 2235 dasm_put(Dst, 11890);
2227 if (!LJ_HASFFI) goto iseqne_test; 2236 if (!LJ_HASFFI) goto iseqne_test;
2228 if (vk) { 2237 if (vk) {
2229 dasm_put(Dst, 11883, -BCBIAS_J*4, LJ_TCDATA); 2238 dasm_put(Dst, 11903, -BCBIAS_J*4, LJ_TCDATA);
2230 } else { 2239 } else {
2231 dasm_put(Dst, 11932, LJ_TCDATA, -BCBIAS_J*4); 2240 dasm_put(Dst, 11952, LJ_TCDATA, -BCBIAS_J*4);
2232 } 2241 }
2233 break; 2242 break;
2234 2243
2235 /* -- Unary test and copy ops ------------------------------------------- */ 2244 /* -- Unary test and copy ops ------------------------------------------- */
2236 2245
2237 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2246 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2238 dasm_put(Dst, 11975, LJ_TISTRUECOND); 2247 dasm_put(Dst, 11995, LJ_TISTRUECOND);
2239 if (op == BC_IST || op == BC_ISTC) { 2248 if (op == BC_IST || op == BC_ISTC) {
2240 dasm_put(Dst, 11299); 2249 dasm_put(Dst, 11319);
2241 } else { 2250 } else {
2242 dasm_put(Dst, 11294); 2251 dasm_put(Dst, 11314);
2243 } 2252 }
2244 if (op == BC_ISTC || op == BC_ISFC) { 2253 if (op == BC_ISTC || op == BC_ISFC) {
2245 dasm_put(Dst, 11987); 2254 dasm_put(Dst, 12007);
2246 } 2255 }
2247 dasm_put(Dst, 11304, -BCBIAS_J*4); 2256 dasm_put(Dst, 11324, -BCBIAS_J*4);
2248 break; 2257 break;
2249 2258
2250 /* -- Unary ops --------------------------------------------------------- */ 2259 /* -- Unary ops --------------------------------------------------------- */
2251 2260
2252 case BC_MOV: 2261 case BC_MOV:
2253 dasm_put(Dst, 11998); 2262 dasm_put(Dst, 12018);
2254 break; 2263 break;
2255 case BC_NOT: 2264 case BC_NOT:
2256 dasm_put(Dst, 12031, LJ_TISTRUECOND, LJ_TTRUE); 2265 dasm_put(Dst, 12051, LJ_TISTRUECOND, LJ_TTRUE);
2257 break; 2266 break;
2258 case BC_UNM: 2267 case BC_UNM:
2259 if (LJ_DUALNUM) { 2268 if (LJ_DUALNUM) {
2260 dasm_put(Dst, 12066, LJ_TISNUM, LJ_TISNUM); 2269 dasm_put(Dst, 12086, LJ_TISNUM, LJ_TISNUM);
2261 } else { 2270 } else {
2262 dasm_put(Dst, 12142, LJ_TISNUM); 2271 dasm_put(Dst, 12162, LJ_TISNUM);
2263 } 2272 }
2264 if (sse) { 2273 if (sse) {
2265 dasm_put(Dst, 12153); 2274 dasm_put(Dst, 12173);
2266 } else { 2275 } else {
2267 dasm_put(Dst, 12183); 2276 dasm_put(Dst, 12203);
2268 } 2277 }
2269 if (LJ_DUALNUM) { 2278 if (LJ_DUALNUM) {
2270 dasm_put(Dst, 11573); 2279 dasm_put(Dst, 11593);
2271 } else { 2280 } else {
2272 dasm_put(Dst, 11316); 2281 dasm_put(Dst, 11336);
2273 } 2282 }
2274 break; 2283 break;
2275 case BC_LEN: 2284 case BC_LEN:
2276 dasm_put(Dst, 12192, LJ_TSTR); 2285 dasm_put(Dst, 12212, LJ_TSTR);
2277 if (LJ_DUALNUM) { 2286 if (LJ_DUALNUM) {
2278 dasm_put(Dst, 12206, Dt5(->len), LJ_TISNUM); 2287 dasm_put(Dst, 12226, Dt5(->len), LJ_TISNUM);
2279 } else if (sse) { 2288 } else if (sse) {
2280 dasm_put(Dst, 12220, Dt5(->len)); 2289 dasm_put(Dst, 12240, Dt5(->len));
2281 } else { 2290 } else {
2282 dasm_put(Dst, 12238, Dt5(->len)); 2291 dasm_put(Dst, 12258, Dt5(->len));
2283 } 2292 }
2284 dasm_put(Dst, 12247, LJ_TTAB); 2293 dasm_put(Dst, 12267, LJ_TTAB);
2294#ifdef LUAJIT_ENABLE_LUA52COMPAT
2295 dasm_put(Dst, 12301, Dt6(->metatable));
2296#endif
2297 dasm_put(Dst, 12315);
2285 if (LJ_DUALNUM) { 2298 if (LJ_DUALNUM) {
2286 } else if (sse) { 2299 } else if (sse) {
2287 dasm_put(Dst, 12287); 2300 dasm_put(Dst, 12324);
2288 } else { 2301 } else {
2289 dasm_put(Dst, 12293); 2302 dasm_put(Dst, 12330);
2290 } 2303 }
2291 dasm_put(Dst, 12300); 2304 dasm_put(Dst, 12337);
2305#ifdef LUAJIT_ENABLE_LUA52COMPAT
2306 dasm_put(Dst, 12350, Dt6(->nomm), 1<<MM_len);
2307#endif
2292 break; 2308 break;
2293 2309
2294 /* -- Binary ops -------------------------------------------------------- */ 2310 /* -- Binary ops -------------------------------------------------------- */
@@ -2296,620 +2312,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2296 2312
2297 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2313 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2298 if (LJ_DUALNUM) { 2314 if (LJ_DUALNUM) {
2299 dasm_put(Dst, 12313); 2315 dasm_put(Dst, 12366);
2300 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2316 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2301 switch (vk) { 2317 switch (vk) {
2302 case 0: 2318 case 0:
2303 dasm_put(Dst, 12321, LJ_TISNUM, LJ_TISNUM); 2319 dasm_put(Dst, 12374, LJ_TISNUM, LJ_TISNUM);
2304 break; 2320 break;
2305 case 1: 2321 case 1:
2306 dasm_put(Dst, 12354, LJ_TISNUM, LJ_TISNUM); 2322 dasm_put(Dst, 12407, LJ_TISNUM, LJ_TISNUM);
2307 break; 2323 break;
2308 default: 2324 default:
2309 dasm_put(Dst, 12387, LJ_TISNUM, LJ_TISNUM); 2325 dasm_put(Dst, 12440, LJ_TISNUM, LJ_TISNUM);
2310 break; 2326 break;
2311 } 2327 }
2312 dasm_put(Dst, 12420, LJ_TISNUM); 2328 dasm_put(Dst, 12473, LJ_TISNUM);
2313 if (vk == 1) { 2329 if (vk == 1) {
2314 dasm_put(Dst, 12216); 2330 dasm_put(Dst, 12236);
2315 } else { 2331 } else {
2316 dasm_put(Dst, 11994); 2332 dasm_put(Dst, 12014);
2317 } 2333 }
2318 dasm_put(Dst, 11316); 2334 dasm_put(Dst, 11336);
2319 } else { 2335 } else {
2320 dasm_put(Dst, 12313); 2336 dasm_put(Dst, 12366);
2321 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2337 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2322 switch (vk) { 2338 switch (vk) {
2323 case 0: 2339 case 0:
2324 dasm_put(Dst, 12426, LJ_TISNUM); 2340 dasm_put(Dst, 12479, LJ_TISNUM);
2325 if (LJ_DUALNUM) { 2341 if (LJ_DUALNUM) {
2326 dasm_put(Dst, 12438, LJ_TISNUM); 2342 dasm_put(Dst, 12491, LJ_TISNUM);
2327 } 2343 }
2328 if (sse) { 2344 if (sse) {
2329 dasm_put(Dst, 12449); 2345 dasm_put(Dst, 12502);
2330 } else { 2346 } else {
2331 dasm_put(Dst, 12463); 2347 dasm_put(Dst, 12516);
2332 } 2348 }
2333 break; 2349 break;
2334 case 1: 2350 case 1:
2335 dasm_put(Dst, 12471, LJ_TISNUM); 2351 dasm_put(Dst, 12524, LJ_TISNUM);
2336 if (LJ_DUALNUM) { 2352 if (LJ_DUALNUM) {
2337 dasm_put(Dst, 12483, LJ_TISNUM); 2353 dasm_put(Dst, 12536, LJ_TISNUM);
2338 } 2354 }
2339 if (sse) { 2355 if (sse) {
2340 dasm_put(Dst, 12494); 2356 dasm_put(Dst, 12547);
2341 } else { 2357 } else {
2342 dasm_put(Dst, 12508); 2358 dasm_put(Dst, 12561);
2343 } 2359 }
2344 break; 2360 break;
2345 default: 2361 default:
2346 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2362 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2347 if (sse) { 2363 if (sse) {
2348 dasm_put(Dst, 12538); 2364 dasm_put(Dst, 12591);
2349 } else { 2365 } else {
2350 dasm_put(Dst, 12552); 2366 dasm_put(Dst, 12605);
2351 } 2367 }
2352 break; 2368 break;
2353 } 2369 }
2354 if (sse) { 2370 if (sse) {
2355 dasm_put(Dst, 12176); 2371 dasm_put(Dst, 12196);
2356 } else { 2372 } else {
2357 dasm_put(Dst, 12188); 2373 dasm_put(Dst, 12208);
2358 } 2374 }
2359 dasm_put(Dst, 11316); 2375 dasm_put(Dst, 11336);
2360 } 2376 }
2361 break; 2377 break;
2362 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2378 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2363 if (LJ_DUALNUM) { 2379 if (LJ_DUALNUM) {
2364 dasm_put(Dst, 12313); 2380 dasm_put(Dst, 12366);
2365 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2381 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2366 switch (vk) { 2382 switch (vk) {
2367 case 0: 2383 case 0:
2368 dasm_put(Dst, 12560, LJ_TISNUM, LJ_TISNUM); 2384 dasm_put(Dst, 12613, LJ_TISNUM, LJ_TISNUM);
2369 break; 2385 break;
2370 case 1: 2386 case 1:
2371 dasm_put(Dst, 12593, LJ_TISNUM, LJ_TISNUM); 2387 dasm_put(Dst, 12646, LJ_TISNUM, LJ_TISNUM);
2372 break; 2388 break;
2373 default: 2389 default:
2374 dasm_put(Dst, 12626, LJ_TISNUM, LJ_TISNUM); 2390 dasm_put(Dst, 12679, LJ_TISNUM, LJ_TISNUM);
2375 break; 2391 break;
2376 } 2392 }
2377 dasm_put(Dst, 12420, LJ_TISNUM); 2393 dasm_put(Dst, 12473, LJ_TISNUM);
2378 if (vk == 1) { 2394 if (vk == 1) {
2379 dasm_put(Dst, 12216); 2395 dasm_put(Dst, 12236);
2380 } else { 2396 } else {
2381 dasm_put(Dst, 11994); 2397 dasm_put(Dst, 12014);
2382 } 2398 }
2383 dasm_put(Dst, 11316); 2399 dasm_put(Dst, 11336);
2384 } else { 2400 } else {
2385 dasm_put(Dst, 12313); 2401 dasm_put(Dst, 12366);
2386 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2402 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2387 switch (vk) { 2403 switch (vk) {
2388 case 0: 2404 case 0:
2389 dasm_put(Dst, 12426, LJ_TISNUM); 2405 dasm_put(Dst, 12479, LJ_TISNUM);
2390 if (LJ_DUALNUM) { 2406 if (LJ_DUALNUM) {
2391 dasm_put(Dst, 12438, LJ_TISNUM); 2407 dasm_put(Dst, 12491, LJ_TISNUM);
2392 } 2408 }
2393 if (sse) { 2409 if (sse) {
2394 dasm_put(Dst, 12659); 2410 dasm_put(Dst, 12712);
2395 } else { 2411 } else {
2396 dasm_put(Dst, 12673); 2412 dasm_put(Dst, 12726);
2397 } 2413 }
2398 break; 2414 break;
2399 case 1: 2415 case 1:
2400 dasm_put(Dst, 12471, LJ_TISNUM); 2416 dasm_put(Dst, 12524, LJ_TISNUM);
2401 if (LJ_DUALNUM) { 2417 if (LJ_DUALNUM) {
2402 dasm_put(Dst, 12483, LJ_TISNUM); 2418 dasm_put(Dst, 12536, LJ_TISNUM);
2403 } 2419 }
2404 if (sse) { 2420 if (sse) {
2405 dasm_put(Dst, 12681); 2421 dasm_put(Dst, 12734);
2406 } else { 2422 } else {
2407 dasm_put(Dst, 12695); 2423 dasm_put(Dst, 12748);
2408 } 2424 }
2409 break; 2425 break;
2410 default: 2426 default:
2411 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2427 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2412 if (sse) { 2428 if (sse) {
2413 dasm_put(Dst, 12703); 2429 dasm_put(Dst, 12756);
2414 } else { 2430 } else {
2415 dasm_put(Dst, 12717); 2431 dasm_put(Dst, 12770);
2416 } 2432 }
2417 break; 2433 break;
2418 } 2434 }
2419 if (sse) { 2435 if (sse) {
2420 dasm_put(Dst, 12176); 2436 dasm_put(Dst, 12196);
2421 } else { 2437 } else {
2422 dasm_put(Dst, 12188); 2438 dasm_put(Dst, 12208);
2423 } 2439 }
2424 dasm_put(Dst, 11316); 2440 dasm_put(Dst, 11336);
2425 } 2441 }
2426 break; 2442 break;
2427 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2443 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2428 if (LJ_DUALNUM) { 2444 if (LJ_DUALNUM) {
2429 dasm_put(Dst, 12313); 2445 dasm_put(Dst, 12366);
2430 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2446 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2431 switch (vk) { 2447 switch (vk) {
2432 case 0: 2448 case 0:
2433 dasm_put(Dst, 12725, LJ_TISNUM, LJ_TISNUM); 2449 dasm_put(Dst, 12778, LJ_TISNUM, LJ_TISNUM);
2434 break; 2450 break;
2435 case 1: 2451 case 1:
2436 dasm_put(Dst, 12759, LJ_TISNUM, LJ_TISNUM); 2452 dasm_put(Dst, 12812, LJ_TISNUM, LJ_TISNUM);
2437 break; 2453 break;
2438 default: 2454 default:
2439 dasm_put(Dst, 12793, LJ_TISNUM, LJ_TISNUM); 2455 dasm_put(Dst, 12846, LJ_TISNUM, LJ_TISNUM);
2440 break; 2456 break;
2441 } 2457 }
2442 dasm_put(Dst, 12420, LJ_TISNUM); 2458 dasm_put(Dst, 12473, LJ_TISNUM);
2443 if (vk == 1) { 2459 if (vk == 1) {
2444 dasm_put(Dst, 12216); 2460 dasm_put(Dst, 12236);
2445 } else { 2461 } else {
2446 dasm_put(Dst, 11994); 2462 dasm_put(Dst, 12014);
2447 } 2463 }
2448 dasm_put(Dst, 11316); 2464 dasm_put(Dst, 11336);
2449 } else { 2465 } else {
2450 dasm_put(Dst, 12313); 2466 dasm_put(Dst, 12366);
2451 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2467 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2452 switch (vk) { 2468 switch (vk) {
2453 case 0: 2469 case 0:
2454 dasm_put(Dst, 12426, LJ_TISNUM); 2470 dasm_put(Dst, 12479, LJ_TISNUM);
2455 if (LJ_DUALNUM) { 2471 if (LJ_DUALNUM) {
2456 dasm_put(Dst, 12438, LJ_TISNUM); 2472 dasm_put(Dst, 12491, LJ_TISNUM);
2457 } 2473 }
2458 if (sse) { 2474 if (sse) {
2459 dasm_put(Dst, 12827); 2475 dasm_put(Dst, 12880);
2460 } else { 2476 } else {
2461 dasm_put(Dst, 12841); 2477 dasm_put(Dst, 12894);
2462 } 2478 }
2463 break; 2479 break;
2464 case 1: 2480 case 1:
2465 dasm_put(Dst, 12471, LJ_TISNUM); 2481 dasm_put(Dst, 12524, LJ_TISNUM);
2466 if (LJ_DUALNUM) { 2482 if (LJ_DUALNUM) {
2467 dasm_put(Dst, 12483, LJ_TISNUM); 2483 dasm_put(Dst, 12536, LJ_TISNUM);
2468 } 2484 }
2469 if (sse) { 2485 if (sse) {
2470 dasm_put(Dst, 12849); 2486 dasm_put(Dst, 12902);
2471 } else { 2487 } else {
2472 dasm_put(Dst, 12863); 2488 dasm_put(Dst, 12916);
2473 } 2489 }
2474 break; 2490 break;
2475 default: 2491 default:
2476 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2492 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2477 if (sse) { 2493 if (sse) {
2478 dasm_put(Dst, 12871); 2494 dasm_put(Dst, 12924);
2479 } else { 2495 } else {
2480 dasm_put(Dst, 12885); 2496 dasm_put(Dst, 12938);
2481 } 2497 }
2482 break; 2498 break;
2483 } 2499 }
2484 if (sse) { 2500 if (sse) {
2485 dasm_put(Dst, 12176); 2501 dasm_put(Dst, 12196);
2486 } else { 2502 } else {
2487 dasm_put(Dst, 12188); 2503 dasm_put(Dst, 12208);
2488 } 2504 }
2489 dasm_put(Dst, 11316); 2505 dasm_put(Dst, 11336);
2490 } 2506 }
2491 break; 2507 break;
2492 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2508 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2493 dasm_put(Dst, 12313); 2509 dasm_put(Dst, 12366);
2494 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2510 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2495 switch (vk) { 2511 switch (vk) {
2496 case 0: 2512 case 0:
2497 dasm_put(Dst, 12426, LJ_TISNUM); 2513 dasm_put(Dst, 12479, LJ_TISNUM);
2498 if (LJ_DUALNUM) { 2514 if (LJ_DUALNUM) {
2499 dasm_put(Dst, 12438, LJ_TISNUM); 2515 dasm_put(Dst, 12491, LJ_TISNUM);
2500 } 2516 }
2501 if (sse) { 2517 if (sse) {
2502 dasm_put(Dst, 12893); 2518 dasm_put(Dst, 12946);
2503 } else { 2519 } else {
2504 dasm_put(Dst, 12907); 2520 dasm_put(Dst, 12960);
2505 } 2521 }
2506 break; 2522 break;
2507 case 1: 2523 case 1:
2508 dasm_put(Dst, 12471, LJ_TISNUM); 2524 dasm_put(Dst, 12524, LJ_TISNUM);
2509 if (LJ_DUALNUM) { 2525 if (LJ_DUALNUM) {
2510 dasm_put(Dst, 12483, LJ_TISNUM); 2526 dasm_put(Dst, 12536, LJ_TISNUM);
2511 } 2527 }
2512 if (sse) { 2528 if (sse) {
2513 dasm_put(Dst, 12915); 2529 dasm_put(Dst, 12968);
2514 } else { 2530 } else {
2515 dasm_put(Dst, 12929); 2531 dasm_put(Dst, 12982);
2516 } 2532 }
2517 break; 2533 break;
2518 default: 2534 default:
2519 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2535 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2520 if (sse) { 2536 if (sse) {
2521 dasm_put(Dst, 12937); 2537 dasm_put(Dst, 12990);
2522 } else { 2538 } else {
2523 dasm_put(Dst, 12951); 2539 dasm_put(Dst, 13004);
2524 } 2540 }
2525 break; 2541 break;
2526 } 2542 }
2527 if (sse) { 2543 if (sse) {
2528 dasm_put(Dst, 12176); 2544 dasm_put(Dst, 12196);
2529 } else { 2545 } else {
2530 dasm_put(Dst, 12188); 2546 dasm_put(Dst, 12208);
2531 } 2547 }
2532 dasm_put(Dst, 11316); 2548 dasm_put(Dst, 11336);
2533 break; 2549 break;
2534 case BC_MODVN: 2550 case BC_MODVN:
2535 dasm_put(Dst, 12313); 2551 dasm_put(Dst, 12366);
2536 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2552 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2537 switch (vk) { 2553 switch (vk) {
2538 case 0: 2554 case 0:
2539 dasm_put(Dst, 12426, LJ_TISNUM); 2555 dasm_put(Dst, 12479, LJ_TISNUM);
2540 if (LJ_DUALNUM) { 2556 if (LJ_DUALNUM) {
2541 dasm_put(Dst, 12438, LJ_TISNUM); 2557 dasm_put(Dst, 12491, LJ_TISNUM);
2542 } 2558 }
2543 if (sse) { 2559 if (sse) {
2544 dasm_put(Dst, 12959); 2560 dasm_put(Dst, 13012);
2545 } else { 2561 } else {
2546 dasm_put(Dst, 12973); 2562 dasm_put(Dst, 13026);
2547 } 2563 }
2548 break; 2564 break;
2549 case 1: 2565 case 1:
2550 dasm_put(Dst, 12471, LJ_TISNUM); 2566 dasm_put(Dst, 12524, LJ_TISNUM);
2551 if (LJ_DUALNUM) { 2567 if (LJ_DUALNUM) {
2552 dasm_put(Dst, 12483, LJ_TISNUM); 2568 dasm_put(Dst, 12536, LJ_TISNUM);
2553 } 2569 }
2554 if (sse) { 2570 if (sse) {
2555 dasm_put(Dst, 12981); 2571 dasm_put(Dst, 13034);
2556 } else { 2572 } else {
2557 dasm_put(Dst, 12995); 2573 dasm_put(Dst, 13048);
2558 } 2574 }
2559 break; 2575 break;
2560 default: 2576 default:
2561 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2577 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2562 if (sse) { 2578 if (sse) {
2563 dasm_put(Dst, 13003); 2579 dasm_put(Dst, 13056);
2564 } else { 2580 } else {
2565 dasm_put(Dst, 13017); 2581 dasm_put(Dst, 13070);
2566 } 2582 }
2567 break; 2583 break;
2568 } 2584 }
2569 dasm_put(Dst, 13025); 2585 dasm_put(Dst, 13078);
2570 if (sse) { 2586 if (sse) {
2571 dasm_put(Dst, 12176); 2587 dasm_put(Dst, 12196);
2572 } else { 2588 } else {
2573 dasm_put(Dst, 12188); 2589 dasm_put(Dst, 12208);
2574 } 2590 }
2575 dasm_put(Dst, 11316); 2591 dasm_put(Dst, 11336);
2576 break; 2592 break;
2577 case BC_MODNV: case BC_MODVV: 2593 case BC_MODNV: case BC_MODVV:
2578 dasm_put(Dst, 12313); 2594 dasm_put(Dst, 12366);
2579 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2595 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2580 switch (vk) { 2596 switch (vk) {
2581 case 0: 2597 case 0:
2582 dasm_put(Dst, 12426, LJ_TISNUM); 2598 dasm_put(Dst, 12479, LJ_TISNUM);
2583 if (LJ_DUALNUM) { 2599 if (LJ_DUALNUM) {
2584 dasm_put(Dst, 12438, LJ_TISNUM); 2600 dasm_put(Dst, 12491, LJ_TISNUM);
2585 } 2601 }
2586 if (sse) { 2602 if (sse) {
2587 dasm_put(Dst, 12959); 2603 dasm_put(Dst, 13012);
2588 } else { 2604 } else {
2589 dasm_put(Dst, 12973); 2605 dasm_put(Dst, 13026);
2590 } 2606 }
2591 break; 2607 break;
2592 case 1: 2608 case 1:
2593 dasm_put(Dst, 12471, LJ_TISNUM); 2609 dasm_put(Dst, 12524, LJ_TISNUM);
2594 if (LJ_DUALNUM) { 2610 if (LJ_DUALNUM) {
2595 dasm_put(Dst, 12483, LJ_TISNUM); 2611 dasm_put(Dst, 12536, LJ_TISNUM);
2596 } 2612 }
2597 if (sse) { 2613 if (sse) {
2598 dasm_put(Dst, 12981); 2614 dasm_put(Dst, 13034);
2599 } else { 2615 } else {
2600 dasm_put(Dst, 12995); 2616 dasm_put(Dst, 13048);
2601 } 2617 }
2602 break; 2618 break;
2603 default: 2619 default:
2604 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2620 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2605 if (sse) { 2621 if (sse) {
2606 dasm_put(Dst, 13003); 2622 dasm_put(Dst, 13056);
2607 } else { 2623 } else {
2608 dasm_put(Dst, 13017); 2624 dasm_put(Dst, 13070);
2609 } 2625 }
2610 break; 2626 break;
2611 } 2627 }
2612 dasm_put(Dst, 13031); 2628 dasm_put(Dst, 13084);
2613 break; 2629 break;
2614 case BC_POW: 2630 case BC_POW:
2615 dasm_put(Dst, 12313); 2631 dasm_put(Dst, 12366);
2616 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2632 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2617 switch (vk) { 2633 switch (vk) {
2618 case 0: 2634 case 0:
2619 dasm_put(Dst, 12426, LJ_TISNUM); 2635 dasm_put(Dst, 12479, LJ_TISNUM);
2620 if (LJ_DUALNUM) { 2636 if (LJ_DUALNUM) {
2621 dasm_put(Dst, 12438, LJ_TISNUM); 2637 dasm_put(Dst, 12491, LJ_TISNUM);
2622 } 2638 }
2623 if (sse) { 2639 if (sse) {
2624 dasm_put(Dst, 12959); 2640 dasm_put(Dst, 13012);
2625 } else { 2641 } else {
2626 dasm_put(Dst, 12973); 2642 dasm_put(Dst, 13026);
2627 } 2643 }
2628 break; 2644 break;
2629 case 1: 2645 case 1:
2630 dasm_put(Dst, 12471, LJ_TISNUM); 2646 dasm_put(Dst, 12524, LJ_TISNUM);
2631 if (LJ_DUALNUM) { 2647 if (LJ_DUALNUM) {
2632 dasm_put(Dst, 12483, LJ_TISNUM); 2648 dasm_put(Dst, 12536, LJ_TISNUM);
2633 } 2649 }
2634 if (sse) { 2650 if (sse) {
2635 dasm_put(Dst, 12981); 2651 dasm_put(Dst, 13034);
2636 } else { 2652 } else {
2637 dasm_put(Dst, 12995); 2653 dasm_put(Dst, 13048);
2638 } 2654 }
2639 break; 2655 break;
2640 default: 2656 default:
2641 dasm_put(Dst, 12516, LJ_TISNUM, LJ_TISNUM); 2657 dasm_put(Dst, 12569, LJ_TISNUM, LJ_TISNUM);
2642 if (sse) { 2658 if (sse) {
2643 dasm_put(Dst, 13003); 2659 dasm_put(Dst, 13056);
2644 } else { 2660 } else {
2645 dasm_put(Dst, 13017); 2661 dasm_put(Dst, 13070);
2646 } 2662 }
2647 break; 2663 break;
2648 } 2664 }
2649 dasm_put(Dst, 13036); 2665 dasm_put(Dst, 13089);
2650 if (sse) { 2666 if (sse) {
2651 dasm_put(Dst, 12176); 2667 dasm_put(Dst, 12196);
2652 } else { 2668 } else {
2653 dasm_put(Dst, 12188); 2669 dasm_put(Dst, 12208);
2654 } 2670 }
2655 dasm_put(Dst, 11316); 2671 dasm_put(Dst, 11336);
2656 break; 2672 break;
2657 2673
2658 case BC_CAT: 2674 case BC_CAT:
2659 dasm_put(Dst, 13040, Dt1(->base), Dt1(->base)); 2675 dasm_put(Dst, 13093, Dt1(->base), Dt1(->base));
2660 break; 2676 break;
2661 2677
2662 /* -- Constant ops ------------------------------------------------------ */ 2678 /* -- Constant ops ------------------------------------------------------ */
2663 2679
2664 case BC_KSTR: 2680 case BC_KSTR:
2665 dasm_put(Dst, 13134, LJ_TSTR); 2681 dasm_put(Dst, 13187, LJ_TSTR);
2666 break; 2682 break;
2667 case BC_KCDATA: 2683 case BC_KCDATA:
2668#if LJ_HASFFI 2684#if LJ_HASFFI
2669 dasm_put(Dst, 13134, LJ_TCDATA); 2685 dasm_put(Dst, 13187, LJ_TCDATA);
2670#endif 2686#endif
2671 break; 2687 break;
2672 case BC_KSHORT: 2688 case BC_KSHORT:
2673 if (LJ_DUALNUM) { 2689 if (LJ_DUALNUM) {
2674 dasm_put(Dst, 13167, LJ_TISNUM); 2690 dasm_put(Dst, 13220, LJ_TISNUM);
2675 } else if (sse) { 2691 } else if (sse) {
2676 dasm_put(Dst, 13179); 2692 dasm_put(Dst, 13232);
2677 } else { 2693 } else {
2678 dasm_put(Dst, 13194); 2694 dasm_put(Dst, 13247);
2679 } 2695 }
2680 dasm_put(Dst, 11316); 2696 dasm_put(Dst, 11336);
2681 break; 2697 break;
2682 case BC_KNUM: 2698 case BC_KNUM:
2683 if (sse) { 2699 if (sse) {
2684 dasm_put(Dst, 13202); 2700 dasm_put(Dst, 13255);
2685 } else { 2701 } else {
2686 dasm_put(Dst, 13215); 2702 dasm_put(Dst, 13268);
2687 } 2703 }
2688 dasm_put(Dst, 11316); 2704 dasm_put(Dst, 11336);
2689 break; 2705 break;
2690 case BC_KPRI: 2706 case BC_KPRI:
2691 dasm_put(Dst, 13222); 2707 dasm_put(Dst, 13275);
2692 break; 2708 break;
2693 case BC_KNIL: 2709 case BC_KNIL:
2694 dasm_put(Dst, 13248, LJ_TNIL); 2710 dasm_put(Dst, 13301, LJ_TNIL);
2695 break; 2711 break;
2696 2712
2697 /* -- Upvalue and function ops ------------------------------------------ */ 2713 /* -- Upvalue and function ops ------------------------------------------ */
2698 2714
2699 case BC_UGET: 2715 case BC_UGET:
2700 dasm_put(Dst, 13294, offsetof(GCfuncL, uvptr), DtA(->v)); 2716 dasm_put(Dst, 13347, offsetof(GCfuncL, uvptr), DtA(->v));
2701 break; 2717 break;
2702 case BC_USETV: 2718 case BC_USETV:
2703#define TV2MARKOFS \ 2719#define TV2MARKOFS \
2704 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2720 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2705 dasm_put(Dst, 13338, 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); 2721 dasm_put(Dst, 13391, 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);
2706 dasm_put(Dst, 13428); 2722 dasm_put(Dst, 13481);
2707 break; 2723 break;
2708#undef TV2MARKOFS 2724#undef TV2MARKOFS
2709 case BC_USETS: 2725 case BC_USETS:
2710 dasm_put(Dst, 13440, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2726 dasm_put(Dst, 13493, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2711 break; 2727 break;
2712 case BC_USETN: 2728 case BC_USETN:
2713 dasm_put(Dst, 13531); 2729 dasm_put(Dst, 13584);
2714 if (sse) { 2730 if (sse) {
2715 dasm_put(Dst, 13536); 2731 dasm_put(Dst, 13589);
2716 } else { 2732 } else {
2717 dasm_put(Dst, 11826); 2733 dasm_put(Dst, 11846);
2718 } 2734 }
2719 dasm_put(Dst, 13543, offsetof(GCfuncL, uvptr), DtA(->v)); 2735 dasm_put(Dst, 13596, offsetof(GCfuncL, uvptr), DtA(->v));
2720 if (sse) { 2736 if (sse) {
2721 dasm_put(Dst, 13552); 2737 dasm_put(Dst, 13605);
2722 } else { 2738 } else {
2723 dasm_put(Dst, 13558); 2739 dasm_put(Dst, 13611);
2724 } 2740 }
2725 dasm_put(Dst, 11316); 2741 dasm_put(Dst, 11336);
2726 break; 2742 break;
2727 case BC_USETP: 2743 case BC_USETP:
2728 dasm_put(Dst, 13561, offsetof(GCfuncL, uvptr), DtA(->v)); 2744 dasm_put(Dst, 13614, offsetof(GCfuncL, uvptr), DtA(->v));
2729 break; 2745 break;
2730 case BC_UCLO: 2746 case BC_UCLO:
2731 dasm_put(Dst, 13598, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2747 dasm_put(Dst, 13651, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2732 break; 2748 break;
2733 2749
2734 case BC_FNEW: 2750 case BC_FNEW:
2735 dasm_put(Dst, 13652, Dt1(->base), Dt1(->base), LJ_TFUNC); 2751 dasm_put(Dst, 13705, Dt1(->base), Dt1(->base), LJ_TFUNC);
2736 break; 2752 break;
2737 2753
2738 /* -- Table ops --------------------------------------------------------- */ 2754 /* -- Table ops --------------------------------------------------------- */
2739 2755
2740 case BC_TNEW: 2756 case BC_TNEW:
2741 dasm_put(Dst, 13723, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2757 dasm_put(Dst, 13776, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2742 break; 2758 break;
2743 case BC_TDUP: 2759 case BC_TDUP:
2744 dasm_put(Dst, 13849, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2760 dasm_put(Dst, 13902, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2745 break; 2761 break;
2746 2762
2747 case BC_GGET: 2763 case BC_GGET:
2748 dasm_put(Dst, 13941, Dt7(->env)); 2764 dasm_put(Dst, 13994, Dt7(->env));
2749 break; 2765 break;
2750 case BC_GSET: 2766 case BC_GSET:
2751 dasm_put(Dst, 13959, Dt7(->env)); 2767 dasm_put(Dst, 14012, Dt7(->env));
2752 break; 2768 break;
2753 2769
2754 case BC_TGETV: 2770 case BC_TGETV:
2755 dasm_put(Dst, 13977, LJ_TTAB); 2771 dasm_put(Dst, 14030, LJ_TTAB);
2756 if (LJ_DUALNUM) { 2772 if (LJ_DUALNUM) {
2757 dasm_put(Dst, 14000, LJ_TISNUM); 2773 dasm_put(Dst, 14053, LJ_TISNUM);
2758 } else { 2774 } else {
2759 dasm_put(Dst, 14014, LJ_TISNUM); 2775 dasm_put(Dst, 14067, LJ_TISNUM);
2760 if (sse) { 2776 if (sse) {
2761 dasm_put(Dst, 14025); 2777 dasm_put(Dst, 14078);
2762 } else { 2778 } else {
2763 dasm_put(Dst, 14046); 2779 dasm_put(Dst, 14099);
2764 if (cmov) { 2780 if (cmov) {
2765 dasm_put(Dst, 3924); 2781 dasm_put(Dst, 3944);
2766 } else { 2782 } else {
2767 dasm_put(Dst, 3930); 2783 dasm_put(Dst, 3950);
2768 } 2784 }
2769 dasm_put(Dst, 2660); 2785 dasm_put(Dst, 2680);
2770 } 2786 }
2771 dasm_put(Dst, 14056); 2787 dasm_put(Dst, 14109);
2772 } 2788 }
2773 dasm_put(Dst, 14061, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2789 dasm_put(Dst, 14114, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2774 dasm_put(Dst, 14156, LJ_TSTR); 2790 dasm_put(Dst, 14209, LJ_TSTR);
2775 break; 2791 break;
2776 case BC_TGETS: 2792 case BC_TGETS:
2777 dasm_put(Dst, 14174, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2793 dasm_put(Dst, 14227, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2778 dasm_put(Dst, 14262, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2794 dasm_put(Dst, 14315, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2779 break; 2795 break;
2780 case BC_TGETB: 2796 case BC_TGETB:
2781 dasm_put(Dst, 14332, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2797 dasm_put(Dst, 14385, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2782 dasm_put(Dst, 14431, LJ_TNIL); 2798 dasm_put(Dst, 14484, LJ_TNIL);
2783 break; 2799 break;
2784 2800
2785 case BC_TSETV: 2801 case BC_TSETV:
2786 dasm_put(Dst, 14448, LJ_TTAB); 2802 dasm_put(Dst, 14501, LJ_TTAB);
2787 if (LJ_DUALNUM) { 2803 if (LJ_DUALNUM) {
2788 dasm_put(Dst, 14000, LJ_TISNUM); 2804 dasm_put(Dst, 14053, LJ_TISNUM);
2789 } else { 2805 } else {
2790 dasm_put(Dst, 14014, LJ_TISNUM); 2806 dasm_put(Dst, 14067, LJ_TISNUM);
2791 if (sse) { 2807 if (sse) {
2792 dasm_put(Dst, 14025); 2808 dasm_put(Dst, 14078);
2793 } else { 2809 } else {
2794 dasm_put(Dst, 14046); 2810 dasm_put(Dst, 14099);
2795 if (cmov) { 2811 if (cmov) {
2796 dasm_put(Dst, 3924); 2812 dasm_put(Dst, 3944);
2797 } else { 2813 } else {
2798 dasm_put(Dst, 3930); 2814 dasm_put(Dst, 3950);
2799 } 2815 }
2800 dasm_put(Dst, 2660); 2816 dasm_put(Dst, 2680);
2801 } 2817 }
2802 dasm_put(Dst, 14471); 2818 dasm_put(Dst, 14524);
2803 } 2819 }
2804 dasm_put(Dst, 14476, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2820 dasm_put(Dst, 14529, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2805 dasm_put(Dst, 14560, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2821 dasm_put(Dst, 14613, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2806 break; 2822 break;
2807 case BC_TSETS: 2823 case BC_TSETS:
2808 dasm_put(Dst, 14617, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2824 dasm_put(Dst, 14670, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2809 dasm_put(Dst, 14692, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2825 dasm_put(Dst, 14745, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2810 dasm_put(Dst, 14784, 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)); 2826 dasm_put(Dst, 14837, 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));
2811 break; 2827 break;
2812 case BC_TSETB: 2828 case BC_TSETB:
2813 dasm_put(Dst, 14880, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2829 dasm_put(Dst, 14933, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2814 dasm_put(Dst, 14978, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2830 dasm_put(Dst, 15031, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2815 break; 2831 break;
2816 2832
2817 case BC_TSETM: 2833 case BC_TSETM:
2818 dasm_put(Dst, 15024, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2834 dasm_put(Dst, 15077, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2819 dasm_put(Dst, 15173, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2835 dasm_put(Dst, 15226, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2820 break; 2836 break;
2821 2837
2822 /* -- Calls and vararg handling ----------------------------------------- */ 2838 /* -- Calls and vararg handling ----------------------------------------- */
2823 2839
2824 case BC_CALL: case BC_CALLM: 2840 case BC_CALL: case BC_CALLM:
2825 dasm_put(Dst, 12317); 2841 dasm_put(Dst, 12370);
2826 if (op == BC_CALLM) { 2842 if (op == BC_CALLM) {
2827 dasm_put(Dst, 15191); 2843 dasm_put(Dst, 15244);
2828 } 2844 }
2829 dasm_put(Dst, 15196, LJ_TFUNC, Dt7(->pc)); 2845 dasm_put(Dst, 15249, LJ_TFUNC, Dt7(->pc));
2830 break; 2846 break;
2831 2847
2832 case BC_CALLMT: 2848 case BC_CALLMT:
2833 dasm_put(Dst, 15191); 2849 dasm_put(Dst, 15244);
2834 break; 2850 break;
2835 case BC_CALLT: 2851 case BC_CALLT:
2836 dasm_put(Dst, 15237, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2852 dasm_put(Dst, 15290, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2837 dasm_put(Dst, 15355, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2853 dasm_put(Dst, 15408, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2838 break; 2854 break;
2839 2855
2840 case BC_ITERC: 2856 case BC_ITERC:
2841 dasm_put(Dst, 15425, LJ_TFUNC, 2+1, Dt7(->pc)); 2857 dasm_put(Dst, 15478, LJ_TFUNC, 2+1, Dt7(->pc));
2842 break; 2858 break;
2843 2859
2844 case BC_ITERN: 2860 case BC_ITERN:
2845#if LJ_HASJIT 2861#if LJ_HASJIT
2846#endif 2862#endif
2847 dasm_put(Dst, 15505, Dt6(->asize), Dt6(->array), LJ_TNIL); 2863 dasm_put(Dst, 15558, Dt6(->asize), Dt6(->array), LJ_TNIL);
2848 if (LJ_DUALNUM) { 2864 if (LJ_DUALNUM) {
2849 dasm_put(Dst, 12211, LJ_TISNUM); 2865 dasm_put(Dst, 12231, LJ_TISNUM);
2850 } else if (sse) { 2866 } else if (sse) {
2851 dasm_put(Dst, 12287); 2867 dasm_put(Dst, 12324);
2852 } else { 2868 } else {
2853 dasm_put(Dst, 15551); 2869 dasm_put(Dst, 15604);
2854 } 2870 }
2855 dasm_put(Dst, 15557); 2871 dasm_put(Dst, 15610);
2856 if (LJ_DUALNUM) { 2872 if (LJ_DUALNUM) {
2857 } else if (sse) { 2873 } else if (sse) {
2858 dasm_put(Dst, 12176); 2874 dasm_put(Dst, 12196);
2859 } else { 2875 } else {
2860 dasm_put(Dst, 12188); 2876 dasm_put(Dst, 12208);
2861 } 2877 }
2862 dasm_put(Dst, 15576, -BCBIAS_J*4); 2878 dasm_put(Dst, 15629, -BCBIAS_J*4);
2863 if (!LJ_DUALNUM && !sse) { 2879 if (!LJ_DUALNUM && !sse) {
2864 dasm_put(Dst, 15627); 2880 dasm_put(Dst, 15680);
2865 } 2881 }
2866 dasm_put(Dst, 15633, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2882 dasm_put(Dst, 15686, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2867 dasm_put(Dst, 15708); 2883 dasm_put(Dst, 15761);
2868 break; 2884 break;
2869 2885
2870 case BC_ISNEXT: 2886 case BC_ISNEXT:
2871 dasm_put(Dst, 15716, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2887 dasm_put(Dst, 15769, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2872 break; 2888 break;
2873 2889
2874 case BC_VARG: 2890 case BC_VARG:
2875 dasm_put(Dst, 15815, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2891 dasm_put(Dst, 15868, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2876 dasm_put(Dst, 15979, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2892 dasm_put(Dst, 16032, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2877 break; 2893 break;
2878 2894
2879 /* -- Returns ----------------------------------------------------------- */ 2895 /* -- Returns ----------------------------------------------------------- */
2880 2896
2881 case BC_RETM: 2897 case BC_RETM:
2882 dasm_put(Dst, 15191); 2898 dasm_put(Dst, 15244);
2883 break; 2899 break;
2884 2900
2885 case BC_RET: case BC_RET0: case BC_RET1: 2901 case BC_RET: case BC_RET0: case BC_RET1:
2886 if (op != BC_RET0) { 2902 if (op != BC_RET0) {
2887 dasm_put(Dst, 16050); 2903 dasm_put(Dst, 16103);
2888 } 2904 }
2889 dasm_put(Dst, 16054, FRAME_TYPE); 2905 dasm_put(Dst, 16107, FRAME_TYPE);
2890 switch (op) { 2906 switch (op) {
2891 case BC_RET: 2907 case BC_RET:
2892 dasm_put(Dst, 16073); 2908 dasm_put(Dst, 16126);
2893 break; 2909 break;
2894 case BC_RET1: 2910 case BC_RET1:
2895 dasm_put(Dst, 16131); 2911 dasm_put(Dst, 16184);
2896 /* fallthrough */ 2912 /* fallthrough */
2897 case BC_RET0: 2913 case BC_RET0:
2898 dasm_put(Dst, 16147); 2914 dasm_put(Dst, 16200);
2899 default: 2915 default:
2900 break; 2916 break;
2901 } 2917 }
2902 dasm_put(Dst, 16158, Dt7(->pc), PC2PROTO(k)); 2918 dasm_put(Dst, 16211, Dt7(->pc), PC2PROTO(k));
2903 if (op == BC_RET) { 2919 if (op == BC_RET) {
2904 dasm_put(Dst, 16200, LJ_TNIL); 2920 dasm_put(Dst, 16253, LJ_TNIL);
2905 } else { 2921 } else {
2906 dasm_put(Dst, 16209, LJ_TNIL); 2922 dasm_put(Dst, 16262, LJ_TNIL);
2907 } 2923 }
2908 dasm_put(Dst, 16216, -FRAME_VARG, FRAME_TYPEP); 2924 dasm_put(Dst, 16269, -FRAME_VARG, FRAME_TYPEP);
2909 if (op != BC_RET0) { 2925 if (op != BC_RET0) {
2910 dasm_put(Dst, 16240); 2926 dasm_put(Dst, 16293);
2911 } 2927 }
2912 dasm_put(Dst, 4908); 2928 dasm_put(Dst, 4928);
2913 break; 2929 break;
2914 2930
2915 /* -- Loops and branches ------------------------------------------------ */ 2931 /* -- Loops and branches ------------------------------------------------ */
@@ -2917,7 +2933,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2917 2933
2918 case BC_FORL: 2934 case BC_FORL:
2919#if LJ_HASJIT 2935#if LJ_HASJIT
2920 dasm_put(Dst, 16244, HOTCOUNT_PCMASK, GG_DISP2HOT); 2936 dasm_put(Dst, 16297, HOTCOUNT_PCMASK, GG_DISP2HOT);
2921#endif 2937#endif
2922 break; 2938 break;
2923 2939
@@ -2929,111 +2945,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2929 case BC_FORI: 2945 case BC_FORI:
2930 case BC_IFORL: 2946 case BC_IFORL:
2931 vk = (op == BC_IFORL || op == BC_JFORL); 2947 vk = (op == BC_IFORL || op == BC_JFORL);
2932 dasm_put(Dst, 16265); 2948 dasm_put(Dst, 16318);
2933 if (LJ_DUALNUM) { 2949 if (LJ_DUALNUM) {
2934 dasm_put(Dst, 16269, LJ_TISNUM); 2950 dasm_put(Dst, 16322, LJ_TISNUM);
2935 if (!vk) { 2951 if (!vk) {
2936 dasm_put(Dst, 16279, LJ_TISNUM, LJ_TISNUM); 2952 dasm_put(Dst, 16332, LJ_TISNUM, LJ_TISNUM);
2937 } else { 2953 } else {
2938#ifdef LUA_USE_ASSERT 2954#ifdef LUA_USE_ASSERT
2939 dasm_put(Dst, 16308, LJ_TISNUM, LJ_TISNUM); 2955 dasm_put(Dst, 16361, LJ_TISNUM, LJ_TISNUM);
2940#endif 2956#endif
2941 dasm_put(Dst, 16327); 2957 dasm_put(Dst, 16380);
2942 } 2958 }
2943 dasm_put(Dst, 16346, LJ_TISNUM); 2959 dasm_put(Dst, 16399, LJ_TISNUM);
2944 if (op == BC_FORI) { 2960 if (op == BC_FORI) {
2945 dasm_put(Dst, 16357, -BCBIAS_J*4); 2961 dasm_put(Dst, 16410, -BCBIAS_J*4);
2946 } else if (op == BC_JFORI) { 2962 } else if (op == BC_JFORI) {
2947 dasm_put(Dst, 16371, -BCBIAS_J*4, BC_JLOOP); 2963 dasm_put(Dst, 16424, -BCBIAS_J*4, BC_JLOOP);
2948 } else if (op == BC_IFORL) { 2964 } else if (op == BC_IFORL) {
2949 dasm_put(Dst, 16389, -BCBIAS_J*4); 2965 dasm_put(Dst, 16442, -BCBIAS_J*4);
2950 } else { 2966 } else {
2951 dasm_put(Dst, 16381, BC_JLOOP); 2967 dasm_put(Dst, 16434, BC_JLOOP);
2952 } 2968 }
2953 dasm_put(Dst, 16403); 2969 dasm_put(Dst, 16456);
2954 if (vk) { 2970 if (vk) {
2955 dasm_put(Dst, 16426); 2971 dasm_put(Dst, 16479);
2956 } 2972 }
2957 dasm_put(Dst, 16346, LJ_TISNUM); 2973 dasm_put(Dst, 16399, LJ_TISNUM);
2958 if (op == BC_FORI) { 2974 if (op == BC_FORI) {
2959 dasm_put(Dst, 16435); 2975 dasm_put(Dst, 16488);
2960 } else if (op == BC_JFORI) { 2976 } else if (op == BC_JFORI) {
2961 dasm_put(Dst, 16440, -BCBIAS_J*4, BC_JLOOP); 2977 dasm_put(Dst, 16493, -BCBIAS_J*4, BC_JLOOP);
2962 } else if (op == BC_IFORL) { 2978 } else if (op == BC_IFORL) {
2963 dasm_put(Dst, 16454); 2979 dasm_put(Dst, 16507);
2964 } else { 2980 } else {
2965 dasm_put(Dst, 16450, BC_JLOOP); 2981 dasm_put(Dst, 16503, BC_JLOOP);
2966 } 2982 }
2967 dasm_put(Dst, 16459); 2983 dasm_put(Dst, 16512);
2968 } else if (!vk) { 2984 } else if (!vk) {
2969 dasm_put(Dst, 16466, LJ_TISNUM); 2985 dasm_put(Dst, 16519, LJ_TISNUM);
2970 } 2986 }
2971 if (!vk) { 2987 if (!vk) {
2972 dasm_put(Dst, 16472, LJ_TISNUM); 2988 dasm_put(Dst, 16525, LJ_TISNUM);
2973 } else { 2989 } else {
2974#ifdef LUA_USE_ASSERT 2990#ifdef LUA_USE_ASSERT
2975 dasm_put(Dst, 16486, LJ_TISNUM, LJ_TISNUM); 2991 dasm_put(Dst, 16539, LJ_TISNUM, LJ_TISNUM);
2976#endif 2992#endif
2977 } 2993 }
2978 dasm_put(Dst, 16505); 2994 dasm_put(Dst, 16558);
2979 if (!vk) { 2995 if (!vk) {
2980 dasm_put(Dst, 16509, LJ_TISNUM); 2996 dasm_put(Dst, 16562, LJ_TISNUM);
2981 } 2997 }
2982 if (sse) { 2998 if (sse) {
2983 dasm_put(Dst, 16518); 2999 dasm_put(Dst, 16571);
2984 if (vk) { 3000 if (vk) {
2985 dasm_put(Dst, 16530); 3001 dasm_put(Dst, 16583);
2986 } else { 3002 } else {
2987 dasm_put(Dst, 16549); 3003 dasm_put(Dst, 16602);
2988 } 3004 }
2989 dasm_put(Dst, 16554); 3005 dasm_put(Dst, 16607);
2990 } else { 3006 } else {
2991 dasm_put(Dst, 16567); 3007 dasm_put(Dst, 16620);
2992 if (vk) { 3008 if (vk) {
2993 dasm_put(Dst, 16573); 3009 dasm_put(Dst, 16626);
2994 } else { 3010 } else {
2995 dasm_put(Dst, 16589); 3011 dasm_put(Dst, 16642);
2996 } 3012 }
2997 dasm_put(Dst, 16597); 3013 dasm_put(Dst, 16650);
2998 if (cmov) { 3014 if (cmov) {
2999 dasm_put(Dst, 3924); 3015 dasm_put(Dst, 3944);
3000 } else { 3016 } else {
3001 dasm_put(Dst, 3930); 3017 dasm_put(Dst, 3950);
3002 } 3018 }
3003 if (!cmov) { 3019 if (!cmov) {
3004 dasm_put(Dst, 16602); 3020 dasm_put(Dst, 16655);
3005 } 3021 }
3006 } 3022 }
3007 if (op == BC_FORI) { 3023 if (op == BC_FORI) {
3008 if (LJ_DUALNUM) { 3024 if (LJ_DUALNUM) {
3009 dasm_put(Dst, 16608); 3025 dasm_put(Dst, 16661);
3010 } else { 3026 } else {
3011 dasm_put(Dst, 16613, -BCBIAS_J*4); 3027 dasm_put(Dst, 16666, -BCBIAS_J*4);
3012 } 3028 }
3013 } else if (op == BC_JFORI) { 3029 } else if (op == BC_JFORI) {
3014 dasm_put(Dst, 16623, -BCBIAS_J*4, BC_JLOOP); 3030 dasm_put(Dst, 16676, -BCBIAS_J*4, BC_JLOOP);
3015 } else if (op == BC_IFORL) { 3031 } else if (op == BC_IFORL) {
3016 if (LJ_DUALNUM) { 3032 if (LJ_DUALNUM) {
3017 dasm_put(Dst, 16637); 3033 dasm_put(Dst, 16690);
3018 } else { 3034 } else {
3019 dasm_put(Dst, 16642, -BCBIAS_J*4); 3035 dasm_put(Dst, 16695, -BCBIAS_J*4);
3020 } 3036 }
3021 } else { 3037 } else {
3022 dasm_put(Dst, 16633, BC_JLOOP); 3038 dasm_put(Dst, 16686, BC_JLOOP);
3023 } 3039 }
3024 if (LJ_DUALNUM) { 3040 if (LJ_DUALNUM) {
3025 dasm_put(Dst, 11213); 3041 dasm_put(Dst, 11233);
3026 } else { 3042 } else {
3027 dasm_put(Dst, 11954); 3043 dasm_put(Dst, 11974);
3028 } 3044 }
3029 if (sse) { 3045 if (sse) {
3030 dasm_put(Dst, 16652); 3046 dasm_put(Dst, 16705);
3031 } 3047 }
3032 break; 3048 break;
3033 3049
3034 case BC_ITERL: 3050 case BC_ITERL:
3035#if LJ_HASJIT 3051#if LJ_HASJIT
3036 dasm_put(Dst, 16244, HOTCOUNT_PCMASK, GG_DISP2HOT); 3052 dasm_put(Dst, 16297, HOTCOUNT_PCMASK, GG_DISP2HOT);
3037#endif 3053#endif
3038 break; 3054 break;
3039 3055
@@ -3042,33 +3058,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3042 break; 3058 break;
3043#endif 3059#endif
3044 case BC_IITERL: 3060 case BC_IITERL:
3045 dasm_put(Dst, 16663, LJ_TNIL); 3061 dasm_put(Dst, 16716, LJ_TNIL);
3046 if (op == BC_JITERL) { 3062 if (op == BC_JITERL) {
3047 dasm_put(Dst, 16678, BC_JLOOP); 3063 dasm_put(Dst, 16731, BC_JLOOP);
3048 } else { 3064 } else {
3049 dasm_put(Dst, 16692, -BCBIAS_J*4); 3065 dasm_put(Dst, 16745, -BCBIAS_J*4);
3050 } 3066 }
3051 dasm_put(Dst, 11314); 3067 dasm_put(Dst, 11334);
3052 break; 3068 break;
3053 3069
3054 case BC_LOOP: 3070 case BC_LOOP:
3055#if LJ_HASJIT 3071#if LJ_HASJIT
3056 dasm_put(Dst, 16244, HOTCOUNT_PCMASK, GG_DISP2HOT); 3072 dasm_put(Dst, 16297, HOTCOUNT_PCMASK, GG_DISP2HOT);
3057#endif 3073#endif
3058 break; 3074 break;
3059 3075
3060 case BC_ILOOP: 3076 case BC_ILOOP:
3061 dasm_put(Dst, 11316); 3077 dasm_put(Dst, 11336);
3062 break; 3078 break;
3063 3079
3064 case BC_JLOOP: 3080 case BC_JLOOP:
3065#if LJ_HASJIT 3081#if LJ_HASJIT
3066 dasm_put(Dst, 16708, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3082 dasm_put(Dst, 16761, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3067#endif 3083#endif
3068 break; 3084 break;
3069 3085
3070 case BC_JMP: 3086 case BC_JMP:
3071 dasm_put(Dst, 16731, -BCBIAS_J*4); 3087 dasm_put(Dst, 16784, -BCBIAS_J*4);
3072 break; 3088 break;
3073 3089
3074 /* -- Function headers -------------------------------------------------- */ 3090 /* -- Function headers -------------------------------------------------- */
@@ -3082,7 +3098,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3082 3098
3083 case BC_FUNCF: 3099 case BC_FUNCF:
3084#if LJ_HASJIT 3100#if LJ_HASJIT
3085 dasm_put(Dst, 16755, HOTCOUNT_PCMASK, GG_DISP2HOT); 3101 dasm_put(Dst, 16808, HOTCOUNT_PCMASK, GG_DISP2HOT);
3086#endif 3102#endif
3087 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3103 case BC_FUNCV: /* NYI: compiled vararg functions. */
3088 break; 3104 break;
@@ -3092,47 +3108,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3092 break; 3108 break;
3093#endif 3109#endif
3094 case BC_IFUNCF: 3110 case BC_IFUNCF:
3095 dasm_put(Dst, 16776, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3111 dasm_put(Dst, 16829, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3096 if (op == BC_JFUNCF) { 3112 if (op == BC_JFUNCF) {
3097 dasm_put(Dst, 16806, BC_JLOOP); 3113 dasm_put(Dst, 16859, BC_JLOOP);
3098 } else { 3114 } else {
3099 dasm_put(Dst, 11316); 3115 dasm_put(Dst, 11336);
3100 } 3116 }
3101 dasm_put(Dst, 16815, LJ_TNIL); 3117 dasm_put(Dst, 16868, LJ_TNIL);
3102 break; 3118 break;
3103 3119
3104 case BC_JFUNCV: 3120 case BC_JFUNCV:
3105#if !LJ_HASJIT 3121#if !LJ_HASJIT
3106 break; 3122 break;
3107#endif 3123#endif
3108 dasm_put(Dst, 10416); 3124 dasm_put(Dst, 10436);
3109 break; /* NYI: compiled vararg functions. */ 3125 break; /* NYI: compiled vararg functions. */
3110 3126
3111 case BC_IFUNCV: 3127 case BC_IFUNCV:
3112 dasm_put(Dst, 16837, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3128 dasm_put(Dst, 16890, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3113 if (op == BC_JFUNCV) { 3129 if (op == BC_JFUNCV) {
3114 dasm_put(Dst, 16806, BC_JLOOP); 3130 dasm_put(Dst, 16859, BC_JLOOP);
3115 } else { 3131 } else {
3116 dasm_put(Dst, 16928, -4+PC2PROTO(k)); 3132 dasm_put(Dst, 16981, -4+PC2PROTO(k));
3117 } 3133 }
3118 dasm_put(Dst, 16950, LJ_TNIL); 3134 dasm_put(Dst, 17003, LJ_TNIL);
3119 break; 3135 break;
3120 3136
3121 case BC_FUNCC: 3137 case BC_FUNCC:
3122 case BC_FUNCCW: 3138 case BC_FUNCCW:
3123 dasm_put(Dst, 16972, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3139 dasm_put(Dst, 17025, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3124 if (op == BC_FUNCC) { 3140 if (op == BC_FUNCC) {
3125 dasm_put(Dst, 17001); 3141 dasm_put(Dst, 17054);
3126 } else { 3142 } else {
3127 dasm_put(Dst, 17005); 3143 dasm_put(Dst, 17058);
3128 } 3144 }
3129 dasm_put(Dst, 17013, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3145 dasm_put(Dst, 17066, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3130 if (op == BC_FUNCC) { 3146 if (op == BC_FUNCC) {
3131 dasm_put(Dst, 17022); 3147 dasm_put(Dst, 17075);
3132 } else { 3148 } else {
3133 dasm_put(Dst, 17026, DISPATCH_GL(wrapf)); 3149 dasm_put(Dst, 17079, DISPATCH_GL(wrapf));
3134 } 3150 }
3135 dasm_put(Dst, 17031, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3151 dasm_put(Dst, 17084, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3136 break; 3152 break;
3137 3153
3138 /* ---------------------------------------------------------------------- */ 3154 /* ---------------------------------------------------------------------- */
@@ -3160,7 +3176,7 @@ static int build_backend(BuildCtx *ctx)
3160 3176
3161 build_subroutines(ctx, cmov, sse); 3177 build_subroutines(ctx, cmov, sse);
3162 3178
3163 dasm_put(Dst, 17056); 3179 dasm_put(Dst, 17109);
3164 for (op = 0; op < BC__MAX; op++) 3180 for (op = 0; op < BC__MAX; op++)
3165 build_ins(ctx, (BCOp)op, op, cmov, sse); 3181 build_ins(ctx, (BCOp)op, op, cmov, sse);
3166 3182