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.h2330
1 files changed, 1167 insertions, 1163 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 2df74098..8ada18ac 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[16947] = { 15static const unsigned char build_actionlist[16970] = {
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,
@@ -49,113 +49,114 @@ static const unsigned char build_actionlist[16947] = {
49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233, 49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1, 50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139, 51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
52 117,252,244,139,77,252,240,139,122,252,248,139,191,233,255,139,191,233,252, 52 117,252,244,139,77,252,240,133,201,15,132,244,247,255,139,122,252,248,139,
53 255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15, 53 191,233,139,191,233,252,255,225,248,1,41,213,193,252,237,3,141,69,252,255,
54 132,244,33,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4, 54 252,233,244,32,248,33,15,182,78,252,255,131,252,237,16,141,12,202,41,252,
55 137,69,0,137,108,36,4,252,233,244,34,248,35,137,68,36,16,199,68,36,20,237, 55 233,15,132,244,34,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,
56 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65, 56 77,4,137,69,0,137,108,36,4,252,233,244,35,248,36,137,68,36,16,199,68,36,20,
57 4,237,137,205,252,233,244,248,248,36,15,182,70,252,254,255,199,68,36,20,237, 57 237,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,
58 137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12, 58 65,4,237,137,205,252,233,244,248,248,37,255,15,182,70,252,254,255,199,68,
59 219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,37,15,182, 59 36,20,237,137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,
60 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108, 60 68,36,12,219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,38,
61 36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251, 61 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,
62 1,1,139,149,233,133,192,15,132,244,249,248,33,15,182,78,252,253,139,104,4, 62 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,
63 139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 63 232,251,1,1,139,149,233,133,192,15,132,244,249,248,34,15,182,78,252,253,139,
64 16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139, 64 104,4,139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,
65 105,252,248,184,237,252,233,244,30,248,38,137,68,36,16,199,68,36,20,237,141, 65 193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,
66 68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65, 66 214,139,105,252,248,184,237,252,233,244,30,248,39,137,68,36,16,199,68,36,
67 4,237,137,205,252,233,244,248,248,39,15,182,70,252,254,255,141,68,36,16,252, 67 20,237,141,68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,
68 233,244,247,248,40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141, 68 41,199,65,4,237,137,205,252,233,244,248,248,40,15,182,70,252,254,255,141,
69 44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149, 69 68,36,16,252,233,244,247,248,41,15,182,70,252,254,141,4,194,248,1,15,182,
70 233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78, 70 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,
71 252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,41,139,6,15,182,204, 71 44,36,137,149,233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,
72 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113, 72 249,15,182,78,252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,42,139,
73 252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141, 73 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,
74 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,42,15,182,110,252, 74 233,137,113,252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,
75 252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36, 75 137,65,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,43,
76 4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131, 76 15,182,110,252,252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,
77 252,248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252, 77 36,8,137,76,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,
78 254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232, 78 149,233,255,131,252,248,1,15,135,244,44,248,4,141,118,4,15,130,244,252,248,
79 16,252,255,36,171,248,44,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 5,15,183,70,252,254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,
80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,137,108, 80 131,198,4,193,232,16,252,255,36,171,248,45,131,198,4,129,120,253,4,239,15,
81 36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137, 81 130,244,5,252,233,244,6,248,46,129,120,253,4,239,252,233,244,4,248,47,131,
82 116,36,24,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36,48, 82 252,238,4,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,
83 137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233, 83 149,233,255,137,116,36,24,232,251,1,4,252,233,244,3,248,48,255,131,252,238,
84 244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233,244, 84 4,139,108,36,48,137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,
85 247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248,52, 85 251,1,5,252,233,244,3,255,248,49,255,15,182,110,252,255,255,248,50,141,4,
86 141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,44, 86 199,252,233,244,247,248,51,255,248,52,141,4,199,141,44,252,234,149,252,233,
87 252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182,70, 87 244,248,248,53,141,4,194,137,197,252,233,244,248,248,54,255,248,55,141,4,
88 252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232, 88 194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,
89 251,1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252, 89 68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,
90 244,141,176,233,184,237,252,233,244,28,248,55,139,108,36,48,137,149,233,141, 90 137,116,36,24,232,251,1,6,139,149,233,133,192,15,132,244,42,248,44,137,193,
91 20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244,43,248, 91 41,208,137,113,252,244,141,176,233,184,237,252,233,244,28,248,56,139,108,
92 56,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193, 92 36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,
93 139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,255,137,116,36, 93 233,252,233,244,44,248,57,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131,
94 24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131, 94 252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,
95 192,1,57,215,15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15, 95 233,255,137,116,36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,
96 182,252,233,15,182,205,131,198,4,252,255,36,171,248,58,139,108,36,48,137, 96 105,252,248,131,192,1,57,215,15,132,244,58,137,202,137,114,252,252,139,181,
97 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70, 97 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,59,139,
98 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,59,129, 98 108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,
99 252,248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114, 99 233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,
100 252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2,15, 100 248,60,129,252,248,239,15,130,244,61,139,106,4,129,252,253,239,15,131,244,
101 132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137, 101 61,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,
102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,244,61, 102 232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,
103 248,62,129,252,248,239,15,130,244,60,139,106,4,184,237,252,247,213,57,232, 103 41,137,105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,
104 255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248, 104 244,62,248,63,129,252,248,239,15,130,244,61,139,106,4,184,237,252,247,213,
105 139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252, 105 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,
106 233,244,63,248,64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252, 106 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
107 129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237, 107 252,233,244,64,248,65,129,252,248,239,15,130,244,61,139,106,4,139,114,252,
108 199,66,252,252,237,15,132,244,63,139,131,233,199,66,252,252,237,255,137,106, 108 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
109 252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239, 109 237,199,66,252,252,237,15,132,244,64,139,131,233,199,66,252,252,237,255,137,
110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133, 110 106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,
111 244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139, 111 239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,
112 1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15, 112 133,244,3,252,233,244,64,248,5,139,105,4,129,252,253,239,255,15,132,244,64,
113 132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,172, 113 139,1,137,106,252,252,137,66,252,248,252,233,244,64,248,6,129,252,253,239,
114 253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122, 114 15,132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,
115 253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12, 115 172,253,171,233,252,233,244,2,248,66,129,252,248,239,15,130,244,61,255,129,
116 239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237, 116 122,253,4,239,15,133,244,61,139,42,131,189,233,0,15,133,244,61,129,122,253,
117 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131, 117 12,239,15,133,244,61,139,66,8,137,133,233,139,114,252,252,199,66,252,252,
118 233,137,171,233,137,133,233,248,1,255,252,233,244,63,248,66,129,252,248,239, 118 237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,
119 15,130,244,60,129,122,253,4,239,15,133,244,60,139,2,139,108,36,48,137,68, 119 131,233,137,171,233,137,133,233,248,1,255,252,233,244,64,248,67,129,252,248,
120 36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139, 120 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,2,139,108,36,48,137,
121 40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,63, 121 68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,
122 248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,247, 122 139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,
123 139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,255,252,242,15, 123 64,248,68,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,
124 16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,252,248,239,15, 124 247,139,42,252,233,244,69,248,1,15,135,244,61,255,15,131,244,61,255,252,242,
125 130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199, 125 15,16,2,252,233,244,70,255,221,2,252,233,244,71,255,248,72,129,252,248,239,
126 66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,253,4,239,15,135, 126 15,130,244,61,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,
127 244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,255,15,130,244, 127 2,199,66,252,252,237,137,66,252,248,252,233,244,64,248,3,129,122,253,4,239,
128 247,232,244,72,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,233, 128 15,135,244,61,131,187,233,0,15,133,244,61,139,171,233,59,171,233,255,15,130,
129 255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,73,129, 129 244,247,232,244,73,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,
130 252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,4,239,15,133,244, 130 233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,74,
131 60,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,36, 131 129,252,248,239,15,130,244,61,15,132,244,248,248,1,129,122,253,4,239,15,133,
132 4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233, 132 244,61,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,
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 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,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,106,16,139,66,20,137,42,137,66,4,248,74,184,237,255,252,233,244,75,248, 135 139,106,16,139,66,20,137,42,137,66,4,248,75,184,237,255,252,233,244,76,248,
135 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,63,248, 136 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,64,248,
136 76,129,252,248,239,15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255, 137 77,129,252,248,239,15,130,244,61,139,42,129,122,253,4,239,15,133,244,61,255,
137 131,189,233,0,15,133,244,60,255,139,106,252,248,139,133,233,139,114,252,252, 138 131,189,233,0,15,133,244,61,255,139,106,252,248,139,133,233,139,114,252,252,
138 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248, 139 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,76,248,
139 77,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122, 140 78,129,252,248,239,15,130,244,61,129,122,253,4,239,15,133,244,61,129,122,
140 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237, 141 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237,
141 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102, 142 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102,
142 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248, 143 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,
143 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42, 144 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42,
144 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15, 145 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,
145 132,244,78,139,40,139,64,4,137,42,137,66,4,252,233,244,74,248,2,131,189,233, 146 132,244,79,139,40,139,64,4,137,42,137,66,4,252,233,244,75,248,2,131,189,233,
146 0,15,132,244,78,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133, 147 0,15,132,244,79,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,
147 192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,255,139,106,252,248, 148 192,15,133,244,1,248,79,184,237,252,233,244,76,248,80,255,139,106,252,248,
148 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66, 149 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66,
149 12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238, 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 221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,239,15,130,244,60, 151 221,90,8,255,184,237,252,233,244,76,248,81,129,252,248,239,15,130,244,61,
151 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1, 152 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,
152 1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,244,60,129,122,253, 153 1,252,238,252,233,244,28,248,82,129,252,248,239,15,130,244,61,129,122,253,
153 12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 154 12,239,15,133,244,61,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,
154 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,82,129,252, 155 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,83,129,252,
155 248,239,15,130,244,60,139,42,139,114,252,252,137,116,36,24,137,44,36,129, 156 248,239,15,130,244,61,139,42,139,114,252,252,137,116,36,24,137,44,36,129,
156 122,253,4,239,15,133,244,60,131,189,233,0,15,133,244,60,128,189,233,235,15, 157 122,253,4,239,15,133,244,61,131,189,233,0,15,133,244,61,128,189,233,235,15,
157 135,244,60,139,141,233,15,132,244,247,255,59,141,233,15,132,244,60,248,1, 158 135,244,61,139,141,233,15,132,244,247,255,59,141,233,15,132,244,61,248,1,
158 141,116,193,252,240,59,181,233,15,135,244,60,137,181,233,139,108,36,48,137, 159 141,116,193,252,240,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137,
159 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,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 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238, 161 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,
161 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 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,
@@ -168,10 +169,10 @@ static const unsigned char build_actionlist[16947] = {
168 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137, 169 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,
169 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12, 170 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,
170 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 171 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
171 252,233,244,4,248,83,139,106,252,248,139,173,233,139,114,252,252,137,116, 172 252,233,244,4,248,84,139,106,252,248,139,173,233,139,114,252,252,137,116,
172 36,24,137,44,36,131,189,233,0,15,133,244,60,255,128,189,233,235,15,135,244, 173 36,24,137,44,36,131,189,233,0,15,133,244,61,255,128,189,233,235,15,135,244,
173 60,139,141,233,15,132,244,247,59,141,233,15,132,244,60,248,1,141,116,193, 174 61,139,141,233,15,132,244,247,59,141,233,15,132,244,61,248,1,141,116,193,
174 252,248,59,181,233,15,135,244,60,137,181,233,139,108,36,48,137,149,233,137, 175 252,248,59,181,233,15,135,244,61,137,181,233,139,108,36,48,137,149,233,137,
175 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, 176 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139,
176 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, 177 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,
177 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131, 178 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,
@@ -182,271 +183,271 @@ static const unsigned char build_actionlist[16947] = {
182 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, 183 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,
183 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, 184 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139,
184 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, 185 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,
185 252,233,244,4,248,84,139,108,36,48,252,247,133,233,237,15,132,244,60,255, 186 252,233,244,4,248,85,139,108,36,48,252,247,133,233,237,15,132,244,61,255,
186 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, 187 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136,
187 133,233,252,233,244,16,255,248,68,255,248,70,139,114,252,252,221,90,252,248, 188 133,233,252,233,244,16,255,248,69,255,248,71,139,114,252,252,221,90,252,248,
188 252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4, 189 252,233,244,64,255,248,86,129,252,248,239,15,130,244,61,255,129,122,253,4,
189 239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136, 190 239,15,133,244,248,139,42,131,252,253,0,15,137,244,69,252,247,221,15,136,
190 244,247,248,86,248,68,139,114,252,252,199,66,252,252,237,137,106,252,248, 191 244,247,248,87,248,69,139,114,252,252,199,66,252,252,237,137,106,252,248,
191 252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 192 252,233,244,64,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252,
192 248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253,4,239,15,131, 193 248,0,0,0,0,252,233,244,64,248,2,15,135,244,61,255,129,122,253,4,239,15,131,
193 244,60,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 194 244,61,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209,
194 1,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, 195 1,15,84,193,248,70,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,
195 225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237,248,75, 196 225,248,70,248,71,139,114,252,252,221,90,252,248,255,248,64,184,237,248,76,
196 137,68,36,20,248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, 197 137,68,36,20,248,62,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15,
197 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, 198 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15,
198 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, 199 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237,
199 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, 200 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,
200 244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,68, 201 244,14,248,88,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,69,
201 248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,45,232, 202 248,1,15,135,244,61,255,252,242,15,16,2,232,244,89,255,252,242,15,45,232,
202 129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,15,138, 203 129,252,253,0,0,0,128,15,133,244,69,252,242,15,42,205,102,15,46,193,15,138,
203 244,69,15,132,244,68,255,221,2,232,244,88,255,219,20,36,139,44,36,129,252, 204 244,70,15,132,244,69,255,221,2,232,244,89,255,219,20,36,139,44,36,129,252,
204 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, 205 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255,
205 218,252,233,223,224,158,255,15,138,244,70,15,133,244,70,248,2,221,216,252, 206 218,252,233,223,224,158,255,15,138,244,71,15,133,244,71,248,2,221,216,252,
206 233,244,68,255,248,89,255,252,242,15,16,2,232,244,90,255,221,2,232,244,90, 207 233,244,69,255,248,90,255,252,242,15,16,2,232,244,91,255,221,2,232,244,91,
207 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 208 255,248,92,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
208 252,242,15,81,2,252,233,244,69,255,248,91,129,252,248,239,15,130,244,60,129, 209 252,242,15,81,2,252,233,244,70,255,248,92,129,252,248,239,15,130,244,61,129,
209 122,253,4,239,15,131,244,60,221,2,217,252,250,252,233,244,70,255,248,92,129, 210 122,253,4,239,15,131,244,61,221,2,217,252,250,252,233,244,71,255,248,93,129,
210 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,237,221, 211 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,217,252,237,221,
211 2,217,252,241,252,233,244,70,248,93,129,252,248,239,15,130,244,60,129,122, 212 2,217,252,241,252,233,244,71,248,94,129,252,248,239,15,130,244,61,129,122,
212 253,4,239,15,131,244,60,217,252,236,221,2,217,252,241,252,233,244,70,248, 213 253,4,239,15,131,244,61,217,252,236,221,2,217,252,241,252,233,244,71,248,
213 94,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221, 214 95,129,252,248,239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,
214 2,232,244,95,252,233,244,70,248,96,129,252,248,239,15,130,244,60,129,122, 215 2,232,244,96,252,233,244,71,248,97,129,252,248,239,15,130,244,61,129,122,
215 253,4,239,15,131,244,60,221,2,217,252,254,252,233,244,70,248,97,129,252,248, 216 253,4,239,15,131,244,61,221,2,217,252,254,252,233,244,71,248,98,129,252,248,
216 239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,255,252, 217 239,255,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,252,255,252,
217 233,244,70,248,98,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 218 233,244,71,248,99,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
218 244,60,221,2,217,252,242,221,216,252,233,244,70,248,99,129,252,248,239,15, 219 244,61,221,2,217,252,242,221,216,252,233,244,71,248,100,129,252,248,239,15,
219 130,244,60,255,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217, 220 130,244,61,255,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,
220 232,222,225,217,252,250,217,252,243,252,233,244,70,248,100,129,252,248,239, 221 232,222,225,217,252,250,217,252,243,252,233,244,71,248,101,129,252,248,239,
221 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,232, 222 15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,217,192,216,200,217,232,
222 222,225,217,252,250,217,201,217,252,243,252,233,244,70,248,101,129,252,248, 223 222,225,217,252,250,217,201,217,252,243,252,233,244,71,248,102,129,252,248,
223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,255,221,2,217,232,217,252, 224 239,15,130,244,61,129,122,253,4,239,15,131,244,61,255,221,2,217,232,217,252,
224 243,252,233,244,70,255,248,102,129,252,248,239,15,130,244,60,129,122,253, 225 243,252,233,244,71,255,248,103,129,252,248,239,15,130,244,61,129,122,253,
225 4,239,15,131,244,60,252,242,15,16,2,252,242,15,17,4,36,255,248,102,129,252, 226 4,239,15,131,244,61,252,242,15,16,2,252,242,15,17,4,36,255,248,103,129,252,
226 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255, 227 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255,
227 137,213,232,251,1,16,137,252,234,252,233,244,70,255,248,103,129,252,248,239, 228 137,213,232,251,1,16,137,252,234,252,233,244,71,255,248,104,129,252,248,239,
228 15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,252,242,15, 229 15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,252,242,15,
229 17,4,36,255,248,103,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 230 17,4,36,255,248,104,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
230 244,60,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,70, 231 244,61,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,71,
231 255,248,104,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 232 255,248,105,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
232 252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252,248,239,15,130,244, 233 252,242,15,16,2,252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,
233 60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255,137,213,232,251,1, 234 61,129,122,253,4,239,15,131,244,61,221,2,221,28,36,255,137,213,232,251,1,
234 18,137,252,234,252,233,244,70,248,105,255,248,106,129,252,248,239,15,130, 235 18,137,252,234,252,233,244,71,248,106,255,248,107,129,252,248,239,15,130,
235 244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248,252, 236 244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,139,106,252,248,252,
236 242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,60, 237 242,15,89,133,233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,61,
237 129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252,233, 238 129,122,253,4,239,15,131,244,61,221,2,139,106,252,248,220,141,233,252,233,
238 244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131, 239 244,71,255,248,108,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,
239 244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252,233, 240 244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,217,252,243,252,233,
240 244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 241 244,71,248,109,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
241 60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221,217, 242 61,129,122,253,12,239,255,15,131,244,61,221,66,8,221,2,217,252,253,221,217,
242 252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252,253, 243 252,233,244,71,248,110,129,252,248,239,15,130,244,61,139,106,4,129,252,253,
243 239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, 244 239,15,131,244,61,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209,
244 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, 245 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,
245 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, 246 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,
246 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, 247 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252,
247 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, 248 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,
248 252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15,87,192, 249 252,242,15,17,2,255,221,26,255,184,237,252,233,244,76,248,3,255,15,87,192,
249 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, 250 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,
250 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, 251 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242,
251 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, 252 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252,
252 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129, 253 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,111,129,
253 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2, 254 252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,252,242,15,16,2,
254 255,248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 255 255,248,111,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
255 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, 256 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,
256 132,244,250,255,15,40,224,232,244,111,252,242,15,92,224,248,1,252,242,15, 257 132,244,250,255,15,40,224,232,244,112,252,242,15,92,224,248,1,252,242,15,
257 17,66,252,248,252,242,15,17,34,255,217,192,232,244,111,220,252,233,248,1, 258 17,66,252,248,252,242,15,17,34,255,217,192,232,244,112,220,252,233,248,1,
258 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, 259 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,
259 248,2,184,237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,106,4,252,233, 260 248,2,184,237,252,233,244,76,248,3,129,252,245,0,0,0,128,137,106,4,252,233,
260 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, 261 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,
261 1,255,248,112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 262 1,255,248,113,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
262 60,129,122,253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223, 263 61,129,122,253,12,239,15,131,244,61,221,66,8,221,2,248,1,217,252,248,223,
263 224,158,15,138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15, 264 224,158,15,138,244,1,221,217,252,233,244,71,255,248,114,129,252,248,239,15,
264 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 265 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
265 60,252,242,15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248, 266 61,252,242,15,16,2,252,242,15,16,74,8,232,244,115,252,233,244,70,255,248,
266 113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 267 114,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
267 253,12,239,15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248, 268 253,12,239,15,131,244,61,221,2,221,66,8,232,244,115,252,233,244,71,255,248,
268 115,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, 269 116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,
269 15,131,244,68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, 270 15,131,244,69,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,
270 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252, 271 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,252,
271 233,244,252,248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244, 272 233,244,252,248,4,15,135,244,61,255,252,242,15,16,2,248,5,57,193,15,131,244,
272 69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15, 273 70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,61,252,242,15,
273 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, 274 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,
274 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, 275 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15,
275 131,244,70,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, 276 131,244,71,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255,
276 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, 277 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202,
277 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, 278 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252,
278 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,116,185,2,0,0,0, 279 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,117,185,2,0,0,0,
279 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129, 280 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,69,129,
280 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, 281 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,
281 248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,15,16,76, 282 248,131,193,1,252,233,244,1,248,3,15,135,244,61,255,248,6,252,242,15,16,76,
282 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, 283 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233,
283 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 284 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
284 248,2,221,216,88,255,248,9,221,216,252,233,244,60,255,248,117,129,252,248, 285 248,2,221,216,88,255,248,9,221,216,252,233,244,61,255,248,118,129,252,248,
285 239,15,130,244,60,129,122,253,4,239,15,133,244,60,139,42,255,139,173,233, 286 239,15,130,244,61,129,122,253,4,239,15,133,244,61,139,42,255,139,173,233,
286 252,233,244,68,255,252,242,15,42,133,233,252,233,244,69,255,219,133,233,252, 287 252,233,244,69,255,252,242,15,42,133,233,252,233,244,70,255,219,133,233,252,
287 233,244,70,255,248,118,129,252,248,239,15,133,244,60,129,122,253,4,239,15, 288 233,244,71,255,248,119,129,252,248,239,15,133,244,61,129,122,253,4,239,15,
288 133,244,60,139,42,139,114,252,252,131,189,233,1,15,130,244,78,15,182,173, 289 133,244,61,139,42,139,114,252,252,131,189,233,1,15,130,244,79,15,182,173,
289 233,255,252,242,15,42,197,252,233,244,69,255,137,108,36,16,219,68,36,16,252, 290 233,255,252,242,15,42,197,252,233,244,70,255,137,108,36,16,219,68,36,16,252,
290 233,244,70,255,248,119,139,171,233,59,171,233,15,130,244,247,232,244,72,248, 291 233,244,71,255,248,120,139,171,233,59,171,233,15,130,244,247,232,244,73,248,
291 1,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,60,139,42, 292 1,129,252,248,239,15,133,244,61,129,122,253,4,239,255,15,133,244,61,139,42,
292 129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15,131,244,60,252, 293 129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15,131,244,61,252,
293 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15, 294 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,61,137,108,36,20,255,15,
294 131,244,60,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,60,255, 295 131,244,61,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,61,255,
295 199,68,36,8,1,0,0,0,141,68,36,20,248,120,139,108,36,48,137,149,233,137,68, 296 199,68,36,8,1,0,0,0,141,68,36,20,248,121,139,108,36,48,137,149,233,137,68,
296 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, 297 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,
297 66,252,252,237,137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233, 298 66,252,252,237,137,66,252,248,252,233,244,64,248,122,139,171,233,59,171,233,
298 15,130,244,247,232,244,72,248,1,199,68,36,20,252,255,252,255,252,255,252, 299 15,130,244,247,232,244,73,248,1,199,68,36,20,252,255,252,255,252,255,252,
299 255,129,252,248,239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15, 300 255,129,252,248,239,15,130,244,61,15,134,244,247,129,122,253,20,239,255,15,
300 133,244,60,139,106,16,137,108,36,20,255,15,131,244,60,252,242,15,44,106,16, 301 133,244,61,139,106,16,137,108,36,20,255,15,131,244,61,252,242,15,44,106,16,
301 137,108,36,20,255,15,131,244,60,221,66,16,219,92,36,20,255,248,1,129,122, 302 137,108,36,20,255,15,131,244,61,221,66,16,219,92,36,20,255,248,1,129,122,
302 253,4,239,15,133,244,60,129,122,253,12,239,255,139,42,137,108,36,12,139,173, 303 253,4,239,15,133,244,61,129,122,253,12,239,255,139,42,137,108,36,12,139,173,
303 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, 304 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,
304 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, 305 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,
305 3,139,108,36,12,41,200,15,140,244,122,141,172,253,13,233,131,192,1,248,4, 306 3,139,108,36,12,41,200,15,140,244,123,141,172,253,13,233,131,192,1,248,4,
306 137,68,36,8,137,232,252,233,244,120,248,5,15,140,244,252,141,68,40,1,252, 307 137,68,36,8,137,232,252,233,244,121,248,5,15,140,244,252,141,68,40,1,252,
307 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, 308 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,
308 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,122,49,192,252, 309 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,123,49,192,252,
309 233,244,4,248,123,129,252,248,239,15,130,244,60,139,171,233,59,171,233,15, 310 233,244,4,248,124,129,252,248,239,15,130,244,61,139,171,233,59,171,233,15,
310 130,244,247,232,244,72,248,1,255,129,122,253,4,239,15,133,244,60,129,122, 311 130,244,247,232,244,73,248,1,255,129,122,253,4,239,15,133,244,61,129,122,
311 253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,131,244,60,252,242,15, 312 253,12,239,139,42,255,15,133,244,61,139,66,8,255,15,131,244,61,252,242,15,
312 44,66,8,255,15,131,244,60,221,66,8,219,92,36,20,139,68,36,20,255,133,192, 313 44,66,8,255,15,131,244,61,221,66,8,219,92,36,20,139,68,36,20,255,133,192,
313 15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,124,57,131,233,15, 314 15,142,244,123,131,189,233,1,15,130,244,123,15,133,244,125,57,131,233,15,
314 130,244,124,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, 315 130,244,125,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,
315 1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248,125,129,252,248, 316 1,131,232,1,15,133,244,1,139,131,233,252,233,244,121,248,126,129,252,248,
316 239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248, 317 239,255,15,130,244,61,139,171,233,59,171,233,15,130,244,247,232,244,73,248,
317 1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192,15,132,244,122, 318 1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,133,192,15,132,244,123,
318 57,131,233,15,130,244,126,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 319 57,131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
319 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, 320 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,
320 139,116,36,20,252,233,244,120,248,127,129,252,248,239,15,130,244,60,139,171, 321 139,116,36,20,252,233,244,121,248,128,129,252,248,239,15,130,244,61,139,171,
321 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244, 322 233,59,171,233,15,130,244,247,232,244,73,248,1,129,122,253,4,239,15,133,244,
322 60,139,42,139,133,233,57,131,233,255,15,130,244,126,129,197,239,137,116,36, 323 61,139,42,139,133,233,57,131,233,255,15,130,244,127,129,197,239,137,116,36,
323 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 324 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
324 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, 325 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,
325 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,120, 326 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,121,
326 248,128,129,252,248,239,15,130,244,60,255,139,171,233,59,171,233,15,130,244, 327 248,129,129,252,248,239,15,130,244,61,255,139,171,233,59,171,233,15,130,244,
327 247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,57, 328 247,232,244,73,248,1,129,122,253,4,239,15,133,244,61,139,42,139,133,233,57,
328 131,233,15,130,244,126,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 329 131,233,15,130,244,127,129,197,239,137,116,36,20,137,68,36,8,139,179,233,
329 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, 330 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,
330 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, 331 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,
331 15,137,244,1,137,252,240,139,116,36,20,252,233,244,120,248,129,129,252,248, 332 15,137,244,1,137,252,240,139,116,36,20,252,233,244,121,248,130,129,252,248,
332 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,10,232,251, 333 239,15,130,244,61,129,122,253,4,239,15,133,244,61,137,213,139,10,232,251,
333 1,20,137,252,234,255,137,197,252,233,244,68,255,252,242,15,42,192,252,233, 334 1,20,137,252,234,255,137,197,252,233,244,69,255,252,242,15,42,192,252,233,
334 244,69,255,137,4,36,219,4,36,252,233,244,70,255,248,130,129,122,253,4,239, 335 244,70,255,137,4,36,219,4,36,252,233,244,71,255,248,131,129,122,253,4,239,
335 255,15,133,244,247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,242, 336 255,15,133,244,247,139,42,252,233,244,87,248,1,15,135,244,61,255,252,242,
336 15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193, 337 15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,
337 102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,255, 338 102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,255,
338 139,44,36,255,252,233,244,86,255,248,131,255,189,0,0,56,67,102,15,110,205, 339 139,44,36,255,252,233,244,87,255,248,132,255,189,0,0,56,67,102,15,110,205,
339 102,15,112,201,81,255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252, 340 102,15,112,201,81,255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252,
340 233,244,248,248,1,15,135,244,60,255,252,242,15,16,2,252,242,15,88,193,102, 341 233,244,248,248,1,15,135,244,61,255,252,242,15,16,2,252,242,15,88,193,102,
341 15,126,197,255,221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36, 342 15,126,197,255,221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36,
342 20,141,68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,15, 343 20,141,68,194,252,240,248,1,57,208,15,134,244,87,129,120,253,4,239,255,15,
343 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131, 344 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,15,131,
344 244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221, 345 244,133,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,
345 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,133,255, 346 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,134,255,
346 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252, 347 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,
347 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16, 348 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,
348 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,134,255,15,133,244,248, 349 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,135,255,15,133,244,248,
349 51,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252, 350 51,40,131,232,8,252,233,244,1,248,2,15,135,244,133,255,252,242,15,16,0,252,
350 242,15,88,193,102,15,126,193,49,205,255,221,0,216,68,36,16,221,28,36,51,44, 351 242,15,88,193,102,15,126,193,49,205,255,221,0,216,68,36,16,221,28,36,51,44,
351 36,255,131,232,8,252,233,244,1,248,135,129,122,253,4,239,255,221,2,199,68, 352 36,255,131,232,8,252,233,244,1,248,136,129,122,253,4,239,255,221,2,199,68,
352 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, 353 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,
353 244,86,248,136,129,122,253,4,239,255,248,2,252,247,213,255,248,86,252,242, 354 244,87,248,137,129,122,253,4,239,255,248,2,252,247,213,255,248,87,252,242,
354 15,42,197,252,233,244,69,255,248,86,137,44,36,219,4,36,252,233,244,70,255, 355 15,42,197,252,233,244,70,255,248,87,137,44,36,219,4,36,252,233,244,71,255,
355 248,132,139,68,36,20,252,233,244,60,255,248,137,129,122,253,4,239,255,248, 356 248,133,139,68,36,20,252,233,244,61,255,248,138,129,122,253,4,239,255,248,
356 2,129,122,253,12,239,15,133,244,60,139,74,8,255,248,137,129,252,248,239,15, 357 2,129,122,253,12,239,15,133,244,61,139,74,8,255,248,138,129,252,248,239,15,
357 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 358 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
358 60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15, 359 61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,
359 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126, 360 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
360 201,255,248,137,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244, 361 201,255,248,138,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,
361 60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199,68,36,16,0,0,192,89, 362 61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,0,0,192,89,
362 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255, 363 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,
363 211,229,252,233,244,86,255,248,138,129,122,253,4,239,255,248,138,129,252, 364 211,229,252,233,244,87,255,248,139,129,122,253,4,239,255,248,139,129,252,
364 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239, 365 248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,
365 15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110, 366 15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,
366 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197, 367 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
367 102,15,126,201,255,248,138,129,252,248,239,15,130,244,60,129,122,253,4,239, 368 102,15,126,201,255,248,139,129,252,248,239,15,130,244,61,129,122,253,4,239,
368 15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199,68,36,16, 369 15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,68,36,16,
369 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139, 370 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,
370 44,36,255,211,252,237,252,233,244,86,255,248,139,129,122,253,4,239,255,248, 371 44,36,255,211,252,237,252,233,244,87,255,248,140,129,122,253,4,239,255,248,
371 139,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122, 372 140,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,129,122,
372 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, 373 253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,
373 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, 374 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,
374 15,126,197,102,15,126,201,255,248,139,129,252,248,239,15,130,244,60,129,122, 375 15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,61,129,122,
375 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,199, 376 253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,221,66,8,199,
376 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, 377 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,
377 36,8,139,44,36,255,211,252,253,252,233,244,86,255,248,140,129,122,253,4,239, 378 36,8,139,44,36,255,211,252,253,252,233,244,87,255,248,141,129,122,253,4,239,
378 255,248,140,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60, 379 255,248,141,129,252,248,239,15,130,244,61,129,122,253,4,239,15,131,244,61,
379 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,189,0, 380 129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,74,8,189,0,
380 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, 381 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,
381 202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244, 382 202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15,130,244,
382 60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2, 383 61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,61,221,2,
383 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, 384 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,
384 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,86,255,248,141,129,122, 385 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,87,255,248,142,129,122,
385 253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,253,4,239,15, 386 253,4,239,255,248,142,129,252,248,239,15,130,244,61,129,122,253,4,239,15,
386 131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16, 387 131,244,61,129,122,253,12,239,15,131,244,61,252,242,15,16,2,252,242,15,16,
387 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252, 388 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
388 242,15,88,202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15, 389 242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,15,
389 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244, 390 130,244,61,129,122,253,4,239,15,131,244,61,129,122,253,12,239,15,131,244,
390 60,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, 391 61,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
391 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,86,248,124, 392 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,87,248,125,
392 184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,48,139,114,252,252, 393 184,237,252,233,244,61,248,127,184,237,248,61,139,108,36,48,139,114,252,252,
393 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, 394 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
394 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233, 395 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233,
395 133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,133,192, 396 133,192,15,143,244,76,248,1,255,139,141,233,41,209,193,252,233,3,133,192,
396 141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,252,233, 397 141,65,1,139,106,252,248,15,133,244,32,139,181,233,139,14,15,182,252,233,
397 15,182,205,131,198,4,252,255,36,171,248,2,137,209,252,247,198,237,15,133, 398 15,182,205,131,198,4,252,255,36,171,248,32,137,209,252,247,198,237,15,133,
398 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248, 399 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248,
399 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137, 400 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,
400 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,137,108,36, 401 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,73,93,137,108,36,
401 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252, 402 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252,
402 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131, 403 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,
403 192,1,139,108,36,16,85,195,248,142,255,15,182,131,233,168,235,15,133,244, 404 192,1,139,108,36,16,85,195,248,143,255,15,182,131,233,168,235,15,133,244,
404 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233, 405 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
405 244,247,255,248,143,15,182,131,233,168,235,15,133,244,251,252,233,244,247, 406 244,247,255,248,144,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
406 248,144,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252, 407 248,145,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,
407 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48, 408 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48,
408 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4, 409 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,
409 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164, 410 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,
410 253,171,233,248,145,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,146, 411 253,171,233,248,146,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,147,
411 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137, 412 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137,
412 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232, 413 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232,
413 251,1,23,252,233,244,3,255,248,147,137,116,36,24,255,248,148,255,137,116, 414 251,1,23,252,233,244,3,255,248,148,137,116,36,24,255,248,149,255,137,116,
414 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137, 415 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137,
415 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131, 416 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131,
416 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78, 417 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78,
417 252,253,193,232,3,131,192,1,252,255,229,248,149,255,85,141,108,36,12,85,83, 418 252,253,193,232,3,131,192,1,252,255,229,248,150,255,85,141,108,36,12,85,83,
418 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248, 419 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248,
419 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236, 420 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236,
420 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252, 421 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,
421 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17, 422 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,
422 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233, 423 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233,
423 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129, 424 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129,
424 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,150,255,133,192, 425 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,151,255,133,192,
425 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131, 426 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131,
426 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232, 427 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
427 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3, 428 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3,
428 252,247,216,137,252,233,137,194,232,251,1,26,255,248,88,255,217,124,36,4, 429 252,247,216,137,252,233,137,194,232,251,1,26,255,248,89,255,217,124,36,4,
429 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68, 430 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
430 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,102, 431 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,102,
431 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, 432 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
432 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, 433 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
433 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, 434 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
434 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252, 435 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,
435 242,15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102, 436 242,15,92,200,15,40,193,248,1,195,248,91,255,217,124,36,4,137,68,36,8,102,
436 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, 437 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
437 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,102,15,252,239,210, 438 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,102,15,252,239,210,
438 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219, 439 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
439 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, 440 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
440 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15, 441 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,
441 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92, 442 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
442 200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68,36,8,102,184,0,12, 443 200,15,40,193,248,1,195,248,112,255,217,124,36,4,137,68,36,8,102,184,0,12,
443 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 444 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
444 68,36,8,195,255,248,153,102,15,252,239,210,102,15,118,210,102,15,115,210, 445 68,36,8,195,255,248,154,102,15,252,239,210,102,15,118,210,102,15,115,210,
445 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, 446 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
446 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 447 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
447 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242, 448 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
448 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248, 449 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
449 1,195,248,154,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118, 450 1,195,248,155,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
450 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40, 451 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
451 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88, 452 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
452 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102, 453 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
@@ -454,11 +455,11 @@ static const unsigned char build_actionlist[16947] = {
454 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40, 455 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
455 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0, 456 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
456 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 457 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
457 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201, 458 252,252,217,108,36,4,222,201,222,252,233,195,255,248,96,217,252,234,222,201,
458 248,155,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4, 459 248,156,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
459 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217, 460 0,0,128,252,255,15,132,244,248,248,157,217,192,217,252,252,220,252,233,217,
460 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 461 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
461 217,252,238,195,255,248,114,219,84,36,4,219,68,36,4,255,223,252,233,255,221, 462 217,252,238,195,255,248,115,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
462 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4, 463 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
463 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209, 464 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
464 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209, 465 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
@@ -467,14 +468,14 @@ static const unsigned char build_actionlist[16947] = {
467 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217, 468 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
468 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244, 469 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
469 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217, 470 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
470 252,241,252,233,244,156,248,9,255,217,232,255,223,252,234,255,221,252,234, 471 252,241,252,233,244,157,248,9,255,217,232,255,223,252,234,255,221,252,234,
471 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217, 472 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
472 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208, 473 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
473 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4, 474 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
474 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252, 475 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
475 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,114,255,248, 476 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,115,255,248,
476 157,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, 477 158,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
477 244,255,248,158,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, 478 244,255,248,159,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
478 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251, 479 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
479 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255, 480 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
480 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15, 481 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
@@ -492,30 +493,30 @@ static const unsigned char build_actionlist[16947] = {
492 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192, 493 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,
493 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110, 494 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,
494 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, 495 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
495 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,159, 496 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,160,
496 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135, 497 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,
497 244,248,232,244,88,252,233,244,253,248,1,232,244,90,252,233,244,253,248,2, 498 244,248,232,244,89,252,233,244,253,248,1,232,244,91,252,233,244,253,248,2,
498 131,252,248,3,15,132,244,247,15,135,244,248,232,244,111,255,252,233,244,253, 499 131,252,248,3,15,132,244,247,15,135,244,248,232,244,112,255,252,233,244,253,
499 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2, 500 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,
500 221,68,36,4,131,252,248,5,15,130,244,95,15,132,244,155,248,2,131,252,248, 501 221,68,36,4,131,252,248,5,15,130,244,96,15,132,244,156,248,2,131,252,248,
501 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, 502 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
502 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135, 503 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
503 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, 504 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
504 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, 505 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
505 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244, 506 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
506 88,15,132,244,90,131,252,248,3,15,130,244,111,15,135,244,248,217,252,250, 507 89,15,132,244,91,131,252,248,3,15,130,244,112,15,135,244,248,217,252,250,
507 195,248,2,131,252,248,5,15,130,244,95,15,132,244,155,131,252,248,7,15,132, 508 195,248,2,131,252,248,5,15,130,244,96,15,132,244,156,131,252,248,7,15,132,
508 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232, 509 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
509 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244, 510 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
510 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252, 511 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
511 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221, 512 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
512 216,195,255,248,9,204,255,248,160,255,139,68,36,20,252,242,15,16,68,36,4, 513 216,195,255,248,9,204,255,248,161,255,139,68,36,20,252,242,15,16,68,36,4,
513 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242, 514 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,
514 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92, 515 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,
515 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242, 516 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,
516 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252, 517 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
517 248,5,15,132,244,247,255,15,135,244,248,232,244,154,252,233,244,7,248,1,90, 518 248,5,15,132,244,247,255,15,135,244,248,232,244,155,252,233,244,7,248,1,90,
518 232,244,114,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244, 519 232,244,115,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
519 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244, 520 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
520 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252, 521 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
521 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12, 522 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
@@ -524,32 +525,32 @@ static const unsigned char build_actionlist[16947] = {
524 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221, 525 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
525 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, 526 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
526 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, 527 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
527 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,154,15,132, 528 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,155,15,132,
528 244,114,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 529 244,115,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
529 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, 530 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
530 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 531 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
531 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, 532 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
532 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, 533 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
533 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, 534 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
534 244,248,217,201,248,2,221,216,195,255,248,161,156,90,137,209,129,252,242, 535 244,248,217,201,248,2,221,216,195,255,248,162,156,90,137,209,129,252,242,
535 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, 536 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
536 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,162, 537 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,163,
537 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131, 538 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131,
538 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233, 539 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233,
539 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, 540 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233,
540 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, 541 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233,
541 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, 542 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201,
542 195,255,248,163,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, 543 195,255,248,164,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,
543 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244, 544 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244,
544 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15, 545 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,
545 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, 546 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,
546 198,4,193,232,16,252,255,36,171,248,7,15,135,244,42,129,124,253,194,4,239, 547 198,4,193,232,16,252,255,36,171,248,7,15,135,244,43,129,124,253,194,4,239,
547 15,130,244,247,15,133,244,42,255,252,242,15,42,4,194,252,233,244,248,255, 548 15,130,244,247,15,133,244,43,255,252,242,15,42,4,194,252,233,244,248,255,
548 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,255,252,242,15, 549 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,43,255,252,242,15,
549 42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255, 550 42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255,
550 15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219, 551 15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219,
551 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124,253, 552 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,43,129,124,253,
552 194,4,239,15,131,244,42,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102, 553 194,4,239,15,131,244,43,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102,
553 15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255, 554 15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255,
554 15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255, 555 15,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,
555 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131, 556 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,
@@ -565,12 +566,12 @@ static const unsigned char build_actionlist[16947] = {
565 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248, 566 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,
566 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, 567 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,
567 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252, 568 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,
568 233,244,9,255,248,5,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239, 569 233,244,9,255,248,5,255,129,252,253,239,15,132,244,48,129,124,253,202,4,239,
569 15,132,244,47,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1, 570 15,132,244,48,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,
570 139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139, 571 139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,
571 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49, 572 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,
572 252,237,255,189,1,0,0,0,255,252,233,244,46,255,248,3,129,252,253,239,255, 573 252,237,255,189,1,0,0,0,255,252,233,244,47,255,248,3,129,252,253,239,255,
573 15,133,244,9,255,252,233,244,47,255,252,247,208,139,108,202,4,131,198,4,129, 574 15,133,244,9,255,252,233,244,48,255,252,247,208,139,108,202,4,131,198,4,129,
574 252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198, 575 252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,
575 4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254, 576 4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,
576 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139, 577 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,
@@ -582,7 +583,7 @@ static const unsigned char build_actionlist[16947] = {
582 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244, 583 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,
583 249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232, 584 249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,
584 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252, 585 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,
585 233,244,47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,183,70,252, 586 233,244,48,255,15,132,244,248,129,252,253,239,15,132,244,48,15,183,70,252,
586 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232, 587 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,
587 16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108, 588 16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,
588 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137, 589 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,
@@ -592,39 +593,39 @@ static const unsigned char build_actionlist[16947] = {
592 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137, 593 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,
593 44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 594 44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
594 171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15, 595 171,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,
595 135,244,52,255,129,124,253,194,4,239,15,131,244,52,255,252,242,15,16,4,194, 596 135,244,53,255,129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,194,
596 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4, 597 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,
597 202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244, 598 202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,
598 248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87, 599 248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,
599 192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1, 600 192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,
600 221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 601 221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
601 171,248,2,129,124,253,194,4,239,15,133,244,55,139,12,194,137,213,232,251, 602 171,248,2,129,124,253,194,4,239,15,133,244,56,139,12,194,137,213,232,251,
602 1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,78, 603 1,20,255,252,242,15,42,192,255,137,4,36,219,4,36,255,137,252,234,15,182,78,
603 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234, 604 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
604 4,239,15,133,244,49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,3, 605 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,44,252,234,3,
605 44,199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,129,124, 606 44,199,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,52,129,124,
606 253,199,4,239,15,133,244,51,139,4,199,3,4,252,234,15,128,244,50,255,129,124, 607 253,199,4,239,15,133,244,52,139,4,199,3,4,252,234,15,128,244,51,255,129,124,
607 253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44, 608 253,252,234,4,239,15,133,244,55,129,124,253,194,4,239,15,133,244,55,139,44,
608 252,234,3,44,194,15,128,244,53,255,199,68,202,4,237,255,129,124,253,252,234, 609 252,234,3,44,194,15,128,244,54,255,199,68,202,4,237,255,129,124,253,252,234,
609 4,239,15,131,244,49,255,129,124,253,199,4,239,15,131,244,49,255,252,242,15, 610 4,239,15,131,244,50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,
610 16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124, 611 16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,
611 253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15,131,244,51,255, 612 253,252,234,4,239,15,131,244,52,255,129,124,253,199,4,239,15,131,244,52,255,
612 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255, 613 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,
613 129,124,253,252,234,4,239,15,131,244,54,129,124,253,194,4,239,15,131,244, 614 129,124,253,252,234,4,239,15,131,244,55,129,124,253,194,4,239,15,131,244,
614 54,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220, 615 55,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,
615 4,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15, 616 4,194,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,
616 133,244,49,139,44,252,234,43,44,199,15,128,244,48,255,129,124,253,252,234, 617 133,244,50,139,44,252,234,43,44,199,15,128,244,49,255,129,124,253,252,234,
617 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,43,4,252, 618 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,43,4,252,
618 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253, 619 234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,253,
619 194,4,239,15,133,244,54,139,44,252,234,43,44,194,15,128,244,53,255,252,242, 620 194,4,239,15,133,244,55,139,44,252,234,43,44,194,15,128,244,54,255,252,242,
620 15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252, 621 15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,
621 242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255, 622 242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,
622 252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194, 623 252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,
623 255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,133, 624 255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,
624 244,49,139,44,252,234,15,175,44,199,15,128,244,48,255,129,124,253,252,234, 625 244,50,139,44,252,234,15,175,44,199,15,128,244,49,255,129,124,253,252,234,
625 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,15,175, 626 4,239,15,133,244,52,129,124,253,199,4,239,15,133,244,52,139,4,199,15,175,
626 4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124, 627 4,252,234,15,128,244,51,255,129,124,253,252,234,4,239,15,133,244,55,129,124,
627 253,194,4,239,15,133,244,54,139,44,252,234,15,175,44,194,15,128,244,53,255, 628 253,194,4,239,15,133,244,55,139,44,252,234,15,175,44,194,15,128,244,54,255,
628 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199, 629 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,
629 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252, 630 255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,
630 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220, 631 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,
@@ -634,10 +635,10 @@ static const unsigned char build_actionlist[16947] = {
634 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221, 635 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,
635 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255, 636 4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,
636 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194, 637 221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,
637 255,221,4,252,234,221,4,194,255,248,164,232,244,154,255,252,233,244,164,255, 638 255,221,4,252,234,221,4,194,255,248,165,232,244,155,255,252,233,244,165,255,
638 232,244,114,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137, 639 232,244,115,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,
639 68,36,8,248,34,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251, 640 68,36,8,248,35,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,
640 1,27,139,149,233,133,192,15,133,244,43,15,182,110,252,255,15,182,78,252,253, 641 1,27,139,149,233,133,192,15,133,244,44,15,182,110,252,255,15,182,78,252,253,
641 139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204, 642 139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,
642 15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135, 643 15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,
643 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 644 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
@@ -679,57 +680,57 @@ static const unsigned char build_actionlist[16947] = {
679 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, 680 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,
680 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252, 681 4,193,232,16,252,255,36,171,248,3,137,252,233,232,251,1,32,15,183,70,252,
681 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233, 682 254,252,247,208,252,233,244,2,255,252,247,208,139,106,252,248,139,173,233,
682 139,4,135,252,233,244,165,255,252,247,208,139,106,252,248,139,173,233,139, 683 139,4,135,252,233,244,166,255,252,247,208,139,106,252,248,139,173,233,139,
683 4,135,252,233,244,166,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 684 4,135,252,233,244,167,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
684 239,15,133,244,37,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, 685 239,15,133,244,38,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251,
685 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, 686 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194,
686 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36, 687 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,
687 219,4,36,255,15,133,244,37,255,59,133,233,15,131,244,37,193,224,3,3,133,233, 688 219,4,36,255,15,133,244,38,255,59,133,233,15,131,244,38,193,224,3,3,133,233,
688 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4, 689 129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,
689 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, 690 248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
690 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244, 691 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
691 37,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, 692 38,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,
692 253,194,4,239,15,133,244,37,139,4,194,252,233,244,165,255,15,182,252,236, 693 253,194,4,239,15,133,244,38,139,4,194,252,233,244,166,255,15,182,252,236,
693 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,35, 694 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,36,
694 139,44,252,234,248,165,139,141,233,35,136,233,105,201,239,3,141,233,248,1, 695 139,44,252,234,248,166,139,141,233,35,136,233,105,201,239,3,141,233,248,1,
695 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239, 696 129,185,233,239,15,133,244,250,57,129,233,15,133,244,250,129,121,253,4,239,
696 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4, 697 15,132,244,251,15,182,70,252,253,139,41,139,73,4,137,44,194,137,76,194,4,
697 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 698 248,2,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
698 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233, 699 248,3,15,182,70,252,253,199,68,194,4,237,252,233,244,2,248,4,139,137,233,
699 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233, 700 133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246,129,233,
700 235,15,133,244,3,252,233,244,35,255,15,182,252,236,15,182,192,129,124,253, 701 235,15,133,244,3,252,233,244,36,255,15,182,252,236,15,182,192,129,124,253,
701 252,234,4,239,15,133,244,36,139,44,252,234,59,133,233,15,131,244,36,193,224, 702 252,234,4,239,15,133,244,37,139,44,252,234,59,133,233,15,131,244,37,193,224,
702 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137, 703 3,3,133,233,129,120,253,4,239,15,132,244,248,139,40,139,64,4,137,44,202,137,
703 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 704 68,202,4,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
704 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15, 705 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
705 132,244,36,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255, 706 132,244,37,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,
706 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44, 707 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,44,
707 252,234,255,15,133,244,40,255,59,133,233,15,131,244,40,193,224,3,3,133,233, 708 252,234,255,15,133,244,41,255,59,133,233,15,131,244,41,193,224,3,3,133,233,
708 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253, 709 129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,
709 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232, 710 248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,
710 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139, 711 131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,
711 141,233,252,246,129,233,235,255,15,132,244,40,15,182,78,252,253,252,233,244, 712 141,233,252,246,129,233,235,255,15,132,244,41,15,182,78,252,253,252,233,244,
712 1,248,5,129,124,253,194,4,239,15,133,244,40,139,4,194,252,233,244,166,248, 713 1,248,5,129,124,253,194,4,239,15,133,244,41,139,4,194,252,233,244,167,248,
713 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 714 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,
714 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253, 715 233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,
715 252,234,4,239,15,133,244,38,139,44,252,234,248,166,139,141,233,35,136,233, 716 252,234,4,239,15,133,244,39,139,44,252,234,248,167,139,141,233,35,136,233,
716 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251, 717 105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,
717 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252, 718 57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,
718 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139, 719 246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,
719 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 720 4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
720 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252, 721 255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,
721 246,129,233,235,15,132,244,38,139,76,36,16,252,233,244,2,248,5,139,137,233, 722 246,129,233,235,15,132,244,39,139,76,36,16,252,233,244,2,248,5,139,137,233,
722 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233, 723 133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,
723 235,15,132,244,38,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, 724 235,15,132,244,39,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,
724 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 725 36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,
725 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, 726 36,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,
726 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, 727 128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
727 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252, 728 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,252,
728 234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132, 729 234,59,133,233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,
729 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, 730 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
730 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 731 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
731 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, 732 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
732 235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, 733 235,15,132,244,40,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
733 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, 734 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
734 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15, 735 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,
735 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133, 736 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
@@ -739,10 +740,10 @@ static const unsigned char build_actionlist[16947] = {
739 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, 740 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,
740 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, 741 24,232,251,1,35,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,
741 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, 742 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,
742 20,255,129,124,253,202,4,239,139,44,202,15,133,244,56,141,84,202,8,137,114, 743 20,255,129,124,253,202,4,239,139,44,202,15,133,244,57,141,84,202,8,137,114,
743 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 744 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,
744 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133, 745 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
745 244,29,248,57,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, 746 244,29,248,58,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,
746 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105, 747 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,
747 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248, 748 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,
748 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182, 749 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
@@ -790,20 +791,20 @@ static const unsigned char build_actionlist[16947] = {
790 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, 791 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,
791 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, 792 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,
792 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, 793 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,
793 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,146, 794 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,
794 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239, 795 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
795 15,133,244,58,129,121,253,20,239,15,133,244,58,139,41,131,121,16,0,15,140, 796 15,133,244,59,129,121,253,20,239,15,133,244,59,139,41,131,121,16,0,15,140,
796 244,251,255,129,121,253,12,239,15,133,244,163,129,121,253,20,239,15,133,244, 797 244,251,255,129,121,253,12,239,15,133,244,164,129,121,253,20,239,15,133,244,
797 163,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41, 798 164,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41,
798 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141, 799 255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248,6,141,
799 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248, 800 180,253,134,233,255,141,180,253,134,233,15,183,70,252,254,15,142,245,248,
800 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139, 801 1,248,6,255,15,143,244,253,248,6,141,180,253,134,233,248,1,255,248,7,139,
801 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41, 802 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,255,3,41,
802 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252, 803 15,128,244,1,137,41,255,15,141,244,7,255,141,180,253,134,233,15,183,70,252,
803 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4, 804 254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129,121,253,4,
804 239,255,15,131,244,58,129,121,253,12,239,15,131,244,58,255,129,121,253,12, 805 239,255,15,131,244,59,129,121,253,12,239,15,131,244,59,255,129,121,253,12,
805 239,15,131,244,163,129,121,253,20,239,15,131,244,163,255,139,105,20,255,129, 806 239,15,131,244,164,129,121,253,20,239,15,131,244,164,255,139,105,20,255,129,
806 252,253,239,15,131,244,58,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 807 252,253,239,15,131,244,59,255,252,242,15,16,1,252,242,15,16,73,8,255,252,
807 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244, 808 242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255,15,140,244,
808 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220, 809 249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,
809 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244, 810 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,
@@ -815,7 +816,7 @@ static const unsigned char build_actionlist[16947] = {
815 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, 816 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139,
816 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253, 817 128,233,139,108,36,48,137,147,233,137,171,233,252,255,224,255,141,180,253,
817 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, 818 134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
818 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148, 819 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,149,
819 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15,182, 820 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,
820 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255, 821 142,233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,
821 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, 822 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
@@ -855,6 +856,7 @@ enum {
855 GLOB_vmeta_call, 856 GLOB_vmeta_call,
856 GLOB_vm_call_dispatch_f, 857 GLOB_vm_call_dispatch_f,
857 GLOB_vm_cpcall, 858 GLOB_vm_cpcall,
859 GLOB_vm_call_tail,
858 GLOB_cont_cat, 860 GLOB_cont_cat,
859 GLOB_cont_ra, 861 GLOB_cont_ra,
860 GLOB_BC_CAT_Z, 862 GLOB_BC_CAT_Z,
@@ -1015,6 +1017,7 @@ static const char *const globnames[] = {
1015 "vmeta_call", 1017 "vmeta_call",
1016 "vm_call_dispatch_f", 1018 "vm_call_dispatch_f",
1017 "vm_cpcall", 1019 "vm_cpcall",
1020 "vm_call_tail",
1018 "cont_cat", 1021 "cont_cat",
1019 "cont_ra", 1022 "cont_ra",
1020 "BC_CAT_Z", 1023 "BC_CAT_Z",
@@ -1219,766 +1222,767 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1219 dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base)); 1222 dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1220 dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1223 dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1221 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base)); 1224 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1222 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc)); 1225 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1223 dasm_put(Dst, 754, PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1226 dasm_put(Dst, 753, Dt7(->pc), PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1227 dasm_put(Dst, 875);
1224 if (LJ_DUALNUM) { 1228 if (LJ_DUALNUM) {
1225 dasm_put(Dst, 858, LJ_TISNUM); 1229 dasm_put(Dst, 881, LJ_TISNUM);
1226 } else if (sse) { 1230 } else if (sse) {
1227 dasm_put(Dst, 868); 1231 dasm_put(Dst, 891);
1228 } else { 1232 } else {
1229 dasm_put(Dst, 881); 1233 dasm_put(Dst, 904);
1230 } 1234 }
1231 dasm_put(Dst, 894, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1235 dasm_put(Dst, 917, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1232 dasm_put(Dst, 1046, DISPATCH_GL(tmptv), LJ_TTAB); 1236 dasm_put(Dst, 1069, DISPATCH_GL(tmptv), LJ_TTAB);
1233 if (LJ_DUALNUM) { 1237 if (LJ_DUALNUM) {
1234 dasm_put(Dst, 858, LJ_TISNUM); 1238 dasm_put(Dst, 881, LJ_TISNUM);
1235 } else if (sse) { 1239 } else if (sse) {
1236 dasm_put(Dst, 868); 1240 dasm_put(Dst, 891);
1237 } else { 1241 } else {
1238 dasm_put(Dst, 881); 1242 dasm_put(Dst, 904);
1239 } 1243 }
1240 dasm_put(Dst, 1069, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1244 dasm_put(Dst, 1092, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1241 dasm_put(Dst, 1263, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1245 dasm_put(Dst, 1286, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1242 dasm_put(Dst, 1370); 1246 dasm_put(Dst, 1393);
1243#if LJ_HASFFI 1247#if LJ_HASFFI
1244 dasm_put(Dst, 1385, Dt1(->base)); 1248 dasm_put(Dst, 1408, Dt1(->base));
1245#endif 1249#endif
1246 dasm_put(Dst, 1416); 1250 dasm_put(Dst, 1439);
1247#if LJ_DUALNUM 1251#if LJ_DUALNUM
1248 dasm_put(Dst, 1419); 1252 dasm_put(Dst, 1442);
1249#endif 1253#endif
1250 dasm_put(Dst, 1425); 1254 dasm_put(Dst, 1448);
1251#if LJ_DUALNUM 1255#if LJ_DUALNUM
1252 dasm_put(Dst, 852); 1256 dasm_put(Dst, 875);
1253#endif 1257#endif
1254 dasm_put(Dst, 1437); 1258 dasm_put(Dst, 1460);
1255#if LJ_DUALNUM 1259#if LJ_DUALNUM
1256 dasm_put(Dst, 1419); 1260 dasm_put(Dst, 1442);
1257#endif 1261#endif
1258 dasm_put(Dst, 1465, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1262 dasm_put(Dst, 1488, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1259 dasm_put(Dst, 1620, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1263 dasm_put(Dst, 1643, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1260 dasm_put(Dst, 1797, 1+1, ~LJ_TNUMX); 1264 dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX);
1261 if (cmov) { 1265 if (cmov) {
1262 dasm_put(Dst, 1826); 1266 dasm_put(Dst, 1849);
1263 } else { 1267 } else {
1264 dasm_put(Dst, 1830); 1268 dasm_put(Dst, 1853);
1265 } 1269 }
1266 dasm_put(Dst, 1839, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 1270 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);
1267 dasm_put(Dst, 1922, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1271 dasm_put(Dst, 1945, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1268 dasm_put(Dst, 1980, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1272 dasm_put(Dst, 2003, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1269 dasm_put(Dst, 2043, 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)); 1273 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));
1270 dasm_put(Dst, 2115, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1274 dasm_put(Dst, 2138, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1271 if (LJ_DUALNUM) { 1275 if (LJ_DUALNUM) {
1272 dasm_put(Dst, 2204); 1276 dasm_put(Dst, 2227);
1273 } else { 1277 } else {
1274 dasm_put(Dst, 2221); 1278 dasm_put(Dst, 2244);
1275 } 1279 }
1276 if (sse) { 1280 if (sse) {
1277 dasm_put(Dst, 2226); 1281 dasm_put(Dst, 2249);
1278 } else { 1282 } else {
1279 dasm_put(Dst, 2236); 1283 dasm_put(Dst, 2259);
1280 } 1284 }
1281 dasm_put(Dst, 2243, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1285 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));
1282 dasm_put(Dst, 2309, Dt1(->base)); 1286 dasm_put(Dst, 2332, Dt1(->base));
1283 if (LJ_DUALNUM) { 1287 if (LJ_DUALNUM) {
1284 dasm_put(Dst, 2333); 1288 dasm_put(Dst, 2356);
1285 } else { 1289 } else {
1286 dasm_put(Dst, 2338); 1290 dasm_put(Dst, 2361);
1287 } 1291 }
1288 dasm_put(Dst, 2343, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1292 dasm_put(Dst, 2366, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1289 dasm_put(Dst, 2452, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1293 dasm_put(Dst, 2475, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1290#ifdef LUAJIT_ENABLE_LUA52COMPAT 1294#ifdef LUAJIT_ENABLE_LUA52COMPAT
1291 dasm_put(Dst, 2499, Dt6(->metatable)); 1295 dasm_put(Dst, 2522, Dt6(->metatable));
1292#endif 1296#endif
1293 dasm_put(Dst, 2508, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1297 dasm_put(Dst, 2531, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1294 if (LJ_DUALNUM) { 1298 if (LJ_DUALNUM) {
1295 dasm_put(Dst, 2494); 1299 dasm_put(Dst, 2517);
1296 } else { 1300 } else {
1297 dasm_put(Dst, 2221); 1301 dasm_put(Dst, 2244);
1298 } 1302 }
1299 dasm_put(Dst, 2563); 1303 dasm_put(Dst, 2586);
1300 if (LJ_DUALNUM) { 1304 if (LJ_DUALNUM) {
1301 dasm_put(Dst, 2568, LJ_TISNUM); 1305 dasm_put(Dst, 2591, LJ_TISNUM);
1302 } else if (sse) { 1306 } else if (sse) {
1303 dasm_put(Dst, 2584); 1307 dasm_put(Dst, 2607);
1304 } else { 1308 } else {
1305 dasm_put(Dst, 2623); 1309 dasm_put(Dst, 2646);
1306 } 1310 }
1307 dasm_put(Dst, 2641, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1311 dasm_put(Dst, 2664, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1308 dasm_put(Dst, 2479, 1+1, LJ_TTAB); 1312 dasm_put(Dst, 2502, 1+1, LJ_TTAB);
1309#ifdef LUAJIT_ENABLE_LUA52COMPAT 1313#ifdef LUAJIT_ENABLE_LUA52COMPAT
1310 dasm_put(Dst, 2499, Dt6(->metatable)); 1314 dasm_put(Dst, 2522, Dt6(->metatable));
1311#endif 1315#endif
1312 dasm_put(Dst, 2722, Dt8(->upvalue[0]), LJ_TFUNC); 1316 dasm_put(Dst, 2745, Dt8(->upvalue[0]), LJ_TFUNC);
1313 if (LJ_DUALNUM) { 1317 if (LJ_DUALNUM) {
1314 dasm_put(Dst, 2743, LJ_TISNUM); 1318 dasm_put(Dst, 2766, LJ_TISNUM);
1315 } else if (sse) { 1319 } else if (sse) {
1316 dasm_put(Dst, 2755); 1320 dasm_put(Dst, 2778);
1317 } else { 1321 } else {
1318 dasm_put(Dst, 2765); 1322 dasm_put(Dst, 2788);
1319 } 1323 }
1320 dasm_put(Dst, 2772, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1324 dasm_put(Dst, 2795, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1321 dasm_put(Dst, 2836, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1325 dasm_put(Dst, 2859, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1322 dasm_put(Dst, 2924, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1326 dasm_put(Dst, 2947, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1323 dasm_put(Dst, 3025, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1327 dasm_put(Dst, 3048, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1324 dasm_put(Dst, 3139, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1328 dasm_put(Dst, 3162, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1325 dasm_put(Dst, 3237, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1329 dasm_put(Dst, 3260, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1326 dasm_put(Dst, 3303, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1330 dasm_put(Dst, 3326, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1327 dasm_put(Dst, 3404, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1331 dasm_put(Dst, 3427, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1328 dasm_put(Dst, 3517, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1332 dasm_put(Dst, 3540, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1329 if (!LJ_DUALNUM) { 1333 if (!LJ_DUALNUM) {
1330 dasm_put(Dst, 3543); 1334 dasm_put(Dst, 3566);
1331 } 1335 }
1332 if (sse) { 1336 if (sse) {
1333 dasm_put(Dst, 3546); 1337 dasm_put(Dst, 3569);
1334 } 1338 }
1335 dasm_put(Dst, 3561, 1+1); 1339 dasm_put(Dst, 3584, 1+1);
1336 if (LJ_DUALNUM) { 1340 if (LJ_DUALNUM) {
1337 dasm_put(Dst, 3572, LJ_TISNUM, LJ_TISNUM); 1341 dasm_put(Dst, 3595, LJ_TISNUM, LJ_TISNUM);
1338 } else { 1342 } else {
1339 dasm_put(Dst, 3652, LJ_TISNUM); 1343 dasm_put(Dst, 3675, LJ_TISNUM);
1340 } 1344 }
1341 if (sse) { 1345 if (sse) {
1342 dasm_put(Dst, 3662); 1346 dasm_put(Dst, 3685);
1343 } else { 1347 } else {
1344 dasm_put(Dst, 3698); 1348 dasm_put(Dst, 3721);
1345 } 1349 }
1346 dasm_put(Dst, 3715, 1+1, FRAME_TYPE, LJ_TNIL); 1350 dasm_put(Dst, 3738, 1+1, FRAME_TYPE, LJ_TNIL);
1347 if (LJ_DUALNUM) { 1351 if (LJ_DUALNUM) {
1348 dasm_put(Dst, 3807, LJ_TISNUM); 1352 dasm_put(Dst, 3830, LJ_TISNUM);
1349 } else { 1353 } else {
1350 dasm_put(Dst, 3652, LJ_TISNUM); 1354 dasm_put(Dst, 3675, LJ_TISNUM);
1351 } 1355 }
1352 if (sse) { 1356 if (sse) {
1353 dasm_put(Dst, 3829); 1357 dasm_put(Dst, 3852);
1354 if (LJ_DUALNUM) { 1358 if (LJ_DUALNUM) {
1355 dasm_put(Dst, 3838); 1359 dasm_put(Dst, 3861);
1356 } 1360 }
1357 dasm_put(Dst, 2231); 1361 dasm_put(Dst, 2254);
1358 } else { 1362 } else {
1359 dasm_put(Dst, 3872); 1363 dasm_put(Dst, 3895);
1360 if (LJ_DUALNUM) { 1364 if (LJ_DUALNUM) {
1361 dasm_put(Dst, 3878);
1362 if (cmov) {
1363 dasm_put(Dst, 3901); 1365 dasm_put(Dst, 3901);
1366 if (cmov) {
1367 dasm_put(Dst, 3924);
1364 } else { 1368 } else {
1365 dasm_put(Dst, 3907); 1369 dasm_put(Dst, 3930);
1366 } 1370 }
1367 dasm_put(Dst, 3914); 1371 dasm_put(Dst, 3937);
1368 } else { 1372 } else {
1369 dasm_put(Dst, 2238); 1373 dasm_put(Dst, 2261);
1370 } 1374 }
1371 } 1375 }
1372 dasm_put(Dst, 3931); 1376 dasm_put(Dst, 3954);
1373 if (LJ_DUALNUM) { 1377 if (LJ_DUALNUM) {
1374 dasm_put(Dst, 3807, LJ_TISNUM); 1378 dasm_put(Dst, 3830, LJ_TISNUM);
1375 } else { 1379 } else {
1376 dasm_put(Dst, 3652, LJ_TISNUM); 1380 dasm_put(Dst, 3675, LJ_TISNUM);
1377 } 1381 }
1378 if (sse) { 1382 if (sse) {
1379 dasm_put(Dst, 3934); 1383 dasm_put(Dst, 3957);
1380 if (LJ_DUALNUM) { 1384 if (LJ_DUALNUM) {
1381 dasm_put(Dst, 3838); 1385 dasm_put(Dst, 3861);
1382 } 1386 }
1383 dasm_put(Dst, 2231); 1387 dasm_put(Dst, 2254);
1384 } else { 1388 } else {
1385 dasm_put(Dst, 3943); 1389 dasm_put(Dst, 3966);
1386 if (LJ_DUALNUM) { 1390 if (LJ_DUALNUM) {
1387 dasm_put(Dst, 3878);
1388 if (cmov) {
1389 dasm_put(Dst, 3901); 1391 dasm_put(Dst, 3901);
1392 if (cmov) {
1393 dasm_put(Dst, 3924);
1390 } else { 1394 } else {
1391 dasm_put(Dst, 3907); 1395 dasm_put(Dst, 3930);
1392 } 1396 }
1393 dasm_put(Dst, 3914); 1397 dasm_put(Dst, 3937);
1394 } else { 1398 } else {
1395 dasm_put(Dst, 2238); 1399 dasm_put(Dst, 2261);
1396 } 1400 }
1397 } 1401 }
1398 if (sse) { 1402 if (sse) {
1399 dasm_put(Dst, 3949, 1+1, LJ_TISNUM); 1403 dasm_put(Dst, 3972, 1+1, LJ_TISNUM);
1400 } else { 1404 } else {
1401 dasm_put(Dst, 3978, 1+1, LJ_TISNUM); 1405 dasm_put(Dst, 4001, 1+1, LJ_TISNUM);
1402 } 1406 }
1403 dasm_put(Dst, 4007, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1407 dasm_put(Dst, 4030, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1404 dasm_put(Dst, 4076, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1408 dasm_put(Dst, 4099, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1405 dasm_put(Dst, 4133, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1409 dasm_put(Dst, 4156, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1406 dasm_put(Dst, 4196, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1410 dasm_put(Dst, 4219, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1407 dasm_put(Dst, 4286); 1411 dasm_put(Dst, 4309);
1408 if (sse) { 1412 if (sse) {
1409 dasm_put(Dst, 4298, 1+1, LJ_TISNUM); 1413 dasm_put(Dst, 4321, 1+1, LJ_TISNUM);
1410 } else { 1414 } else {
1411 dasm_put(Dst, 4329, 1+1, LJ_TISNUM); 1415 dasm_put(Dst, 4352, 1+1, LJ_TISNUM);
1412 } 1416 }
1413 dasm_put(Dst, 4354); 1417 dasm_put(Dst, 4377);
1414 if (sse) { 1418 if (sse) {
1415 dasm_put(Dst, 4368, 1+1, LJ_TISNUM); 1419 dasm_put(Dst, 4391, 1+1, LJ_TISNUM);
1416 } else { 1420 } else {
1417 dasm_put(Dst, 4399, 1+1, LJ_TISNUM); 1421 dasm_put(Dst, 4422, 1+1, LJ_TISNUM);
1418 } 1422 }
1419 dasm_put(Dst, 4424); 1423 dasm_put(Dst, 4447);
1420 if (sse) { 1424 if (sse) {
1421 dasm_put(Dst, 4438, 1+1, LJ_TISNUM); 1425 dasm_put(Dst, 4461, 1+1, LJ_TISNUM);
1422 } else { 1426 } else {
1423 dasm_put(Dst, 4469, 1+1, LJ_TISNUM); 1427 dasm_put(Dst, 4492, 1+1, LJ_TISNUM);
1424 } 1428 }
1425 dasm_put(Dst, 4494); 1429 dasm_put(Dst, 4517);
1426 if (sse) { 1430 if (sse) {
1427 dasm_put(Dst, 4510, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1431 dasm_put(Dst, 4533, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1428 } else { 1432 } else {
1429 dasm_put(Dst, 4549, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1433 dasm_put(Dst, 4572, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1430 } 1434 }
1431 dasm_put(Dst, 4582, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1435 dasm_put(Dst, 4605, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 dasm_put(Dst, 4647, 1+1, LJ_TISNUM); 1436 dasm_put(Dst, 4670, 1+1, LJ_TISNUM);
1433 if (sse) { 1437 if (sse) {
1434 dasm_put(Dst, 4746); 1438 dasm_put(Dst, 4769);
1435 } else { 1439 } else {
1436 dasm_put(Dst, 4752); 1440 dasm_put(Dst, 4775);
1437 } 1441 }
1438 dasm_put(Dst, 4761); 1442 dasm_put(Dst, 4784);
1439 if (sse) { 1443 if (sse) {
1440 dasm_put(Dst, 4786); 1444 dasm_put(Dst, 4809);
1441 } else { 1445 } else {
1442 dasm_put(Dst, 4792); 1446 dasm_put(Dst, 4815);
1443 } 1447 }
1444 dasm_put(Dst, 4795, 1+2); 1448 dasm_put(Dst, 4818, 1+2);
1445 if (sse) { 1449 if (sse) {
1446 dasm_put(Dst, 4804); 1450 dasm_put(Dst, 4827);
1447 } else { 1451 } else {
1448 dasm_put(Dst, 4812); 1452 dasm_put(Dst, 4835);
1449 } 1453 }
1450 dasm_put(Dst, 4820); 1454 dasm_put(Dst, 4843);
1451 if (sse) { 1455 if (sse) {
1452 dasm_put(Dst, 4823); 1456 dasm_put(Dst, 4846);
1453 } else { 1457 } else {
1454 dasm_put(Dst, 4855); 1458 dasm_put(Dst, 4878);
1455 } 1459 }
1456 dasm_put(Dst, 4874); 1460 dasm_put(Dst, 4897);
1457 if (sse) { 1461 if (sse) {
1458 dasm_put(Dst, 4890, 1+1, LJ_TISNUM); 1462 dasm_put(Dst, 4913, 1+1, LJ_TISNUM);
1459 } else { 1463 } else {
1460 dasm_put(Dst, 4915, 1+1, LJ_TISNUM); 1464 dasm_put(Dst, 4938, 1+1, LJ_TISNUM);
1461 } 1465 }
1462 dasm_put(Dst, 4937); 1466 dasm_put(Dst, 4960);
1463 if (sse) { 1467 if (sse) {
1464 dasm_put(Dst, 4959); 1468 dasm_put(Dst, 4982);
1465 } else { 1469 } else {
1466 dasm_put(Dst, 4985); 1470 dasm_put(Dst, 5008);
1467 } 1471 }
1468 dasm_put(Dst, 5002, 1+2); 1472 dasm_put(Dst, 5025, 1+2);
1469 if (sse) { 1473 if (sse) {
1470 dasm_put(Dst, 5042); 1474 dasm_put(Dst, 5065);
1471 } else { 1475 } else {
1472 dasm_put(Dst, 5050); 1476 dasm_put(Dst, 5073);
1473 } 1477 }
1474 dasm_put(Dst, 5060, 2+1, LJ_TISNUM, LJ_TISNUM); 1478 dasm_put(Dst, 5083, 2+1, LJ_TISNUM, LJ_TISNUM);
1475 if (sse) { 1479 if (sse) {
1476 dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM); 1480 dasm_put(Dst, 5135, 2+1, LJ_TISNUM, LJ_TISNUM);
1477 } else { 1481 } else {
1478 dasm_put(Dst, 5159, 2+1, LJ_TISNUM, LJ_TISNUM); 1482 dasm_put(Dst, 5182, 2+1, LJ_TISNUM, LJ_TISNUM);
1479 } 1483 }
1480 dasm_put(Dst, 5200, LJ_TISNUM); 1484 dasm_put(Dst, 5223, LJ_TISNUM);
1481 if (LJ_DUALNUM) { 1485 if (LJ_DUALNUM) {
1482 dasm_put(Dst, 5213, LJ_TISNUM); 1486 dasm_put(Dst, 5236, LJ_TISNUM);
1483 if (sse) { 1487 if (sse) {
1484 dasm_put(Dst, 4746); 1488 dasm_put(Dst, 4769);
1485 } else { 1489 } else {
1486 dasm_put(Dst, 4752); 1490 dasm_put(Dst, 4775);
1487 } 1491 }
1488 dasm_put(Dst, 5263); 1492 dasm_put(Dst, 5286);
1489 } else { 1493 } else {
1490 dasm_put(Dst, 2221); 1494 dasm_put(Dst, 2244);
1491 } 1495 }
1492 if (sse) { 1496 if (sse) {
1493 dasm_put(Dst, 5274, LJ_TISNUM); 1497 dasm_put(Dst, 5297, LJ_TISNUM);
1494 if (LJ_DUALNUM) { 1498 if (LJ_DUALNUM) {
1495 dasm_put(Dst, 5295); 1499 dasm_put(Dst, 5318);
1496 } else { 1500 } else {
1497 dasm_put(Dst, 2221); 1501 dasm_put(Dst, 2244);
1498 } 1502 }
1499 dasm_put(Dst, 5316); 1503 dasm_put(Dst, 5339);
1500 } else { 1504 } else {
1501 dasm_put(Dst, 5341, LJ_TISNUM); 1505 dasm_put(Dst, 5364, LJ_TISNUM);
1502 if (LJ_DUALNUM) { 1506 if (LJ_DUALNUM) {
1503 dasm_put(Dst, 5359); 1507 dasm_put(Dst, 5382);
1504 } else { 1508 } else {
1505 dasm_put(Dst, 5377); 1509 dasm_put(Dst, 5400);
1506 } 1510 }
1507 dasm_put(Dst, 5382); 1511 dasm_put(Dst, 5405);
1508 if (cmov) { 1512 if (cmov) {
1509 dasm_put(Dst, 5392); 1513 dasm_put(Dst, 5415);
1510 } else { 1514 } else {
1511 dasm_put(Dst, 5400); 1515 dasm_put(Dst, 5423);
1512 } 1516 }
1513 dasm_put(Dst, 5333); 1517 dasm_put(Dst, 5356);
1514 } 1518 }
1515 dasm_put(Dst, 5421, LJ_TISNUM); 1519 dasm_put(Dst, 5444, LJ_TISNUM);
1516 if (LJ_DUALNUM) { 1520 if (LJ_DUALNUM) {
1517 dasm_put(Dst, 5434, LJ_TISNUM); 1521 dasm_put(Dst, 5457, LJ_TISNUM);
1518 if (sse) { 1522 if (sse) {
1519 dasm_put(Dst, 4746); 1523 dasm_put(Dst, 4769);
1520 } else { 1524 } else {
1521 dasm_put(Dst, 4752); 1525 dasm_put(Dst, 4775);
1522 } 1526 }
1523 dasm_put(Dst, 5263); 1527 dasm_put(Dst, 5286);
1524 } else { 1528 } else {
1525 dasm_put(Dst, 2221); 1529 dasm_put(Dst, 2244);
1526 } 1530 }
1527 if (sse) { 1531 if (sse) {
1528 dasm_put(Dst, 5274, LJ_TISNUM); 1532 dasm_put(Dst, 5297, LJ_TISNUM);
1529 if (LJ_DUALNUM) { 1533 if (LJ_DUALNUM) {
1530 dasm_put(Dst, 5295); 1534 dasm_put(Dst, 5318);
1531 } else { 1535 } else {
1532 dasm_put(Dst, 2221); 1536 dasm_put(Dst, 2244);
1533 } 1537 }
1534 dasm_put(Dst, 5484); 1538 dasm_put(Dst, 5507);
1535 } else { 1539 } else {
1536 dasm_put(Dst, 5341, LJ_TISNUM); 1540 dasm_put(Dst, 5364, LJ_TISNUM);
1537 if (LJ_DUALNUM) { 1541 if (LJ_DUALNUM) {
1538 dasm_put(Dst, 5359); 1542 dasm_put(Dst, 5382);
1539 } else { 1543 } else {
1540 dasm_put(Dst, 5377); 1544 dasm_put(Dst, 5400);
1541 } 1545 }
1542 dasm_put(Dst, 5382); 1546 dasm_put(Dst, 5405);
1543 if (cmov) { 1547 if (cmov) {
1544 dasm_put(Dst, 5509); 1548 dasm_put(Dst, 5532);
1545 } else { 1549 } else {
1546 dasm_put(Dst, 5517); 1550 dasm_put(Dst, 5540);
1547 } 1551 }
1548 dasm_put(Dst, 5333); 1552 dasm_put(Dst, 5356);
1549 } 1553 }
1550 if (!sse) { 1554 if (!sse) {
1551 dasm_put(Dst, 5538); 1555 dasm_put(Dst, 5561);
1552 } 1556 }
1553 dasm_put(Dst, 5547, 1+1, LJ_TSTR); 1557 dasm_put(Dst, 5570, 1+1, LJ_TSTR);
1554 if (LJ_DUALNUM) { 1558 if (LJ_DUALNUM) {
1555 dasm_put(Dst, 5569, Dt5(->len)); 1559 dasm_put(Dst, 5592, Dt5(->len));
1556 } else if (sse) { 1560 } else if (sse) {
1557 dasm_put(Dst, 5577, Dt5(->len)); 1561 dasm_put(Dst, 5600, Dt5(->len));
1558 } else { 1562 } else {
1559 dasm_put(Dst, 5588, Dt5(->len)); 1563 dasm_put(Dst, 5611, Dt5(->len));
1560 } 1564 }
1561 dasm_put(Dst, 5596, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1565 dasm_put(Dst, 5619, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1562 if (LJ_DUALNUM) { 1566 if (LJ_DUALNUM) {
1563 dasm_put(Dst, 3926); 1567 dasm_put(Dst, 3949);
1564 } else if (sse) { 1568 } else if (sse) {
1565 dasm_put(Dst, 5634); 1569 dasm_put(Dst, 5657);
1566 } else { 1570 } else {
1567 dasm_put(Dst, 5644); 1571 dasm_put(Dst, 5667);
1568 } 1572 }
1569 dasm_put(Dst, 5657, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1573 dasm_put(Dst, 5680, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1570 if (LJ_DUALNUM) { 1574 if (LJ_DUALNUM) {
1571 dasm_put(Dst, 5688);
1572 } else if (sse) {
1573 dasm_put(Dst, 5711); 1575 dasm_put(Dst, 5711);
1576 } else if (sse) {
1577 dasm_put(Dst, 5734);
1574 } else { 1578 } else {
1575 dasm_put(Dst, 5737); 1579 dasm_put(Dst, 5760);
1576 } 1580 }
1577 dasm_put(Dst, 5761, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1581 dasm_put(Dst, 5784, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1578 if (LJ_DUALNUM) { 1582 if (LJ_DUALNUM) {
1579 dasm_put(Dst, 5864); 1583 dasm_put(Dst, 5887);
1580 } else if (sse) { 1584 } else if (sse) {
1581 dasm_put(Dst, 5876); 1585 dasm_put(Dst, 5899);
1582 } else { 1586 } else {
1583 dasm_put(Dst, 5891); 1587 dasm_put(Dst, 5914);
1584 } 1588 }
1585 dasm_put(Dst, 5903, LJ_TSTR, LJ_TISNUM); 1589 dasm_put(Dst, 5926, LJ_TSTR, LJ_TISNUM);
1586 if (LJ_DUALNUM) { 1590 if (LJ_DUALNUM) {
1587 dasm_put(Dst, 2494); 1591 dasm_put(Dst, 2517);
1588 } else { 1592 } else {
1589 dasm_put(Dst, 2221); 1593 dasm_put(Dst, 2244);
1590 } 1594 }
1591 dasm_put(Dst, 5920, Dt5(->len)); 1595 dasm_put(Dst, 5943, Dt5(->len));
1592 if (LJ_DUALNUM) { 1596 if (LJ_DUALNUM) {
1593 dasm_put(Dst, 5930); 1597 dasm_put(Dst, 5953);
1594 } else if (sse) { 1598 } else if (sse) {
1595 dasm_put(Dst, 5934); 1599 dasm_put(Dst, 5957);
1596 } else { 1600 } else {
1597 dasm_put(Dst, 5941); 1601 dasm_put(Dst, 5964);
1598 } 1602 }
1599 dasm_put(Dst, 5953, sizeof(GCstr)-1); 1603 dasm_put(Dst, 5976, sizeof(GCstr)-1);
1600 dasm_put(Dst, 6028, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1604 dasm_put(Dst, 6051, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1601 dasm_put(Dst, 6087, LJ_TSTR, LJ_TISNUM); 1605 dasm_put(Dst, 6110, LJ_TSTR, LJ_TISNUM);
1602 if (LJ_DUALNUM) { 1606 if (LJ_DUALNUM) {
1603 dasm_put(Dst, 6104); 1607 dasm_put(Dst, 6127);
1604 } else if (sse) { 1608 } else if (sse) {
1605 dasm_put(Dst, 6112); 1609 dasm_put(Dst, 6135);
1606 } else { 1610 } else {
1607 dasm_put(Dst, 6123); 1611 dasm_put(Dst, 6146);
1608 } 1612 }
1609 dasm_put(Dst, 6139, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1613 dasm_put(Dst, 6162, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1610 dasm_put(Dst, 6204, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1614 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));
1611 dasm_put(Dst, 6267, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1615 dasm_put(Dst, 6290, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1612 dasm_put(Dst, 6338, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1616 dasm_put(Dst, 6361, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1613 dasm_put(Dst, 6423, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1617 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));
1614 dasm_put(Dst, 6493, 1+1, LJ_TTAB); 1618 dasm_put(Dst, 6516, 1+1, LJ_TTAB);
1615 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1616 dasm_put(Dst, 6561); 1620 dasm_put(Dst, 6584);
1617 } else if (sse) { 1621 } else if (sse) {
1618 dasm_put(Dst, 6568); 1622 dasm_put(Dst, 6591);
1619 } else { 1623 } else {
1620 dasm_put(Dst, 6578); 1624 dasm_put(Dst, 6601);
1621 } 1625 }
1622 dasm_put(Dst, 6589, LJ_TISNUM); 1626 dasm_put(Dst, 6612, LJ_TISNUM);
1623 if (LJ_DUALNUM) { 1627 if (LJ_DUALNUM) {
1624 dasm_put(Dst, 6597); 1628 dasm_put(Dst, 6620);
1625 } else { 1629 } else {
1626 dasm_put(Dst, 2221); 1630 dasm_put(Dst, 2244);
1627 } 1631 }
1628 if (sse) { 1632 if (sse) {
1629 dasm_put(Dst, 6614); 1633 dasm_put(Dst, 6637);
1630 } else { 1634 } else {
1631 dasm_put(Dst, 6643); 1635 dasm_put(Dst, 6666);
1632 } 1636 }
1633 dasm_put(Dst, 111); 1637 dasm_put(Dst, 111);
1634 if (LJ_DUALNUM || sse) { 1638 if (LJ_DUALNUM || sse) {
1635 if (!sse) { 1639 if (!sse) {
1636 dasm_put(Dst, 6661); 1640 dasm_put(Dst, 6684);
1637 } 1641 }
1638 dasm_put(Dst, 6665); 1642 dasm_put(Dst, 6688);
1639 } else { 1643 } else {
1640 dasm_put(Dst, 6581); 1644 dasm_put(Dst, 6604);
1641 } 1645 }
1642 dasm_put(Dst, 6670); 1646 dasm_put(Dst, 6693);
1643 if (sse) { 1647 if (sse) {
1644 dasm_put(Dst, 6673); 1648 dasm_put(Dst, 6696);
1645 } else { 1649 } else {
1646 dasm_put(Dst, 6688); 1650 dasm_put(Dst, 6711);
1647 } 1651 }
1648 dasm_put(Dst, 2198, LJ_TISNUM); 1652 dasm_put(Dst, 2221, LJ_TISNUM);
1649 if (LJ_DUALNUM) { 1653 if (LJ_DUALNUM) {
1650 dasm_put(Dst, 6697); 1654 dasm_put(Dst, 6720);
1651 } else { 1655 } else {
1652 dasm_put(Dst, 2221); 1656 dasm_put(Dst, 2244);
1653 } 1657 }
1654 if (sse) { 1658 if (sse) {
1655 dasm_put(Dst, 6714); 1659 dasm_put(Dst, 6737);
1656 } else { 1660 } else {
1657 dasm_put(Dst, 6729); 1661 dasm_put(Dst, 6752);
1658 } 1662 }
1659 dasm_put(Dst, 6742, LJ_TISNUM); 1663 dasm_put(Dst, 6765, LJ_TISNUM);
1660 if (LJ_DUALNUM) { 1664 if (LJ_DUALNUM) {
1661 dasm_put(Dst, 6767); 1665 dasm_put(Dst, 6790);
1662 } else { 1666 } else {
1663 dasm_put(Dst, 6787); 1667 dasm_put(Dst, 6810);
1664 } 1668 }
1665 if (sse) { 1669 if (sse) {
1666 dasm_put(Dst, 6792); 1670 dasm_put(Dst, 6815);
1667 } else { 1671 } else {
1668 dasm_put(Dst, 6809); 1672 dasm_put(Dst, 6832);
1669 } 1673 }
1670 dasm_put(Dst, 6822); 1674 dasm_put(Dst, 6845);
1671 if (sse) { 1675 if (sse) {
1672 dasm_put(Dst, 6673); 1676 dasm_put(Dst, 6696);
1673 } else { 1677 } else {
1674 dasm_put(Dst, 6688); 1678 dasm_put(Dst, 6711);
1675 } 1679 }
1676 dasm_put(Dst, 2198, LJ_TISNUM); 1680 dasm_put(Dst, 2221, LJ_TISNUM);
1677 if (LJ_DUALNUM) { 1681 if (LJ_DUALNUM) {
1678 dasm_put(Dst, 6697); 1682 dasm_put(Dst, 6720);
1679 } else { 1683 } else {
1680 dasm_put(Dst, 2221); 1684 dasm_put(Dst, 2244);
1681 } 1685 }
1682 if (sse) { 1686 if (sse) {
1683 dasm_put(Dst, 6714); 1687 dasm_put(Dst, 6737);
1684 } else { 1688 } else {
1685 dasm_put(Dst, 6729); 1689 dasm_put(Dst, 6752);
1686 } 1690 }
1687 dasm_put(Dst, 6742, LJ_TISNUM); 1691 dasm_put(Dst, 6765, LJ_TISNUM);
1688 if (LJ_DUALNUM) { 1692 if (LJ_DUALNUM) {
1689 dasm_put(Dst, 6832); 1693 dasm_put(Dst, 6855);
1690 } else { 1694 } else {
1691 dasm_put(Dst, 6787); 1695 dasm_put(Dst, 6810);
1692 } 1696 }
1693 if (sse) { 1697 if (sse) {
1694 dasm_put(Dst, 6852); 1698 dasm_put(Dst, 6875);
1695 } else { 1699 } else {
1696 dasm_put(Dst, 6869); 1700 dasm_put(Dst, 6892);
1697 } 1701 }
1698 dasm_put(Dst, 6882); 1702 dasm_put(Dst, 6905);
1699 if (sse) { 1703 if (sse) {
1700 dasm_put(Dst, 6673); 1704 dasm_put(Dst, 6696);
1701 } else { 1705 } else {
1702 dasm_put(Dst, 6688); 1706 dasm_put(Dst, 6711);
1703 } 1707 }
1704 dasm_put(Dst, 2198, LJ_TISNUM); 1708 dasm_put(Dst, 2221, LJ_TISNUM);
1705 if (LJ_DUALNUM) { 1709 if (LJ_DUALNUM) {
1706 dasm_put(Dst, 6697); 1710 dasm_put(Dst, 6720);
1707 } else { 1711 } else {
1708 dasm_put(Dst, 2221); 1712 dasm_put(Dst, 2244);
1709 } 1713 }
1710 if (sse) { 1714 if (sse) {
1711 dasm_put(Dst, 6714); 1715 dasm_put(Dst, 6737);
1712 } else { 1716 } else {
1713 dasm_put(Dst, 6729); 1717 dasm_put(Dst, 6752);
1714 } 1718 }
1715 dasm_put(Dst, 6742, LJ_TISNUM); 1719 dasm_put(Dst, 6765, LJ_TISNUM);
1716 if (LJ_DUALNUM) { 1720 if (LJ_DUALNUM) {
1717 dasm_put(Dst, 6892); 1721 dasm_put(Dst, 6915);
1718 } else { 1722 } else {
1719 dasm_put(Dst, 6787); 1723 dasm_put(Dst, 6810);
1720 } 1724 }
1721 if (sse) { 1725 if (sse) {
1722 dasm_put(Dst, 6912); 1726 dasm_put(Dst, 6935);
1723 } else { 1727 } else {
1724 dasm_put(Dst, 6929); 1728 dasm_put(Dst, 6952);
1725 } 1729 }
1726 dasm_put(Dst, 6942, LJ_TISNUM); 1730 dasm_put(Dst, 6965, LJ_TISNUM);
1727 if (LJ_DUALNUM) { 1731 if (LJ_DUALNUM) {
1728 dasm_put(Dst, 6697); 1732 dasm_put(Dst, 6720);
1729 } else { 1733 } else {
1730 dasm_put(Dst, 2221); 1734 dasm_put(Dst, 2244);
1731 } 1735 }
1732 if (sse) { 1736 if (sse) {
1733 dasm_put(Dst, 6614); 1737 dasm_put(Dst, 6637);
1734 } else { 1738 } else {
1735 dasm_put(Dst, 6957); 1739 dasm_put(Dst, 6980);
1736 } 1740 }
1737 dasm_put(Dst, 6978, LJ_TISNUM); 1741 dasm_put(Dst, 7001, LJ_TISNUM);
1738 if (LJ_DUALNUM) { 1742 if (LJ_DUALNUM) {
1739 dasm_put(Dst, 6697); 1743 dasm_put(Dst, 6720);
1740 } else { 1744 } else {
1741 dasm_put(Dst, 2221); 1745 dasm_put(Dst, 2244);
1742 } 1746 }
1743 if (sse) { 1747 if (sse) {
1744 dasm_put(Dst, 6614); 1748 dasm_put(Dst, 6637);
1745 } else { 1749 } else {
1746 dasm_put(Dst, 6957); 1750 dasm_put(Dst, 6980);
1747 } 1751 }
1748 dasm_put(Dst, 6994); 1752 dasm_put(Dst, 7017);
1749 if (LJ_DUALNUM) { 1753 if (LJ_DUALNUM) {
1750 dasm_put(Dst, 6665); 1754 dasm_put(Dst, 6688);
1751 } else if (sse) { 1755 } else if (sse) {
1752 dasm_put(Dst, 7000); 1756 dasm_put(Dst, 7023);
1753 } else { 1757 } else {
1754 dasm_put(Dst, 7012); 1758 dasm_put(Dst, 7035);
1755 } 1759 }
1756 dasm_put(Dst, 7025); 1760 dasm_put(Dst, 7048);
1757 if (LJ_DUALNUM) { 1761 if (LJ_DUALNUM) {
1758 dasm_put(Dst, 7036, LJ_TISNUM); 1762 dasm_put(Dst, 7059, LJ_TISNUM);
1759 if (LJ_DUALNUM) { 1763 if (LJ_DUALNUM) {
1760 dasm_put(Dst, 6697); 1764 dasm_put(Dst, 6720);
1761 } else { 1765 } else {
1762 dasm_put(Dst, 2221); 1766 dasm_put(Dst, 2244);
1763 } 1767 }
1764 if (sse) { 1768 if (sse) {
1765 dasm_put(Dst, 6614); 1769 dasm_put(Dst, 6637);
1766 } else { 1770 } else {
1767 dasm_put(Dst, 6957); 1771 dasm_put(Dst, 6980);
1768 } 1772 }
1769 dasm_put(Dst, 7044, LJ_TISNUM); 1773 dasm_put(Dst, 7067, LJ_TISNUM);
1770 } else if (sse) { 1774 } else if (sse) {
1771 dasm_put(Dst, 7059, 2+1, LJ_TISNUM, LJ_TISNUM); 1775 dasm_put(Dst, 7082, 2+1, LJ_TISNUM, LJ_TISNUM);
1772 } else { 1776 } else {
1773 dasm_put(Dst, 7131, 2+1, LJ_TISNUM, LJ_TISNUM); 1777 dasm_put(Dst, 7154, 2+1, LJ_TISNUM, LJ_TISNUM);
1774 } 1778 }
1775 dasm_put(Dst, 7195); 1779 dasm_put(Dst, 7218);
1776 if (LJ_DUALNUM) { 1780 if (LJ_DUALNUM) {
1777 dasm_put(Dst, 7202, LJ_TISNUM); 1781 dasm_put(Dst, 7225, LJ_TISNUM);
1778 if (LJ_DUALNUM) { 1782 if (LJ_DUALNUM) {
1779 dasm_put(Dst, 6697); 1783 dasm_put(Dst, 6720);
1780 } else { 1784 } else {
1781 dasm_put(Dst, 2221); 1785 dasm_put(Dst, 2244);
1782 } 1786 }
1783 if (sse) { 1787 if (sse) {
1784 dasm_put(Dst, 6614); 1788 dasm_put(Dst, 6637);
1785 } else { 1789 } else {
1786 dasm_put(Dst, 6957); 1790 dasm_put(Dst, 6980);
1787 } 1791 }
1788 dasm_put(Dst, 7044, LJ_TISNUM); 1792 dasm_put(Dst, 7067, LJ_TISNUM);
1789 } else if (sse) { 1793 } else if (sse) {
1790 dasm_put(Dst, 7210, 2+1, LJ_TISNUM, LJ_TISNUM); 1794 dasm_put(Dst, 7233, 2+1, LJ_TISNUM, LJ_TISNUM);
1791 } else { 1795 } else {
1792 dasm_put(Dst, 7282, 2+1, LJ_TISNUM, LJ_TISNUM); 1796 dasm_put(Dst, 7305, 2+1, LJ_TISNUM, LJ_TISNUM);
1793 } 1797 }
1794 dasm_put(Dst, 7346); 1798 dasm_put(Dst, 7369);
1795 if (LJ_DUALNUM) { 1799 if (LJ_DUALNUM) {
1796 dasm_put(Dst, 7354, LJ_TISNUM); 1800 dasm_put(Dst, 7377, LJ_TISNUM);
1797 if (LJ_DUALNUM) { 1801 if (LJ_DUALNUM) {
1798 dasm_put(Dst, 6697); 1802 dasm_put(Dst, 6720);
1799 } else { 1803 } else {
1800 dasm_put(Dst, 2221); 1804 dasm_put(Dst, 2244);
1801 } 1805 }
1802 if (sse) { 1806 if (sse) {
1803 dasm_put(Dst, 6614); 1807 dasm_put(Dst, 6637);
1804 } else { 1808 } else {
1805 dasm_put(Dst, 6957); 1809 dasm_put(Dst, 6980);
1806 } 1810 }
1807 dasm_put(Dst, 7044, LJ_TISNUM); 1811 dasm_put(Dst, 7067, LJ_TISNUM);
1808 } else if (sse) { 1812 } else if (sse) {
1809 dasm_put(Dst, 7362, 2+1, LJ_TISNUM, LJ_TISNUM); 1813 dasm_put(Dst, 7385, 2+1, LJ_TISNUM, LJ_TISNUM);
1810 } else { 1814 } else {
1811 dasm_put(Dst, 7434, 2+1, LJ_TISNUM, LJ_TISNUM); 1815 dasm_put(Dst, 7457, 2+1, LJ_TISNUM, LJ_TISNUM);
1812 } 1816 }
1813 dasm_put(Dst, 7498); 1817 dasm_put(Dst, 7521);
1814 if (LJ_DUALNUM) { 1818 if (LJ_DUALNUM) {
1815 dasm_put(Dst, 7506, LJ_TISNUM); 1819 dasm_put(Dst, 7529, LJ_TISNUM);
1816 if (LJ_DUALNUM) { 1820 if (LJ_DUALNUM) {
1817 dasm_put(Dst, 6697); 1821 dasm_put(Dst, 6720);
1818 } else { 1822 } else {
1819 dasm_put(Dst, 2221); 1823 dasm_put(Dst, 2244);
1820 } 1824 }
1821 if (sse) { 1825 if (sse) {
1822 dasm_put(Dst, 6614); 1826 dasm_put(Dst, 6637);
1823 } else { 1827 } else {
1824 dasm_put(Dst, 6957); 1828 dasm_put(Dst, 6980);
1825 } 1829 }
1826 dasm_put(Dst, 7044, LJ_TISNUM); 1830 dasm_put(Dst, 7067, LJ_TISNUM);
1827 } else if (sse) { 1831 } else if (sse) {
1828 dasm_put(Dst, 7514, 2+1, LJ_TISNUM, LJ_TISNUM); 1832 dasm_put(Dst, 7537, 2+1, LJ_TISNUM, LJ_TISNUM);
1829 } else { 1833 } else {
1830 dasm_put(Dst, 7586, 2+1, LJ_TISNUM, LJ_TISNUM); 1834 dasm_put(Dst, 7609, 2+1, LJ_TISNUM, LJ_TISNUM);
1831 } 1835 }
1832 dasm_put(Dst, 7650); 1836 dasm_put(Dst, 7673);
1833 if (LJ_DUALNUM) { 1837 if (LJ_DUALNUM) {
1834 dasm_put(Dst, 7657, LJ_TISNUM); 1838 dasm_put(Dst, 7680, LJ_TISNUM);
1835 if (LJ_DUALNUM) { 1839 if (LJ_DUALNUM) {
1836 dasm_put(Dst, 6697); 1840 dasm_put(Dst, 6720);
1837 } else { 1841 } else {
1838 dasm_put(Dst, 2221); 1842 dasm_put(Dst, 2244);
1839 } 1843 }
1840 if (sse) { 1844 if (sse) {
1841 dasm_put(Dst, 6614); 1845 dasm_put(Dst, 6637);
1842 } else { 1846 } else {
1843 dasm_put(Dst, 6957); 1847 dasm_put(Dst, 6980);
1844 } 1848 }
1845 dasm_put(Dst, 7044, LJ_TISNUM); 1849 dasm_put(Dst, 7067, LJ_TISNUM);
1846 } else if (sse) { 1850 } else if (sse) {
1847 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM); 1851 dasm_put(Dst, 7688, 2+1, LJ_TISNUM, LJ_TISNUM);
1848 } else { 1852 } else {
1849 dasm_put(Dst, 7737, 2+1, LJ_TISNUM, LJ_TISNUM); 1853 dasm_put(Dst, 7760, 2+1, LJ_TISNUM, LJ_TISNUM);
1850 } 1854 }
1851 dasm_put(Dst, 7801, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1855 dasm_put(Dst, 7824, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1852 dasm_put(Dst, 7877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1856 dasm_put(Dst, 7900, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1853 dasm_put(Dst, 8001, Dt1(->top), Dt1(->base), Dt1(->top)); 1857 dasm_put(Dst, 8024, Dt1(->top), Dt1(->base), Dt1(->top));
1854#if LJ_HASJIT 1858#if LJ_HASJIT
1855 dasm_put(Dst, 8039, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1859 dasm_put(Dst, 8062, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1856#endif 1860#endif
1857 dasm_put(Dst, 8070, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1861 dasm_put(Dst, 8093, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1858 dasm_put(Dst, 8121, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1862 dasm_put(Dst, 8144, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1859#if LJ_HASJIT 1863#if LJ_HASJIT
1860 dasm_put(Dst, 8187, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1864 dasm_put(Dst, 8210, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1861#endif 1865#endif
1862 dasm_put(Dst, 8233); 1866 dasm_put(Dst, 8256);
1863#if LJ_HASJIT 1867#if LJ_HASJIT
1864 dasm_put(Dst, 8065); 1868 dasm_put(Dst, 8088);
1865#endif 1869#endif
1866 dasm_put(Dst, 8240); 1870 dasm_put(Dst, 8263);
1867#if LJ_HASJIT 1871#if LJ_HASJIT
1868 dasm_put(Dst, 8243); 1872 dasm_put(Dst, 8266);
1869#endif 1873#endif
1870 dasm_put(Dst, 8253, Dt1(->base), Dt1(->top)); 1874 dasm_put(Dst, 8276, Dt1(->base), Dt1(->top));
1871#if LJ_HASJIT 1875#if LJ_HASJIT
1872 dasm_put(Dst, 8287); 1876 dasm_put(Dst, 8310);
1873#endif 1877#endif
1874 dasm_put(Dst, 8292, Dt1(->base), Dt1(->top)); 1878 dasm_put(Dst, 8315, Dt1(->base), Dt1(->top));
1875#if LJ_HASJIT 1879#if LJ_HASJIT
1876 dasm_put(Dst, 8321, 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); 1880 dasm_put(Dst, 8344, 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);
1877#endif 1881#endif
1878 dasm_put(Dst, 8464); 1882 dasm_put(Dst, 8487);
1879#if LJ_HASJIT 1883#if LJ_HASJIT
1880 dasm_put(Dst, 8467, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1884 dasm_put(Dst, 8490, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1881#endif 1885#endif
1882 dasm_put(Dst, 8545); 1886 dasm_put(Dst, 8568);
1883 if (!sse) { 1887 if (!sse) {
1884 dasm_put(Dst, 8548); 1888 dasm_put(Dst, 8571);
1885 } 1889 }
1886 dasm_put(Dst, 8593); 1890 dasm_put(Dst, 8616);
1887 if (!sse) { 1891 if (!sse) {
1888 dasm_put(Dst, 8695); 1892 dasm_put(Dst, 8718);
1889 } 1893 }
1890 dasm_put(Dst, 8740); 1894 dasm_put(Dst, 8763);
1891 if (!sse) { 1895 if (!sse) {
1892 dasm_put(Dst, 8842); 1896 dasm_put(Dst, 8865);
1893 } 1897 }
1894 dasm_put(Dst, 8881); 1898 dasm_put(Dst, 8904);
1895 if (sse) { 1899 if (sse) {
1896 dasm_put(Dst, 8986); 1900 dasm_put(Dst, 9009);
1897 } else { 1901 } else {
1898 dasm_put(Dst, 9116); 1902 dasm_put(Dst, 9139);
1899 } 1903 }
1900 dasm_put(Dst, 9163); 1904 dasm_put(Dst, 9186);
1901 if (!sse) { 1905 if (!sse) {
1902 dasm_put(Dst, 9237); 1906 dasm_put(Dst, 9260);
1903 if (cmov) { 1907 if (cmov) {
1904 dasm_put(Dst, 9248); 1908 dasm_put(Dst, 9271);
1905 } else { 1909 } else {
1906 dasm_put(Dst, 9252); 1910 dasm_put(Dst, 9275);
1907 } 1911 }
1908 dasm_put(Dst, 9259); 1912 dasm_put(Dst, 9282);
1909 dasm_put(Dst, 9333); 1913 dasm_put(Dst, 9356);
1910 dasm_put(Dst, 9433); 1914 dasm_put(Dst, 9456);
1911 if (cmov) { 1915 if (cmov) {
1912 dasm_put(Dst, 9436); 1916 dasm_put(Dst, 9459);
1913 } else { 1917 } else {
1914 dasm_put(Dst, 9440); 1918 dasm_put(Dst, 9463);
1915 } 1919 }
1916 dasm_put(Dst, 9447); 1920 dasm_put(Dst, 9470);
1917 if (cmov) { 1921 if (cmov) {
1918 dasm_put(Dst, 9248); 1922 dasm_put(Dst, 9271);
1919 } else { 1923 } else {
1920 dasm_put(Dst, 9252); 1924 dasm_put(Dst, 9275);
1921 } 1925 }
1922 dasm_put(Dst, 9465); 1926 dasm_put(Dst, 9488);
1923 } else { 1927 } else {
1924 dasm_put(Dst, 9544); 1928 dasm_put(Dst, 9567);
1925 } 1929 }
1926 dasm_put(Dst, 9547); 1930 dasm_put(Dst, 9570);
1927 dasm_put(Dst, 9632); 1931 dasm_put(Dst, 9655);
1928 dasm_put(Dst, 9762); 1932 dasm_put(Dst, 9785);
1929 dasm_put(Dst, 9968); 1933 dasm_put(Dst, 9991);
1930#if LJ_HASJIT 1934#if LJ_HASJIT
1931 if (sse) { 1935 if (sse) {
1932 dasm_put(Dst, 9975); 1936 dasm_put(Dst, 9998);
1933 dasm_put(Dst, 10032); 1937 dasm_put(Dst, 10055);
1934 dasm_put(Dst, 10123); 1938 dasm_put(Dst, 10146);
1935 } else { 1939 } else {
1936 dasm_put(Dst, 10165); 1940 dasm_put(Dst, 10188);
1937 dasm_put(Dst, 10257); 1941 dasm_put(Dst, 10280);
1938 } 1942 }
1939 dasm_put(Dst, 10303); 1943 dasm_put(Dst, 10326);
1940#endif 1944#endif
1941 dasm_put(Dst, 10307); 1945 dasm_put(Dst, 10330);
1942 if (sse) { 1946 if (sse) {
1943 dasm_put(Dst, 10310); 1947 dasm_put(Dst, 10333);
1944 dasm_put(Dst, 10415); 1948 dasm_put(Dst, 10438);
1945 dasm_put(Dst, 10498); 1949 dasm_put(Dst, 10521);
1946 } else { 1950 } else {
1947 dasm_put(Dst, 10570); 1951 dasm_put(Dst, 10593);
1948 dasm_put(Dst, 10653); 1952 dasm_put(Dst, 10676);
1949 if (cmov) { 1953 if (cmov) {
1950 dasm_put(Dst, 10708); 1954 dasm_put(Dst, 10731);
1951 } else { 1955 } else {
1952 dasm_put(Dst, 10727); 1956 dasm_put(Dst, 10750);
1953 } 1957 }
1954 dasm_put(Dst, 10303); 1958 dasm_put(Dst, 10326);
1955 } 1959 }
1956 dasm_put(Dst, 10768); 1960 dasm_put(Dst, 10791);
1957#if LJ_HASFFI 1961#if LJ_HASFFI
1958#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1962#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1959 dasm_put(Dst, 10824, DtE(->spadj)); 1963 dasm_put(Dst, 10847, DtE(->spadj));
1960#if LJ_TARGET_WINDOWS 1964#if LJ_TARGET_WINDOWS
1961 dasm_put(Dst, 10834, DtE(->spadj)); 1965 dasm_put(Dst, 10857, DtE(->spadj));
1962#endif 1966#endif
1963 dasm_put(Dst, 10838, 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])); 1967 dasm_put(Dst, 10861, 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]));
1964 dasm_put(Dst, 10908, DtE(->fpr[0].f[0])); 1968 dasm_put(Dst, 10931, DtE(->fpr[0].f[0]));
1965#if LJ_TARGET_WINDOWS 1969#if LJ_TARGET_WINDOWS
1966 dasm_put(Dst, 10914, DtE(->spadj)); 1970 dasm_put(Dst, 10937, DtE(->spadj));
1967#endif 1971#endif
1968 dasm_put(Dst, 10918); 1972 dasm_put(Dst, 10941);
1969#endif 1973#endif
1970 dasm_put(Dst, 10925); 1974 dasm_put(Dst, 10948);
1971#ifdef LUA_USE_ASSERT 1975#ifdef LUA_USE_ASSERT
1972 dasm_put(Dst, 10305); 1976 dasm_put(Dst, 10328);
1973#endif 1977#endif
1974 dasm_put(Dst, 10305); 1978 dasm_put(Dst, 10328);
1975} 1979}
1976 1980
1977/* Generate the code for a single instruction. */ 1981/* Generate the code for a single instruction. */
1978static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1982static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1979{ 1983{
1980 int vk = 0; 1984 int vk = 0;
1981 dasm_put(Dst, 10928, defop); 1985 dasm_put(Dst, 10951, defop);
1982 1986
1983 switch (op) { 1987 switch (op) {
1984 1988
@@ -1989,297 +1993,297 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1989 1993
1990 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1994 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1991 if (LJ_DUALNUM) { 1995 if (LJ_DUALNUM) {
1992 dasm_put(Dst, 10930, LJ_TISNUM, LJ_TISNUM); 1996 dasm_put(Dst, 10953, LJ_TISNUM, LJ_TISNUM);
1993 switch (op) { 1997 switch (op) {
1994 case BC_ISLT: 1998 case BC_ISLT:
1995 dasm_put(Dst, 10960); 1999 dasm_put(Dst, 10983);
1996 break; 2000 break;
1997 case BC_ISGE: 2001 case BC_ISGE:
1998 dasm_put(Dst, 10965); 2002 dasm_put(Dst, 10988);
1999 break; 2003 break;
2000 case BC_ISLE: 2004 case BC_ISLE:
2001 dasm_put(Dst, 10970); 2005 dasm_put(Dst, 10993);
2002 break; 2006 break;
2003 case BC_ISGT: 2007 case BC_ISGT:
2004 dasm_put(Dst, 10975); 2008 dasm_put(Dst, 10998);
2005 break; 2009 break;
2006 default: break; /* Shut up GCC. */ 2010 default: break; /* Shut up GCC. */
2007 } 2011 }
2008 dasm_put(Dst, 10980, -BCBIAS_J*4, LJ_TISNUM); 2012 dasm_put(Dst, 11003, -BCBIAS_J*4, LJ_TISNUM);
2009 if (sse) { 2013 if (sse) {
2010 dasm_put(Dst, 11033); 2014 dasm_put(Dst, 11056);
2011 } else { 2015 } else {
2012 dasm_put(Dst, 11044); 2016 dasm_put(Dst, 11067);
2013 } 2017 }
2014 dasm_put(Dst, 11055); 2018 dasm_put(Dst, 11078);
2015 if (sse) { 2019 if (sse) {
2016 dasm_put(Dst, 11062); 2020 dasm_put(Dst, 11085);
2017 switch (op) { 2021 switch (op) {
2018 case BC_ISLT: 2022 case BC_ISLT:
2019 dasm_put(Dst, 11082); 2023 dasm_put(Dst, 11105);
2020 break; 2024 break;
2021 case BC_ISGE: 2025 case BC_ISGE:
2022 dasm_put(Dst, 11087); 2026 dasm_put(Dst, 11110);
2023 break; 2027 break;
2024 case BC_ISLE: 2028 case BC_ISLE:
2025 dasm_put(Dst, 11092); 2029 dasm_put(Dst, 11115);
2026 break; 2030 break;
2027 case BC_ISGT: 2031 case BC_ISGT:
2028 dasm_put(Dst, 11097); 2032 dasm_put(Dst, 11120);
2029 break; 2033 break;
2030 default: break; /* Shut up GCC. */ 2034 default: break; /* Shut up GCC. */
2031 } 2035 }
2032 dasm_put(Dst, 11102); 2036 dasm_put(Dst, 11125);
2033 } else { 2037 } else {
2034 dasm_put(Dst, 11107); 2038 dasm_put(Dst, 11130);
2035 } 2039 }
2036 } else { 2040 } else {
2037 dasm_put(Dst, 11115, LJ_TISNUM, LJ_TISNUM); 2041 dasm_put(Dst, 11138, LJ_TISNUM, LJ_TISNUM);
2038 } 2042 }
2039 if (sse) { 2043 if (sse) {
2040 dasm_put(Dst, 11136); 2044 dasm_put(Dst, 11159);
2041 } else { 2045 } else {
2042 dasm_put(Dst, 11157); 2046 dasm_put(Dst, 11180);
2043 if (cmov) { 2047 if (cmov) {
2044 dasm_put(Dst, 3901); 2048 dasm_put(Dst, 3924);
2045 } else { 2049 } else {
2046 dasm_put(Dst, 3907); 2050 dasm_put(Dst, 3930);
2047 } 2051 }
2048 } 2052 }
2049 if (LJ_DUALNUM) { 2053 if (LJ_DUALNUM) {
2050 switch (op) { 2054 switch (op) {
2051 case BC_ISLT: 2055 case BC_ISLT:
2052 dasm_put(Dst, 11082); 2056 dasm_put(Dst, 11105);
2053 break; 2057 break;
2054 case BC_ISGE: 2058 case BC_ISGE:
2055 dasm_put(Dst, 11087); 2059 dasm_put(Dst, 11110);
2056 break; 2060 break;
2057 case BC_ISLE: 2061 case BC_ISLE:
2058 dasm_put(Dst, 11092); 2062 dasm_put(Dst, 11115);
2059 break; 2063 break;
2060 case BC_ISGT: 2064 case BC_ISGT:
2061 dasm_put(Dst, 11097); 2065 dasm_put(Dst, 11120);
2062 break; 2066 break;
2063 default: break; /* Shut up GCC. */ 2067 default: break; /* Shut up GCC. */
2064 } 2068 }
2065 dasm_put(Dst, 11102); 2069 dasm_put(Dst, 11125);
2066 } else { 2070 } else {
2067 switch (op) { 2071 switch (op) {
2068 case BC_ISLT: 2072 case BC_ISLT:
2069 dasm_put(Dst, 11173); 2073 dasm_put(Dst, 11196);
2070 break; 2074 break;
2071 case BC_ISGE: 2075 case BC_ISGE:
2072 dasm_put(Dst, 11178); 2076 dasm_put(Dst, 11201);
2073 break; 2077 break;
2074 case BC_ISLE: 2078 case BC_ISLE:
2075 dasm_put(Dst, 11183); 2079 dasm_put(Dst, 11206);
2076 break; 2080 break;
2077 case BC_ISGT: 2081 case BC_ISGT:
2078 dasm_put(Dst, 11188); 2082 dasm_put(Dst, 11211);
2079 break; 2083 break;
2080 default: break; /* Shut up GCC. */ 2084 default: break; /* Shut up GCC. */
2081 } 2085 }
2082 dasm_put(Dst, 11193, -BCBIAS_J*4); 2086 dasm_put(Dst, 11216, -BCBIAS_J*4);
2083 } 2087 }
2084 break; 2088 break;
2085 2089
2086 case BC_ISEQV: case BC_ISNEV: 2090 case BC_ISEQV: case BC_ISNEV:
2087 vk = op == BC_ISEQV; 2091 vk = op == BC_ISEQV;
2088 dasm_put(Dst, 11224); 2092 dasm_put(Dst, 11247);
2089 if (LJ_DUALNUM) { 2093 if (LJ_DUALNUM) {
2090 dasm_put(Dst, 11232, LJ_TISNUM, LJ_TISNUM); 2094 dasm_put(Dst, 11255, LJ_TISNUM, LJ_TISNUM);
2091 if (vk) { 2095 if (vk) {
2092 dasm_put(Dst, 11257); 2096 dasm_put(Dst, 11280);
2093 } else { 2097 } else {
2094 dasm_put(Dst, 11262); 2098 dasm_put(Dst, 11285);
2095 } 2099 }
2096 dasm_put(Dst, 11267, -BCBIAS_J*4, LJ_TISNUM); 2100 dasm_put(Dst, 11290, -BCBIAS_J*4, LJ_TISNUM);
2097 if (sse) { 2101 if (sse) {
2098 dasm_put(Dst, 11318); 2102 dasm_put(Dst, 11341);
2099 } else { 2103 } else {
2100 dasm_put(Dst, 11325); 2104 dasm_put(Dst, 11348);
2101 } 2105 }
2102 dasm_put(Dst, 11329); 2106 dasm_put(Dst, 11352);
2103 if (sse) { 2107 if (sse) {
2104 dasm_put(Dst, 11340); 2108 dasm_put(Dst, 11363);
2105 } else { 2109 } else {
2106 dasm_put(Dst, 11352); 2110 dasm_put(Dst, 11375);
2107 } 2111 }
2108 dasm_put(Dst, 11359); 2112 dasm_put(Dst, 11382);
2109 } else { 2113 } else {
2110 dasm_put(Dst, 11364, LJ_TISNUM, LJ_TISNUM); 2114 dasm_put(Dst, 11387, LJ_TISNUM, LJ_TISNUM);
2111 } 2115 }
2112 if (sse) { 2116 if (sse) {
2113 dasm_put(Dst, 11383); 2117 dasm_put(Dst, 11406);
2114 } else { 2118 } else {
2115 dasm_put(Dst, 11401); 2119 dasm_put(Dst, 11424);
2116 if (cmov) { 2120 if (cmov) {
2117 dasm_put(Dst, 3901); 2121 dasm_put(Dst, 3924);
2118 } else { 2122 } else {
2119 dasm_put(Dst, 3907); 2123 dasm_put(Dst, 3930);
2120 } 2124 }
2121 } 2125 }
2122 iseqne_fp: 2126 iseqne_fp:
2123 if (vk) { 2127 if (vk) {
2124 dasm_put(Dst, 11414); 2128 dasm_put(Dst, 11437);
2125 } else { 2129 } else {
2126 dasm_put(Dst, 11423); 2130 dasm_put(Dst, 11446);
2127 } 2131 }
2128 iseqne_end: 2132 iseqne_end:
2129 if (vk) { 2133 if (vk) {
2130 dasm_put(Dst, 11432, -BCBIAS_J*4); 2134 dasm_put(Dst, 11455, -BCBIAS_J*4);
2131 if (!LJ_HASFFI) { 2135 if (!LJ_HASFFI) {
2132 dasm_put(Dst, 4801); 2136 dasm_put(Dst, 4824);
2133 } 2137 }
2134 } else { 2138 } else {
2135 if (!LJ_HASFFI) { 2139 if (!LJ_HASFFI) {
2136 dasm_put(Dst, 4801); 2140 dasm_put(Dst, 4824);
2137 } 2141 }
2138 dasm_put(Dst, 11447, -BCBIAS_J*4); 2142 dasm_put(Dst, 11470, -BCBIAS_J*4);
2139 } 2143 }
2140 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2144 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2141 op == BC_ISEQN || op == BC_ISNEN)) { 2145 op == BC_ISEQN || op == BC_ISNEN)) {
2142 dasm_put(Dst, 11462); 2146 dasm_put(Dst, 11485);
2143 } else { 2147 } else {
2144 dasm_put(Dst, 11205); 2148 dasm_put(Dst, 11228);
2145 } 2149 }
2146 if (op == BC_ISEQV || op == BC_ISNEV) { 2150 if (op == BC_ISEQV || op == BC_ISNEV) {
2147 dasm_put(Dst, 11467); 2151 dasm_put(Dst, 11490);
2148 if (LJ_HASFFI) { 2152 if (LJ_HASFFI) {
2149 dasm_put(Dst, 11470, LJ_TCDATA, LJ_TCDATA); 2153 dasm_put(Dst, 11493, LJ_TCDATA, LJ_TCDATA);
2150 } 2154 }
2151 dasm_put(Dst, 11489, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2155 dasm_put(Dst, 11512, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2152 if (vk) { 2156 if (vk) {
2153 dasm_put(Dst, 11545); 2157 dasm_put(Dst, 11568);
2154 } else { 2158 } else {
2155 dasm_put(Dst, 11549); 2159 dasm_put(Dst, 11572);
2156 } 2160 }
2157 dasm_put(Dst, 11555); 2161 dasm_put(Dst, 11578);
2158 } else if (LJ_HASFFI) { 2162 } else if (LJ_HASFFI) {
2159 dasm_put(Dst, 11560, LJ_TCDATA); 2163 dasm_put(Dst, 11583, LJ_TCDATA);
2160 if (LJ_DUALNUM && vk) { 2164 if (LJ_DUALNUM && vk) {
2161 dasm_put(Dst, 11567); 2165 dasm_put(Dst, 11590);
2162 } else { 2166 } else {
2163 dasm_put(Dst, 11540); 2167 dasm_put(Dst, 11563);
2164 } 2168 }
2165 dasm_put(Dst, 11572); 2169 dasm_put(Dst, 11595);
2166 } 2170 }
2167 break; 2171 break;
2168 case BC_ISEQS: case BC_ISNES: 2172 case BC_ISEQS: case BC_ISNES:
2169 vk = op == BC_ISEQS; 2173 vk = op == BC_ISEQS;
2170 dasm_put(Dst, 11577, LJ_TSTR); 2174 dasm_put(Dst, 11600, LJ_TSTR);
2171 iseqne_test: 2175 iseqne_test:
2172 if (vk) { 2176 if (vk) {
2173 dasm_put(Dst, 11418); 2177 dasm_put(Dst, 11441);
2174 } else { 2178 } else {
2175 dasm_put(Dst, 2919); 2179 dasm_put(Dst, 748);
2176 } 2180 }
2177 goto iseqne_end; 2181 goto iseqne_end;
2178 case BC_ISEQN: case BC_ISNEN: 2182 case BC_ISEQN: case BC_ISNEN:
2179 vk = op == BC_ISEQN; 2183 vk = op == BC_ISEQN;
2180 dasm_put(Dst, 11602); 2184 dasm_put(Dst, 11625);
2181 if (LJ_DUALNUM) { 2185 if (LJ_DUALNUM) {
2182 dasm_put(Dst, 11610, LJ_TISNUM, LJ_TISNUM); 2186 dasm_put(Dst, 11633, LJ_TISNUM, LJ_TISNUM);
2183 if (vk) { 2187 if (vk) {
2184 dasm_put(Dst, 11257); 2188 dasm_put(Dst, 11280);
2185 } else { 2189 } else {
2186 dasm_put(Dst, 11262); 2190 dasm_put(Dst, 11285);
2187 } 2191 }
2188 dasm_put(Dst, 11635, -BCBIAS_J*4, LJ_TISNUM); 2192 dasm_put(Dst, 11658, -BCBIAS_J*4, LJ_TISNUM);
2189 if (sse) { 2193 if (sse) {
2190 dasm_put(Dst, 11682); 2194 dasm_put(Dst, 11705);
2191 } else { 2195 } else {
2192 dasm_put(Dst, 11689); 2196 dasm_put(Dst, 11712);
2193 } 2197 }
2194 dasm_put(Dst, 11693); 2198 dasm_put(Dst, 11716);
2195 if (sse) { 2199 if (sse) {
2196 dasm_put(Dst, 11700); 2200 dasm_put(Dst, 11723);
2197 } else { 2201 } else {
2198 dasm_put(Dst, 11712); 2202 dasm_put(Dst, 11735);
2199 } 2203 }
2200 dasm_put(Dst, 11359); 2204 dasm_put(Dst, 11382);
2201 } else { 2205 } else {
2202 dasm_put(Dst, 11719, LJ_TISNUM); 2206 dasm_put(Dst, 11742, LJ_TISNUM);
2203 } 2207 }
2204 if (sse) { 2208 if (sse) {
2205 dasm_put(Dst, 11728); 2209 dasm_put(Dst, 11751);
2206 } else { 2210 } else {
2207 dasm_put(Dst, 11746); 2211 dasm_put(Dst, 11769);
2208 if (cmov) { 2212 if (cmov) {
2209 dasm_put(Dst, 3901); 2213 dasm_put(Dst, 3924);
2210 } else { 2214 } else {
2211 dasm_put(Dst, 3907); 2215 dasm_put(Dst, 3930);
2212 } 2216 }
2213 } 2217 }
2214 goto iseqne_fp; 2218 goto iseqne_fp;
2215 case BC_ISEQP: case BC_ISNEP: 2219 case BC_ISEQP: case BC_ISNEP:
2216 vk = op == BC_ISEQP; 2220 vk = op == BC_ISEQP;
2217 dasm_put(Dst, 11759); 2221 dasm_put(Dst, 11782);
2218 if (!LJ_HASFFI) goto iseqne_test; 2222 if (!LJ_HASFFI) goto iseqne_test;
2219 if (vk) { 2223 if (vk) {
2220 dasm_put(Dst, 11772, -BCBIAS_J*4, LJ_TCDATA); 2224 dasm_put(Dst, 11795, -BCBIAS_J*4, LJ_TCDATA);
2221 } else { 2225 } else {
2222 dasm_put(Dst, 11821, LJ_TCDATA, -BCBIAS_J*4); 2226 dasm_put(Dst, 11844, LJ_TCDATA, -BCBIAS_J*4);
2223 } 2227 }
2224 break; 2228 break;
2225 2229
2226 /* -- Unary test and copy ops ------------------------------------------- */ 2230 /* -- Unary test and copy ops ------------------------------------------- */
2227 2231
2228 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2232 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2229 dasm_put(Dst, 11864, LJ_TISTRUECOND); 2233 dasm_put(Dst, 11887, LJ_TISTRUECOND);
2230 if (op == BC_IST || op == BC_ISTC) { 2234 if (op == BC_IST || op == BC_ISTC) {
2231 dasm_put(Dst, 11188); 2235 dasm_put(Dst, 11211);
2232 } else { 2236 } else {
2233 dasm_put(Dst, 11183); 2237 dasm_put(Dst, 11206);
2234 } 2238 }
2235 if (op == BC_ISTC || op == BC_ISFC) { 2239 if (op == BC_ISTC || op == BC_ISFC) {
2236 dasm_put(Dst, 11876); 2240 dasm_put(Dst, 11899);
2237 } 2241 }
2238 dasm_put(Dst, 11193, -BCBIAS_J*4); 2242 dasm_put(Dst, 11216, -BCBIAS_J*4);
2239 break; 2243 break;
2240 2244
2241 /* -- Unary ops --------------------------------------------------------- */ 2245 /* -- Unary ops --------------------------------------------------------- */
2242 2246
2243 case BC_MOV: 2247 case BC_MOV:
2244 dasm_put(Dst, 11887); 2248 dasm_put(Dst, 11910);
2245 break; 2249 break;
2246 case BC_NOT: 2250 case BC_NOT:
2247 dasm_put(Dst, 11920, LJ_TISTRUECOND, LJ_TTRUE); 2251 dasm_put(Dst, 11943, LJ_TISTRUECOND, LJ_TTRUE);
2248 break; 2252 break;
2249 case BC_UNM: 2253 case BC_UNM:
2250 if (LJ_DUALNUM) { 2254 if (LJ_DUALNUM) {
2251 dasm_put(Dst, 11955, LJ_TISNUM, LJ_TISNUM); 2255 dasm_put(Dst, 11978, LJ_TISNUM, LJ_TISNUM);
2252 } else { 2256 } else {
2253 dasm_put(Dst, 12031, LJ_TISNUM); 2257 dasm_put(Dst, 12054, LJ_TISNUM);
2254 } 2258 }
2255 if (sse) { 2259 if (sse) {
2256 dasm_put(Dst, 12042); 2260 dasm_put(Dst, 12065);
2257 } else { 2261 } else {
2258 dasm_put(Dst, 12072); 2262 dasm_put(Dst, 12095);
2259 } 2263 }
2260 if (LJ_DUALNUM) { 2264 if (LJ_DUALNUM) {
2261 dasm_put(Dst, 11462); 2265 dasm_put(Dst, 11485);
2262 } else { 2266 } else {
2263 dasm_put(Dst, 11205); 2267 dasm_put(Dst, 11228);
2264 } 2268 }
2265 break; 2269 break;
2266 case BC_LEN: 2270 case BC_LEN:
2267 dasm_put(Dst, 12081, LJ_TSTR); 2271 dasm_put(Dst, 12104, LJ_TSTR);
2268 if (LJ_DUALNUM) { 2272 if (LJ_DUALNUM) {
2269 dasm_put(Dst, 12095, Dt5(->len), LJ_TISNUM); 2273 dasm_put(Dst, 12118, Dt5(->len), LJ_TISNUM);
2270 } else if (sse) { 2274 } else if (sse) {
2271 dasm_put(Dst, 12109, Dt5(->len)); 2275 dasm_put(Dst, 12132, Dt5(->len));
2272 } else { 2276 } else {
2273 dasm_put(Dst, 12127, Dt5(->len)); 2277 dasm_put(Dst, 12150, Dt5(->len));
2274 } 2278 }
2275 dasm_put(Dst, 12136, LJ_TTAB); 2279 dasm_put(Dst, 12159, LJ_TTAB);
2276 if (LJ_DUALNUM) { 2280 if (LJ_DUALNUM) {
2277 } else if (sse) { 2281 } else if (sse) {
2278 dasm_put(Dst, 12176); 2282 dasm_put(Dst, 12199);
2279 } else { 2283 } else {
2280 dasm_put(Dst, 12182); 2284 dasm_put(Dst, 12205);
2281 } 2285 }
2282 dasm_put(Dst, 12189); 2286 dasm_put(Dst, 12212);
2283 break; 2287 break;
2284 2288
2285 /* -- Binary ops -------------------------------------------------------- */ 2289 /* -- Binary ops -------------------------------------------------------- */
@@ -2287,620 +2291,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2287 2291
2288 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2292 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2289 if (LJ_DUALNUM) { 2293 if (LJ_DUALNUM) {
2290 dasm_put(Dst, 12202); 2294 dasm_put(Dst, 12225);
2291 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2295 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2292 switch (vk) { 2296 switch (vk) {
2293 case 0: 2297 case 0:
2294 dasm_put(Dst, 12210, LJ_TISNUM, LJ_TISNUM); 2298 dasm_put(Dst, 12233, LJ_TISNUM, LJ_TISNUM);
2295 break; 2299 break;
2296 case 1: 2300 case 1:
2297 dasm_put(Dst, 12243, LJ_TISNUM, LJ_TISNUM); 2301 dasm_put(Dst, 12266, LJ_TISNUM, LJ_TISNUM);
2298 break; 2302 break;
2299 default: 2303 default:
2300 dasm_put(Dst, 12276, LJ_TISNUM, LJ_TISNUM); 2304 dasm_put(Dst, 12299, LJ_TISNUM, LJ_TISNUM);
2301 break; 2305 break;
2302 } 2306 }
2303 dasm_put(Dst, 12309, LJ_TISNUM); 2307 dasm_put(Dst, 12332, LJ_TISNUM);
2304 if (vk == 1) { 2308 if (vk == 1) {
2305 dasm_put(Dst, 12105); 2309 dasm_put(Dst, 12128);
2306 } else { 2310 } else {
2307 dasm_put(Dst, 11883); 2311 dasm_put(Dst, 11906);
2308 } 2312 }
2309 dasm_put(Dst, 11205); 2313 dasm_put(Dst, 11228);
2310 } else { 2314 } else {
2311 dasm_put(Dst, 12202); 2315 dasm_put(Dst, 12225);
2312 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2316 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2313 switch (vk) { 2317 switch (vk) {
2314 case 0: 2318 case 0:
2315 dasm_put(Dst, 12315, LJ_TISNUM); 2319 dasm_put(Dst, 12338, LJ_TISNUM);
2316 if (LJ_DUALNUM) { 2320 if (LJ_DUALNUM) {
2317 dasm_put(Dst, 12327, LJ_TISNUM); 2321 dasm_put(Dst, 12350, LJ_TISNUM);
2318 } 2322 }
2319 if (sse) { 2323 if (sse) {
2320 dasm_put(Dst, 12338); 2324 dasm_put(Dst, 12361);
2321 } else { 2325 } else {
2322 dasm_put(Dst, 12352); 2326 dasm_put(Dst, 12375);
2323 } 2327 }
2324 break; 2328 break;
2325 case 1: 2329 case 1:
2326 dasm_put(Dst, 12360, LJ_TISNUM); 2330 dasm_put(Dst, 12383, LJ_TISNUM);
2327 if (LJ_DUALNUM) { 2331 if (LJ_DUALNUM) {
2328 dasm_put(Dst, 12372, LJ_TISNUM); 2332 dasm_put(Dst, 12395, LJ_TISNUM);
2329 } 2333 }
2330 if (sse) { 2334 if (sse) {
2331 dasm_put(Dst, 12383); 2335 dasm_put(Dst, 12406);
2332 } else { 2336 } else {
2333 dasm_put(Dst, 12397); 2337 dasm_put(Dst, 12420);
2334 } 2338 }
2335 break; 2339 break;
2336 default: 2340 default:
2337 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2341 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2338 if (sse) { 2342 if (sse) {
2339 dasm_put(Dst, 12427); 2343 dasm_put(Dst, 12450);
2340 } else { 2344 } else {
2341 dasm_put(Dst, 12441); 2345 dasm_put(Dst, 12464);
2342 } 2346 }
2343 break; 2347 break;
2344 } 2348 }
2345 if (sse) { 2349 if (sse) {
2346 dasm_put(Dst, 12065); 2350 dasm_put(Dst, 12088);
2347 } else { 2351 } else {
2348 dasm_put(Dst, 12077); 2352 dasm_put(Dst, 12100);
2349 } 2353 }
2350 dasm_put(Dst, 11205); 2354 dasm_put(Dst, 11228);
2351 } 2355 }
2352 break; 2356 break;
2353 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2357 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2354 if (LJ_DUALNUM) { 2358 if (LJ_DUALNUM) {
2355 dasm_put(Dst, 12202); 2359 dasm_put(Dst, 12225);
2356 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2360 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2357 switch (vk) { 2361 switch (vk) {
2358 case 0: 2362 case 0:
2359 dasm_put(Dst, 12449, LJ_TISNUM, LJ_TISNUM); 2363 dasm_put(Dst, 12472, LJ_TISNUM, LJ_TISNUM);
2360 break; 2364 break;
2361 case 1: 2365 case 1:
2362 dasm_put(Dst, 12482, LJ_TISNUM, LJ_TISNUM); 2366 dasm_put(Dst, 12505, LJ_TISNUM, LJ_TISNUM);
2363 break; 2367 break;
2364 default: 2368 default:
2365 dasm_put(Dst, 12515, LJ_TISNUM, LJ_TISNUM); 2369 dasm_put(Dst, 12538, LJ_TISNUM, LJ_TISNUM);
2366 break; 2370 break;
2367 } 2371 }
2368 dasm_put(Dst, 12309, LJ_TISNUM); 2372 dasm_put(Dst, 12332, LJ_TISNUM);
2369 if (vk == 1) { 2373 if (vk == 1) {
2370 dasm_put(Dst, 12105); 2374 dasm_put(Dst, 12128);
2371 } else { 2375 } else {
2372 dasm_put(Dst, 11883); 2376 dasm_put(Dst, 11906);
2373 } 2377 }
2374 dasm_put(Dst, 11205); 2378 dasm_put(Dst, 11228);
2375 } else { 2379 } else {
2376 dasm_put(Dst, 12202); 2380 dasm_put(Dst, 12225);
2377 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2381 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2378 switch (vk) { 2382 switch (vk) {
2379 case 0: 2383 case 0:
2380 dasm_put(Dst, 12315, LJ_TISNUM); 2384 dasm_put(Dst, 12338, LJ_TISNUM);
2381 if (LJ_DUALNUM) { 2385 if (LJ_DUALNUM) {
2382 dasm_put(Dst, 12327, LJ_TISNUM); 2386 dasm_put(Dst, 12350, LJ_TISNUM);
2383 } 2387 }
2384 if (sse) { 2388 if (sse) {
2385 dasm_put(Dst, 12548); 2389 dasm_put(Dst, 12571);
2386 } else { 2390 } else {
2387 dasm_put(Dst, 12562); 2391 dasm_put(Dst, 12585);
2388 } 2392 }
2389 break; 2393 break;
2390 case 1: 2394 case 1:
2391 dasm_put(Dst, 12360, LJ_TISNUM); 2395 dasm_put(Dst, 12383, LJ_TISNUM);
2392 if (LJ_DUALNUM) { 2396 if (LJ_DUALNUM) {
2393 dasm_put(Dst, 12372, LJ_TISNUM); 2397 dasm_put(Dst, 12395, LJ_TISNUM);
2394 } 2398 }
2395 if (sse) { 2399 if (sse) {
2396 dasm_put(Dst, 12570); 2400 dasm_put(Dst, 12593);
2397 } else { 2401 } else {
2398 dasm_put(Dst, 12584); 2402 dasm_put(Dst, 12607);
2399 } 2403 }
2400 break; 2404 break;
2401 default: 2405 default:
2402 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2406 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2403 if (sse) { 2407 if (sse) {
2404 dasm_put(Dst, 12592); 2408 dasm_put(Dst, 12615);
2405 } else { 2409 } else {
2406 dasm_put(Dst, 12606); 2410 dasm_put(Dst, 12629);
2407 } 2411 }
2408 break; 2412 break;
2409 } 2413 }
2410 if (sse) { 2414 if (sse) {
2411 dasm_put(Dst, 12065); 2415 dasm_put(Dst, 12088);
2412 } else { 2416 } else {
2413 dasm_put(Dst, 12077); 2417 dasm_put(Dst, 12100);
2414 } 2418 }
2415 dasm_put(Dst, 11205); 2419 dasm_put(Dst, 11228);
2416 } 2420 }
2417 break; 2421 break;
2418 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2422 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2419 if (LJ_DUALNUM) { 2423 if (LJ_DUALNUM) {
2420 dasm_put(Dst, 12202); 2424 dasm_put(Dst, 12225);
2421 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2425 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2422 switch (vk) { 2426 switch (vk) {
2423 case 0: 2427 case 0:
2424 dasm_put(Dst, 12614, LJ_TISNUM, LJ_TISNUM); 2428 dasm_put(Dst, 12637, LJ_TISNUM, LJ_TISNUM);
2425 break; 2429 break;
2426 case 1: 2430 case 1:
2427 dasm_put(Dst, 12648, LJ_TISNUM, LJ_TISNUM); 2431 dasm_put(Dst, 12671, LJ_TISNUM, LJ_TISNUM);
2428 break; 2432 break;
2429 default: 2433 default:
2430 dasm_put(Dst, 12682, LJ_TISNUM, LJ_TISNUM); 2434 dasm_put(Dst, 12705, LJ_TISNUM, LJ_TISNUM);
2431 break; 2435 break;
2432 } 2436 }
2433 dasm_put(Dst, 12309, LJ_TISNUM); 2437 dasm_put(Dst, 12332, LJ_TISNUM);
2434 if (vk == 1) { 2438 if (vk == 1) {
2435 dasm_put(Dst, 12105); 2439 dasm_put(Dst, 12128);
2436 } else { 2440 } else {
2437 dasm_put(Dst, 11883); 2441 dasm_put(Dst, 11906);
2438 } 2442 }
2439 dasm_put(Dst, 11205); 2443 dasm_put(Dst, 11228);
2440 } else { 2444 } else {
2441 dasm_put(Dst, 12202); 2445 dasm_put(Dst, 12225);
2442 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2446 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2443 switch (vk) { 2447 switch (vk) {
2444 case 0: 2448 case 0:
2445 dasm_put(Dst, 12315, LJ_TISNUM); 2449 dasm_put(Dst, 12338, LJ_TISNUM);
2446 if (LJ_DUALNUM) { 2450 if (LJ_DUALNUM) {
2447 dasm_put(Dst, 12327, LJ_TISNUM); 2451 dasm_put(Dst, 12350, LJ_TISNUM);
2448 } 2452 }
2449 if (sse) { 2453 if (sse) {
2450 dasm_put(Dst, 12716); 2454 dasm_put(Dst, 12739);
2451 } else { 2455 } else {
2452 dasm_put(Dst, 12730); 2456 dasm_put(Dst, 12753);
2453 } 2457 }
2454 break; 2458 break;
2455 case 1: 2459 case 1:
2456 dasm_put(Dst, 12360, LJ_TISNUM); 2460 dasm_put(Dst, 12383, LJ_TISNUM);
2457 if (LJ_DUALNUM) { 2461 if (LJ_DUALNUM) {
2458 dasm_put(Dst, 12372, LJ_TISNUM); 2462 dasm_put(Dst, 12395, LJ_TISNUM);
2459 } 2463 }
2460 if (sse) { 2464 if (sse) {
2461 dasm_put(Dst, 12738); 2465 dasm_put(Dst, 12761);
2462 } else { 2466 } else {
2463 dasm_put(Dst, 12752); 2467 dasm_put(Dst, 12775);
2464 } 2468 }
2465 break; 2469 break;
2466 default: 2470 default:
2467 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2471 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2468 if (sse) { 2472 if (sse) {
2469 dasm_put(Dst, 12760); 2473 dasm_put(Dst, 12783);
2470 } else { 2474 } else {
2471 dasm_put(Dst, 12774); 2475 dasm_put(Dst, 12797);
2472 } 2476 }
2473 break; 2477 break;
2474 } 2478 }
2475 if (sse) { 2479 if (sse) {
2476 dasm_put(Dst, 12065); 2480 dasm_put(Dst, 12088);
2477 } else { 2481 } else {
2478 dasm_put(Dst, 12077); 2482 dasm_put(Dst, 12100);
2479 } 2483 }
2480 dasm_put(Dst, 11205); 2484 dasm_put(Dst, 11228);
2481 } 2485 }
2482 break; 2486 break;
2483 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2487 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2484 dasm_put(Dst, 12202); 2488 dasm_put(Dst, 12225);
2485 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2489 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2486 switch (vk) { 2490 switch (vk) {
2487 case 0: 2491 case 0:
2488 dasm_put(Dst, 12315, LJ_TISNUM); 2492 dasm_put(Dst, 12338, LJ_TISNUM);
2489 if (LJ_DUALNUM) { 2493 if (LJ_DUALNUM) {
2490 dasm_put(Dst, 12327, LJ_TISNUM); 2494 dasm_put(Dst, 12350, LJ_TISNUM);
2491 } 2495 }
2492 if (sse) { 2496 if (sse) {
2493 dasm_put(Dst, 12782); 2497 dasm_put(Dst, 12805);
2494 } else { 2498 } else {
2495 dasm_put(Dst, 12796); 2499 dasm_put(Dst, 12819);
2496 } 2500 }
2497 break; 2501 break;
2498 case 1: 2502 case 1:
2499 dasm_put(Dst, 12360, LJ_TISNUM); 2503 dasm_put(Dst, 12383, LJ_TISNUM);
2500 if (LJ_DUALNUM) { 2504 if (LJ_DUALNUM) {
2501 dasm_put(Dst, 12372, LJ_TISNUM); 2505 dasm_put(Dst, 12395, LJ_TISNUM);
2502 } 2506 }
2503 if (sse) { 2507 if (sse) {
2504 dasm_put(Dst, 12804); 2508 dasm_put(Dst, 12827);
2505 } else { 2509 } else {
2506 dasm_put(Dst, 12818); 2510 dasm_put(Dst, 12841);
2507 } 2511 }
2508 break; 2512 break;
2509 default: 2513 default:
2510 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2514 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2511 if (sse) { 2515 if (sse) {
2512 dasm_put(Dst, 12826); 2516 dasm_put(Dst, 12849);
2513 } else { 2517 } else {
2514 dasm_put(Dst, 12840); 2518 dasm_put(Dst, 12863);
2515 } 2519 }
2516 break; 2520 break;
2517 } 2521 }
2518 if (sse) { 2522 if (sse) {
2519 dasm_put(Dst, 12065); 2523 dasm_put(Dst, 12088);
2520 } else { 2524 } else {
2521 dasm_put(Dst, 12077); 2525 dasm_put(Dst, 12100);
2522 } 2526 }
2523 dasm_put(Dst, 11205); 2527 dasm_put(Dst, 11228);
2524 break; 2528 break;
2525 case BC_MODVN: 2529 case BC_MODVN:
2526 dasm_put(Dst, 12202); 2530 dasm_put(Dst, 12225);
2527 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2531 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2528 switch (vk) { 2532 switch (vk) {
2529 case 0: 2533 case 0:
2530 dasm_put(Dst, 12315, LJ_TISNUM); 2534 dasm_put(Dst, 12338, LJ_TISNUM);
2531 if (LJ_DUALNUM) { 2535 if (LJ_DUALNUM) {
2532 dasm_put(Dst, 12327, LJ_TISNUM); 2536 dasm_put(Dst, 12350, LJ_TISNUM);
2533 } 2537 }
2534 if (sse) { 2538 if (sse) {
2535 dasm_put(Dst, 12848); 2539 dasm_put(Dst, 12871);
2536 } else { 2540 } else {
2537 dasm_put(Dst, 12862); 2541 dasm_put(Dst, 12885);
2538 } 2542 }
2539 break; 2543 break;
2540 case 1: 2544 case 1:
2541 dasm_put(Dst, 12360, LJ_TISNUM); 2545 dasm_put(Dst, 12383, LJ_TISNUM);
2542 if (LJ_DUALNUM) { 2546 if (LJ_DUALNUM) {
2543 dasm_put(Dst, 12372, LJ_TISNUM); 2547 dasm_put(Dst, 12395, LJ_TISNUM);
2544 } 2548 }
2545 if (sse) { 2549 if (sse) {
2546 dasm_put(Dst, 12870); 2550 dasm_put(Dst, 12893);
2547 } else { 2551 } else {
2548 dasm_put(Dst, 12884); 2552 dasm_put(Dst, 12907);
2549 } 2553 }
2550 break; 2554 break;
2551 default: 2555 default:
2552 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2556 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2553 if (sse) { 2557 if (sse) {
2554 dasm_put(Dst, 12892); 2558 dasm_put(Dst, 12915);
2555 } else { 2559 } else {
2556 dasm_put(Dst, 12906); 2560 dasm_put(Dst, 12929);
2557 } 2561 }
2558 break; 2562 break;
2559 } 2563 }
2560 dasm_put(Dst, 12914); 2564 dasm_put(Dst, 12937);
2561 if (sse) { 2565 if (sse) {
2562 dasm_put(Dst, 12065); 2566 dasm_put(Dst, 12088);
2563 } else { 2567 } else {
2564 dasm_put(Dst, 12077); 2568 dasm_put(Dst, 12100);
2565 } 2569 }
2566 dasm_put(Dst, 11205); 2570 dasm_put(Dst, 11228);
2567 break; 2571 break;
2568 case BC_MODNV: case BC_MODVV: 2572 case BC_MODNV: case BC_MODVV:
2569 dasm_put(Dst, 12202); 2573 dasm_put(Dst, 12225);
2570 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2574 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2571 switch (vk) { 2575 switch (vk) {
2572 case 0: 2576 case 0:
2573 dasm_put(Dst, 12315, LJ_TISNUM); 2577 dasm_put(Dst, 12338, LJ_TISNUM);
2574 if (LJ_DUALNUM) { 2578 if (LJ_DUALNUM) {
2575 dasm_put(Dst, 12327, LJ_TISNUM); 2579 dasm_put(Dst, 12350, LJ_TISNUM);
2576 } 2580 }
2577 if (sse) { 2581 if (sse) {
2578 dasm_put(Dst, 12848); 2582 dasm_put(Dst, 12871);
2579 } else { 2583 } else {
2580 dasm_put(Dst, 12862); 2584 dasm_put(Dst, 12885);
2581 } 2585 }
2582 break; 2586 break;
2583 case 1: 2587 case 1:
2584 dasm_put(Dst, 12360, LJ_TISNUM); 2588 dasm_put(Dst, 12383, LJ_TISNUM);
2585 if (LJ_DUALNUM) { 2589 if (LJ_DUALNUM) {
2586 dasm_put(Dst, 12372, LJ_TISNUM); 2590 dasm_put(Dst, 12395, LJ_TISNUM);
2587 } 2591 }
2588 if (sse) { 2592 if (sse) {
2589 dasm_put(Dst, 12870); 2593 dasm_put(Dst, 12893);
2590 } else { 2594 } else {
2591 dasm_put(Dst, 12884); 2595 dasm_put(Dst, 12907);
2592 } 2596 }
2593 break; 2597 break;
2594 default: 2598 default:
2595 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2599 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2596 if (sse) { 2600 if (sse) {
2597 dasm_put(Dst, 12892); 2601 dasm_put(Dst, 12915);
2598 } else { 2602 } else {
2599 dasm_put(Dst, 12906); 2603 dasm_put(Dst, 12929);
2600 } 2604 }
2601 break; 2605 break;
2602 } 2606 }
2603 dasm_put(Dst, 12920); 2607 dasm_put(Dst, 12943);
2604 break; 2608 break;
2605 case BC_POW: 2609 case BC_POW:
2606 dasm_put(Dst, 12202); 2610 dasm_put(Dst, 12225);
2607 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2611 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2608 switch (vk) { 2612 switch (vk) {
2609 case 0: 2613 case 0:
2610 dasm_put(Dst, 12315, LJ_TISNUM); 2614 dasm_put(Dst, 12338, LJ_TISNUM);
2611 if (LJ_DUALNUM) { 2615 if (LJ_DUALNUM) {
2612 dasm_put(Dst, 12327, LJ_TISNUM); 2616 dasm_put(Dst, 12350, LJ_TISNUM);
2613 } 2617 }
2614 if (sse) { 2618 if (sse) {
2615 dasm_put(Dst, 12848); 2619 dasm_put(Dst, 12871);
2616 } else { 2620 } else {
2617 dasm_put(Dst, 12862); 2621 dasm_put(Dst, 12885);
2618 } 2622 }
2619 break; 2623 break;
2620 case 1: 2624 case 1:
2621 dasm_put(Dst, 12360, LJ_TISNUM); 2625 dasm_put(Dst, 12383, LJ_TISNUM);
2622 if (LJ_DUALNUM) { 2626 if (LJ_DUALNUM) {
2623 dasm_put(Dst, 12372, LJ_TISNUM); 2627 dasm_put(Dst, 12395, LJ_TISNUM);
2624 } 2628 }
2625 if (sse) { 2629 if (sse) {
2626 dasm_put(Dst, 12870); 2630 dasm_put(Dst, 12893);
2627 } else { 2631 } else {
2628 dasm_put(Dst, 12884); 2632 dasm_put(Dst, 12907);
2629 } 2633 }
2630 break; 2634 break;
2631 default: 2635 default:
2632 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM); 2636 dasm_put(Dst, 12428, LJ_TISNUM, LJ_TISNUM);
2633 if (sse) { 2637 if (sse) {
2634 dasm_put(Dst, 12892); 2638 dasm_put(Dst, 12915);
2635 } else { 2639 } else {
2636 dasm_put(Dst, 12906); 2640 dasm_put(Dst, 12929);
2637 } 2641 }
2638 break; 2642 break;
2639 } 2643 }
2640 dasm_put(Dst, 12925); 2644 dasm_put(Dst, 12948);
2641 if (sse) { 2645 if (sse) {
2642 dasm_put(Dst, 12065); 2646 dasm_put(Dst, 12088);
2643 } else { 2647 } else {
2644 dasm_put(Dst, 12077); 2648 dasm_put(Dst, 12100);
2645 } 2649 }
2646 dasm_put(Dst, 11205); 2650 dasm_put(Dst, 11228);
2647 break; 2651 break;
2648 2652
2649 case BC_CAT: 2653 case BC_CAT:
2650 dasm_put(Dst, 12929, Dt1(->base), Dt1(->base)); 2654 dasm_put(Dst, 12952, Dt1(->base), Dt1(->base));
2651 break; 2655 break;
2652 2656
2653 /* -- Constant ops ------------------------------------------------------ */ 2657 /* -- Constant ops ------------------------------------------------------ */
2654 2658
2655 case BC_KSTR: 2659 case BC_KSTR:
2656 dasm_put(Dst, 13023, LJ_TSTR); 2660 dasm_put(Dst, 13046, LJ_TSTR);
2657 break; 2661 break;
2658 case BC_KCDATA: 2662 case BC_KCDATA:
2659#if LJ_HASFFI 2663#if LJ_HASFFI
2660 dasm_put(Dst, 13023, LJ_TCDATA); 2664 dasm_put(Dst, 13046, LJ_TCDATA);
2661#endif 2665#endif
2662 break; 2666 break;
2663 case BC_KSHORT: 2667 case BC_KSHORT:
2664 if (LJ_DUALNUM) { 2668 if (LJ_DUALNUM) {
2665 dasm_put(Dst, 13056, LJ_TISNUM); 2669 dasm_put(Dst, 13079, LJ_TISNUM);
2666 } else if (sse) { 2670 } else if (sse) {
2667 dasm_put(Dst, 13068); 2671 dasm_put(Dst, 13091);
2668 } else { 2672 } else {
2669 dasm_put(Dst, 13083); 2673 dasm_put(Dst, 13106);
2670 } 2674 }
2671 dasm_put(Dst, 11205); 2675 dasm_put(Dst, 11228);
2672 break; 2676 break;
2673 case BC_KNUM: 2677 case BC_KNUM:
2674 if (sse) { 2678 if (sse) {
2675 dasm_put(Dst, 13091); 2679 dasm_put(Dst, 13114);
2676 } else { 2680 } else {
2677 dasm_put(Dst, 13104); 2681 dasm_put(Dst, 13127);
2678 } 2682 }
2679 dasm_put(Dst, 11205); 2683 dasm_put(Dst, 11228);
2680 break; 2684 break;
2681 case BC_KPRI: 2685 case BC_KPRI:
2682 dasm_put(Dst, 13111); 2686 dasm_put(Dst, 13134);
2683 break; 2687 break;
2684 case BC_KNIL: 2688 case BC_KNIL:
2685 dasm_put(Dst, 13137, LJ_TNIL); 2689 dasm_put(Dst, 13160, LJ_TNIL);
2686 break; 2690 break;
2687 2691
2688 /* -- Upvalue and function ops ------------------------------------------ */ 2692 /* -- Upvalue and function ops ------------------------------------------ */
2689 2693
2690 case BC_UGET: 2694 case BC_UGET:
2691 dasm_put(Dst, 13183, offsetof(GCfuncL, uvptr), DtA(->v)); 2695 dasm_put(Dst, 13206, offsetof(GCfuncL, uvptr), DtA(->v));
2692 break; 2696 break;
2693 case BC_USETV: 2697 case BC_USETV:
2694#define TV2MARKOFS \ 2698#define TV2MARKOFS \
2695 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2699 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2696 dasm_put(Dst, 13227, 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); 2700 dasm_put(Dst, 13250, 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);
2697 dasm_put(Dst, 13317); 2701 dasm_put(Dst, 13340);
2698 break; 2702 break;
2699#undef TV2MARKOFS 2703#undef TV2MARKOFS
2700 case BC_USETS: 2704 case BC_USETS:
2701 dasm_put(Dst, 13329, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2705 dasm_put(Dst, 13352, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2702 break; 2706 break;
2703 case BC_USETN: 2707 case BC_USETN:
2704 dasm_put(Dst, 13420); 2708 dasm_put(Dst, 13443);
2705 if (sse) { 2709 if (sse) {
2706 dasm_put(Dst, 13425); 2710 dasm_put(Dst, 13448);
2707 } else { 2711 } else {
2708 dasm_put(Dst, 11715); 2712 dasm_put(Dst, 11738);
2709 } 2713 }
2710 dasm_put(Dst, 13432, offsetof(GCfuncL, uvptr), DtA(->v)); 2714 dasm_put(Dst, 13455, offsetof(GCfuncL, uvptr), DtA(->v));
2711 if (sse) { 2715 if (sse) {
2712 dasm_put(Dst, 13441); 2716 dasm_put(Dst, 13464);
2713 } else { 2717 } else {
2714 dasm_put(Dst, 13447); 2718 dasm_put(Dst, 13470);
2715 } 2719 }
2716 dasm_put(Dst, 11205); 2720 dasm_put(Dst, 11228);
2717 break; 2721 break;
2718 case BC_USETP: 2722 case BC_USETP:
2719 dasm_put(Dst, 13450, offsetof(GCfuncL, uvptr), DtA(->v)); 2723 dasm_put(Dst, 13473, offsetof(GCfuncL, uvptr), DtA(->v));
2720 break; 2724 break;
2721 case BC_UCLO: 2725 case BC_UCLO:
2722 dasm_put(Dst, 13487, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2726 dasm_put(Dst, 13510, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2723 break; 2727 break;
2724 2728
2725 case BC_FNEW: 2729 case BC_FNEW:
2726 dasm_put(Dst, 13541, Dt1(->base), Dt1(->base), LJ_TFUNC); 2730 dasm_put(Dst, 13564, Dt1(->base), Dt1(->base), LJ_TFUNC);
2727 break; 2731 break;
2728 2732
2729 /* -- Table ops --------------------------------------------------------- */ 2733 /* -- Table ops --------------------------------------------------------- */
2730 2734
2731 case BC_TNEW: 2735 case BC_TNEW:
2732 dasm_put(Dst, 13612, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2736 dasm_put(Dst, 13635, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2733 break; 2737 break;
2734 case BC_TDUP: 2738 case BC_TDUP:
2735 dasm_put(Dst, 13738, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2739 dasm_put(Dst, 13761, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2736 break; 2740 break;
2737 2741
2738 case BC_GGET: 2742 case BC_GGET:
2739 dasm_put(Dst, 13830, Dt7(->env)); 2743 dasm_put(Dst, 13853, Dt7(->env));
2740 break; 2744 break;
2741 case BC_GSET: 2745 case BC_GSET:
2742 dasm_put(Dst, 13848, Dt7(->env)); 2746 dasm_put(Dst, 13871, Dt7(->env));
2743 break; 2747 break;
2744 2748
2745 case BC_TGETV: 2749 case BC_TGETV:
2746 dasm_put(Dst, 13866, LJ_TTAB); 2750 dasm_put(Dst, 13889, LJ_TTAB);
2747 if (LJ_DUALNUM) { 2751 if (LJ_DUALNUM) {
2748 dasm_put(Dst, 13889, LJ_TISNUM); 2752 dasm_put(Dst, 13912, LJ_TISNUM);
2749 } else { 2753 } else {
2750 dasm_put(Dst, 13903, LJ_TISNUM); 2754 dasm_put(Dst, 13926, LJ_TISNUM);
2751 if (sse) { 2755 if (sse) {
2752 dasm_put(Dst, 13914); 2756 dasm_put(Dst, 13937);
2753 } else { 2757 } else {
2754 dasm_put(Dst, 13935); 2758 dasm_put(Dst, 13958);
2755 if (cmov) { 2759 if (cmov) {
2756 dasm_put(Dst, 3901); 2760 dasm_put(Dst, 3924);
2757 } else { 2761 } else {
2758 dasm_put(Dst, 3907); 2762 dasm_put(Dst, 3930);
2759 } 2763 }
2760 dasm_put(Dst, 2637); 2764 dasm_put(Dst, 2660);
2761 } 2765 }
2762 dasm_put(Dst, 13945); 2766 dasm_put(Dst, 13968);
2763 } 2767 }
2764 dasm_put(Dst, 13950, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2768 dasm_put(Dst, 13973, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2765 dasm_put(Dst, 14045, LJ_TSTR); 2769 dasm_put(Dst, 14068, LJ_TSTR);
2766 break; 2770 break;
2767 case BC_TGETS: 2771 case BC_TGETS:
2768 dasm_put(Dst, 14063, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2772 dasm_put(Dst, 14086, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2769 dasm_put(Dst, 14151, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2773 dasm_put(Dst, 14174, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2770 break; 2774 break;
2771 case BC_TGETB: 2775 case BC_TGETB:
2772 dasm_put(Dst, 14221, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2776 dasm_put(Dst, 14244, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2773 dasm_put(Dst, 14320, LJ_TNIL); 2777 dasm_put(Dst, 14343, LJ_TNIL);
2774 break; 2778 break;
2775 2779
2776 case BC_TSETV: 2780 case BC_TSETV:
2777 dasm_put(Dst, 14337, LJ_TTAB); 2781 dasm_put(Dst, 14360, LJ_TTAB);
2778 if (LJ_DUALNUM) { 2782 if (LJ_DUALNUM) {
2779 dasm_put(Dst, 13889, LJ_TISNUM); 2783 dasm_put(Dst, 13912, LJ_TISNUM);
2780 } else { 2784 } else {
2781 dasm_put(Dst, 13903, LJ_TISNUM); 2785 dasm_put(Dst, 13926, LJ_TISNUM);
2782 if (sse) { 2786 if (sse) {
2783 dasm_put(Dst, 13914); 2787 dasm_put(Dst, 13937);
2784 } else { 2788 } else {
2785 dasm_put(Dst, 13935); 2789 dasm_put(Dst, 13958);
2786 if (cmov) { 2790 if (cmov) {
2787 dasm_put(Dst, 3901); 2791 dasm_put(Dst, 3924);
2788 } else { 2792 } else {
2789 dasm_put(Dst, 3907); 2793 dasm_put(Dst, 3930);
2790 } 2794 }
2791 dasm_put(Dst, 2637); 2795 dasm_put(Dst, 2660);
2792 } 2796 }
2793 dasm_put(Dst, 14360); 2797 dasm_put(Dst, 14383);
2794 } 2798 }
2795 dasm_put(Dst, 14365, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2799 dasm_put(Dst, 14388, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2796 dasm_put(Dst, 14449, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2800 dasm_put(Dst, 14472, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2797 break; 2801 break;
2798 case BC_TSETS: 2802 case BC_TSETS:
2799 dasm_put(Dst, 14506, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2803 dasm_put(Dst, 14529, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2800 dasm_put(Dst, 14581, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2804 dasm_put(Dst, 14604, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2801 dasm_put(Dst, 14673, 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)); 2805 dasm_put(Dst, 14696, 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));
2802 break; 2806 break;
2803 case BC_TSETB: 2807 case BC_TSETB:
2804 dasm_put(Dst, 14769, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2808 dasm_put(Dst, 14792, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2805 dasm_put(Dst, 14867, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2809 dasm_put(Dst, 14890, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2806 break; 2810 break;
2807 2811
2808 case BC_TSETM: 2812 case BC_TSETM:
2809 dasm_put(Dst, 14913, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2813 dasm_put(Dst, 14936, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2810 dasm_put(Dst, 15062, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2814 dasm_put(Dst, 15085, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2811 break; 2815 break;
2812 2816
2813 /* -- Calls and vararg handling ----------------------------------------- */ 2817 /* -- Calls and vararg handling ----------------------------------------- */
2814 2818
2815 case BC_CALL: case BC_CALLM: 2819 case BC_CALL: case BC_CALLM:
2816 dasm_put(Dst, 12206); 2820 dasm_put(Dst, 12229);
2817 if (op == BC_CALLM) { 2821 if (op == BC_CALLM) {
2818 dasm_put(Dst, 15080); 2822 dasm_put(Dst, 15103);
2819 } 2823 }
2820 dasm_put(Dst, 15085, LJ_TFUNC, Dt7(->pc)); 2824 dasm_put(Dst, 15108, LJ_TFUNC, Dt7(->pc));
2821 break; 2825 break;
2822 2826
2823 case BC_CALLMT: 2827 case BC_CALLMT:
2824 dasm_put(Dst, 15080); 2828 dasm_put(Dst, 15103);
2825 break; 2829 break;
2826 case BC_CALLT: 2830 case BC_CALLT:
2827 dasm_put(Dst, 15126, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2831 dasm_put(Dst, 15149, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2828 dasm_put(Dst, 15244, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2832 dasm_put(Dst, 15267, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2829 break; 2833 break;
2830 2834
2831 case BC_ITERC: 2835 case BC_ITERC:
2832 dasm_put(Dst, 15314, LJ_TFUNC, 2+1, Dt7(->pc)); 2836 dasm_put(Dst, 15337, LJ_TFUNC, 2+1, Dt7(->pc));
2833 break; 2837 break;
2834 2838
2835 case BC_ITERN: 2839 case BC_ITERN:
2836#if LJ_HASJIT 2840#if LJ_HASJIT
2837#endif 2841#endif
2838 dasm_put(Dst, 15394, Dt6(->asize), Dt6(->array), LJ_TNIL); 2842 dasm_put(Dst, 15417, Dt6(->asize), Dt6(->array), LJ_TNIL);
2839 if (LJ_DUALNUM) { 2843 if (LJ_DUALNUM) {
2840 dasm_put(Dst, 12100, LJ_TISNUM); 2844 dasm_put(Dst, 12123, LJ_TISNUM);
2841 } else if (sse) { 2845 } else if (sse) {
2842 dasm_put(Dst, 12176); 2846 dasm_put(Dst, 12199);
2843 } else { 2847 } else {
2844 dasm_put(Dst, 15440); 2848 dasm_put(Dst, 15463);
2845 } 2849 }
2846 dasm_put(Dst, 15446); 2850 dasm_put(Dst, 15469);
2847 if (LJ_DUALNUM) { 2851 if (LJ_DUALNUM) {
2848 } else if (sse) { 2852 } else if (sse) {
2849 dasm_put(Dst, 12065); 2853 dasm_put(Dst, 12088);
2850 } else { 2854 } else {
2851 dasm_put(Dst, 12077); 2855 dasm_put(Dst, 12100);
2852 } 2856 }
2853 dasm_put(Dst, 15465, -BCBIAS_J*4); 2857 dasm_put(Dst, 15488, -BCBIAS_J*4);
2854 if (!LJ_DUALNUM && !sse) { 2858 if (!LJ_DUALNUM && !sse) {
2855 dasm_put(Dst, 15516); 2859 dasm_put(Dst, 15539);
2856 } 2860 }
2857 dasm_put(Dst, 15522, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 2861 dasm_put(Dst, 15545, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2858 dasm_put(Dst, 15597); 2862 dasm_put(Dst, 15620);
2859 break; 2863 break;
2860 2864
2861 case BC_ISNEXT: 2865 case BC_ISNEXT:
2862 dasm_put(Dst, 15605, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2866 dasm_put(Dst, 15628, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2863 break; 2867 break;
2864 2868
2865 case BC_VARG: 2869 case BC_VARG:
2866 dasm_put(Dst, 15704, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2870 dasm_put(Dst, 15727, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2867 dasm_put(Dst, 15868, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2871 dasm_put(Dst, 15891, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2868 break; 2872 break;
2869 2873
2870 /* -- Returns ----------------------------------------------------------- */ 2874 /* -- Returns ----------------------------------------------------------- */
2871 2875
2872 case BC_RETM: 2876 case BC_RETM:
2873 dasm_put(Dst, 15080); 2877 dasm_put(Dst, 15103);
2874 break; 2878 break;
2875 2879
2876 case BC_RET: case BC_RET0: case BC_RET1: 2880 case BC_RET: case BC_RET0: case BC_RET1:
2877 if (op != BC_RET0) { 2881 if (op != BC_RET0) {
2878 dasm_put(Dst, 15939); 2882 dasm_put(Dst, 15962);
2879 } 2883 }
2880 dasm_put(Dst, 15943, FRAME_TYPE); 2884 dasm_put(Dst, 15966, FRAME_TYPE);
2881 switch (op) { 2885 switch (op) {
2882 case BC_RET: 2886 case BC_RET:
2883 dasm_put(Dst, 15962); 2887 dasm_put(Dst, 15985);
2884 break; 2888 break;
2885 case BC_RET1: 2889 case BC_RET1:
2886 dasm_put(Dst, 16020); 2890 dasm_put(Dst, 16043);
2887 /* fallthrough */ 2891 /* fallthrough */
2888 case BC_RET0: 2892 case BC_RET0:
2889 dasm_put(Dst, 16036); 2893 dasm_put(Dst, 16059);
2890 default: 2894 default:
2891 break; 2895 break;
2892 } 2896 }
2893 dasm_put(Dst, 16047, Dt7(->pc), PC2PROTO(k)); 2897 dasm_put(Dst, 16070, Dt7(->pc), PC2PROTO(k));
2894 if (op == BC_RET) { 2898 if (op == BC_RET) {
2895 dasm_put(Dst, 16089, LJ_TNIL); 2899 dasm_put(Dst, 16112, LJ_TNIL);
2896 } else { 2900 } else {
2897 dasm_put(Dst, 16098, LJ_TNIL); 2901 dasm_put(Dst, 16121, LJ_TNIL);
2898 } 2902 }
2899 dasm_put(Dst, 16105, -FRAME_VARG, FRAME_TYPEP); 2903 dasm_put(Dst, 16128, -FRAME_VARG, FRAME_TYPEP);
2900 if (op != BC_RET0) { 2904 if (op != BC_RET0) {
2901 dasm_put(Dst, 16129); 2905 dasm_put(Dst, 16152);
2902 } 2906 }
2903 dasm_put(Dst, 4885); 2907 dasm_put(Dst, 4908);
2904 break; 2908 break;
2905 2909
2906 /* -- Loops and branches ------------------------------------------------ */ 2910 /* -- Loops and branches ------------------------------------------------ */
@@ -2908,7 +2912,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2908 2912
2909 case BC_FORL: 2913 case BC_FORL:
2910#if LJ_HASJIT 2914#if LJ_HASJIT
2911 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 2915 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
2912#endif 2916#endif
2913 break; 2917 break;
2914 2918
@@ -2920,111 +2924,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2920 case BC_FORI: 2924 case BC_FORI:
2921 case BC_IFORL: 2925 case BC_IFORL:
2922 vk = (op == BC_IFORL || op == BC_JFORL); 2926 vk = (op == BC_IFORL || op == BC_JFORL);
2923 dasm_put(Dst, 16154); 2927 dasm_put(Dst, 16177);
2924 if (LJ_DUALNUM) { 2928 if (LJ_DUALNUM) {
2925 dasm_put(Dst, 16158, LJ_TISNUM); 2929 dasm_put(Dst, 16181, LJ_TISNUM);
2926 if (!vk) { 2930 if (!vk) {
2927 dasm_put(Dst, 16168, LJ_TISNUM, LJ_TISNUM); 2931 dasm_put(Dst, 16191, LJ_TISNUM, LJ_TISNUM);
2928 } else { 2932 } else {
2929#ifdef LUA_USE_ASSERT 2933#ifdef LUA_USE_ASSERT
2930 dasm_put(Dst, 16197, LJ_TISNUM, LJ_TISNUM); 2934 dasm_put(Dst, 16220, LJ_TISNUM, LJ_TISNUM);
2931#endif 2935#endif
2932 dasm_put(Dst, 16216); 2936 dasm_put(Dst, 16239);
2933 } 2937 }
2934 dasm_put(Dst, 16235, LJ_TISNUM); 2938 dasm_put(Dst, 16258, LJ_TISNUM);
2935 if (op == BC_FORI) { 2939 if (op == BC_FORI) {
2936 dasm_put(Dst, 16246, -BCBIAS_J*4); 2940 dasm_put(Dst, 16269, -BCBIAS_J*4);
2937 } else if (op == BC_JFORI) { 2941 } else if (op == BC_JFORI) {
2938 dasm_put(Dst, 16260, -BCBIAS_J*4, BC_JLOOP); 2942 dasm_put(Dst, 16283, -BCBIAS_J*4, BC_JLOOP);
2939 } else if (op == BC_IFORL) { 2943 } else if (op == BC_IFORL) {
2940 dasm_put(Dst, 16278, -BCBIAS_J*4); 2944 dasm_put(Dst, 16301, -BCBIAS_J*4);
2941 } else { 2945 } else {
2942 dasm_put(Dst, 16270, BC_JLOOP); 2946 dasm_put(Dst, 16293, BC_JLOOP);
2943 } 2947 }
2944 dasm_put(Dst, 16292); 2948 dasm_put(Dst, 16315);
2945 if (vk) { 2949 if (vk) {
2946 dasm_put(Dst, 16315); 2950 dasm_put(Dst, 16338);
2947 } 2951 }
2948 dasm_put(Dst, 16235, LJ_TISNUM); 2952 dasm_put(Dst, 16258, LJ_TISNUM);
2949 if (op == BC_FORI) { 2953 if (op == BC_FORI) {
2950 dasm_put(Dst, 16324); 2954 dasm_put(Dst, 16347);
2951 } else if (op == BC_JFORI) { 2955 } else if (op == BC_JFORI) {
2952 dasm_put(Dst, 16329, -BCBIAS_J*4, BC_JLOOP); 2956 dasm_put(Dst, 16352, -BCBIAS_J*4, BC_JLOOP);
2953 } else if (op == BC_IFORL) { 2957 } else if (op == BC_IFORL) {
2954 dasm_put(Dst, 16343); 2958 dasm_put(Dst, 16366);
2955 } else { 2959 } else {
2956 dasm_put(Dst, 16339, BC_JLOOP); 2960 dasm_put(Dst, 16362, BC_JLOOP);
2957 } 2961 }
2958 dasm_put(Dst, 16348); 2962 dasm_put(Dst, 16371);
2959 } else if (!vk) { 2963 } else if (!vk) {
2960 dasm_put(Dst, 16355, LJ_TISNUM); 2964 dasm_put(Dst, 16378, LJ_TISNUM);
2961 } 2965 }
2962 if (!vk) { 2966 if (!vk) {
2963 dasm_put(Dst, 16361, LJ_TISNUM); 2967 dasm_put(Dst, 16384, LJ_TISNUM);
2964 } else { 2968 } else {
2965#ifdef LUA_USE_ASSERT 2969#ifdef LUA_USE_ASSERT
2966 dasm_put(Dst, 16375, LJ_TISNUM, LJ_TISNUM); 2970 dasm_put(Dst, 16398, LJ_TISNUM, LJ_TISNUM);
2967#endif 2971#endif
2968 } 2972 }
2969 dasm_put(Dst, 16394); 2973 dasm_put(Dst, 16417);
2970 if (!vk) { 2974 if (!vk) {
2971 dasm_put(Dst, 16398, LJ_TISNUM); 2975 dasm_put(Dst, 16421, LJ_TISNUM);
2972 } 2976 }
2973 if (sse) { 2977 if (sse) {
2974 dasm_put(Dst, 16407); 2978 dasm_put(Dst, 16430);
2975 if (vk) { 2979 if (vk) {
2976 dasm_put(Dst, 16419); 2980 dasm_put(Dst, 16442);
2977 } else { 2981 } else {
2978 dasm_put(Dst, 16438); 2982 dasm_put(Dst, 16461);
2979 } 2983 }
2980 dasm_put(Dst, 16443); 2984 dasm_put(Dst, 16466);
2981 } else { 2985 } else {
2982 dasm_put(Dst, 16456); 2986 dasm_put(Dst, 16479);
2983 if (vk) { 2987 if (vk) {
2984 dasm_put(Dst, 16462); 2988 dasm_put(Dst, 16485);
2985 } else { 2989 } else {
2986 dasm_put(Dst, 16478); 2990 dasm_put(Dst, 16501);
2987 } 2991 }
2988 dasm_put(Dst, 16486); 2992 dasm_put(Dst, 16509);
2989 if (cmov) { 2993 if (cmov) {
2990 dasm_put(Dst, 3901); 2994 dasm_put(Dst, 3924);
2991 } else { 2995 } else {
2992 dasm_put(Dst, 3907); 2996 dasm_put(Dst, 3930);
2993 } 2997 }
2994 if (!cmov) { 2998 if (!cmov) {
2995 dasm_put(Dst, 16491); 2999 dasm_put(Dst, 16514);
2996 } 3000 }
2997 } 3001 }
2998 if (op == BC_FORI) { 3002 if (op == BC_FORI) {
2999 if (LJ_DUALNUM) { 3003 if (LJ_DUALNUM) {
3000 dasm_put(Dst, 16497); 3004 dasm_put(Dst, 16520);
3001 } else { 3005 } else {
3002 dasm_put(Dst, 16502, -BCBIAS_J*4); 3006 dasm_put(Dst, 16525, -BCBIAS_J*4);
3003 } 3007 }
3004 } else if (op == BC_JFORI) { 3008 } else if (op == BC_JFORI) {
3005 dasm_put(Dst, 16512, -BCBIAS_J*4, BC_JLOOP); 3009 dasm_put(Dst, 16535, -BCBIAS_J*4, BC_JLOOP);
3006 } else if (op == BC_IFORL) { 3010 } else if (op == BC_IFORL) {
3007 if (LJ_DUALNUM) { 3011 if (LJ_DUALNUM) {
3008 dasm_put(Dst, 16526); 3012 dasm_put(Dst, 16549);
3009 } else { 3013 } else {
3010 dasm_put(Dst, 16531, -BCBIAS_J*4); 3014 dasm_put(Dst, 16554, -BCBIAS_J*4);
3011 } 3015 }
3012 } else { 3016 } else {
3013 dasm_put(Dst, 16522, BC_JLOOP); 3017 dasm_put(Dst, 16545, BC_JLOOP);
3014 } 3018 }
3015 if (LJ_DUALNUM) { 3019 if (LJ_DUALNUM) {
3016 dasm_put(Dst, 11102); 3020 dasm_put(Dst, 11125);
3017 } else { 3021 } else {
3018 dasm_put(Dst, 11843); 3022 dasm_put(Dst, 11866);
3019 } 3023 }
3020 if (sse) { 3024 if (sse) {
3021 dasm_put(Dst, 16541); 3025 dasm_put(Dst, 16564);
3022 } 3026 }
3023 break; 3027 break;
3024 3028
3025 case BC_ITERL: 3029 case BC_ITERL:
3026#if LJ_HASJIT 3030#if LJ_HASJIT
3027 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 3031 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
3028#endif 3032#endif
3029 break; 3033 break;
3030 3034
@@ -3033,33 +3037,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3033 break; 3037 break;
3034#endif 3038#endif
3035 case BC_IITERL: 3039 case BC_IITERL:
3036 dasm_put(Dst, 16552, LJ_TNIL); 3040 dasm_put(Dst, 16575, LJ_TNIL);
3037 if (op == BC_JITERL) { 3041 if (op == BC_JITERL) {
3038 dasm_put(Dst, 16567, BC_JLOOP); 3042 dasm_put(Dst, 16590, BC_JLOOP);
3039 } else { 3043 } else {
3040 dasm_put(Dst, 16581, -BCBIAS_J*4); 3044 dasm_put(Dst, 16604, -BCBIAS_J*4);
3041 } 3045 }
3042 dasm_put(Dst, 11203); 3046 dasm_put(Dst, 11226);
3043 break; 3047 break;
3044 3048
3045 case BC_LOOP: 3049 case BC_LOOP:
3046#if LJ_HASJIT 3050#if LJ_HASJIT
3047 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT); 3051 dasm_put(Dst, 16156, HOTCOUNT_PCMASK, GG_DISP2HOT);
3048#endif 3052#endif
3049 break; 3053 break;
3050 3054
3051 case BC_ILOOP: 3055 case BC_ILOOP:
3052 dasm_put(Dst, 11205); 3056 dasm_put(Dst, 11228);
3053 break; 3057 break;
3054 3058
3055 case BC_JLOOP: 3059 case BC_JLOOP:
3056#if LJ_HASJIT 3060#if LJ_HASJIT
3057 dasm_put(Dst, 16597, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3061 dasm_put(Dst, 16620, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3058#endif 3062#endif
3059 break; 3063 break;
3060 3064
3061 case BC_JMP: 3065 case BC_JMP:
3062 dasm_put(Dst, 16620, -BCBIAS_J*4); 3066 dasm_put(Dst, 16643, -BCBIAS_J*4);
3063 break; 3067 break;
3064 3068
3065 /* -- Function headers -------------------------------------------------- */ 3069 /* -- Function headers -------------------------------------------------- */
@@ -3073,7 +3077,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3073 3077
3074 case BC_FUNCF: 3078 case BC_FUNCF:
3075#if LJ_HASJIT 3079#if LJ_HASJIT
3076 dasm_put(Dst, 16644, HOTCOUNT_PCMASK, GG_DISP2HOT); 3080 dasm_put(Dst, 16667, HOTCOUNT_PCMASK, GG_DISP2HOT);
3077#endif 3081#endif
3078 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3082 case BC_FUNCV: /* NYI: compiled vararg functions. */
3079 break; 3083 break;
@@ -3083,47 +3087,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3083 break; 3087 break;
3084#endif 3088#endif
3085 case BC_IFUNCF: 3089 case BC_IFUNCF:
3086 dasm_put(Dst, 16665, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3090 dasm_put(Dst, 16688, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3087 if (op == BC_JFUNCF) { 3091 if (op == BC_JFUNCF) {
3088 dasm_put(Dst, 16695, BC_JLOOP); 3092 dasm_put(Dst, 16718, BC_JLOOP);
3089 } else { 3093 } else {
3090 dasm_put(Dst, 11205); 3094 dasm_put(Dst, 11228);
3091 } 3095 }
3092 dasm_put(Dst, 16704, LJ_TNIL); 3096 dasm_put(Dst, 16727, LJ_TNIL);
3093 break; 3097 break;
3094 3098
3095 case BC_JFUNCV: 3099 case BC_JFUNCV:
3096#if !LJ_HASJIT 3100#if !LJ_HASJIT
3097 break; 3101 break;
3098#endif 3102#endif
3099 dasm_put(Dst, 10305); 3103 dasm_put(Dst, 10328);
3100 break; /* NYI: compiled vararg functions. */ 3104 break; /* NYI: compiled vararg functions. */
3101 3105
3102 case BC_IFUNCV: 3106 case BC_IFUNCV:
3103 dasm_put(Dst, 16726, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3107 dasm_put(Dst, 16749, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3104 if (op == BC_JFUNCV) { 3108 if (op == BC_JFUNCV) {
3105 dasm_put(Dst, 16695, BC_JLOOP); 3109 dasm_put(Dst, 16718, BC_JLOOP);
3106 } else { 3110 } else {
3107 dasm_put(Dst, 16817, -4+PC2PROTO(k)); 3111 dasm_put(Dst, 16840, -4+PC2PROTO(k));
3108 } 3112 }
3109 dasm_put(Dst, 16839, LJ_TNIL); 3113 dasm_put(Dst, 16862, LJ_TNIL);
3110 break; 3114 break;
3111 3115
3112 case BC_FUNCC: 3116 case BC_FUNCC:
3113 case BC_FUNCCW: 3117 case BC_FUNCCW:
3114 dasm_put(Dst, 16861, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3118 dasm_put(Dst, 16884, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3115 if (op == BC_FUNCC) { 3119 if (op == BC_FUNCC) {
3116 dasm_put(Dst, 16890); 3120 dasm_put(Dst, 16913);
3117 } else { 3121 } else {
3118 dasm_put(Dst, 16894); 3122 dasm_put(Dst, 16917);
3119 } 3123 }
3120 dasm_put(Dst, 16902, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3124 dasm_put(Dst, 16925, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3121 if (op == BC_FUNCC) { 3125 if (op == BC_FUNCC) {
3122 dasm_put(Dst, 16911); 3126 dasm_put(Dst, 16934);
3123 } else { 3127 } else {
3124 dasm_put(Dst, 16915, DISPATCH_GL(wrapf)); 3128 dasm_put(Dst, 16938, DISPATCH_GL(wrapf));
3125 } 3129 }
3126 dasm_put(Dst, 16920, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3130 dasm_put(Dst, 16943, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3127 break; 3131 break;
3128 3132
3129 /* ---------------------------------------------------------------------- */ 3133 /* ---------------------------------------------------------------------- */
@@ -3151,7 +3155,7 @@ static int build_backend(BuildCtx *ctx)
3151 3155
3152 build_subroutines(ctx, cmov, sse); 3156 build_subroutines(ctx, cmov, sse);
3153 3157
3154 dasm_put(Dst, 16945); 3158 dasm_put(Dst, 16968);
3155 for (op = 0; op < BC__MAX; op++) 3159 for (op = 0; op < BC__MAX; op++)
3156 build_ins(ctx, (BCOp)op, op, cmov, sse); 3160 build_ins(ctx, (BCOp)op, op, cmov, sse);
3157 3161