aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-03-17 16:05:04 +0100
committerMike Pall <mike>2011-03-17 16:06:41 +0100
commitac3b1dcfc5749b63e1c65703cc33151c79337e79 (patch)
tree10dbe5851451cf81a0c57603501bd6a7d3e7a02e /src/buildvm_x86.h
parent6299485000cfc96c92352501182e228c8e143005 (diff)
downloadluajit-ac3b1dcfc5749b63e1c65703cc33151c79337e79.tar.gz
luajit-ac3b1dcfc5749b63e1c65703cc33151c79337e79.tar.bz2
luajit-ac3b1dcfc5749b63e1c65703cc33151c79337e79.zip
x64: Workaround for libgcc unwind bug (still present in RHEL 5.5).
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h2328
1 files changed, 1165 insertions, 1163 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index a49b3dd5..b7b86cfd 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[16945] = { 15static const unsigned char build_actionlist[16947] = {
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,
@@ -25,141 +25,141 @@ static const unsigned char build_actionlist[16945] = {
25 237,131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193, 25 237,131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,
26 141,20,202,252,233,244,5,248,8,137,149,233,137,68,36,20,137,202,137,252,233, 26 141,20,202,252,233,244,5,248,8,137,149,233,137,68,36,20,137,202,137,252,233,
27 232,251,1,0,139,149,233,252,233,244,3,248,17,137,208,137,204,248,18,139,108, 27 232,251,1,0,139,149,233,252,233,244,3,248,17,137,208,137,204,248,18,139,108,
28 36,48,139,173,233,199,133,233,237,252,233,244,16,248,19,129,225,239,137,204, 28 36,48,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,129,225,239,
29 248,20,139,108,36,48,185,252,248,252,255,252,255,252,255,184,237,255,139, 29 137,204,248,21,255,139,108,36,48,185,252,248,252,255,252,255,252,255,184,
30 149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252,237,199,131, 30 237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252,237,
31 233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22,131,232,8,252, 31 199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,248,23,131,
32 233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233,131,198,4,137, 32 232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,233,131,
33 149,233,137,133,233,255,137,116,36,24,137,202,248,2,137,252,233,232,251,1, 33 198,4,137,149,233,255,137,133,233,137,116,36,24,137,202,248,2,137,252,233,
34 0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3,131,192,1,139, 34 232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3,131,
35 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,24, 35 192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,
36 85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237,49,192,141, 36 248,25,85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237,49,192,
37 188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24,137,68,36, 37 141,188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24,137,68,
38 52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139, 38 36,52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
39 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,20,252, 39 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,20,252,
40 247,198,237,15,132,244,13,255,252,233,244,14,248,25,85,87,86,83,131,252,236, 40 247,198,237,255,15,132,244,13,252,233,244,14,248,26,85,87,86,83,131,252,236,
41 28,190,237,252,233,244,247,248,26,85,87,86,83,131,252,236,28,190,237,248, 41 28,190,237,252,233,244,247,248,27,85,87,86,83,131,252,236,28,190,237,248,
42 1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108,36,24,137, 42 1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108,36,24,137,
43 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,1, 43 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,255,
44 206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,27,255,139,105,252, 44 1,206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,28,139,105,252,248,
45 248,129,121,253,252,252,239,15,133,244,28,248,29,137,202,137,114,252,252, 45 129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,114,252,252,139,
46 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248, 46 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,31,
47 30,85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139, 47 85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139,84,
48 84,36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124, 48 36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124,36,
49 36,56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165, 49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
50 233,252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11, 50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
51 1,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,139,191,233,252,255, 52 117,252,244,139,77,252,240,139,122,252,248,139,191,233,255,139,191,233,252,
53 225,248,31,255,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15, 53 255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,
54 132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4, 54 132,244,33,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4,
55 137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20,237, 55 137,69,0,137,108,36,4,252,233,244,34,248,35,137,68,36,16,199,68,36,20,237,
56 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65, 56 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,
57 4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,199,68,36,20,237, 57 4,237,137,205,252,233,244,248,248,36,15,182,70,252,254,255,199,68,36,20,237,
58 137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12, 58 137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12,
59 219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,36,15,182, 59 219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,37,15,182,
60 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108, 60 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,
61 36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251, 61 36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,
62 1,1,139,149,233,133,192,15,132,244,249,248,32,15,182,78,252,253,139,104,4, 62 1,1,139,149,233,133,192,15,132,244,249,248,33,15,182,78,252,253,139,104,4,
63 139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, 63 139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
64 16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139, 64 16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,
65 105,252,248,184,237,252,233,244,29,248,37,137,68,36,16,199,68,36,20,237,141, 65 105,252,248,184,237,252,233,244,30,248,38,137,68,36,16,199,68,36,20,237,141,
66 68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65, 66 68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,
67 4,237,137,205,252,233,244,248,248,38,15,182,70,252,254,255,141,68,36,16,252, 67 4,237,137,205,252,233,244,248,248,39,15,182,70,252,254,255,141,68,36,16,252,
68 233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141, 68 233,244,247,248,40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,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 44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,
70 233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78, 70 233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,
71 252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204, 71 252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,41,139,6,15,182,204,
72 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113, 72 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,
73 252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141, 73 252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,
74 177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,41,15,182,110,252, 74 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,42,15,182,110,252,
75 252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36, 75 252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,
76 4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131, 76 4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131,
77 252,248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252, 77 252,248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,
78 254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232, 78 254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,
79 16,252,255,36,171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 16,252,255,36,171,248,44,131,198,4,129,120,253,4,239,15,130,244,5,252,233,
80 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108, 80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,137,108,
81 36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137, 81 36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,
82 116,36,24,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36,48, 82 116,36,24,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36,48,
83 137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233, 83 137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233,
84 244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233,244, 84 244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233,244,
85 247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248,51, 85 247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248,52,
86 141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,44, 86 141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,44,
87 252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182,70, 87 252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182,70,
88 252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232, 88 252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232,
89 251,1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252, 89 251,1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252,
90 244,141,176,233,184,237,252,233,244,27,248,54,139,108,36,48,137,149,233,141, 90 244,141,176,233,184,237,252,233,244,28,248,55,139,108,36,48,137,149,233,141,
91 20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244,42,248, 91 20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244,43,248,
92 55,141,76,202,8,248,28,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193, 92 56,141,76,202,8,248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,
93 139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,255,137,116,36, 93 139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,255,137,116,36,
94 24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131, 94 24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131,
95 192,1,57,215,15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15, 95 192,1,57,215,15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15,
96 182,252,233,15,182,205,131,198,4,252,255,36,171,248,57,139,108,36,48,137, 96 182,252,233,15,182,205,131,198,4,252,255,36,171,248,58,139,108,36,48,137,
97 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70, 97 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70,
98 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,58,129, 98 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,59,129,
99 252,248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114, 99 252,248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114,
100 252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2,15, 100 252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2,15,
101 132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137, 101 132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137,
102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,244,60, 102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,244,61,
103 248,61,129,252,248,239,15,130,244,59,139,106,4,184,237,252,247,213,57,232, 103 248,62,129,252,248,239,15,130,244,60,139,106,4,184,237,252,247,213,57,232,
104 255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248, 104 255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,
105 139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252, 105 139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252,
106 233,244,62,248,63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252, 106 233,244,63,248,64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252,
107 129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237, 107 129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,
108 199,66,252,252,237,15,132,244,62,139,131,233,199,66,252,252,237,255,137,106, 108 199,66,252,252,237,15,132,244,63,139,131,233,199,66,252,252,237,255,137,106,
109 252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239, 109 252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,
110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133, 110 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,
111 244,3,252,233,244,62,248,5,139,105,4,129,252,253,239,255,15,132,244,62,139, 111 244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139,
112 1,137,106,252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15, 112 1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,
113 132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172, 113 132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,
114 253,171,233,252,233,244,2,248,64,129,252,248,239,15,130,244,59,255,129,122, 114 253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122,
115 253,4,239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12, 115 253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,
116 239,15,133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237, 116 239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,
117 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131, 117 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131,
118 233,137,171,233,137,133,233,248,1,255,252,233,244,62,248,65,129,252,248,239, 118 233,137,171,233,137,133,233,248,1,255,252,233,244,63,248,66,129,252,248,239,
119 15,130,244,59,129,122,253,4,239,15,133,244,59,139,2,139,108,36,48,137,68, 119 15,130,244,60,129,122,253,4,239,15,133,244,60,139,2,139,108,36,48,137,68,
120 36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139, 120 36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139,
121 40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,62, 121 40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,63,
122 248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133,244,247, 122 248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,247,
123 139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59,255,252,242,15, 123 139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,255,252,242,15,
124 16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129,252,248,239,15, 124 16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,252,248,239,15,
125 130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199, 125 130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,
126 66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122,253,4,239,15,135, 126 66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,253,4,239,15,135,
127 244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233,255,15,130,244, 127 244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,255,15,130,244,
128 247,232,244,71,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,233, 128 247,232,244,72,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,233,
129 255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,72,129, 129 255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,73,129,
130 252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253,4,239,15,133,244, 130 252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,4,239,15,133,244,
131 59,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,36, 131 60,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,36,
132 4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233, 132 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, 133 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,73,184,237,255,252,233,244,74,248, 134 139,106,16,139,66,20,137,42,137,66,4,248,74,184,237,255,252,233,244,75,248,
135 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,62,248, 135 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,63,248,
136 75,129,252,248,239,15,130,244,59,139,42,129,122,253,4,239,15,133,244,59,255, 136 76,129,252,248,239,15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255,
137 131,189,233,0,15,133,244,59,255,139,106,252,248,139,133,233,139,114,252,252, 137 131,189,233,0,15,133,244,60,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,74,248, 138 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248,
139 76,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,129,122, 139 77,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122,
140 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237, 140 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, 141 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, 142 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, 143 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, 144 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,
145 132,244,77,139,40,139,64,4,137,42,137,66,4,252,233,244,73,248,2,131,189,233, 145 132,244,78,139,40,139,64,4,137,42,137,66,4,252,233,244,74,248,2,131,189,233,
146 0,15,132,244,77,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133, 146 0,15,132,244,78,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,
147 192,15,133,244,1,248,77,184,237,252,233,244,74,248,78,255,139,106,252,248, 147 192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,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, 148 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, 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 221,90,8,255,184,237,252,233,244,74,248,79,129,252,248,239,15,130,244,59, 150 221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,239,15,130,244,60,
151 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1, 151 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,27,248,80,129,252,248,239,15,130,244,59,129,122,253, 152 1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,244,60,129,122,253,
153 12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, 153 12,239,15,133,244,60,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,81,129,252, 154 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,82,129,252,
155 248,239,15,130,244,59,139,42,139,114,252,252,137,116,36,24,137,44,36,129, 155 248,239,15,130,244,60,139,42,139,114,252,252,137,116,36,24,137,44,36,129,
156 122,253,4,239,15,133,244,59,131,189,233,0,15,133,244,59,128,189,233,235,15, 156 122,253,4,239,15,133,244,60,131,189,233,0,15,133,244,60,128,189,233,235,15,
157 135,244,59,139,141,233,15,132,244,247,255,59,141,233,15,132,244,59,248,1, 157 135,244,60,139,141,233,15,132,244,247,255,59,141,233,15,132,244,60,248,1,
158 141,116,193,252,240,59,181,233,15,135,244,59,137,181,233,139,108,36,48,137, 158 141,116,193,252,240,59,181,233,15,135,244,60,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, 159 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, 160 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, 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 244,24,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248, 162 244,25,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248,
163 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 163 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,
164 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137, 164 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,
165 213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249, 165 213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,
@@ -168,13 +168,13 @@ static const unsigned char build_actionlist[16945] = {
168 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137, 168 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, 169 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, 170 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,82,139,106,252,248,139,173,233,139,114,252,252,137,116, 171 252,233,244,4,248,83,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,59,255,128,189,233,235,15,135,244, 172 36,24,137,44,36,131,189,233,0,15,133,244,60,255,128,189,233,235,15,135,244,
173 59,139,141,233,15,132,244,247,59,141,233,15,132,244,59,248,1,141,116,193, 173 60,139,141,233,15,132,244,247,59,141,233,15,132,244,60,248,1,141,116,193,
174 252,248,59,181,233,15,135,244,59,137,181,233,139,108,36,48,137,149,233,137, 174 252,248,59,181,233,15,135,244,60,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, 175 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, 176 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,24,199,131, 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 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254, 178 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,
179 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, 179 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,
180 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5, 180 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5,
@@ -182,271 +182,271 @@ static const unsigned char build_actionlist[16945] = {
182 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, 182 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, 183 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, 184 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,83,139,108,36,48,252,247,133,233,237,15,132,244,59,255, 185 252,233,244,4,248,84,139,108,36,48,252,247,133,233,237,15,132,244,60,255,
186 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, 186 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,67,255,248,69,139,114,252,252,221,90,252,248, 187 133,233,252,233,244,16,255,248,68,255,248,70,139,114,252,252,221,90,252,248,
188 252,233,244,62,255,248,84,129,252,248,239,15,130,244,59,255,129,122,253,4, 188 252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,255,129,122,253,4,
189 239,15,133,244,248,139,42,131,252,253,0,15,137,244,67,252,247,221,15,136, 189 239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,247,221,15,136,
190 244,247,248,85,248,67,139,114,252,252,199,66,252,252,237,137,106,252,248, 190 244,247,248,86,248,68,139,114,252,252,199,66,252,252,237,137,106,252,248,
191 252,233,244,62,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, 191 252,233,244,63,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,62,248,2,15,135,244,59,255,129,122,253,4,239,15,131, 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 244,59,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, 193 244,60,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,68,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, 194 1,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217,
195 225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237,248,74, 195 225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237,248,75,
196 137,68,36,20,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, 196 137,68,36,20,248,61,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, 197 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, 198 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, 199 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233,
200 244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,67, 200 244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,68,
201 248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,242,15,45,232, 201 248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,45,232,
202 129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,46,193,15,138, 202 129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,15,138,
203 244,68,15,132,244,67,255,221,2,232,244,87,255,219,20,36,139,44,36,129,252, 203 244,69,15,132,244,68,255,221,2,232,244,88,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, 204 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,69,15,133,244,69,248,2,221,216,252, 205 218,252,233,223,224,158,255,15,138,244,70,15,133,244,70,248,2,221,216,252,
206 233,244,67,255,248,88,255,252,242,15,16,2,232,244,89,255,221,2,232,244,89, 206 233,244,68,255,248,89,255,252,242,15,16,2,232,244,90,255,221,2,232,244,90,
207 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 207 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
208 252,242,15,81,2,252,233,244,68,255,248,90,129,252,248,239,15,130,244,59,129, 208 252,242,15,81,2,252,233,244,69,255,248,91,129,252,248,239,15,130,244,60,129,
209 122,253,4,239,15,131,244,59,221,2,217,252,250,252,233,244,69,255,248,91,129, 209 122,253,4,239,15,131,244,60,221,2,217,252,250,252,233,244,70,255,248,92,129,
210 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,252,237,221, 210 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,237,221,
211 2,217,252,241,252,233,244,69,248,92,129,252,248,239,15,130,244,59,129,122, 211 2,217,252,241,252,233,244,70,248,93,129,252,248,239,15,130,244,60,129,122,
212 253,4,239,15,131,244,59,217,252,236,221,2,217,252,241,252,233,244,69,248, 212 253,4,239,15,131,244,60,217,252,236,221,2,217,252,241,252,233,244,70,248,
213 93,129,252,248,239,255,15,130,244,59,129,122,253,4,239,15,131,244,59,221, 213 94,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,
214 2,232,244,94,252,233,244,69,248,95,129,252,248,239,15,130,244,59,129,122, 214 2,232,244,95,252,233,244,70,248,96,129,252,248,239,15,130,244,60,129,122,
215 253,4,239,15,131,244,59,221,2,217,252,254,252,233,244,69,248,96,129,252,248, 215 253,4,239,15,131,244,60,221,2,217,252,254,252,233,244,70,248,97,129,252,248,
216 239,255,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,255,252, 216 239,255,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,255,252,
217 233,244,69,248,97,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, 217 233,244,70,248,98,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
218 244,59,221,2,217,252,242,221,216,252,233,244,69,248,98,129,252,248,239,15, 218 244,60,221,2,217,252,242,221,216,252,233,244,70,248,99,129,252,248,239,15,
219 130,244,59,255,129,122,253,4,239,15,131,244,59,221,2,217,192,216,200,217, 219 130,244,60,255,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,
220 232,222,225,217,252,250,217,252,243,252,233,244,69,248,99,129,252,248,239, 220 232,222,225,217,252,250,217,252,243,252,233,244,70,248,100,129,252,248,239,
221 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,192,216,200,217,232, 221 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,192,216,200,217,232,
222 222,225,217,252,250,217,201,217,252,243,252,233,244,69,248,100,129,252,248, 222 222,225,217,252,250,217,201,217,252,243,252,233,244,70,248,101,129,252,248,
223 239,15,130,244,59,129,122,253,4,239,15,131,244,59,255,221,2,217,232,217,252, 223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,255,221,2,217,232,217,252,
224 243,252,233,244,69,255,248,101,129,252,248,239,15,130,244,59,129,122,253, 224 243,252,233,244,70,255,248,102,129,252,248,239,15,130,244,60,129,122,253,
225 4,239,15,131,244,59,252,242,15,16,2,252,242,15,17,4,36,255,248,101,129,252, 225 4,239,15,131,244,60,252,242,15,16,2,252,242,15,17,4,36,255,248,102,129,252,
226 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,221,28,36,255, 226 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255,
227 137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,102,129,252,248,239, 227 137,213,232,251,1,16,137,252,234,252,233,244,70,255,248,103,129,252,248,239,
228 15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,252,242,15, 228 15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,252,242,15,
229 17,4,36,255,248,102,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, 229 17,4,36,255,248,103,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
230 244,59,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,69, 230 244,60,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,70,
231 255,248,103,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 231 255,248,104,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
232 252,242,15,16,2,252,242,15,17,4,36,255,248,103,129,252,248,239,15,130,244, 232 252,242,15,16,2,252,242,15,17,4,36,255,248,104,129,252,248,239,15,130,244,
233 59,129,122,253,4,239,15,131,244,59,221,2,221,28,36,255,137,213,232,251,1, 233 60,129,122,253,4,239,15,131,244,60,221,2,221,28,36,255,137,213,232,251,1,
234 18,137,252,234,252,233,244,69,248,104,255,248,105,129,252,248,239,15,130, 234 18,137,252,234,252,233,244,70,248,105,255,248,106,129,252,248,239,15,130,
235 244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,252,248,252, 235 244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248,252,
236 242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,15,130,244,59, 236 242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,60,
237 129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,233,252,233, 237 129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252,233,
238 244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, 238 244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
239 244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,243,252,233, 239 244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252,233,
240 244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, 240 244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,
241 59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,253,221,217, 241 60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221,217,
242 252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,4,129,252,253, 242 252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252,253,
243 239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, 243 239,15,131,244,60,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, 244 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, 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 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, 246 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, 247 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,74,248,3,255,15,87,192, 248 252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,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, 249 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, 250 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, 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 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129, 252 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,
253 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, 253 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,
254 255,248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 254 255,248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
255 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, 255 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,110,252,242,15,92,224,248,1,252,242,15, 256 132,244,250,255,15,40,224,232,244,111,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,110,220,252,233,248,1, 257 17,66,252,248,252,242,15,17,34,255,217,192,232,244,111,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, 258 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,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233, 259 248,2,184,237,252,233,244,75,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, 260 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,111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, 261 1,255,248,112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,
262 59,129,122,253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223, 262 60,129,122,253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223,
263 224,158,15,138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15, 263 224,158,15,138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15,
264 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, 264 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,
265 59,252,242,15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248, 265 60,252,242,15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248,
266 112,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 266 113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
267 253,12,239,15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248, 267 253,12,239,15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248,
268 114,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, 268 115,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,67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, 269 15,131,244,68,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,59,255,252, 270 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252,
271 233,244,252,248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244, 271 233,244,252,248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244,
272 68,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15, 272 69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15,
273 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, 273 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, 274 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,69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, 275 131,244,70,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, 276 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, 277 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,115,185,2,0,0,0, 278 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,116,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,67,129, 279 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,
280 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, 280 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,59,255,248,6,252,242,15,16,76, 281 248,131,193,1,252,233,244,1,248,3,15,135,244,60,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, 282 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, 283 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,59,255,248,116,129,252,248, 284 248,2,221,216,88,255,248,9,221,216,252,233,244,60,255,248,117,129,252,248,
285 239,15,130,244,59,129,122,253,4,239,15,133,244,59,139,42,255,139,173,233, 285 239,15,130,244,60,129,122,253,4,239,15,133,244,60,139,42,255,139,173,233,
286 252,233,244,67,255,252,242,15,42,133,233,252,233,244,68,255,219,133,233,252, 286 252,233,244,68,255,252,242,15,42,133,233,252,233,244,69,255,219,133,233,252,
287 233,244,69,255,248,117,129,252,248,239,15,133,244,59,129,122,253,4,239,15, 287 233,244,70,255,248,118,129,252,248,239,15,133,244,60,129,122,253,4,239,15,
288 133,244,59,139,42,139,114,252,252,131,189,233,1,15,130,244,77,15,182,173, 288 133,244,60,139,42,139,114,252,252,131,189,233,1,15,130,244,78,15,182,173,
289 233,255,252,242,15,42,197,252,233,244,68,255,137,108,36,16,219,68,36,16,252, 289 233,255,252,242,15,42,197,252,233,244,69,255,137,108,36,16,219,68,36,16,252,
290 233,244,69,255,248,118,139,171,233,59,171,233,15,130,244,247,232,244,71,248, 290 233,244,70,255,248,119,139,171,233,59,171,233,15,130,244,247,232,244,72,248,
291 1,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133,244,59,139,42, 291 1,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,244,60,139,42,
292 129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,20,255,15,131,244,59,252, 292 129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15,131,244,60,252,
293 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,20,255,15, 293 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,20,255,15,
294 131,244,59,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,59,255, 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 199,68,36,8,1,0,0,0,141,68,36,20,248,119,139,108,36,48,137,149,233,137,68, 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 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, 296 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,62,248,120,139,171,233,59,171,233, 297 66,252,252,237,137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233,
298 15,130,244,247,232,244,71,248,1,199,68,36,20,252,255,252,255,252,255,252, 298 15,130,244,247,232,244,72,248,1,199,68,36,20,252,255,252,255,252,255,252,
299 255,129,252,248,239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15, 299 255,129,252,248,239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,
300 133,244,59,139,106,16,137,108,36,20,255,15,131,244,59,252,242,15,44,106,16, 300 133,244,60,139,106,16,137,108,36,20,255,15,131,244,60,252,242,15,44,106,16,
301 137,108,36,20,255,15,131,244,59,221,66,16,219,92,36,20,255,248,1,129,122, 301 137,108,36,20,255,15,131,244,60,221,66,16,219,92,36,20,255,248,1,129,122,
302 253,4,239,15,133,244,59,129,122,253,12,239,255,139,42,137,108,36,12,139,173, 302 253,4,239,15,133,244,60,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, 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 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, 304 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,121,141,172,253,13,233,131,192,1,248,4, 305 3,139,108,36,12,41,200,15,140,244,122,141,172,253,13,233,131,192,1,248,4,
306 137,68,36,8,137,232,252,233,244,119,248,5,15,140,244,252,141,68,40,1,252, 306 137,68,36,8,137,232,252,233,244,120,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, 307 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,121,49,192,252, 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 233,244,4,248,122,129,252,248,239,15,130,244,59,139,171,233,59,171,233,15, 309 233,244,4,248,123,129,252,248,239,15,130,244,60,139,171,233,59,171,233,15,
310 130,244,247,232,244,71,248,1,255,129,122,253,4,239,15,133,244,59,129,122, 310 130,244,247,232,244,72,248,1,255,129,122,253,4,239,15,133,244,60,129,122,
311 253,12,239,139,42,255,15,133,244,59,139,66,8,255,15,131,244,59,252,242,15, 311 253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,131,244,60,252,242,15,
312 44,66,8,255,15,131,244,59,221,66,8,219,92,36,20,139,68,36,20,255,133,192, 312 44,66,8,255,15,131,244,60,221,66,8,219,92,36,20,139,68,36,20,255,133,192,
313 15,142,244,121,131,189,233,1,15,130,244,121,15,133,244,123,57,131,233,15, 313 15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,124,57,131,233,15,
314 130,244,123,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, 314 130,244,124,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,119,248,124,129,252,248, 315 1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248,125,129,252,248,
316 239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248, 316 239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248,
317 1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192,15,132,244,121, 317 1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192,15,132,244,122,
318 57,131,233,15,130,244,125,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 318 57,131,233,15,130,244,126,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, 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 139,116,36,20,252,233,244,119,248,126,129,252,248,239,15,130,244,59,139,171, 320 139,116,36,20,252,233,244,120,248,127,129,252,248,239,15,130,244,60,139,171,
321 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, 321 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,
322 59,139,42,139,133,233,57,131,233,255,15,130,244,125,129,197,239,137,116,36, 322 60,139,42,139,133,233,57,131,233,255,15,130,244,126,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, 323 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, 324 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,119, 325 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,120,
326 248,127,129,252,248,239,15,130,244,59,255,139,171,233,59,171,233,15,130,244, 326 248,128,129,252,248,239,15,130,244,60,255,139,171,233,59,171,233,15,130,244,
327 247,232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,57, 327 247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,57,
328 131,233,15,130,244,125,129,197,239,137,116,36,20,137,68,36,8,139,179,233, 328 131,233,15,130,244,126,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, 329 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, 330 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,119,248,128,129,252,248, 331 15,137,244,1,137,252,240,139,116,36,20,252,233,244,120,248,129,129,252,248,
332 239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,10,232,251, 332 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,10,232,251,
333 1,20,137,252,234,255,137,197,252,233,244,67,255,252,242,15,42,192,252,233, 333 1,20,137,252,234,255,137,197,252,233,244,68,255,252,242,15,42,192,252,233,
334 244,68,255,137,4,36,219,4,36,252,233,244,69,255,248,129,129,122,253,4,239, 334 244,69,255,137,4,36,219,4,36,252,233,244,70,255,248,130,129,122,253,4,239,
335 255,15,133,244,247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242, 335 255,15,133,244,247,139,42,252,233,244,86,248,1,15,135,244,60,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, 336 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, 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 139,44,36,255,252,233,244,85,255,248,130,255,189,0,0,56,67,102,15,110,205, 338 139,44,36,255,252,233,244,86,255,248,131,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, 339 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,59,255,252,242,15,16,2,252,242,15,88,193,102, 340 233,244,248,248,1,15,135,244,60,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, 341 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,85,129,120,253,4,239,255,15, 342 20,141,68,194,252,240,248,1,57,208,15,134,244,86,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,131,255,15,131, 343 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131,
344 244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221, 344 244,132,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,132,255, 345 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,133,255,
346 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252, 346 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,132,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, 347 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,133,255,15,133,244,248, 348 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,
349 51,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252, 349 51,40,131,232,8,252,233,244,1,248,2,15,135,244,132,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, 350 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,134,129,122,253,4,239,255,221,2,199,68, 351 36,255,131,232,8,252,233,244,1,248,135,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, 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 244,85,248,135,129,122,253,4,239,255,248,2,252,247,213,255,248,85,252,242, 353 244,86,248,136,129,122,253,4,239,255,248,2,252,247,213,255,248,86,252,242,
354 15,42,197,252,233,244,68,255,248,85,137,44,36,219,4,36,252,233,244,69,255, 354 15,42,197,252,233,244,69,255,248,86,137,44,36,219,4,36,252,233,244,70,255,
355 248,131,139,68,36,20,252,233,244,59,255,248,136,129,122,253,4,239,255,248, 355 248,132,139,68,36,20,252,233,244,60,255,248,137,129,122,253,4,239,255,248,
356 2,129,122,253,12,239,15,133,244,59,139,74,8,255,248,136,129,252,248,239,15, 356 2,129,122,253,12,239,15,133,244,60,139,74,8,255,248,137,129,252,248,239,15,
357 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, 357 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,
358 59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15, 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 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126, 359 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
360 201,255,248,136,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, 360 201,255,248,137,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,
361 59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199,68,36,16,0,0,192,89, 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 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255, 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 211,229,252,233,244,85,255,248,137,129,122,253,4,239,255,248,137,129,252, 363 211,229,252,233,244,86,255,248,138,129,122,253,4,239,255,248,138,129,252,
364 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239, 364 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,
365 15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110, 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 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197, 366 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,137,129,252,248,239,15,130,244,59,129,122,253,4,239, 367 102,15,126,201,255,248,138,129,252,248,239,15,130,244,60,129,122,253,4,239,
368 15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199,68,36,16, 368 15,131,244,60,129,122,253,12,239,15,131,244,60,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, 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 44,36,255,211,252,237,252,233,244,85,255,248,138,129,122,253,4,239,255,248, 370 44,36,255,211,252,237,252,233,244,86,255,248,139,129,122,253,4,239,255,248,
371 138,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 371 139,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
372 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, 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 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, 373 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,138,129,252,248,239,15,130,244,59,129,122, 374 15,126,197,102,15,126,201,255,248,139,129,252,248,239,15,130,244,60,129,122,
375 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199, 375 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,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, 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 36,8,139,44,36,255,211,252,253,252,233,244,85,255,248,139,129,122,253,4,239, 377 36,8,139,44,36,255,211,252,253,252,233,244,86,255,248,140,129,122,253,4,239,
378 255,248,139,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 378 255,248,140,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
379 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0, 379 129,122,253,12,239,15,131,244,60,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, 380 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,139,129,252,248,239,15,130,244, 381 202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,130,244,
382 59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2, 382 60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,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, 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 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,85,255,248,140,129,122, 384 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,86,255,248,141,129,122,
385 253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122,253,4,239,15, 385 253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
386 131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16, 386 131,244,60,129,122,253,12,239,15,131,244,60,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, 387 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,140,129,252,248,239,15, 388 242,15,88,202,102,15,126,197,102,15,126,201,255,248,141,129,252,248,239,15,
389 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, 389 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,
390 59,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, 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 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,85,248,123, 391 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,86,248,124,
392 184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,48,139,114,252,252, 392 184,237,252,233,244,60,248,126,184,237,248,60,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, 393 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, 394 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,74,248,1,255,139,141,233,41,209,193,252,233,3,133,192, 395 133,192,15,143,244,75,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, 396 141,65,1,139,106,252,248,15,133,244,248,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, 397 15,182,205,131,198,4,252,255,36,171,248,2,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,27,248, 398 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,27,248,5,186,237,137, 399 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,71,93,137,108,36, 400 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,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, 401 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, 402 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,141,255,15,182,131,233,168,235,15,133,244, 403 192,1,139,108,36,16,85,195,248,142,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, 404 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
405 244,247,255,248,142,15,182,131,233,168,235,15,133,244,251,252,233,244,247, 405 244,247,255,248,143,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
406 248,143,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252, 406 248,144,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, 407 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, 408 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, 409 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,144,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,145, 410 253,171,233,248,145,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,146,
411 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137, 411 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, 412 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,146,137,116,36,24,255,248,147,255,137,116, 413 251,1,23,252,233,244,3,255,248,147,137,116,36,24,255,248,148,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, 414 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, 415 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, 416 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,148,255,85,141,108,36,12,85,83, 417 252,253,193,232,3,131,192,1,252,255,229,248,149,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, 418 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, 419 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, 420 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, 421 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, 422 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, 423 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,149,255,133,192, 424 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,150,255,133,192,
425 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131, 425 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, 426 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, 427 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,87,255,217,124,36,4, 428 252,247,216,137,252,233,137,194,232,251,1,26,255,248,88,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, 429 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,150,102, 430 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,102,
431 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, 431 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, 432 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, 433 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, 434 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,89,255,217,124,36,4,137,68,36,8,102, 435 242,15,92,200,15,40,193,248,1,195,248,90,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, 436 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,151,102,15,252,239,210, 437 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,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, 438 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, 439 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, 440 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, 441 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,110,255,217,124,36,4,137,68,36,8,102,184,0,12, 442 200,15,40,193,248,1,195,248,111,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, 443 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,152,102,15,252,239,210,102,15,118,210,102,15,115,210, 444 68,36,8,195,255,248,153,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, 445 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, 446 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, 447 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, 448 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,153,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118, 449 1,195,248,154,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, 450 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, 451 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, 452 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
@@ -454,11 +454,11 @@ static const unsigned char build_actionlist[16945] = {
454 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40, 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,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0, 455 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, 456 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,94,217,252,234,222,201, 457 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201,
458 248,154,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4, 458 248,155,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,155,217,192,217,252,252,220,252,233,217, 459 0,0,128,252,255,15,132,244,248,248,156,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, 460 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,113,219,84,36,4,219,68,36,4,255,223,252,233,255,221, 461 217,252,238,195,255,248,114,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, 462 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, 463 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, 464 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
@@ -467,14 +467,14 @@ static const unsigned char build_actionlist[16945] = {
467 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217, 467 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, 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 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217, 469 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,155,248,9,255,217,232,255,223,252,234,255,221,252,234, 470 252,241,252,233,244,156,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, 471 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, 472 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, 473 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, 474 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,113,255,248, 475 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,114,255,248,
476 156,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, 476 157,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
477 244,255,248,157,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, 477 244,255,248,158,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, 478 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, 479 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, 480 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
@@ -492,30 +492,30 @@ static const unsigned char build_actionlist[16945] = {
492 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192, 492 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, 493 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, 494 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,158, 495 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,159,
496 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135, 496 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,87,252,233,244,253,248,1,232,244,89,252,233,244,253,248,2, 497 244,248,232,244,88,252,233,244,253,248,1,232,244,90,252,233,244,253,248,2,
498 131,252,248,3,15,132,244,247,15,135,244,248,232,244,110,255,252,233,244,253, 498 131,252,248,3,15,132,244,247,15,135,244,248,232,244,111,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, 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 221,68,36,4,131,252,248,5,15,130,244,94,15,132,244,154,248,2,131,252,248, 500 221,68,36,4,131,252,248,5,15,130,244,95,15,132,244,155,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, 501 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, 502 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, 503 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, 504 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, 505 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
506 87,15,132,244,89,131,252,248,3,15,130,244,110,15,135,244,248,217,252,250, 506 88,15,132,244,90,131,252,248,3,15,130,244,111,15,135,244,248,217,252,250,
507 195,248,2,131,252,248,5,15,130,244,94,15,132,244,154,131,252,248,7,15,132, 507 195,248,2,131,252,248,5,15,130,244,95,15,132,244,155,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, 508 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, 509 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, 510 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, 511 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,159,255,139,68,36,20,252,242,15,16,68,36,4, 512 216,195,255,248,9,204,255,248,160,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, 513 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, 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 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242, 515 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, 516 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,153,252,233,244,7,248,1,90, 517 248,5,15,132,244,247,255,15,135,244,248,232,244,154,252,233,244,7,248,1,90,
518 232,244,113,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244, 518 232,244,114,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, 519 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, 520 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, 521 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
@@ -524,32 +524,32 @@ static const unsigned char build_actionlist[16945] = {
524 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221, 524 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, 525 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, 526 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,153,15,132, 527 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,154,15,132,
528 244,113,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, 528 244,114,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, 529 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, 530 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, 531 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, 532 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, 533 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,160,156,90,137,209,129,252,242, 534 244,248,217,201,248,2,221,216,195,255,248,161,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, 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 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,161, 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 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131, 537 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, 538 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, 539 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, 540 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, 541 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201,
542 195,255,248,162,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, 542 195,255,248,163,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, 543 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, 544 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, 545 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,41,129,124,253,194,4,239, 546 198,4,193,232,16,252,255,36,171,248,7,15,135,244,42,129,124,253,194,4,239,
547 15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244,248,255, 547 15,130,244,247,15,133,244,42,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,41,255,252,242,15, 548 221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,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, 549 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, 550 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,41,129,124,253, 551 4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124,253,
552 194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102, 552 194,4,239,15,131,244,42,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, 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,134,244,247,255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255, 554 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, 555 15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,
@@ -565,12 +565,12 @@ static const unsigned char build_actionlist[16945] = {
565 255,248,1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248, 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,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, 566 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, 567 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,46,129,124,253,202,4,239, 568 233,244,9,255,248,5,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239,
569 15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1, 569 15,132,244,47,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, 570 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, 571 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,45,255,248,3,129,252,253,239,255, 572 252,237,255,189,1,0,0,0,255,252,233,244,46,255,248,3,129,252,253,239,255,
573 15,133,244,9,255,252,233,244,46,255,252,247,208,139,108,202,4,131,198,4,129, 573 15,133,244,9,255,252,233,244,47,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, 574 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, 575 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, 576 139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,
@@ -582,7 +582,7 @@ static const unsigned char build_actionlist[16945] = {
582 4,202,248,4,255,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244, 582 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, 583 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, 584 131,198,4,193,232,16,252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,
585 233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252, 585 233,244,47,255,15,132,244,248,129,252,253,239,15,132,244,47,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, 586 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, 587 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, 588 202,4,139,44,194,137,44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,
@@ -592,39 +592,39 @@ static const unsigned char build_actionlist[16945] = {
592 15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137, 592 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, 593 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, 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 135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194, 595 135,244,52,255,129,124,253,194,4,239,15,131,244,52,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, 596 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, 597 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, 598 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, 599 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, 600 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,54,139,12,194,137,213,232,251, 601 171,248,2,129,124,253,194,4,239,15,133,244,55,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, 602 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, 603 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,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,3, 604 4,239,15,133,244,49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,3,
605 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124, 605 44,199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
606 253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128,244,49,255,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,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44, 607 253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,
608 252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234, 608 252,234,3,44,194,15,128,244,53,255,199,68,202,4,237,255,129,124,253,252,234,
609 4,239,15,131,244,48,255,129,124,253,199,4,239,15,131,244,48,255,252,242,15, 609 4,239,15,131,244,49,255,129,124,253,199,4,239,15,131,244,49,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, 610 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,50,255,129,124,253,199,4,239,15,131,244,50,255, 611 253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15,131,244,51,255,
612 252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,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 129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131,244, 613 129,124,253,252,234,4,239,15,131,244,54,129,124,253,194,4,239,15,131,244,
614 53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220, 614 54,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,48,129,124,253,199,4,239,15, 615 4,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,
616 133,244,48,139,44,252,234,43,44,199,15,128,244,47,255,129,124,253,252,234, 616 133,244,49,139,44,252,234,43,44,199,15,128,244,48,255,129,124,253,252,234,
617 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,43,4,252, 617 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,43,4,252,
618 234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253, 618 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253,
619 194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128,244,52,255,252,242, 619 194,4,239,15,133,244,54,139,44,252,234,43,44,194,15,128,244,53,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, 620 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, 621 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, 622 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,48,129,124,253,199,4,239,15,133, 623 255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,133,
624 244,48,139,44,252,234,15,175,44,199,15,128,244,47,255,129,124,253,252,234, 624 244,49,139,44,252,234,15,175,44,199,15,128,244,48,255,129,124,253,252,234,
625 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,15,175, 625 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,15,175,
626 4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124, 626 4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,
627 253,194,4,239,15,133,244,53,139,44,252,234,15,175,44,194,15,128,244,52,255, 627 253,194,4,239,15,133,244,54,139,44,252,234,15,175,44,194,15,128,244,53,255,
628 252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199, 628 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, 629 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, 630 234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,
@@ -634,10 +634,10 @@ static const unsigned char build_actionlist[16945] = {
634 252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221, 634 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, 635 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, 636 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,163,232,244,153,255,252,233,244,163,255, 637 255,221,4,252,234,221,4,194,255,248,164,232,244,154,255,252,233,244,164,255,
638 232,244,113,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137, 638 232,244,114,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,
639 68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251, 639 68,36,8,248,34,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,42,15,182,110,252,255,15,182,78,252,253, 640 1,27,139,149,233,133,192,15,133,244,43,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, 641 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, 642 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, 643 199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
@@ -679,57 +679,57 @@ static const unsigned char build_actionlist[16945] = {
679 78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198, 679 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, 680 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, 681 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,164,255,252,247,208,139,106,252,248,139,173,233,139, 682 139,4,135,252,233,244,165,255,252,247,208,139,106,252,248,139,173,233,139,
683 4,135,252,233,244,165,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 683 4,135,252,233,244,166,255,15,182,252,236,15,182,192,129,124,253,252,234,4,
684 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, 684 239,15,133,244,37,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, 685 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, 686 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,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233, 687 219,4,36,255,15,133,244,37,255,59,133,233,15,131,244,37,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, 688 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, 689 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, 690 2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,
691 36,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,248,5,255,129,124, 691 37,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,36,139,4,194,252,233,244,164,255,15,182,252,236, 692 253,194,4,239,15,133,244,37,139,4,194,252,233,244,165,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,34, 693 15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,35,
694 139,44,252,234,248,164,139,141,233,35,136,233,105,201,239,3,141,233,248,1, 694 139,44,252,234,248,165,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, 695 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, 696 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, 697 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, 698 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, 699 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,34,255,15,182,252,236,15,182,192,129,124,253, 700 235,15,133,244,3,252,233,244,35,255,15,182,252,236,15,182,192,129,124,253,
701 252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244,35,193,224, 701 252,234,4,239,15,133,244,36,139,44,252,234,59,133,233,15,131,244,36,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, 702 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, 703 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, 704 171,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246,129,233,235,15,
705 132,244,35,255,15,182,78,252,253,248,3,199,68,202,4,237,252,233,244,1,255, 705 132,244,36,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,39,139,44, 706 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,40,139,44,
707 252,234,255,15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233, 707 252,234,255,15,133,244,40,255,59,133,233,15,131,244,40,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, 708 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, 709 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, 710 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,39,15,182,78,252,253,252,233,244, 711 141,233,252,246,129,233,235,255,15,132,244,40,15,182,78,252,253,252,233,244,
712 1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,165,248, 712 1,248,5,129,124,253,194,4,239,15,133,244,40,139,4,194,252,233,244,166,248,
713 7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252, 713 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, 714 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,37,139,44,252,234,248,165,139,141,233,35,136,233, 715 252,234,4,239,15,133,244,38,139,44,252,234,248,166,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, 716 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, 717 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, 718 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, 719 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, 720 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,37,139,76,36,16,252,233,244,2,248,5,139,137,233, 721 246,129,233,235,15,132,244,38,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, 722 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,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68, 723 235,15,132,244,38,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, 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,24,232,251,1,34,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7, 725 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, 726 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,38,139,44,252, 727 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,
728 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132, 728 234,59,133,233,15,131,244,39,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, 729 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, 730 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, 731 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,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, 732 235,15,132,244,39,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, 733 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, 734 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, 735 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,
@@ -739,10 +739,10 @@ static const unsigned char build_actionlist[16945] = {
739 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, 739 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, 740 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, 741 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,55,141,84,202,8,137,114, 742 20,255,129,124,253,202,4,239,139,44,202,15,133,244,56,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, 743 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, 744 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,
745 244,28,248,56,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, 745 244,29,248,57,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, 746 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, 747 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, 748 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,
@@ -752,7 +752,7 @@ static const unsigned char build_actionlist[16945] = {
752 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239, 752 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,
753 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4, 753 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,
754 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228, 754 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,
755 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137, 755 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,29,137,
756 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 756 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
757 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68, 757 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68,
758 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251, 758 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251,
@@ -790,20 +790,20 @@ static const unsigned char build_actionlist[16945] = {
790 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252, 790 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, 791 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, 792 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,145, 793 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,146,
794 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239, 794 255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12,239,
795 15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15,140, 795 15,133,244,58,129,121,253,20,239,15,133,244,58,139,41,131,121,16,0,15,140,
796 244,251,255,129,121,253,12,239,15,133,244,162,129,121,253,20,239,15,133,244, 796 244,251,255,129,121,253,12,239,15,133,244,163,129,121,253,20,239,15,133,244,
797 162,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247,137,41, 797 163,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, 798 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, 799 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, 800 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, 801 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, 802 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, 803 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,57,129,121,253,12,239,15,131,244,57,255,129,121,253,12, 804 239,255,15,131,244,58,129,121,253,12,239,15,131,244,58,255,129,121,253,12,
805 239,15,131,244,162,129,121,253,20,239,15,131,244,162,255,139,105,20,255,129, 805 239,15,131,244,163,129,121,253,20,239,15,131,244,163,255,139,105,20,255,129,
806 252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16,73,8,255,252, 806 252,253,239,15,131,244,58,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, 807 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, 808 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, 809 65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24,15,140,244,
@@ -815,19 +815,19 @@ static const unsigned char build_actionlist[16945] = {
815 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,139, 815 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, 816 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, 817 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,147, 818 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148,
819 255,139,190,233,139,108,36,48,141,12,202,59,141,233,15,135,244,23,15,182, 819 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, 820 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, 821 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,
822 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252, 822 255,141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,
823 248,139,108,36,48,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15, 823 248,139,108,36,48,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,
824 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, 824 182,174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,
825 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252, 825 249,139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,
826 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204, 826 252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,
827 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131, 827 15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3,199,64,4,237,131,
828 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189, 828 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,139,189,
829 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137, 829 233,139,108,36,48,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,
830 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,21,199,131, 830 133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15,135,244,22,199,131,
831 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233, 831 233,237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,
832 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 832 141,12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
833}; 833};
@@ -842,6 +842,7 @@ enum {
842 GLOB_vm_leave_unw, 842 GLOB_vm_leave_unw,
843 GLOB_vm_unwind_c, 843 GLOB_vm_unwind_c,
844 GLOB_vm_unwind_c_eh, 844 GLOB_vm_unwind_c_eh,
845 GLOB_vm_unwind_rethrow,
845 GLOB_vm_unwind_ff, 846 GLOB_vm_unwind_ff,
846 GLOB_vm_unwind_ff_eh, 847 GLOB_vm_unwind_ff_eh,
847 GLOB_vm_growstack_c, 848 GLOB_vm_growstack_c,
@@ -1001,6 +1002,7 @@ static const char *const globnames[] = {
1001 "vm_leave_unw", 1002 "vm_leave_unw",
1002 "vm_unwind_c@8", 1003 "vm_unwind_c@8",
1003 "vm_unwind_c_eh", 1004 "vm_unwind_c_eh",
1005 "vm_unwind_rethrow",
1004 "vm_unwind_ff@4", 1006 "vm_unwind_ff@4",
1005 "vm_unwind_ff_eh", 1007 "vm_unwind_ff_eh",
1006 "vm_growstack_c", 1008 "vm_growstack_c",
@@ -1213,770 +1215,770 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1213 dasm_put(Dst, 0); 1215 dasm_put(Dst, 0);
1214 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C); 1216 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1215 dasm_put(Dst, 114, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL); 1217 dasm_put(Dst, 114, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1216 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); 1218 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1217 dasm_put(Dst, 288, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 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));
1218 dasm_put(Dst, 354, 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); 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);
1219 dasm_put(Dst, 497, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 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));
1220 dasm_put(Dst, 588, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc), PC2PROTO(k)); 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));
1221 dasm_put(Dst, 760, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1223 dasm_put(Dst, 754, PC2PROTO(k), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1222 if (LJ_DUALNUM) { 1224 if (LJ_DUALNUM) {
1223 dasm_put(Dst, 856, LJ_TISNUM); 1225 dasm_put(Dst, 858, LJ_TISNUM);
1224 } else if (sse) { 1226 } else if (sse) {
1225 dasm_put(Dst, 866); 1227 dasm_put(Dst, 868);
1226 } else { 1228 } else {
1227 dasm_put(Dst, 879); 1229 dasm_put(Dst, 881);
1228 } 1230 }
1229 dasm_put(Dst, 892, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1231 dasm_put(Dst, 894, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1230 dasm_put(Dst, 1044, DISPATCH_GL(tmptv), LJ_TTAB); 1232 dasm_put(Dst, 1046, DISPATCH_GL(tmptv), LJ_TTAB);
1231 if (LJ_DUALNUM) { 1233 if (LJ_DUALNUM) {
1232 dasm_put(Dst, 856, LJ_TISNUM); 1234 dasm_put(Dst, 858, LJ_TISNUM);
1233 } else if (sse) { 1235 } else if (sse) {
1234 dasm_put(Dst, 866); 1236 dasm_put(Dst, 868);
1235 } else { 1237 } else {
1236 dasm_put(Dst, 879); 1238 dasm_put(Dst, 881);
1237 } 1239 }
1238 dasm_put(Dst, 1067, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1240 dasm_put(Dst, 1069, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1239 dasm_put(Dst, 1261, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1241 dasm_put(Dst, 1263, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1240 dasm_put(Dst, 1368); 1242 dasm_put(Dst, 1370);
1241#if LJ_HASFFI 1243#if LJ_HASFFI
1242 dasm_put(Dst, 1383, Dt1(->base)); 1244 dasm_put(Dst, 1385, Dt1(->base));
1243#endif 1245#endif
1244 dasm_put(Dst, 1414); 1246 dasm_put(Dst, 1416);
1245#if LJ_DUALNUM 1247#if LJ_DUALNUM
1246 dasm_put(Dst, 1417); 1248 dasm_put(Dst, 1419);
1247#endif 1249#endif
1248 dasm_put(Dst, 1423); 1250 dasm_put(Dst, 1425);
1249#if LJ_DUALNUM 1251#if LJ_DUALNUM
1250 dasm_put(Dst, 850); 1252 dasm_put(Dst, 852);
1251#endif 1253#endif
1252 dasm_put(Dst, 1435); 1254 dasm_put(Dst, 1437);
1253#if LJ_DUALNUM 1255#if LJ_DUALNUM
1254 dasm_put(Dst, 1417); 1256 dasm_put(Dst, 1419);
1255#endif 1257#endif
1256 dasm_put(Dst, 1463, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1258 dasm_put(Dst, 1465, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1257 dasm_put(Dst, 1618, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1259 dasm_put(Dst, 1620, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1258 dasm_put(Dst, 1795, 1+1, ~LJ_TNUMX); 1260 dasm_put(Dst, 1797, 1+1, ~LJ_TNUMX);
1259 if (cmov) { 1261 if (cmov) {
1260 dasm_put(Dst, 1824); 1262 dasm_put(Dst, 1826);
1261 } else { 1263 } else {
1262 dasm_put(Dst, 1828); 1264 dasm_put(Dst, 1830);
1263 } 1265 }
1264 dasm_put(Dst, 1837, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 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);
1265 dasm_put(Dst, 1920, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 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);
1266 dasm_put(Dst, 1978, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1268 dasm_put(Dst, 1980, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1267 dasm_put(Dst, 2041, 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)); 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));
1268 dasm_put(Dst, 2113, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1270 dasm_put(Dst, 2115, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1269 if (LJ_DUALNUM) { 1271 if (LJ_DUALNUM) {
1270 dasm_put(Dst, 2202); 1272 dasm_put(Dst, 2204);
1271 } else { 1273 } else {
1272 dasm_put(Dst, 2219); 1274 dasm_put(Dst, 2221);
1273 } 1275 }
1274 if (sse) { 1276 if (sse) {
1275 dasm_put(Dst, 2224); 1277 dasm_put(Dst, 2226);
1276 } else { 1278 } else {
1277 dasm_put(Dst, 2234); 1279 dasm_put(Dst, 2236);
1278 } 1280 }
1279 dasm_put(Dst, 2241, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 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));
1280 dasm_put(Dst, 2307, Dt1(->base)); 1282 dasm_put(Dst, 2309, Dt1(->base));
1281 if (LJ_DUALNUM) { 1283 if (LJ_DUALNUM) {
1282 dasm_put(Dst, 2331); 1284 dasm_put(Dst, 2333);
1283 } else { 1285 } else {
1284 dasm_put(Dst, 2336); 1286 dasm_put(Dst, 2338);
1285 } 1287 }
1286 dasm_put(Dst, 2341, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1288 dasm_put(Dst, 2343, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1287 dasm_put(Dst, 2450, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1289 dasm_put(Dst, 2452, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1288#ifdef LUAJIT_ENABLE_LUA52COMPAT 1290#ifdef LUAJIT_ENABLE_LUA52COMPAT
1289 dasm_put(Dst, 2497, Dt6(->metatable)); 1291 dasm_put(Dst, 2499, Dt6(->metatable));
1290#endif 1292#endif
1291 dasm_put(Dst, 2506, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1293 dasm_put(Dst, 2508, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1292 if (LJ_DUALNUM) { 1294 if (LJ_DUALNUM) {
1293 dasm_put(Dst, 2492); 1295 dasm_put(Dst, 2494);
1294 } else { 1296 } else {
1295 dasm_put(Dst, 2219); 1297 dasm_put(Dst, 2221);
1296 } 1298 }
1297 dasm_put(Dst, 2561); 1299 dasm_put(Dst, 2563);
1298 if (LJ_DUALNUM) { 1300 if (LJ_DUALNUM) {
1299 dasm_put(Dst, 2566, LJ_TISNUM); 1301 dasm_put(Dst, 2568, LJ_TISNUM);
1300 } else if (sse) { 1302 } else if (sse) {
1301 dasm_put(Dst, 2582); 1303 dasm_put(Dst, 2584);
1302 } else { 1304 } else {
1303 dasm_put(Dst, 2621); 1305 dasm_put(Dst, 2623);
1304 } 1306 }
1305 dasm_put(Dst, 2639, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1307 dasm_put(Dst, 2641, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1306 dasm_put(Dst, 2477, 1+1, LJ_TTAB); 1308 dasm_put(Dst, 2479, 1+1, LJ_TTAB);
1307#ifdef LUAJIT_ENABLE_LUA52COMPAT 1309#ifdef LUAJIT_ENABLE_LUA52COMPAT
1308 dasm_put(Dst, 2497, Dt6(->metatable)); 1310 dasm_put(Dst, 2499, Dt6(->metatable));
1309#endif 1311#endif
1310 dasm_put(Dst, 2720, Dt8(->upvalue[0]), LJ_TFUNC); 1312 dasm_put(Dst, 2722, Dt8(->upvalue[0]), LJ_TFUNC);
1311 if (LJ_DUALNUM) { 1313 if (LJ_DUALNUM) {
1312 dasm_put(Dst, 2741, LJ_TISNUM); 1314 dasm_put(Dst, 2743, LJ_TISNUM);
1313 } else if (sse) { 1315 } else if (sse) {
1314 dasm_put(Dst, 2753); 1316 dasm_put(Dst, 2755);
1315 } else { 1317 } else {
1316 dasm_put(Dst, 2763); 1318 dasm_put(Dst, 2765);
1317 } 1319 }
1318 dasm_put(Dst, 2770, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1320 dasm_put(Dst, 2772, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1319 dasm_put(Dst, 2834, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1321 dasm_put(Dst, 2836, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1320 dasm_put(Dst, 2922, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1322 dasm_put(Dst, 2924, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1321 dasm_put(Dst, 3023, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1323 dasm_put(Dst, 3025, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1322 dasm_put(Dst, 3137, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1324 dasm_put(Dst, 3139, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1323 dasm_put(Dst, 3235, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1325 dasm_put(Dst, 3237, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1324 dasm_put(Dst, 3301, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1326 dasm_put(Dst, 3303, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1325 dasm_put(Dst, 3402, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1327 dasm_put(Dst, 3404, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1326 dasm_put(Dst, 3515, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1328 dasm_put(Dst, 3517, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1327 if (!LJ_DUALNUM) { 1329 if (!LJ_DUALNUM) {
1328 dasm_put(Dst, 3541); 1330 dasm_put(Dst, 3543);
1329 } 1331 }
1330 if (sse) { 1332 if (sse) {
1331 dasm_put(Dst, 3544); 1333 dasm_put(Dst, 3546);
1332 } 1334 }
1333 dasm_put(Dst, 3559, 1+1); 1335 dasm_put(Dst, 3561, 1+1);
1334 if (LJ_DUALNUM) { 1336 if (LJ_DUALNUM) {
1335 dasm_put(Dst, 3570, LJ_TISNUM, LJ_TISNUM); 1337 dasm_put(Dst, 3572, LJ_TISNUM, LJ_TISNUM);
1336 } else { 1338 } else {
1337 dasm_put(Dst, 3650, LJ_TISNUM); 1339 dasm_put(Dst, 3652, LJ_TISNUM);
1338 } 1340 }
1339 if (sse) { 1341 if (sse) {
1340 dasm_put(Dst, 3660); 1342 dasm_put(Dst, 3662);
1341 } else { 1343 } else {
1342 dasm_put(Dst, 3696); 1344 dasm_put(Dst, 3698);
1343 } 1345 }
1344 dasm_put(Dst, 3713, 1+1, FRAME_TYPE, LJ_TNIL); 1346 dasm_put(Dst, 3715, 1+1, FRAME_TYPE, LJ_TNIL);
1345 if (LJ_DUALNUM) { 1347 if (LJ_DUALNUM) {
1346 dasm_put(Dst, 3805, LJ_TISNUM); 1348 dasm_put(Dst, 3807, LJ_TISNUM);
1347 } else { 1349 } else {
1348 dasm_put(Dst, 3650, LJ_TISNUM); 1350 dasm_put(Dst, 3652, LJ_TISNUM);
1349 } 1351 }
1350 if (sse) { 1352 if (sse) {
1351 dasm_put(Dst, 3827); 1353 dasm_put(Dst, 3829);
1352 if (LJ_DUALNUM) { 1354 if (LJ_DUALNUM) {
1353 dasm_put(Dst, 3836); 1355 dasm_put(Dst, 3838);
1354 } 1356 }
1355 dasm_put(Dst, 2229); 1357 dasm_put(Dst, 2231);
1356 } else { 1358 } else {
1357 dasm_put(Dst, 3870); 1359 dasm_put(Dst, 3872);
1358 if (LJ_DUALNUM) { 1360 if (LJ_DUALNUM) {
1359 dasm_put(Dst, 3876); 1361 dasm_put(Dst, 3878);
1360 if (cmov) { 1362 if (cmov) {
1361 dasm_put(Dst, 3899); 1363 dasm_put(Dst, 3901);
1362 } else { 1364 } else {
1363 dasm_put(Dst, 3905); 1365 dasm_put(Dst, 3907);
1364 } 1366 }
1365 dasm_put(Dst, 3912); 1367 dasm_put(Dst, 3914);
1366 } else { 1368 } else {
1367 dasm_put(Dst, 2236); 1369 dasm_put(Dst, 2238);
1368 } 1370 }
1369 } 1371 }
1370 dasm_put(Dst, 3929); 1372 dasm_put(Dst, 3931);
1371 if (LJ_DUALNUM) { 1373 if (LJ_DUALNUM) {
1372 dasm_put(Dst, 3805, LJ_TISNUM); 1374 dasm_put(Dst, 3807, LJ_TISNUM);
1373 } else { 1375 } else {
1374 dasm_put(Dst, 3650, LJ_TISNUM); 1376 dasm_put(Dst, 3652, LJ_TISNUM);
1375 } 1377 }
1376 if (sse) { 1378 if (sse) {
1377 dasm_put(Dst, 3932); 1379 dasm_put(Dst, 3934);
1378 if (LJ_DUALNUM) { 1380 if (LJ_DUALNUM) {
1379 dasm_put(Dst, 3836); 1381 dasm_put(Dst, 3838);
1380 } 1382 }
1381 dasm_put(Dst, 2229); 1383 dasm_put(Dst, 2231);
1382 } else { 1384 } else {
1383 dasm_put(Dst, 3941); 1385 dasm_put(Dst, 3943);
1384 if (LJ_DUALNUM) { 1386 if (LJ_DUALNUM) {
1385 dasm_put(Dst, 3876); 1387 dasm_put(Dst, 3878);
1386 if (cmov) { 1388 if (cmov) {
1387 dasm_put(Dst, 3899); 1389 dasm_put(Dst, 3901);
1388 } else { 1390 } else {
1389 dasm_put(Dst, 3905); 1391 dasm_put(Dst, 3907);
1390 } 1392 }
1391 dasm_put(Dst, 3912); 1393 dasm_put(Dst, 3914);
1392 } else { 1394 } else {
1393 dasm_put(Dst, 2236); 1395 dasm_put(Dst, 2238);
1394 } 1396 }
1395 } 1397 }
1396 if (sse) { 1398 if (sse) {
1397 dasm_put(Dst, 3947, 1+1, LJ_TISNUM); 1399 dasm_put(Dst, 3949, 1+1, LJ_TISNUM);
1398 } else { 1400 } else {
1399 dasm_put(Dst, 3976, 1+1, LJ_TISNUM); 1401 dasm_put(Dst, 3978, 1+1, LJ_TISNUM);
1400 } 1402 }
1401 dasm_put(Dst, 4005, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1403 dasm_put(Dst, 4007, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1402 dasm_put(Dst, 4074, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1404 dasm_put(Dst, 4076, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1403 dasm_put(Dst, 4131, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1405 dasm_put(Dst, 4133, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1404 dasm_put(Dst, 4194, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1406 dasm_put(Dst, 4196, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1405 dasm_put(Dst, 4284); 1407 dasm_put(Dst, 4286);
1406 if (sse) { 1408 if (sse) {
1407 dasm_put(Dst, 4296, 1+1, LJ_TISNUM); 1409 dasm_put(Dst, 4298, 1+1, LJ_TISNUM);
1408 } else { 1410 } else {
1409 dasm_put(Dst, 4327, 1+1, LJ_TISNUM); 1411 dasm_put(Dst, 4329, 1+1, LJ_TISNUM);
1410 } 1412 }
1411 dasm_put(Dst, 4352); 1413 dasm_put(Dst, 4354);
1412 if (sse) { 1414 if (sse) {
1413 dasm_put(Dst, 4366, 1+1, LJ_TISNUM); 1415 dasm_put(Dst, 4368, 1+1, LJ_TISNUM);
1414 } else { 1416 } else {
1415 dasm_put(Dst, 4397, 1+1, LJ_TISNUM); 1417 dasm_put(Dst, 4399, 1+1, LJ_TISNUM);
1416 } 1418 }
1417 dasm_put(Dst, 4422); 1419 dasm_put(Dst, 4424);
1418 if (sse) { 1420 if (sse) {
1419 dasm_put(Dst, 4436, 1+1, LJ_TISNUM); 1421 dasm_put(Dst, 4438, 1+1, LJ_TISNUM);
1420 } else { 1422 } else {
1421 dasm_put(Dst, 4467, 1+1, LJ_TISNUM); 1423 dasm_put(Dst, 4469, 1+1, LJ_TISNUM);
1422 } 1424 }
1423 dasm_put(Dst, 4492); 1425 dasm_put(Dst, 4494);
1424 if (sse) { 1426 if (sse) {
1425 dasm_put(Dst, 4508, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1427 dasm_put(Dst, 4510, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1426 } else { 1428 } else {
1427 dasm_put(Dst, 4547, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1429 dasm_put(Dst, 4549, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1428 } 1430 }
1429 dasm_put(Dst, 4580, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1431 dasm_put(Dst, 4582, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1430 dasm_put(Dst, 4645, 1+1, LJ_TISNUM); 1432 dasm_put(Dst, 4647, 1+1, LJ_TISNUM);
1431 if (sse) { 1433 if (sse) {
1432 dasm_put(Dst, 4744); 1434 dasm_put(Dst, 4746);
1433 } else { 1435 } else {
1434 dasm_put(Dst, 4750); 1436 dasm_put(Dst, 4752);
1435 } 1437 }
1436 dasm_put(Dst, 4759); 1438 dasm_put(Dst, 4761);
1437 if (sse) { 1439 if (sse) {
1438 dasm_put(Dst, 4784); 1440 dasm_put(Dst, 4786);
1439 } else { 1441 } else {
1440 dasm_put(Dst, 4790); 1442 dasm_put(Dst, 4792);
1441 } 1443 }
1442 dasm_put(Dst, 4793, 1+2); 1444 dasm_put(Dst, 4795, 1+2);
1443 if (sse) { 1445 if (sse) {
1444 dasm_put(Dst, 4802); 1446 dasm_put(Dst, 4804);
1445 } else { 1447 } else {
1446 dasm_put(Dst, 4810); 1448 dasm_put(Dst, 4812);
1447 } 1449 }
1448 dasm_put(Dst, 4818); 1450 dasm_put(Dst, 4820);
1449 if (sse) { 1451 if (sse) {
1450 dasm_put(Dst, 4821); 1452 dasm_put(Dst, 4823);
1451 } else { 1453 } else {
1452 dasm_put(Dst, 4853); 1454 dasm_put(Dst, 4855);
1453 } 1455 }
1454 dasm_put(Dst, 4872); 1456 dasm_put(Dst, 4874);
1455 if (sse) { 1457 if (sse) {
1456 dasm_put(Dst, 4888, 1+1, LJ_TISNUM); 1458 dasm_put(Dst, 4890, 1+1, LJ_TISNUM);
1457 } else { 1459 } else {
1458 dasm_put(Dst, 4913, 1+1, LJ_TISNUM); 1460 dasm_put(Dst, 4915, 1+1, LJ_TISNUM);
1459 } 1461 }
1460 dasm_put(Dst, 4935); 1462 dasm_put(Dst, 4937);
1461 if (sse) { 1463 if (sse) {
1462 dasm_put(Dst, 4957); 1464 dasm_put(Dst, 4959);
1463 } else { 1465 } else {
1464 dasm_put(Dst, 4983); 1466 dasm_put(Dst, 4985);
1465 } 1467 }
1466 dasm_put(Dst, 5000, 1+2); 1468 dasm_put(Dst, 5002, 1+2);
1467 if (sse) { 1469 if (sse) {
1468 dasm_put(Dst, 5040); 1470 dasm_put(Dst, 5042);
1469 } else { 1471 } else {
1470 dasm_put(Dst, 5048); 1472 dasm_put(Dst, 5050);
1471 } 1473 }
1472 dasm_put(Dst, 5058, 2+1, LJ_TISNUM, LJ_TISNUM); 1474 dasm_put(Dst, 5060, 2+1, LJ_TISNUM, LJ_TISNUM);
1473 if (sse) { 1475 if (sse) {
1474 dasm_put(Dst, 5110, 2+1, LJ_TISNUM, LJ_TISNUM); 1476 dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM);
1475 } else { 1477 } else {
1476 dasm_put(Dst, 5157, 2+1, LJ_TISNUM, LJ_TISNUM); 1478 dasm_put(Dst, 5159, 2+1, LJ_TISNUM, LJ_TISNUM);
1477 } 1479 }
1478 dasm_put(Dst, 5198, LJ_TISNUM); 1480 dasm_put(Dst, 5200, LJ_TISNUM);
1479 if (LJ_DUALNUM) { 1481 if (LJ_DUALNUM) {
1480 dasm_put(Dst, 5211, LJ_TISNUM); 1482 dasm_put(Dst, 5213, LJ_TISNUM);
1481 if (sse) { 1483 if (sse) {
1482 dasm_put(Dst, 4744); 1484 dasm_put(Dst, 4746);
1483 } else { 1485 } else {
1484 dasm_put(Dst, 4750); 1486 dasm_put(Dst, 4752);
1485 } 1487 }
1486 dasm_put(Dst, 5261); 1488 dasm_put(Dst, 5263);
1487 } else { 1489 } else {
1488 dasm_put(Dst, 2219); 1490 dasm_put(Dst, 2221);
1489 } 1491 }
1490 if (sse) { 1492 if (sse) {
1491 dasm_put(Dst, 5272, LJ_TISNUM); 1493 dasm_put(Dst, 5274, LJ_TISNUM);
1492 if (LJ_DUALNUM) { 1494 if (LJ_DUALNUM) {
1493 dasm_put(Dst, 5293); 1495 dasm_put(Dst, 5295);
1494 } else { 1496 } else {
1495 dasm_put(Dst, 2219); 1497 dasm_put(Dst, 2221);
1496 } 1498 }
1497 dasm_put(Dst, 5314); 1499 dasm_put(Dst, 5316);
1498 } else { 1500 } else {
1499 dasm_put(Dst, 5339, LJ_TISNUM); 1501 dasm_put(Dst, 5341, LJ_TISNUM);
1500 if (LJ_DUALNUM) { 1502 if (LJ_DUALNUM) {
1501 dasm_put(Dst, 5357); 1503 dasm_put(Dst, 5359);
1502 } else { 1504 } else {
1503 dasm_put(Dst, 5375); 1505 dasm_put(Dst, 5377);
1504 } 1506 }
1505 dasm_put(Dst, 5380); 1507 dasm_put(Dst, 5382);
1506 if (cmov) { 1508 if (cmov) {
1507 dasm_put(Dst, 5390); 1509 dasm_put(Dst, 5392);
1508 } else { 1510 } else {
1509 dasm_put(Dst, 5398); 1511 dasm_put(Dst, 5400);
1510 } 1512 }
1511 dasm_put(Dst, 5331); 1513 dasm_put(Dst, 5333);
1512 } 1514 }
1513 dasm_put(Dst, 5419, LJ_TISNUM); 1515 dasm_put(Dst, 5421, LJ_TISNUM);
1514 if (LJ_DUALNUM) { 1516 if (LJ_DUALNUM) {
1515 dasm_put(Dst, 5432, LJ_TISNUM); 1517 dasm_put(Dst, 5434, LJ_TISNUM);
1516 if (sse) { 1518 if (sse) {
1517 dasm_put(Dst, 4744); 1519 dasm_put(Dst, 4746);
1518 } else { 1520 } else {
1519 dasm_put(Dst, 4750); 1521 dasm_put(Dst, 4752);
1520 } 1522 }
1521 dasm_put(Dst, 5261); 1523 dasm_put(Dst, 5263);
1522 } else { 1524 } else {
1523 dasm_put(Dst, 2219); 1525 dasm_put(Dst, 2221);
1524 } 1526 }
1525 if (sse) { 1527 if (sse) {
1526 dasm_put(Dst, 5272, LJ_TISNUM); 1528 dasm_put(Dst, 5274, LJ_TISNUM);
1527 if (LJ_DUALNUM) { 1529 if (LJ_DUALNUM) {
1528 dasm_put(Dst, 5293); 1530 dasm_put(Dst, 5295);
1529 } else { 1531 } else {
1530 dasm_put(Dst, 2219); 1532 dasm_put(Dst, 2221);
1531 } 1533 }
1532 dasm_put(Dst, 5482); 1534 dasm_put(Dst, 5484);
1533 } else { 1535 } else {
1534 dasm_put(Dst, 5339, LJ_TISNUM); 1536 dasm_put(Dst, 5341, LJ_TISNUM);
1535 if (LJ_DUALNUM) { 1537 if (LJ_DUALNUM) {
1536 dasm_put(Dst, 5357); 1538 dasm_put(Dst, 5359);
1537 } else { 1539 } else {
1538 dasm_put(Dst, 5375); 1540 dasm_put(Dst, 5377);
1539 } 1541 }
1540 dasm_put(Dst, 5380); 1542 dasm_put(Dst, 5382);
1541 if (cmov) { 1543 if (cmov) {
1542 dasm_put(Dst, 5507); 1544 dasm_put(Dst, 5509);
1543 } else { 1545 } else {
1544 dasm_put(Dst, 5515); 1546 dasm_put(Dst, 5517);
1545 } 1547 }
1546 dasm_put(Dst, 5331); 1548 dasm_put(Dst, 5333);
1547 } 1549 }
1548 if (!sse) { 1550 if (!sse) {
1549 dasm_put(Dst, 5536); 1551 dasm_put(Dst, 5538);
1550 } 1552 }
1551 dasm_put(Dst, 5545, 1+1, LJ_TSTR); 1553 dasm_put(Dst, 5547, 1+1, LJ_TSTR);
1552 if (LJ_DUALNUM) { 1554 if (LJ_DUALNUM) {
1553 dasm_put(Dst, 5567, Dt5(->len)); 1555 dasm_put(Dst, 5569, Dt5(->len));
1554 } else if (sse) { 1556 } else if (sse) {
1555 dasm_put(Dst, 5575, Dt5(->len)); 1557 dasm_put(Dst, 5577, Dt5(->len));
1556 } else { 1558 } else {
1557 dasm_put(Dst, 5586, Dt5(->len)); 1559 dasm_put(Dst, 5588, Dt5(->len));
1558 } 1560 }
1559 dasm_put(Dst, 5594, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1561 dasm_put(Dst, 5596, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1560 if (LJ_DUALNUM) { 1562 if (LJ_DUALNUM) {
1561 dasm_put(Dst, 3924); 1563 dasm_put(Dst, 3926);
1562 } else if (sse) { 1564 } else if (sse) {
1563 dasm_put(Dst, 5632); 1565 dasm_put(Dst, 5634);
1564 } else { 1566 } else {
1565 dasm_put(Dst, 5642); 1567 dasm_put(Dst, 5644);
1566 } 1568 }
1567 dasm_put(Dst, 5655, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1569 dasm_put(Dst, 5657, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1568 if (LJ_DUALNUM) { 1570 if (LJ_DUALNUM) {
1569 dasm_put(Dst, 5686); 1571 dasm_put(Dst, 5688);
1570 } else if (sse) { 1572 } else if (sse) {
1571 dasm_put(Dst, 5709); 1573 dasm_put(Dst, 5711);
1572 } else { 1574 } else {
1573 dasm_put(Dst, 5735); 1575 dasm_put(Dst, 5737);
1574 } 1576 }
1575 dasm_put(Dst, 5759, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1577 dasm_put(Dst, 5761, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1576 if (LJ_DUALNUM) { 1578 if (LJ_DUALNUM) {
1577 dasm_put(Dst, 5862); 1579 dasm_put(Dst, 5864);
1578 } else if (sse) { 1580 } else if (sse) {
1579 dasm_put(Dst, 5874); 1581 dasm_put(Dst, 5876);
1580 } else { 1582 } else {
1581 dasm_put(Dst, 5889); 1583 dasm_put(Dst, 5891);
1582 } 1584 }
1583 dasm_put(Dst, 5901, LJ_TSTR, LJ_TISNUM); 1585 dasm_put(Dst, 5903, LJ_TSTR, LJ_TISNUM);
1584 if (LJ_DUALNUM) { 1586 if (LJ_DUALNUM) {
1585 dasm_put(Dst, 2492); 1587 dasm_put(Dst, 2494);
1586 } else { 1588 } else {
1587 dasm_put(Dst, 2219); 1589 dasm_put(Dst, 2221);
1588 } 1590 }
1589 dasm_put(Dst, 5918, Dt5(->len)); 1591 dasm_put(Dst, 5920, Dt5(->len));
1590 if (LJ_DUALNUM) { 1592 if (LJ_DUALNUM) {
1591 dasm_put(Dst, 5928); 1593 dasm_put(Dst, 5930);
1592 } else if (sse) { 1594 } else if (sse) {
1593 dasm_put(Dst, 5932); 1595 dasm_put(Dst, 5934);
1594 } else { 1596 } else {
1595 dasm_put(Dst, 5939); 1597 dasm_put(Dst, 5941);
1596 } 1598 }
1597 dasm_put(Dst, 5951, sizeof(GCstr)-1); 1599 dasm_put(Dst, 5953, sizeof(GCstr)-1);
1598 dasm_put(Dst, 6026, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1600 dasm_put(Dst, 6028, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1599 dasm_put(Dst, 6085, LJ_TSTR, LJ_TISNUM); 1601 dasm_put(Dst, 6087, LJ_TSTR, LJ_TISNUM);
1600 if (LJ_DUALNUM) { 1602 if (LJ_DUALNUM) {
1601 dasm_put(Dst, 6102); 1603 dasm_put(Dst, 6104);
1602 } else if (sse) { 1604 } else if (sse) {
1603 dasm_put(Dst, 6110); 1605 dasm_put(Dst, 6112);
1604 } else { 1606 } else {
1605 dasm_put(Dst, 6121); 1607 dasm_put(Dst, 6123);
1606 } 1608 }
1607 dasm_put(Dst, 6137, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1609 dasm_put(Dst, 6139, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1608 dasm_put(Dst, 6202, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 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));
1609 dasm_put(Dst, 6265, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1611 dasm_put(Dst, 6267, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1610 dasm_put(Dst, 6336, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1612 dasm_put(Dst, 6338, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1611 dasm_put(Dst, 6421, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 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));
1612 dasm_put(Dst, 6491, 1+1, LJ_TTAB); 1614 dasm_put(Dst, 6493, 1+1, LJ_TTAB);
1613 if (LJ_DUALNUM) { 1615 if (LJ_DUALNUM) {
1614 dasm_put(Dst, 6559); 1616 dasm_put(Dst, 6561);
1615 } else if (sse) { 1617 } else if (sse) {
1616 dasm_put(Dst, 6566); 1618 dasm_put(Dst, 6568);
1617 } else { 1619 } else {
1618 dasm_put(Dst, 6576); 1620 dasm_put(Dst, 6578);
1619 } 1621 }
1620 dasm_put(Dst, 6587, LJ_TISNUM); 1622 dasm_put(Dst, 6589, LJ_TISNUM);
1621 if (LJ_DUALNUM) { 1623 if (LJ_DUALNUM) {
1622 dasm_put(Dst, 6595); 1624 dasm_put(Dst, 6597);
1623 } else { 1625 } else {
1624 dasm_put(Dst, 2219); 1626 dasm_put(Dst, 2221);
1625 } 1627 }
1626 if (sse) { 1628 if (sse) {
1627 dasm_put(Dst, 6612); 1629 dasm_put(Dst, 6614);
1628 } else { 1630 } else {
1629 dasm_put(Dst, 6641); 1631 dasm_put(Dst, 6643);
1630 } 1632 }
1631 dasm_put(Dst, 111); 1633 dasm_put(Dst, 111);
1632 if (LJ_DUALNUM || sse) { 1634 if (LJ_DUALNUM || sse) {
1633 if (!sse) { 1635 if (!sse) {
1634 dasm_put(Dst, 6659); 1636 dasm_put(Dst, 6661);
1635 } 1637 }
1636 dasm_put(Dst, 6663); 1638 dasm_put(Dst, 6665);
1637 } else { 1639 } else {
1638 dasm_put(Dst, 6579); 1640 dasm_put(Dst, 6581);
1639 } 1641 }
1640 dasm_put(Dst, 6668); 1642 dasm_put(Dst, 6670);
1641 if (sse) { 1643 if (sse) {
1642 dasm_put(Dst, 6671); 1644 dasm_put(Dst, 6673);
1643 } else { 1645 } else {
1644 dasm_put(Dst, 6686); 1646 dasm_put(Dst, 6688);
1645 } 1647 }
1646 dasm_put(Dst, 2196, LJ_TISNUM); 1648 dasm_put(Dst, 2198, LJ_TISNUM);
1647 if (LJ_DUALNUM) { 1649 if (LJ_DUALNUM) {
1648 dasm_put(Dst, 6695); 1650 dasm_put(Dst, 6697);
1649 } else { 1651 } else {
1650 dasm_put(Dst, 2219); 1652 dasm_put(Dst, 2221);
1651 } 1653 }
1652 if (sse) { 1654 if (sse) {
1653 dasm_put(Dst, 6712); 1655 dasm_put(Dst, 6714);
1654 } else { 1656 } else {
1655 dasm_put(Dst, 6727); 1657 dasm_put(Dst, 6729);
1656 } 1658 }
1657 dasm_put(Dst, 6740, LJ_TISNUM); 1659 dasm_put(Dst, 6742, LJ_TISNUM);
1658 if (LJ_DUALNUM) { 1660 if (LJ_DUALNUM) {
1659 dasm_put(Dst, 6765); 1661 dasm_put(Dst, 6767);
1660 } else { 1662 } else {
1661 dasm_put(Dst, 6785); 1663 dasm_put(Dst, 6787);
1662 } 1664 }
1663 if (sse) { 1665 if (sse) {
1664 dasm_put(Dst, 6790); 1666 dasm_put(Dst, 6792);
1665 } else { 1667 } else {
1666 dasm_put(Dst, 6807); 1668 dasm_put(Dst, 6809);
1667 } 1669 }
1668 dasm_put(Dst, 6820); 1670 dasm_put(Dst, 6822);
1669 if (sse) { 1671 if (sse) {
1670 dasm_put(Dst, 6671); 1672 dasm_put(Dst, 6673);
1671 } else { 1673 } else {
1672 dasm_put(Dst, 6686); 1674 dasm_put(Dst, 6688);
1673 } 1675 }
1674 dasm_put(Dst, 2196, LJ_TISNUM); 1676 dasm_put(Dst, 2198, LJ_TISNUM);
1675 if (LJ_DUALNUM) { 1677 if (LJ_DUALNUM) {
1676 dasm_put(Dst, 6695); 1678 dasm_put(Dst, 6697);
1677 } else { 1679 } else {
1678 dasm_put(Dst, 2219); 1680 dasm_put(Dst, 2221);
1679 } 1681 }
1680 if (sse) { 1682 if (sse) {
1681 dasm_put(Dst, 6712); 1683 dasm_put(Dst, 6714);
1682 } else { 1684 } else {
1683 dasm_put(Dst, 6727); 1685 dasm_put(Dst, 6729);
1684 } 1686 }
1685 dasm_put(Dst, 6740, LJ_TISNUM); 1687 dasm_put(Dst, 6742, LJ_TISNUM);
1686 if (LJ_DUALNUM) { 1688 if (LJ_DUALNUM) {
1687 dasm_put(Dst, 6830); 1689 dasm_put(Dst, 6832);
1688 } else { 1690 } else {
1689 dasm_put(Dst, 6785); 1691 dasm_put(Dst, 6787);
1690 } 1692 }
1691 if (sse) { 1693 if (sse) {
1692 dasm_put(Dst, 6850); 1694 dasm_put(Dst, 6852);
1693 } else { 1695 } else {
1694 dasm_put(Dst, 6867); 1696 dasm_put(Dst, 6869);
1695 } 1697 }
1696 dasm_put(Dst, 6880); 1698 dasm_put(Dst, 6882);
1697 if (sse) { 1699 if (sse) {
1698 dasm_put(Dst, 6671); 1700 dasm_put(Dst, 6673);
1699 } else { 1701 } else {
1700 dasm_put(Dst, 6686); 1702 dasm_put(Dst, 6688);
1701 } 1703 }
1702 dasm_put(Dst, 2196, LJ_TISNUM); 1704 dasm_put(Dst, 2198, LJ_TISNUM);
1703 if (LJ_DUALNUM) { 1705 if (LJ_DUALNUM) {
1704 dasm_put(Dst, 6695); 1706 dasm_put(Dst, 6697);
1705 } else { 1707 } else {
1706 dasm_put(Dst, 2219); 1708 dasm_put(Dst, 2221);
1707 } 1709 }
1708 if (sse) { 1710 if (sse) {
1709 dasm_put(Dst, 6712); 1711 dasm_put(Dst, 6714);
1710 } else { 1712 } else {
1711 dasm_put(Dst, 6727); 1713 dasm_put(Dst, 6729);
1712 } 1714 }
1713 dasm_put(Dst, 6740, LJ_TISNUM); 1715 dasm_put(Dst, 6742, LJ_TISNUM);
1714 if (LJ_DUALNUM) { 1716 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6890); 1717 dasm_put(Dst, 6892);
1716 } else { 1718 } else {
1717 dasm_put(Dst, 6785); 1719 dasm_put(Dst, 6787);
1718 } 1720 }
1719 if (sse) { 1721 if (sse) {
1720 dasm_put(Dst, 6910); 1722 dasm_put(Dst, 6912);
1721 } else { 1723 } else {
1722 dasm_put(Dst, 6927); 1724 dasm_put(Dst, 6929);
1723 } 1725 }
1724 dasm_put(Dst, 6940, LJ_TISNUM); 1726 dasm_put(Dst, 6942, LJ_TISNUM);
1725 if (LJ_DUALNUM) { 1727 if (LJ_DUALNUM) {
1726 dasm_put(Dst, 6695); 1728 dasm_put(Dst, 6697);
1727 } else { 1729 } else {
1728 dasm_put(Dst, 2219); 1730 dasm_put(Dst, 2221);
1729 } 1731 }
1730 if (sse) { 1732 if (sse) {
1731 dasm_put(Dst, 6612); 1733 dasm_put(Dst, 6614);
1732 } else { 1734 } else {
1733 dasm_put(Dst, 6955); 1735 dasm_put(Dst, 6957);
1734 } 1736 }
1735 dasm_put(Dst, 6976, LJ_TISNUM); 1737 dasm_put(Dst, 6978, LJ_TISNUM);
1736 if (LJ_DUALNUM) { 1738 if (LJ_DUALNUM) {
1737 dasm_put(Dst, 6695); 1739 dasm_put(Dst, 6697);
1738 } else { 1740 } else {
1739 dasm_put(Dst, 2219); 1741 dasm_put(Dst, 2221);
1740 } 1742 }
1741 if (sse) { 1743 if (sse) {
1742 dasm_put(Dst, 6612); 1744 dasm_put(Dst, 6614);
1743 } else { 1745 } else {
1744 dasm_put(Dst, 6955); 1746 dasm_put(Dst, 6957);
1745 } 1747 }
1746 dasm_put(Dst, 6992); 1748 dasm_put(Dst, 6994);
1747 if (LJ_DUALNUM) { 1749 if (LJ_DUALNUM) {
1748 dasm_put(Dst, 6663); 1750 dasm_put(Dst, 6665);
1749 } else if (sse) { 1751 } else if (sse) {
1750 dasm_put(Dst, 6998); 1752 dasm_put(Dst, 7000);
1751 } else { 1753 } else {
1752 dasm_put(Dst, 7010); 1754 dasm_put(Dst, 7012);
1753 } 1755 }
1754 dasm_put(Dst, 7023); 1756 dasm_put(Dst, 7025);
1755 if (LJ_DUALNUM) { 1757 if (LJ_DUALNUM) {
1756 dasm_put(Dst, 7034, LJ_TISNUM); 1758 dasm_put(Dst, 7036, LJ_TISNUM);
1757 if (LJ_DUALNUM) { 1759 if (LJ_DUALNUM) {
1758 dasm_put(Dst, 6695); 1760 dasm_put(Dst, 6697);
1759 } else { 1761 } else {
1760 dasm_put(Dst, 2219); 1762 dasm_put(Dst, 2221);
1761 } 1763 }
1762 if (sse) { 1764 if (sse) {
1763 dasm_put(Dst, 6612); 1765 dasm_put(Dst, 6614);
1764 } else { 1766 } else {
1765 dasm_put(Dst, 6955); 1767 dasm_put(Dst, 6957);
1766 } 1768 }
1767 dasm_put(Dst, 7042, LJ_TISNUM); 1769 dasm_put(Dst, 7044, LJ_TISNUM);
1768 } else if (sse) { 1770 } else if (sse) {
1769 dasm_put(Dst, 7057, 2+1, LJ_TISNUM, LJ_TISNUM); 1771 dasm_put(Dst, 7059, 2+1, LJ_TISNUM, LJ_TISNUM);
1770 } else { 1772 } else {
1771 dasm_put(Dst, 7129, 2+1, LJ_TISNUM, LJ_TISNUM); 1773 dasm_put(Dst, 7131, 2+1, LJ_TISNUM, LJ_TISNUM);
1772 } 1774 }
1773 dasm_put(Dst, 7193); 1775 dasm_put(Dst, 7195);
1774 if (LJ_DUALNUM) { 1776 if (LJ_DUALNUM) {
1775 dasm_put(Dst, 7200, LJ_TISNUM); 1777 dasm_put(Dst, 7202, LJ_TISNUM);
1776 if (LJ_DUALNUM) { 1778 if (LJ_DUALNUM) {
1777 dasm_put(Dst, 6695); 1779 dasm_put(Dst, 6697);
1778 } else { 1780 } else {
1779 dasm_put(Dst, 2219); 1781 dasm_put(Dst, 2221);
1780 } 1782 }
1781 if (sse) { 1783 if (sse) {
1782 dasm_put(Dst, 6612); 1784 dasm_put(Dst, 6614);
1783 } else { 1785 } else {
1784 dasm_put(Dst, 6955); 1786 dasm_put(Dst, 6957);
1785 } 1787 }
1786 dasm_put(Dst, 7042, LJ_TISNUM); 1788 dasm_put(Dst, 7044, LJ_TISNUM);
1787 } else if (sse) { 1789 } else if (sse) {
1788 dasm_put(Dst, 7208, 2+1, LJ_TISNUM, LJ_TISNUM); 1790 dasm_put(Dst, 7210, 2+1, LJ_TISNUM, LJ_TISNUM);
1789 } else { 1791 } else {
1790 dasm_put(Dst, 7280, 2+1, LJ_TISNUM, LJ_TISNUM); 1792 dasm_put(Dst, 7282, 2+1, LJ_TISNUM, LJ_TISNUM);
1791 } 1793 }
1792 dasm_put(Dst, 7344); 1794 dasm_put(Dst, 7346);
1793 if (LJ_DUALNUM) { 1795 if (LJ_DUALNUM) {
1794 dasm_put(Dst, 7352, LJ_TISNUM); 1796 dasm_put(Dst, 7354, LJ_TISNUM);
1795 if (LJ_DUALNUM) { 1797 if (LJ_DUALNUM) {
1796 dasm_put(Dst, 6695); 1798 dasm_put(Dst, 6697);
1797 } else { 1799 } else {
1798 dasm_put(Dst, 2219); 1800 dasm_put(Dst, 2221);
1799 } 1801 }
1800 if (sse) { 1802 if (sse) {
1801 dasm_put(Dst, 6612); 1803 dasm_put(Dst, 6614);
1802 } else { 1804 } else {
1803 dasm_put(Dst, 6955); 1805 dasm_put(Dst, 6957);
1804 } 1806 }
1805 dasm_put(Dst, 7042, LJ_TISNUM); 1807 dasm_put(Dst, 7044, LJ_TISNUM);
1806 } else if (sse) { 1808 } else if (sse) {
1807 dasm_put(Dst, 7360, 2+1, LJ_TISNUM, LJ_TISNUM); 1809 dasm_put(Dst, 7362, 2+1, LJ_TISNUM, LJ_TISNUM);
1808 } else { 1810 } else {
1809 dasm_put(Dst, 7432, 2+1, LJ_TISNUM, LJ_TISNUM); 1811 dasm_put(Dst, 7434, 2+1, LJ_TISNUM, LJ_TISNUM);
1810 } 1812 }
1811 dasm_put(Dst, 7496); 1813 dasm_put(Dst, 7498);
1812 if (LJ_DUALNUM) { 1814 if (LJ_DUALNUM) {
1813 dasm_put(Dst, 7504, LJ_TISNUM); 1815 dasm_put(Dst, 7506, LJ_TISNUM);
1814 if (LJ_DUALNUM) { 1816 if (LJ_DUALNUM) {
1815 dasm_put(Dst, 6695); 1817 dasm_put(Dst, 6697);
1816 } else { 1818 } else {
1817 dasm_put(Dst, 2219); 1819 dasm_put(Dst, 2221);
1818 } 1820 }
1819 if (sse) { 1821 if (sse) {
1820 dasm_put(Dst, 6612); 1822 dasm_put(Dst, 6614);
1821 } else { 1823 } else {
1822 dasm_put(Dst, 6955); 1824 dasm_put(Dst, 6957);
1823 } 1825 }
1824 dasm_put(Dst, 7042, LJ_TISNUM); 1826 dasm_put(Dst, 7044, LJ_TISNUM);
1825 } else if (sse) { 1827 } else if (sse) {
1826 dasm_put(Dst, 7512, 2+1, LJ_TISNUM, LJ_TISNUM); 1828 dasm_put(Dst, 7514, 2+1, LJ_TISNUM, LJ_TISNUM);
1827 } else { 1829 } else {
1828 dasm_put(Dst, 7584, 2+1, LJ_TISNUM, LJ_TISNUM); 1830 dasm_put(Dst, 7586, 2+1, LJ_TISNUM, LJ_TISNUM);
1829 } 1831 }
1830 dasm_put(Dst, 7648); 1832 dasm_put(Dst, 7650);
1831 if (LJ_DUALNUM) { 1833 if (LJ_DUALNUM) {
1832 dasm_put(Dst, 7655, LJ_TISNUM); 1834 dasm_put(Dst, 7657, LJ_TISNUM);
1833 if (LJ_DUALNUM) { 1835 if (LJ_DUALNUM) {
1834 dasm_put(Dst, 6695); 1836 dasm_put(Dst, 6697);
1835 } else { 1837 } else {
1836 dasm_put(Dst, 2219); 1838 dasm_put(Dst, 2221);
1837 } 1839 }
1838 if (sse) { 1840 if (sse) {
1839 dasm_put(Dst, 6612); 1841 dasm_put(Dst, 6614);
1840 } else { 1842 } else {
1841 dasm_put(Dst, 6955); 1843 dasm_put(Dst, 6957);
1842 } 1844 }
1843 dasm_put(Dst, 7042, LJ_TISNUM); 1845 dasm_put(Dst, 7044, LJ_TISNUM);
1844 } else if (sse) { 1846 } else if (sse) {
1845 dasm_put(Dst, 7663, 2+1, LJ_TISNUM, LJ_TISNUM); 1847 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM);
1846 } else { 1848 } else {
1847 dasm_put(Dst, 7735, 2+1, LJ_TISNUM, LJ_TISNUM); 1849 dasm_put(Dst, 7737, 2+1, LJ_TISNUM, LJ_TISNUM);
1848 } 1850 }
1849 dasm_put(Dst, 7799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1851 dasm_put(Dst, 7801, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1850 dasm_put(Dst, 7875, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1852 dasm_put(Dst, 7877, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1851 dasm_put(Dst, 7999, Dt1(->top), Dt1(->base), Dt1(->top)); 1853 dasm_put(Dst, 8001, Dt1(->top), Dt1(->base), Dt1(->top));
1852#if LJ_HASJIT 1854#if LJ_HASJIT
1853 dasm_put(Dst, 8037, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1855 dasm_put(Dst, 8039, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1854#endif 1856#endif
1855 dasm_put(Dst, 8068, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1857 dasm_put(Dst, 8070, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1856 dasm_put(Dst, 8119, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1858 dasm_put(Dst, 8121, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1857#if LJ_HASJIT 1859#if LJ_HASJIT
1858 dasm_put(Dst, 8185, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1860 dasm_put(Dst, 8187, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1859#endif 1861#endif
1860 dasm_put(Dst, 8231); 1862 dasm_put(Dst, 8233);
1861#if LJ_HASJIT 1863#if LJ_HASJIT
1862 dasm_put(Dst, 8063); 1864 dasm_put(Dst, 8065);
1863#endif 1865#endif
1864 dasm_put(Dst, 8238); 1866 dasm_put(Dst, 8240);
1865#if LJ_HASJIT 1867#if LJ_HASJIT
1866 dasm_put(Dst, 8241); 1868 dasm_put(Dst, 8243);
1867#endif 1869#endif
1868 dasm_put(Dst, 8251, Dt1(->base), Dt1(->top)); 1870 dasm_put(Dst, 8253, Dt1(->base), Dt1(->top));
1869#if LJ_HASJIT 1871#if LJ_HASJIT
1870 dasm_put(Dst, 8285); 1872 dasm_put(Dst, 8287);
1871#endif 1873#endif
1872 dasm_put(Dst, 8290, Dt1(->base), Dt1(->top)); 1874 dasm_put(Dst, 8292, Dt1(->base), Dt1(->top));
1873#if LJ_HASJIT 1875#if LJ_HASJIT
1874 dasm_put(Dst, 8319, 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); 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);
1875#endif 1877#endif
1876 dasm_put(Dst, 8462); 1878 dasm_put(Dst, 8464);
1877#if LJ_HASJIT 1879#if LJ_HASJIT
1878 dasm_put(Dst, 8465, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1880 dasm_put(Dst, 8467, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1879#endif 1881#endif
1880 dasm_put(Dst, 8543); 1882 dasm_put(Dst, 8545);
1881 if (!sse) { 1883 if (!sse) {
1882 dasm_put(Dst, 8546); 1884 dasm_put(Dst, 8548);
1883 } 1885 }
1884 dasm_put(Dst, 8591); 1886 dasm_put(Dst, 8593);
1885 if (!sse) { 1887 if (!sse) {
1886 dasm_put(Dst, 8693); 1888 dasm_put(Dst, 8695);
1887 } 1889 }
1888 dasm_put(Dst, 8738); 1890 dasm_put(Dst, 8740);
1889 if (!sse) { 1891 if (!sse) {
1890 dasm_put(Dst, 8840); 1892 dasm_put(Dst, 8842);
1891 } 1893 }
1892 dasm_put(Dst, 8879); 1894 dasm_put(Dst, 8881);
1893 if (sse) { 1895 if (sse) {
1894 dasm_put(Dst, 8984); 1896 dasm_put(Dst, 8986);
1895 } else { 1897 } else {
1896 dasm_put(Dst, 9114); 1898 dasm_put(Dst, 9116);
1897 } 1899 }
1898 dasm_put(Dst, 9161); 1900 dasm_put(Dst, 9163);
1899 if (!sse) { 1901 if (!sse) {
1900 dasm_put(Dst, 9235); 1902 dasm_put(Dst, 9237);
1901 if (cmov) { 1903 if (cmov) {
1902 dasm_put(Dst, 9246); 1904 dasm_put(Dst, 9248);
1903 } else { 1905 } else {
1904 dasm_put(Dst, 9250); 1906 dasm_put(Dst, 9252);
1905 } 1907 }
1906 dasm_put(Dst, 9257); 1908 dasm_put(Dst, 9259);
1907 dasm_put(Dst, 9331); 1909 dasm_put(Dst, 9333);
1908 dasm_put(Dst, 9431); 1910 dasm_put(Dst, 9433);
1909 if (cmov) { 1911 if (cmov) {
1910 dasm_put(Dst, 9434); 1912 dasm_put(Dst, 9436);
1911 } else { 1913 } else {
1912 dasm_put(Dst, 9438); 1914 dasm_put(Dst, 9440);
1913 } 1915 }
1914 dasm_put(Dst, 9445); 1916 dasm_put(Dst, 9447);
1915 if (cmov) { 1917 if (cmov) {
1916 dasm_put(Dst, 9246); 1918 dasm_put(Dst, 9248);
1917 } else { 1919 } else {
1918 dasm_put(Dst, 9250); 1920 dasm_put(Dst, 9252);
1919 } 1921 }
1920 dasm_put(Dst, 9463); 1922 dasm_put(Dst, 9465);
1921 } else { 1923 } else {
1922 dasm_put(Dst, 9542); 1924 dasm_put(Dst, 9544);
1923 } 1925 }
1924 dasm_put(Dst, 9545); 1926 dasm_put(Dst, 9547);
1925 dasm_put(Dst, 9630); 1927 dasm_put(Dst, 9632);
1926 dasm_put(Dst, 9760); 1928 dasm_put(Dst, 9762);
1927 dasm_put(Dst, 9966); 1929 dasm_put(Dst, 9968);
1928#if LJ_HASJIT 1930#if LJ_HASJIT
1929 if (sse) { 1931 if (sse) {
1930 dasm_put(Dst, 9973); 1932 dasm_put(Dst, 9975);
1931 dasm_put(Dst, 10030); 1933 dasm_put(Dst, 10032);
1932 dasm_put(Dst, 10121); 1934 dasm_put(Dst, 10123);
1933 } else { 1935 } else {
1934 dasm_put(Dst, 10163); 1936 dasm_put(Dst, 10165);
1935 dasm_put(Dst, 10255); 1937 dasm_put(Dst, 10257);
1936 } 1938 }
1937 dasm_put(Dst, 10301); 1939 dasm_put(Dst, 10303);
1938#endif 1940#endif
1939 dasm_put(Dst, 10305); 1941 dasm_put(Dst, 10307);
1940 if (sse) { 1942 if (sse) {
1941 dasm_put(Dst, 10308); 1943 dasm_put(Dst, 10310);
1942 dasm_put(Dst, 10413); 1944 dasm_put(Dst, 10415);
1943 dasm_put(Dst, 10496); 1945 dasm_put(Dst, 10498);
1944 } else { 1946 } else {
1945 dasm_put(Dst, 10568); 1947 dasm_put(Dst, 10570);
1946 dasm_put(Dst, 10651); 1948 dasm_put(Dst, 10653);
1947 if (cmov) { 1949 if (cmov) {
1948 dasm_put(Dst, 10706); 1950 dasm_put(Dst, 10708);
1949 } else { 1951 } else {
1950 dasm_put(Dst, 10725); 1952 dasm_put(Dst, 10727);
1951 } 1953 }
1952 dasm_put(Dst, 10301); 1954 dasm_put(Dst, 10303);
1953 } 1955 }
1954 dasm_put(Dst, 10766); 1956 dasm_put(Dst, 10768);
1955#if LJ_HASFFI 1957#if LJ_HASFFI
1956#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1958#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1957 dasm_put(Dst, 10822, DtE(->spadj)); 1959 dasm_put(Dst, 10824, DtE(->spadj));
1958#if LJ_TARGET_WINDOWS 1960#if LJ_TARGET_WINDOWS
1959 dasm_put(Dst, 10832, DtE(->spadj)); 1961 dasm_put(Dst, 10834, DtE(->spadj));
1960#endif 1962#endif
1961 dasm_put(Dst, 10836, 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])); 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]));
1962 dasm_put(Dst, 10906, DtE(->fpr[0].f[0])); 1964 dasm_put(Dst, 10908, DtE(->fpr[0].f[0]));
1963#if LJ_TARGET_WINDOWS 1965#if LJ_TARGET_WINDOWS
1964 dasm_put(Dst, 10912, DtE(->spadj)); 1966 dasm_put(Dst, 10914, DtE(->spadj));
1965#endif 1967#endif
1966 dasm_put(Dst, 10916); 1968 dasm_put(Dst, 10918);
1967#endif 1969#endif
1968 dasm_put(Dst, 10923); 1970 dasm_put(Dst, 10925);
1969#ifdef LUA_USE_ASSERT 1971#ifdef LUA_USE_ASSERT
1970 dasm_put(Dst, 10303); 1972 dasm_put(Dst, 10305);
1971#endif 1973#endif
1972 dasm_put(Dst, 10303); 1974 dasm_put(Dst, 10305);
1973} 1975}
1974 1976
1975/* Generate the code for a single instruction. */ 1977/* Generate the code for a single instruction. */
1976static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1978static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1977{ 1979{
1978 int vk = 0; 1980 int vk = 0;
1979 dasm_put(Dst, 10926, defop); 1981 dasm_put(Dst, 10928, defop);
1980 1982
1981 switch (op) { 1983 switch (op) {
1982 1984
@@ -1987,297 +1989,297 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1987 1989
1988 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1990 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1989 if (LJ_DUALNUM) { 1991 if (LJ_DUALNUM) {
1990 dasm_put(Dst, 10928, LJ_TISNUM, LJ_TISNUM); 1992 dasm_put(Dst, 10930, LJ_TISNUM, LJ_TISNUM);
1991 switch (op) { 1993 switch (op) {
1992 case BC_ISLT: 1994 case BC_ISLT:
1993 dasm_put(Dst, 10958); 1995 dasm_put(Dst, 10960);
1994 break; 1996 break;
1995 case BC_ISGE: 1997 case BC_ISGE:
1996 dasm_put(Dst, 10963); 1998 dasm_put(Dst, 10965);
1997 break; 1999 break;
1998 case BC_ISLE: 2000 case BC_ISLE:
1999 dasm_put(Dst, 10968); 2001 dasm_put(Dst, 10970);
2000 break; 2002 break;
2001 case BC_ISGT: 2003 case BC_ISGT:
2002 dasm_put(Dst, 10973); 2004 dasm_put(Dst, 10975);
2003 break; 2005 break;
2004 default: break; /* Shut up GCC. */ 2006 default: break; /* Shut up GCC. */
2005 } 2007 }
2006 dasm_put(Dst, 10978, -BCBIAS_J*4, LJ_TISNUM); 2008 dasm_put(Dst, 10980, -BCBIAS_J*4, LJ_TISNUM);
2007 if (sse) { 2009 if (sse) {
2008 dasm_put(Dst, 11031); 2010 dasm_put(Dst, 11033);
2009 } else { 2011 } else {
2010 dasm_put(Dst, 11042); 2012 dasm_put(Dst, 11044);
2011 } 2013 }
2012 dasm_put(Dst, 11053); 2014 dasm_put(Dst, 11055);
2013 if (sse) { 2015 if (sse) {
2014 dasm_put(Dst, 11060); 2016 dasm_put(Dst, 11062);
2015 switch (op) { 2017 switch (op) {
2016 case BC_ISLT: 2018 case BC_ISLT:
2017 dasm_put(Dst, 11080); 2019 dasm_put(Dst, 11082);
2018 break; 2020 break;
2019 case BC_ISGE: 2021 case BC_ISGE:
2020 dasm_put(Dst, 11085); 2022 dasm_put(Dst, 11087);
2021 break; 2023 break;
2022 case BC_ISLE: 2024 case BC_ISLE:
2023 dasm_put(Dst, 11090); 2025 dasm_put(Dst, 11092);
2024 break; 2026 break;
2025 case BC_ISGT: 2027 case BC_ISGT:
2026 dasm_put(Dst, 11095); 2028 dasm_put(Dst, 11097);
2027 break; 2029 break;
2028 default: break; /* Shut up GCC. */ 2030 default: break; /* Shut up GCC. */
2029 } 2031 }
2030 dasm_put(Dst, 11100); 2032 dasm_put(Dst, 11102);
2031 } else { 2033 } else {
2032 dasm_put(Dst, 11105); 2034 dasm_put(Dst, 11107);
2033 } 2035 }
2034 } else { 2036 } else {
2035 dasm_put(Dst, 11113, LJ_TISNUM, LJ_TISNUM); 2037 dasm_put(Dst, 11115, LJ_TISNUM, LJ_TISNUM);
2036 } 2038 }
2037 if (sse) { 2039 if (sse) {
2038 dasm_put(Dst, 11134); 2040 dasm_put(Dst, 11136);
2039 } else { 2041 } else {
2040 dasm_put(Dst, 11155); 2042 dasm_put(Dst, 11157);
2041 if (cmov) { 2043 if (cmov) {
2042 dasm_put(Dst, 3899); 2044 dasm_put(Dst, 3901);
2043 } else { 2045 } else {
2044 dasm_put(Dst, 3905); 2046 dasm_put(Dst, 3907);
2045 } 2047 }
2046 } 2048 }
2047 if (LJ_DUALNUM) { 2049 if (LJ_DUALNUM) {
2048 switch (op) { 2050 switch (op) {
2049 case BC_ISLT: 2051 case BC_ISLT:
2050 dasm_put(Dst, 11080); 2052 dasm_put(Dst, 11082);
2051 break; 2053 break;
2052 case BC_ISGE: 2054 case BC_ISGE:
2053 dasm_put(Dst, 11085); 2055 dasm_put(Dst, 11087);
2054 break; 2056 break;
2055 case BC_ISLE: 2057 case BC_ISLE:
2056 dasm_put(Dst, 11090); 2058 dasm_put(Dst, 11092);
2057 break; 2059 break;
2058 case BC_ISGT: 2060 case BC_ISGT:
2059 dasm_put(Dst, 11095); 2061 dasm_put(Dst, 11097);
2060 break; 2062 break;
2061 default: break; /* Shut up GCC. */ 2063 default: break; /* Shut up GCC. */
2062 } 2064 }
2063 dasm_put(Dst, 11100); 2065 dasm_put(Dst, 11102);
2064 } else { 2066 } else {
2065 switch (op) { 2067 switch (op) {
2066 case BC_ISLT: 2068 case BC_ISLT:
2067 dasm_put(Dst, 11171); 2069 dasm_put(Dst, 11173);
2068 break; 2070 break;
2069 case BC_ISGE: 2071 case BC_ISGE:
2070 dasm_put(Dst, 11176); 2072 dasm_put(Dst, 11178);
2071 break; 2073 break;
2072 case BC_ISLE: 2074 case BC_ISLE:
2073 dasm_put(Dst, 11181); 2075 dasm_put(Dst, 11183);
2074 break; 2076 break;
2075 case BC_ISGT: 2077 case BC_ISGT:
2076 dasm_put(Dst, 11186); 2078 dasm_put(Dst, 11188);
2077 break; 2079 break;
2078 default: break; /* Shut up GCC. */ 2080 default: break; /* Shut up GCC. */
2079 } 2081 }
2080 dasm_put(Dst, 11191, -BCBIAS_J*4); 2082 dasm_put(Dst, 11193, -BCBIAS_J*4);
2081 } 2083 }
2082 break; 2084 break;
2083 2085
2084 case BC_ISEQV: case BC_ISNEV: 2086 case BC_ISEQV: case BC_ISNEV:
2085 vk = op == BC_ISEQV; 2087 vk = op == BC_ISEQV;
2086 dasm_put(Dst, 11222); 2088 dasm_put(Dst, 11224);
2087 if (LJ_DUALNUM) { 2089 if (LJ_DUALNUM) {
2088 dasm_put(Dst, 11230, LJ_TISNUM, LJ_TISNUM); 2090 dasm_put(Dst, 11232, LJ_TISNUM, LJ_TISNUM);
2089 if (vk) { 2091 if (vk) {
2090 dasm_put(Dst, 11255); 2092 dasm_put(Dst, 11257);
2091 } else { 2093 } else {
2092 dasm_put(Dst, 11260); 2094 dasm_put(Dst, 11262);
2093 } 2095 }
2094 dasm_put(Dst, 11265, -BCBIAS_J*4, LJ_TISNUM); 2096 dasm_put(Dst, 11267, -BCBIAS_J*4, LJ_TISNUM);
2095 if (sse) { 2097 if (sse) {
2096 dasm_put(Dst, 11316); 2098 dasm_put(Dst, 11318);
2097 } else { 2099 } else {
2098 dasm_put(Dst, 11323); 2100 dasm_put(Dst, 11325);
2099 } 2101 }
2100 dasm_put(Dst, 11327); 2102 dasm_put(Dst, 11329);
2101 if (sse) { 2103 if (sse) {
2102 dasm_put(Dst, 11338); 2104 dasm_put(Dst, 11340);
2103 } else { 2105 } else {
2104 dasm_put(Dst, 11350); 2106 dasm_put(Dst, 11352);
2105 } 2107 }
2106 dasm_put(Dst, 11357); 2108 dasm_put(Dst, 11359);
2107 } else { 2109 } else {
2108 dasm_put(Dst, 11362, LJ_TISNUM, LJ_TISNUM); 2110 dasm_put(Dst, 11364, LJ_TISNUM, LJ_TISNUM);
2109 } 2111 }
2110 if (sse) { 2112 if (sse) {
2111 dasm_put(Dst, 11381); 2113 dasm_put(Dst, 11383);
2112 } else { 2114 } else {
2113 dasm_put(Dst, 11399); 2115 dasm_put(Dst, 11401);
2114 if (cmov) { 2116 if (cmov) {
2115 dasm_put(Dst, 3899); 2117 dasm_put(Dst, 3901);
2116 } else { 2118 } else {
2117 dasm_put(Dst, 3905); 2119 dasm_put(Dst, 3907);
2118 } 2120 }
2119 } 2121 }
2120 iseqne_fp: 2122 iseqne_fp:
2121 if (vk) { 2123 if (vk) {
2122 dasm_put(Dst, 11412); 2124 dasm_put(Dst, 11414);
2123 } else { 2125 } else {
2124 dasm_put(Dst, 11421); 2126 dasm_put(Dst, 11423);
2125 } 2127 }
2126 iseqne_end: 2128 iseqne_end:
2127 if (vk) { 2129 if (vk) {
2128 dasm_put(Dst, 11430, -BCBIAS_J*4); 2130 dasm_put(Dst, 11432, -BCBIAS_J*4);
2129 if (!LJ_HASFFI) { 2131 if (!LJ_HASFFI) {
2130 dasm_put(Dst, 4799); 2132 dasm_put(Dst, 4801);
2131 } 2133 }
2132 } else { 2134 } else {
2133 if (!LJ_HASFFI) { 2135 if (!LJ_HASFFI) {
2134 dasm_put(Dst, 4799); 2136 dasm_put(Dst, 4801);
2135 } 2137 }
2136 dasm_put(Dst, 11445, -BCBIAS_J*4); 2138 dasm_put(Dst, 11447, -BCBIAS_J*4);
2137 } 2139 }
2138 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 2140 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2139 op == BC_ISEQN || op == BC_ISNEN)) { 2141 op == BC_ISEQN || op == BC_ISNEN)) {
2140 dasm_put(Dst, 11460); 2142 dasm_put(Dst, 11462);
2141 } else { 2143 } else {
2142 dasm_put(Dst, 11203); 2144 dasm_put(Dst, 11205);
2143 } 2145 }
2144 if (op == BC_ISEQV || op == BC_ISNEV) { 2146 if (op == BC_ISEQV || op == BC_ISNEV) {
2145 dasm_put(Dst, 11465); 2147 dasm_put(Dst, 11467);
2146 if (LJ_HASFFI) { 2148 if (LJ_HASFFI) {
2147 dasm_put(Dst, 11468, LJ_TCDATA, LJ_TCDATA); 2149 dasm_put(Dst, 11470, LJ_TCDATA, LJ_TCDATA);
2148 } 2150 }
2149 dasm_put(Dst, 11487, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2151 dasm_put(Dst, 11489, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2150 if (vk) { 2152 if (vk) {
2151 dasm_put(Dst, 11543); 2153 dasm_put(Dst, 11545);
2152 } else { 2154 } else {
2153 dasm_put(Dst, 11547); 2155 dasm_put(Dst, 11549);
2154 } 2156 }
2155 dasm_put(Dst, 11553); 2157 dasm_put(Dst, 11555);
2156 } else if (LJ_HASFFI) { 2158 } else if (LJ_HASFFI) {
2157 dasm_put(Dst, 11558, LJ_TCDATA); 2159 dasm_put(Dst, 11560, LJ_TCDATA);
2158 if (LJ_DUALNUM && vk) { 2160 if (LJ_DUALNUM && vk) {
2159 dasm_put(Dst, 11565); 2161 dasm_put(Dst, 11567);
2160 } else { 2162 } else {
2161 dasm_put(Dst, 11538); 2163 dasm_put(Dst, 11540);
2162 } 2164 }
2163 dasm_put(Dst, 11570); 2165 dasm_put(Dst, 11572);
2164 } 2166 }
2165 break; 2167 break;
2166 case BC_ISEQS: case BC_ISNES: 2168 case BC_ISEQS: case BC_ISNES:
2167 vk = op == BC_ISEQS; 2169 vk = op == BC_ISEQS;
2168 dasm_put(Dst, 11575, LJ_TSTR); 2170 dasm_put(Dst, 11577, LJ_TSTR);
2169 iseqne_test: 2171 iseqne_test:
2170 if (vk) { 2172 if (vk) {
2171 dasm_put(Dst, 11416); 2173 dasm_put(Dst, 11418);
2172 } else { 2174 } else {
2173 dasm_put(Dst, 2917); 2175 dasm_put(Dst, 2919);
2174 } 2176 }
2175 goto iseqne_end; 2177 goto iseqne_end;
2176 case BC_ISEQN: case BC_ISNEN: 2178 case BC_ISEQN: case BC_ISNEN:
2177 vk = op == BC_ISEQN; 2179 vk = op == BC_ISEQN;
2178 dasm_put(Dst, 11600); 2180 dasm_put(Dst, 11602);
2179 if (LJ_DUALNUM) { 2181 if (LJ_DUALNUM) {
2180 dasm_put(Dst, 11608, LJ_TISNUM, LJ_TISNUM); 2182 dasm_put(Dst, 11610, LJ_TISNUM, LJ_TISNUM);
2181 if (vk) { 2183 if (vk) {
2182 dasm_put(Dst, 11255); 2184 dasm_put(Dst, 11257);
2183 } else { 2185 } else {
2184 dasm_put(Dst, 11260); 2186 dasm_put(Dst, 11262);
2185 } 2187 }
2186 dasm_put(Dst, 11633, -BCBIAS_J*4, LJ_TISNUM); 2188 dasm_put(Dst, 11635, -BCBIAS_J*4, LJ_TISNUM);
2187 if (sse) { 2189 if (sse) {
2188 dasm_put(Dst, 11680); 2190 dasm_put(Dst, 11682);
2189 } else { 2191 } else {
2190 dasm_put(Dst, 11687); 2192 dasm_put(Dst, 11689);
2191 } 2193 }
2192 dasm_put(Dst, 11691); 2194 dasm_put(Dst, 11693);
2193 if (sse) { 2195 if (sse) {
2194 dasm_put(Dst, 11698); 2196 dasm_put(Dst, 11700);
2195 } else { 2197 } else {
2196 dasm_put(Dst, 11710); 2198 dasm_put(Dst, 11712);
2197 } 2199 }
2198 dasm_put(Dst, 11357); 2200 dasm_put(Dst, 11359);
2199 } else { 2201 } else {
2200 dasm_put(Dst, 11717, LJ_TISNUM); 2202 dasm_put(Dst, 11719, LJ_TISNUM);
2201 } 2203 }
2202 if (sse) { 2204 if (sse) {
2203 dasm_put(Dst, 11726); 2205 dasm_put(Dst, 11728);
2204 } else { 2206 } else {
2205 dasm_put(Dst, 11744); 2207 dasm_put(Dst, 11746);
2206 if (cmov) { 2208 if (cmov) {
2207 dasm_put(Dst, 3899); 2209 dasm_put(Dst, 3901);
2208 } else { 2210 } else {
2209 dasm_put(Dst, 3905); 2211 dasm_put(Dst, 3907);
2210 } 2212 }
2211 } 2213 }
2212 goto iseqne_fp; 2214 goto iseqne_fp;
2213 case BC_ISEQP: case BC_ISNEP: 2215 case BC_ISEQP: case BC_ISNEP:
2214 vk = op == BC_ISEQP; 2216 vk = op == BC_ISEQP;
2215 dasm_put(Dst, 11757); 2217 dasm_put(Dst, 11759);
2216 if (!LJ_HASFFI) goto iseqne_test; 2218 if (!LJ_HASFFI) goto iseqne_test;
2217 if (vk) { 2219 if (vk) {
2218 dasm_put(Dst, 11770, -BCBIAS_J*4, LJ_TCDATA); 2220 dasm_put(Dst, 11772, -BCBIAS_J*4, LJ_TCDATA);
2219 } else { 2221 } else {
2220 dasm_put(Dst, 11819, LJ_TCDATA, -BCBIAS_J*4); 2222 dasm_put(Dst, 11821, LJ_TCDATA, -BCBIAS_J*4);
2221 } 2223 }
2222 break; 2224 break;
2223 2225
2224 /* -- Unary test and copy ops ------------------------------------------- */ 2226 /* -- Unary test and copy ops ------------------------------------------- */
2225 2227
2226 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2228 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2227 dasm_put(Dst, 11862, LJ_TISTRUECOND); 2229 dasm_put(Dst, 11864, LJ_TISTRUECOND);
2228 if (op == BC_IST || op == BC_ISTC) { 2230 if (op == BC_IST || op == BC_ISTC) {
2229 dasm_put(Dst, 11186); 2231 dasm_put(Dst, 11188);
2230 } else { 2232 } else {
2231 dasm_put(Dst, 11181); 2233 dasm_put(Dst, 11183);
2232 } 2234 }
2233 if (op == BC_ISTC || op == BC_ISFC) { 2235 if (op == BC_ISTC || op == BC_ISFC) {
2234 dasm_put(Dst, 11874); 2236 dasm_put(Dst, 11876);
2235 } 2237 }
2236 dasm_put(Dst, 11191, -BCBIAS_J*4); 2238 dasm_put(Dst, 11193, -BCBIAS_J*4);
2237 break; 2239 break;
2238 2240
2239 /* -- Unary ops --------------------------------------------------------- */ 2241 /* -- Unary ops --------------------------------------------------------- */
2240 2242
2241 case BC_MOV: 2243 case BC_MOV:
2242 dasm_put(Dst, 11885); 2244 dasm_put(Dst, 11887);
2243 break; 2245 break;
2244 case BC_NOT: 2246 case BC_NOT:
2245 dasm_put(Dst, 11918, LJ_TISTRUECOND, LJ_TTRUE); 2247 dasm_put(Dst, 11920, LJ_TISTRUECOND, LJ_TTRUE);
2246 break; 2248 break;
2247 case BC_UNM: 2249 case BC_UNM:
2248 if (LJ_DUALNUM) { 2250 if (LJ_DUALNUM) {
2249 dasm_put(Dst, 11953, LJ_TISNUM, LJ_TISNUM); 2251 dasm_put(Dst, 11955, LJ_TISNUM, LJ_TISNUM);
2250 } else { 2252 } else {
2251 dasm_put(Dst, 12029, LJ_TISNUM); 2253 dasm_put(Dst, 12031, LJ_TISNUM);
2252 } 2254 }
2253 if (sse) { 2255 if (sse) {
2254 dasm_put(Dst, 12040); 2256 dasm_put(Dst, 12042);
2255 } else { 2257 } else {
2256 dasm_put(Dst, 12070); 2258 dasm_put(Dst, 12072);
2257 } 2259 }
2258 if (LJ_DUALNUM) { 2260 if (LJ_DUALNUM) {
2259 dasm_put(Dst, 11460); 2261 dasm_put(Dst, 11462);
2260 } else { 2262 } else {
2261 dasm_put(Dst, 11203); 2263 dasm_put(Dst, 11205);
2262 } 2264 }
2263 break; 2265 break;
2264 case BC_LEN: 2266 case BC_LEN:
2265 dasm_put(Dst, 12079, LJ_TSTR); 2267 dasm_put(Dst, 12081, LJ_TSTR);
2266 if (LJ_DUALNUM) { 2268 if (LJ_DUALNUM) {
2267 dasm_put(Dst, 12093, Dt5(->len), LJ_TISNUM); 2269 dasm_put(Dst, 12095, Dt5(->len), LJ_TISNUM);
2268 } else if (sse) { 2270 } else if (sse) {
2269 dasm_put(Dst, 12107, Dt5(->len)); 2271 dasm_put(Dst, 12109, Dt5(->len));
2270 } else { 2272 } else {
2271 dasm_put(Dst, 12125, Dt5(->len)); 2273 dasm_put(Dst, 12127, Dt5(->len));
2272 } 2274 }
2273 dasm_put(Dst, 12134, LJ_TTAB); 2275 dasm_put(Dst, 12136, LJ_TTAB);
2274 if (LJ_DUALNUM) { 2276 if (LJ_DUALNUM) {
2275 } else if (sse) { 2277 } else if (sse) {
2276 dasm_put(Dst, 12174); 2278 dasm_put(Dst, 12176);
2277 } else { 2279 } else {
2278 dasm_put(Dst, 12180); 2280 dasm_put(Dst, 12182);
2279 } 2281 }
2280 dasm_put(Dst, 12187); 2282 dasm_put(Dst, 12189);
2281 break; 2283 break;
2282 2284
2283 /* -- Binary ops -------------------------------------------------------- */ 2285 /* -- Binary ops -------------------------------------------------------- */
@@ -2285,620 +2287,620 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2285 2287
2286 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2288 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2287 if (LJ_DUALNUM) { 2289 if (LJ_DUALNUM) {
2288 dasm_put(Dst, 12200); 2290 dasm_put(Dst, 12202);
2289 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2291 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2290 switch (vk) { 2292 switch (vk) {
2291 case 0: 2293 case 0:
2292 dasm_put(Dst, 12208, LJ_TISNUM, LJ_TISNUM); 2294 dasm_put(Dst, 12210, LJ_TISNUM, LJ_TISNUM);
2293 break; 2295 break;
2294 case 1: 2296 case 1:
2295 dasm_put(Dst, 12241, LJ_TISNUM, LJ_TISNUM); 2297 dasm_put(Dst, 12243, LJ_TISNUM, LJ_TISNUM);
2296 break; 2298 break;
2297 default: 2299 default:
2298 dasm_put(Dst, 12274, LJ_TISNUM, LJ_TISNUM); 2300 dasm_put(Dst, 12276, LJ_TISNUM, LJ_TISNUM);
2299 break; 2301 break;
2300 } 2302 }
2301 dasm_put(Dst, 12307, LJ_TISNUM); 2303 dasm_put(Dst, 12309, LJ_TISNUM);
2302 if (vk == 1) { 2304 if (vk == 1) {
2303 dasm_put(Dst, 12103); 2305 dasm_put(Dst, 12105);
2304 } else { 2306 } else {
2305 dasm_put(Dst, 11881); 2307 dasm_put(Dst, 11883);
2306 } 2308 }
2307 dasm_put(Dst, 11203); 2309 dasm_put(Dst, 11205);
2308 } else { 2310 } else {
2309 dasm_put(Dst, 12200); 2311 dasm_put(Dst, 12202);
2310 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2312 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2311 switch (vk) { 2313 switch (vk) {
2312 case 0: 2314 case 0:
2313 dasm_put(Dst, 12313, LJ_TISNUM); 2315 dasm_put(Dst, 12315, LJ_TISNUM);
2314 if (LJ_DUALNUM) { 2316 if (LJ_DUALNUM) {
2315 dasm_put(Dst, 12325, LJ_TISNUM); 2317 dasm_put(Dst, 12327, LJ_TISNUM);
2316 } 2318 }
2317 if (sse) { 2319 if (sse) {
2318 dasm_put(Dst, 12336); 2320 dasm_put(Dst, 12338);
2319 } else { 2321 } else {
2320 dasm_put(Dst, 12350); 2322 dasm_put(Dst, 12352);
2321 } 2323 }
2322 break; 2324 break;
2323 case 1: 2325 case 1:
2324 dasm_put(Dst, 12358, LJ_TISNUM); 2326 dasm_put(Dst, 12360, LJ_TISNUM);
2325 if (LJ_DUALNUM) { 2327 if (LJ_DUALNUM) {
2326 dasm_put(Dst, 12370, LJ_TISNUM); 2328 dasm_put(Dst, 12372, LJ_TISNUM);
2327 } 2329 }
2328 if (sse) { 2330 if (sse) {
2329 dasm_put(Dst, 12381); 2331 dasm_put(Dst, 12383);
2330 } else { 2332 } else {
2331 dasm_put(Dst, 12395); 2333 dasm_put(Dst, 12397);
2332 } 2334 }
2333 break; 2335 break;
2334 default: 2336 default:
2335 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2337 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2336 if (sse) { 2338 if (sse) {
2337 dasm_put(Dst, 12425); 2339 dasm_put(Dst, 12427);
2338 } else { 2340 } else {
2339 dasm_put(Dst, 12439); 2341 dasm_put(Dst, 12441);
2340 } 2342 }
2341 break; 2343 break;
2342 } 2344 }
2343 if (sse) { 2345 if (sse) {
2344 dasm_put(Dst, 12063); 2346 dasm_put(Dst, 12065);
2345 } else { 2347 } else {
2346 dasm_put(Dst, 12075); 2348 dasm_put(Dst, 12077);
2347 } 2349 }
2348 dasm_put(Dst, 11203); 2350 dasm_put(Dst, 11205);
2349 } 2351 }
2350 break; 2352 break;
2351 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2353 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2352 if (LJ_DUALNUM) { 2354 if (LJ_DUALNUM) {
2353 dasm_put(Dst, 12200); 2355 dasm_put(Dst, 12202);
2354 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2356 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2355 switch (vk) { 2357 switch (vk) {
2356 case 0: 2358 case 0:
2357 dasm_put(Dst, 12447, LJ_TISNUM, LJ_TISNUM); 2359 dasm_put(Dst, 12449, LJ_TISNUM, LJ_TISNUM);
2358 break; 2360 break;
2359 case 1: 2361 case 1:
2360 dasm_put(Dst, 12480, LJ_TISNUM, LJ_TISNUM); 2362 dasm_put(Dst, 12482, LJ_TISNUM, LJ_TISNUM);
2361 break; 2363 break;
2362 default: 2364 default:
2363 dasm_put(Dst, 12513, LJ_TISNUM, LJ_TISNUM); 2365 dasm_put(Dst, 12515, LJ_TISNUM, LJ_TISNUM);
2364 break; 2366 break;
2365 } 2367 }
2366 dasm_put(Dst, 12307, LJ_TISNUM); 2368 dasm_put(Dst, 12309, LJ_TISNUM);
2367 if (vk == 1) { 2369 if (vk == 1) {
2368 dasm_put(Dst, 12103); 2370 dasm_put(Dst, 12105);
2369 } else { 2371 } else {
2370 dasm_put(Dst, 11881); 2372 dasm_put(Dst, 11883);
2371 } 2373 }
2372 dasm_put(Dst, 11203); 2374 dasm_put(Dst, 11205);
2373 } else { 2375 } else {
2374 dasm_put(Dst, 12200); 2376 dasm_put(Dst, 12202);
2375 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2377 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2376 switch (vk) { 2378 switch (vk) {
2377 case 0: 2379 case 0:
2378 dasm_put(Dst, 12313, LJ_TISNUM); 2380 dasm_put(Dst, 12315, LJ_TISNUM);
2379 if (LJ_DUALNUM) { 2381 if (LJ_DUALNUM) {
2380 dasm_put(Dst, 12325, LJ_TISNUM); 2382 dasm_put(Dst, 12327, LJ_TISNUM);
2381 } 2383 }
2382 if (sse) { 2384 if (sse) {
2383 dasm_put(Dst, 12546); 2385 dasm_put(Dst, 12548);
2384 } else { 2386 } else {
2385 dasm_put(Dst, 12560); 2387 dasm_put(Dst, 12562);
2386 } 2388 }
2387 break; 2389 break;
2388 case 1: 2390 case 1:
2389 dasm_put(Dst, 12358, LJ_TISNUM); 2391 dasm_put(Dst, 12360, LJ_TISNUM);
2390 if (LJ_DUALNUM) { 2392 if (LJ_DUALNUM) {
2391 dasm_put(Dst, 12370, LJ_TISNUM); 2393 dasm_put(Dst, 12372, LJ_TISNUM);
2392 } 2394 }
2393 if (sse) { 2395 if (sse) {
2394 dasm_put(Dst, 12568); 2396 dasm_put(Dst, 12570);
2395 } else { 2397 } else {
2396 dasm_put(Dst, 12582); 2398 dasm_put(Dst, 12584);
2397 } 2399 }
2398 break; 2400 break;
2399 default: 2401 default:
2400 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2402 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2401 if (sse) { 2403 if (sse) {
2402 dasm_put(Dst, 12590); 2404 dasm_put(Dst, 12592);
2403 } else { 2405 } else {
2404 dasm_put(Dst, 12604); 2406 dasm_put(Dst, 12606);
2405 } 2407 }
2406 break; 2408 break;
2407 } 2409 }
2408 if (sse) { 2410 if (sse) {
2409 dasm_put(Dst, 12063); 2411 dasm_put(Dst, 12065);
2410 } else { 2412 } else {
2411 dasm_put(Dst, 12075); 2413 dasm_put(Dst, 12077);
2412 } 2414 }
2413 dasm_put(Dst, 11203); 2415 dasm_put(Dst, 11205);
2414 } 2416 }
2415 break; 2417 break;
2416 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2418 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2417 if (LJ_DUALNUM) { 2419 if (LJ_DUALNUM) {
2418 dasm_put(Dst, 12200); 2420 dasm_put(Dst, 12202);
2419 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2421 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2420 switch (vk) { 2422 switch (vk) {
2421 case 0: 2423 case 0:
2422 dasm_put(Dst, 12612, LJ_TISNUM, LJ_TISNUM); 2424 dasm_put(Dst, 12614, LJ_TISNUM, LJ_TISNUM);
2423 break; 2425 break;
2424 case 1: 2426 case 1:
2425 dasm_put(Dst, 12646, LJ_TISNUM, LJ_TISNUM); 2427 dasm_put(Dst, 12648, LJ_TISNUM, LJ_TISNUM);
2426 break; 2428 break;
2427 default: 2429 default:
2428 dasm_put(Dst, 12680, LJ_TISNUM, LJ_TISNUM); 2430 dasm_put(Dst, 12682, LJ_TISNUM, LJ_TISNUM);
2429 break; 2431 break;
2430 } 2432 }
2431 dasm_put(Dst, 12307, LJ_TISNUM); 2433 dasm_put(Dst, 12309, LJ_TISNUM);
2432 if (vk == 1) { 2434 if (vk == 1) {
2433 dasm_put(Dst, 12103); 2435 dasm_put(Dst, 12105);
2434 } else { 2436 } else {
2435 dasm_put(Dst, 11881); 2437 dasm_put(Dst, 11883);
2436 } 2438 }
2437 dasm_put(Dst, 11203); 2439 dasm_put(Dst, 11205);
2438 } else { 2440 } else {
2439 dasm_put(Dst, 12200); 2441 dasm_put(Dst, 12202);
2440 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2442 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2441 switch (vk) { 2443 switch (vk) {
2442 case 0: 2444 case 0:
2443 dasm_put(Dst, 12313, LJ_TISNUM); 2445 dasm_put(Dst, 12315, LJ_TISNUM);
2444 if (LJ_DUALNUM) { 2446 if (LJ_DUALNUM) {
2445 dasm_put(Dst, 12325, LJ_TISNUM); 2447 dasm_put(Dst, 12327, LJ_TISNUM);
2446 } 2448 }
2447 if (sse) { 2449 if (sse) {
2448 dasm_put(Dst, 12714); 2450 dasm_put(Dst, 12716);
2449 } else { 2451 } else {
2450 dasm_put(Dst, 12728); 2452 dasm_put(Dst, 12730);
2451 } 2453 }
2452 break; 2454 break;
2453 case 1: 2455 case 1:
2454 dasm_put(Dst, 12358, LJ_TISNUM); 2456 dasm_put(Dst, 12360, LJ_TISNUM);
2455 if (LJ_DUALNUM) { 2457 if (LJ_DUALNUM) {
2456 dasm_put(Dst, 12370, LJ_TISNUM); 2458 dasm_put(Dst, 12372, LJ_TISNUM);
2457 } 2459 }
2458 if (sse) { 2460 if (sse) {
2459 dasm_put(Dst, 12736); 2461 dasm_put(Dst, 12738);
2460 } else { 2462 } else {
2461 dasm_put(Dst, 12750); 2463 dasm_put(Dst, 12752);
2462 } 2464 }
2463 break; 2465 break;
2464 default: 2466 default:
2465 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2467 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2466 if (sse) { 2468 if (sse) {
2467 dasm_put(Dst, 12758); 2469 dasm_put(Dst, 12760);
2468 } else { 2470 } else {
2469 dasm_put(Dst, 12772); 2471 dasm_put(Dst, 12774);
2470 } 2472 }
2471 break; 2473 break;
2472 } 2474 }
2473 if (sse) { 2475 if (sse) {
2474 dasm_put(Dst, 12063); 2476 dasm_put(Dst, 12065);
2475 } else { 2477 } else {
2476 dasm_put(Dst, 12075); 2478 dasm_put(Dst, 12077);
2477 } 2479 }
2478 dasm_put(Dst, 11203); 2480 dasm_put(Dst, 11205);
2479 } 2481 }
2480 break; 2482 break;
2481 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2483 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2482 dasm_put(Dst, 12200); 2484 dasm_put(Dst, 12202);
2483 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2485 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2484 switch (vk) { 2486 switch (vk) {
2485 case 0: 2487 case 0:
2486 dasm_put(Dst, 12313, LJ_TISNUM); 2488 dasm_put(Dst, 12315, LJ_TISNUM);
2487 if (LJ_DUALNUM) { 2489 if (LJ_DUALNUM) {
2488 dasm_put(Dst, 12325, LJ_TISNUM); 2490 dasm_put(Dst, 12327, LJ_TISNUM);
2489 } 2491 }
2490 if (sse) { 2492 if (sse) {
2491 dasm_put(Dst, 12780); 2493 dasm_put(Dst, 12782);
2492 } else { 2494 } else {
2493 dasm_put(Dst, 12794); 2495 dasm_put(Dst, 12796);
2494 } 2496 }
2495 break; 2497 break;
2496 case 1: 2498 case 1:
2497 dasm_put(Dst, 12358, LJ_TISNUM); 2499 dasm_put(Dst, 12360, LJ_TISNUM);
2498 if (LJ_DUALNUM) { 2500 if (LJ_DUALNUM) {
2499 dasm_put(Dst, 12370, LJ_TISNUM); 2501 dasm_put(Dst, 12372, LJ_TISNUM);
2500 } 2502 }
2501 if (sse) { 2503 if (sse) {
2502 dasm_put(Dst, 12802); 2504 dasm_put(Dst, 12804);
2503 } else { 2505 } else {
2504 dasm_put(Dst, 12816); 2506 dasm_put(Dst, 12818);
2505 } 2507 }
2506 break; 2508 break;
2507 default: 2509 default:
2508 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2510 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2509 if (sse) { 2511 if (sse) {
2510 dasm_put(Dst, 12824); 2512 dasm_put(Dst, 12826);
2511 } else { 2513 } else {
2512 dasm_put(Dst, 12838); 2514 dasm_put(Dst, 12840);
2513 } 2515 }
2514 break; 2516 break;
2515 } 2517 }
2516 if (sse) { 2518 if (sse) {
2517 dasm_put(Dst, 12063); 2519 dasm_put(Dst, 12065);
2518 } else { 2520 } else {
2519 dasm_put(Dst, 12075); 2521 dasm_put(Dst, 12077);
2520 } 2522 }
2521 dasm_put(Dst, 11203); 2523 dasm_put(Dst, 11205);
2522 break; 2524 break;
2523 case BC_MODVN: 2525 case BC_MODVN:
2524 dasm_put(Dst, 12200); 2526 dasm_put(Dst, 12202);
2525 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2527 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2526 switch (vk) { 2528 switch (vk) {
2527 case 0: 2529 case 0:
2528 dasm_put(Dst, 12313, LJ_TISNUM); 2530 dasm_put(Dst, 12315, LJ_TISNUM);
2529 if (LJ_DUALNUM) { 2531 if (LJ_DUALNUM) {
2530 dasm_put(Dst, 12325, LJ_TISNUM); 2532 dasm_put(Dst, 12327, LJ_TISNUM);
2531 } 2533 }
2532 if (sse) { 2534 if (sse) {
2533 dasm_put(Dst, 12846); 2535 dasm_put(Dst, 12848);
2534 } else { 2536 } else {
2535 dasm_put(Dst, 12860); 2537 dasm_put(Dst, 12862);
2536 } 2538 }
2537 break; 2539 break;
2538 case 1: 2540 case 1:
2539 dasm_put(Dst, 12358, LJ_TISNUM); 2541 dasm_put(Dst, 12360, LJ_TISNUM);
2540 if (LJ_DUALNUM) { 2542 if (LJ_DUALNUM) {
2541 dasm_put(Dst, 12370, LJ_TISNUM); 2543 dasm_put(Dst, 12372, LJ_TISNUM);
2542 } 2544 }
2543 if (sse) { 2545 if (sse) {
2544 dasm_put(Dst, 12868); 2546 dasm_put(Dst, 12870);
2545 } else { 2547 } else {
2546 dasm_put(Dst, 12882); 2548 dasm_put(Dst, 12884);
2547 } 2549 }
2548 break; 2550 break;
2549 default: 2551 default:
2550 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2552 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2551 if (sse) { 2553 if (sse) {
2552 dasm_put(Dst, 12890); 2554 dasm_put(Dst, 12892);
2553 } else { 2555 } else {
2554 dasm_put(Dst, 12904); 2556 dasm_put(Dst, 12906);
2555 } 2557 }
2556 break; 2558 break;
2557 } 2559 }
2558 dasm_put(Dst, 12912); 2560 dasm_put(Dst, 12914);
2559 if (sse) { 2561 if (sse) {
2560 dasm_put(Dst, 12063); 2562 dasm_put(Dst, 12065);
2561 } else { 2563 } else {
2562 dasm_put(Dst, 12075); 2564 dasm_put(Dst, 12077);
2563 } 2565 }
2564 dasm_put(Dst, 11203); 2566 dasm_put(Dst, 11205);
2565 break; 2567 break;
2566 case BC_MODNV: case BC_MODVV: 2568 case BC_MODNV: case BC_MODVV:
2567 dasm_put(Dst, 12200); 2569 dasm_put(Dst, 12202);
2568 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2570 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2569 switch (vk) { 2571 switch (vk) {
2570 case 0: 2572 case 0:
2571 dasm_put(Dst, 12313, LJ_TISNUM); 2573 dasm_put(Dst, 12315, LJ_TISNUM);
2572 if (LJ_DUALNUM) { 2574 if (LJ_DUALNUM) {
2573 dasm_put(Dst, 12325, LJ_TISNUM); 2575 dasm_put(Dst, 12327, LJ_TISNUM);
2574 } 2576 }
2575 if (sse) { 2577 if (sse) {
2576 dasm_put(Dst, 12846); 2578 dasm_put(Dst, 12848);
2577 } else { 2579 } else {
2578 dasm_put(Dst, 12860); 2580 dasm_put(Dst, 12862);
2579 } 2581 }
2580 break; 2582 break;
2581 case 1: 2583 case 1:
2582 dasm_put(Dst, 12358, LJ_TISNUM); 2584 dasm_put(Dst, 12360, LJ_TISNUM);
2583 if (LJ_DUALNUM) { 2585 if (LJ_DUALNUM) {
2584 dasm_put(Dst, 12370, LJ_TISNUM); 2586 dasm_put(Dst, 12372, LJ_TISNUM);
2585 } 2587 }
2586 if (sse) { 2588 if (sse) {
2587 dasm_put(Dst, 12868); 2589 dasm_put(Dst, 12870);
2588 } else { 2590 } else {
2589 dasm_put(Dst, 12882); 2591 dasm_put(Dst, 12884);
2590 } 2592 }
2591 break; 2593 break;
2592 default: 2594 default:
2593 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2595 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2594 if (sse) { 2596 if (sse) {
2595 dasm_put(Dst, 12890); 2597 dasm_put(Dst, 12892);
2596 } else { 2598 } else {
2597 dasm_put(Dst, 12904); 2599 dasm_put(Dst, 12906);
2598 } 2600 }
2599 break; 2601 break;
2600 } 2602 }
2601 dasm_put(Dst, 12918); 2603 dasm_put(Dst, 12920);
2602 break; 2604 break;
2603 case BC_POW: 2605 case BC_POW:
2604 dasm_put(Dst, 12200); 2606 dasm_put(Dst, 12202);
2605 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2607 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2606 switch (vk) { 2608 switch (vk) {
2607 case 0: 2609 case 0:
2608 dasm_put(Dst, 12313, LJ_TISNUM); 2610 dasm_put(Dst, 12315, LJ_TISNUM);
2609 if (LJ_DUALNUM) { 2611 if (LJ_DUALNUM) {
2610 dasm_put(Dst, 12325, LJ_TISNUM); 2612 dasm_put(Dst, 12327, LJ_TISNUM);
2611 } 2613 }
2612 if (sse) { 2614 if (sse) {
2613 dasm_put(Dst, 12846); 2615 dasm_put(Dst, 12848);
2614 } else { 2616 } else {
2615 dasm_put(Dst, 12860); 2617 dasm_put(Dst, 12862);
2616 } 2618 }
2617 break; 2619 break;
2618 case 1: 2620 case 1:
2619 dasm_put(Dst, 12358, LJ_TISNUM); 2621 dasm_put(Dst, 12360, LJ_TISNUM);
2620 if (LJ_DUALNUM) { 2622 if (LJ_DUALNUM) {
2621 dasm_put(Dst, 12370, LJ_TISNUM); 2623 dasm_put(Dst, 12372, LJ_TISNUM);
2622 } 2624 }
2623 if (sse) { 2625 if (sse) {
2624 dasm_put(Dst, 12868); 2626 dasm_put(Dst, 12870);
2625 } else { 2627 } else {
2626 dasm_put(Dst, 12882); 2628 dasm_put(Dst, 12884);
2627 } 2629 }
2628 break; 2630 break;
2629 default: 2631 default:
2630 dasm_put(Dst, 12403, LJ_TISNUM, LJ_TISNUM); 2632 dasm_put(Dst, 12405, LJ_TISNUM, LJ_TISNUM);
2631 if (sse) { 2633 if (sse) {
2632 dasm_put(Dst, 12890); 2634 dasm_put(Dst, 12892);
2633 } else { 2635 } else {
2634 dasm_put(Dst, 12904); 2636 dasm_put(Dst, 12906);
2635 } 2637 }
2636 break; 2638 break;
2637 } 2639 }
2638 dasm_put(Dst, 12923); 2640 dasm_put(Dst, 12925);
2639 if (sse) { 2641 if (sse) {
2640 dasm_put(Dst, 12063); 2642 dasm_put(Dst, 12065);
2641 } else { 2643 } else {
2642 dasm_put(Dst, 12075); 2644 dasm_put(Dst, 12077);
2643 } 2645 }
2644 dasm_put(Dst, 11203); 2646 dasm_put(Dst, 11205);
2645 break; 2647 break;
2646 2648
2647 case BC_CAT: 2649 case BC_CAT:
2648 dasm_put(Dst, 12927, Dt1(->base), Dt1(->base)); 2650 dasm_put(Dst, 12929, Dt1(->base), Dt1(->base));
2649 break; 2651 break;
2650 2652
2651 /* -- Constant ops ------------------------------------------------------ */ 2653 /* -- Constant ops ------------------------------------------------------ */
2652 2654
2653 case BC_KSTR: 2655 case BC_KSTR:
2654 dasm_put(Dst, 13021, LJ_TSTR); 2656 dasm_put(Dst, 13023, LJ_TSTR);
2655 break; 2657 break;
2656 case BC_KCDATA: 2658 case BC_KCDATA:
2657#if LJ_HASFFI 2659#if LJ_HASFFI
2658 dasm_put(Dst, 13021, LJ_TCDATA); 2660 dasm_put(Dst, 13023, LJ_TCDATA);
2659#endif 2661#endif
2660 break; 2662 break;
2661 case BC_KSHORT: 2663 case BC_KSHORT:
2662 if (LJ_DUALNUM) { 2664 if (LJ_DUALNUM) {
2663 dasm_put(Dst, 13054, LJ_TISNUM); 2665 dasm_put(Dst, 13056, LJ_TISNUM);
2664 } else if (sse) { 2666 } else if (sse) {
2665 dasm_put(Dst, 13066); 2667 dasm_put(Dst, 13068);
2666 } else { 2668 } else {
2667 dasm_put(Dst, 13081); 2669 dasm_put(Dst, 13083);
2668 } 2670 }
2669 dasm_put(Dst, 11203); 2671 dasm_put(Dst, 11205);
2670 break; 2672 break;
2671 case BC_KNUM: 2673 case BC_KNUM:
2672 if (sse) { 2674 if (sse) {
2673 dasm_put(Dst, 13089); 2675 dasm_put(Dst, 13091);
2674 } else { 2676 } else {
2675 dasm_put(Dst, 13102); 2677 dasm_put(Dst, 13104);
2676 } 2678 }
2677 dasm_put(Dst, 11203); 2679 dasm_put(Dst, 11205);
2678 break; 2680 break;
2679 case BC_KPRI: 2681 case BC_KPRI:
2680 dasm_put(Dst, 13109); 2682 dasm_put(Dst, 13111);
2681 break; 2683 break;
2682 case BC_KNIL: 2684 case BC_KNIL:
2683 dasm_put(Dst, 13135, LJ_TNIL); 2685 dasm_put(Dst, 13137, LJ_TNIL);
2684 break; 2686 break;
2685 2687
2686 /* -- Upvalue and function ops ------------------------------------------ */ 2688 /* -- Upvalue and function ops ------------------------------------------ */
2687 2689
2688 case BC_UGET: 2690 case BC_UGET:
2689 dasm_put(Dst, 13181, offsetof(GCfuncL, uvptr), DtA(->v)); 2691 dasm_put(Dst, 13183, offsetof(GCfuncL, uvptr), DtA(->v));
2690 break; 2692 break;
2691 case BC_USETV: 2693 case BC_USETV:
2692#define TV2MARKOFS \ 2694#define TV2MARKOFS \
2693 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2695 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2694 dasm_put(Dst, 13225, 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); 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);
2695 dasm_put(Dst, 13315); 2697 dasm_put(Dst, 13317);
2696 break; 2698 break;
2697#undef TV2MARKOFS 2699#undef TV2MARKOFS
2698 case BC_USETS: 2700 case BC_USETS:
2699 dasm_put(Dst, 13327, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 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);
2700 break; 2702 break;
2701 case BC_USETN: 2703 case BC_USETN:
2702 dasm_put(Dst, 13418); 2704 dasm_put(Dst, 13420);
2703 if (sse) { 2705 if (sse) {
2704 dasm_put(Dst, 13423); 2706 dasm_put(Dst, 13425);
2705 } else { 2707 } else {
2706 dasm_put(Dst, 11713); 2708 dasm_put(Dst, 11715);
2707 } 2709 }
2708 dasm_put(Dst, 13430, offsetof(GCfuncL, uvptr), DtA(->v)); 2710 dasm_put(Dst, 13432, offsetof(GCfuncL, uvptr), DtA(->v));
2709 if (sse) { 2711 if (sse) {
2710 dasm_put(Dst, 13439); 2712 dasm_put(Dst, 13441);
2711 } else { 2713 } else {
2712 dasm_put(Dst, 13445); 2714 dasm_put(Dst, 13447);
2713 } 2715 }
2714 dasm_put(Dst, 11203); 2716 dasm_put(Dst, 11205);
2715 break; 2717 break;
2716 case BC_USETP: 2718 case BC_USETP:
2717 dasm_put(Dst, 13448, offsetof(GCfuncL, uvptr), DtA(->v)); 2719 dasm_put(Dst, 13450, offsetof(GCfuncL, uvptr), DtA(->v));
2718 break; 2720 break;
2719 case BC_UCLO: 2721 case BC_UCLO:
2720 dasm_put(Dst, 13485, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2722 dasm_put(Dst, 13487, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2721 break; 2723 break;
2722 2724
2723 case BC_FNEW: 2725 case BC_FNEW:
2724 dasm_put(Dst, 13539, Dt1(->base), Dt1(->base), LJ_TFUNC); 2726 dasm_put(Dst, 13541, Dt1(->base), Dt1(->base), LJ_TFUNC);
2725 break; 2727 break;
2726 2728
2727 /* -- Table ops --------------------------------------------------------- */ 2729 /* -- Table ops --------------------------------------------------------- */
2728 2730
2729 case BC_TNEW: 2731 case BC_TNEW:
2730 dasm_put(Dst, 13610, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2732 dasm_put(Dst, 13612, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2731 break; 2733 break;
2732 case BC_TDUP: 2734 case BC_TDUP:
2733 dasm_put(Dst, 13736, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2735 dasm_put(Dst, 13738, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2734 break; 2736 break;
2735 2737
2736 case BC_GGET: 2738 case BC_GGET:
2737 dasm_put(Dst, 13828, Dt7(->env)); 2739 dasm_put(Dst, 13830, Dt7(->env));
2738 break; 2740 break;
2739 case BC_GSET: 2741 case BC_GSET:
2740 dasm_put(Dst, 13846, Dt7(->env)); 2742 dasm_put(Dst, 13848, Dt7(->env));
2741 break; 2743 break;
2742 2744
2743 case BC_TGETV: 2745 case BC_TGETV:
2744 dasm_put(Dst, 13864, LJ_TTAB); 2746 dasm_put(Dst, 13866, LJ_TTAB);
2745 if (LJ_DUALNUM) { 2747 if (LJ_DUALNUM) {
2746 dasm_put(Dst, 13887, LJ_TISNUM); 2748 dasm_put(Dst, 13889, LJ_TISNUM);
2747 } else { 2749 } else {
2748 dasm_put(Dst, 13901, LJ_TISNUM); 2750 dasm_put(Dst, 13903, LJ_TISNUM);
2749 if (sse) { 2751 if (sse) {
2750 dasm_put(Dst, 13912); 2752 dasm_put(Dst, 13914);
2751 } else { 2753 } else {
2752 dasm_put(Dst, 13933); 2754 dasm_put(Dst, 13935);
2753 if (cmov) { 2755 if (cmov) {
2754 dasm_put(Dst, 3899); 2756 dasm_put(Dst, 3901);
2755 } else { 2757 } else {
2756 dasm_put(Dst, 3905); 2758 dasm_put(Dst, 3907);
2757 } 2759 }
2758 dasm_put(Dst, 2635); 2760 dasm_put(Dst, 2637);
2759 } 2761 }
2760 dasm_put(Dst, 13943); 2762 dasm_put(Dst, 13945);
2761 } 2763 }
2762 dasm_put(Dst, 13948, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2764 dasm_put(Dst, 13950, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2763 dasm_put(Dst, 14043, LJ_TSTR); 2765 dasm_put(Dst, 14045, LJ_TSTR);
2764 break; 2766 break;
2765 case BC_TGETS: 2767 case BC_TGETS:
2766 dasm_put(Dst, 14061, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 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);
2767 dasm_put(Dst, 14149, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2769 dasm_put(Dst, 14151, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2768 break; 2770 break;
2769 case BC_TGETB: 2771 case BC_TGETB:
2770 dasm_put(Dst, 14219, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2772 dasm_put(Dst, 14221, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2771 dasm_put(Dst, 14318, LJ_TNIL); 2773 dasm_put(Dst, 14320, LJ_TNIL);
2772 break; 2774 break;
2773 2775
2774 case BC_TSETV: 2776 case BC_TSETV:
2775 dasm_put(Dst, 14335, LJ_TTAB); 2777 dasm_put(Dst, 14337, LJ_TTAB);
2776 if (LJ_DUALNUM) { 2778 if (LJ_DUALNUM) {
2777 dasm_put(Dst, 13887, LJ_TISNUM); 2779 dasm_put(Dst, 13889, LJ_TISNUM);
2778 } else { 2780 } else {
2779 dasm_put(Dst, 13901, LJ_TISNUM); 2781 dasm_put(Dst, 13903, LJ_TISNUM);
2780 if (sse) { 2782 if (sse) {
2781 dasm_put(Dst, 13912); 2783 dasm_put(Dst, 13914);
2782 } else { 2784 } else {
2783 dasm_put(Dst, 13933); 2785 dasm_put(Dst, 13935);
2784 if (cmov) { 2786 if (cmov) {
2785 dasm_put(Dst, 3899); 2787 dasm_put(Dst, 3901);
2786 } else { 2788 } else {
2787 dasm_put(Dst, 3905); 2789 dasm_put(Dst, 3907);
2788 } 2790 }
2789 dasm_put(Dst, 2635); 2791 dasm_put(Dst, 2637);
2790 } 2792 }
2791 dasm_put(Dst, 14358); 2793 dasm_put(Dst, 14360);
2792 } 2794 }
2793 dasm_put(Dst, 14363, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 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);
2794 dasm_put(Dst, 14447, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2796 dasm_put(Dst, 14449, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2795 break; 2797 break;
2796 case BC_TSETS: 2798 case BC_TSETS:
2797 dasm_put(Dst, 14504, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 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);
2798 dasm_put(Dst, 14579, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2800 dasm_put(Dst, 14581, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2799 dasm_put(Dst, 14671, 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)); 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));
2800 break; 2802 break;
2801 case BC_TSETB: 2803 case BC_TSETB:
2802 dasm_put(Dst, 14767, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2804 dasm_put(Dst, 14769, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2803 dasm_put(Dst, 14865, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 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));
2804 break; 2806 break;
2805 2807
2806 case BC_TSETM: 2808 case BC_TSETM:
2807 dasm_put(Dst, 14911, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2809 dasm_put(Dst, 14913, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2808 dasm_put(Dst, 15060, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2810 dasm_put(Dst, 15062, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2809 break; 2811 break;
2810 2812
2811 /* -- Calls and vararg handling ----------------------------------------- */ 2813 /* -- Calls and vararg handling ----------------------------------------- */
2812 2814
2813 case BC_CALL: case BC_CALLM: 2815 case BC_CALL: case BC_CALLM:
2814 dasm_put(Dst, 12204); 2816 dasm_put(Dst, 12206);
2815 if (op == BC_CALLM) { 2817 if (op == BC_CALLM) {
2816 dasm_put(Dst, 15078); 2818 dasm_put(Dst, 15080);
2817 } 2819 }
2818 dasm_put(Dst, 15083, LJ_TFUNC, Dt7(->pc)); 2820 dasm_put(Dst, 15085, LJ_TFUNC, Dt7(->pc));
2819 break; 2821 break;
2820 2822
2821 case BC_CALLMT: 2823 case BC_CALLMT:
2822 dasm_put(Dst, 15078); 2824 dasm_put(Dst, 15080);
2823 break; 2825 break;
2824 case BC_CALLT: 2826 case BC_CALLT:
2825 dasm_put(Dst, 15124, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2827 dasm_put(Dst, 15126, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2826 dasm_put(Dst, 15242, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2828 dasm_put(Dst, 15244, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2827 break; 2829 break;
2828 2830
2829 case BC_ITERC: 2831 case BC_ITERC:
2830 dasm_put(Dst, 15312, LJ_TFUNC, 2+1, Dt7(->pc)); 2832 dasm_put(Dst, 15314, LJ_TFUNC, 2+1, Dt7(->pc));
2831 break; 2833 break;
2832 2834
2833 case BC_ITERN: 2835 case BC_ITERN:
2834#if LJ_HASJIT 2836#if LJ_HASJIT
2835#endif 2837#endif
2836 dasm_put(Dst, 15392, Dt6(->asize), Dt6(->array), LJ_TNIL); 2838 dasm_put(Dst, 15394, Dt6(->asize), Dt6(->array), LJ_TNIL);
2837 if (LJ_DUALNUM) { 2839 if (LJ_DUALNUM) {
2838 dasm_put(Dst, 12098, LJ_TISNUM); 2840 dasm_put(Dst, 12100, LJ_TISNUM);
2839 } else if (sse) { 2841 } else if (sse) {
2840 dasm_put(Dst, 12174); 2842 dasm_put(Dst, 12176);
2841 } else { 2843 } else {
2842 dasm_put(Dst, 15438); 2844 dasm_put(Dst, 15440);
2843 } 2845 }
2844 dasm_put(Dst, 15444); 2846 dasm_put(Dst, 15446);
2845 if (LJ_DUALNUM) { 2847 if (LJ_DUALNUM) {
2846 } else if (sse) { 2848 } else if (sse) {
2847 dasm_put(Dst, 12063); 2849 dasm_put(Dst, 12065);
2848 } else { 2850 } else {
2849 dasm_put(Dst, 12075); 2851 dasm_put(Dst, 12077);
2850 } 2852 }
2851 dasm_put(Dst, 15463, -BCBIAS_J*4); 2853 dasm_put(Dst, 15465, -BCBIAS_J*4);
2852 if (!LJ_DUALNUM && !sse) { 2854 if (!LJ_DUALNUM && !sse) {
2853 dasm_put(Dst, 15514); 2855 dasm_put(Dst, 15516);
2854 } 2856 }
2855 dasm_put(Dst, 15520, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); 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));
2856 dasm_put(Dst, 15595); 2858 dasm_put(Dst, 15597);
2857 break; 2859 break;
2858 2860
2859 case BC_ISNEXT: 2861 case BC_ISNEXT:
2860 dasm_put(Dst, 15603, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 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);
2861 break; 2863 break;
2862 2864
2863 case BC_VARG: 2865 case BC_VARG:
2864 dasm_put(Dst, 15702, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2866 dasm_put(Dst, 15704, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2865 dasm_put(Dst, 15866, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2867 dasm_put(Dst, 15868, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2866 break; 2868 break;
2867 2869
2868 /* -- Returns ----------------------------------------------------------- */ 2870 /* -- Returns ----------------------------------------------------------- */
2869 2871
2870 case BC_RETM: 2872 case BC_RETM:
2871 dasm_put(Dst, 15078); 2873 dasm_put(Dst, 15080);
2872 break; 2874 break;
2873 2875
2874 case BC_RET: case BC_RET0: case BC_RET1: 2876 case BC_RET: case BC_RET0: case BC_RET1:
2875 if (op != BC_RET0) { 2877 if (op != BC_RET0) {
2876 dasm_put(Dst, 15937); 2878 dasm_put(Dst, 15939);
2877 } 2879 }
2878 dasm_put(Dst, 15941, FRAME_TYPE); 2880 dasm_put(Dst, 15943, FRAME_TYPE);
2879 switch (op) { 2881 switch (op) {
2880 case BC_RET: 2882 case BC_RET:
2881 dasm_put(Dst, 15960); 2883 dasm_put(Dst, 15962);
2882 break; 2884 break;
2883 case BC_RET1: 2885 case BC_RET1:
2884 dasm_put(Dst, 16018); 2886 dasm_put(Dst, 16020);
2885 /* fallthrough */ 2887 /* fallthrough */
2886 case BC_RET0: 2888 case BC_RET0:
2887 dasm_put(Dst, 16034); 2889 dasm_put(Dst, 16036);
2888 default: 2890 default:
2889 break; 2891 break;
2890 } 2892 }
2891 dasm_put(Dst, 16045, Dt7(->pc), PC2PROTO(k)); 2893 dasm_put(Dst, 16047, Dt7(->pc), PC2PROTO(k));
2892 if (op == BC_RET) { 2894 if (op == BC_RET) {
2893 dasm_put(Dst, 16087, LJ_TNIL); 2895 dasm_put(Dst, 16089, LJ_TNIL);
2894 } else { 2896 } else {
2895 dasm_put(Dst, 16096, LJ_TNIL); 2897 dasm_put(Dst, 16098, LJ_TNIL);
2896 } 2898 }
2897 dasm_put(Dst, 16103, -FRAME_VARG, FRAME_TYPEP); 2899 dasm_put(Dst, 16105, -FRAME_VARG, FRAME_TYPEP);
2898 if (op != BC_RET0) { 2900 if (op != BC_RET0) {
2899 dasm_put(Dst, 16127); 2901 dasm_put(Dst, 16129);
2900 } 2902 }
2901 dasm_put(Dst, 4883); 2903 dasm_put(Dst, 4885);
2902 break; 2904 break;
2903 2905
2904 /* -- Loops and branches ------------------------------------------------ */ 2906 /* -- Loops and branches ------------------------------------------------ */
@@ -2906,7 +2908,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2906 2908
2907 case BC_FORL: 2909 case BC_FORL:
2908#if LJ_HASJIT 2910#if LJ_HASJIT
2909 dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); 2911 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT);
2910#endif 2912#endif
2911 break; 2913 break;
2912 2914
@@ -2918,111 +2920,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2918 case BC_FORI: 2920 case BC_FORI:
2919 case BC_IFORL: 2921 case BC_IFORL:
2920 vk = (op == BC_IFORL || op == BC_JFORL); 2922 vk = (op == BC_IFORL || op == BC_JFORL);
2921 dasm_put(Dst, 16152); 2923 dasm_put(Dst, 16154);
2922 if (LJ_DUALNUM) { 2924 if (LJ_DUALNUM) {
2923 dasm_put(Dst, 16156, LJ_TISNUM); 2925 dasm_put(Dst, 16158, LJ_TISNUM);
2924 if (!vk) { 2926 if (!vk) {
2925 dasm_put(Dst, 16166, LJ_TISNUM, LJ_TISNUM); 2927 dasm_put(Dst, 16168, LJ_TISNUM, LJ_TISNUM);
2926 } else { 2928 } else {
2927#ifdef LUA_USE_ASSERT 2929#ifdef LUA_USE_ASSERT
2928 dasm_put(Dst, 16195, LJ_TISNUM, LJ_TISNUM); 2930 dasm_put(Dst, 16197, LJ_TISNUM, LJ_TISNUM);
2929#endif 2931#endif
2930 dasm_put(Dst, 16214); 2932 dasm_put(Dst, 16216);
2931 } 2933 }
2932 dasm_put(Dst, 16233, LJ_TISNUM); 2934 dasm_put(Dst, 16235, LJ_TISNUM);
2933 if (op == BC_FORI) { 2935 if (op == BC_FORI) {
2934 dasm_put(Dst, 16244, -BCBIAS_J*4); 2936 dasm_put(Dst, 16246, -BCBIAS_J*4);
2935 } else if (op == BC_JFORI) { 2937 } else if (op == BC_JFORI) {
2936 dasm_put(Dst, 16258, -BCBIAS_J*4, BC_JLOOP); 2938 dasm_put(Dst, 16260, -BCBIAS_J*4, BC_JLOOP);
2937 } else if (op == BC_IFORL) { 2939 } else if (op == BC_IFORL) {
2938 dasm_put(Dst, 16276, -BCBIAS_J*4); 2940 dasm_put(Dst, 16278, -BCBIAS_J*4);
2939 } else { 2941 } else {
2940 dasm_put(Dst, 16268, BC_JLOOP); 2942 dasm_put(Dst, 16270, BC_JLOOP);
2941 } 2943 }
2942 dasm_put(Dst, 16290); 2944 dasm_put(Dst, 16292);
2943 if (vk) { 2945 if (vk) {
2944 dasm_put(Dst, 16313); 2946 dasm_put(Dst, 16315);
2945 } 2947 }
2946 dasm_put(Dst, 16233, LJ_TISNUM); 2948 dasm_put(Dst, 16235, LJ_TISNUM);
2947 if (op == BC_FORI) { 2949 if (op == BC_FORI) {
2948 dasm_put(Dst, 16322); 2950 dasm_put(Dst, 16324);
2949 } else if (op == BC_JFORI) { 2951 } else if (op == BC_JFORI) {
2950 dasm_put(Dst, 16327, -BCBIAS_J*4, BC_JLOOP); 2952 dasm_put(Dst, 16329, -BCBIAS_J*4, BC_JLOOP);
2951 } else if (op == BC_IFORL) { 2953 } else if (op == BC_IFORL) {
2952 dasm_put(Dst, 16341); 2954 dasm_put(Dst, 16343);
2953 } else { 2955 } else {
2954 dasm_put(Dst, 16337, BC_JLOOP); 2956 dasm_put(Dst, 16339, BC_JLOOP);
2955 } 2957 }
2956 dasm_put(Dst, 16346); 2958 dasm_put(Dst, 16348);
2957 } else if (!vk) { 2959 } else if (!vk) {
2958 dasm_put(Dst, 16353, LJ_TISNUM); 2960 dasm_put(Dst, 16355, LJ_TISNUM);
2959 } 2961 }
2960 if (!vk) { 2962 if (!vk) {
2961 dasm_put(Dst, 16359, LJ_TISNUM); 2963 dasm_put(Dst, 16361, LJ_TISNUM);
2962 } else { 2964 } else {
2963#ifdef LUA_USE_ASSERT 2965#ifdef LUA_USE_ASSERT
2964 dasm_put(Dst, 16373, LJ_TISNUM, LJ_TISNUM); 2966 dasm_put(Dst, 16375, LJ_TISNUM, LJ_TISNUM);
2965#endif 2967#endif
2966 } 2968 }
2967 dasm_put(Dst, 16392); 2969 dasm_put(Dst, 16394);
2968 if (!vk) { 2970 if (!vk) {
2969 dasm_put(Dst, 16396, LJ_TISNUM); 2971 dasm_put(Dst, 16398, LJ_TISNUM);
2970 } 2972 }
2971 if (sse) { 2973 if (sse) {
2972 dasm_put(Dst, 16405); 2974 dasm_put(Dst, 16407);
2973 if (vk) { 2975 if (vk) {
2974 dasm_put(Dst, 16417); 2976 dasm_put(Dst, 16419);
2975 } else { 2977 } else {
2976 dasm_put(Dst, 16436); 2978 dasm_put(Dst, 16438);
2977 } 2979 }
2978 dasm_put(Dst, 16441); 2980 dasm_put(Dst, 16443);
2979 } else { 2981 } else {
2980 dasm_put(Dst, 16454); 2982 dasm_put(Dst, 16456);
2981 if (vk) { 2983 if (vk) {
2982 dasm_put(Dst, 16460); 2984 dasm_put(Dst, 16462);
2983 } else { 2985 } else {
2984 dasm_put(Dst, 16476); 2986 dasm_put(Dst, 16478);
2985 } 2987 }
2986 dasm_put(Dst, 16484); 2988 dasm_put(Dst, 16486);
2987 if (cmov) { 2989 if (cmov) {
2988 dasm_put(Dst, 3899); 2990 dasm_put(Dst, 3901);
2989 } else { 2991 } else {
2990 dasm_put(Dst, 3905); 2992 dasm_put(Dst, 3907);
2991 } 2993 }
2992 if (!cmov) { 2994 if (!cmov) {
2993 dasm_put(Dst, 16489); 2995 dasm_put(Dst, 16491);
2994 } 2996 }
2995 } 2997 }
2996 if (op == BC_FORI) { 2998 if (op == BC_FORI) {
2997 if (LJ_DUALNUM) { 2999 if (LJ_DUALNUM) {
2998 dasm_put(Dst, 16495); 3000 dasm_put(Dst, 16497);
2999 } else { 3001 } else {
3000 dasm_put(Dst, 16500, -BCBIAS_J*4); 3002 dasm_put(Dst, 16502, -BCBIAS_J*4);
3001 } 3003 }
3002 } else if (op == BC_JFORI) { 3004 } else if (op == BC_JFORI) {
3003 dasm_put(Dst, 16510, -BCBIAS_J*4, BC_JLOOP); 3005 dasm_put(Dst, 16512, -BCBIAS_J*4, BC_JLOOP);
3004 } else if (op == BC_IFORL) { 3006 } else if (op == BC_IFORL) {
3005 if (LJ_DUALNUM) { 3007 if (LJ_DUALNUM) {
3006 dasm_put(Dst, 16524); 3008 dasm_put(Dst, 16526);
3007 } else { 3009 } else {
3008 dasm_put(Dst, 16529, -BCBIAS_J*4); 3010 dasm_put(Dst, 16531, -BCBIAS_J*4);
3009 } 3011 }
3010 } else { 3012 } else {
3011 dasm_put(Dst, 16520, BC_JLOOP); 3013 dasm_put(Dst, 16522, BC_JLOOP);
3012 } 3014 }
3013 if (LJ_DUALNUM) { 3015 if (LJ_DUALNUM) {
3014 dasm_put(Dst, 11100); 3016 dasm_put(Dst, 11102);
3015 } else { 3017 } else {
3016 dasm_put(Dst, 11841); 3018 dasm_put(Dst, 11843);
3017 } 3019 }
3018 if (sse) { 3020 if (sse) {
3019 dasm_put(Dst, 16539); 3021 dasm_put(Dst, 16541);
3020 } 3022 }
3021 break; 3023 break;
3022 3024
3023 case BC_ITERL: 3025 case BC_ITERL:
3024#if LJ_HASJIT 3026#if LJ_HASJIT
3025 dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); 3027 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT);
3026#endif 3028#endif
3027 break; 3029 break;
3028 3030
@@ -3031,33 +3033,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3031 break; 3033 break;
3032#endif 3034#endif
3033 case BC_IITERL: 3035 case BC_IITERL:
3034 dasm_put(Dst, 16550, LJ_TNIL); 3036 dasm_put(Dst, 16552, LJ_TNIL);
3035 if (op == BC_JITERL) { 3037 if (op == BC_JITERL) {
3036 dasm_put(Dst, 16565, BC_JLOOP); 3038 dasm_put(Dst, 16567, BC_JLOOP);
3037 } else { 3039 } else {
3038 dasm_put(Dst, 16579, -BCBIAS_J*4); 3040 dasm_put(Dst, 16581, -BCBIAS_J*4);
3039 } 3041 }
3040 dasm_put(Dst, 11201); 3042 dasm_put(Dst, 11203);
3041 break; 3043 break;
3042 3044
3043 case BC_LOOP: 3045 case BC_LOOP:
3044#if LJ_HASJIT 3046#if LJ_HASJIT
3045 dasm_put(Dst, 16131, HOTCOUNT_PCMASK, GG_DISP2HOT); 3047 dasm_put(Dst, 16133, HOTCOUNT_PCMASK, GG_DISP2HOT);
3046#endif 3048#endif
3047 break; 3049 break;
3048 3050
3049 case BC_ILOOP: 3051 case BC_ILOOP:
3050 dasm_put(Dst, 11203); 3052 dasm_put(Dst, 11205);
3051 break; 3053 break;
3052 3054
3053 case BC_JLOOP: 3055 case BC_JLOOP:
3054#if LJ_HASJIT 3056#if LJ_HASJIT
3055 dasm_put(Dst, 16595, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 3057 dasm_put(Dst, 16597, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3056#endif 3058#endif
3057 break; 3059 break;
3058 3060
3059 case BC_JMP: 3061 case BC_JMP:
3060 dasm_put(Dst, 16618, -BCBIAS_J*4); 3062 dasm_put(Dst, 16620, -BCBIAS_J*4);
3061 break; 3063 break;
3062 3064
3063 /* -- Function headers -------------------------------------------------- */ 3065 /* -- Function headers -------------------------------------------------- */
@@ -3071,7 +3073,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3071 3073
3072 case BC_FUNCF: 3074 case BC_FUNCF:
3073#if LJ_HASJIT 3075#if LJ_HASJIT
3074 dasm_put(Dst, 16642, HOTCOUNT_PCMASK, GG_DISP2HOT); 3076 dasm_put(Dst, 16644, HOTCOUNT_PCMASK, GG_DISP2HOT);
3075#endif 3077#endif
3076 case BC_FUNCV: /* NYI: compiled vararg functions. */ 3078 case BC_FUNCV: /* NYI: compiled vararg functions. */
3077 break; 3079 break;
@@ -3081,47 +3083,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
3081 break; 3083 break;
3082#endif 3084#endif
3083 case BC_IFUNCF: 3085 case BC_IFUNCF:
3084 dasm_put(Dst, 16663, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 3086 dasm_put(Dst, 16665, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3085 if (op == BC_JFUNCF) { 3087 if (op == BC_JFUNCF) {
3086 dasm_put(Dst, 16693, BC_JLOOP); 3088 dasm_put(Dst, 16695, BC_JLOOP);
3087 } else { 3089 } else {
3088 dasm_put(Dst, 11203); 3090 dasm_put(Dst, 11205);
3089 } 3091 }
3090 dasm_put(Dst, 16702, LJ_TNIL); 3092 dasm_put(Dst, 16704, LJ_TNIL);
3091 break; 3093 break;
3092 3094
3093 case BC_JFUNCV: 3095 case BC_JFUNCV:
3094#if !LJ_HASJIT 3096#if !LJ_HASJIT
3095 break; 3097 break;
3096#endif 3098#endif
3097 dasm_put(Dst, 10303); 3099 dasm_put(Dst, 10305);
3098 break; /* NYI: compiled vararg functions. */ 3100 break; /* NYI: compiled vararg functions. */
3099 3101
3100 case BC_IFUNCV: 3102 case BC_IFUNCV:
3101 dasm_put(Dst, 16724, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 3103 dasm_put(Dst, 16726, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3102 if (op == BC_JFUNCV) { 3104 if (op == BC_JFUNCV) {
3103 dasm_put(Dst, 16693, BC_JLOOP); 3105 dasm_put(Dst, 16695, BC_JLOOP);
3104 } else { 3106 } else {
3105 dasm_put(Dst, 16815, -4+PC2PROTO(k)); 3107 dasm_put(Dst, 16817, -4+PC2PROTO(k));
3106 } 3108 }
3107 dasm_put(Dst, 16837, LJ_TNIL); 3109 dasm_put(Dst, 16839, LJ_TNIL);
3108 break; 3110 break;
3109 3111
3110 case BC_FUNCC: 3112 case BC_FUNCC:
3111 case BC_FUNCCW: 3113 case BC_FUNCCW:
3112 dasm_put(Dst, 16859, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 3114 dasm_put(Dst, 16861, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3113 if (op == BC_FUNCC) { 3115 if (op == BC_FUNCC) {
3114 dasm_put(Dst, 16888); 3116 dasm_put(Dst, 16890);
3115 } else { 3117 } else {
3116 dasm_put(Dst, 16892); 3118 dasm_put(Dst, 16894);
3117 } 3119 }
3118 dasm_put(Dst, 16900, DISPATCH_GL(vmstate), ~LJ_VMST_C); 3120 dasm_put(Dst, 16902, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3119 if (op == BC_FUNCC) { 3121 if (op == BC_FUNCC) {
3120 dasm_put(Dst, 16909); 3122 dasm_put(Dst, 16911);
3121 } else { 3123 } else {
3122 dasm_put(Dst, 16913, DISPATCH_GL(wrapf)); 3124 dasm_put(Dst, 16915, DISPATCH_GL(wrapf));
3123 } 3125 }
3124 dasm_put(Dst, 16918, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 3126 dasm_put(Dst, 16920, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3125 break; 3127 break;
3126 3128
3127 /* ---------------------------------------------------------------------- */ 3129 /* ---------------------------------------------------------------------- */
@@ -3149,7 +3151,7 @@ static int build_backend(BuildCtx *ctx)
3149 3151
3150 build_subroutines(ctx, cmov, sse); 3152 build_subroutines(ctx, cmov, sse);
3151 3153
3152 dasm_put(Dst, 16943); 3154 dasm_put(Dst, 16945);
3153 for (op = 0; op < BC__MAX; op++) 3155 for (op = 0; op < BC__MAX; op++)
3154 build_ins(ctx, (BCOp)op, op, cmov, sse); 3156 build_ins(ctx, (BCOp)op, op, cmov, sse);
3155 3157