aboutsummaryrefslogtreecommitdiff
path: root/src
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
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')
-rw-r--r--src/buildvm_x64.h2165
-rw-r--r--src/buildvm_x64win.h2120
-rw-r--r--src/buildvm_x86.dasc8
-rw-r--r--src/buildvm_x86.h2328
-rw-r--r--src/lj_err.c10
-rw-r--r--src/lj_vm.h3
6 files changed, 3331 insertions, 3303 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 1d2b8b44..ca235221 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15952] = { 15static const unsigned char build_actionlist[15975] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, 16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, 17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, 18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
@@ -25,139 +25,140 @@ static const unsigned char build_actionlist[15952] = {
25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20, 25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
26 202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232,251, 26 202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232,251,
27 1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18,139, 27 1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18,139,
28 108,36,24,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,231,239, 28 108,36,24,139,173,233,199,133,233,237,252,233,244,16,248,19,139,124,36,24,
29 72,137,252,252,248,20,139,108,36,24,72,199,193,252,248,252,255,252,255,252, 29 137,198,72,131,196,40,65,94,65,95,91,93,252,233,251,1,1,248,20,72,129,231,
30 255,184,237,255,139,149,233,68,139,181,233,65,129,198,239,139,90,252,252, 30 239,72,137,252,252,248,21,255,139,108,36,24,72,199,193,252,248,252,255,252,
31 199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,21,190,237,252,233, 31 255,252,255,184,237,139,149,233,68,139,181,233,65,129,198,239,139,90,252,
32 244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252,248,248,1, 32 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,22,190,237,252,
33 15,182,139,233,131,195,4,137,149,233,137,133,233,255,137,92,36,28,137,206, 33 233,244,248,248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,
34 1,15,182,139,233,131,195,4,137,149,233,255,137,133,233,137,92,36,28,137,206,
34 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41, 35 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,
35 208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131, 36 208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,
36 195,4,65,252,255,36,252,238,248,24,85,83,65,87,65,86,72,131,252,236,40,137, 37 195,4,65,252,255,36,252,238,248,25,85,83,65,87,65,86,72,131,252,236,40,137,
37 252,253,137,124,36,24,137,252,241,187,237,49,192,76,141,188,253,36,233,68, 38 252,253,137,124,36,24,137,252,241,187,237,49,192,76,141,188,253,36,233,68,
38 139,181,233,65,129,198,239,76,137,189,233,137,68,36,28,72,137,68,36,32,137, 39 139,181,233,65,129,198,239,76,137,189,233,137,68,36,28,72,137,68,36,32,137,
39 68,36,16,137,68,36,20,56,133,233,15,132,244,249,65,199,134,233,237,136,133, 40 68,36,16,137,68,36,20,56,133,233,15,132,244,249,65,199,134,233,237,136,133,
40 233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,90,252, 41 233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,90,252,
41 252,137,68,36,4,252,247,195,237,15,132,244,13,255,252,233,244,14,248,25,85, 42 252,137,68,36,4,252,247,195,237,255,15,132,244,13,252,233,244,14,248,26,85,
42 83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,20,252,233,244,247,248, 43 83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,20,252,233,244,247,248,
43 26,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,16,137,252, 44 27,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,16,137,252,
44 253,137,124,36,24,137,252,241,76,139,189,233,76,137,124,36,32,137,108,36, 45 253,137,124,36,24,137,252,241,76,139,189,233,76,137,124,36,32,137,108,36,
45 28,72,137,165,233,248,2,68,139,181,233,65,129,198,239,248,3,65,199,134,233, 46 28,72,137,165,233,248,2,68,139,181,233,65,129,198,239,248,3,65,199,134,233,
46 237,139,149,233,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,27, 47 237,139,149,233,255,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,
47 255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,29,137,202, 48 28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,
48 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, 49 90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
49 252,255,36,252,238,248,30,85,83,65,87,65,86,72,131,252,236,40,137,252,253, 50 255,36,252,238,248,31,85,83,65,87,65,86,72,131,252,236,40,137,252,253,137,
50 137,124,36,24,137,108,36,28,68,139,189,233,68,43,189,233,199,68,36,20,0,0, 51 124,36,24,137,108,36,28,68,139,189,233,68,43,189,233,199,68,36,20,0,0,0,0,
51 0,0,68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255, 52 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209,
52 209,133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131, 53 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227,
53 227,252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244, 54 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99,
54 72,99,77,252,240,76,141,61,245,76,1,252,249,68,139,122,252,248,69,139,191, 55 77,252,240,76,141,61,245,255,76,1,252,249,68,139,122,252,248,69,139,191,233,
55 233,255,69,139,191,233,252,255,225,248,31,15,182,75,252,255,131,252,237,16, 56 69,139,191,233,252,255,225,248,32,15,182,75,252,255,131,252,237,16,141,12,
56 141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233,3,139,124,36, 57 202,41,252,233,15,132,244,33,252,247,217,193,252,233,3,139,124,36,24,137,
57 24,137,151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,33,248, 58 151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,34,248,35,137,
58 34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247, 59 4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,65,141,
59 65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182, 60 142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,36,15,182,67,252,
60 67,252,254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15, 61 254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15,17,4,36,
61 17,4,36,255,72,141,4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194, 62 255,72,141,4,36,252,233,244,247,248,37,15,182,67,252,254,141,4,194,248,1,
62 248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137, 63 15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,
63 252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,1,139,149,233,133,192, 64 238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15,
64 15,132,244,249,248,32,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15, 65 132,244,249,248,33,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15,182,
65 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141, 66 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,
66 233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244, 67 137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,
67 29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133, 68 248,38,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,
68 244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248, 69 247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,39,
69 38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182,67,252, 70 15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,40,15,182,67,252,254,
70 254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24, 71 141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,
71 137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139, 72 151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,3,139,149,
72 149,233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40, 73 233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40,248,
73 248,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 74 41,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
74 238,248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137, 75 248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137,105,
75 105,16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,29,248,41,139, 76 16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,30,248,42,139,108,
76 108,36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252, 77 36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252,137,
77 137,92,36,28,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42, 78 92,36,28,232,251,1,4,248,3,139,149,233,255,131,252,248,1,15,135,244,43,248,
78 248,4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233, 79 4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233,248,
79 248,6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 80 6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,
80 238,248,43,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44, 81 248,44,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,45,129,
81 129,120,253,4,239,252,233,244,4,248,45,131,252,235,4,137,206,137,252,233, 82 120,253,4,239,252,233,244,4,248,46,131,252,235,4,137,206,137,252,233,139,
82 139,108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1, 83 108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1,5,252,
83 4,252,233,244,3,248,46,255,131,252,235,4,139,108,36,24,137,149,233,137,252, 84 233,244,3,248,47,255,131,252,235,4,139,108,36,24,137,149,233,137,252,239,
84 239,139,115,252,252,137,92,36,28,232,251,1,5,252,233,244,3,255,248,47,255, 85 139,115,252,252,137,92,36,28,232,251,1,6,252,233,244,3,255,248,48,255,15,
85 15,182,107,252,255,255,248,48,65,141,4,199,252,233,244,247,248,49,255,248, 86 182,107,252,255,255,248,49,65,141,4,199,252,233,244,247,248,50,255,248,51,
86 50,65,141,4,199,141,44,252,234,149,252,233,244,248,248,51,141,4,194,137,197, 87 65,141,4,199,141,44,252,234,149,252,233,244,248,248,52,141,4,194,137,197,
87 252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,44,252,234,248,2,141, 88 252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,44,252,234,248,2,141,
88 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137, 89 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137,
89 252,234,137,252,253,137,92,36,28,232,251,1,6,139,149,233,133,192,15,132,244, 90 252,234,137,252,253,137,92,36,28,232,251,1,7,139,149,233,133,192,15,132,244,
90 40,248,42,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,27, 91 41,248,43,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,28,
91 248,54,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232, 92 248,55,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,
92 251,1,7,139,149,233,252,233,244,42,248,55,141,76,202,8,248,28,137,76,36,4, 93 251,1,8,139,149,233,252,233,244,43,248,56,141,76,202,8,248,29,137,76,36,4,
93 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137, 94 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137,
94 252,239,137,92,36,28,232,251,1,8,139,149,233,139,76,36,4,139,4,36,139,105, 95 252,239,137,92,36,28,232,251,1,9,139,149,233,139,76,36,4,139,4,36,139,105,
95 252,248,131,192,1,65,57,215,15,132,244,56,137,202,137,90,252,252,139,157, 96 252,248,131,192,1,65,57,215,15,132,244,57,137,202,137,90,252,252,139,157,
96 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, 97 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,
97 57,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,9, 98 58,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,10,
98 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164, 99 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,
99 253,252,238,233,248,58,129,252,248,239,15,130,244,59,139,106,4,129,252,253, 100 253,252,238,233,248,59,129,252,248,239,15,130,244,60,139,106,4,129,252,253,
100 239,15,131,244,59,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106, 101 239,15,131,244,60,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,
101 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137, 102 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,
102 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,60,248, 103 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,61,248,
103 61,129,252,248,239,15,130,244,59,139,106,4,137,252,233,193,252,249,15,131, 104 62,129,252,248,239,15,130,244,60,139,106,4,137,252,233,193,252,249,15,131,
104 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255, 105 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,
105 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233, 106 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,
106 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,184, 107 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,184,
107 237,252,233,244,2,248,63,129,252,248,239,15,130,244,59,139,106,4,139,90,252, 108 237,252,233,244,2,248,64,129,252,248,239,15,130,244,60,139,106,4,139,90,252,
108 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, 109 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,
109 237,199,66,252,252,237,255,15,132,244,62,65,139,134,233,199,66,252,252,237, 110 237,199,66,252,252,237,255,15,132,244,63,65,139,134,233,199,66,252,252,237,
110 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185, 111 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,
111 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, 112 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,
112 15,133,244,3,255,252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244, 113 15,133,244,3,255,252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,
113 62,139,1,137,106,252,252,137,66,252,248,252,233,244,62,248,6,129,252,253, 114 63,139,1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,
114 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213, 115 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,
115 65,139,172,253,174,233,252,233,244,2,248,64,255,129,252,248,239,15,130,244, 116 65,139,172,253,174,233,252,233,244,2,248,65,255,129,252,248,239,15,130,244,
116 59,129,122,253,4,239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129, 117 60,129,122,253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,
117 122,253,12,239,15,133,244,59,139,66,8,137,133,233,139,90,252,252,199,66,252, 118 122,253,12,239,15,133,244,60,139,66,8,137,133,233,139,90,252,252,199,66,252,
118 252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235, 119 252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,
119 255,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,62,248,65, 120 255,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,63,248,66,
120 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139, 121 129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,
121 50,141,82,8,139,124,36,24,232,251,1,10,137,252,234,72,139,40,139,90,252,252, 122 50,141,82,8,139,124,36,24,232,251,1,11,137,252,234,72,139,40,139,90,252,252,
122 72,137,106,252,248,252,233,244,62,248,66,129,252,248,239,15,133,244,59,129, 123 72,137,106,252,248,252,233,244,63,248,67,129,252,248,239,15,133,244,60,129,
123 122,253,4,239,255,15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59, 124 122,253,4,239,255,15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,
124 255,15,131,244,59,255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244, 125 255,15,131,244,60,255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,
125 69,255,248,70,129,252,248,239,15,130,244,59,139,90,252,252,129,122,253,4, 126 70,255,248,71,129,252,248,239,15,130,244,60,139,90,252,252,129,122,253,4,
126 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233, 127 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,
127 244,62,248,3,129,122,253,4,239,15,135,244,59,65,131,190,233,0,15,133,244, 128 244,63,248,3,129,122,253,4,239,15,135,244,60,65,131,190,233,0,15,133,244,
128 59,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,71,248,1,139,108, 129 60,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,72,248,1,139,108,
129 36,24,137,149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,11,255,232, 130 36,24,137,149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,12,255,232,
130 251,1,12,255,139,149,233,252,233,244,2,248,72,129,252,248,239,15,130,244, 131 251,1,13,255,139,149,233,252,233,244,2,248,73,129,252,248,239,15,130,244,
131 59,15,132,244,248,248,1,129,122,253,4,239,15,133,244,59,139,108,36,24,137, 132 60,15,132,244,248,248,1,129,122,253,4,239,15,133,244,60,139,108,36,24,137,
132 149,233,137,149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36, 133 149,233,137,149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,
133 28,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66, 134 28,232,251,1,14,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,
134 16,72,137,106,252,248,72,137,2,248,73,184,237,255,252,233,244,74,248,2,199, 135 16,72,137,106,252,248,72,137,2,248,74,184,237,255,252,233,244,75,248,2,199,
135 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,62,248,75,129, 136 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,63,248,76,129,
136 252,248,239,15,130,244,59,139,42,129,122,253,4,239,15,133,244,59,255,131, 137 252,248,239,15,130,244,60,139,42,129,122,253,4,239,15,133,244,60,255,131,
137 189,233,0,15,133,244,59,255,139,106,252,248,139,133,233,139,90,252,252,199, 138 189,233,0,15,133,244,60,255,139,106,252,248,139,133,233,139,90,252,252,199,
138 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,74,248,76, 139 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,75,248,77,
139 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,129,122,253, 140 129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,129,122,253,
140 12,239,255,139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66, 141 12,239,255,139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66,
141 252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15, 142 252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,
142 88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15, 143 88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,
143 131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,77,72, 144 131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,78,72,
144 139,40,72,137,42,252,233,244,73,248,2,131,189,233,0,15,132,244,77,137,252, 145 139,40,72,137,42,252,233,244,74,248,2,131,189,233,0,15,132,244,78,137,252,
145 239,137,213,137,198,232,251,1,14,137,252,234,133,192,15,133,244,1,248,77, 146 239,137,213,137,198,232,251,1,15,137,252,234,133,192,15,133,244,1,248,78,
146 184,237,252,233,244,74,248,78,255,139,106,252,248,139,133,233,139,90,252, 147 184,237,252,233,244,75,248,79,255,139,106,252,248,139,133,233,139,90,252,
147 252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0, 148 252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,
148 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252, 149 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,
149 233,244,74,248,79,129,252,248,239,15,130,244,59,141,74,8,131,232,1,187,237, 150 233,244,75,248,80,129,252,248,239,15,130,244,60,141,74,8,131,232,1,187,237,
150 248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,27, 151 248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,28,
151 248,80,129,252,248,239,15,130,244,59,129,122,253,12,239,15,133,244,59,255, 152 248,81,129,252,248,239,15,130,244,60,129,122,253,12,239,15,133,244,60,255,
152 139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74, 153 139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,
153 16,131,232,2,187,237,252,233,244,1,248,81,129,252,248,239,15,130,244,59,139, 154 16,131,232,2,187,237,252,233,244,1,248,82,129,252,248,239,15,130,244,60,139,
154 42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,59, 155 42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,60,
155 72,131,189,233,0,15,133,244,59,128,189,233,235,15,135,244,59,139,141,233, 156 72,131,189,233,0,15,133,244,60,128,189,233,235,15,135,244,60,139,141,233,
156 15,132,244,247,255,59,141,233,15,132,244,59,248,1,141,92,193,252,240,59,157, 157 15,132,244,247,255,59,141,233,15,132,244,60,248,1,141,92,193,252,240,59,157,
157 233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149, 158 233,15,135,244,60,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149,
158 233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72, 159 233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72,
159 137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36, 160 137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36,
160 232,244,24,65,199,134,233,237,255,139,108,36,24,139,28,36,139,149,233,129, 161 232,244,25,65,199,134,233,237,255,139,108,36,24,139,28,36,139,149,233,129,
161 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, 162 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,
162 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, 163 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,
163 244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252, 164 244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252,
@@ -166,218 +167,218 @@ static const unsigned char build_actionlist[15952] = {
166 132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233, 167 132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233,
167 8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68, 168 8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68,
168 137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233, 169 137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,
169 244,4,248,82,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137, 170 244,4,248,83,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137,
170 44,36,72,131,189,233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139, 171 44,36,72,131,189,233,0,15,133,244,60,255,128,189,233,235,15,135,244,60,139,
171 141,233,15,132,244,247,59,141,233,15,132,244,59,248,1,141,92,193,252,248, 172 141,233,15,132,244,247,59,141,233,15,132,244,60,248,1,141,92,193,252,248,
172 59,157,233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,137,149,233, 173 59,157,233,15,135,244,60,137,157,233,139,108,36,24,137,149,233,137,149,233,
173 141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,72,139,4,43, 174 141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,72,139,4,43,
174 72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60, 175 72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,
175 36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129, 176 36,232,244,25,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129,
176 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, 177 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68,
177 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, 178 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135,
178 244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57, 179 244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,
179 252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,4,49,201, 180 252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,4,49,201,
180 252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,239,232, 181 252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,239,232,
181 251,1,15,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139, 182 251,1,16,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,
182 28,36,139,149,233,252,233,244,4,248,83,139,108,36,24,72,252,247,133,233,237, 183 28,36,139,149,233,252,233,244,4,248,84,139,108,36,24,72,252,247,133,233,237,
183 15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137, 184 15,132,244,60,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137,
184 133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139,90,252, 185 133,233,176,235,136,133,233,252,233,244,16,255,248,68,255,248,70,139,90,252,
185 252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130,244,59, 186 252,221,90,252,248,252,233,244,63,255,248,85,129,252,248,239,15,130,244,60,
186 255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,67,252, 187 255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,68,252,
187 247,221,15,136,244,247,248,85,248,67,139,90,252,252,199,66,252,252,237,137, 188 247,221,15,136,244,247,248,86,248,68,139,90,252,252,199,66,252,252,237,137,
188 106,252,248,252,233,244,62,248,1,139,90,252,252,199,66,252,252,0,0,224,65, 189 106,252,248,252,233,244,63,248,1,139,90,252,252,199,66,252,252,0,0,224,65,
189 199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129,122,253, 190 199,66,252,248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,122,253,
190 4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200, 191 4,239,15,131,244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200,
191 15,84,193,248,68,139,90,252,252,252,242,15,17,66,252,248,255,221,2,217,225, 192 15,84,193,248,69,139,90,252,252,252,242,15,17,66,252,248,255,221,2,217,225,
192 248,68,248,69,139,90,252,252,221,90,252,248,255,248,62,184,237,248,74,137, 193 248,69,248,70,139,90,252,252,221,90,252,248,255,248,63,184,237,248,75,137,
193 68,36,4,248,60,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135, 194 68,36,4,248,61,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135,
194 244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182, 195 244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182,
195 232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237, 196 232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237,
196 131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255, 197 131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255,
197 252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,252,233, 198 252,233,244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,252,233,
198 244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,242,15, 199 244,68,248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,242,15,
199 45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,46,193, 200 45,232,129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,46,193,
200 15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252,242,15, 201 15,138,244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,242,15,
201 16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15,130,244, 202 16,2,232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,130,244,
202 59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68,255,248, 203 60,129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,255,248,
203 90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217, 204 91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,
204 252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59,129,122,253, 205 252,250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,129,122,253,
205 4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244,69,248,92,129, 206 4,239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,70,248,93,129,
206 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,252,236,221, 207 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,252,236,221,
207 2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130,244,59,129, 208 2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,244,60,129,
208 122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248,95,129,252, 209 122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,96,129,252,
209 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,254,252, 210 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,254,252,
210 233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253,4,239,15, 211 233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,4,239,15,
211 131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239,15,130, 212 131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,15,130,
212 244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252,233, 213 244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,233,
213 244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15,131, 214 244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,131,
214 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, 215 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
215 233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, 216 233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
216 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, 217 244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
217 243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253,4,239, 218 243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,4,239,
218 15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248,101,129, 219 15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,102,129,
219 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, 220 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,
220 255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129,252,248, 221 255,137,213,232,251,1,17,137,252,234,252,233,244,69,255,248,103,129,252,248,
221 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137, 222 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,
222 213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248,239,15, 223 213,232,251,1,18,137,252,234,252,233,244,69,255,248,104,129,252,248,239,15,
223 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137,213,232, 224 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,213,232,
224 251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248,239,15, 225 251,1,19,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,239,15,
225 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,252,248, 226 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,252,248,
226 252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,15,130,244, 227 252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,
227 59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,233,252, 228 60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,233,252,
228 233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,4,239,15, 229 233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
229 131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,243,252, 230 131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,243,252,
230 233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, 231 233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,
231 244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,253,221, 232 244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,253,221,
232 217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,4,129,252, 233 217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,4,129,252,
233 253,239,15,131,244,59,139,90,252,252,139,2,137,106,252,252,137,66,252,248, 234 253,239,15,131,244,60,139,90,252,252,139,2,137,106,252,252,137,66,252,248,
234 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, 235 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,
235 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41, 236 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,
236 197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129, 237 197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129,
237 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252, 238 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,
238 242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3,255,15,87,192,252, 239 242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,255,15,87,192,252,
239 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72, 240 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72,
240 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248, 241 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248,
241 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252, 242 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252,
242 184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252,248,239,15,130,244, 243 184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252,248,239,15,130,244,
243 59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,248,109,129,252,248, 244 60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,248,110,129,252,248,
244 239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,255,139,106,4,139, 245 239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,255,139,106,4,139,
245 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224, 246 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,
246 232,244,110,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17, 247 232,244,111,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,
247 34,255,217,192,232,244,110,220,252,233,248,1,221,90,252,248,221,26,255,139, 248 34,255,217,192,232,244,111,220,252,233,248,1,221,90,252,248,221,26,255,139,
248 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,74,248, 249 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,75,248,
249 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, 250 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
250 244,1,255,217,252,238,217,201,252,233,244,1,255,248,111,129,252,248,239,15, 251 244,1,255,217,252,238,217,201,252,233,244,1,255,248,112,129,252,248,239,15,
251 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, 252 130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,
252 59,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, 253 60,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
253 233,244,69,255,248,112,129,252,248,239,15,130,244,59,129,122,253,4,239,15, 254 233,244,70,255,248,113,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
254 131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16, 255 131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,
255 74,8,232,244,113,252,233,244,68,255,248,112,129,252,248,239,15,130,244,59, 256 74,8,232,244,114,252,233,244,69,255,248,113,129,252,248,239,15,130,244,60,
256 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221, 257 129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,
257 66,8,232,244,113,252,233,244,69,255,248,114,185,2,0,0,0,129,122,253,4,239, 258 66,8,232,244,114,252,233,244,70,255,248,115,185,2,0,0,0,129,122,253,4,239,
258 255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252, 259 255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,252,
259 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1, 260 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1,
260 252,233,244,1,248,3,15,135,244,59,255,252,233,244,252,248,4,15,135,244,59, 261 252,233,244,1,248,3,15,135,244,60,255,252,233,244,252,248,4,15,135,244,60,
261 255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124,253,202,252,252,239, 262 255,252,242,15,16,2,248,5,57,193,15,131,244,69,129,124,253,202,252,252,239,
262 255,15,130,244,252,15,135,244,59,252,242,15,42,76,202,252,248,252,233,244, 263 255,15,130,244,252,15,135,244,60,252,242,15,42,76,202,252,248,252,233,244,
263 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193, 264 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,
264 1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253,4,239,255,15,133,244, 265 1,252,233,244,5,255,248,116,185,2,0,0,0,129,122,253,4,239,255,15,133,244,
265 250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252,252,239,15,133, 266 250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,252,252,239,15,133,
266 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1, 267 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1,
267 248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242, 268 248,3,15,135,244,60,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,
268 15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,244,59,255,248, 269 15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,244,60,255,248,
269 116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,139,42, 270 117,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,139,42,
270 255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252,233,244,68,255, 271 255,139,173,233,252,233,244,68,255,252,242,15,42,133,233,252,233,244,69,255,
271 219,133,233,252,233,244,69,255,248,117,129,252,248,239,15,133,244,59,129, 272 219,133,233,252,233,244,70,255,248,118,129,252,248,239,15,133,244,60,129,
272 122,253,4,239,15,133,244,59,139,42,139,90,252,252,131,189,233,1,15,130,244, 273 122,253,4,239,15,133,244,60,139,42,139,90,252,252,131,189,233,1,15,130,244,
273 77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255,137,44,36,219, 274 78,15,182,173,233,255,252,242,15,42,197,252,233,244,69,255,137,44,36,219,
274 4,36,252,233,244,69,255,248,118,65,139,174,233,65,59,174,233,15,130,244,247, 275 4,36,252,233,244,70,255,248,119,65,139,174,233,65,59,174,233,15,130,244,247,
275 232,244,71,248,1,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133, 276 232,244,72,248,1,129,252,248,239,15,133,244,60,129,122,253,4,239,255,15,133,
276 244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,4,255,15, 277 244,60,139,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,36,4,255,15,
277 131,244,59,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108, 278 131,244,60,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,60,137,108,
278 36,4,255,15,131,244,59,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135, 279 36,4,255,15,131,244,60,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,
279 244,59,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,119,139,108,36,24,137,149, 280 244,60,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,120,139,108,36,24,137,149,
280 233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251,1,19,139,149, 281 233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251,1,20,139,149,
281 233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,120, 282 233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,63,248,121,
282 65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,199,68,36,4, 283 65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,199,68,36,4,
283 252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,59,15,134,244, 284 252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,60,15,134,244,
284 247,129,122,253,20,239,255,15,133,244,59,139,106,16,137,108,36,4,255,15,131, 285 247,129,122,253,20,239,255,15,133,244,60,139,106,16,137,108,36,4,255,15,131,
285 244,59,252,242,15,44,106,16,137,108,36,4,255,15,131,244,59,221,66,16,219, 286 244,60,252,242,15,44,106,16,137,108,36,4,255,15,131,244,60,221,66,16,219,
286 92,36,4,255,248,1,129,122,253,4,239,15,133,244,59,129,122,253,12,239,255, 287 92,36,4,255,248,1,129,122,253,4,239,15,133,244,60,129,122,253,12,239,255,
287 139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139, 288 139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139,
288 68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108, 289 68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,
289 36,8,41,200,15,140,244,121,141,172,253,13,233,131,192,1,248,4,137,68,36,8, 290 36,8,41,200,15,140,244,122,141,172,253,13,233,131,192,1,248,4,137,68,36,8,
290 137,232,252,233,244,119,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248, 291 137,232,252,233,244,120,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,
291 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143, 292 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,
292 244,3,248,8,185,1,0,0,0,252,233,244,3,248,121,49,192,252,233,244,4,248,122, 293 244,3,248,8,185,1,0,0,0,252,233,244,3,248,122,49,192,252,233,244,4,248,123,
293 129,252,248,239,15,130,244,59,65,139,174,233,65,59,174,233,15,130,244,247, 294 129,252,248,239,15,130,244,60,65,139,174,233,65,59,174,233,15,130,244,247,
294 232,244,71,248,1,255,129,122,253,4,239,15,133,244,59,129,122,253,12,239,139, 295 232,244,72,248,1,255,129,122,253,4,239,15,133,244,60,129,122,253,12,239,139,
295 42,255,15,133,244,59,139,66,8,255,15,131,244,59,252,242,15,44,66,8,255,15, 296 42,255,15,133,244,60,139,66,8,255,15,131,244,60,252,242,15,44,66,8,255,15,
296 131,244,59,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,121,131, 297 131,244,60,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,122,131,
297 189,233,1,15,130,244,121,15,133,244,123,65,57,134,233,15,130,244,123,15,182, 298 189,233,1,15,130,244,122,15,133,244,124,65,57,134,233,15,130,244,124,15,182,
298 141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15, 299 141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,
299 133,244,1,65,139,134,233,252,233,244,119,248,124,129,252,248,239,255,15,130, 300 133,244,1,65,139,134,233,252,233,244,120,248,125,129,252,248,239,255,15,130,
300 244,59,65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,129,122, 301 244,60,65,139,174,233,65,59,174,233,15,130,244,247,232,244,72,248,1,129,122,
301 253,4,239,15,133,244,59,139,42,139,133,233,133,192,15,132,244,121,65,57,134, 302 253,4,239,15,133,244,60,139,42,139,133,233,133,192,15,132,244,122,65,57,134,
302 233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248, 303 233,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248,
303 1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92, 304 1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,
304 36,4,252,233,244,119,248,126,129,252,248,239,15,130,244,59,65,139,174,233, 305 36,4,252,233,244,120,248,127,129,252,248,239,15,130,244,60,65,139,174,233,
305 65,59,174,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, 306 65,59,174,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,
306 59,139,42,139,133,233,65,57,134,233,255,15,130,244,125,129,197,239,137,92, 307 60,139,42,139,133,233,65,57,134,233,255,15,130,244,126,129,197,239,137,92,
307 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252, 308 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,
308 249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2, 309 249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,
309 136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119, 310 136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,120,
310 248,127,129,252,248,239,15,130,244,59,255,65,139,174,233,65,59,174,233,15, 311 248,128,129,252,248,239,15,130,244,60,255,65,139,174,233,65,59,174,233,15,
311 130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133, 312 130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,
312 233,65,57,134,233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139, 313 233,65,57,134,233,15,130,244,126,129,197,239,137,92,36,4,137,68,36,8,65,139,
313 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248, 314 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,
314 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131, 315 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,
315 232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119,248,128,129,252,248, 316 232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,120,248,129,129,252,248,
316 239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,58,232,251, 317 239,15,130,244,60,129,122,253,4,239,15,133,244,60,137,213,139,58,232,251,
317 1,20,137,252,234,255,137,197,252,233,244,67,255,252,242,15,42,192,252,233, 318 1,21,137,252,234,255,137,197,252,233,244,68,255,252,242,15,42,192,252,233,
318 244,68,255,248,129,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244, 319 244,69,255,248,130,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
319 85,248,1,15,135,244,59,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, 320 86,248,1,15,135,244,60,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
320 252,242,15,88,193,102,15,126,197,255,252,233,244,85,255,248,130,255,72,189, 321 252,242,15,88,193,102,15,126,197,255,252,233,244,86,255,248,131,255,72,189,
321 237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,255,15,133,244,247,139, 322 237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,255,15,133,244,247,139,
322 42,252,233,244,248,248,1,15,135,244,59,255,252,242,15,16,2,252,242,15,88, 323 42,252,233,244,248,248,1,15,135,244,60,255,252,242,15,16,2,252,242,15,88,
323 193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,252,240,248,1,57,208, 324 193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,252,240,248,1,57,208,
324 15,134,244,85,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,233, 325 15,134,244,86,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,233,
325 244,1,248,2,15,135,244,131,255,15,131,244,131,255,252,242,15,16,0,252,242, 326 244,1,248,2,15,135,244,132,255,15,131,244,132,255,252,242,15,16,0,252,242,
326 15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,132,255,15, 327 15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,133,255,15,
327 133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252,242, 328 133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,252,242,
328 15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244, 329 15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,
329 1,248,133,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244, 330 1,248,134,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244,
330 131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232, 331 132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232,
331 8,252,233,244,1,248,134,129,122,253,4,239,255,248,2,15,205,252,233,244,85, 332 8,252,233,244,1,248,135,129,122,253,4,239,255,248,2,15,205,252,233,244,86,
332 248,135,129,122,253,4,239,255,248,2,252,247,213,255,248,85,252,242,15,42, 333 248,136,129,122,253,4,239,255,248,2,252,247,213,255,248,86,252,242,15,42,
333 197,252,233,244,68,255,248,131,139,68,36,4,252,233,244,59,255,248,136,129, 334 197,252,233,244,69,255,248,132,139,68,36,4,252,233,244,60,255,248,137,129,
334 122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,59,139,74,8,255,248, 335 122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,60,139,74,8,255,248,
335 136,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 336 137,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
336 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 337 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
337 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, 338 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
338 15,126,201,255,211,229,252,233,244,85,255,248,137,129,122,253,4,239,255,248, 339 15,126,201,255,211,229,252,233,244,86,255,248,138,129,122,253,4,239,255,248,
339 137,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 340 138,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
340 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, 341 253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,
341 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, 342 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,
342 15,126,201,255,211,252,237,252,233,244,85,255,248,138,129,122,253,4,239,255, 343 15,126,201,255,211,252,237,252,233,244,86,255,248,139,129,122,253,4,239,255,
343 248,138,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129, 344 248,139,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,
344 122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237, 345 122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,237,
345 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197, 346 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
346 102,15,126,201,255,211,252,253,252,233,244,85,255,248,139,129,122,253,4,239, 347 102,15,126,201,255,211,252,253,252,233,244,86,255,248,140,129,122,253,4,239,
347 255,248,139,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 348 255,248,140,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
348 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189, 349 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,
349 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, 350 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
350 197,102,15,126,201,255,211,197,252,233,244,85,255,248,140,129,122,253,4,239, 351 197,102,15,126,201,255,211,197,252,233,244,86,255,248,141,129,122,253,4,239,
351 255,248,140,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 352 255,248,141,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
352 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189, 353 129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,242,15,16,74,8,72,189,
353 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, 354 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
354 197,102,15,126,201,255,211,205,252,233,244,85,248,123,184,237,252,233,244, 355 197,102,15,126,201,255,211,205,252,233,244,86,248,124,184,237,252,233,244,
355 59,248,125,184,237,248,59,139,108,36,24,139,90,252,252,137,92,36,28,137,149, 356 60,248,126,184,237,248,60,139,108,36,24,139,90,252,252,137,92,36,28,137,149,
356 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233, 357 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,
357 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244, 358 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244,
358 74,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252, 359 75,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,
359 248,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4, 360 248,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,
360 65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182, 361 65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182,
361 107,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,221,131, 362 107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,221,131,
362 229,252,248,41,252,234,252,233,244,27,248,5,190,237,137,252,239,232,251,1, 363 229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,232,251,1,
363 0,139,149,233,49,192,252,233,244,1,248,71,93,72,137,108,36,8,139,108,36,24, 364 0,139,149,233,49,192,252,233,244,1,248,72,93,72,137,108,36,8,139,108,36,24,
364 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232, 365 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,
365 251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36, 366 251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,
366 8,85,195,248,141,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15, 367 8,85,195,248,142,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,
367 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255, 368 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,
368 248,142,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,143, 369 248,143,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,144,
369 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255, 370 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,
370 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137, 371 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137,
371 149,233,137,222,137,252,239,232,251,1,22,248,3,139,149,233,248,4,15,182,75, 372 149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,4,15,182,75,
372 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252, 373 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,
373 238,233,248,144,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,145,255, 374 238,233,248,145,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,146,255,
374 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149, 375 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149,
375 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251, 376 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251,
376 1,23,252,233,244,3,255,248,146,137,92,36,28,255,248,147,255,137,92,36,28, 377 1,24,252,233,244,3,255,248,147,137,92,36,28,255,248,148,255,137,92,36,28,
377 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133, 378 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133,
378 233,137,222,137,252,239,232,251,1,24,199,68,36,28,0,0,0,0,255,131,227,252, 379 233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,131,227,252,
379 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252, 380 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,
380 253,193,232,3,131,192,1,252,255,229,248,148,255,65,85,65,84,65,83,65,82,65, 381 253,193,232,3,131,192,1,252,255,229,248,149,255,65,85,65,84,65,83,65,82,65,
381 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101, 382 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,
382 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233, 383 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233,
383 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131, 384 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131,
@@ -387,32 +388,32 @@ static const unsigned char build_actionlist[15952] = {
387 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101, 388 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,
388 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242, 389 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,
389 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233, 390 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233,
390 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,25,72,139,141,233, 391 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,72,139,141,233,
391 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244, 392 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,
392 247,255,248,149,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133, 393 247,255,248,150,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133,
393 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191, 394 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191,
394 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232, 395 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,
395 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65, 396 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65,
396 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,26,255, 397 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,1,255,
397 248,87,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252, 398 248,88,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,
398 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, 399 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,
399 36,8,195,255,248,150,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 400 36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
400 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 401 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
401 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, 402 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
402 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40, 403 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,
403 193,248,1,195,248,89,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36, 404 193,248,1,195,248,90,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,
404 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108, 405 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
405 36,4,139,68,36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,184, 406 36,4,139,68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184,
406 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, 407 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
407 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, 408 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
408 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92, 409 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
409 200,15,40,193,248,1,195,248,110,255,217,124,36,4,137,68,36,8,102,184,0,12, 410 200,15,40,193,248,1,195,248,111,255,217,124,36,4,137,68,36,8,102,184,0,12,
410 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, 411 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
411 68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184,237,237,102, 412 68,36,8,195,255,248,153,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
412 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, 413 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
413 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72, 414 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,
414 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86, 415 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,
415 202,15,40,193,248,1,195,248,153,255,15,40,232,252,242,15,94,193,72,184,237, 416 202,15,40,193,248,1,195,248,154,255,15,40,232,252,242,15,94,193,72,184,237,
416 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84, 417 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,
417 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242, 418 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,
418 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196, 419 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,
@@ -420,12 +421,12 @@ static const unsigned char build_actionlist[15952] = {
420 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217, 421 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,
421 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252, 422 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
422 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252, 423 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,
423 233,195,255,248,94,217,252,234,222,201,248,154,217,84,36,252,248,129,124, 424 233,195,255,248,95,217,252,234,222,201,248,155,217,84,36,252,248,129,124,
424 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255, 425 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,
425 15,132,244,248,248,155,217,192,217,252,252,220,252,233,217,201,217,252,240, 426 15,132,244,248,248,156,217,192,217,252,252,220,252,233,217,201,217,252,240,
426 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, 427 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
427 255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208,102,15,46,202, 428 255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
428 15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142,244,252,248,1, 429 15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142,244,252,248,1,
429 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, 430 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
430 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, 431 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
431 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, 432 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
@@ -442,28 +443,28 @@ static const unsigned char build_actionlist[15952] = {
442 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193, 443 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,
443 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255, 444 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,
444 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192, 445 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,
445 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,158,255,131, 446 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,159,255,131,
446 252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15,135, 447 252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,244,111,15,135,
447 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36, 448 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36,
448 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,94,252,233,244, 449 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,95,252,233,244,
449 253,248,1,232,244,154,255,252,233,244,253,248,2,131,252,255,7,15,132,244, 450 253,248,1,232,244,155,255,252,233,244,253,248,2,131,252,255,7,15,132,244,
450 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, 451 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
451 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244, 452 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244,
452 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, 453 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
453 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135, 454 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135,
454 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, 455 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
455 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4, 456 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4,
456 131,252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15, 457 131,252,255,1,15,130,244,88,15,132,244,90,131,252,255,3,15,130,244,111,15,
457 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,94,15,132,244, 458 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,95,15,132,244,
458 154,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, 459 155,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
459 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, 460 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,
460 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, 461 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
461 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, 462 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,
462 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,159,255,131,252,255, 463 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,160,255,131,252,255,
463 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, 464 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
464 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, 465 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,
465 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,153,15,132, 466 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,154,15,132,
466 244,113,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, 467 244,114,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
467 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, 468 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
468 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, 469 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,
469 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, 470 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,
@@ -473,14 +474,14 @@ static const unsigned char build_actionlist[15952] = {
473 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, 474 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
474 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, 475 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
475 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, 476 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
476 252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15,132,244,247,15,135, 477 252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,132,244,247,15,135,
477 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, 478 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
478 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, 479 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
479 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, 480 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
480 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, 481 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
481 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, 482 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
482 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, 483 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
483 160,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,161, 484 161,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,162,
484 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, 485 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139,
485 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, 486 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,
486 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, 487 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233,
@@ -488,17 +489,17 @@ static const unsigned char build_actionlist[15952] = {
488 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40, 489 133,192,15,132,244,251,15,40,131,233,15,40,139,233,255,15,40,147,233,15,40,
489 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, 490 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179,
490 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, 491 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137,
491 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,162,255,249,255, 492 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,248,163,255,249,255,
492 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254, 493 129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,
493 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255, 494 139,44,202,131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,
494 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253, 495 15,143,244,255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,
495 131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, 496 131,233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
496 36,252,238,248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15,133, 497 36,252,238,248,7,15,135,244,42,129,124,253,194,4,239,15,130,244,247,15,133,
497 244,41,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252, 498 244,42,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,
498 233,244,249,255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242,15,16, 499 233,244,249,255,248,8,15,135,244,42,255,252,242,15,42,12,202,252,242,15,16,
499 4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130, 500 4,194,131,195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,
500 244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255, 501 244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,
501 129,124,253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131,244,41,255, 502 129,124,253,202,4,239,15,131,244,42,129,124,253,194,4,239,15,131,244,42,255,
502 248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1, 503 248,1,252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1,
503 221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218, 504 221,4,202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218,
504 252,233,223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244, 505 252,233,223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,
@@ -516,11 +517,11 @@ static const unsigned char build_actionlist[15952] = {
516 248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247, 517 248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,
517 255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67, 518 255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,
518 252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252, 519 252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252,
519 253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202, 520 253,239,15,132,244,47,129,124,253,202,4,239,15,132,244,47,255,57,108,202,
520 4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15, 521 4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,
521 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244, 522 132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,
522 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252, 523 2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,
523 233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,46, 524 233,244,46,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,47,
524 255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249, 525 255,72,252,247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249,
525 139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15, 526 139,12,202,65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15,
526 133,244,253,65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202, 527 133,244,253,65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202,
@@ -533,7 +534,7 @@ static const unsigned char build_actionlist[15952] = {
533 4,202,248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133, 534 4,202,248,4,255,72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,
534 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182, 535 244,249,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,
535 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133, 536 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,
536 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15, 537 244,2,252,233,244,47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,
537 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, 538 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,
538 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252, 539 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,
539 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137, 540 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,
@@ -543,40 +544,40 @@ static const unsigned char build_actionlist[15952] = {
543 124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199, 544 124,253,194,4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,
544 68,202,4,237,137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232, 545 68,202,4,237,137,44,202,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,
545 16,65,252,255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0, 546 16,65,252,255,36,252,238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,
546 252,233,244,9,248,5,15,135,244,51,255,129,124,253,194,4,239,15,131,244,51, 547 252,233,244,9,248,5,15,135,244,52,255,129,124,253,194,4,239,15,131,244,52,
547 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242, 548 255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,
548 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15, 549 15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,
549 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255, 550 133,244,248,139,4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,
550 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, 551 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,
551 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, 552 248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,
552 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,54,139,60,194,137, 553 252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,55,139,60,194,137,
553 213,232,251,1,20,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253, 554 213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,15,182,75,252,253,
554 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239, 555 252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,
555 15,133,244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,3, 556 15,133,244,49,65,129,124,253,199,4,239,15,133,244,49,139,44,252,234,65,3,
556 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124, 557 44,199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,65,129,124,
557 253,199,4,239,15,133,244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129, 558 253,199,4,239,15,133,244,51,65,139,4,199,3,4,252,234,15,128,244,50,255,129,
558 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, 559 124,253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,
559 44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237,255,129,124,253,252, 560 44,252,234,3,44,194,15,128,244,53,255,199,68,202,4,237,255,129,124,253,252,
560 234,4,239,15,131,244,48,255,65,129,124,253,199,4,239,15,131,244,48,255,252, 561 234,4,239,15,131,244,49,255,65,129,124,253,199,4,239,15,131,244,49,255,252,
561 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199, 562 242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,
562 255,129,124,253,252,234,4,239,15,131,244,50,255,65,129,124,253,199,4,239, 563 255,129,124,253,252,234,4,239,15,131,244,51,255,65,129,124,253,199,4,239,
563 15,131,244,50,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, 564 15,131,244,51,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,
564 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124,253, 565 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,54,129,124,253,
565 194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, 566 194,4,239,15,131,244,54,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,
566 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129, 567 221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,49,65,129,
567 124,253,199,4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47, 568 124,253,199,4,239,15,133,244,49,139,44,252,234,65,43,44,199,15,128,244,48,
568 255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133, 569 255,129,124,253,252,234,4,239,15,133,244,51,65,129,124,253,199,4,239,15,133,
569 244,50,65,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4, 570 244,51,65,139,4,199,43,4,252,234,15,128,244,50,255,129,124,253,252,234,4,
570 239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44, 571 239,15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,43,44,
571 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255, 572 194,15,128,244,53,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,
572 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252, 573 221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,
573 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15, 574 234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,
574 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133, 575 92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,
575 244,48,65,129,124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44, 576 244,49,65,129,124,253,199,4,239,15,133,244,49,139,44,252,234,65,15,175,44,
576 199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124, 577 199,15,128,244,48,255,129,124,253,252,234,4,239,15,133,244,51,65,129,124,
577 253,199,4,239,15,133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255, 578 253,199,4,239,15,133,244,51,65,139,4,199,15,175,4,252,234,15,128,244,50,255,
578 129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244, 579 129,124,253,252,234,4,239,15,133,244,54,129,124,253,194,4,239,15,133,244,
579 53,139,44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234, 580 54,139,44,252,234,15,175,44,194,15,128,244,53,255,252,242,15,16,4,252,234,
580 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, 581 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,
581 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, 582 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,
582 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 583 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,
@@ -586,10 +587,10 @@ static const unsigned char build_actionlist[15952] = {
586 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, 587 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,
587 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, 588 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,
588 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, 589 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
589 12,194,255,221,4,252,234,221,4,194,255,248,163,232,244,153,255,252,233,244, 590 12,194,255,221,4,252,234,221,4,194,255,248,164,232,244,154,255,252,233,244,
590 163,255,232,244,113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, 591 164,255,232,244,114,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,
591 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27, 592 141,52,194,137,194,41,252,234,248,34,137,252,253,137,92,36,28,232,251,1,27,
592 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72, 593 139,149,233,133,192,15,133,244,43,15,182,107,252,255,15,182,75,252,253,72,
593 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, 594 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
594 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237, 595 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,
595 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 596 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
@@ -632,56 +633,56 @@ static const unsigned char build_actionlist[15952] = {
632 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, 633 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,
633 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252, 634 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,
634 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, 635 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,
635 233,65,139,4,135,252,233,244,164,255,72,252,247,208,139,106,252,248,139,173, 636 233,65,139,4,135,252,233,244,165,255,72,252,247,208,139,106,252,248,139,173,
636 233,65,139,4,135,252,233,244,165,255,15,182,252,236,15,182,192,129,124,253, 637 233,65,139,4,135,252,233,244,166,255,15,182,252,236,15,182,192,129,124,253,
637 252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133, 638 252,234,4,239,15,133,244,37,139,44,252,234,255,129,124,253,194,4,239,15,133,
638 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15, 639 244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,
639 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244, 640 16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,
640 36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15, 641 37,255,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,4,239,15,
641 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131, 642 132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,
642 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249, 643 195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,
643 139,141,233,252,246,129,233,235,15,132,244,36,15,182,75,252,253,248,3,199, 644 139,141,233,252,246,129,233,235,15,132,244,37,15,182,75,252,253,248,3,199,
644 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36, 645 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,37,
645 139,4,194,252,233,244,164,255,15,182,252,236,15,182,192,72,252,247,208,65, 646 139,4,194,252,233,244,165,255,15,182,252,236,15,182,192,72,252,247,208,65,
646 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,164, 647 139,4,135,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,248,165,
647 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 648 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
648 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 649 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
649 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232, 650 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,
650 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68, 651 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,
651 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139, 652 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
652 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244, 653 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
653 34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35, 654 35,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,
654 139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4, 655 139,44,252,234,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,
655 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182, 656 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
656 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132, 657 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
657 244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,75,252,253, 658 244,249,139,141,233,252,246,129,233,235,15,132,244,36,255,15,182,75,252,253,
658 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124, 659 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,
659 253,252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133, 660 253,252,234,4,239,15,133,244,40,139,44,252,234,255,15,133,244,40,255,59,133,
660 233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, 661 233,15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
661 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3, 662 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,
662 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131, 663 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,
663 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39, 664 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,40,
664 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39, 665 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,40,
665 139,4,194,252,233,244,165,248,7,128,165,233,235,65,139,142,233,65,137,174, 666 139,4,194,252,233,244,166,248,7,128,165,233,235,65,139,142,233,65,137,174,
666 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182, 667 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,
667 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139, 668 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,38,139,
668 44,252,234,248,165,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141, 669 44,252,234,248,166,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,
669 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121, 670 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,
670 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248, 671 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,
671 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131, 672 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,
672 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137, 673 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,
673 12,36,139,141,233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244, 674 12,36,139,141,233,252,246,129,233,235,15,132,244,38,139,12,36,252,233,244,
674 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 675 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
675 252,252,246,129,233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137, 676 252,252,246,129,233,235,15,132,244,38,248,6,137,4,36,199,68,36,4,237,137,
676 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137, 677 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,
677 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248, 678 92,36,28,232,251,1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,
678 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3, 679 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,
679 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, 680 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,
680 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, 681 44,252,234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,
681 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 682 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
682 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, 683 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
683 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 684 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
684 15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139, 685 15,132,244,39,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,
685 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68, 686 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,
686 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233, 687 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,
687 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248, 688 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,
@@ -691,10 +692,10 @@ static const unsigned char build_actionlist[15952] = {
691 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92, 692 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92,
692 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255, 693 36,28,232,251,1,35,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,
693 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255, 694 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,
694 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8, 695 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,56,141,84,202,8,
695 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, 696 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
696 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253, 697 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,
697 252,252,239,15,133,244,28,248,56,139,90,252,252,252,247,195,237,15,133,244, 698 252,252,239,15,133,244,29,248,57,139,90,252,252,252,247,195,237,15,133,244,
698 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139, 699 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,
699 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248, 700 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,
700 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15, 701 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,
@@ -704,7 +705,7 @@ static const unsigned char build_actionlist[15952] = {
704 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244, 705 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,
705 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139, 706 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,
706 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137, 707 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,
707 65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139, 708 65,252,252,129,252,248,239,184,237,15,133,244,29,137,202,137,90,252,252,139,
708 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, 709 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
709 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68, 710 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,
710 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65, 711 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,
@@ -742,19 +743,19 @@ static const unsigned char build_actionlist[15952] = {
742 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192, 743 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,
743 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234, 744 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,
744 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233, 745 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,
745 1,15,132,244,145,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255, 746 1,15,132,244,146,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,
746 129,121,253,12,239,15,133,244,57,129,121,253,20,239,15,133,244,57,139,41, 747 129,121,253,12,239,15,133,244,58,129,121,253,20,239,15,133,244,58,139,41,
747 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,162,129,121, 748 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,163,129,121,
748 253,20,239,15,133,244,162,255,139,105,16,133,252,237,15,136,244,251,3,41, 749 253,20,239,15,133,244,163,255,139,105,16,133,252,237,15,136,244,251,3,41,
749 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244, 750 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,
750 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, 751 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
751 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248, 752 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,
752 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 753 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
753 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253, 754 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,
754 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248, 755 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,
755 9,255,129,121,253,4,239,255,15,131,244,57,129,121,253,12,239,15,131,244,57, 756 9,255,129,121,253,4,239,255,15,131,244,58,129,121,253,12,239,15,131,244,58,
756 255,129,121,253,12,239,15,131,244,162,129,121,253,20,239,15,131,244,162,255, 757 255,129,121,253,12,239,15,131,244,163,129,121,253,20,239,15,131,244,163,255,
757 139,105,20,255,129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242, 758 139,105,20,255,129,252,253,239,15,131,244,58,255,252,242,15,16,1,252,242,
758 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244, 759 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
759 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221, 760 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
760 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255, 761 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
@@ -768,11 +769,11 @@ static const unsigned char build_actionlist[15952] = {
768 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156, 769 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,
769 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, 770 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
770 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15, 771 252,238,255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,
771 132,244,147,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135, 772 132,244,148,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,
772 244,23,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252, 773 244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,
773 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252, 774 233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,
774 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252, 775 233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,
775 68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137, 776 68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,137,
776 209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57, 777 209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,
777 209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137, 778 209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,
778 120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68, 779 120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,
@@ -780,7 +781,7 @@ static const unsigned char build_actionlist[15952] = {
780 252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233, 781 252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,
781 244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248, 782 244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,
782 137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252, 783 137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,
783 239,255,15,135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252,255, 784 239,255,15,135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,255,
784 150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233, 785 150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,
785 139,90,252,252,252,233,244,12,255,254,0 786 139,90,252,252,252,233,244,12,255,254,0
786}; 787};
@@ -795,6 +796,7 @@ enum {
795 GLOB_vm_leave_unw, 796 GLOB_vm_leave_unw,
796 GLOB_vm_unwind_c, 797 GLOB_vm_unwind_c,
797 GLOB_vm_unwind_c_eh, 798 GLOB_vm_unwind_c_eh,
799 GLOB_vm_unwind_rethrow,
798 GLOB_vm_unwind_ff, 800 GLOB_vm_unwind_ff,
799 GLOB_vm_unwind_ff_eh, 801 GLOB_vm_unwind_ff_eh,
800 GLOB_vm_growstack_c, 802 GLOB_vm_growstack_c,
@@ -954,6 +956,7 @@ static const char *const globnames[] = {
954 "vm_leave_unw", 956 "vm_leave_unw",
955 "vm_unwind_c@8", 957 "vm_unwind_c@8",
956 "vm_unwind_c_eh", 958 "vm_unwind_c_eh",
959 "vm_unwind_rethrow",
957 "vm_unwind_ff@4", 960 "vm_unwind_ff@4",
958 "vm_unwind_ff_eh", 961 "vm_unwind_ff_eh",
959 "vm_growstack_c", 962 "vm_growstack_c",
@@ -1105,6 +1108,7 @@ static const char *const globnames[] = {
1105}; 1108};
1106static const char *const extnames[] = { 1109static const char *const extnames[] = {
1107 "lj_state_growstack@8", 1110 "lj_state_growstack@8",
1111 "lj_err_throw@8",
1108 "lj_meta_tget", 1112 "lj_meta_tget",
1109 "lj_meta_tset", 1113 "lj_meta_tset",
1110 "lj_meta_comp", 1114 "lj_meta_comp",
@@ -1130,7 +1134,6 @@ static const char *const extnames[] = {
1130 "lj_trace_hot@8", 1134 "lj_trace_hot@8",
1131 "lj_dispatch_call@8", 1135 "lj_dispatch_call@8",
1132 "lj_trace_exit@8", 1136 "lj_trace_exit@8",
1133 "lj_err_throw@8",
1134 "lj_meta_cat", 1137 "lj_meta_cat",
1135 "lj_gc_barrieruv@8", 1138 "lj_gc_barrieruv@8",
1136 "lj_func_closeuv@8", 1139 "lj_func_closeuv@8",
@@ -1166,674 +1169,674 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1166 dasm_put(Dst, 0); 1169 dasm_put(Dst, 0);
1167 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C); 1170 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1168 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL); 1171 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1169 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); 1172 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1170 dasm_put(Dst, 296, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 1173 dasm_put(Dst, 302, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1171 dasm_put(Dst, 365, 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); 1174 dasm_put(Dst, 385, 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);
1172 dasm_put(Dst, 529, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1175 dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1173 dasm_put(Dst, 642, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); 1176 dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0);
1174 dasm_put(Dst, 807, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1177 dasm_put(Dst, 817, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1175 if (LJ_DUALNUM) { 1178 if (LJ_DUALNUM) {
1176 dasm_put(Dst, 912, LJ_TISNUM); 1179 dasm_put(Dst, 935, LJ_TISNUM);
1177 } else if (sse) { 1180 } else if (sse) {
1178 dasm_put(Dst, 921); 1181 dasm_put(Dst, 944);
1179 } else { 1182 } else {
1180 } 1183 }
1181 dasm_put(Dst, 933, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1184 dasm_put(Dst, 956, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1182 dasm_put(Dst, 1079, DISPATCH_GL(tmptv), LJ_TTAB); 1185 dasm_put(Dst, 1102, DISPATCH_GL(tmptv), LJ_TTAB);
1183 if (LJ_DUALNUM) { 1186 if (LJ_DUALNUM) {
1184 dasm_put(Dst, 912, LJ_TISNUM); 1187 dasm_put(Dst, 935, LJ_TISNUM);
1185 } else if (sse) { 1188 } else if (sse) {
1186 dasm_put(Dst, 921); 1189 dasm_put(Dst, 944);
1187 } else { 1190 } else {
1188 } 1191 }
1189 dasm_put(Dst, 1103, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1192 dasm_put(Dst, 1126, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1190 dasm_put(Dst, 1275, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1193 dasm_put(Dst, 1298, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1191 dasm_put(Dst, 1374); 1194 dasm_put(Dst, 1397);
1192#if LJ_HASFFI 1195#if LJ_HASFFI
1193 dasm_put(Dst, 1394, Dt1(->base)); 1196 dasm_put(Dst, 1417, Dt1(->base));
1194#endif 1197#endif
1195 dasm_put(Dst, 1425); 1198 dasm_put(Dst, 1448);
1196#if LJ_DUALNUM 1199#if LJ_DUALNUM
1197 dasm_put(Dst, 1428); 1200 dasm_put(Dst, 1451);
1198#endif 1201#endif
1199 dasm_put(Dst, 1434); 1202 dasm_put(Dst, 1457);
1200#if LJ_DUALNUM 1203#if LJ_DUALNUM
1201 dasm_put(Dst, 906); 1204 dasm_put(Dst, 929);
1202#endif 1205#endif
1203 dasm_put(Dst, 1447); 1206 dasm_put(Dst, 1470);
1204#if LJ_DUALNUM 1207#if LJ_DUALNUM
1205 dasm_put(Dst, 1428); 1208 dasm_put(Dst, 1451);
1206#endif 1209#endif
1207 dasm_put(Dst, 1476, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1210 dasm_put(Dst, 1499, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1208 dasm_put(Dst, 1608, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1211 dasm_put(Dst, 1631, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1209 dasm_put(Dst, 1792, 1+1, ~LJ_TNUMX); 1212 dasm_put(Dst, 1815, 1+1, ~LJ_TNUMX);
1210 if (cmov) { 1213 if (cmov) {
1211 dasm_put(Dst, 1837); 1214 dasm_put(Dst, 1860);
1212 } else { 1215 } else {
1213 dasm_put(Dst, 1841); 1216 dasm_put(Dst, 1864);
1214 } 1217 }
1215 dasm_put(Dst, 1850, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1218 dasm_put(Dst, 1873, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1216 dasm_put(Dst, 1929, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1219 dasm_put(Dst, 1952, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1217 dasm_put(Dst, 1987, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 1220 dasm_put(Dst, 2010, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1218 dasm_put(Dst, 2056, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); 1221 dasm_put(Dst, 2079, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK);
1219 dasm_put(Dst, 2125, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1222 dasm_put(Dst, 2148, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1220 if (LJ_DUALNUM) { 1223 if (LJ_DUALNUM) {
1221 dasm_put(Dst, 2211); 1224 dasm_put(Dst, 2234);
1222 } else { 1225 } else {
1223 dasm_put(Dst, 2228); 1226 dasm_put(Dst, 2251);
1224 } 1227 }
1225 if (sse) { 1228 if (sse) {
1226 dasm_put(Dst, 2233); 1229 dasm_put(Dst, 2256);
1227 } else { 1230 } else {
1228 dasm_put(Dst, 2243); 1231 dasm_put(Dst, 2266);
1229 } 1232 }
1230 dasm_put(Dst, 2250, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1233 dasm_put(Dst, 2273, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1231 dasm_put(Dst, 2319, Dt1(->base)); 1234 dasm_put(Dst, 2342, Dt1(->base));
1232 if (LJ_DUALNUM) { 1235 if (LJ_DUALNUM) {
1233 dasm_put(Dst, 2345); 1236 dasm_put(Dst, 2368);
1234 } else { 1237 } else {
1235 dasm_put(Dst, 2350); 1238 dasm_put(Dst, 2373);
1236 } 1239 }
1237 dasm_put(Dst, 2355, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1240 dasm_put(Dst, 2378, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1238 dasm_put(Dst, 2447, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1241 dasm_put(Dst, 2470, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1239#ifdef LUAJIT_ENABLE_LUA52COMPAT 1242#ifdef LUAJIT_ENABLE_LUA52COMPAT
1240 dasm_put(Dst, 2494, Dt6(->metatable)); 1243 dasm_put(Dst, 2517, Dt6(->metatable));
1241#endif 1244#endif
1242 dasm_put(Dst, 2503, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1245 dasm_put(Dst, 2526, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1243 if (LJ_DUALNUM) { 1246 if (LJ_DUALNUM) {
1244 dasm_put(Dst, 2489); 1247 dasm_put(Dst, 2512);
1245 } else { 1248 } else {
1246 dasm_put(Dst, 2228); 1249 dasm_put(Dst, 2251);
1247 } 1250 }
1248 dasm_put(Dst, 2558); 1251 dasm_put(Dst, 2581);
1249 if (LJ_DUALNUM) { 1252 if (LJ_DUALNUM) {
1250 dasm_put(Dst, 2563, LJ_TISNUM); 1253 dasm_put(Dst, 2586, LJ_TISNUM);
1251 } else if (sse) { 1254 } else if (sse) {
1252 dasm_put(Dst, 2579, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1255 dasm_put(Dst, 2602, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1253 } else { 1256 } else {
1254 } 1257 }
1255 dasm_put(Dst, 2612, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1258 dasm_put(Dst, 2635, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1256 dasm_put(Dst, 2474, 1+1, LJ_TTAB); 1259 dasm_put(Dst, 2497, 1+1, LJ_TTAB);
1257#ifdef LUAJIT_ENABLE_LUA52COMPAT 1260#ifdef LUAJIT_ENABLE_LUA52COMPAT
1258 dasm_put(Dst, 2494, Dt6(->metatable)); 1261 dasm_put(Dst, 2517, Dt6(->metatable));
1259#endif 1262#endif
1260 dasm_put(Dst, 2689, Dt8(->upvalue[0]), LJ_TFUNC); 1263 dasm_put(Dst, 2712, Dt8(->upvalue[0]), LJ_TFUNC);
1261 if (LJ_DUALNUM) { 1264 if (LJ_DUALNUM) {
1262 dasm_put(Dst, 2710, LJ_TISNUM); 1265 dasm_put(Dst, 2733, LJ_TISNUM);
1263 } else if (sse) { 1266 } else if (sse) {
1264 dasm_put(Dst, 2722); 1267 dasm_put(Dst, 2745);
1265 } else { 1268 } else {
1266 dasm_put(Dst, 2732); 1269 dasm_put(Dst, 2755);
1267 } 1270 }
1268 dasm_put(Dst, 2739, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1271 dasm_put(Dst, 2762, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1269 dasm_put(Dst, 2804, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1272 dasm_put(Dst, 2827, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1270 dasm_put(Dst, 2893, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1273 dasm_put(Dst, 2916, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1271 dasm_put(Dst, 2980, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1274 dasm_put(Dst, 3003, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1272 dasm_put(Dst, 3095, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1275 dasm_put(Dst, 3118, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1273 dasm_put(Dst, 3190, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1276 dasm_put(Dst, 3213, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1274 dasm_put(Dst, 3256, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1277 dasm_put(Dst, 3279, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1275 dasm_put(Dst, 3345, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1278 dasm_put(Dst, 3368, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1276 dasm_put(Dst, 3455, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1279 dasm_put(Dst, 3478, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1277 if (!LJ_DUALNUM) { 1280 if (!LJ_DUALNUM) {
1278 dasm_put(Dst, 3482); 1281 dasm_put(Dst, 3505);
1279 } 1282 }
1280 if (sse) { 1283 if (sse) {
1281 dasm_put(Dst, 3485); 1284 dasm_put(Dst, 3508);
1282 } 1285 }
1283 dasm_put(Dst, 3500, 1+1); 1286 dasm_put(Dst, 3523, 1+1);
1284 if (LJ_DUALNUM) { 1287 if (LJ_DUALNUM) {
1285 dasm_put(Dst, 3511, LJ_TISNUM, LJ_TISNUM); 1288 dasm_put(Dst, 3534, LJ_TISNUM, LJ_TISNUM);
1286 } else { 1289 } else {
1287 dasm_put(Dst, 3591, LJ_TISNUM); 1290 dasm_put(Dst, 3614, LJ_TISNUM);
1288 } 1291 }
1289 if (sse) { 1292 if (sse) {
1290 dasm_put(Dst, 3601, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1293 dasm_put(Dst, 3624, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1291 } else { 1294 } else {
1292 dasm_put(Dst, 3632); 1295 dasm_put(Dst, 3655);
1293 } 1296 }
1294 dasm_put(Dst, 3649, 1+1, FRAME_TYPE, LJ_TNIL); 1297 dasm_put(Dst, 3672, 1+1, FRAME_TYPE, LJ_TNIL);
1295 if (LJ_DUALNUM) { 1298 if (LJ_DUALNUM) {
1296 dasm_put(Dst, 3746, LJ_TISNUM); 1299 dasm_put(Dst, 3769, LJ_TISNUM);
1297 } else { 1300 } else {
1298 dasm_put(Dst, 3591, LJ_TISNUM); 1301 dasm_put(Dst, 3614, LJ_TISNUM);
1299 } 1302 }
1300 if (sse) { 1303 if (sse) {
1301 dasm_put(Dst, 3768); 1304 dasm_put(Dst, 3791);
1302 if (LJ_DUALNUM) { 1305 if (LJ_DUALNUM) {
1303 dasm_put(Dst, 3777); 1306 dasm_put(Dst, 3800);
1304 } 1307 }
1305 dasm_put(Dst, 2238); 1308 dasm_put(Dst, 2261);
1306 } else { 1309 } else {
1307 dasm_put(Dst, 3811); 1310 dasm_put(Dst, 3834);
1308 if (LJ_DUALNUM) { 1311 if (LJ_DUALNUM) {
1309 } else { 1312 } else {
1310 dasm_put(Dst, 2245); 1313 dasm_put(Dst, 2268);
1311 } 1314 }
1312 } 1315 }
1313 dasm_put(Dst, 3817); 1316 dasm_put(Dst, 3840);
1314 if (LJ_DUALNUM) { 1317 if (LJ_DUALNUM) {
1315 dasm_put(Dst, 3746, LJ_TISNUM); 1318 dasm_put(Dst, 3769, LJ_TISNUM);
1316 } else { 1319 } else {
1317 dasm_put(Dst, 3591, LJ_TISNUM); 1320 dasm_put(Dst, 3614, LJ_TISNUM);
1318 } 1321 }
1319 if (sse) { 1322 if (sse) {
1320 dasm_put(Dst, 3820); 1323 dasm_put(Dst, 3843);
1321 if (LJ_DUALNUM) { 1324 if (LJ_DUALNUM) {
1322 dasm_put(Dst, 3777); 1325 dasm_put(Dst, 3800);
1323 } 1326 }
1324 dasm_put(Dst, 2238); 1327 dasm_put(Dst, 2261);
1325 } else { 1328 } else {
1326 dasm_put(Dst, 3829); 1329 dasm_put(Dst, 3852);
1327 if (LJ_DUALNUM) { 1330 if (LJ_DUALNUM) {
1328 } else { 1331 } else {
1329 dasm_put(Dst, 2245); 1332 dasm_put(Dst, 2268);
1330 } 1333 }
1331 } 1334 }
1332 if (sse) { 1335 if (sse) {
1333 dasm_put(Dst, 3835, 1+1, LJ_TISNUM); 1336 dasm_put(Dst, 3858, 1+1, LJ_TISNUM);
1334 } else { 1337 } else {
1335 dasm_put(Dst, 3864, 1+1, LJ_TISNUM); 1338 dasm_put(Dst, 3887, 1+1, LJ_TISNUM);
1336 } 1339 }
1337 dasm_put(Dst, 3893, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1340 dasm_put(Dst, 3916, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1338 dasm_put(Dst, 3962, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1341 dasm_put(Dst, 3985, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1339 dasm_put(Dst, 4019, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1342 dasm_put(Dst, 4042, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1340 dasm_put(Dst, 4082, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1343 dasm_put(Dst, 4105, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1341 dasm_put(Dst, 4172); 1344 dasm_put(Dst, 4195);
1342 if (sse) { 1345 if (sse) {
1343 dasm_put(Dst, 4184, 1+1, LJ_TISNUM); 1346 dasm_put(Dst, 4207, 1+1, LJ_TISNUM);
1344 } else { 1347 } else {
1345 } 1348 }
1346 dasm_put(Dst, 4209); 1349 dasm_put(Dst, 4232);
1347 if (sse) { 1350 if (sse) {
1348 dasm_put(Dst, 4223, 1+1, LJ_TISNUM); 1351 dasm_put(Dst, 4246, 1+1, LJ_TISNUM);
1349 } else { 1352 } else {
1350 } 1353 }
1351 dasm_put(Dst, 4248); 1354 dasm_put(Dst, 4271);
1352 if (sse) { 1355 if (sse) {
1353 dasm_put(Dst, 4262, 1+1, LJ_TISNUM); 1356 dasm_put(Dst, 4285, 1+1, LJ_TISNUM);
1354 } else { 1357 } else {
1355 } 1358 }
1356 dasm_put(Dst, 4287); 1359 dasm_put(Dst, 4310);
1357 if (sse) { 1360 if (sse) {
1358 dasm_put(Dst, 4303, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1361 dasm_put(Dst, 4326, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1359 } else { 1362 } else {
1360 dasm_put(Dst, 4342, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1363 dasm_put(Dst, 4365, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1361 } 1364 }
1362 dasm_put(Dst, 4375, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1365 dasm_put(Dst, 4398, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1363 dasm_put(Dst, 4440, 1+1, LJ_TISNUM); 1366 dasm_put(Dst, 4463, 1+1, LJ_TISNUM);
1364 if (sse) { 1367 if (sse) {
1365 dasm_put(Dst, 4539); 1368 dasm_put(Dst, 4562);
1366 } else { 1369 } else {
1367 dasm_put(Dst, 4545); 1370 dasm_put(Dst, 4568);
1368 } 1371 }
1369 dasm_put(Dst, 4552); 1372 dasm_put(Dst, 4575);
1370 if (sse) { 1373 if (sse) {
1371 dasm_put(Dst, 4577); 1374 dasm_put(Dst, 4600);
1372 } else { 1375 } else {
1373 dasm_put(Dst, 4583); 1376 dasm_put(Dst, 4606);
1374 } 1377 }
1375 dasm_put(Dst, 4586, 1+2); 1378 dasm_put(Dst, 4609, 1+2);
1376 if (sse) { 1379 if (sse) {
1377 dasm_put(Dst, 4595); 1380 dasm_put(Dst, 4618);
1378 } else { 1381 } else {
1379 dasm_put(Dst, 4603); 1382 dasm_put(Dst, 4626);
1380 } 1383 }
1381 dasm_put(Dst, 4611); 1384 dasm_put(Dst, 4634);
1382 if (sse) { 1385 if (sse) {
1383 dasm_put(Dst, 4614, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1386 dasm_put(Dst, 4637, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1384 } else { 1387 } else {
1385 dasm_put(Dst, 4641); 1388 dasm_put(Dst, 4664);
1386 } 1389 }
1387 dasm_put(Dst, 4658); 1390 dasm_put(Dst, 4681);
1388 if (sse) { 1391 if (sse) {
1389 dasm_put(Dst, 4674, 1+1, LJ_TISNUM); 1392 dasm_put(Dst, 4697, 1+1, LJ_TISNUM);
1390 } else { 1393 } else {
1391 dasm_put(Dst, 4699, 1+1, LJ_TISNUM); 1394 dasm_put(Dst, 4722, 1+1, LJ_TISNUM);
1392 } 1395 }
1393 dasm_put(Dst, 4721); 1396 dasm_put(Dst, 4744);
1394 if (sse) { 1397 if (sse) {
1395 dasm_put(Dst, 4743); 1398 dasm_put(Dst, 4766);
1396 } else { 1399 } else {
1397 dasm_put(Dst, 4769); 1400 dasm_put(Dst, 4792);
1398 } 1401 }
1399 dasm_put(Dst, 4786, 1+2); 1402 dasm_put(Dst, 4809, 1+2);
1400 if (sse) { 1403 if (sse) {
1401 dasm_put(Dst, 4826); 1404 dasm_put(Dst, 4849);
1402 } else { 1405 } else {
1403 dasm_put(Dst, 4834); 1406 dasm_put(Dst, 4857);
1404 } 1407 }
1405 dasm_put(Dst, 4844, 2+1, LJ_TISNUM, LJ_TISNUM); 1408 dasm_put(Dst, 4867, 2+1, LJ_TISNUM, LJ_TISNUM);
1406 if (sse) { 1409 if (sse) {
1407 dasm_put(Dst, 4896, 2+1, LJ_TISNUM, LJ_TISNUM); 1410 dasm_put(Dst, 4919, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } else { 1411 } else {
1409 dasm_put(Dst, 4943, 2+1, LJ_TISNUM, LJ_TISNUM); 1412 dasm_put(Dst, 4966, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 } 1413 }
1411 dasm_put(Dst, 4984, LJ_TISNUM); 1414 dasm_put(Dst, 5007, LJ_TISNUM);
1412 if (LJ_DUALNUM) { 1415 if (LJ_DUALNUM) {
1413 dasm_put(Dst, 4997, LJ_TISNUM); 1416 dasm_put(Dst, 5020, LJ_TISNUM);
1414 if (sse) { 1417 if (sse) {
1415 dasm_put(Dst, 4539); 1418 dasm_put(Dst, 4562);
1416 } else { 1419 } else {
1417 } 1420 }
1418 dasm_put(Dst, 5047); 1421 dasm_put(Dst, 5070);
1419 } else { 1422 } else {
1420 dasm_put(Dst, 2228); 1423 dasm_put(Dst, 2251);
1421 } 1424 }
1422 if (sse) { 1425 if (sse) {
1423 dasm_put(Dst, 5058, LJ_TISNUM); 1426 dasm_put(Dst, 5081, LJ_TISNUM);
1424 if (LJ_DUALNUM) { 1427 if (LJ_DUALNUM) {
1425 dasm_put(Dst, 5079); 1428 dasm_put(Dst, 5102);
1426 } else { 1429 } else {
1427 dasm_put(Dst, 2228); 1430 dasm_put(Dst, 2251);
1428 } 1431 }
1429 dasm_put(Dst, 5100); 1432 dasm_put(Dst, 5123);
1430 } else { 1433 } else {
1431 } 1434 }
1432 dasm_put(Dst, 5125, LJ_TISNUM); 1435 dasm_put(Dst, 5148, LJ_TISNUM);
1433 if (LJ_DUALNUM) { 1436 if (LJ_DUALNUM) {
1434 dasm_put(Dst, 5138, LJ_TISNUM); 1437 dasm_put(Dst, 5161, LJ_TISNUM);
1435 if (sse) { 1438 if (sse) {
1436 dasm_put(Dst, 4539); 1439 dasm_put(Dst, 4562);
1437 } else { 1440 } else {
1438 } 1441 }
1439 dasm_put(Dst, 5047); 1442 dasm_put(Dst, 5070);
1440 } else { 1443 } else {
1441 dasm_put(Dst, 2228); 1444 dasm_put(Dst, 2251);
1442 } 1445 }
1443 if (sse) { 1446 if (sse) {
1444 dasm_put(Dst, 5058, LJ_TISNUM); 1447 dasm_put(Dst, 5081, LJ_TISNUM);
1445 if (LJ_DUALNUM) { 1448 if (LJ_DUALNUM) {
1446 dasm_put(Dst, 5079); 1449 dasm_put(Dst, 5102);
1447 } else { 1450 } else {
1448 dasm_put(Dst, 2228); 1451 dasm_put(Dst, 2251);
1449 } 1452 }
1450 dasm_put(Dst, 5188); 1453 dasm_put(Dst, 5211);
1451 } else { 1454 } else {
1452 } 1455 }
1453 if (!sse) { 1456 if (!sse) {
1454 dasm_put(Dst, 5213); 1457 dasm_put(Dst, 5236);
1455 } 1458 }
1456 dasm_put(Dst, 5222, 1+1, LJ_TSTR); 1459 dasm_put(Dst, 5245, 1+1, LJ_TSTR);
1457 if (LJ_DUALNUM) { 1460 if (LJ_DUALNUM) {
1458 dasm_put(Dst, 5244, Dt5(->len)); 1461 dasm_put(Dst, 5267, Dt5(->len));
1459 } else if (sse) { 1462 } else if (sse) {
1460 dasm_put(Dst, 5252, Dt5(->len)); 1463 dasm_put(Dst, 5275, Dt5(->len));
1461 } else { 1464 } else {
1462 dasm_put(Dst, 5263, Dt5(->len)); 1465 dasm_put(Dst, 5286, Dt5(->len));
1463 } 1466 }
1464 dasm_put(Dst, 5271, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1467 dasm_put(Dst, 5294, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1465 if (LJ_DUALNUM) { 1468 if (LJ_DUALNUM) {
1466 dasm_put(Dst, 5247); 1469 dasm_put(Dst, 5270);
1467 } else if (sse) { 1470 } else if (sse) {
1468 dasm_put(Dst, 5309); 1471 dasm_put(Dst, 5332);
1469 } else { 1472 } else {
1470 dasm_put(Dst, 5319); 1473 dasm_put(Dst, 5342);
1471 } 1474 }
1472 dasm_put(Dst, 5330, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1475 dasm_put(Dst, 5353, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1473 if (LJ_DUALNUM) { 1476 if (LJ_DUALNUM) {
1474 dasm_put(Dst, 5363);
1475 } else if (sse) {
1476 dasm_put(Dst, 5386); 1477 dasm_put(Dst, 5386);
1478 } else if (sse) {
1479 dasm_put(Dst, 5409);
1477 } else { 1480 } else {
1478 dasm_put(Dst, 5412); 1481 dasm_put(Dst, 5435);
1479 } 1482 }
1480 dasm_put(Dst, 5436, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1483 dasm_put(Dst, 5459, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1481 if (LJ_DUALNUM) { 1484 if (LJ_DUALNUM) {
1482 dasm_put(Dst, 5545); 1485 dasm_put(Dst, 5568);
1483 } else if (sse) { 1486 } else if (sse) {
1484 dasm_put(Dst, 5557); 1487 dasm_put(Dst, 5580);
1485 } else { 1488 } else {
1486 dasm_put(Dst, 5572); 1489 dasm_put(Dst, 5595);
1487 } 1490 }
1488 dasm_put(Dst, 5584, LJ_TSTR, LJ_TISNUM); 1491 dasm_put(Dst, 5607, LJ_TSTR, LJ_TISNUM);
1489 if (LJ_DUALNUM) { 1492 if (LJ_DUALNUM) {
1490 dasm_put(Dst, 2489); 1493 dasm_put(Dst, 2512);
1491 } else { 1494 } else {
1492 dasm_put(Dst, 2228); 1495 dasm_put(Dst, 2251);
1493 } 1496 }
1494 dasm_put(Dst, 5601, Dt5(->len)); 1497 dasm_put(Dst, 5624, Dt5(->len));
1495 if (LJ_DUALNUM) { 1498 if (LJ_DUALNUM) {
1496 dasm_put(Dst, 5611); 1499 dasm_put(Dst, 5634);
1497 } else if (sse) { 1500 } else if (sse) {
1498 dasm_put(Dst, 5615); 1501 dasm_put(Dst, 5638);
1499 } else { 1502 } else {
1500 } 1503 }
1501 dasm_put(Dst, 5622, sizeof(GCstr)-1); 1504 dasm_put(Dst, 5645, sizeof(GCstr)-1);
1502 dasm_put(Dst, 5697, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1505 dasm_put(Dst, 5720, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1503 dasm_put(Dst, 5758, LJ_TSTR, LJ_TISNUM); 1506 dasm_put(Dst, 5781, LJ_TSTR, LJ_TISNUM);
1504 if (LJ_DUALNUM) { 1507 if (LJ_DUALNUM) {
1505 dasm_put(Dst, 5775); 1508 dasm_put(Dst, 5798);
1506 } else if (sse) { 1509 } else if (sse) {
1507 dasm_put(Dst, 5783); 1510 dasm_put(Dst, 5806);
1508 } else { 1511 } else {
1509 dasm_put(Dst, 5794); 1512 dasm_put(Dst, 5817);
1510 } 1513 }
1511 dasm_put(Dst, 5810, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1514 dasm_put(Dst, 5833, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1512 dasm_put(Dst, 5878, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1515 dasm_put(Dst, 5901, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1513 dasm_put(Dst, 5945, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1516 dasm_put(Dst, 5968, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1514 dasm_put(Dst, 6018, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1517 dasm_put(Dst, 6041, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1515 dasm_put(Dst, 6103, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1518 dasm_put(Dst, 6126, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1516 dasm_put(Dst, 6177, 1+1, LJ_TTAB); 1519 dasm_put(Dst, 6200, 1+1, LJ_TTAB);
1517 if (LJ_DUALNUM) { 1520 if (LJ_DUALNUM) {
1518 dasm_put(Dst, 6244); 1521 dasm_put(Dst, 6267);
1519 } else if (sse) { 1522 } else if (sse) {
1520 dasm_put(Dst, 6251); 1523 dasm_put(Dst, 6274);
1521 } else { 1524 } else {
1522 } 1525 }
1523 dasm_put(Dst, 6261, LJ_TISNUM); 1526 dasm_put(Dst, 6284, LJ_TISNUM);
1524 if (LJ_DUALNUM) { 1527 if (LJ_DUALNUM) {
1525 dasm_put(Dst, 6269); 1528 dasm_put(Dst, 6292);
1526 } else { 1529 } else {
1527 dasm_put(Dst, 2228); 1530 dasm_put(Dst, 2251);
1528 } 1531 }
1529 if (sse) { 1532 if (sse) {
1530 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1533 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1531 } else { 1534 } else {
1532 } 1535 }
1533 dasm_put(Dst, 106); 1536 dasm_put(Dst, 106);
1534 if (LJ_DUALNUM || sse) { 1537 if (LJ_DUALNUM || sse) {
1535 if (!sse) { 1538 if (!sse) {
1536 } 1539 }
1537 dasm_put(Dst, 6310); 1540 dasm_put(Dst, 6333);
1538 } else { 1541 } else {
1539 } 1542 }
1540 dasm_put(Dst, 6315); 1543 dasm_put(Dst, 6338);
1541 if (sse) { 1544 if (sse) {
1542 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1545 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1543 } else { 1546 } else {
1544 dasm_put(Dst, 6328); 1547 dasm_put(Dst, 6351);
1545 } 1548 }
1546 dasm_put(Dst, 2205, LJ_TISNUM); 1549 dasm_put(Dst, 2228, LJ_TISNUM);
1547 if (LJ_DUALNUM) { 1550 if (LJ_DUALNUM) {
1548 dasm_put(Dst, 6336); 1551 dasm_put(Dst, 6359);
1549 } else { 1552 } else {
1550 dasm_put(Dst, 2228); 1553 dasm_put(Dst, 2251);
1551 } 1554 }
1552 if (sse) { 1555 if (sse) {
1553 dasm_put(Dst, 6353); 1556 dasm_put(Dst, 6376);
1554 } else { 1557 } else {
1555 } 1558 }
1556 dasm_put(Dst, 6368, LJ_TISNUM); 1559 dasm_put(Dst, 6391, LJ_TISNUM);
1557 if (LJ_DUALNUM) { 1560 if (LJ_DUALNUM) {
1558 dasm_put(Dst, 6393); 1561 dasm_put(Dst, 6416);
1559 } else { 1562 } else {
1560 dasm_put(Dst, 6413); 1563 dasm_put(Dst, 6436);
1561 } 1564 }
1562 if (sse) { 1565 if (sse) {
1563 dasm_put(Dst, 6418); 1566 dasm_put(Dst, 6441);
1564 } else { 1567 } else {
1565 } 1568 }
1566 dasm_put(Dst, 6435); 1569 dasm_put(Dst, 6458);
1567 if (sse) { 1570 if (sse) {
1568 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1571 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1569 } else { 1572 } else {
1570 dasm_put(Dst, 6328); 1573 dasm_put(Dst, 6351);
1571 } 1574 }
1572 dasm_put(Dst, 2205, LJ_TISNUM); 1575 dasm_put(Dst, 2228, LJ_TISNUM);
1573 if (LJ_DUALNUM) { 1576 if (LJ_DUALNUM) {
1574 dasm_put(Dst, 6336); 1577 dasm_put(Dst, 6359);
1575 } else { 1578 } else {
1576 dasm_put(Dst, 2228); 1579 dasm_put(Dst, 2251);
1577 } 1580 }
1578 if (sse) { 1581 if (sse) {
1579 dasm_put(Dst, 6353); 1582 dasm_put(Dst, 6376);
1580 } else { 1583 } else {
1581 } 1584 }
1582 dasm_put(Dst, 6368, LJ_TISNUM); 1585 dasm_put(Dst, 6391, LJ_TISNUM);
1583 if (LJ_DUALNUM) { 1586 if (LJ_DUALNUM) {
1584 dasm_put(Dst, 6445); 1587 dasm_put(Dst, 6468);
1585 } else { 1588 } else {
1586 dasm_put(Dst, 6413); 1589 dasm_put(Dst, 6436);
1587 } 1590 }
1588 if (sse) { 1591 if (sse) {
1589 dasm_put(Dst, 6465); 1592 dasm_put(Dst, 6488);
1590 } else { 1593 } else {
1591 } 1594 }
1592 dasm_put(Dst, 6482); 1595 dasm_put(Dst, 6505);
1593 if (sse) { 1596 if (sse) {
1594 dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1597 dasm_put(Dst, 6341, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1595 } else { 1598 } else {
1596 dasm_put(Dst, 6328); 1599 dasm_put(Dst, 6351);
1597 } 1600 }
1598 dasm_put(Dst, 2205, LJ_TISNUM); 1601 dasm_put(Dst, 2228, LJ_TISNUM);
1599 if (LJ_DUALNUM) { 1602 if (LJ_DUALNUM) {
1600 dasm_put(Dst, 6336); 1603 dasm_put(Dst, 6359);
1601 } else { 1604 } else {
1602 dasm_put(Dst, 2228); 1605 dasm_put(Dst, 2251);
1603 } 1606 }
1604 if (sse) { 1607 if (sse) {
1605 dasm_put(Dst, 6353); 1608 dasm_put(Dst, 6376);
1606 } else { 1609 } else {
1607 } 1610 }
1608 dasm_put(Dst, 6368, LJ_TISNUM); 1611 dasm_put(Dst, 6391, LJ_TISNUM);
1609 if (LJ_DUALNUM) { 1612 if (LJ_DUALNUM) {
1610 dasm_put(Dst, 6492); 1613 dasm_put(Dst, 6515);
1611 } else { 1614 } else {
1612 dasm_put(Dst, 6413); 1615 dasm_put(Dst, 6436);
1613 } 1616 }
1614 if (sse) { 1617 if (sse) {
1615 dasm_put(Dst, 6512); 1618 dasm_put(Dst, 6535);
1616 } else { 1619 } else {
1617 } 1620 }
1618 dasm_put(Dst, 6529, LJ_TISNUM); 1621 dasm_put(Dst, 6552, LJ_TISNUM);
1619 if (LJ_DUALNUM) { 1622 if (LJ_DUALNUM) {
1620 dasm_put(Dst, 6336); 1623 dasm_put(Dst, 6359);
1621 } else { 1624 } else {
1622 dasm_put(Dst, 2228); 1625 dasm_put(Dst, 2251);
1623 } 1626 }
1624 if (sse) { 1627 if (sse) {
1625 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1628 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1626 } else { 1629 } else {
1627 } 1630 }
1628 dasm_put(Dst, 6544, LJ_TISNUM); 1631 dasm_put(Dst, 6567, LJ_TISNUM);
1629 if (LJ_DUALNUM) { 1632 if (LJ_DUALNUM) {
1630 dasm_put(Dst, 6336); 1633 dasm_put(Dst, 6359);
1631 } else { 1634 } else {
1632 dasm_put(Dst, 2228); 1635 dasm_put(Dst, 2251);
1633 } 1636 }
1634 if (sse) { 1637 if (sse) {
1635 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1638 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1636 } else { 1639 } else {
1637 } 1640 }
1638 dasm_put(Dst, 6560); 1641 dasm_put(Dst, 6583);
1639 if (LJ_DUALNUM) { 1642 if (LJ_DUALNUM) {
1640 dasm_put(Dst, 6310); 1643 dasm_put(Dst, 6333);
1641 } else if (sse) { 1644 } else if (sse) {
1642 dasm_put(Dst, 6566); 1645 dasm_put(Dst, 6589);
1643 } else { 1646 } else {
1644 } 1647 }
1645 dasm_put(Dst, 6578); 1648 dasm_put(Dst, 6601);
1646 if (LJ_DUALNUM) { 1649 if (LJ_DUALNUM) {
1647 dasm_put(Dst, 6589, LJ_TISNUM); 1650 dasm_put(Dst, 6612, LJ_TISNUM);
1648 if (LJ_DUALNUM) { 1651 if (LJ_DUALNUM) {
1649 dasm_put(Dst, 6336); 1652 dasm_put(Dst, 6359);
1650 } else { 1653 } else {
1651 dasm_put(Dst, 2228); 1654 dasm_put(Dst, 2251);
1652 } 1655 }
1653 if (sse) { 1656 if (sse) {
1654 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1657 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1655 } else { 1658 } else {
1656 } 1659 }
1657 dasm_put(Dst, 6597, LJ_TISNUM); 1660 dasm_put(Dst, 6620, LJ_TISNUM);
1658 } else if (sse) { 1661 } else if (sse) {
1659 dasm_put(Dst, 6612, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1662 dasm_put(Dst, 6635, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1660 } else { 1663 } else {
1661 } 1664 }
1662 dasm_put(Dst, 6679); 1665 dasm_put(Dst, 6702);
1663 if (LJ_DUALNUM) { 1666 if (LJ_DUALNUM) {
1664 dasm_put(Dst, 6686, LJ_TISNUM); 1667 dasm_put(Dst, 6709, LJ_TISNUM);
1665 if (LJ_DUALNUM) { 1668 if (LJ_DUALNUM) {
1666 dasm_put(Dst, 6336); 1669 dasm_put(Dst, 6359);
1667 } else { 1670 } else {
1668 dasm_put(Dst, 2228); 1671 dasm_put(Dst, 2251);
1669 } 1672 }
1670 if (sse) { 1673 if (sse) {
1671 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1674 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1672 } else { 1675 } else {
1673 } 1676 }
1674 dasm_put(Dst, 6597, LJ_TISNUM); 1677 dasm_put(Dst, 6620, LJ_TISNUM);
1675 } else if (sse) { 1678 } else if (sse) {
1676 dasm_put(Dst, 6694, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1679 dasm_put(Dst, 6717, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1677 } else { 1680 } else {
1678 } 1681 }
1679 dasm_put(Dst, 6761); 1682 dasm_put(Dst, 6784);
1680 if (LJ_DUALNUM) { 1683 if (LJ_DUALNUM) {
1681 dasm_put(Dst, 6769, LJ_TISNUM); 1684 dasm_put(Dst, 6792, LJ_TISNUM);
1682 if (LJ_DUALNUM) { 1685 if (LJ_DUALNUM) {
1683 dasm_put(Dst, 6336); 1686 dasm_put(Dst, 6359);
1684 } else { 1687 } else {
1685 dasm_put(Dst, 2228); 1688 dasm_put(Dst, 2251);
1686 } 1689 }
1687 if (sse) { 1690 if (sse) {
1688 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1691 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1689 } else { 1692 } else {
1690 } 1693 }
1691 dasm_put(Dst, 6597, LJ_TISNUM); 1694 dasm_put(Dst, 6620, LJ_TISNUM);
1692 } else if (sse) { 1695 } else if (sse) {
1693 dasm_put(Dst, 6777, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1696 dasm_put(Dst, 6800, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1694 } else { 1697 } else {
1695 } 1698 }
1696 dasm_put(Dst, 6844); 1699 dasm_put(Dst, 6867);
1697 if (LJ_DUALNUM) { 1700 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6852, LJ_TISNUM); 1701 dasm_put(Dst, 6875, LJ_TISNUM);
1699 if (LJ_DUALNUM) { 1702 if (LJ_DUALNUM) {
1700 dasm_put(Dst, 6336); 1703 dasm_put(Dst, 6359);
1701 } else { 1704 } else {
1702 dasm_put(Dst, 2228); 1705 dasm_put(Dst, 2251);
1703 } 1706 }
1704 if (sse) { 1707 if (sse) {
1705 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1708 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1706 } else { 1709 } else {
1707 } 1710 }
1708 dasm_put(Dst, 6597, LJ_TISNUM); 1711 dasm_put(Dst, 6620, LJ_TISNUM);
1709 } else if (sse) { 1712 } else if (sse) {
1710 dasm_put(Dst, 6860, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1713 dasm_put(Dst, 6883, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1711 } else { 1714 } else {
1712 } 1715 }
1713 dasm_put(Dst, 6927); 1716 dasm_put(Dst, 6950);
1714 if (LJ_DUALNUM) { 1717 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6934, LJ_TISNUM); 1718 dasm_put(Dst, 6957, LJ_TISNUM);
1716 if (LJ_DUALNUM) { 1719 if (LJ_DUALNUM) {
1717 dasm_put(Dst, 6336); 1720 dasm_put(Dst, 6359);
1718 } else { 1721 } else {
1719 dasm_put(Dst, 2228); 1722 dasm_put(Dst, 2251);
1720 } 1723 }
1721 if (sse) { 1724 if (sse) {
1722 dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1725 dasm_put(Dst, 6309, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1723 } else { 1726 } else {
1724 } 1727 }
1725 dasm_put(Dst, 6597, LJ_TISNUM); 1728 dasm_put(Dst, 6620, LJ_TISNUM);
1726 } else if (sse) { 1729 } else if (sse) {
1727 dasm_put(Dst, 6942, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1730 dasm_put(Dst, 6965, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1728 } else { 1731 } else {
1729 } 1732 }
1730 dasm_put(Dst, 7009, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1733 dasm_put(Dst, 7032, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1731 dasm_put(Dst, 7085, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1734 dasm_put(Dst, 7108, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1732 dasm_put(Dst, 7212, Dt1(->top), Dt1(->base), Dt1(->top)); 1735 dasm_put(Dst, 7235, Dt1(->top), Dt1(->base), Dt1(->top));
1733#if LJ_HASJIT 1736#if LJ_HASJIT
1734 dasm_put(Dst, 7251, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1737 dasm_put(Dst, 7274, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1735#endif 1738#endif
1736 dasm_put(Dst, 7284, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1739 dasm_put(Dst, 7307, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1737 dasm_put(Dst, 7338, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1740 dasm_put(Dst, 7361, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1738#if LJ_HASJIT 1741#if LJ_HASJIT
1739 dasm_put(Dst, 7405, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1742 dasm_put(Dst, 7428, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1740#endif 1743#endif
1741 dasm_put(Dst, 7452); 1744 dasm_put(Dst, 7475);
1742#if LJ_HASJIT 1745#if LJ_HASJIT
1743 dasm_put(Dst, 7279); 1746 dasm_put(Dst, 7302);
1744#endif 1747#endif
1745 dasm_put(Dst, 7459); 1748 dasm_put(Dst, 7482);
1746#if LJ_HASJIT 1749#if LJ_HASJIT
1747 dasm_put(Dst, 7462); 1750 dasm_put(Dst, 7485);
1748#endif 1751#endif
1749 dasm_put(Dst, 7472, Dt1(->base), Dt1(->top)); 1752 dasm_put(Dst, 7495, Dt1(->base), Dt1(->top));
1750#if LJ_HASJIT 1753#if LJ_HASJIT
1751 dasm_put(Dst, 7505); 1754 dasm_put(Dst, 7528);
1752#endif 1755#endif
1753 dasm_put(Dst, 7510, Dt1(->base), Dt1(->top)); 1756 dasm_put(Dst, 7533, Dt1(->base), Dt1(->top));
1754#if LJ_HASJIT 1757#if LJ_HASJIT
1755 dasm_put(Dst, 7541, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1758 dasm_put(Dst, 7564, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1756#endif 1759#endif
1757 dasm_put(Dst, 7780); 1760 dasm_put(Dst, 7803);
1758#if LJ_HASJIT 1761#if LJ_HASJIT
1759 dasm_put(Dst, 7783, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1762 dasm_put(Dst, 7806, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1760#endif 1763#endif
1761 dasm_put(Dst, 7883); 1764 dasm_put(Dst, 7906);
1762 if (!sse) { 1765 if (!sse) {
1763 dasm_put(Dst, 7886); 1766 dasm_put(Dst, 7909);
1764 } 1767 }
1765 dasm_put(Dst, 7931, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1768 dasm_put(Dst, 7954, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1766 if (!sse) { 1769 if (!sse) {
1767 dasm_put(Dst, 8017); 1770 dasm_put(Dst, 8040);
1768 } 1771 }
1769 dasm_put(Dst, 8062, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1772 dasm_put(Dst, 8085, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1770 if (!sse) { 1773 if (!sse) {
1771 dasm_put(Dst, 8148); 1774 dasm_put(Dst, 8171);
1772 } 1775 }
1773 dasm_put(Dst, 8187, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1776 dasm_put(Dst, 8210, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1774 if (sse) { 1777 if (sse) {
1775 dasm_put(Dst, 8276, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1778 dasm_put(Dst, 8299, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1776 } else { 1779 } else {
1777 dasm_put(Dst, 8390); 1780 dasm_put(Dst, 8413);
1778 } 1781 }
1779 dasm_put(Dst, 8437); 1782 dasm_put(Dst, 8460);
1780 if (!sse) { 1783 if (!sse) {
1781 } else { 1784 } else {
1782 dasm_put(Dst, 8514); 1785 dasm_put(Dst, 8537);
1783 } 1786 }
1784 dasm_put(Dst, 8517); 1787 dasm_put(Dst, 8540);
1785 dasm_put(Dst, 8602, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1788 dasm_put(Dst, 8625, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1786 dasm_put(Dst, 8705, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1789 dasm_put(Dst, 8728, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1787 dasm_put(Dst, 8867); 1790 dasm_put(Dst, 8890);
1788#if LJ_HASJIT 1791#if LJ_HASJIT
1789 if (sse) { 1792 if (sse) {
1790 dasm_put(Dst, 8908); 1793 dasm_put(Dst, 8931);
1791 dasm_put(Dst, 8978); 1794 dasm_put(Dst, 9001);
1792 dasm_put(Dst, 9050); 1795 dasm_put(Dst, 9073);
1793 } else { 1796 } else {
1794 dasm_put(Dst, 9102); 1797 dasm_put(Dst, 9125);
1795 dasm_put(Dst, 9194); 1798 dasm_put(Dst, 9217);
1796 } 1799 }
1797 dasm_put(Dst, 9240); 1800 dasm_put(Dst, 9263);
1798#endif 1801#endif
1799 dasm_put(Dst, 9244); 1802 dasm_put(Dst, 9267);
1800 if (sse) { 1803 if (sse) {
1801 dasm_put(Dst, 9247, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1804 dasm_put(Dst, 9270, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1802 dasm_put(Dst, 9332, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1805 dasm_put(Dst, 9355, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1803 } else { 1806 } else {
1804 dasm_put(Dst, 9460); 1807 dasm_put(Dst, 9483);
1805 dasm_put(Dst, 9543); 1808 dasm_put(Dst, 9566);
1806 if (cmov) { 1809 if (cmov) {
1807 dasm_put(Dst, 9598); 1810 dasm_put(Dst, 9621);
1808 } else { 1811 } else {
1809 dasm_put(Dst, 9617); 1812 dasm_put(Dst, 9640);
1810 } 1813 }
1811 dasm_put(Dst, 9240); 1814 dasm_put(Dst, 9263);
1812 } 1815 }
1813 dasm_put(Dst, 9658); 1816 dasm_put(Dst, 9681);
1814#if LJ_HASFFI 1817#if LJ_HASFFI
1815#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1818#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1816 dasm_put(Dst, 9682, DtE(->spadj)); 1819 dasm_put(Dst, 9705, DtE(->spadj));
1817#if LJ_TARGET_WINDOWS 1820#if LJ_TARGET_WINDOWS
1818#endif 1821#endif
1819 dasm_put(Dst, 9698, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); 1822 dasm_put(Dst, 9721, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1]));
1820 dasm_put(Dst, 9777, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); 1823 dasm_put(Dst, 9800, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1]));
1821#if LJ_TARGET_WINDOWS 1824#if LJ_TARGET_WINDOWS
1822#endif 1825#endif
1823 dasm_put(Dst, 9832); 1826 dasm_put(Dst, 9855);
1824#endif 1827#endif
1825 dasm_put(Dst, 9840); 1828 dasm_put(Dst, 9863);
1826#ifdef LUA_USE_ASSERT 1829#ifdef LUA_USE_ASSERT
1827 dasm_put(Dst, 9242); 1830 dasm_put(Dst, 9265);
1828#endif 1831#endif
1829 dasm_put(Dst, 9242); 1832 dasm_put(Dst, 9265);
1830} 1833}
1831 1834
1832/* Generate the code for a single instruction. */ 1835/* Generate the code for a single instruction. */
1833static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1836static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1834{ 1837{
1835 int vk = 0; 1838 int vk = 0;
1836 dasm_put(Dst, 9843, defop); 1839 dasm_put(Dst, 9866, defop);
1837 1840
1838 switch (op) { 1841 switch (op) {
1839 1842
@@ -1844,296 +1847,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1844 1847
1845 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1848 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1846 if (LJ_DUALNUM) { 1849 if (LJ_DUALNUM) {
1847 dasm_put(Dst, 9845, LJ_TISNUM, LJ_TISNUM); 1850 dasm_put(Dst, 9868, LJ_TISNUM, LJ_TISNUM);
1848 switch (op) { 1851 switch (op) {
1849 case BC_ISLT: 1852 case BC_ISLT:
1850 dasm_put(Dst, 9875); 1853 dasm_put(Dst, 9898);
1851 break; 1854 break;
1852 case BC_ISGE: 1855 case BC_ISGE:
1853 dasm_put(Dst, 9880); 1856 dasm_put(Dst, 9903);
1854 break; 1857 break;
1855 case BC_ISLE: 1858 case BC_ISLE:
1856 dasm_put(Dst, 9885); 1859 dasm_put(Dst, 9908);
1857 break; 1860 break;
1858 case BC_ISGT: 1861 case BC_ISGT:
1859 dasm_put(Dst, 9890); 1862 dasm_put(Dst, 9913);
1860 break; 1863 break;
1861 default: break; /* Shut up GCC. */ 1864 default: break; /* Shut up GCC. */
1862 } 1865 }
1863 dasm_put(Dst, 9895, -BCBIAS_J*4, LJ_TISNUM); 1866 dasm_put(Dst, 9918, -BCBIAS_J*4, LJ_TISNUM);
1864 if (sse) { 1867 if (sse) {
1865 dasm_put(Dst, 9950); 1868 dasm_put(Dst, 9973);
1866 } else { 1869 } else {
1867 dasm_put(Dst, 9961); 1870 dasm_put(Dst, 9984);
1868 } 1871 }
1869 dasm_put(Dst, 9972); 1872 dasm_put(Dst, 9995);
1870 if (sse) { 1873 if (sse) {
1871 dasm_put(Dst, 9979); 1874 dasm_put(Dst, 10002);
1872 switch (op) { 1875 switch (op) {
1873 case BC_ISLT: 1876 case BC_ISLT:
1874 dasm_put(Dst, 9999); 1877 dasm_put(Dst, 10022);
1875 break; 1878 break;
1876 case BC_ISGE: 1879 case BC_ISGE:
1877 dasm_put(Dst, 10004); 1880 dasm_put(Dst, 10027);
1878 break; 1881 break;
1879 case BC_ISLE: 1882 case BC_ISLE:
1880 dasm_put(Dst, 10009); 1883 dasm_put(Dst, 10032);
1881 break; 1884 break;
1882 case BC_ISGT: 1885 case BC_ISGT:
1883 dasm_put(Dst, 10014); 1886 dasm_put(Dst, 10037);
1884 break; 1887 break;
1885 default: break; /* Shut up GCC. */ 1888 default: break; /* Shut up GCC. */
1886 } 1889 }
1887 dasm_put(Dst, 10019); 1890 dasm_put(Dst, 10042);
1888 } else { 1891 } else {
1889 dasm_put(Dst, 10024); 1892 dasm_put(Dst, 10047);
1890 } 1893 }
1891 } else { 1894 } else {
1892 dasm_put(Dst, 10032, LJ_TISNUM, LJ_TISNUM); 1895 dasm_put(Dst, 10055, LJ_TISNUM, LJ_TISNUM);
1893 } 1896 }
1894 if (sse) { 1897 if (sse) {
1895 dasm_put(Dst, 10053); 1898 dasm_put(Dst, 10076);
1896 } else { 1899 } else {
1897 dasm_put(Dst, 10074); 1900 dasm_put(Dst, 10097);
1898 if (cmov) { 1901 if (cmov) {
1899 dasm_put(Dst, 10090); 1902 dasm_put(Dst, 10113);
1900 } else { 1903 } else {
1901 dasm_put(Dst, 10096); 1904 dasm_put(Dst, 10119);
1902 } 1905 }
1903 } 1906 }
1904 if (LJ_DUALNUM) { 1907 if (LJ_DUALNUM) {
1905 switch (op) { 1908 switch (op) {
1906 case BC_ISLT: 1909 case BC_ISLT:
1907 dasm_put(Dst, 9999); 1910 dasm_put(Dst, 10022);
1908 break; 1911 break;
1909 case BC_ISGE: 1912 case BC_ISGE:
1910 dasm_put(Dst, 10004); 1913 dasm_put(Dst, 10027);
1911 break; 1914 break;
1912 case BC_ISLE: 1915 case BC_ISLE:
1913 dasm_put(Dst, 10009); 1916 dasm_put(Dst, 10032);
1914 break; 1917 break;
1915 case BC_ISGT: 1918 case BC_ISGT:
1916 dasm_put(Dst, 10014); 1919 dasm_put(Dst, 10037);
1917 break; 1920 break;
1918 default: break; /* Shut up GCC. */ 1921 default: break; /* Shut up GCC. */
1919 } 1922 }
1920 dasm_put(Dst, 10019); 1923 dasm_put(Dst, 10042);
1921 } else { 1924 } else {
1922 switch (op) { 1925 switch (op) {
1923 case BC_ISLT: 1926 case BC_ISLT:
1924 dasm_put(Dst, 10103); 1927 dasm_put(Dst, 10126);
1925 break; 1928 break;
1926 case BC_ISGE: 1929 case BC_ISGE:
1927 dasm_put(Dst, 10108); 1930 dasm_put(Dst, 10131);
1928 break; 1931 break;
1929 case BC_ISLE: 1932 case BC_ISLE:
1930 dasm_put(Dst, 10113); 1933 dasm_put(Dst, 10136);
1931 break; 1934 break;
1932 case BC_ISGT: 1935 case BC_ISGT:
1933 dasm_put(Dst, 10118); 1936 dasm_put(Dst, 10141);
1934 break; 1937 break;
1935 default: break; /* Shut up GCC. */ 1938 default: break; /* Shut up GCC. */
1936 } 1939 }
1937 dasm_put(Dst, 10123, -BCBIAS_J*4); 1940 dasm_put(Dst, 10146, -BCBIAS_J*4);
1938 } 1941 }
1939 break; 1942 break;
1940 1943
1941 case BC_ISEQV: case BC_ISNEV: 1944 case BC_ISEQV: case BC_ISNEV:
1942 vk = op == BC_ISEQV; 1945 vk = op == BC_ISEQV;
1943 dasm_put(Dst, 10156); 1946 dasm_put(Dst, 10179);
1944 if (LJ_DUALNUM) { 1947 if (LJ_DUALNUM) {
1945 dasm_put(Dst, 10164, LJ_TISNUM, LJ_TISNUM); 1948 dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM);
1946 if (vk) { 1949 if (vk) {
1947 dasm_put(Dst, 10189); 1950 dasm_put(Dst, 10212);
1948 } else { 1951 } else {
1949 dasm_put(Dst, 10194); 1952 dasm_put(Dst, 10217);
1950 } 1953 }
1951 dasm_put(Dst, 10199, -BCBIAS_J*4, LJ_TISNUM); 1954 dasm_put(Dst, 10222, -BCBIAS_J*4, LJ_TISNUM);
1952 if (sse) { 1955 if (sse) {
1953 dasm_put(Dst, 10252); 1956 dasm_put(Dst, 10275);
1954 } else { 1957 } else {
1955 dasm_put(Dst, 10259); 1958 dasm_put(Dst, 10282);
1956 } 1959 }
1957 dasm_put(Dst, 10263); 1960 dasm_put(Dst, 10286);
1958 if (sse) { 1961 if (sse) {
1959 dasm_put(Dst, 10274); 1962 dasm_put(Dst, 10297);
1960 } else { 1963 } else {
1961 dasm_put(Dst, 10286); 1964 dasm_put(Dst, 10309);
1962 } 1965 }
1963 dasm_put(Dst, 10293); 1966 dasm_put(Dst, 10316);
1964 } else { 1967 } else {
1965 dasm_put(Dst, 10298, LJ_TISNUM, LJ_TISNUM); 1968 dasm_put(Dst, 10321, LJ_TISNUM, LJ_TISNUM);
1966 } 1969 }
1967 if (sse) { 1970 if (sse) {
1968 dasm_put(Dst, 10317); 1971 dasm_put(Dst, 10340);
1969 } else { 1972 } else {
1970 dasm_put(Dst, 10335); 1973 dasm_put(Dst, 10358);
1971 if (cmov) { 1974 if (cmov) {
1972 dasm_put(Dst, 10090); 1975 dasm_put(Dst, 10113);
1973 } else { 1976 } else {
1974 dasm_put(Dst, 10096); 1977 dasm_put(Dst, 10119);
1975 } 1978 }
1976 } 1979 }
1977 iseqne_fp: 1980 iseqne_fp:
1978 if (vk) { 1981 if (vk) {
1979 dasm_put(Dst, 10348); 1982 dasm_put(Dst, 10371);
1980 } else { 1983 } else {
1981 dasm_put(Dst, 10357); 1984 dasm_put(Dst, 10380);
1982 } 1985 }
1983 iseqne_end: 1986 iseqne_end:
1984 if (vk) { 1987 if (vk) {
1985 dasm_put(Dst, 10366, -BCBIAS_J*4); 1988 dasm_put(Dst, 10389, -BCBIAS_J*4);
1986 if (!LJ_HASFFI) { 1989 if (!LJ_HASFFI) {
1987 dasm_put(Dst, 4592); 1990 dasm_put(Dst, 4615);
1988 } 1991 }
1989 } else { 1992 } else {
1990 if (!LJ_HASFFI) { 1993 if (!LJ_HASFFI) {
1991 dasm_put(Dst, 4592); 1994 dasm_put(Dst, 4615);
1992 } 1995 }
1993 dasm_put(Dst, 10381, -BCBIAS_J*4); 1996 dasm_put(Dst, 10404, -BCBIAS_J*4);
1994 } 1997 }
1995 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 1998 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1996 op == BC_ISEQN || op == BC_ISNEN)) { 1999 op == BC_ISEQN || op == BC_ISNEN)) {
1997 dasm_put(Dst, 10396); 2000 dasm_put(Dst, 10419);
1998 } else { 2001 } else {
1999 dasm_put(Dst, 10135); 2002 dasm_put(Dst, 10158);
2000 } 2003 }
2001 if (op == BC_ISEQV || op == BC_ISNEV) { 2004 if (op == BC_ISEQV || op == BC_ISNEV) {
2002 dasm_put(Dst, 10401); 2005 dasm_put(Dst, 10424);
2003 if (LJ_HASFFI) { 2006 if (LJ_HASFFI) {
2004 dasm_put(Dst, 10404, LJ_TCDATA, LJ_TCDATA); 2007 dasm_put(Dst, 10427, LJ_TCDATA, LJ_TCDATA);
2005 } 2008 }
2006 dasm_put(Dst, 10423, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2009 dasm_put(Dst, 10446, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2007 if (vk) { 2010 if (vk) {
2008 dasm_put(Dst, 10479); 2011 dasm_put(Dst, 10502);
2009 } else { 2012 } else {
2010 dasm_put(Dst, 10483); 2013 dasm_put(Dst, 10506);
2011 } 2014 }
2012 dasm_put(Dst, 10489); 2015 dasm_put(Dst, 10512);
2013 } else if (LJ_HASFFI) { 2016 } else if (LJ_HASFFI) {
2014 dasm_put(Dst, 10494, LJ_TCDATA); 2017 dasm_put(Dst, 10517, LJ_TCDATA);
2015 if (LJ_DUALNUM && vk) { 2018 if (LJ_DUALNUM && vk) {
2016 dasm_put(Dst, 10501); 2019 dasm_put(Dst, 10524);
2017 } else { 2020 } else {
2018 dasm_put(Dst, 10474); 2021 dasm_put(Dst, 10497);
2019 } 2022 }
2020 dasm_put(Dst, 10506); 2023 dasm_put(Dst, 10529);
2021 } 2024 }
2022 break; 2025 break;
2023 case BC_ISEQS: case BC_ISNES: 2026 case BC_ISEQS: case BC_ISNES:
2024 vk = op == BC_ISEQS; 2027 vk = op == BC_ISEQS;
2025 dasm_put(Dst, 10511, LJ_TSTR); 2028 dasm_put(Dst, 10534, LJ_TSTR);
2026 iseqne_test: 2029 iseqne_test:
2027 if (vk) { 2030 if (vk) {
2028 dasm_put(Dst, 10352); 2031 dasm_put(Dst, 10375);
2029 } else { 2032 } else {
2030 dasm_put(Dst, 2888); 2033 dasm_put(Dst, 2911);
2031 } 2034 }
2032 goto iseqne_end; 2035 goto iseqne_end;
2033 case BC_ISEQN: case BC_ISNEN: 2036 case BC_ISEQN: case BC_ISNEN:
2034 vk = op == BC_ISEQN; 2037 vk = op == BC_ISEQN;
2035 dasm_put(Dst, 10538); 2038 dasm_put(Dst, 10561);
2036 if (LJ_DUALNUM) { 2039 if (LJ_DUALNUM) {
2037 dasm_put(Dst, 10546, LJ_TISNUM, LJ_TISNUM); 2040 dasm_put(Dst, 10569, LJ_TISNUM, LJ_TISNUM);
2038 if (vk) { 2041 if (vk) {
2039 dasm_put(Dst, 10189); 2042 dasm_put(Dst, 10212);
2040 } else { 2043 } else {
2041 dasm_put(Dst, 10194); 2044 dasm_put(Dst, 10217);
2042 } 2045 }
2043 dasm_put(Dst, 10573, -BCBIAS_J*4, LJ_TISNUM); 2046 dasm_put(Dst, 10596, -BCBIAS_J*4, LJ_TISNUM);
2044 if (sse) { 2047 if (sse) {
2045 dasm_put(Dst, 10623); 2048 dasm_put(Dst, 10646);
2046 } else { 2049 } else {
2047 dasm_put(Dst, 10631); 2050 dasm_put(Dst, 10654);
2048 } 2051 }
2049 dasm_put(Dst, 10636); 2052 dasm_put(Dst, 10659);
2050 if (sse) { 2053 if (sse) {
2051 dasm_put(Dst, 10643); 2054 dasm_put(Dst, 10666);
2052 } else { 2055 } else {
2053 dasm_put(Dst, 10656); 2056 dasm_put(Dst, 10679);
2054 } 2057 }
2055 dasm_put(Dst, 10293); 2058 dasm_put(Dst, 10316);
2056 } else { 2059 } else {
2057 dasm_put(Dst, 10664, LJ_TISNUM); 2060 dasm_put(Dst, 10687, LJ_TISNUM);
2058 } 2061 }
2059 if (sse) { 2062 if (sse) {
2060 dasm_put(Dst, 10673); 2063 dasm_put(Dst, 10696);
2061 } else { 2064 } else {
2062 dasm_put(Dst, 10692); 2065 dasm_put(Dst, 10715);
2063 if (cmov) { 2066 if (cmov) {
2064 dasm_put(Dst, 10090); 2067 dasm_put(Dst, 10113);
2065 } else { 2068 } else {
2066 dasm_put(Dst, 10096); 2069 dasm_put(Dst, 10119);
2067 } 2070 }
2068 } 2071 }
2069 goto iseqne_fp; 2072 goto iseqne_fp;
2070 case BC_ISEQP: case BC_ISNEP: 2073 case BC_ISEQP: case BC_ISNEP:
2071 vk = op == BC_ISEQP; 2074 vk = op == BC_ISEQP;
2072 dasm_put(Dst, 10706); 2075 dasm_put(Dst, 10729);
2073 if (!LJ_HASFFI) goto iseqne_test; 2076 if (!LJ_HASFFI) goto iseqne_test;
2074 if (vk) { 2077 if (vk) {
2075 dasm_put(Dst, 10720, -BCBIAS_J*4, LJ_TCDATA); 2078 dasm_put(Dst, 10743, -BCBIAS_J*4, LJ_TCDATA);
2076 } else { 2079 } else {
2077 dasm_put(Dst, 10771, LJ_TCDATA, -BCBIAS_J*4); 2080 dasm_put(Dst, 10794, LJ_TCDATA, -BCBIAS_J*4);
2078 } 2081 }
2079 break; 2082 break;
2080 2083
2081 /* -- Unary test and copy ops ------------------------------------------- */ 2084 /* -- Unary test and copy ops ------------------------------------------- */
2082 2085
2083 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2086 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2084 dasm_put(Dst, 10816, LJ_TISTRUECOND); 2087 dasm_put(Dst, 10839, LJ_TISTRUECOND);
2085 if (op == BC_IST || op == BC_ISTC) { 2088 if (op == BC_IST || op == BC_ISTC) {
2086 dasm_put(Dst, 10118); 2089 dasm_put(Dst, 10141);
2087 } else { 2090 } else {
2088 dasm_put(Dst, 10113); 2091 dasm_put(Dst, 10136);
2089 } 2092 }
2090 if (op == BC_ISTC || op == BC_ISFC) { 2093 if (op == BC_ISTC || op == BC_ISFC) {
2091 dasm_put(Dst, 10828); 2094 dasm_put(Dst, 10851);
2092 } 2095 }
2093 dasm_put(Dst, 10123, -BCBIAS_J*4); 2096 dasm_put(Dst, 10146, -BCBIAS_J*4);
2094 break; 2097 break;
2095 2098
2096 /* -- Unary ops --------------------------------------------------------- */ 2099 /* -- Unary ops --------------------------------------------------------- */
2097 2100
2098 case BC_MOV: 2101 case BC_MOV:
2099 dasm_put(Dst, 10839); 2102 dasm_put(Dst, 10862);
2100 break; 2103 break;
2101 case BC_NOT: 2104 case BC_NOT:
2102 dasm_put(Dst, 10868, LJ_TISTRUECOND, LJ_TTRUE); 2105 dasm_put(Dst, 10891, LJ_TISTRUECOND, LJ_TTRUE);
2103 break; 2106 break;
2104 case BC_UNM: 2107 case BC_UNM:
2105 if (LJ_DUALNUM) { 2108 if (LJ_DUALNUM) {
2106 dasm_put(Dst, 10905, LJ_TISNUM, LJ_TISNUM); 2109 dasm_put(Dst, 10928, LJ_TISNUM, LJ_TISNUM);
2107 } else { 2110 } else {
2108 dasm_put(Dst, 10983, LJ_TISNUM); 2111 dasm_put(Dst, 11006, LJ_TISNUM);
2109 } 2112 }
2110 if (sse) { 2113 if (sse) {
2111 dasm_put(Dst, 10994, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2114 dasm_put(Dst, 11017, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2112 } else { 2115 } else {
2113 dasm_put(Dst, 11019); 2116 dasm_put(Dst, 11042);
2114 } 2117 }
2115 if (LJ_DUALNUM) { 2118 if (LJ_DUALNUM) {
2116 dasm_put(Dst, 10396); 2119 dasm_put(Dst, 10419);
2117 } else { 2120 } else {
2118 dasm_put(Dst, 10135); 2121 dasm_put(Dst, 10158);
2119 } 2122 }
2120 break; 2123 break;
2121 case BC_LEN: 2124 case BC_LEN:
2122 dasm_put(Dst, 11028, LJ_TSTR); 2125 dasm_put(Dst, 11051, LJ_TSTR);
2123 if (LJ_DUALNUM) { 2126 if (LJ_DUALNUM) {
2124 dasm_put(Dst, 11042, Dt5(->len), LJ_TISNUM); 2127 dasm_put(Dst, 11065, Dt5(->len), LJ_TISNUM);
2125 } else if (sse) { 2128 } else if (sse) {
2126 dasm_put(Dst, 11056, Dt5(->len)); 2129 dasm_put(Dst, 11079, Dt5(->len));
2127 } else { 2130 } else {
2128 dasm_put(Dst, 11074, Dt5(->len)); 2131 dasm_put(Dst, 11097, Dt5(->len));
2129 } 2132 }
2130 dasm_put(Dst, 11083, LJ_TTAB); 2133 dasm_put(Dst, 11106, LJ_TTAB);
2131 if (LJ_DUALNUM) { 2134 if (LJ_DUALNUM) {
2132 } else if (sse) { 2135 } else if (sse) {
2133 dasm_put(Dst, 11125); 2136 dasm_put(Dst, 11148);
2134 } else { 2137 } else {
2135 } 2138 }
2136 dasm_put(Dst, 11131); 2139 dasm_put(Dst, 11154);
2137 break; 2140 break;
2138 2141
2139 /* -- Binary ops -------------------------------------------------------- */ 2142 /* -- Binary ops -------------------------------------------------------- */
@@ -2141,605 +2144,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2141 2144
2142 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2145 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2143 if (LJ_DUALNUM) { 2146 if (LJ_DUALNUM) {
2144 dasm_put(Dst, 11144); 2147 dasm_put(Dst, 11167);
2145 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2148 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2146 switch (vk) { 2149 switch (vk) {
2147 case 0: 2150 case 0:
2148 dasm_put(Dst, 11152, LJ_TISNUM, LJ_TISNUM); 2151 dasm_put(Dst, 11175, LJ_TISNUM, LJ_TISNUM);
2149 break; 2152 break;
2150 case 1: 2153 case 1:
2151 dasm_put(Dst, 11187, LJ_TISNUM, LJ_TISNUM); 2154 dasm_put(Dst, 11210, LJ_TISNUM, LJ_TISNUM);
2152 break; 2155 break;
2153 default: 2156 default:
2154 dasm_put(Dst, 11222, LJ_TISNUM, LJ_TISNUM); 2157 dasm_put(Dst, 11245, LJ_TISNUM, LJ_TISNUM);
2155 break; 2158 break;
2156 } 2159 }
2157 dasm_put(Dst, 11255, LJ_TISNUM); 2160 dasm_put(Dst, 11278, LJ_TISNUM);
2158 if (vk == 1) { 2161 if (vk == 1) {
2159 dasm_put(Dst, 11052); 2162 dasm_put(Dst, 11075);
2160 } else { 2163 } else {
2161 dasm_put(Dst, 10835); 2164 dasm_put(Dst, 10858);
2162 } 2165 }
2163 dasm_put(Dst, 10135); 2166 dasm_put(Dst, 10158);
2164 } else { 2167 } else {
2165 dasm_put(Dst, 11144); 2168 dasm_put(Dst, 11167);
2166 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2169 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2167 switch (vk) { 2170 switch (vk) {
2168 case 0: 2171 case 0:
2169 dasm_put(Dst, 11261, LJ_TISNUM); 2172 dasm_put(Dst, 11284, LJ_TISNUM);
2170 if (LJ_DUALNUM) { 2173 if (LJ_DUALNUM) {
2171 dasm_put(Dst, 11273, LJ_TISNUM); 2174 dasm_put(Dst, 11296, LJ_TISNUM);
2172 } 2175 }
2173 if (sse) { 2176 if (sse) {
2174 dasm_put(Dst, 11285); 2177 dasm_put(Dst, 11308);
2175 } else { 2178 } else {
2176 dasm_put(Dst, 11300); 2179 dasm_put(Dst, 11323);
2177 } 2180 }
2178 break; 2181 break;
2179 case 1: 2182 case 1:
2180 dasm_put(Dst, 11309, LJ_TISNUM); 2183 dasm_put(Dst, 11332, LJ_TISNUM);
2181 if (LJ_DUALNUM) { 2184 if (LJ_DUALNUM) {
2182 dasm_put(Dst, 11321, LJ_TISNUM); 2185 dasm_put(Dst, 11344, LJ_TISNUM);
2183 } 2186 }
2184 if (sse) { 2187 if (sse) {
2185 dasm_put(Dst, 11333); 2188 dasm_put(Dst, 11356);
2186 } else { 2189 } else {
2187 dasm_put(Dst, 11348); 2190 dasm_put(Dst, 11371);
2188 } 2191 }
2189 break; 2192 break;
2190 default: 2193 default:
2191 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2194 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2192 if (sse) { 2195 if (sse) {
2193 dasm_put(Dst, 11379); 2196 dasm_put(Dst, 11402);
2194 } else { 2197 } else {
2195 dasm_put(Dst, 11393); 2198 dasm_put(Dst, 11416);
2196 } 2199 }
2197 break; 2200 break;
2198 } 2201 }
2199 if (sse) { 2202 if (sse) {
2200 dasm_put(Dst, 11012); 2203 dasm_put(Dst, 11035);
2201 } else { 2204 } else {
2202 dasm_put(Dst, 11024); 2205 dasm_put(Dst, 11047);
2203 } 2206 }
2204 dasm_put(Dst, 10135); 2207 dasm_put(Dst, 10158);
2205 } 2208 }
2206 break; 2209 break;
2207 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2210 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2208 if (LJ_DUALNUM) { 2211 if (LJ_DUALNUM) {
2209 dasm_put(Dst, 11144); 2212 dasm_put(Dst, 11167);
2210 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2213 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2211 switch (vk) { 2214 switch (vk) {
2212 case 0: 2215 case 0:
2213 dasm_put(Dst, 11401, LJ_TISNUM, LJ_TISNUM); 2216 dasm_put(Dst, 11424, LJ_TISNUM, LJ_TISNUM);
2214 break; 2217 break;
2215 case 1: 2218 case 1:
2216 dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); 2219 dasm_put(Dst, 11459, LJ_TISNUM, LJ_TISNUM);
2217 break; 2220 break;
2218 default: 2221 default:
2219 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 2222 dasm_put(Dst, 11494, LJ_TISNUM, LJ_TISNUM);
2220 break; 2223 break;
2221 } 2224 }
2222 dasm_put(Dst, 11255, LJ_TISNUM); 2225 dasm_put(Dst, 11278, LJ_TISNUM);
2223 if (vk == 1) { 2226 if (vk == 1) {
2224 dasm_put(Dst, 11052); 2227 dasm_put(Dst, 11075);
2225 } else { 2228 } else {
2226 dasm_put(Dst, 10835); 2229 dasm_put(Dst, 10858);
2227 } 2230 }
2228 dasm_put(Dst, 10135); 2231 dasm_put(Dst, 10158);
2229 } else { 2232 } else {
2230 dasm_put(Dst, 11144); 2233 dasm_put(Dst, 11167);
2231 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2234 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2232 switch (vk) { 2235 switch (vk) {
2233 case 0: 2236 case 0:
2234 dasm_put(Dst, 11261, LJ_TISNUM); 2237 dasm_put(Dst, 11284, LJ_TISNUM);
2235 if (LJ_DUALNUM) { 2238 if (LJ_DUALNUM) {
2236 dasm_put(Dst, 11273, LJ_TISNUM); 2239 dasm_put(Dst, 11296, LJ_TISNUM);
2237 } 2240 }
2238 if (sse) { 2241 if (sse) {
2239 dasm_put(Dst, 11504); 2242 dasm_put(Dst, 11527);
2240 } else { 2243 } else {
2241 dasm_put(Dst, 11519); 2244 dasm_put(Dst, 11542);
2242 } 2245 }
2243 break; 2246 break;
2244 case 1: 2247 case 1:
2245 dasm_put(Dst, 11309, LJ_TISNUM); 2248 dasm_put(Dst, 11332, LJ_TISNUM);
2246 if (LJ_DUALNUM) { 2249 if (LJ_DUALNUM) {
2247 dasm_put(Dst, 11321, LJ_TISNUM); 2250 dasm_put(Dst, 11344, LJ_TISNUM);
2248 } 2251 }
2249 if (sse) { 2252 if (sse) {
2250 dasm_put(Dst, 11528); 2253 dasm_put(Dst, 11551);
2251 } else { 2254 } else {
2252 dasm_put(Dst, 11543); 2255 dasm_put(Dst, 11566);
2253 } 2256 }
2254 break; 2257 break;
2255 default: 2258 default:
2256 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2259 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2257 if (sse) { 2260 if (sse) {
2258 dasm_put(Dst, 11552); 2261 dasm_put(Dst, 11575);
2259 } else { 2262 } else {
2260 dasm_put(Dst, 11566); 2263 dasm_put(Dst, 11589);
2261 } 2264 }
2262 break; 2265 break;
2263 } 2266 }
2264 if (sse) { 2267 if (sse) {
2265 dasm_put(Dst, 11012); 2268 dasm_put(Dst, 11035);
2266 } else { 2269 } else {
2267 dasm_put(Dst, 11024); 2270 dasm_put(Dst, 11047);
2268 } 2271 }
2269 dasm_put(Dst, 10135); 2272 dasm_put(Dst, 10158);
2270 } 2273 }
2271 break; 2274 break;
2272 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2275 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2273 if (LJ_DUALNUM) { 2276 if (LJ_DUALNUM) {
2274 dasm_put(Dst, 11144); 2277 dasm_put(Dst, 11167);
2275 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2278 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2276 switch (vk) { 2279 switch (vk) {
2277 case 0: 2280 case 0:
2278 dasm_put(Dst, 11574, LJ_TISNUM, LJ_TISNUM); 2281 dasm_put(Dst, 11597, LJ_TISNUM, LJ_TISNUM);
2279 break; 2282 break;
2280 case 1: 2283 case 1:
2281 dasm_put(Dst, 11610, LJ_TISNUM, LJ_TISNUM); 2284 dasm_put(Dst, 11633, LJ_TISNUM, LJ_TISNUM);
2282 break; 2285 break;
2283 default: 2286 default:
2284 dasm_put(Dst, 11646, LJ_TISNUM, LJ_TISNUM); 2287 dasm_put(Dst, 11669, LJ_TISNUM, LJ_TISNUM);
2285 break; 2288 break;
2286 } 2289 }
2287 dasm_put(Dst, 11255, LJ_TISNUM); 2290 dasm_put(Dst, 11278, LJ_TISNUM);
2288 if (vk == 1) { 2291 if (vk == 1) {
2289 dasm_put(Dst, 11052); 2292 dasm_put(Dst, 11075);
2290 } else { 2293 } else {
2291 dasm_put(Dst, 10835); 2294 dasm_put(Dst, 10858);
2292 } 2295 }
2293 dasm_put(Dst, 10135); 2296 dasm_put(Dst, 10158);
2294 } else { 2297 } else {
2295 dasm_put(Dst, 11144); 2298 dasm_put(Dst, 11167);
2296 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2299 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2297 switch (vk) { 2300 switch (vk) {
2298 case 0: 2301 case 0:
2299 dasm_put(Dst, 11261, LJ_TISNUM); 2302 dasm_put(Dst, 11284, LJ_TISNUM);
2300 if (LJ_DUALNUM) { 2303 if (LJ_DUALNUM) {
2301 dasm_put(Dst, 11273, LJ_TISNUM); 2304 dasm_put(Dst, 11296, LJ_TISNUM);
2302 } 2305 }
2303 if (sse) { 2306 if (sse) {
2304 dasm_put(Dst, 11680); 2307 dasm_put(Dst, 11703);
2305 } else { 2308 } else {
2306 dasm_put(Dst, 11695); 2309 dasm_put(Dst, 11718);
2307 } 2310 }
2308 break; 2311 break;
2309 case 1: 2312 case 1:
2310 dasm_put(Dst, 11309, LJ_TISNUM); 2313 dasm_put(Dst, 11332, LJ_TISNUM);
2311 if (LJ_DUALNUM) { 2314 if (LJ_DUALNUM) {
2312 dasm_put(Dst, 11321, LJ_TISNUM); 2315 dasm_put(Dst, 11344, LJ_TISNUM);
2313 } 2316 }
2314 if (sse) { 2317 if (sse) {
2315 dasm_put(Dst, 11704); 2318 dasm_put(Dst, 11727);
2316 } else { 2319 } else {
2317 dasm_put(Dst, 11719); 2320 dasm_put(Dst, 11742);
2318 } 2321 }
2319 break; 2322 break;
2320 default: 2323 default:
2321 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2324 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2322 if (sse) { 2325 if (sse) {
2323 dasm_put(Dst, 11728); 2326 dasm_put(Dst, 11751);
2324 } else { 2327 } else {
2325 dasm_put(Dst, 11742); 2328 dasm_put(Dst, 11765);
2326 } 2329 }
2327 break; 2330 break;
2328 } 2331 }
2329 if (sse) { 2332 if (sse) {
2330 dasm_put(Dst, 11012); 2333 dasm_put(Dst, 11035);
2331 } else { 2334 } else {
2332 dasm_put(Dst, 11024); 2335 dasm_put(Dst, 11047);
2333 } 2336 }
2334 dasm_put(Dst, 10135); 2337 dasm_put(Dst, 10158);
2335 } 2338 }
2336 break; 2339 break;
2337 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2340 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2338 dasm_put(Dst, 11144); 2341 dasm_put(Dst, 11167);
2339 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2342 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2340 switch (vk) { 2343 switch (vk) {
2341 case 0: 2344 case 0:
2342 dasm_put(Dst, 11261, LJ_TISNUM); 2345 dasm_put(Dst, 11284, LJ_TISNUM);
2343 if (LJ_DUALNUM) { 2346 if (LJ_DUALNUM) {
2344 dasm_put(Dst, 11273, LJ_TISNUM); 2347 dasm_put(Dst, 11296, LJ_TISNUM);
2345 } 2348 }
2346 if (sse) { 2349 if (sse) {
2347 dasm_put(Dst, 11750); 2350 dasm_put(Dst, 11773);
2348 } else { 2351 } else {
2349 dasm_put(Dst, 11765); 2352 dasm_put(Dst, 11788);
2350 } 2353 }
2351 break; 2354 break;
2352 case 1: 2355 case 1:
2353 dasm_put(Dst, 11309, LJ_TISNUM); 2356 dasm_put(Dst, 11332, LJ_TISNUM);
2354 if (LJ_DUALNUM) { 2357 if (LJ_DUALNUM) {
2355 dasm_put(Dst, 11321, LJ_TISNUM); 2358 dasm_put(Dst, 11344, LJ_TISNUM);
2356 } 2359 }
2357 if (sse) { 2360 if (sse) {
2358 dasm_put(Dst, 11774); 2361 dasm_put(Dst, 11797);
2359 } else { 2362 } else {
2360 dasm_put(Dst, 11789); 2363 dasm_put(Dst, 11812);
2361 } 2364 }
2362 break; 2365 break;
2363 default: 2366 default:
2364 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2367 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2365 if (sse) { 2368 if (sse) {
2366 dasm_put(Dst, 11798); 2369 dasm_put(Dst, 11821);
2367 } else { 2370 } else {
2368 dasm_put(Dst, 11812); 2371 dasm_put(Dst, 11835);
2369 } 2372 }
2370 break; 2373 break;
2371 } 2374 }
2372 if (sse) { 2375 if (sse) {
2373 dasm_put(Dst, 11012); 2376 dasm_put(Dst, 11035);
2374 } else { 2377 } else {
2375 dasm_put(Dst, 11024); 2378 dasm_put(Dst, 11047);
2376 } 2379 }
2377 dasm_put(Dst, 10135); 2380 dasm_put(Dst, 10158);
2378 break; 2381 break;
2379 case BC_MODVN: 2382 case BC_MODVN:
2380 dasm_put(Dst, 11144); 2383 dasm_put(Dst, 11167);
2381 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2384 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2382 switch (vk) { 2385 switch (vk) {
2383 case 0: 2386 case 0:
2384 dasm_put(Dst, 11261, LJ_TISNUM); 2387 dasm_put(Dst, 11284, LJ_TISNUM);
2385 if (LJ_DUALNUM) { 2388 if (LJ_DUALNUM) {
2386 dasm_put(Dst, 11273, LJ_TISNUM); 2389 dasm_put(Dst, 11296, LJ_TISNUM);
2387 } 2390 }
2388 if (sse) { 2391 if (sse) {
2389 dasm_put(Dst, 11820); 2392 dasm_put(Dst, 11843);
2390 } else { 2393 } else {
2391 dasm_put(Dst, 11835); 2394 dasm_put(Dst, 11858);
2392 } 2395 }
2393 break; 2396 break;
2394 case 1: 2397 case 1:
2395 dasm_put(Dst, 11309, LJ_TISNUM); 2398 dasm_put(Dst, 11332, LJ_TISNUM);
2396 if (LJ_DUALNUM) { 2399 if (LJ_DUALNUM) {
2397 dasm_put(Dst, 11321, LJ_TISNUM); 2400 dasm_put(Dst, 11344, LJ_TISNUM);
2398 } 2401 }
2399 if (sse) { 2402 if (sse) {
2400 dasm_put(Dst, 11844); 2403 dasm_put(Dst, 11867);
2401 } else { 2404 } else {
2402 dasm_put(Dst, 11859); 2405 dasm_put(Dst, 11882);
2403 } 2406 }
2404 break; 2407 break;
2405 default: 2408 default:
2406 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2409 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2407 if (sse) { 2410 if (sse) {
2408 dasm_put(Dst, 11868); 2411 dasm_put(Dst, 11891);
2409 } else { 2412 } else {
2410 dasm_put(Dst, 11882); 2413 dasm_put(Dst, 11905);
2411 } 2414 }
2412 break; 2415 break;
2413 } 2416 }
2414 dasm_put(Dst, 11890); 2417 dasm_put(Dst, 11913);
2415 if (sse) { 2418 if (sse) {
2416 dasm_put(Dst, 11012); 2419 dasm_put(Dst, 11035);
2417 } else { 2420 } else {
2418 dasm_put(Dst, 11024); 2421 dasm_put(Dst, 11047);
2419 } 2422 }
2420 dasm_put(Dst, 10135); 2423 dasm_put(Dst, 10158);
2421 break; 2424 break;
2422 case BC_MODNV: case BC_MODVV: 2425 case BC_MODNV: case BC_MODVV:
2423 dasm_put(Dst, 11144); 2426 dasm_put(Dst, 11167);
2424 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2427 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2425 switch (vk) { 2428 switch (vk) {
2426 case 0: 2429 case 0:
2427 dasm_put(Dst, 11261, LJ_TISNUM); 2430 dasm_put(Dst, 11284, LJ_TISNUM);
2428 if (LJ_DUALNUM) { 2431 if (LJ_DUALNUM) {
2429 dasm_put(Dst, 11273, LJ_TISNUM); 2432 dasm_put(Dst, 11296, LJ_TISNUM);
2430 } 2433 }
2431 if (sse) { 2434 if (sse) {
2432 dasm_put(Dst, 11820); 2435 dasm_put(Dst, 11843);
2433 } else { 2436 } else {
2434 dasm_put(Dst, 11835); 2437 dasm_put(Dst, 11858);
2435 } 2438 }
2436 break; 2439 break;
2437 case 1: 2440 case 1:
2438 dasm_put(Dst, 11309, LJ_TISNUM); 2441 dasm_put(Dst, 11332, LJ_TISNUM);
2439 if (LJ_DUALNUM) { 2442 if (LJ_DUALNUM) {
2440 dasm_put(Dst, 11321, LJ_TISNUM); 2443 dasm_put(Dst, 11344, LJ_TISNUM);
2441 } 2444 }
2442 if (sse) { 2445 if (sse) {
2443 dasm_put(Dst, 11844); 2446 dasm_put(Dst, 11867);
2444 } else { 2447 } else {
2445 dasm_put(Dst, 11859); 2448 dasm_put(Dst, 11882);
2446 } 2449 }
2447 break; 2450 break;
2448 default: 2451 default:
2449 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2452 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2450 if (sse) { 2453 if (sse) {
2451 dasm_put(Dst, 11868); 2454 dasm_put(Dst, 11891);
2452 } else { 2455 } else {
2453 dasm_put(Dst, 11882); 2456 dasm_put(Dst, 11905);
2454 } 2457 }
2455 break; 2458 break;
2456 } 2459 }
2457 dasm_put(Dst, 11896); 2460 dasm_put(Dst, 11919);
2458 break; 2461 break;
2459 case BC_POW: 2462 case BC_POW:
2460 dasm_put(Dst, 11144); 2463 dasm_put(Dst, 11167);
2461 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2464 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2462 switch (vk) { 2465 switch (vk) {
2463 case 0: 2466 case 0:
2464 dasm_put(Dst, 11261, LJ_TISNUM); 2467 dasm_put(Dst, 11284, LJ_TISNUM);
2465 if (LJ_DUALNUM) { 2468 if (LJ_DUALNUM) {
2466 dasm_put(Dst, 11273, LJ_TISNUM); 2469 dasm_put(Dst, 11296, LJ_TISNUM);
2467 } 2470 }
2468 if (sse) { 2471 if (sse) {
2469 dasm_put(Dst, 11820); 2472 dasm_put(Dst, 11843);
2470 } else { 2473 } else {
2471 dasm_put(Dst, 11835); 2474 dasm_put(Dst, 11858);
2472 } 2475 }
2473 break; 2476 break;
2474 case 1: 2477 case 1:
2475 dasm_put(Dst, 11309, LJ_TISNUM); 2478 dasm_put(Dst, 11332, LJ_TISNUM);
2476 if (LJ_DUALNUM) { 2479 if (LJ_DUALNUM) {
2477 dasm_put(Dst, 11321, LJ_TISNUM); 2480 dasm_put(Dst, 11344, LJ_TISNUM);
2478 } 2481 }
2479 if (sse) { 2482 if (sse) {
2480 dasm_put(Dst, 11844); 2483 dasm_put(Dst, 11867);
2481 } else { 2484 } else {
2482 dasm_put(Dst, 11859); 2485 dasm_put(Dst, 11882);
2483 } 2486 }
2484 break; 2487 break;
2485 default: 2488 default:
2486 dasm_put(Dst, 11357, LJ_TISNUM, LJ_TISNUM); 2489 dasm_put(Dst, 11380, LJ_TISNUM, LJ_TISNUM);
2487 if (sse) { 2490 if (sse) {
2488 dasm_put(Dst, 11868); 2491 dasm_put(Dst, 11891);
2489 } else { 2492 } else {
2490 dasm_put(Dst, 11882); 2493 dasm_put(Dst, 11905);
2491 } 2494 }
2492 break; 2495 break;
2493 } 2496 }
2494 dasm_put(Dst, 11901); 2497 dasm_put(Dst, 11924);
2495 if (sse) { 2498 if (sse) {
2496 dasm_put(Dst, 11012); 2499 dasm_put(Dst, 11035);
2497 } else { 2500 } else {
2498 dasm_put(Dst, 11024); 2501 dasm_put(Dst, 11047);
2499 } 2502 }
2500 dasm_put(Dst, 10135); 2503 dasm_put(Dst, 10158);
2501 break; 2504 break;
2502 2505
2503 case BC_CAT: 2506 case BC_CAT:
2504 dasm_put(Dst, 11905, Dt1(->base), Dt1(->base)); 2507 dasm_put(Dst, 11928, Dt1(->base), Dt1(->base));
2505 break; 2508 break;
2506 2509
2507 /* -- Constant ops ------------------------------------------------------ */ 2510 /* -- Constant ops ------------------------------------------------------ */
2508 2511
2509 case BC_KSTR: 2512 case BC_KSTR:
2510 dasm_put(Dst, 11989, LJ_TSTR); 2513 dasm_put(Dst, 12012, LJ_TSTR);
2511 break; 2514 break;
2512 case BC_KCDATA: 2515 case BC_KCDATA:
2513#if LJ_HASFFI 2516#if LJ_HASFFI
2514 dasm_put(Dst, 11989, LJ_TCDATA); 2517 dasm_put(Dst, 12012, LJ_TCDATA);
2515#endif 2518#endif
2516 break; 2519 break;
2517 case BC_KSHORT: 2520 case BC_KSHORT:
2518 if (LJ_DUALNUM) { 2521 if (LJ_DUALNUM) {
2519 dasm_put(Dst, 12026, LJ_TISNUM); 2522 dasm_put(Dst, 12049, LJ_TISNUM);
2520 } else if (sse) { 2523 } else if (sse) {
2521 dasm_put(Dst, 12038); 2524 dasm_put(Dst, 12061);
2522 } else { 2525 } else {
2523 dasm_put(Dst, 12053); 2526 dasm_put(Dst, 12076);
2524 } 2527 }
2525 dasm_put(Dst, 10135); 2528 dasm_put(Dst, 10158);
2526 break; 2529 break;
2527 case BC_KNUM: 2530 case BC_KNUM:
2528 if (sse) { 2531 if (sse) {
2529 dasm_put(Dst, 12061); 2532 dasm_put(Dst, 12084);
2530 } else { 2533 } else {
2531 dasm_put(Dst, 12075); 2534 dasm_put(Dst, 12098);
2532 } 2535 }
2533 dasm_put(Dst, 10135); 2536 dasm_put(Dst, 10158);
2534 break; 2537 break;
2535 case BC_KPRI: 2538 case BC_KPRI:
2536 dasm_put(Dst, 12083); 2539 dasm_put(Dst, 12106);
2537 break; 2540 break;
2538 case BC_KNIL: 2541 case BC_KNIL:
2539 dasm_put(Dst, 12112, LJ_TNIL); 2542 dasm_put(Dst, 12135, LJ_TNIL);
2540 break; 2543 break;
2541 2544
2542 /* -- Upvalue and function ops ------------------------------------------ */ 2545 /* -- Upvalue and function ops ------------------------------------------ */
2543 2546
2544 case BC_UGET: 2547 case BC_UGET:
2545 dasm_put(Dst, 12160, offsetof(GCfuncL, uvptr), DtA(->v)); 2548 dasm_put(Dst, 12183, offsetof(GCfuncL, uvptr), DtA(->v));
2546 break; 2549 break;
2547 case BC_USETV: 2550 case BC_USETV:
2548#define TV2MARKOFS \ 2551#define TV2MARKOFS \
2549 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2552 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2550 dasm_put(Dst, 12201, 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); 2553 dasm_put(Dst, 12224, 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);
2551 dasm_put(Dst, 12297); 2554 dasm_put(Dst, 12320);
2552 break; 2555 break;
2553#undef TV2MARKOFS 2556#undef TV2MARKOFS
2554 case BC_USETS: 2557 case BC_USETS:
2555 dasm_put(Dst, 12309, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2558 dasm_put(Dst, 12332, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2556 break; 2559 break;
2557 case BC_USETN: 2560 case BC_USETN:
2558 dasm_put(Dst, 12405); 2561 dasm_put(Dst, 12428);
2559 if (sse) { 2562 if (sse) {
2560 dasm_put(Dst, 12410); 2563 dasm_put(Dst, 12433);
2561 } else { 2564 } else {
2562 dasm_put(Dst, 10659); 2565 dasm_put(Dst, 10682);
2563 } 2566 }
2564 dasm_put(Dst, 12418, offsetof(GCfuncL, uvptr), DtA(->v)); 2567 dasm_put(Dst, 12441, offsetof(GCfuncL, uvptr), DtA(->v));
2565 if (sse) { 2568 if (sse) {
2566 dasm_put(Dst, 12427); 2569 dasm_put(Dst, 12450);
2567 } else { 2570 } else {
2568 dasm_put(Dst, 12433); 2571 dasm_put(Dst, 12456);
2569 } 2572 }
2570 dasm_put(Dst, 10135); 2573 dasm_put(Dst, 10158);
2571 break; 2574 break;
2572 case BC_USETP: 2575 case BC_USETP:
2573 dasm_put(Dst, 12436, offsetof(GCfuncL, uvptr), DtA(->v)); 2576 dasm_put(Dst, 12459, offsetof(GCfuncL, uvptr), DtA(->v));
2574 break; 2577 break;
2575 case BC_UCLO: 2578 case BC_UCLO:
2576 dasm_put(Dst, 12476, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2579 dasm_put(Dst, 12499, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2577 break; 2580 break;
2578 2581
2579 case BC_FNEW: 2582 case BC_FNEW:
2580 dasm_put(Dst, 12532, Dt1(->base), Dt1(->base), LJ_TFUNC); 2583 dasm_put(Dst, 12555, Dt1(->base), Dt1(->base), LJ_TFUNC);
2581 break; 2584 break;
2582 2585
2583 /* -- Table ops --------------------------------------------------------- */ 2586 /* -- Table ops --------------------------------------------------------- */
2584 2587
2585 case BC_TNEW: 2588 case BC_TNEW:
2586 dasm_put(Dst, 12599, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2589 dasm_put(Dst, 12622, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2587 break; 2590 break;
2588 case BC_TDUP: 2591 case BC_TDUP:
2589 dasm_put(Dst, 12723, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2592 dasm_put(Dst, 12746, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2590 break; 2593 break;
2591 2594
2592 case BC_GGET: 2595 case BC_GGET:
2593 dasm_put(Dst, 12822, Dt7(->env)); 2596 dasm_put(Dst, 12845, Dt7(->env));
2594 break; 2597 break;
2595 case BC_GSET: 2598 case BC_GSET:
2596 dasm_put(Dst, 12842, Dt7(->env)); 2599 dasm_put(Dst, 12865, Dt7(->env));
2597 break; 2600 break;
2598 2601
2599 case BC_TGETV: 2602 case BC_TGETV:
2600 dasm_put(Dst, 12862, LJ_TTAB); 2603 dasm_put(Dst, 12885, LJ_TTAB);
2601 if (LJ_DUALNUM) { 2604 if (LJ_DUALNUM) {
2602 dasm_put(Dst, 12885, LJ_TISNUM); 2605 dasm_put(Dst, 12908, LJ_TISNUM);
2603 } else { 2606 } else {
2604 dasm_put(Dst, 12899, LJ_TISNUM); 2607 dasm_put(Dst, 12922, LJ_TISNUM);
2605 if (sse) { 2608 if (sse) {
2606 dasm_put(Dst, 12910); 2609 dasm_put(Dst, 12933);
2607 } else { 2610 } else {
2608 } 2611 }
2609 dasm_put(Dst, 12931); 2612 dasm_put(Dst, 12954);
2610 } 2613 }
2611 dasm_put(Dst, 12936, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2614 dasm_put(Dst, 12959, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2612 dasm_put(Dst, 13028, LJ_TSTR); 2615 dasm_put(Dst, 13051, LJ_TSTR);
2613 break; 2616 break;
2614 case BC_TGETS: 2617 case BC_TGETS:
2615 dasm_put(Dst, 13046, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2618 dasm_put(Dst, 13069, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2616 dasm_put(Dst, 13131, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2619 dasm_put(Dst, 13154, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2617 break; 2620 break;
2618 case BC_TGETB: 2621 case BC_TGETB:
2619 dasm_put(Dst, 13203, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2622 dasm_put(Dst, 13226, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2620 dasm_put(Dst, 13299, LJ_TNIL); 2623 dasm_put(Dst, 13322, LJ_TNIL);
2621 break; 2624 break;
2622 2625
2623 case BC_TSETV: 2626 case BC_TSETV:
2624 dasm_put(Dst, 13316, LJ_TTAB); 2627 dasm_put(Dst, 13339, LJ_TTAB);
2625 if (LJ_DUALNUM) { 2628 if (LJ_DUALNUM) {
2626 dasm_put(Dst, 12885, LJ_TISNUM); 2629 dasm_put(Dst, 12908, LJ_TISNUM);
2627 } else { 2630 } else {
2628 dasm_put(Dst, 12899, LJ_TISNUM); 2631 dasm_put(Dst, 12922, LJ_TISNUM);
2629 if (sse) { 2632 if (sse) {
2630 dasm_put(Dst, 12910); 2633 dasm_put(Dst, 12933);
2631 } else { 2634 } else {
2632 } 2635 }
2633 dasm_put(Dst, 13339); 2636 dasm_put(Dst, 13362);
2634 } 2637 }
2635 dasm_put(Dst, 13344, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2638 dasm_put(Dst, 13367, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2636 dasm_put(Dst, 13425, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2639 dasm_put(Dst, 13448, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2637 break; 2640 break;
2638 case BC_TSETS: 2641 case BC_TSETS:
2639 dasm_put(Dst, 13484, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2642 dasm_put(Dst, 13507, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2640 dasm_put(Dst, 13561, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2643 dasm_put(Dst, 13584, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2641 dasm_put(Dst, 13648, 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)); 2644 dasm_put(Dst, 13671, 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));
2642 break; 2645 break;
2643 case BC_TSETB: 2646 case BC_TSETB:
2644 dasm_put(Dst, 13740, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2647 dasm_put(Dst, 13763, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2645 dasm_put(Dst, 13835, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2648 dasm_put(Dst, 13858, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2646 break; 2649 break;
2647 2650
2648 case BC_TSETM: 2651 case BC_TSETM:
2649 dasm_put(Dst, 13883, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2652 dasm_put(Dst, 13906, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2650 dasm_put(Dst, 14033, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2653 dasm_put(Dst, 14056, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2651 break; 2654 break;
2652 2655
2653 /* -- Calls and vararg handling ----------------------------------------- */ 2656 /* -- Calls and vararg handling ----------------------------------------- */
2654 2657
2655 case BC_CALL: case BC_CALLM: 2658 case BC_CALL: case BC_CALLM:
2656 dasm_put(Dst, 11148); 2659 dasm_put(Dst, 11171);
2657 if (op == BC_CALLM) { 2660 if (op == BC_CALLM) {
2658 dasm_put(Dst, 14053); 2661 dasm_put(Dst, 14076);
2659 } 2662 }
2660 dasm_put(Dst, 14058, LJ_TFUNC, Dt7(->pc)); 2663 dasm_put(Dst, 14081, LJ_TFUNC, Dt7(->pc));
2661 break; 2664 break;
2662 2665
2663 case BC_CALLMT: 2666 case BC_CALLMT:
2664 dasm_put(Dst, 14053); 2667 dasm_put(Dst, 14076);
2665 break; 2668 break;
2666 case BC_CALLT: 2669 case BC_CALLT:
2667 dasm_put(Dst, 14101, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2670 dasm_put(Dst, 14124, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2668 dasm_put(Dst, 14219, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2671 dasm_put(Dst, 14242, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2669 break; 2672 break;
2670 2673
2671 case BC_ITERC: 2674 case BC_ITERC:
2672 dasm_put(Dst, 14293, LJ_TFUNC, 2+1, Dt7(->pc)); 2675 dasm_put(Dst, 14316, LJ_TFUNC, 2+1, Dt7(->pc));
2673 break; 2676 break;
2674 2677
2675 case BC_ITERN: 2678 case BC_ITERN:
2676#if LJ_HASJIT 2679#if LJ_HASJIT
2677#endif 2680#endif
2678 dasm_put(Dst, 14365, Dt6(->asize), Dt6(->array), LJ_TNIL); 2681 dasm_put(Dst, 14388, Dt6(->asize), Dt6(->array), LJ_TNIL);
2679 if (LJ_DUALNUM) { 2682 if (LJ_DUALNUM) {
2680 dasm_put(Dst, 11047, LJ_TISNUM); 2683 dasm_put(Dst, 11070, LJ_TISNUM);
2681 } else if (sse) { 2684 } else if (sse) {
2682 dasm_put(Dst, 11125); 2685 dasm_put(Dst, 11148);
2683 } else { 2686 } else {
2684 dasm_put(Dst, 14417); 2687 dasm_put(Dst, 14440);
2685 } 2688 }
2686 dasm_put(Dst, 14423); 2689 dasm_put(Dst, 14446);
2687 if (LJ_DUALNUM) { 2690 if (LJ_DUALNUM) {
2688 } else if (sse) { 2691 } else if (sse) {
2689 dasm_put(Dst, 11012); 2692 dasm_put(Dst, 11035);
2690 } else { 2693 } else {
2691 dasm_put(Dst, 11024); 2694 dasm_put(Dst, 11047);
2692 } 2695 }
2693 dasm_put(Dst, 14436, -BCBIAS_J*4); 2696 dasm_put(Dst, 14459, -BCBIAS_J*4);
2694 if (!LJ_DUALNUM && !sse) { 2697 if (!LJ_DUALNUM && !sse) {
2695 dasm_put(Dst, 14490); 2698 dasm_put(Dst, 14513);
2696 } 2699 }
2697 dasm_put(Dst, 14496, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2700 dasm_put(Dst, 14519, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2698 break; 2701 break;
2699 2702
2700 case BC_ISNEXT: 2703 case BC_ISNEXT:
2701 dasm_put(Dst, 14575, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2704 dasm_put(Dst, 14598, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2702 break; 2705 break;
2703 2706
2704 case BC_VARG: 2707 case BC_VARG:
2705 dasm_put(Dst, 14676, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2708 dasm_put(Dst, 14699, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2706 dasm_put(Dst, 14843, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2709 dasm_put(Dst, 14866, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2707 break; 2710 break;
2708 2711
2709 /* -- Returns ----------------------------------------------------------- */ 2712 /* -- Returns ----------------------------------------------------------- */
2710 2713
2711 case BC_RETM: 2714 case BC_RETM:
2712 dasm_put(Dst, 14053); 2715 dasm_put(Dst, 14076);
2713 break; 2716 break;
2714 2717
2715 case BC_RET: case BC_RET0: case BC_RET1: 2718 case BC_RET: case BC_RET0: case BC_RET1:
2716 if (op != BC_RET0) { 2719 if (op != BC_RET0) {
2717 dasm_put(Dst, 14913); 2720 dasm_put(Dst, 14936);
2718 } 2721 }
2719 dasm_put(Dst, 14917, FRAME_TYPE); 2722 dasm_put(Dst, 14940, FRAME_TYPE);
2720 switch (op) { 2723 switch (op) {
2721 case BC_RET: 2724 case BC_RET:
2722 dasm_put(Dst, 14936); 2725 dasm_put(Dst, 14959);
2723 break; 2726 break;
2724 case BC_RET1: 2727 case BC_RET1:
2725 dasm_put(Dst, 14990); 2728 dasm_put(Dst, 15013);
2726 /* fallthrough */ 2729 /* fallthrough */
2727 case BC_RET0: 2730 case BC_RET0:
2728 dasm_put(Dst, 15000); 2731 dasm_put(Dst, 15023);
2729 default: 2732 default:
2730 break; 2733 break;
2731 } 2734 }
2732 dasm_put(Dst, 15011, Dt7(->pc), PC2PROTO(k)); 2735 dasm_put(Dst, 15034, Dt7(->pc), PC2PROTO(k));
2733 if (op == BC_RET) { 2736 if (op == BC_RET) {
2734 dasm_put(Dst, 15059, LJ_TNIL); 2737 dasm_put(Dst, 15082, LJ_TNIL);
2735 } else { 2738 } else {
2736 dasm_put(Dst, 15070, LJ_TNIL); 2739 dasm_put(Dst, 15093, LJ_TNIL);
2737 } 2740 }
2738 dasm_put(Dst, 15077, -FRAME_VARG, FRAME_TYPEP); 2741 dasm_put(Dst, 15100, -FRAME_VARG, FRAME_TYPEP);
2739 if (op != BC_RET0) { 2742 if (op != BC_RET0) {
2740 dasm_put(Dst, 15101); 2743 dasm_put(Dst, 15124);
2741 } 2744 }
2742 dasm_put(Dst, 4669); 2745 dasm_put(Dst, 4692);
2743 break; 2746 break;
2744 2747
2745 /* -- Loops and branches ------------------------------------------------ */ 2748 /* -- Loops and branches ------------------------------------------------ */
@@ -2747,7 +2750,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2747 2750
2748 case BC_FORL: 2751 case BC_FORL:
2749#if LJ_HASJIT 2752#if LJ_HASJIT
2750 dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); 2753 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT);
2751#endif 2754#endif
2752 break; 2755 break;
2753 2756
@@ -2759,111 +2762,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2759 case BC_FORI: 2762 case BC_FORI:
2760 case BC_IFORL: 2763 case BC_IFORL:
2761 vk = (op == BC_IFORL || op == BC_JFORL); 2764 vk = (op == BC_IFORL || op == BC_JFORL);
2762 dasm_put(Dst, 15126); 2765 dasm_put(Dst, 15149);
2763 if (LJ_DUALNUM) { 2766 if (LJ_DUALNUM) {
2764 dasm_put(Dst, 15130, LJ_TISNUM); 2767 dasm_put(Dst, 15153, LJ_TISNUM);
2765 if (!vk) { 2768 if (!vk) {
2766 dasm_put(Dst, 15140, LJ_TISNUM, LJ_TISNUM); 2769 dasm_put(Dst, 15163, LJ_TISNUM, LJ_TISNUM);
2767 } else { 2770 } else {
2768#ifdef LUA_USE_ASSERT 2771#ifdef LUA_USE_ASSERT
2769 dasm_put(Dst, 15169, LJ_TISNUM, LJ_TISNUM); 2772 dasm_put(Dst, 15192, LJ_TISNUM, LJ_TISNUM);
2770#endif 2773#endif
2771 dasm_put(Dst, 15188); 2774 dasm_put(Dst, 15211);
2772 } 2775 }
2773 dasm_put(Dst, 15207, LJ_TISNUM); 2776 dasm_put(Dst, 15230, LJ_TISNUM);
2774 if (op == BC_FORI) { 2777 if (op == BC_FORI) {
2775 dasm_put(Dst, 15218, -BCBIAS_J*4); 2778 dasm_put(Dst, 15241, -BCBIAS_J*4);
2776 } else if (op == BC_JFORI) { 2779 } else if (op == BC_JFORI) {
2777 dasm_put(Dst, 15232, -BCBIAS_J*4, BC_JLOOP); 2780 dasm_put(Dst, 15255, -BCBIAS_J*4, BC_JLOOP);
2778 } else if (op == BC_IFORL) { 2781 } else if (op == BC_IFORL) {
2779 dasm_put(Dst, 15250, -BCBIAS_J*4); 2782 dasm_put(Dst, 15273, -BCBIAS_J*4);
2780 } else { 2783 } else {
2781 dasm_put(Dst, 15242, BC_JLOOP); 2784 dasm_put(Dst, 15265, BC_JLOOP);
2782 } 2785 }
2783 dasm_put(Dst, 15264); 2786 dasm_put(Dst, 15287);
2784 if (vk) { 2787 if (vk) {
2785 dasm_put(Dst, 15289); 2788 dasm_put(Dst, 15312);
2786 } 2789 }
2787 dasm_put(Dst, 15207, LJ_TISNUM); 2790 dasm_put(Dst, 15230, LJ_TISNUM);
2788 if (op == BC_FORI) { 2791 if (op == BC_FORI) {
2789 dasm_put(Dst, 15298); 2792 dasm_put(Dst, 15321);
2790 } else if (op == BC_JFORI) { 2793 } else if (op == BC_JFORI) {
2791 dasm_put(Dst, 15303, -BCBIAS_J*4, BC_JLOOP); 2794 dasm_put(Dst, 15326, -BCBIAS_J*4, BC_JLOOP);
2792 } else if (op == BC_IFORL) { 2795 } else if (op == BC_IFORL) {
2793 dasm_put(Dst, 15317); 2796 dasm_put(Dst, 15340);
2794 } else { 2797 } else {
2795 dasm_put(Dst, 15313, BC_JLOOP); 2798 dasm_put(Dst, 15336, BC_JLOOP);
2796 } 2799 }
2797 dasm_put(Dst, 15322); 2800 dasm_put(Dst, 15345);
2798 } else if (!vk) { 2801 } else if (!vk) {
2799 dasm_put(Dst, 15329, LJ_TISNUM); 2802 dasm_put(Dst, 15352, LJ_TISNUM);
2800 } 2803 }
2801 if (!vk) { 2804 if (!vk) {
2802 dasm_put(Dst, 15335, LJ_TISNUM); 2805 dasm_put(Dst, 15358, LJ_TISNUM);
2803 } else { 2806 } else {
2804#ifdef LUA_USE_ASSERT 2807#ifdef LUA_USE_ASSERT
2805 dasm_put(Dst, 15349, LJ_TISNUM, LJ_TISNUM); 2808 dasm_put(Dst, 15372, LJ_TISNUM, LJ_TISNUM);
2806#endif 2809#endif
2807 } 2810 }
2808 dasm_put(Dst, 15368); 2811 dasm_put(Dst, 15391);
2809 if (!vk) { 2812 if (!vk) {
2810 dasm_put(Dst, 15372, LJ_TISNUM); 2813 dasm_put(Dst, 15395, LJ_TISNUM);
2811 } 2814 }
2812 if (sse) { 2815 if (sse) {
2813 dasm_put(Dst, 15381); 2816 dasm_put(Dst, 15404);
2814 if (vk) { 2817 if (vk) {
2815 dasm_put(Dst, 15393); 2818 dasm_put(Dst, 15416);
2816 } else { 2819 } else {
2817 dasm_put(Dst, 15412); 2820 dasm_put(Dst, 15435);
2818 } 2821 }
2819 dasm_put(Dst, 15417); 2822 dasm_put(Dst, 15440);
2820 } else { 2823 } else {
2821 dasm_put(Dst, 15430); 2824 dasm_put(Dst, 15453);
2822 if (vk) { 2825 if (vk) {
2823 dasm_put(Dst, 15436); 2826 dasm_put(Dst, 15459);
2824 } else { 2827 } else {
2825 dasm_put(Dst, 15452); 2828 dasm_put(Dst, 15475);
2826 } 2829 }
2827 dasm_put(Dst, 15460); 2830 dasm_put(Dst, 15483);
2828 if (cmov) { 2831 if (cmov) {
2829 dasm_put(Dst, 10090); 2832 dasm_put(Dst, 10113);
2830 } else { 2833 } else {
2831 dasm_put(Dst, 10096); 2834 dasm_put(Dst, 10119);
2832 } 2835 }
2833 if (!cmov) { 2836 if (!cmov) {
2834 dasm_put(Dst, 15465); 2837 dasm_put(Dst, 15488);
2835 } 2838 }
2836 } 2839 }
2837 if (op == BC_FORI) { 2840 if (op == BC_FORI) {
2838 if (LJ_DUALNUM) { 2841 if (LJ_DUALNUM) {
2839 dasm_put(Dst, 15471); 2842 dasm_put(Dst, 15494);
2840 } else { 2843 } else {
2841 dasm_put(Dst, 15476, -BCBIAS_J*4); 2844 dasm_put(Dst, 15499, -BCBIAS_J*4);
2842 } 2845 }
2843 } else if (op == BC_JFORI) { 2846 } else if (op == BC_JFORI) {
2844 dasm_put(Dst, 15486, -BCBIAS_J*4, BC_JLOOP); 2847 dasm_put(Dst, 15509, -BCBIAS_J*4, BC_JLOOP);
2845 } else if (op == BC_IFORL) { 2848 } else if (op == BC_IFORL) {
2846 if (LJ_DUALNUM) { 2849 if (LJ_DUALNUM) {
2847 dasm_put(Dst, 15500); 2850 dasm_put(Dst, 15523);
2848 } else { 2851 } else {
2849 dasm_put(Dst, 15505, -BCBIAS_J*4); 2852 dasm_put(Dst, 15528, -BCBIAS_J*4);
2850 } 2853 }
2851 } else { 2854 } else {
2852 dasm_put(Dst, 15496, BC_JLOOP); 2855 dasm_put(Dst, 15519, BC_JLOOP);
2853 } 2856 }
2854 if (LJ_DUALNUM) { 2857 if (LJ_DUALNUM) {
2855 dasm_put(Dst, 10019); 2858 dasm_put(Dst, 10042);
2856 } else { 2859 } else {
2857 dasm_put(Dst, 10793); 2860 dasm_put(Dst, 10816);
2858 } 2861 }
2859 if (sse) { 2862 if (sse) {
2860 dasm_put(Dst, 15515); 2863 dasm_put(Dst, 15538);
2861 } 2864 }
2862 break; 2865 break;
2863 2866
2864 case BC_ITERL: 2867 case BC_ITERL:
2865#if LJ_HASJIT 2868#if LJ_HASJIT
2866 dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); 2869 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT);
2867#endif 2870#endif
2868 break; 2871 break;
2869 2872
@@ -2872,33 +2875,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2872 break; 2875 break;
2873#endif 2876#endif
2874 case BC_IITERL: 2877 case BC_IITERL:
2875 dasm_put(Dst, 15526, LJ_TNIL); 2878 dasm_put(Dst, 15549, LJ_TNIL);
2876 if (op == BC_JITERL) { 2879 if (op == BC_JITERL) {
2877 dasm_put(Dst, 15541, BC_JLOOP); 2880 dasm_put(Dst, 15564, BC_JLOOP);
2878 } else { 2881 } else {
2879 dasm_put(Dst, 15555, -BCBIAS_J*4); 2882 dasm_put(Dst, 15578, -BCBIAS_J*4);
2880 } 2883 }
2881 dasm_put(Dst, 10133); 2884 dasm_put(Dst, 10156);
2882 break; 2885 break;
2883 2886
2884 case BC_LOOP: 2887 case BC_LOOP:
2885#if LJ_HASJIT 2888#if LJ_HASJIT
2886 dasm_put(Dst, 15105, HOTCOUNT_PCMASK, GG_DISP2HOT); 2889 dasm_put(Dst, 15128, HOTCOUNT_PCMASK, GG_DISP2HOT);
2887#endif 2890#endif
2888 break; 2891 break;
2889 2892
2890 case BC_ILOOP: 2893 case BC_ILOOP:
2891 dasm_put(Dst, 10135); 2894 dasm_put(Dst, 10158);
2892 break; 2895 break;
2893 2896
2894 case BC_JLOOP: 2897 case BC_JLOOP:
2895#if LJ_HASJIT 2898#if LJ_HASJIT
2896 dasm_put(Dst, 15571, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2899 dasm_put(Dst, 15594, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2897#endif 2900#endif
2898 break; 2901 break;
2899 2902
2900 case BC_JMP: 2903 case BC_JMP:
2901 dasm_put(Dst, 15612, -BCBIAS_J*4); 2904 dasm_put(Dst, 15635, -BCBIAS_J*4);
2902 break; 2905 break;
2903 2906
2904 /* -- Function headers -------------------------------------------------- */ 2907 /* -- Function headers -------------------------------------------------- */
@@ -2912,7 +2915,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2912 2915
2913 case BC_FUNCF: 2916 case BC_FUNCF:
2914#if LJ_HASJIT 2917#if LJ_HASJIT
2915 dasm_put(Dst, 15638, HOTCOUNT_PCMASK, GG_DISP2HOT); 2918 dasm_put(Dst, 15661, HOTCOUNT_PCMASK, GG_DISP2HOT);
2916#endif 2919#endif
2917 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2920 case BC_FUNCV: /* NYI: compiled vararg functions. */
2918 break; 2921 break;
@@ -2922,47 +2925,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2922 break; 2925 break;
2923#endif 2926#endif
2924 case BC_IFUNCF: 2927 case BC_IFUNCF:
2925 dasm_put(Dst, 15659, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2928 dasm_put(Dst, 15682, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2926 if (op == BC_JFUNCF) { 2929 if (op == BC_JFUNCF) {
2927 dasm_put(Dst, 15690, BC_JLOOP); 2930 dasm_put(Dst, 15713, BC_JLOOP);
2928 } else { 2931 } else {
2929 dasm_put(Dst, 10135); 2932 dasm_put(Dst, 10158);
2930 } 2933 }
2931 dasm_put(Dst, 15699, LJ_TNIL); 2934 dasm_put(Dst, 15722, LJ_TNIL);
2932 break; 2935 break;
2933 2936
2934 case BC_JFUNCV: 2937 case BC_JFUNCV:
2935#if !LJ_HASJIT 2938#if !LJ_HASJIT
2936 break; 2939 break;
2937#endif 2940#endif
2938 dasm_put(Dst, 9242); 2941 dasm_put(Dst, 9265);
2939 break; /* NYI: compiled vararg functions. */ 2942 break; /* NYI: compiled vararg functions. */
2940 2943
2941 case BC_IFUNCV: 2944 case BC_IFUNCV:
2942 dasm_put(Dst, 15721, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2945 dasm_put(Dst, 15744, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2943 if (op == BC_JFUNCV) { 2946 if (op == BC_JFUNCV) {
2944 dasm_put(Dst, 15690, BC_JLOOP); 2947 dasm_put(Dst, 15713, BC_JLOOP);
2945 } else { 2948 } else {
2946 dasm_put(Dst, 15818, -4+PC2PROTO(k)); 2949 dasm_put(Dst, 15841, -4+PC2PROTO(k));
2947 } 2950 }
2948 dasm_put(Dst, 15843, LJ_TNIL); 2951 dasm_put(Dst, 15866, LJ_TNIL);
2949 break; 2952 break;
2950 2953
2951 case BC_FUNCC: 2954 case BC_FUNCC:
2952 case BC_FUNCCW: 2955 case BC_FUNCCW:
2953 dasm_put(Dst, 15865, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2956 dasm_put(Dst, 15888, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2954 if (op == BC_FUNCC) { 2957 if (op == BC_FUNCC) {
2955 dasm_put(Dst, 2341); 2958 dasm_put(Dst, 2364);
2956 } else { 2959 } else {
2957 dasm_put(Dst, 15895); 2960 dasm_put(Dst, 15918);
2958 } 2961 }
2959 dasm_put(Dst, 15903, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2962 dasm_put(Dst, 15926, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2960 if (op == BC_FUNCC) { 2963 if (op == BC_FUNCC) {
2961 dasm_put(Dst, 15913); 2964 dasm_put(Dst, 15936);
2962 } else { 2965 } else {
2963 dasm_put(Dst, 15918, DISPATCH_GL(wrapf)); 2966 dasm_put(Dst, 15941, DISPATCH_GL(wrapf));
2964 } 2967 }
2965 dasm_put(Dst, 15924, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2968 dasm_put(Dst, 15947, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2966 break; 2969 break;
2967 2970
2968 /* ---------------------------------------------------------------------- */ 2971 /* ---------------------------------------------------------------------- */
@@ -2990,7 +2993,7 @@ static int build_backend(BuildCtx *ctx)
2990 2993
2991 build_subroutines(ctx, cmov, sse); 2994 build_subroutines(ctx, cmov, sse);
2992 2995
2993 dasm_put(Dst, 15950); 2996 dasm_put(Dst, 15973);
2994 for (op = 0; op < BC__MAX; op++) 2997 for (op = 0; op < BC__MAX; op++)
2995 build_ins(ctx, (BCOp)op, op, cmov, sse); 2998 build_ins(ctx, (BCOp)op, op, cmov, sse);
2996 2999
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 7bed2e94..244225f3 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15828] = { 15static const unsigned char build_actionlist[15830] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -25,138 +25,138 @@ static const unsigned char build_actionlist[15828] = {
25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20, 25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
26 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232, 26 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232,
27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108, 27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108,
28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,225,239,72, 28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,72,129,225,
29 137,204,248,20,139,108,36,96,72,199,193,252,248,252,255,252,255,252,255,184, 29 239,72,137,204,248,21,255,139,108,36,96,72,199,193,252,248,252,255,252,255,
30 237,255,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252, 30 252,255,184,237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,
31 237,199,131,233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22, 31 252,252,237,199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,
32 131,232,8,252,233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233, 32 248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,
33 131,198,4,137,149,233,137,133,233,255,137,116,36,100,137,202,248,2,137,252, 33 233,131,198,4,137,149,233,255,137,133,233,137,116,36,100,137,202,248,2,137,
34 233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3, 34 252,233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,
35 131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255, 35 3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,
36 36,252,235,248,24,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137, 36 36,252,235,248,25,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137,
37 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189, 37 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189,
38 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15, 38 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15,
39 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193, 39 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193,
40 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,15,132, 40 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,255,15,
41 244,13,255,252,233,244,14,248,25,85,87,86,83,72,131,252,236,40,190,237,68, 41 132,244,13,252,233,244,14,248,26,85,87,86,83,72,131,252,236,40,190,237,68,
42 137,76,36,92,252,233,244,247,248,26,85,87,86,83,72,131,252,236,40,190,237, 42 137,76,36,92,252,233,244,247,248,27,85,87,86,83,72,131,252,236,40,190,237,
43 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137, 43 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137,
44 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248, 44 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248,
45 3,199,131,233,237,139,149,233,1,206,41,214,139,133,233,41,200,193,232,3,131, 45 3,199,131,233,237,139,149,233,255,1,206,41,214,139,133,233,41,200,193,232,
46 192,1,248,27,255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248, 46 3,131,192,1,248,28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,
47 29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131, 47 248,30,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,
48 198,4,252,255,36,252,235,248,30,85,87,86,83,72,131,252,236,40,137,205,137, 48 131,198,4,252,255,36,252,235,248,31,85,87,86,83,72,131,252,236,40,137,205,
49 76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,124, 49 137,76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,
50 36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,133, 50 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,
51 192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,252, 51 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,
52 248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,72, 52 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,
53 99,77,252,240,72,141,61,245,72,1,252,249,139,122,252,248,139,191,233,255, 53 72,99,77,252,240,72,141,61,245,255,72,1,252,249,139,122,252,248,139,191,233,
54 139,191,233,252,255,225,248,31,15,182,78,252,255,131,252,237,16,141,12,202, 54 139,191,233,252,255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202,
55 41,252,233,15,132,244,32,252,247,217,193,252,233,3,65,137,200,139,76,36,96, 55 41,252,233,15,132,244,33,252,247,217,193,252,233,3,65,137,200,139,76,36,96,
56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68, 56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,34,248,35,137,68,
57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, 57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,
58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70, 58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,36,15,182,70,
59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15, 59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15,
60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254, 60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,37,15,182,70,252,254,
61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137, 61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,
62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149, 62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149,
63 233,133,192,15,132,244,249,248,32,15,182,78,252,253,72,139,40,72,137,44,202, 63 233,133,192,15,132,244,249,248,33,15,182,78,252,253,72,139,40,72,137,44,202,
64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, 64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,
65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252, 65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,
66 233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252, 66 233,244,30,248,38,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,
67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233, 67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,
68 244,248,248,38,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248, 68 244,248,248,39,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248,
69 39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248, 69 40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,
70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100, 70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100,
71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44, 71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44,
72 202,72,137,40,248,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 72 202,72,137,40,248,41,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139, 73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139,
74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244, 74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
75 29,248,41,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68, 75 30,248,42,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68,
76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252, 76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252,
77 248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254, 77 248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,
78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
79 252,255,36,252,235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 252,255,36,252,235,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,65,137, 80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,65,137,
81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137, 81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137,
82 116,36,100,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36, 82 116,36,100,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36,
83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252, 83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252,
84 233,244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233, 84 233,244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233,
85 244,247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248, 85 244,247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248,
86 51,141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141, 86 52,141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,
87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68, 87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68,
88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251, 88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,
89 1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244, 89 1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252,244,
90 141,176,233,184,237,252,233,244,27,248,54,139,108,36,96,137,149,233,141,20, 90 141,176,233,184,237,252,233,244,28,248,55,139,108,36,96,137,149,233,141,20,
91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248, 91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,43,248,
92 55,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, 92 56,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,
93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251, 93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,
94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, 94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,
95 15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, 95 15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,
96 182,205,131,198,4,252,255,36,252,235,248,57,139,108,36,96,137,149,233,137, 96 182,205,131,198,4,252,255,36,252,235,248,58,139,108,36,96,137,149,233,137,
97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, 97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15,
98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,58,129,252, 98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,59,129,252,
99 248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114,252, 99 248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114,252,
100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132, 100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,
101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15, 101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,
102 133,244,1,248,2,255,139,68,36,84,252,233,244,60,248,61,129,252,248,239,15, 102 133,244,1,248,2,255,139,68,36,84,252,233,244,61,248,62,129,252,248,239,15,
103 130,244,59,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, 103 130,244,60,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,
104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, 104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,
105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, 105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,
106 252,252,237,137,66,252,248,252,233,244,62,248,3,184,237,252,233,244,2,248, 106 252,252,237,137,66,252,248,252,233,244,63,248,3,184,237,252,233,244,2,248,
107 63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252,129,252,253,239, 107 64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252,129,252,253,239,
108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, 108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,
109 237,255,15,132,244,62,139,131,233,199,66,252,252,237,137,106,252,248,139, 109 237,255,15,132,244,63,139,131,233,199,66,252,252,237,137,106,252,248,139,
110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, 110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,
111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, 111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,
112 252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244,62,139,1,137,106, 112 252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,63,139,1,137,106,
113 252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15,132,244,1, 113 252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,132,244,1,
114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, 114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171,
115 233,252,233,244,2,248,64,255,129,252,248,239,15,130,244,59,129,122,253,4, 115 233,252,233,244,2,248,65,255,129,252,248,239,15,130,244,60,129,122,253,4,
116 239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12,239,15, 116 239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,15,
117 133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, 117 133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106,
118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, 118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233,
119 137,171,233,137,133,233,248,1,252,233,244,62,248,65,129,252,248,239,15,130, 119 137,171,233,137,133,233,248,1,252,233,244,63,248,66,129,252,248,239,15,130,
120 244,59,129,122,253,4,239,15,133,244,59,137,213,68,141,66,8,139,18,139,76, 120 244,60,129,122,253,4,239,15,133,244,60,137,213,68,141,66,8,139,18,139,76,
121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, 121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,
122 252,233,244,62,248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255, 122 252,233,244,63,248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255,
123 15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59, 123 15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,
124 255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129, 124 255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,
125 252,248,239,15,130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249, 125 252,248,239,15,130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,
126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122, 126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,
127 253,4,239,15,135,244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233, 127 253,4,239,15,135,244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,
128 255,15,130,244,247,232,244,71,248,1,139,108,36,96,137,149,233,137,116,36, 128 255,15,130,244,247,232,244,72,248,1,139,108,36,96,137,149,233,137,116,36,
129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, 129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,
130 244,2,248,72,129,252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253, 130 244,2,248,73,129,252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,
131 4,239,15,133,244,59,139,108,36,96,137,149,233,137,149,233,139,114,252,252, 131 4,239,15,133,244,60,139,108,36,96,137,149,233,137,149,233,139,114,252,252,
132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133, 132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,
133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2, 133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,
134 248,73,184,237,255,252,233,244,74,248,2,199,66,12,237,252,233,244,1,248,3, 134 248,74,184,237,255,252,233,244,75,248,2,199,66,12,237,252,233,244,1,248,3,
135 199,66,252,252,237,252,233,244,62,248,75,129,252,248,239,15,130,244,59,139, 135 199,66,252,252,237,252,233,244,63,248,76,129,252,248,239,15,130,244,60,139,
136 42,129,122,253,4,239,15,133,244,59,255,131,189,233,0,15,133,244,59,255,139, 136 42,129,122,253,4,239,15,133,244,60,255,131,189,233,0,15,133,244,60,255,139,
137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, 137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
138 199,66,12,237,184,237,252,233,244,74,248,76,129,252,248,239,15,130,244,59, 138 199,66,12,237,184,237,252,233,244,75,248,77,129,252,248,239,15,130,244,60,
139 129,122,253,4,239,15,133,244,59,129,122,253,12,239,255,139,114,252,252,255, 139 129,122,253,4,239,15,133,244,60,129,122,253,12,239,255,139,114,252,252,255,
140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66, 140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252, 141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,
142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133, 142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,
143 233,248,1,129,120,253,4,239,15,132,244,77,72,139,40,72,137,42,252,233,244, 143 233,248,1,129,120,253,4,239,15,132,244,78,72,139,40,72,137,42,252,233,244,
144 73,248,2,131,189,233,0,15,132,244,77,137,252,233,137,213,137,194,232,251, 144 74,248,2,131,189,233,0,15,132,244,78,137,252,233,137,213,137,194,232,251,
145 1,14,137,252,234,133,192,15,133,244,1,248,77,184,237,252,233,244,74,248,78, 145 1,14,137,252,234,133,192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,
146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66, 146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,
147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66, 147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,
148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,74,248,79,129,252,248, 148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,
149 239,15,130,244,59,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252, 149 239,15,130,244,60,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,
150 237,235,131,229,1,1,252,238,252,233,244,27,248,80,129,252,248,239,15,130, 150 237,235,131,229,1,1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,
151 244,59,129,122,253,12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4, 151 244,60,129,122,253,12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,
152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233, 152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,
153 244,1,248,81,129,252,248,239,15,130,244,59,139,42,139,114,252,252,137,116, 153 244,1,248,82,129,252,248,239,15,130,244,60,139,42,139,114,252,252,137,116,
154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,59,72,131,189,233,0,15, 154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,60,72,131,189,233,0,15,
155 133,244,59,128,189,233,235,15,135,244,59,139,141,233,15,132,244,247,255,59, 155 133,244,60,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,255,59,
156 141,233,15,132,244,59,248,1,141,116,193,252,240,59,181,233,15,135,244,59, 156 141,233,15,132,244,60,248,1,141,116,193,252,240,59,181,233,15,135,244,60,
157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232, 157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232,
158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131, 158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,
159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, 159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,
160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, 160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,
161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, 161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,
162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205, 162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,
@@ -165,220 +165,220 @@ static const unsigned char build_actionlist[15828] = {
165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14, 165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,
166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72, 166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,
167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137, 167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,
168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,82,139,106, 168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,83,139,106,
169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189, 169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,
170 233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139,141,233,15,132, 170 233,0,15,133,244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,
171 244,247,59,141,233,15,132,244,59,248,1,141,116,193,252,248,59,181,233,15, 171 244,247,59,141,233,15,132,244,60,248,1,141,116,193,252,248,59,181,233,15,
172 135,244,59,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194, 172 135,244,60,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,
173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137, 173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,
174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232, 174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,
175 244,24,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248, 175 244,25,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,
176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,
177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255, 177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,
178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133, 178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,
179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198, 179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198,
180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1, 180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,
181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,
182 116,36,80,139,149,233,252,233,244,4,248,83,139,108,36,96,72,252,247,133,233, 182 116,36,80,139,149,233,252,233,244,4,248,84,139,108,36,96,72,252,247,133,233,
183 237,15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, 183 237,15,132,244,60,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,
184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139, 184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,68,255,248,70,139,
185 114,252,252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130, 185 114,252,252,221,90,252,248,252,233,244,63,255,248,85,129,252,248,239,15,130,
186 244,59,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244, 186 244,60,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,
187 67,252,247,221,15,136,244,247,248,85,248,67,139,114,252,252,199,66,252,252, 187 68,252,247,221,15,136,244,247,248,86,248,68,139,114,252,252,199,66,252,252,
188 237,137,106,252,248,252,233,244,62,248,1,139,114,252,252,199,66,252,252,0, 188 237,137,106,252,248,252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,
189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129, 189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,
190 122,253,4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15, 190 122,253,4,239,15,131,244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,
191 110,200,15,84,193,248,68,139,114,252,252,252,242,15,17,66,252,248,255,221, 191 110,200,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221,
192 2,217,225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237, 192 2,217,225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237,
193 248,74,137,68,36,84,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252, 193 248,75,137,68,36,84,248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,
194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182, 194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,
195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252, 195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,
196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255, 196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,
197 252,255,252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42, 197 252,255,252,233,244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,
198 252,233,244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252, 198 252,233,244,68,248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,
199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15, 199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,
200 46,193,15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252, 200 46,193,15,138,244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,
201 242,15,16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15, 201 242,15,16,2,232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,
202 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68, 202 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,
203 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 203 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
204 221,2,217,252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59, 204 221,2,217,252,250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,
205 129,122,253,4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244, 205 129,122,253,4,239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,
206 69,248,92,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217, 206 70,248,93,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,
207 252,236,221,2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130, 207 252,236,221,2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,
208 244,59,129,122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248, 208 244,60,129,122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,
209 95,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217, 209 96,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,
210 252,254,252,233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253, 210 252,254,252,233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,
211 4,239,15,131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239, 211 4,239,15,131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,
212 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252, 212 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,
213 233,244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15, 213 233,244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,
214 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243, 214 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,
215 252,233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15, 215 252,233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
216 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, 216 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,
217 252,243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253, 217 252,243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,
218 4,239,15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248, 218 4,239,15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,
219 101,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242, 219 102,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,
220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129, 220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,103,129,
221 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, 221 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,
222 255,137,213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248, 222 255,137,213,232,251,1,17,137,252,234,252,233,244,69,255,248,104,129,252,248,
223 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137, 223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,
224 213,232,251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248, 224 213,232,251,1,18,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,
225 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106, 225 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,
226 252,248,252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239, 226 252,248,252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,
227 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141, 227 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,
228 233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253, 228 233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,
229 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252, 229 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,
230 243,252,233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239, 230 243,252,233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,
231 15,131,244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252, 231 15,131,244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,
232 253,221,217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106, 232 253,221,217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,
233 4,129,252,253,239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137, 233 4,129,252,253,239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,
234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132, 234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,
235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252, 235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,
236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139, 236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,
237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252, 237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,
238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3, 238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,
239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252, 239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,
240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15, 240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,
241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252, 242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252,
243 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255, 243 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,
244 248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221, 244 248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,
245 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, 245 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
246 244,250,255,15,40,224,232,244,110,252,242,15,92,224,248,1,252,242,15,17,66, 246 244,250,255,15,40,224,232,244,111,252,242,15,92,224,248,1,252,242,15,17,66,
247 252,248,252,242,15,17,34,255,217,192,232,244,110,220,252,233,248,1,221,90, 247 252,248,252,242,15,17,34,255,217,192,232,244,111,220,252,233,248,1,221,90,
248 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, 248 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
249 237,252,233,244,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, 249 237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
250 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, 250 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
251 111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 251 112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
252 253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223,224,158,15, 252 253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
253 138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15,130,244,59, 253 138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15,130,244,60,
254 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242, 254 129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,
255 15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248,112,129,252, 255 15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248,113,129,252,
256 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239, 256 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,
257 15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248,114,185,2, 257 15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248,115,185,2,
258 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 258 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
259 67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, 259 68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108,
260 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,252,233,244,252, 260 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252,233,244,252,
261 248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124, 261 248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244,69,129,124,
262 253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15,42,76,202, 262 253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15,42,76,202,
263 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, 263 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,
264 242,15,93,193,131,193,1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253, 264 242,15,93,193,131,193,1,252,233,244,5,255,248,116,185,2,0,0,0,129,122,253,
265 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202, 265 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,
266 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, 266 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,
267 1,252,233,244,1,248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248, 267 1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,15,16,76,202,252,248,
268 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, 268 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,
269 244,59,255,248,116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133, 269 244,60,255,248,117,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,
270 244,59,139,42,255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252, 270 244,60,139,42,255,139,173,233,252,233,244,68,255,252,242,15,42,133,233,252,
271 233,244,68,255,219,133,233,252,233,244,69,255,248,117,129,252,248,239,15, 271 233,244,69,255,219,133,233,252,233,244,70,255,248,118,129,252,248,239,15,
272 133,244,59,129,122,253,4,239,15,133,244,59,139,42,139,114,252,252,131,189, 272 133,244,60,129,122,253,4,239,15,133,244,60,139,42,139,114,252,252,131,189,
273 233,1,15,130,244,77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255, 273 233,1,15,130,244,78,15,182,173,233,255,252,242,15,42,197,252,233,244,69,255,
274 137,108,36,80,219,68,36,80,252,233,244,69,255,248,118,139,171,233,59,171, 274 137,108,36,80,219,68,36,80,252,233,244,70,255,248,119,139,171,233,59,171,
275 233,15,130,244,247,232,244,71,248,1,129,252,248,239,15,133,244,59,129,122, 275 233,15,130,244,247,232,244,72,248,1,129,252,248,239,15,133,244,60,129,122,
276 253,4,239,255,15,133,244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59, 276 253,4,239,255,15,133,244,60,139,42,129,252,253,252,255,0,0,0,15,135,244,60,
277 137,108,36,84,255,15,131,244,59,252,242,15,44,42,129,252,253,252,255,0,0, 277 137,108,36,84,255,15,131,244,60,252,242,15,44,42,129,252,253,252,255,0,0,
278 0,15,135,244,59,137,108,36,84,255,15,131,244,59,221,2,219,92,36,84,129,124, 278 0,15,135,244,60,137,108,36,84,255,15,131,244,60,221,2,219,92,36,84,129,124,
279 36,84,252,255,0,0,0,15,135,244,59,255,199,68,36,32,1,0,0,0,72,141,68,36,84, 279 36,84,252,255,0,0,0,15,135,244,60,255,199,68,36,32,1,0,0,0,72,141,68,36,84,
280 248,119,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, 280 248,120,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,
281 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, 281 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237,
282 137,66,252,248,252,233,244,62,248,120,139,171,233,59,171,233,15,130,244,247, 282 137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233,15,130,244,247,
283 232,244,71,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, 283 232,244,72,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,
284 239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15,133,244,59,139, 284 239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,133,244,60,139,
285 106,16,137,108,36,84,255,15,131,244,59,252,242,15,44,106,16,137,108,36,84, 285 106,16,137,108,36,84,255,15,131,244,60,252,242,15,44,106,16,137,108,36,84,
286 255,15,131,244,59,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, 286 255,15,131,244,60,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
287 244,59,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, 287 244,60,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74,
288 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, 288 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,
289 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,121,141,172,253, 289 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,122,141,172,253,
290 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,119,248,5,15,140, 290 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,120,248,5,15,140,
291 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 291 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
292 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 292 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
293 3,248,121,49,192,252,233,244,4,248,122,129,252,248,239,15,130,244,59,139, 293 3,248,122,49,192,252,233,244,4,248,123,129,252,248,239,15,130,244,60,139,
294 171,233,59,171,233,15,130,244,247,232,244,71,248,1,255,129,122,253,4,239, 294 171,233,59,171,233,15,130,244,247,232,244,72,248,1,255,129,122,253,4,239,
295 15,133,244,59,129,122,253,12,239,139,42,255,15,133,244,59,139,66,8,255,15, 295 15,133,244,60,129,122,253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,
296 131,244,59,252,242,15,44,66,8,255,15,131,244,59,221,66,8,219,92,36,84,139, 296 131,244,60,252,242,15,44,66,8,255,15,131,244,60,221,66,8,219,92,36,84,139,
297 68,36,84,255,133,192,15,142,244,121,131,189,233,1,15,130,244,121,15,133,244, 297 68,36,84,255,133,192,15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,
298 123,57,131,233,15,130,244,123,15,182,141,233,139,171,233,137,68,36,32,248, 298 124,57,131,233,15,130,244,124,15,182,141,233,139,171,233,137,68,36,32,248,
299 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,119,248, 299 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248,
300 124,129,252,248,239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247, 300 125,129,252,248,239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247,
301 232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192, 301 232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192,
302 15,132,244,121,57,131,233,15,130,244,125,129,197,239,137,116,36,84,137,68, 302 15,132,244,122,57,131,233,15,130,244,126,129,197,239,137,116,36,84,137,68,
303 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, 303 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,
304 244,1,137,252,240,139,116,36,84,252,233,244,119,248,126,129,252,248,239,15, 304 244,1,137,252,240,139,116,36,84,252,233,244,120,248,127,129,252,248,239,15,
305 130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248,1,129,122, 305 130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,
306 253,4,239,15,133,244,59,139,42,139,133,233,57,131,233,255,15,130,244,125, 306 253,4,239,15,133,244,60,139,42,139,133,233,57,131,233,255,15,130,244,126,
307 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, 307 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
308 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, 308 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,
309 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, 309 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
310 116,36,84,252,233,244,119,248,127,129,252,248,239,15,130,244,59,255,139,171, 310 116,36,84,252,233,244,120,248,128,129,252,248,239,15,130,244,60,255,139,171,
311 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, 311 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,
312 59,139,42,139,133,233,57,131,233,15,130,244,125,129,197,239,137,116,36,84, 312 60,139,42,139,133,233,57,131,233,15,130,244,126,129,197,239,137,116,36,84,
313 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 313 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
314 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, 314 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,
315 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, 315 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,
316 119,248,128,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59, 316 120,248,129,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,
317 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,67,255,252, 317 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,68,255,252,
318 242,15,42,192,252,233,244,68,255,248,129,129,122,253,4,239,255,15,133,244, 318 242,15,42,192,252,233,244,69,255,248,130,129,122,253,4,239,255,15,133,244,
319 247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242,15,16,2,72,189, 319 247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,242,15,16,2,72,189,
320 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244, 320 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244,
321 85,255,248,130,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0, 321 86,255,248,131,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,
322 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,59,255, 322 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,60,255,
323 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, 323 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
324 68,194,252,240,248,1,57,208,15,134,244,85,129,120,253,4,239,255,15,133,244, 324 68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,15,133,244,
325 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,15,131,244,131, 325 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131,244,132,
326 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8, 326 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,
327 252,233,244,1,248,132,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248, 327 252,233,244,1,248,133,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,
328 2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205, 328 2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,
329 255,131,232,8,252,233,244,1,248,133,255,15,133,244,248,51,40,131,232,8,252, 329 255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,51,40,131,232,8,252,
330 233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102, 330 233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,
331 15,126,193,49,205,255,131,232,8,252,233,244,1,248,134,129,122,253,4,239,255, 331 15,126,193,49,205,255,131,232,8,252,233,244,1,248,135,129,122,253,4,239,255,
332 248,2,15,205,252,233,244,85,248,135,129,122,253,4,239,255,248,2,252,247,213, 332 248,2,15,205,252,233,244,86,248,136,129,122,253,4,239,255,248,2,252,247,213,
333 255,248,85,252,242,15,42,197,252,233,244,68,255,248,131,139,68,36,84,252, 333 255,248,86,252,242,15,42,197,252,233,244,69,255,248,132,139,68,36,84,252,
334 233,244,59,255,248,136,129,122,253,4,239,255,248,2,129,122,253,12,239,15, 334 233,244,60,255,248,137,129,122,253,4,239,255,248,2,129,122,253,12,239,15,
335 133,244,59,139,74,8,255,248,136,129,252,248,239,15,130,244,59,129,122,253, 335 133,244,60,139,74,8,255,248,137,129,252,248,239,15,130,244,60,129,122,253,
336 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, 336 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,
337 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 337 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
338 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,85,255,248, 338 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,86,255,248,
339 137,129,122,253,4,239,255,248,137,129,252,248,239,15,130,244,59,129,122,253, 339 138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,60,129,122,253,
340 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, 340 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,
341 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 341 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
342 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,85,255, 342 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,86,255,
343 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,59,129,122, 343 248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,60,129,122,
344 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, 344 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
345 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 345 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
346 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,85, 346 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,86,
347 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,59,129, 347 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,60,129,
348 122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16, 348 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,
349 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 349 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
350 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,85,255, 350 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,86,255,
351 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122, 351 248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,
352 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, 352 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
353 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 353 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
354 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,85,248, 354 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,86,248,
355 123,184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,96,139,114,252, 355 124,184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,96,139,114,252,
356 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233, 356 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,
357 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139, 357 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,
358 149,233,133,192,15,143,244,74,248,1,255,139,141,233,41,209,193,252,233,3, 358 149,233,133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,
359 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182, 359 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,
360 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198, 360 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198,
361 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233, 361 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,
362 244,27,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,27,248,5, 362 244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,
363 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,71,93, 363 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,
364 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194, 364 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194,
365 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208, 365 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,
366 193,232,3,131,192,1,72,139,108,36,32,85,195,248,141,255,15,182,131,233,168, 366 193,232,3,131,192,1,72,139,108,36,32,85,195,248,142,255,15,182,131,233,168,
367 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255, 367 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,
368 139,233,252,233,244,247,255,248,142,15,182,131,233,168,235,15,133,244,251, 368 139,233,252,233,244,247,255,248,143,15,182,131,233,168,235,15,133,244,251,
369 252,233,244,247,248,143,15,182,131,233,168,235,15,133,244,251,168,235,15, 369 252,233,244,247,248,144,15,182,131,233,168,235,15,133,244,251,168,235,15,
370 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255, 370 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,
371 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139, 371 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,
372 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254, 372 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,
373 252,255,164,253,252,235,233,248,144,131,198,4,139,77,232,137,76,36,84,252, 373 252,255,164,253,252,235,233,248,145,131,198,4,139,77,232,137,76,36,84,252,
374 233,244,4,248,145,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 374 233,244,4,248,146,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
375 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171, 375 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171,
376 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,146,137,116,36,100, 376 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,147,137,116,36,100,
377 255,248,147,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139, 377 255,248,148,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139,
378 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199, 378 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,
379 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133, 379 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133,
380 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248, 380 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,
381 148,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85, 381 149,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,
382 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117, 382 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,
383 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129, 383 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129,
384 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, 384 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,
@@ -389,7 +389,7 @@ static const unsigned char build_actionlist[15828] = {
389 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199, 389 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199,
390 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25, 390 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,
391 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233, 391 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233,
392 244,247,255,248,149,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233, 392 244,247,255,248,150,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,
393 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68, 393 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68,
394 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111, 394 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111,
395 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139, 395 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,
@@ -397,25 +397,25 @@ static const unsigned char build_actionlist[15828] = {
397 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, 397 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,
398 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239, 398 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239,
399 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216, 399 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,
400 137,252,233,137,194,232,251,1,26,255,248,87,255,217,124,36,4,137,68,36,8, 400 137,252,233,137,194,232,251,1,26,255,248,88,255,217,124,36,4,137,68,36,8,
401 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, 401 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
402 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,150,72,184,237,237, 402 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184,237,237,
403 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 403 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
404 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 404 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,
405 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102, 405 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,
406 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,89,255,217,124,36,4,137, 406 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,
407 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, 407 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,
408 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184, 408 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,
409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, 409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
410 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 410 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
411 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194, 411 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,
412 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,110,255,217, 412 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,111,255,217,
413 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108, 413 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,
414 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237, 414 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,
415 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 415 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
416 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 416 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
417 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15, 417 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,
418 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,153,255,15, 418 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,154,255,15,
419 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237, 419 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,
420 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102, 420 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,
421 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237, 421 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,
@@ -423,12 +423,12 @@ static const unsigned char build_actionlist[15828] = {
423 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15, 423 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,
424 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184, 424 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,
425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
426 252,252,217,108,36,4,222,201,222,252,233,195,255,248,94,217,252,234,222,201, 426 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201,
427 248,154,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8, 427 248,155,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,
428 0,0,128,252,255,15,132,244,248,248,155,217,192,217,252,252,220,252,233,217, 428 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217,
429 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 429 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
430 217,252,238,195,255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208, 430 217,252,238,195,255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208,
431 102,15,46,202,15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142, 431 102,15,46,202,15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142,
432 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 432 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
433 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 433 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
434 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 434 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
@@ -445,27 +445,27 @@ static const unsigned char build_actionlist[15828] = {
445 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15, 445 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,
446 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195, 446 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,
447 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193, 447 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,
448 133,192,15,132,244,3,15,87,192,195,248,158,255,131,252,250,1,15,130,244,87, 448 133,192,15,132,244,3,15,87,192,195,248,159,255,131,252,250,1,15,130,244,88,
449 15,132,244,89,131,252,250,3,15,130,244,110,15,135,244,248,252,242,15,81,192, 449 15,132,244,90,131,252,250,3,15,130,244,111,15,135,244,248,252,242,15,81,192,
450 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, 450 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,
451 88,15,132,244,247,232,244,94,80,252,233,244,253,248,1,232,244,154,255,80, 451 88,15,132,244,247,232,244,95,80,252,233,244,253,248,1,232,244,155,255,80,
452 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 452 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,
453 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 453 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,
454 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, 454 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,
455 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 455 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,
456 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 456 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,
457 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, 457 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,
458 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,87,15,132,244,89, 458 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,88,15,132,244,90,
459 131,252,250,3,15,130,244,110,15,135,244,248,217,252,250,195,248,2,131,252, 459 131,252,250,3,15,130,244,111,15,135,244,248,217,252,250,195,248,2,131,252,
460 250,5,15,130,244,94,15,132,244,154,131,252,250,7,15,132,244,247,15,135,244, 460 250,5,15,130,244,95,15,132,244,155,131,252,250,7,15,132,244,247,15,135,244,
461 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, 461 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,
462 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, 462 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,
463 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, 463 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,
464 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, 464 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,
465 9,204,255,248,159,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, 465 9,204,255,248,160,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252,
466 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, 466 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,
467 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, 467 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,
468 248,2,65,131,252,248,5,15,130,244,153,15,132,244,113,65,131,252,248,7,15, 468 248,2,65,131,252,248,5,15,130,244,154,15,132,244,114,65,131,252,248,7,15,
469 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, 469 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,
470 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, 470 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252,
471 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, 471 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,
@@ -475,31 +475,31 @@ static const unsigned char build_actionlist[15828] = {
475 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, 475 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,
476 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, 476 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,
477 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, 477 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,
478 249,195,248,2,131,252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15, 478 249,195,248,2,131,252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,
479 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, 479 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,
480 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, 480 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,
481 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, 481 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,
482 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, 482 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,
483 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, 483 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,
484 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 484 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
485 248,2,221,216,195,255,248,160,137,200,86,72,137,214,83,15,162,137,6,137,94, 485 248,2,221,216,195,255,248,161,137,200,86,72,137,214,83,15,162,137,6,137,94,
486 4,137,78,8,137,86,12,91,94,195,248,161,255,85,72,137,229,83,72,137,203,139, 486 4,137,78,8,137,86,12,91,94,195,248,162,255,85,72,137,229,83,72,137,203,139,
487 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, 487 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,
488 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, 488 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,
489 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, 489 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,
490 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, 490 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40,
491 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, 491 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139,
492 93,252,248,201,195,255,248,162,255,249,255,129,124,253,202,4,239,15,133,244, 492 93,252,248,201,195,255,248,163,255,249,255,129,124,253,202,4,239,15,133,244,
493 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, 493 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
494 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, 494 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
495 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, 495 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
496 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253, 496 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,42,129,124,253,
497 194,4,239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244, 497 194,4,239,15,130,244,247,15,133,244,42,255,252,242,15,42,4,194,252,233,244,
498 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252, 498 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,255,252,
499 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244, 499 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,
500 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, 500 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
501 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124, 501 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124,
502 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4, 502 253,194,4,239,15,131,244,42,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
503 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, 503 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
504 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255, 504 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255,
505 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254, 505 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254,
@@ -516,12 +516,12 @@ static const unsigned char build_actionlist[15828] = {
516 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, 516 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
517 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, 517 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
518 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, 518 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
519 9,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255, 519 9,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239,15,132,244,47,255,
520 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, 520 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
521 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, 521 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
522 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, 522 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
523 0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252, 523 0,0,255,252,233,244,46,255,248,3,129,252,253,239,255,15,133,244,9,255,252,
524 233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15, 524 233,244,47,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,
525 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252, 525 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252,
526 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59, 526 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59,
527 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15, 527 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,
@@ -533,7 +533,7 @@ static const unsigned char build_actionlist[15828] = {
533 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70, 533 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,
534 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 534 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
535 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244, 535 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,
536 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141, 536 47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,183,70,252,254,141,
537 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 537 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
538 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202, 538 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,
539 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204, 539 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,
@@ -542,40 +542,40 @@ static const unsigned char build_actionlist[15828] = {
542 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251, 542 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,
543 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139, 543 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,
544 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199, 544 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,
545 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255, 545 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,52,255,
546 129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237, 546 129,124,253,194,4,239,15,131,244,52,255,252,242,15,16,4,194,72,184,237,237,
547 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, 547 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
548 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, 548 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
549 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, 549 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
550 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 550 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
551 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, 551 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
552 4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192, 552 4,239,15,133,244,55,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,
553 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, 553 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
554 192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15, 554 192,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,
555 133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234, 555 133,244,49,139,44,252,234,3,44,199,15,128,244,48,255,129,124,253,252,234,
556 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252, 556 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,3,4,252,
557 234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253, 557 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253,
558 194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68, 558 194,4,239,15,133,244,54,139,44,252,234,3,44,194,15,128,244,53,255,199,68,
559 202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199, 559 202,4,237,255,129,124,253,252,234,4,239,15,131,244,49,255,129,124,253,199,
560 4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, 560 4,239,15,131,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
561 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124, 561 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,
562 253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234, 562 253,199,4,239,15,131,244,51,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
563 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129, 563 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,54,129,
564 124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88, 564 124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,252,234,252,242,15,88,
565 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, 565 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
566 48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244, 566 49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,43,44,199,15,128,244,
567 47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133, 567 48,255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,
568 244,50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, 568 244,51,139,4,199,43,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,
569 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194, 569 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,43,44,194,
570 15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 570 15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
571 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 571 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
572 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 572 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
573 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124, 573 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124,
574 253,199,4,239,15,133,244,48,139,44,252,234,15,175,44,199,15,128,244,47,255, 574 253,199,4,239,15,133,244,49,139,44,252,234,15,175,44,199,15,128,244,48,255,
575 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, 575 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,
576 50,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, 576 51,139,4,199,15,175,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,
577 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,15,175,44, 577 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,15,175,44,
578 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, 578 194,15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
579 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, 579 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
580 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 580 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
581 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, 581 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
@@ -584,10 +584,10 @@ static const unsigned char build_actionlist[15828] = {
584 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 584 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
585 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 585 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
586 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 586 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
587 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,163,232,244, 587 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,164,232,244,
588 153,255,252,233,244,163,255,232,244,113,255,15,182,252,236,15,182,192,139, 588 154,255,252,233,244,164,255,232,244,114,255,15,182,252,236,15,182,192,139,
589 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, 589 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,34,137,205,137,116,
590 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255, 590 36,100,232,251,1,27,139,149,233,133,192,15,133,244,43,15,182,110,252,255,
591 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, 591 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
592 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 592 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
593 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 593 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
@@ -629,56 +629,56 @@ static const unsigned char build_actionlist[15828] = {
629 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 629 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
630 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, 630 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32,
631 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, 631 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
632 252,248,139,173,233,139,4,135,252,233,244,164,255,72,252,247,208,139,106, 632 252,248,139,173,233,139,4,135,252,233,244,165,255,72,252,247,208,139,106,
633 252,248,139,173,233,139,4,135,252,233,244,165,255,15,182,252,236,15,182,192, 633 252,248,139,173,233,139,4,135,252,233,244,166,255,15,182,252,236,15,182,192,
634 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194, 634 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,255,129,124,253,194,
635 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, 635 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
637 15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253, 637 15,133,244,37,255,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,
638 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, 638 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
639 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 639 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
640 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, 640 249,139,141,233,252,246,129,233,235,15,132,244,37,15,182,78,252,253,248,3,
641 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 641 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
642 36,139,4,194,252,233,244,164,255,15,182,252,236,15,182,192,72,252,247,208, 642 37,139,4,194,252,233,244,165,255,15,182,252,236,15,182,192,72,252,247,208,
643 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,164, 643 139,4,135,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,248,165,
644 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 644 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
645 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 645 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
646 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, 646 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
647 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194, 647 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
648 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, 648 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
649 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34, 649 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,35,
650 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139, 650 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
651 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239, 651 44,252,234,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,
652 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232, 652 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
653 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, 653 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
654 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3, 654 139,141,233,252,246,129,233,235,15,132,244,36,255,15,182,78,252,253,248,3,
655 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, 655 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
656 252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233, 656 252,234,4,239,15,133,244,40,139,44,252,234,255,15,133,244,40,255,59,133,233,
657 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 657 15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
658 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, 658 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
659 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, 659 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
660 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182, 660 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,40,15,182,
661 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, 661 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,40,139,4,
662 194,252,233,244,165,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 662 194,252,233,244,166,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
663 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, 663 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
664 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, 664 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,
665 248,165,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 665 248,166,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
666 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 666 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
667 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 667 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
668 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, 668 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
669 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, 669 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
670 80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244, 670 80,139,141,233,252,246,129,233,235,15,132,244,38,139,76,36,80,252,233,244,
671 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 671 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
672 252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237, 672 252,252,246,129,233,235,15,132,244,38,248,6,137,68,36,80,199,68,36,84,237,
673 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, 673 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
674 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244, 674 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244,
675 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, 675 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
676 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, 676 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,
677 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, 677 44,252,234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,
678 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 678 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
679 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 679 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
680 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 680 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
681 15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, 681 15,132,244,39,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
682 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, 682 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
683 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, 683 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
684 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, 684 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
@@ -688,9 +688,9 @@ static const unsigned char build_actionlist[15828] = {
688 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139, 688 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139,
689 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, 689 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
690 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, 690 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
691 202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233, 691 202,4,239,139,44,202,15,133,244,56,141,84,202,8,137,114,252,252,139,181,233,
692 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, 692 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
693 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56, 693 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,57,
694 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 694 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
695 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, 695 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
696 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, 696 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
@@ -701,7 +701,7 @@ static const unsigned char build_actionlist[15828] = {
701 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, 701 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
702 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, 702 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
703 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, 703 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
704 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, 704 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
705 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, 705 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
706 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, 706 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
707 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248, 707 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
@@ -737,19 +737,19 @@ static const unsigned char build_actionlist[15828] = {
737 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, 737 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
738 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, 738 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
739 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, 739 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
740 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239, 740 131,172,253,43,233,1,15,132,244,146,255,141,12,202,255,129,121,253,4,239,
741 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15, 741 15,133,244,255,255,129,121,253,12,239,15,133,244,58,129,121,253,20,239,15,
742 133,244,57,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, 742 133,244,58,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
743 244,162,129,121,253,20,239,15,133,244,162,255,139,105,16,133,252,237,15,136, 743 244,163,129,121,253,20,239,15,133,244,163,255,139,105,16,133,252,237,15,136,
744 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, 744 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
745 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, 745 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
746 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, 746 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
747 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, 747 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
748 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, 748 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
749 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, 749 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
750 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121,253,12, 750 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,58,129,121,253,12,
751 239,15,131,244,57,255,129,121,253,12,239,15,131,244,162,129,121,253,20,239, 751 239,15,131,244,58,255,129,121,253,12,239,15,131,244,163,129,121,253,20,239,
752 15,131,244,162,255,139,105,20,255,129,252,253,239,15,131,244,57,255,252,242, 752 15,131,244,163,255,139,105,20,255,129,252,253,239,15,131,244,58,255,252,242,
753 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, 753 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
754 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, 754 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
755 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, 755 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
@@ -766,19 +766,19 @@ static const unsigned char build_actionlist[15828] = {
766 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, 766 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
767 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, 767 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
768 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, 768 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
769 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190, 769 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148,255,139,190,
770 233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200, 770 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,
771 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, 771 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,
772 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, 772 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
773 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141, 773 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,
774 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237, 774 12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,
775 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137, 775 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,
776 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, 776 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,
777 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193, 777 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,
778 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1, 778 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,
779 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36, 779 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,
780 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255, 780 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
781 72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255,252,255, 781 72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,252,255,
782 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247, 782 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,
783 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 783 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
784}; 784};
@@ -793,6 +793,7 @@ enum {
793 GLOB_vm_leave_unw, 793 GLOB_vm_leave_unw,
794 GLOB_vm_unwind_c, 794 GLOB_vm_unwind_c,
795 GLOB_vm_unwind_c_eh, 795 GLOB_vm_unwind_c_eh,
796 GLOB_vm_unwind_rethrow,
796 GLOB_vm_unwind_ff, 797 GLOB_vm_unwind_ff,
797 GLOB_vm_unwind_ff_eh, 798 GLOB_vm_unwind_ff_eh,
798 GLOB_vm_growstack_c, 799 GLOB_vm_growstack_c,
@@ -952,6 +953,7 @@ static const char *const globnames[] = {
952 "vm_leave_unw", 953 "vm_leave_unw",
953 "vm_unwind_c@8", 954 "vm_unwind_c@8",
954 "vm_unwind_c_eh", 955 "vm_unwind_c_eh",
956 "vm_unwind_rethrow",
955 "vm_unwind_ff@4", 957 "vm_unwind_ff@4",
956 "vm_unwind_ff_eh", 958 "vm_unwind_ff_eh",
957 "vm_growstack_c", 959 "vm_growstack_c",
@@ -1164,675 +1166,675 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1164 dasm_put(Dst, 0); 1166 dasm_put(Dst, 0);
1165 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C); 1167 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1166 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL); 1168 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1167 dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); 1169 dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1168 dasm_put(Dst, 291, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 1170 dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1169 dasm_put(Dst, 357, 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); 1171 dasm_put(Dst, 356, 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);
1170 dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1172 dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1171 dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); 1173 dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0);
1172 dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1174 dasm_put(Dst, 768, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1173 if (LJ_DUALNUM) { 1175 if (LJ_DUALNUM) {
1174 dasm_put(Dst, 883, LJ_TISNUM); 1176 dasm_put(Dst, 885, LJ_TISNUM);
1175 } else if (sse) { 1177 } else if (sse) {
1176 dasm_put(Dst, 893); 1178 dasm_put(Dst, 895);
1177 } else { 1179 } else {
1178 } 1180 }
1179 dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1181 dasm_put(Dst, 908, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1180 dasm_put(Dst, 1053, DISPATCH_GL(tmptv), LJ_TTAB); 1182 dasm_put(Dst, 1055, DISPATCH_GL(tmptv), LJ_TTAB);
1181 if (LJ_DUALNUM) { 1183 if (LJ_DUALNUM) {
1182 dasm_put(Dst, 883, LJ_TISNUM); 1184 dasm_put(Dst, 885, LJ_TISNUM);
1183 } else if (sse) { 1185 } else if (sse) {
1184 dasm_put(Dst, 893); 1186 dasm_put(Dst, 895);
1185 } else { 1187 } else {
1186 } 1188 }
1187 dasm_put(Dst, 1076, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1189 dasm_put(Dst, 1078, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1188 dasm_put(Dst, 1249, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1190 dasm_put(Dst, 1251, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1189 dasm_put(Dst, 1349); 1191 dasm_put(Dst, 1351);
1190#if LJ_HASFFI 1192#if LJ_HASFFI
1191 dasm_put(Dst, 1369, Dt1(->base)); 1193 dasm_put(Dst, 1371, Dt1(->base));
1192#endif 1194#endif
1193 dasm_put(Dst, 1400); 1195 dasm_put(Dst, 1402);
1194#if LJ_DUALNUM 1196#if LJ_DUALNUM
1195 dasm_put(Dst, 1403); 1197 dasm_put(Dst, 1405);
1196#endif 1198#endif
1197 dasm_put(Dst, 1409); 1199 dasm_put(Dst, 1411);
1198#if LJ_DUALNUM 1200#if LJ_DUALNUM
1199 dasm_put(Dst, 877); 1201 dasm_put(Dst, 879);
1200#endif 1202#endif
1201 dasm_put(Dst, 1421); 1203 dasm_put(Dst, 1423);
1202#if LJ_DUALNUM 1204#if LJ_DUALNUM
1203 dasm_put(Dst, 1403); 1205 dasm_put(Dst, 1405);
1204#endif 1206#endif
1205 dasm_put(Dst, 1449, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1207 dasm_put(Dst, 1451, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1206 dasm_put(Dst, 1586, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1208 dasm_put(Dst, 1588, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1207 dasm_put(Dst, 1769, 1+1, ~LJ_TNUMX); 1209 dasm_put(Dst, 1771, 1+1, ~LJ_TNUMX);
1208 if (cmov) { 1210 if (cmov) {
1209 dasm_put(Dst, 1814); 1211 dasm_put(Dst, 1816);
1210 } else { 1212 } else {
1211 dasm_put(Dst, 1818); 1213 dasm_put(Dst, 1820);
1212 } 1214 }
1213 dasm_put(Dst, 1827, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1215 dasm_put(Dst, 1829, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1214 dasm_put(Dst, 1906, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1216 dasm_put(Dst, 1908, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1215 dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 1217 dasm_put(Dst, 1965, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1216 dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); 1218 dasm_put(Dst, 2033, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK);
1217 dasm_put(Dst, 2100, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1219 dasm_put(Dst, 2102, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1218 if (LJ_DUALNUM) { 1220 if (LJ_DUALNUM) {
1219 dasm_put(Dst, 2185); 1221 dasm_put(Dst, 2187);
1220 } else { 1222 } else {
1221 dasm_put(Dst, 2202); 1223 dasm_put(Dst, 2204);
1222 } 1224 }
1223 if (sse) { 1225 if (sse) {
1224 dasm_put(Dst, 2207); 1226 dasm_put(Dst, 2209);
1225 } else { 1227 } else {
1226 dasm_put(Dst, 2217); 1228 dasm_put(Dst, 2219);
1227 } 1229 }
1228 dasm_put(Dst, 2224, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1230 dasm_put(Dst, 2226, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1229 dasm_put(Dst, 2290, Dt1(->base)); 1231 dasm_put(Dst, 2292, Dt1(->base));
1230 if (LJ_DUALNUM) { 1232 if (LJ_DUALNUM) {
1231 dasm_put(Dst, 2314); 1233 dasm_put(Dst, 2316);
1232 } else { 1234 } else {
1233 dasm_put(Dst, 2319); 1235 dasm_put(Dst, 2321);
1234 } 1236 }
1235 dasm_put(Dst, 2324, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1237 dasm_put(Dst, 2326, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1236 dasm_put(Dst, 2417, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1238 dasm_put(Dst, 2419, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1237#ifdef LUAJIT_ENABLE_LUA52COMPAT 1239#ifdef LUAJIT_ENABLE_LUA52COMPAT
1238 dasm_put(Dst, 2464, Dt6(->metatable)); 1240 dasm_put(Dst, 2466, Dt6(->metatable));
1239#endif 1241#endif
1240 dasm_put(Dst, 2473, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1242 dasm_put(Dst, 2475, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1241 if (LJ_DUALNUM) { 1243 if (LJ_DUALNUM) {
1242 dasm_put(Dst, 2459); 1244 dasm_put(Dst, 2461);
1243 } else { 1245 } else {
1244 dasm_put(Dst, 2202); 1246 dasm_put(Dst, 2204);
1245 } 1247 }
1246 dasm_put(Dst, 2528); 1248 dasm_put(Dst, 2530);
1247 if (LJ_DUALNUM) { 1249 if (LJ_DUALNUM) {
1248 dasm_put(Dst, 2533, LJ_TISNUM); 1250 dasm_put(Dst, 2535, LJ_TISNUM);
1249 } else if (sse) { 1251 } else if (sse) {
1250 dasm_put(Dst, 2549, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1252 dasm_put(Dst, 2551, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1251 } else { 1253 } else {
1252 } 1254 }
1253 dasm_put(Dst, 2582, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1255 dasm_put(Dst, 2584, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1254 dasm_put(Dst, 2444, 1+1, LJ_TTAB); 1256 dasm_put(Dst, 2446, 1+1, LJ_TTAB);
1255#ifdef LUAJIT_ENABLE_LUA52COMPAT 1257#ifdef LUAJIT_ENABLE_LUA52COMPAT
1256 dasm_put(Dst, 2464, Dt6(->metatable)); 1258 dasm_put(Dst, 2466, Dt6(->metatable));
1257#endif 1259#endif
1258 dasm_put(Dst, 2659, Dt8(->upvalue[0]), LJ_TFUNC); 1260 dasm_put(Dst, 2661, Dt8(->upvalue[0]), LJ_TFUNC);
1259 if (LJ_DUALNUM) { 1261 if (LJ_DUALNUM) {
1260 dasm_put(Dst, 2680, LJ_TISNUM); 1262 dasm_put(Dst, 2682, LJ_TISNUM);
1261 } else if (sse) { 1263 } else if (sse) {
1262 dasm_put(Dst, 2692); 1264 dasm_put(Dst, 2694);
1263 } else { 1265 } else {
1264 dasm_put(Dst, 2702); 1266 dasm_put(Dst, 2704);
1265 } 1267 }
1266 dasm_put(Dst, 2709, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1268 dasm_put(Dst, 2711, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1267 dasm_put(Dst, 2773, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1269 dasm_put(Dst, 2775, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1268 dasm_put(Dst, 2863, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1270 dasm_put(Dst, 2865, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1269 dasm_put(Dst, 2951, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1271 dasm_put(Dst, 2953, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1270 dasm_put(Dst, 3064, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1272 dasm_put(Dst, 3066, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1271 dasm_put(Dst, 3162, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1273 dasm_put(Dst, 3164, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1272 dasm_put(Dst, 3229, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1274 dasm_put(Dst, 3231, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1273 dasm_put(Dst, 3317, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1275 dasm_put(Dst, 3319, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1274 dasm_put(Dst, 3429, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1276 dasm_put(Dst, 3431, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1275 if (!LJ_DUALNUM) { 1277 if (!LJ_DUALNUM) {
1276 dasm_put(Dst, 3456); 1278 dasm_put(Dst, 3458);
1277 } 1279 }
1278 if (sse) { 1280 if (sse) {
1279 dasm_put(Dst, 3459); 1281 dasm_put(Dst, 3461);
1280 } 1282 }
1281 dasm_put(Dst, 3474, 1+1); 1283 dasm_put(Dst, 3476, 1+1);
1282 if (LJ_DUALNUM) { 1284 if (LJ_DUALNUM) {
1283 dasm_put(Dst, 3485, LJ_TISNUM, LJ_TISNUM); 1285 dasm_put(Dst, 3487, LJ_TISNUM, LJ_TISNUM);
1284 } else { 1286 } else {
1285 dasm_put(Dst, 3565, LJ_TISNUM); 1287 dasm_put(Dst, 3567, LJ_TISNUM);
1286 } 1288 }
1287 if (sse) { 1289 if (sse) {
1288 dasm_put(Dst, 3575, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1290 dasm_put(Dst, 3577, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1289 } else { 1291 } else {
1290 dasm_put(Dst, 3606); 1292 dasm_put(Dst, 3608);
1291 } 1293 }
1292 dasm_put(Dst, 3623, 1+1, FRAME_TYPE, LJ_TNIL); 1294 dasm_put(Dst, 3625, 1+1, FRAME_TYPE, LJ_TNIL);
1293 if (LJ_DUALNUM) { 1295 if (LJ_DUALNUM) {
1294 dasm_put(Dst, 3719, LJ_TISNUM); 1296 dasm_put(Dst, 3721, LJ_TISNUM);
1295 } else { 1297 } else {
1296 dasm_put(Dst, 3565, LJ_TISNUM); 1298 dasm_put(Dst, 3567, LJ_TISNUM);
1297 } 1299 }
1298 if (sse) { 1300 if (sse) {
1299 dasm_put(Dst, 3741); 1301 dasm_put(Dst, 3743);
1300 if (LJ_DUALNUM) { 1302 if (LJ_DUALNUM) {
1301 dasm_put(Dst, 3750); 1303 dasm_put(Dst, 3752);
1302 } 1304 }
1303 dasm_put(Dst, 2212); 1305 dasm_put(Dst, 2214);
1304 } else { 1306 } else {
1305 dasm_put(Dst, 3784); 1307 dasm_put(Dst, 3786);
1306 if (LJ_DUALNUM) { 1308 if (LJ_DUALNUM) {
1307 } else { 1309 } else {
1308 dasm_put(Dst, 2219); 1310 dasm_put(Dst, 2221);
1309 } 1311 }
1310 } 1312 }
1311 dasm_put(Dst, 3790); 1313 dasm_put(Dst, 3792);
1312 if (LJ_DUALNUM) { 1314 if (LJ_DUALNUM) {
1313 dasm_put(Dst, 3719, LJ_TISNUM); 1315 dasm_put(Dst, 3721, LJ_TISNUM);
1314 } else { 1316 } else {
1315 dasm_put(Dst, 3565, LJ_TISNUM); 1317 dasm_put(Dst, 3567, LJ_TISNUM);
1316 } 1318 }
1317 if (sse) { 1319 if (sse) {
1318 dasm_put(Dst, 3793); 1320 dasm_put(Dst, 3795);
1319 if (LJ_DUALNUM) { 1321 if (LJ_DUALNUM) {
1320 dasm_put(Dst, 3750); 1322 dasm_put(Dst, 3752);
1321 } 1323 }
1322 dasm_put(Dst, 2212); 1324 dasm_put(Dst, 2214);
1323 } else { 1325 } else {
1324 dasm_put(Dst, 3802); 1326 dasm_put(Dst, 3804);
1325 if (LJ_DUALNUM) { 1327 if (LJ_DUALNUM) {
1326 } else { 1328 } else {
1327 dasm_put(Dst, 2219); 1329 dasm_put(Dst, 2221);
1328 } 1330 }
1329 } 1331 }
1330 if (sse) { 1332 if (sse) {
1331 dasm_put(Dst, 3808, 1+1, LJ_TISNUM); 1333 dasm_put(Dst, 3810, 1+1, LJ_TISNUM);
1332 } else { 1334 } else {
1333 dasm_put(Dst, 3837, 1+1, LJ_TISNUM); 1335 dasm_put(Dst, 3839, 1+1, LJ_TISNUM);
1334 } 1336 }
1335 dasm_put(Dst, 3866, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1337 dasm_put(Dst, 3868, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1336 dasm_put(Dst, 3935, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1338 dasm_put(Dst, 3937, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1337 dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1339 dasm_put(Dst, 3994, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1338 dasm_put(Dst, 4055, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1340 dasm_put(Dst, 4057, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1339 dasm_put(Dst, 4145); 1341 dasm_put(Dst, 4147);
1340 if (sse) { 1342 if (sse) {
1341 dasm_put(Dst, 4157, 1+1, LJ_TISNUM); 1343 dasm_put(Dst, 4159, 1+1, LJ_TISNUM);
1342 } else { 1344 } else {
1343 } 1345 }
1344 dasm_put(Dst, 4182); 1346 dasm_put(Dst, 4184);
1345 if (sse) { 1347 if (sse) {
1346 dasm_put(Dst, 4196, 1+1, LJ_TISNUM); 1348 dasm_put(Dst, 4198, 1+1, LJ_TISNUM);
1347 } else { 1349 } else {
1348 } 1350 }
1349 dasm_put(Dst, 4221); 1351 dasm_put(Dst, 4223);
1350 if (sse) { 1352 if (sse) {
1351 dasm_put(Dst, 4235, 1+1, LJ_TISNUM); 1353 dasm_put(Dst, 4237, 1+1, LJ_TISNUM);
1352 } else { 1354 } else {
1353 } 1355 }
1354 dasm_put(Dst, 4260); 1356 dasm_put(Dst, 4262);
1355 if (sse) { 1357 if (sse) {
1356 dasm_put(Dst, 4276, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1358 dasm_put(Dst, 4278, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1357 } else { 1359 } else {
1358 dasm_put(Dst, 4315, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1360 dasm_put(Dst, 4317, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1359 } 1361 }
1360 dasm_put(Dst, 4348, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1362 dasm_put(Dst, 4350, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1361 dasm_put(Dst, 4413, 1+1, LJ_TISNUM); 1363 dasm_put(Dst, 4415, 1+1, LJ_TISNUM);
1362 if (sse) { 1364 if (sse) {
1363 dasm_put(Dst, 4512); 1365 dasm_put(Dst, 4514);
1364 } else { 1366 } else {
1365 dasm_put(Dst, 4518); 1367 dasm_put(Dst, 4520);
1366 } 1368 }
1367 dasm_put(Dst, 4527); 1369 dasm_put(Dst, 4529);
1368 if (sse) { 1370 if (sse) {
1369 dasm_put(Dst, 4552); 1371 dasm_put(Dst, 4554);
1370 } else { 1372 } else {
1371 dasm_put(Dst, 4558); 1373 dasm_put(Dst, 4560);
1372 } 1374 }
1373 dasm_put(Dst, 4561, 1+2); 1375 dasm_put(Dst, 4563, 1+2);
1374 if (sse) { 1376 if (sse) {
1375 dasm_put(Dst, 4570); 1377 dasm_put(Dst, 4572);
1376 } else { 1378 } else {
1377 dasm_put(Dst, 4578); 1379 dasm_put(Dst, 4580);
1378 } 1380 }
1379 dasm_put(Dst, 4586); 1381 dasm_put(Dst, 4588);
1380 if (sse) { 1382 if (sse) {
1381 dasm_put(Dst, 4589, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1383 dasm_put(Dst, 4591, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1382 } else { 1384 } else {
1383 dasm_put(Dst, 4616); 1385 dasm_put(Dst, 4618);
1384 } 1386 }
1385 dasm_put(Dst, 4635); 1387 dasm_put(Dst, 4637);
1386 if (sse) { 1388 if (sse) {
1387 dasm_put(Dst, 4651, 1+1, LJ_TISNUM); 1389 dasm_put(Dst, 4653, 1+1, LJ_TISNUM);
1388 } else { 1390 } else {
1389 dasm_put(Dst, 4676, 1+1, LJ_TISNUM); 1391 dasm_put(Dst, 4678, 1+1, LJ_TISNUM);
1390 } 1392 }
1391 dasm_put(Dst, 4698); 1393 dasm_put(Dst, 4700);
1392 if (sse) { 1394 if (sse) {
1393 dasm_put(Dst, 4720); 1395 dasm_put(Dst, 4722);
1394 } else { 1396 } else {
1395 dasm_put(Dst, 4746); 1397 dasm_put(Dst, 4748);
1396 } 1398 }
1397 dasm_put(Dst, 4763, 1+2); 1399 dasm_put(Dst, 4765, 1+2);
1398 if (sse) { 1400 if (sse) {
1399 dasm_put(Dst, 4803); 1401 dasm_put(Dst, 4805);
1400 } else { 1402 } else {
1401 dasm_put(Dst, 4811); 1403 dasm_put(Dst, 4813);
1402 } 1404 }
1403 dasm_put(Dst, 4821, 2+1, LJ_TISNUM, LJ_TISNUM); 1405 dasm_put(Dst, 4823, 2+1, LJ_TISNUM, LJ_TISNUM);
1404 if (sse) { 1406 if (sse) {
1405 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM); 1407 dasm_put(Dst, 4875, 2+1, LJ_TISNUM, LJ_TISNUM);
1406 } else { 1408 } else {
1407 dasm_put(Dst, 4920, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 4922, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } 1410 }
1409 dasm_put(Dst, 4961, LJ_TISNUM); 1411 dasm_put(Dst, 4963, LJ_TISNUM);
1410 if (LJ_DUALNUM) { 1412 if (LJ_DUALNUM) {
1411 dasm_put(Dst, 4974, LJ_TISNUM); 1413 dasm_put(Dst, 4976, LJ_TISNUM);
1412 if (sse) { 1414 if (sse) {
1413 dasm_put(Dst, 4512); 1415 dasm_put(Dst, 4514);
1414 } else { 1416 } else {
1415 } 1417 }
1416 dasm_put(Dst, 5024); 1418 dasm_put(Dst, 5026);
1417 } else { 1419 } else {
1418 dasm_put(Dst, 2202); 1420 dasm_put(Dst, 2204);
1419 } 1421 }
1420 if (sse) { 1422 if (sse) {
1421 dasm_put(Dst, 5035, LJ_TISNUM); 1423 dasm_put(Dst, 5037, LJ_TISNUM);
1422 if (LJ_DUALNUM) { 1424 if (LJ_DUALNUM) {
1423 dasm_put(Dst, 5056); 1425 dasm_put(Dst, 5058);
1424 } else { 1426 } else {
1425 dasm_put(Dst, 2202); 1427 dasm_put(Dst, 2204);
1426 } 1428 }
1427 dasm_put(Dst, 5077); 1429 dasm_put(Dst, 5079);
1428 } else { 1430 } else {
1429 } 1431 }
1430 dasm_put(Dst, 5102, LJ_TISNUM); 1432 dasm_put(Dst, 5104, LJ_TISNUM);
1431 if (LJ_DUALNUM) { 1433 if (LJ_DUALNUM) {
1432 dasm_put(Dst, 5115, LJ_TISNUM); 1434 dasm_put(Dst, 5117, LJ_TISNUM);
1433 if (sse) { 1435 if (sse) {
1434 dasm_put(Dst, 4512); 1436 dasm_put(Dst, 4514);
1435 } else { 1437 } else {
1436 } 1438 }
1437 dasm_put(Dst, 5024); 1439 dasm_put(Dst, 5026);
1438 } else { 1440 } else {
1439 dasm_put(Dst, 2202); 1441 dasm_put(Dst, 2204);
1440 } 1442 }
1441 if (sse) { 1443 if (sse) {
1442 dasm_put(Dst, 5035, LJ_TISNUM); 1444 dasm_put(Dst, 5037, LJ_TISNUM);
1443 if (LJ_DUALNUM) { 1445 if (LJ_DUALNUM) {
1444 dasm_put(Dst, 5056); 1446 dasm_put(Dst, 5058);
1445 } else { 1447 } else {
1446 dasm_put(Dst, 2202); 1448 dasm_put(Dst, 2204);
1447 } 1449 }
1448 dasm_put(Dst, 5165); 1450 dasm_put(Dst, 5167);
1449 } else { 1451 } else {
1450 } 1452 }
1451 if (!sse) { 1453 if (!sse) {
1452 dasm_put(Dst, 5190); 1454 dasm_put(Dst, 5192);
1453 } 1455 }
1454 dasm_put(Dst, 5199, 1+1, LJ_TSTR); 1456 dasm_put(Dst, 5201, 1+1, LJ_TSTR);
1455 if (LJ_DUALNUM) { 1457 if (LJ_DUALNUM) {
1456 dasm_put(Dst, 5221, Dt5(->len)); 1458 dasm_put(Dst, 5223, Dt5(->len));
1457 } else if (sse) { 1459 } else if (sse) {
1458 dasm_put(Dst, 5229, Dt5(->len)); 1460 dasm_put(Dst, 5231, Dt5(->len));
1459 } else { 1461 } else {
1460 dasm_put(Dst, 5240, Dt5(->len)); 1462 dasm_put(Dst, 5242, Dt5(->len));
1461 } 1463 }
1462 dasm_put(Dst, 5248, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1464 dasm_put(Dst, 5250, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1463 if (LJ_DUALNUM) { 1465 if (LJ_DUALNUM) {
1464 dasm_put(Dst, 5224); 1466 dasm_put(Dst, 5226);
1465 } else if (sse) { 1467 } else if (sse) {
1466 dasm_put(Dst, 5286); 1468 dasm_put(Dst, 5288);
1467 } else { 1469 } else {
1468 dasm_put(Dst, 5296); 1470 dasm_put(Dst, 5298);
1469 } 1471 }
1470 dasm_put(Dst, 5309, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1472 dasm_put(Dst, 5311, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1471 if (LJ_DUALNUM) { 1473 if (LJ_DUALNUM) {
1472 dasm_put(Dst, 5340); 1474 dasm_put(Dst, 5342);
1473 } else if (sse) { 1475 } else if (sse) {
1474 dasm_put(Dst, 5363); 1476 dasm_put(Dst, 5365);
1475 } else { 1477 } else {
1476 dasm_put(Dst, 5389); 1478 dasm_put(Dst, 5391);
1477 } 1479 }
1478 dasm_put(Dst, 5413, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1480 dasm_put(Dst, 5415, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1479 if (LJ_DUALNUM) { 1481 if (LJ_DUALNUM) {
1480 dasm_put(Dst, 5521); 1482 dasm_put(Dst, 5523);
1481 } else if (sse) { 1483 } else if (sse) {
1482 dasm_put(Dst, 5533); 1484 dasm_put(Dst, 5535);
1483 } else { 1485 } else {
1484 dasm_put(Dst, 5548); 1486 dasm_put(Dst, 5550);
1485 } 1487 }
1486 dasm_put(Dst, 5560, LJ_TSTR, LJ_TISNUM); 1488 dasm_put(Dst, 5562, LJ_TSTR, LJ_TISNUM);
1487 if (LJ_DUALNUM) { 1489 if (LJ_DUALNUM) {
1488 dasm_put(Dst, 2459); 1490 dasm_put(Dst, 2461);
1489 } else { 1491 } else {
1490 dasm_put(Dst, 2202); 1492 dasm_put(Dst, 2204);
1491 } 1493 }
1492 dasm_put(Dst, 5577, Dt5(->len)); 1494 dasm_put(Dst, 5579, Dt5(->len));
1493 if (LJ_DUALNUM) { 1495 if (LJ_DUALNUM) {
1494 dasm_put(Dst, 5587); 1496 dasm_put(Dst, 5589);
1495 } else if (sse) { 1497 } else if (sse) {
1496 dasm_put(Dst, 5591); 1498 dasm_put(Dst, 5593);
1497 } else { 1499 } else {
1498 } 1500 }
1499 dasm_put(Dst, 5598, sizeof(GCstr)-1); 1501 dasm_put(Dst, 5600, sizeof(GCstr)-1);
1500 dasm_put(Dst, 5673, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1502 dasm_put(Dst, 5675, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1501 dasm_put(Dst, 5732, LJ_TSTR, LJ_TISNUM); 1503 dasm_put(Dst, 5734, LJ_TSTR, LJ_TISNUM);
1502 if (LJ_DUALNUM) { 1504 if (LJ_DUALNUM) {
1503 dasm_put(Dst, 5749); 1505 dasm_put(Dst, 5751);
1504 } else if (sse) { 1506 } else if (sse) {
1505 dasm_put(Dst, 5757); 1507 dasm_put(Dst, 5759);
1506 } else { 1508 } else {
1507 dasm_put(Dst, 5768); 1509 dasm_put(Dst, 5770);
1508 } 1510 }
1509 dasm_put(Dst, 5784, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1511 dasm_put(Dst, 5786, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1510 dasm_put(Dst, 5849, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1512 dasm_put(Dst, 5851, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1511 dasm_put(Dst, 5912, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1513 dasm_put(Dst, 5914, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1512 dasm_put(Dst, 5983, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1514 dasm_put(Dst, 5985, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1513 dasm_put(Dst, 6068, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1515 dasm_put(Dst, 6070, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1514 dasm_put(Dst, 6138, 1+1, LJ_TTAB); 1516 dasm_put(Dst, 6140, 1+1, LJ_TTAB);
1515 if (LJ_DUALNUM) { 1517 if (LJ_DUALNUM) {
1516 dasm_put(Dst, 6206); 1518 dasm_put(Dst, 6208);
1517 } else if (sse) { 1519 } else if (sse) {
1518 dasm_put(Dst, 6213); 1520 dasm_put(Dst, 6215);
1519 } else { 1521 } else {
1520 } 1522 }
1521 dasm_put(Dst, 6223, LJ_TISNUM); 1523 dasm_put(Dst, 6225, LJ_TISNUM);
1522 if (LJ_DUALNUM) { 1524 if (LJ_DUALNUM) {
1523 dasm_put(Dst, 6231); 1525 dasm_put(Dst, 6233);
1524 } else { 1526 } else {
1525 dasm_put(Dst, 2202); 1527 dasm_put(Dst, 2204);
1526 } 1528 }
1527 if (sse) { 1529 if (sse) {
1528 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1530 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1529 } else { 1531 } else {
1530 } 1532 }
1531 dasm_put(Dst, 106); 1533 dasm_put(Dst, 106);
1532 if (LJ_DUALNUM || sse) { 1534 if (LJ_DUALNUM || sse) {
1533 if (!sse) { 1535 if (!sse) {
1534 } 1536 }
1535 dasm_put(Dst, 6272); 1537 dasm_put(Dst, 6274);
1536 } else { 1538 } else {
1537 } 1539 }
1538 dasm_put(Dst, 6277); 1540 dasm_put(Dst, 6279);
1539 if (sse) { 1541 if (sse) {
1540 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1542 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1541 } else { 1543 } else {
1542 dasm_put(Dst, 6290); 1544 dasm_put(Dst, 6292);
1543 } 1545 }
1544 dasm_put(Dst, 2179, LJ_TISNUM); 1546 dasm_put(Dst, 2181, LJ_TISNUM);
1545 if (LJ_DUALNUM) { 1547 if (LJ_DUALNUM) {
1546 dasm_put(Dst, 6299); 1548 dasm_put(Dst, 6301);
1547 } else { 1549 } else {
1548 dasm_put(Dst, 2202); 1550 dasm_put(Dst, 2204);
1549 } 1551 }
1550 if (sse) { 1552 if (sse) {
1551 dasm_put(Dst, 6316); 1553 dasm_put(Dst, 6318);
1552 } else { 1554 } else {
1553 } 1555 }
1554 dasm_put(Dst, 6331, LJ_TISNUM); 1556 dasm_put(Dst, 6333, LJ_TISNUM);
1555 if (LJ_DUALNUM) { 1557 if (LJ_DUALNUM) {
1556 dasm_put(Dst, 6356); 1558 dasm_put(Dst, 6358);
1557 } else { 1559 } else {
1558 dasm_put(Dst, 6376); 1560 dasm_put(Dst, 6378);
1559 } 1561 }
1560 if (sse) { 1562 if (sse) {
1561 dasm_put(Dst, 6381); 1563 dasm_put(Dst, 6383);
1562 } else { 1564 } else {
1563 } 1565 }
1564 dasm_put(Dst, 6398); 1566 dasm_put(Dst, 6400);
1565 if (sse) { 1567 if (sse) {
1566 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1568 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1567 } else { 1569 } else {
1568 dasm_put(Dst, 6290); 1570 dasm_put(Dst, 6292);
1569 } 1571 }
1570 dasm_put(Dst, 2179, LJ_TISNUM); 1572 dasm_put(Dst, 2181, LJ_TISNUM);
1571 if (LJ_DUALNUM) { 1573 if (LJ_DUALNUM) {
1572 dasm_put(Dst, 6299); 1574 dasm_put(Dst, 6301);
1573 } else { 1575 } else {
1574 dasm_put(Dst, 2202); 1576 dasm_put(Dst, 2204);
1575 } 1577 }
1576 if (sse) { 1578 if (sse) {
1577 dasm_put(Dst, 6316); 1579 dasm_put(Dst, 6318);
1578 } else { 1580 } else {
1579 } 1581 }
1580 dasm_put(Dst, 6331, LJ_TISNUM); 1582 dasm_put(Dst, 6333, LJ_TISNUM);
1581 if (LJ_DUALNUM) { 1583 if (LJ_DUALNUM) {
1582 dasm_put(Dst, 6408); 1584 dasm_put(Dst, 6410);
1583 } else { 1585 } else {
1584 dasm_put(Dst, 6376); 1586 dasm_put(Dst, 6378);
1585 } 1587 }
1586 if (sse) { 1588 if (sse) {
1587 dasm_put(Dst, 6428); 1589 dasm_put(Dst, 6430);
1588 } else { 1590 } else {
1589 } 1591 }
1590 dasm_put(Dst, 6445); 1592 dasm_put(Dst, 6447);
1591 if (sse) { 1593 if (sse) {
1592 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1594 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1593 } else { 1595 } else {
1594 dasm_put(Dst, 6290); 1596 dasm_put(Dst, 6292);
1595 } 1597 }
1596 dasm_put(Dst, 2179, LJ_TISNUM); 1598 dasm_put(Dst, 2181, LJ_TISNUM);
1597 if (LJ_DUALNUM) { 1599 if (LJ_DUALNUM) {
1598 dasm_put(Dst, 6299); 1600 dasm_put(Dst, 6301);
1599 } else { 1601 } else {
1600 dasm_put(Dst, 2202); 1602 dasm_put(Dst, 2204);
1601 } 1603 }
1602 if (sse) { 1604 if (sse) {
1603 dasm_put(Dst, 6316); 1605 dasm_put(Dst, 6318);
1604 } else { 1606 } else {
1605 } 1607 }
1606 dasm_put(Dst, 6331, LJ_TISNUM); 1608 dasm_put(Dst, 6333, LJ_TISNUM);
1607 if (LJ_DUALNUM) { 1609 if (LJ_DUALNUM) {
1608 dasm_put(Dst, 6455); 1610 dasm_put(Dst, 6457);
1609 } else { 1611 } else {
1610 dasm_put(Dst, 6376); 1612 dasm_put(Dst, 6378);
1611 } 1613 }
1612 if (sse) { 1614 if (sse) {
1613 dasm_put(Dst, 6475); 1615 dasm_put(Dst, 6477);
1614 } else { 1616 } else {
1615 } 1617 }
1616 dasm_put(Dst, 6492, LJ_TISNUM); 1618 dasm_put(Dst, 6494, LJ_TISNUM);
1617 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1618 dasm_put(Dst, 6299); 1620 dasm_put(Dst, 6301);
1619 } else { 1621 } else {
1620 dasm_put(Dst, 2202); 1622 dasm_put(Dst, 2204);
1621 } 1623 }
1622 if (sse) { 1624 if (sse) {
1623 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1625 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1624 } else { 1626 } else {
1625 } 1627 }
1626 dasm_put(Dst, 6507, LJ_TISNUM); 1628 dasm_put(Dst, 6509, LJ_TISNUM);
1627 if (LJ_DUALNUM) { 1629 if (LJ_DUALNUM) {
1628 dasm_put(Dst, 6299); 1630 dasm_put(Dst, 6301);
1629 } else { 1631 } else {
1630 dasm_put(Dst, 2202); 1632 dasm_put(Dst, 2204);
1631 } 1633 }
1632 if (sse) { 1634 if (sse) {
1633 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1635 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1634 } else { 1636 } else {
1635 } 1637 }
1636 dasm_put(Dst, 6523); 1638 dasm_put(Dst, 6525);
1637 if (LJ_DUALNUM) { 1639 if (LJ_DUALNUM) {
1638 dasm_put(Dst, 6272); 1640 dasm_put(Dst, 6274);
1639 } else if (sse) { 1641 } else if (sse) {
1640 dasm_put(Dst, 6529); 1642 dasm_put(Dst, 6531);
1641 } else { 1643 } else {
1642 } 1644 }
1643 dasm_put(Dst, 6541); 1645 dasm_put(Dst, 6543);
1644 if (LJ_DUALNUM) { 1646 if (LJ_DUALNUM) {
1645 dasm_put(Dst, 6552, LJ_TISNUM); 1647 dasm_put(Dst, 6554, LJ_TISNUM);
1646 if (LJ_DUALNUM) { 1648 if (LJ_DUALNUM) {
1647 dasm_put(Dst, 6299); 1649 dasm_put(Dst, 6301);
1648 } else { 1650 } else {
1649 dasm_put(Dst, 2202); 1651 dasm_put(Dst, 2204);
1650 } 1652 }
1651 if (sse) { 1653 if (sse) {
1652 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1654 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1653 } else { 1655 } else {
1654 } 1656 }
1655 dasm_put(Dst, 6560, LJ_TISNUM); 1657 dasm_put(Dst, 6562, LJ_TISNUM);
1656 } else if (sse) { 1658 } else if (sse) {
1657 dasm_put(Dst, 6575, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1659 dasm_put(Dst, 6577, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1658 } else { 1660 } else {
1659 } 1661 }
1660 dasm_put(Dst, 6642); 1662 dasm_put(Dst, 6644);
1661 if (LJ_DUALNUM) { 1663 if (LJ_DUALNUM) {
1662 dasm_put(Dst, 6649, LJ_TISNUM); 1664 dasm_put(Dst, 6651, LJ_TISNUM);
1663 if (LJ_DUALNUM) { 1665 if (LJ_DUALNUM) {
1664 dasm_put(Dst, 6299); 1666 dasm_put(Dst, 6301);
1665 } else { 1667 } else {
1666 dasm_put(Dst, 2202); 1668 dasm_put(Dst, 2204);
1667 } 1669 }
1668 if (sse) { 1670 if (sse) {
1669 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1671 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1670 } else { 1672 } else {
1671 } 1673 }
1672 dasm_put(Dst, 6560, LJ_TISNUM); 1674 dasm_put(Dst, 6562, LJ_TISNUM);
1673 } else if (sse) { 1675 } else if (sse) {
1674 dasm_put(Dst, 6657, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1676 dasm_put(Dst, 6659, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1675 } else { 1677 } else {
1676 } 1678 }
1677 dasm_put(Dst, 6724); 1679 dasm_put(Dst, 6726);
1678 if (LJ_DUALNUM) { 1680 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6732, LJ_TISNUM); 1681 dasm_put(Dst, 6734, LJ_TISNUM);
1680 if (LJ_DUALNUM) { 1682 if (LJ_DUALNUM) {
1681 dasm_put(Dst, 6299); 1683 dasm_put(Dst, 6301);
1682 } else { 1684 } else {
1683 dasm_put(Dst, 2202); 1685 dasm_put(Dst, 2204);
1684 } 1686 }
1685 if (sse) { 1687 if (sse) {
1686 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1688 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1687 } else { 1689 } else {
1688 } 1690 }
1689 dasm_put(Dst, 6560, LJ_TISNUM); 1691 dasm_put(Dst, 6562, LJ_TISNUM);
1690 } else if (sse) { 1692 } else if (sse) {
1691 dasm_put(Dst, 6740, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1693 dasm_put(Dst, 6742, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1692 } else { 1694 } else {
1693 } 1695 }
1694 dasm_put(Dst, 6807); 1696 dasm_put(Dst, 6809);
1695 if (LJ_DUALNUM) { 1697 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6815, LJ_TISNUM); 1698 dasm_put(Dst, 6817, LJ_TISNUM);
1697 if (LJ_DUALNUM) { 1699 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6299); 1700 dasm_put(Dst, 6301);
1699 } else { 1701 } else {
1700 dasm_put(Dst, 2202); 1702 dasm_put(Dst, 2204);
1701 } 1703 }
1702 if (sse) { 1704 if (sse) {
1703 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1705 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1704 } else { 1706 } else {
1705 } 1707 }
1706 dasm_put(Dst, 6560, LJ_TISNUM); 1708 dasm_put(Dst, 6562, LJ_TISNUM);
1707 } else if (sse) { 1709 } else if (sse) {
1708 dasm_put(Dst, 6823, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1710 dasm_put(Dst, 6825, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1709 } else { 1711 } else {
1710 } 1712 }
1711 dasm_put(Dst, 6890); 1713 dasm_put(Dst, 6892);
1712 if (LJ_DUALNUM) { 1714 if (LJ_DUALNUM) {
1713 dasm_put(Dst, 6897, LJ_TISNUM); 1715 dasm_put(Dst, 6899, LJ_TISNUM);
1714 if (LJ_DUALNUM) { 1716 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6299); 1717 dasm_put(Dst, 6301);
1716 } else { 1718 } else {
1717 dasm_put(Dst, 2202); 1719 dasm_put(Dst, 2204);
1718 } 1720 }
1719 if (sse) { 1721 if (sse) {
1720 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1722 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1721 } else { 1723 } else {
1722 } 1724 }
1723 dasm_put(Dst, 6560, LJ_TISNUM); 1725 dasm_put(Dst, 6562, LJ_TISNUM);
1724 } else if (sse) { 1726 } else if (sse) {
1725 dasm_put(Dst, 6905, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1727 dasm_put(Dst, 6907, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1726 } else { 1728 } else {
1727 } 1729 }
1728 dasm_put(Dst, 6972, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1730 dasm_put(Dst, 6974, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1729 dasm_put(Dst, 7048, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1731 dasm_put(Dst, 7050, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1730 dasm_put(Dst, 7175, Dt1(->top), Dt1(->base), Dt1(->top)); 1732 dasm_put(Dst, 7177, Dt1(->top), Dt1(->base), Dt1(->top));
1731#if LJ_HASJIT 1733#if LJ_HASJIT
1732 dasm_put(Dst, 7214, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1734 dasm_put(Dst, 7216, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1733#endif 1735#endif
1734 dasm_put(Dst, 7245, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1736 dasm_put(Dst, 7247, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1735 dasm_put(Dst, 7296, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1737 dasm_put(Dst, 7298, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1736#if LJ_HASJIT 1738#if LJ_HASJIT
1737 dasm_put(Dst, 7363, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1739 dasm_put(Dst, 7365, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1738#endif 1740#endif
1739 dasm_put(Dst, 7410); 1741 dasm_put(Dst, 7412);
1740#if LJ_HASJIT 1742#if LJ_HASJIT
1741 dasm_put(Dst, 7240); 1743 dasm_put(Dst, 7242);
1742#endif 1744#endif
1743 dasm_put(Dst, 7417); 1745 dasm_put(Dst, 7419);
1744#if LJ_HASJIT 1746#if LJ_HASJIT
1745 dasm_put(Dst, 7420); 1747 dasm_put(Dst, 7422);
1746#endif 1748#endif
1747 dasm_put(Dst, 7430, Dt1(->base), Dt1(->top)); 1749 dasm_put(Dst, 7432, Dt1(->base), Dt1(->top));
1748#if LJ_HASJIT 1750#if LJ_HASJIT
1749 dasm_put(Dst, 7464); 1751 dasm_put(Dst, 7466);
1750#endif 1752#endif
1751 dasm_put(Dst, 7469, Dt1(->base), Dt1(->top)); 1753 dasm_put(Dst, 7471, Dt1(->base), Dt1(->top));
1752#if LJ_HASJIT 1754#if LJ_HASJIT
1753 dasm_put(Dst, 7500, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1755 dasm_put(Dst, 7502, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1754#endif 1756#endif
1755 dasm_put(Dst, 7730); 1757 dasm_put(Dst, 7732);
1756#if LJ_HASJIT 1758#if LJ_HASJIT
1757 dasm_put(Dst, 7733, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1759 dasm_put(Dst, 7735, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1758 dasm_put(Dst, 7875); 1760 dasm_put(Dst, 7877);
1759#endif 1761#endif
1760 dasm_put(Dst, 7901); 1762 dasm_put(Dst, 7903);
1761 if (!sse) { 1763 if (!sse) {
1762 dasm_put(Dst, 7904); 1764 dasm_put(Dst, 7906);
1763 } 1765 }
1764 dasm_put(Dst, 7949, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1766 dasm_put(Dst, 7951, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1765 if (!sse) { 1767 if (!sse) {
1766 dasm_put(Dst, 8035); 1768 dasm_put(Dst, 8037);
1767 } 1769 }
1768 dasm_put(Dst, 8080, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1770 dasm_put(Dst, 8082, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1769 if (!sse) { 1771 if (!sse) {
1770 dasm_put(Dst, 8166); 1772 dasm_put(Dst, 8168);
1771 } 1773 }
1772 dasm_put(Dst, 8205, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1774 dasm_put(Dst, 8207, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1773 if (sse) { 1775 if (sse) {
1774 dasm_put(Dst, 8294, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1776 dasm_put(Dst, 8296, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1775 } else { 1777 } else {
1776 dasm_put(Dst, 8408); 1778 dasm_put(Dst, 8410);
1777 } 1779 }
1778 dasm_put(Dst, 8455); 1780 dasm_put(Dst, 8457);
1779 if (!sse) { 1781 if (!sse) {
1780 } else { 1782 } else {
1781 dasm_put(Dst, 8529); 1783 dasm_put(Dst, 8531);
1782 } 1784 }
1783 dasm_put(Dst, 8532); 1785 dasm_put(Dst, 8534);
1784 dasm_put(Dst, 8617, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1786 dasm_put(Dst, 8619, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1785 dasm_put(Dst, 8720, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1787 dasm_put(Dst, 8722, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1786 dasm_put(Dst, 8876); 1788 dasm_put(Dst, 8878);
1787#if LJ_HASJIT 1789#if LJ_HASJIT
1788 if (sse) { 1790 if (sse) {
1789 dasm_put(Dst, 8917); 1791 dasm_put(Dst, 8919);
1790 dasm_put(Dst, 8987); 1792 dasm_put(Dst, 8989);
1791 dasm_put(Dst, 9060); 1793 dasm_put(Dst, 9062);
1792 } else { 1794 } else {
1793 dasm_put(Dst, 9110); 1795 dasm_put(Dst, 9112);
1794 dasm_put(Dst, 9202); 1796 dasm_put(Dst, 9204);
1795 } 1797 }
1796 dasm_put(Dst, 9248); 1798 dasm_put(Dst, 9250);
1797#endif 1799#endif
1798 dasm_put(Dst, 9252); 1800 dasm_put(Dst, 9254);
1799 if (sse) { 1801 if (sse) {
1800 dasm_put(Dst, 9255, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1802 dasm_put(Dst, 9257, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1801 dasm_put(Dst, 9344, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1803 dasm_put(Dst, 9346, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1802 } else { 1804 } else {
1803 dasm_put(Dst, 9468); 1805 dasm_put(Dst, 9470);
1804 dasm_put(Dst, 9551); 1806 dasm_put(Dst, 9553);
1805 if (cmov) { 1807 if (cmov) {
1806 dasm_put(Dst, 9606); 1808 dasm_put(Dst, 9608);
1807 } else { 1809 } else {
1808 dasm_put(Dst, 9625); 1810 dasm_put(Dst, 9627);
1809 } 1811 }
1810 dasm_put(Dst, 9248); 1812 dasm_put(Dst, 9250);
1811 } 1813 }
1812 dasm_put(Dst, 9666); 1814 dasm_put(Dst, 9668);
1813#if LJ_HASFFI 1815#if LJ_HASFFI
1814#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1816#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1815 dasm_put(Dst, 9694, DtE(->spadj)); 1817 dasm_put(Dst, 9696, DtE(->spadj));
1816#if LJ_TARGET_WINDOWS 1818#if LJ_TARGET_WINDOWS
1817#endif 1819#endif
1818 dasm_put(Dst, 9709, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1820 dasm_put(Dst, 9711, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1819 dasm_put(Dst, 9790, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1821 dasm_put(Dst, 9792, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1820#if LJ_TARGET_WINDOWS 1822#if LJ_TARGET_WINDOWS
1821#endif 1823#endif
1822 dasm_put(Dst, 9803); 1824 dasm_put(Dst, 9805);
1823#endif 1825#endif
1824 dasm_put(Dst, 9811); 1826 dasm_put(Dst, 9813);
1825#ifdef LUA_USE_ASSERT 1827#ifdef LUA_USE_ASSERT
1826 dasm_put(Dst, 9250); 1828 dasm_put(Dst, 9252);
1827#endif 1829#endif
1828 dasm_put(Dst, 9250); 1830 dasm_put(Dst, 9252);
1829} 1831}
1830 1832
1831/* Generate the code for a single instruction. */ 1833/* Generate the code for a single instruction. */
1832static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1834static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1833{ 1835{
1834 int vk = 0; 1836 int vk = 0;
1835 dasm_put(Dst, 9814, defop); 1837 dasm_put(Dst, 9816, defop);
1836 1838
1837 switch (op) { 1839 switch (op) {
1838 1840
@@ -1843,296 +1845,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1843 1845
1844 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1846 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1845 if (LJ_DUALNUM) { 1847 if (LJ_DUALNUM) {
1846 dasm_put(Dst, 9816, LJ_TISNUM, LJ_TISNUM); 1848 dasm_put(Dst, 9818, LJ_TISNUM, LJ_TISNUM);
1847 switch (op) { 1849 switch (op) {
1848 case BC_ISLT: 1850 case BC_ISLT:
1849 dasm_put(Dst, 9846); 1851 dasm_put(Dst, 9848);
1850 break; 1852 break;
1851 case BC_ISGE: 1853 case BC_ISGE:
1852 dasm_put(Dst, 9851); 1854 dasm_put(Dst, 9853);
1853 break; 1855 break;
1854 case BC_ISLE: 1856 case BC_ISLE:
1855 dasm_put(Dst, 9856); 1857 dasm_put(Dst, 9858);
1856 break; 1858 break;
1857 case BC_ISGT: 1859 case BC_ISGT:
1858 dasm_put(Dst, 9861); 1860 dasm_put(Dst, 9863);
1859 break; 1861 break;
1860 default: break; /* Shut up GCC. */ 1862 default: break; /* Shut up GCC. */
1861 } 1863 }
1862 dasm_put(Dst, 9866, -BCBIAS_J*4, LJ_TISNUM); 1864 dasm_put(Dst, 9868, -BCBIAS_J*4, LJ_TISNUM);
1863 if (sse) { 1865 if (sse) {
1864 dasm_put(Dst, 9920); 1866 dasm_put(Dst, 9922);
1865 } else { 1867 } else {
1866 dasm_put(Dst, 9931); 1868 dasm_put(Dst, 9933);
1867 } 1869 }
1868 dasm_put(Dst, 9942); 1870 dasm_put(Dst, 9944);
1869 if (sse) { 1871 if (sse) {
1870 dasm_put(Dst, 9949); 1872 dasm_put(Dst, 9951);
1871 switch (op) { 1873 switch (op) {
1872 case BC_ISLT: 1874 case BC_ISLT:
1873 dasm_put(Dst, 9969); 1875 dasm_put(Dst, 9971);
1874 break; 1876 break;
1875 case BC_ISGE: 1877 case BC_ISGE:
1876 dasm_put(Dst, 9974); 1878 dasm_put(Dst, 9976);
1877 break; 1879 break;
1878 case BC_ISLE: 1880 case BC_ISLE:
1879 dasm_put(Dst, 9979); 1881 dasm_put(Dst, 9981);
1880 break; 1882 break;
1881 case BC_ISGT: 1883 case BC_ISGT:
1882 dasm_put(Dst, 9984); 1884 dasm_put(Dst, 9986);
1883 break; 1885 break;
1884 default: break; /* Shut up GCC. */ 1886 default: break; /* Shut up GCC. */
1885 } 1887 }
1886 dasm_put(Dst, 9989); 1888 dasm_put(Dst, 9991);
1887 } else { 1889 } else {
1888 dasm_put(Dst, 9994); 1890 dasm_put(Dst, 9996);
1889 } 1891 }
1890 } else { 1892 } else {
1891 dasm_put(Dst, 10002, LJ_TISNUM, LJ_TISNUM); 1893 dasm_put(Dst, 10004, LJ_TISNUM, LJ_TISNUM);
1892 } 1894 }
1893 if (sse) { 1895 if (sse) {
1894 dasm_put(Dst, 10023); 1896 dasm_put(Dst, 10025);
1895 } else { 1897 } else {
1896 dasm_put(Dst, 10044); 1898 dasm_put(Dst, 10046);
1897 if (cmov) { 1899 if (cmov) {
1898 dasm_put(Dst, 10060); 1900 dasm_put(Dst, 10062);
1899 } else { 1901 } else {
1900 dasm_put(Dst, 10066); 1902 dasm_put(Dst, 10068);
1901 } 1903 }
1902 } 1904 }
1903 if (LJ_DUALNUM) { 1905 if (LJ_DUALNUM) {
1904 switch (op) { 1906 switch (op) {
1905 case BC_ISLT: 1907 case BC_ISLT:
1906 dasm_put(Dst, 9969); 1908 dasm_put(Dst, 9971);
1907 break; 1909 break;
1908 case BC_ISGE: 1910 case BC_ISGE:
1909 dasm_put(Dst, 9974); 1911 dasm_put(Dst, 9976);
1910 break; 1912 break;
1911 case BC_ISLE: 1913 case BC_ISLE:
1912 dasm_put(Dst, 9979); 1914 dasm_put(Dst, 9981);
1913 break; 1915 break;
1914 case BC_ISGT: 1916 case BC_ISGT:
1915 dasm_put(Dst, 9984); 1917 dasm_put(Dst, 9986);
1916 break; 1918 break;
1917 default: break; /* Shut up GCC. */ 1919 default: break; /* Shut up GCC. */
1918 } 1920 }
1919 dasm_put(Dst, 9989); 1921 dasm_put(Dst, 9991);
1920 } else { 1922 } else {
1921 switch (op) { 1923 switch (op) {
1922 case BC_ISLT: 1924 case BC_ISLT:
1923 dasm_put(Dst, 10073); 1925 dasm_put(Dst, 10075);
1924 break; 1926 break;
1925 case BC_ISGE: 1927 case BC_ISGE:
1926 dasm_put(Dst, 10078); 1928 dasm_put(Dst, 10080);
1927 break; 1929 break;
1928 case BC_ISLE: 1930 case BC_ISLE:
1929 dasm_put(Dst, 10083); 1931 dasm_put(Dst, 10085);
1930 break; 1932 break;
1931 case BC_ISGT: 1933 case BC_ISGT:
1932 dasm_put(Dst, 10088); 1934 dasm_put(Dst, 10090);
1933 break; 1935 break;
1934 default: break; /* Shut up GCC. */ 1936 default: break; /* Shut up GCC. */
1935 } 1937 }
1936 dasm_put(Dst, 10093, -BCBIAS_J*4); 1938 dasm_put(Dst, 10095, -BCBIAS_J*4);
1937 } 1939 }
1938 break; 1940 break;
1939 1941
1940 case BC_ISEQV: case BC_ISNEV: 1942 case BC_ISEQV: case BC_ISNEV:
1941 vk = op == BC_ISEQV; 1943 vk = op == BC_ISEQV;
1942 dasm_put(Dst, 10125); 1944 dasm_put(Dst, 10127);
1943 if (LJ_DUALNUM) { 1945 if (LJ_DUALNUM) {
1944 dasm_put(Dst, 10133, LJ_TISNUM, LJ_TISNUM); 1946 dasm_put(Dst, 10135, LJ_TISNUM, LJ_TISNUM);
1945 if (vk) { 1947 if (vk) {
1946 dasm_put(Dst, 10158); 1948 dasm_put(Dst, 10160);
1947 } else { 1949 } else {
1948 dasm_put(Dst, 10163); 1950 dasm_put(Dst, 10165);
1949 } 1951 }
1950 dasm_put(Dst, 10168, -BCBIAS_J*4, LJ_TISNUM); 1952 dasm_put(Dst, 10170, -BCBIAS_J*4, LJ_TISNUM);
1951 if (sse) { 1953 if (sse) {
1952 dasm_put(Dst, 10220); 1954 dasm_put(Dst, 10222);
1953 } else { 1955 } else {
1954 dasm_put(Dst, 10227); 1956 dasm_put(Dst, 10229);
1955 } 1957 }
1956 dasm_put(Dst, 10231); 1958 dasm_put(Dst, 10233);
1957 if (sse) { 1959 if (sse) {
1958 dasm_put(Dst, 10242); 1960 dasm_put(Dst, 10244);
1959 } else { 1961 } else {
1960 dasm_put(Dst, 10254); 1962 dasm_put(Dst, 10256);
1961 } 1963 }
1962 dasm_put(Dst, 10261); 1964 dasm_put(Dst, 10263);
1963 } else { 1965 } else {
1964 dasm_put(Dst, 10266, LJ_TISNUM, LJ_TISNUM); 1966 dasm_put(Dst, 10268, LJ_TISNUM, LJ_TISNUM);
1965 } 1967 }
1966 if (sse) { 1968 if (sse) {
1967 dasm_put(Dst, 10285); 1969 dasm_put(Dst, 10287);
1968 } else { 1970 } else {
1969 dasm_put(Dst, 10303); 1971 dasm_put(Dst, 10305);
1970 if (cmov) { 1972 if (cmov) {
1971 dasm_put(Dst, 10060); 1973 dasm_put(Dst, 10062);
1972 } else { 1974 } else {
1973 dasm_put(Dst, 10066); 1975 dasm_put(Dst, 10068);
1974 } 1976 }
1975 } 1977 }
1976 iseqne_fp: 1978 iseqne_fp:
1977 if (vk) { 1979 if (vk) {
1978 dasm_put(Dst, 10316); 1980 dasm_put(Dst, 10318);
1979 } else { 1981 } else {
1980 dasm_put(Dst, 10325); 1982 dasm_put(Dst, 10327);
1981 } 1983 }
1982 iseqne_end: 1984 iseqne_end:
1983 if (vk) { 1985 if (vk) {
1984 dasm_put(Dst, 10334, -BCBIAS_J*4); 1986 dasm_put(Dst, 10336, -BCBIAS_J*4);
1985 if (!LJ_HASFFI) { 1987 if (!LJ_HASFFI) {
1986 dasm_put(Dst, 4567); 1988 dasm_put(Dst, 4569);
1987 } 1989 }
1988 } else { 1990 } else {
1989 if (!LJ_HASFFI) { 1991 if (!LJ_HASFFI) {
1990 dasm_put(Dst, 4567); 1992 dasm_put(Dst, 4569);
1991 } 1993 }
1992 dasm_put(Dst, 10349, -BCBIAS_J*4); 1994 dasm_put(Dst, 10351, -BCBIAS_J*4);
1993 } 1995 }
1994 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 1996 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1995 op == BC_ISEQN || op == BC_ISNEN)) { 1997 op == BC_ISEQN || op == BC_ISNEN)) {
1996 dasm_put(Dst, 10364); 1998 dasm_put(Dst, 10366);
1997 } else { 1999 } else {
1998 dasm_put(Dst, 10105); 2000 dasm_put(Dst, 10107);
1999 } 2001 }
2000 if (op == BC_ISEQV || op == BC_ISNEV) { 2002 if (op == BC_ISEQV || op == BC_ISNEV) {
2001 dasm_put(Dst, 9787); 2003 dasm_put(Dst, 9789);
2002 if (LJ_HASFFI) { 2004 if (LJ_HASFFI) {
2003 dasm_put(Dst, 10369, LJ_TCDATA, LJ_TCDATA); 2005 dasm_put(Dst, 10371, LJ_TCDATA, LJ_TCDATA);
2004 } 2006 }
2005 dasm_put(Dst, 10388, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2007 dasm_put(Dst, 10390, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2006 if (vk) { 2008 if (vk) {
2007 dasm_put(Dst, 10444); 2009 dasm_put(Dst, 10446);
2008 } else { 2010 } else {
2009 dasm_put(Dst, 10448); 2011 dasm_put(Dst, 10450);
2010 } 2012 }
2011 dasm_put(Dst, 10454); 2013 dasm_put(Dst, 10456);
2012 } else if (LJ_HASFFI) { 2014 } else if (LJ_HASFFI) {
2013 dasm_put(Dst, 10459, LJ_TCDATA); 2015 dasm_put(Dst, 10461, LJ_TCDATA);
2014 if (LJ_DUALNUM && vk) { 2016 if (LJ_DUALNUM && vk) {
2015 dasm_put(Dst, 10466); 2017 dasm_put(Dst, 10468);
2016 } else { 2018 } else {
2017 dasm_put(Dst, 10439); 2019 dasm_put(Dst, 10441);
2018 } 2020 }
2019 dasm_put(Dst, 10471); 2021 dasm_put(Dst, 10473);
2020 } 2022 }
2021 break; 2023 break;
2022 case BC_ISEQS: case BC_ISNES: 2024 case BC_ISEQS: case BC_ISNES:
2023 vk = op == BC_ISEQS; 2025 vk = op == BC_ISEQS;
2024 dasm_put(Dst, 10476, LJ_TSTR); 2026 dasm_put(Dst, 10478, LJ_TSTR);
2025 iseqne_test: 2027 iseqne_test:
2026 if (vk) { 2028 if (vk) {
2027 dasm_put(Dst, 10320); 2029 dasm_put(Dst, 10322);
2028 } else { 2030 } else {
2029 dasm_put(Dst, 2858); 2031 dasm_put(Dst, 2860);
2030 } 2032 }
2031 goto iseqne_end; 2033 goto iseqne_end;
2032 case BC_ISEQN: case BC_ISNEN: 2034 case BC_ISEQN: case BC_ISNEN:
2033 vk = op == BC_ISEQN; 2035 vk = op == BC_ISEQN;
2034 dasm_put(Dst, 10502); 2036 dasm_put(Dst, 10504);
2035 if (LJ_DUALNUM) { 2037 if (LJ_DUALNUM) {
2036 dasm_put(Dst, 10510, LJ_TISNUM, LJ_TISNUM); 2038 dasm_put(Dst, 10512, LJ_TISNUM, LJ_TISNUM);
2037 if (vk) { 2039 if (vk) {
2038 dasm_put(Dst, 10158); 2040 dasm_put(Dst, 10160);
2039 } else { 2041 } else {
2040 dasm_put(Dst, 10163); 2042 dasm_put(Dst, 10165);
2041 } 2043 }
2042 dasm_put(Dst, 10535, -BCBIAS_J*4, LJ_TISNUM); 2044 dasm_put(Dst, 10537, -BCBIAS_J*4, LJ_TISNUM);
2043 if (sse) { 2045 if (sse) {
2044 dasm_put(Dst, 10583); 2046 dasm_put(Dst, 10585);
2045 } else { 2047 } else {
2046 dasm_put(Dst, 10590); 2048 dasm_put(Dst, 10592);
2047 } 2049 }
2048 dasm_put(Dst, 10594); 2050 dasm_put(Dst, 10596);
2049 if (sse) { 2051 if (sse) {
2050 dasm_put(Dst, 10601); 2052 dasm_put(Dst, 10603);
2051 } else { 2053 } else {
2052 dasm_put(Dst, 10613); 2054 dasm_put(Dst, 10615);
2053 } 2055 }
2054 dasm_put(Dst, 10261); 2056 dasm_put(Dst, 10263);
2055 } else { 2057 } else {
2056 dasm_put(Dst, 10620, LJ_TISNUM); 2058 dasm_put(Dst, 10622, LJ_TISNUM);
2057 } 2059 }
2058 if (sse) { 2060 if (sse) {
2059 dasm_put(Dst, 10629); 2061 dasm_put(Dst, 10631);
2060 } else { 2062 } else {
2061 dasm_put(Dst, 10647); 2063 dasm_put(Dst, 10649);
2062 if (cmov) { 2064 if (cmov) {
2063 dasm_put(Dst, 10060); 2065 dasm_put(Dst, 10062);
2064 } else { 2066 } else {
2065 dasm_put(Dst, 10066); 2067 dasm_put(Dst, 10068);
2066 } 2068 }
2067 } 2069 }
2068 goto iseqne_fp; 2070 goto iseqne_fp;
2069 case BC_ISEQP: case BC_ISNEP: 2071 case BC_ISEQP: case BC_ISNEP:
2070 vk = op == BC_ISEQP; 2072 vk = op == BC_ISEQP;
2071 dasm_put(Dst, 10660); 2073 dasm_put(Dst, 10662);
2072 if (!LJ_HASFFI) goto iseqne_test; 2074 if (!LJ_HASFFI) goto iseqne_test;
2073 if (vk) { 2075 if (vk) {
2074 dasm_put(Dst, 10674, -BCBIAS_J*4, LJ_TCDATA); 2076 dasm_put(Dst, 10676, -BCBIAS_J*4, LJ_TCDATA);
2075 } else { 2077 } else {
2076 dasm_put(Dst, 10724, LJ_TCDATA, -BCBIAS_J*4); 2078 dasm_put(Dst, 10726, LJ_TCDATA, -BCBIAS_J*4);
2077 } 2079 }
2078 break; 2080 break;
2079 2081
2080 /* -- Unary test and copy ops ------------------------------------------- */ 2082 /* -- Unary test and copy ops ------------------------------------------- */
2081 2083
2082 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2084 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2083 dasm_put(Dst, 10768, LJ_TISTRUECOND); 2085 dasm_put(Dst, 10770, LJ_TISTRUECOND);
2084 if (op == BC_IST || op == BC_ISTC) { 2086 if (op == BC_IST || op == BC_ISTC) {
2085 dasm_put(Dst, 10088); 2087 dasm_put(Dst, 10090);
2086 } else { 2088 } else {
2087 dasm_put(Dst, 10083); 2089 dasm_put(Dst, 10085);
2088 } 2090 }
2089 if (op == BC_ISTC || op == BC_ISFC) { 2091 if (op == BC_ISTC || op == BC_ISFC) {
2090 dasm_put(Dst, 10780); 2092 dasm_put(Dst, 10782);
2091 } 2093 }
2092 dasm_put(Dst, 10093, -BCBIAS_J*4); 2094 dasm_put(Dst, 10095, -BCBIAS_J*4);
2093 break; 2095 break;
2094 2096
2095 /* -- Unary ops --------------------------------------------------------- */ 2097 /* -- Unary ops --------------------------------------------------------- */
2096 2098
2097 case BC_MOV: 2099 case BC_MOV:
2098 dasm_put(Dst, 10791); 2100 dasm_put(Dst, 10793);
2099 break; 2101 break;
2100 case BC_NOT: 2102 case BC_NOT:
2101 dasm_put(Dst, 10819, LJ_TISTRUECOND, LJ_TTRUE); 2103 dasm_put(Dst, 10821, LJ_TISTRUECOND, LJ_TTRUE);
2102 break; 2104 break;
2103 case BC_UNM: 2105 case BC_UNM:
2104 if (LJ_DUALNUM) { 2106 if (LJ_DUALNUM) {
2105 dasm_put(Dst, 10855, LJ_TISNUM, LJ_TISNUM); 2107 dasm_put(Dst, 10857, LJ_TISNUM, LJ_TISNUM);
2106 } else { 2108 } else {
2107 dasm_put(Dst, 10932, LJ_TISNUM); 2109 dasm_put(Dst, 10934, LJ_TISNUM);
2108 } 2110 }
2109 if (sse) { 2111 if (sse) {
2110 dasm_put(Dst, 10943, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2112 dasm_put(Dst, 10945, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2111 } else { 2113 } else {
2112 dasm_put(Dst, 10968); 2114 dasm_put(Dst, 10970);
2113 } 2115 }
2114 if (LJ_DUALNUM) { 2116 if (LJ_DUALNUM) {
2115 dasm_put(Dst, 10364); 2117 dasm_put(Dst, 10366);
2116 } else { 2118 } else {
2117 dasm_put(Dst, 10105); 2119 dasm_put(Dst, 10107);
2118 } 2120 }
2119 break; 2121 break;
2120 case BC_LEN: 2122 case BC_LEN:
2121 dasm_put(Dst, 10977, LJ_TSTR); 2123 dasm_put(Dst, 10979, LJ_TSTR);
2122 if (LJ_DUALNUM) { 2124 if (LJ_DUALNUM) {
2123 dasm_put(Dst, 10991, Dt5(->len), LJ_TISNUM); 2125 dasm_put(Dst, 10993, Dt5(->len), LJ_TISNUM);
2124 } else if (sse) { 2126 } else if (sse) {
2125 dasm_put(Dst, 11005, Dt5(->len)); 2127 dasm_put(Dst, 11007, Dt5(->len));
2126 } else { 2128 } else {
2127 dasm_put(Dst, 11023, Dt5(->len)); 2129 dasm_put(Dst, 11025, Dt5(->len));
2128 } 2130 }
2129 dasm_put(Dst, 11032, LJ_TTAB); 2131 dasm_put(Dst, 11034, LJ_TTAB);
2130 if (LJ_DUALNUM) { 2132 if (LJ_DUALNUM) {
2131 } else if (sse) { 2133 } else if (sse) {
2132 dasm_put(Dst, 11073); 2134 dasm_put(Dst, 11075);
2133 } else { 2135 } else {
2134 } 2136 }
2135 dasm_put(Dst, 11079); 2137 dasm_put(Dst, 11081);
2136 break; 2138 break;
2137 2139
2138 /* -- Binary ops -------------------------------------------------------- */ 2140 /* -- Binary ops -------------------------------------------------------- */
@@ -2140,605 +2142,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2140 2142
2141 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2143 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2142 if (LJ_DUALNUM) { 2144 if (LJ_DUALNUM) {
2143 dasm_put(Dst, 11092); 2145 dasm_put(Dst, 11094);
2144 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2146 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2145 switch (vk) { 2147 switch (vk) {
2146 case 0: 2148 case 0:
2147 dasm_put(Dst, 11100, LJ_TISNUM, LJ_TISNUM); 2149 dasm_put(Dst, 11102, LJ_TISNUM, LJ_TISNUM);
2148 break; 2150 break;
2149 case 1: 2151 case 1:
2150 dasm_put(Dst, 11133, LJ_TISNUM, LJ_TISNUM); 2152 dasm_put(Dst, 11135, LJ_TISNUM, LJ_TISNUM);
2151 break; 2153 break;
2152 default: 2154 default:
2153 dasm_put(Dst, 11166, LJ_TISNUM, LJ_TISNUM); 2155 dasm_put(Dst, 11168, LJ_TISNUM, LJ_TISNUM);
2154 break; 2156 break;
2155 } 2157 }
2156 dasm_put(Dst, 11199, LJ_TISNUM); 2158 dasm_put(Dst, 11201, LJ_TISNUM);
2157 if (vk == 1) { 2159 if (vk == 1) {
2158 dasm_put(Dst, 11001); 2160 dasm_put(Dst, 11003);
2159 } else { 2161 } else {
2160 dasm_put(Dst, 10787); 2162 dasm_put(Dst, 10789);
2161 } 2163 }
2162 dasm_put(Dst, 10105); 2164 dasm_put(Dst, 10107);
2163 } else { 2165 } else {
2164 dasm_put(Dst, 11092); 2166 dasm_put(Dst, 11094);
2165 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2167 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2166 switch (vk) { 2168 switch (vk) {
2167 case 0: 2169 case 0:
2168 dasm_put(Dst, 11205, LJ_TISNUM); 2170 dasm_put(Dst, 11207, LJ_TISNUM);
2169 if (LJ_DUALNUM) { 2171 if (LJ_DUALNUM) {
2170 dasm_put(Dst, 11217, LJ_TISNUM); 2172 dasm_put(Dst, 11219, LJ_TISNUM);
2171 } 2173 }
2172 if (sse) { 2174 if (sse) {
2173 dasm_put(Dst, 11228); 2175 dasm_put(Dst, 11230);
2174 } else { 2176 } else {
2175 dasm_put(Dst, 11242); 2177 dasm_put(Dst, 11244);
2176 } 2178 }
2177 break; 2179 break;
2178 case 1: 2180 case 1:
2179 dasm_put(Dst, 11250, LJ_TISNUM); 2181 dasm_put(Dst, 11252, LJ_TISNUM);
2180 if (LJ_DUALNUM) { 2182 if (LJ_DUALNUM) {
2181 dasm_put(Dst, 11262, LJ_TISNUM); 2183 dasm_put(Dst, 11264, LJ_TISNUM);
2182 } 2184 }
2183 if (sse) { 2185 if (sse) {
2184 dasm_put(Dst, 11273); 2186 dasm_put(Dst, 11275);
2185 } else { 2187 } else {
2186 dasm_put(Dst, 11287); 2188 dasm_put(Dst, 11289);
2187 } 2189 }
2188 break; 2190 break;
2189 default: 2191 default:
2190 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2192 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2191 if (sse) { 2193 if (sse) {
2192 dasm_put(Dst, 11317); 2194 dasm_put(Dst, 11319);
2193 } else { 2195 } else {
2194 dasm_put(Dst, 11331); 2196 dasm_put(Dst, 11333);
2195 } 2197 }
2196 break; 2198 break;
2197 } 2199 }
2198 if (sse) { 2200 if (sse) {
2199 dasm_put(Dst, 10961); 2201 dasm_put(Dst, 10963);
2200 } else { 2202 } else {
2201 dasm_put(Dst, 10973); 2203 dasm_put(Dst, 10975);
2202 } 2204 }
2203 dasm_put(Dst, 10105); 2205 dasm_put(Dst, 10107);
2204 } 2206 }
2205 break; 2207 break;
2206 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2208 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2207 if (LJ_DUALNUM) { 2209 if (LJ_DUALNUM) {
2208 dasm_put(Dst, 11092); 2210 dasm_put(Dst, 11094);
2209 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2211 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2210 switch (vk) { 2212 switch (vk) {
2211 case 0: 2213 case 0:
2212 dasm_put(Dst, 11339, LJ_TISNUM, LJ_TISNUM); 2214 dasm_put(Dst, 11341, LJ_TISNUM, LJ_TISNUM);
2213 break; 2215 break;
2214 case 1: 2216 case 1:
2215 dasm_put(Dst, 11372, LJ_TISNUM, LJ_TISNUM); 2217 dasm_put(Dst, 11374, LJ_TISNUM, LJ_TISNUM);
2216 break; 2218 break;
2217 default: 2219 default:
2218 dasm_put(Dst, 11405, LJ_TISNUM, LJ_TISNUM); 2220 dasm_put(Dst, 11407, LJ_TISNUM, LJ_TISNUM);
2219 break; 2221 break;
2220 } 2222 }
2221 dasm_put(Dst, 11199, LJ_TISNUM); 2223 dasm_put(Dst, 11201, LJ_TISNUM);
2222 if (vk == 1) { 2224 if (vk == 1) {
2223 dasm_put(Dst, 11001); 2225 dasm_put(Dst, 11003);
2224 } else { 2226 } else {
2225 dasm_put(Dst, 10787); 2227 dasm_put(Dst, 10789);
2226 } 2228 }
2227 dasm_put(Dst, 10105); 2229 dasm_put(Dst, 10107);
2228 } else { 2230 } else {
2229 dasm_put(Dst, 11092); 2231 dasm_put(Dst, 11094);
2230 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2232 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2231 switch (vk) { 2233 switch (vk) {
2232 case 0: 2234 case 0:
2233 dasm_put(Dst, 11205, LJ_TISNUM); 2235 dasm_put(Dst, 11207, LJ_TISNUM);
2234 if (LJ_DUALNUM) { 2236 if (LJ_DUALNUM) {
2235 dasm_put(Dst, 11217, LJ_TISNUM); 2237 dasm_put(Dst, 11219, LJ_TISNUM);
2236 } 2238 }
2237 if (sse) { 2239 if (sse) {
2238 dasm_put(Dst, 11438); 2240 dasm_put(Dst, 11440);
2239 } else { 2241 } else {
2240 dasm_put(Dst, 11452); 2242 dasm_put(Dst, 11454);
2241 } 2243 }
2242 break; 2244 break;
2243 case 1: 2245 case 1:
2244 dasm_put(Dst, 11250, LJ_TISNUM); 2246 dasm_put(Dst, 11252, LJ_TISNUM);
2245 if (LJ_DUALNUM) { 2247 if (LJ_DUALNUM) {
2246 dasm_put(Dst, 11262, LJ_TISNUM); 2248 dasm_put(Dst, 11264, LJ_TISNUM);
2247 } 2249 }
2248 if (sse) { 2250 if (sse) {
2249 dasm_put(Dst, 11460); 2251 dasm_put(Dst, 11462);
2250 } else { 2252 } else {
2251 dasm_put(Dst, 11474); 2253 dasm_put(Dst, 11476);
2252 } 2254 }
2253 break; 2255 break;
2254 default: 2256 default:
2255 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2257 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2256 if (sse) { 2258 if (sse) {
2257 dasm_put(Dst, 11482); 2259 dasm_put(Dst, 11484);
2258 } else { 2260 } else {
2259 dasm_put(Dst, 11496); 2261 dasm_put(Dst, 11498);
2260 } 2262 }
2261 break; 2263 break;
2262 } 2264 }
2263 if (sse) { 2265 if (sse) {
2264 dasm_put(Dst, 10961); 2266 dasm_put(Dst, 10963);
2265 } else { 2267 } else {
2266 dasm_put(Dst, 10973); 2268 dasm_put(Dst, 10975);
2267 } 2269 }
2268 dasm_put(Dst, 10105); 2270 dasm_put(Dst, 10107);
2269 } 2271 }
2270 break; 2272 break;
2271 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2273 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2272 if (LJ_DUALNUM) { 2274 if (LJ_DUALNUM) {
2273 dasm_put(Dst, 11092); 2275 dasm_put(Dst, 11094);
2274 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2276 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2275 switch (vk) { 2277 switch (vk) {
2276 case 0: 2278 case 0:
2277 dasm_put(Dst, 11504, LJ_TISNUM, LJ_TISNUM); 2279 dasm_put(Dst, 11506, LJ_TISNUM, LJ_TISNUM);
2278 break; 2280 break;
2279 case 1: 2281 case 1:
2280 dasm_put(Dst, 11538, LJ_TISNUM, LJ_TISNUM); 2282 dasm_put(Dst, 11540, LJ_TISNUM, LJ_TISNUM);
2281 break; 2283 break;
2282 default: 2284 default:
2283 dasm_put(Dst, 11572, LJ_TISNUM, LJ_TISNUM); 2285 dasm_put(Dst, 11574, LJ_TISNUM, LJ_TISNUM);
2284 break; 2286 break;
2285 } 2287 }
2286 dasm_put(Dst, 11199, LJ_TISNUM); 2288 dasm_put(Dst, 11201, LJ_TISNUM);
2287 if (vk == 1) { 2289 if (vk == 1) {
2288 dasm_put(Dst, 11001); 2290 dasm_put(Dst, 11003);
2289 } else { 2291 } else {
2290 dasm_put(Dst, 10787); 2292 dasm_put(Dst, 10789);
2291 } 2293 }
2292 dasm_put(Dst, 10105); 2294 dasm_put(Dst, 10107);
2293 } else { 2295 } else {
2294 dasm_put(Dst, 11092); 2296 dasm_put(Dst, 11094);
2295 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2297 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2296 switch (vk) { 2298 switch (vk) {
2297 case 0: 2299 case 0:
2298 dasm_put(Dst, 11205, LJ_TISNUM); 2300 dasm_put(Dst, 11207, LJ_TISNUM);
2299 if (LJ_DUALNUM) { 2301 if (LJ_DUALNUM) {
2300 dasm_put(Dst, 11217, LJ_TISNUM); 2302 dasm_put(Dst, 11219, LJ_TISNUM);
2301 } 2303 }
2302 if (sse) { 2304 if (sse) {
2303 dasm_put(Dst, 11606); 2305 dasm_put(Dst, 11608);
2304 } else { 2306 } else {
2305 dasm_put(Dst, 11620); 2307 dasm_put(Dst, 11622);
2306 } 2308 }
2307 break; 2309 break;
2308 case 1: 2310 case 1:
2309 dasm_put(Dst, 11250, LJ_TISNUM); 2311 dasm_put(Dst, 11252, LJ_TISNUM);
2310 if (LJ_DUALNUM) { 2312 if (LJ_DUALNUM) {
2311 dasm_put(Dst, 11262, LJ_TISNUM); 2313 dasm_put(Dst, 11264, LJ_TISNUM);
2312 } 2314 }
2313 if (sse) { 2315 if (sse) {
2314 dasm_put(Dst, 11628); 2316 dasm_put(Dst, 11630);
2315 } else { 2317 } else {
2316 dasm_put(Dst, 11642); 2318 dasm_put(Dst, 11644);
2317 } 2319 }
2318 break; 2320 break;
2319 default: 2321 default:
2320 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2322 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2321 if (sse) { 2323 if (sse) {
2322 dasm_put(Dst, 11650); 2324 dasm_put(Dst, 11652);
2323 } else { 2325 } else {
2324 dasm_put(Dst, 11664); 2326 dasm_put(Dst, 11666);
2325 } 2327 }
2326 break; 2328 break;
2327 } 2329 }
2328 if (sse) { 2330 if (sse) {
2329 dasm_put(Dst, 10961); 2331 dasm_put(Dst, 10963);
2330 } else { 2332 } else {
2331 dasm_put(Dst, 10973); 2333 dasm_put(Dst, 10975);
2332 } 2334 }
2333 dasm_put(Dst, 10105); 2335 dasm_put(Dst, 10107);
2334 } 2336 }
2335 break; 2337 break;
2336 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2338 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2337 dasm_put(Dst, 11092); 2339 dasm_put(Dst, 11094);
2338 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2340 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2339 switch (vk) { 2341 switch (vk) {
2340 case 0: 2342 case 0:
2341 dasm_put(Dst, 11205, LJ_TISNUM); 2343 dasm_put(Dst, 11207, LJ_TISNUM);
2342 if (LJ_DUALNUM) { 2344 if (LJ_DUALNUM) {
2343 dasm_put(Dst, 11217, LJ_TISNUM); 2345 dasm_put(Dst, 11219, LJ_TISNUM);
2344 } 2346 }
2345 if (sse) { 2347 if (sse) {
2346 dasm_put(Dst, 11672); 2348 dasm_put(Dst, 11674);
2347 } else { 2349 } else {
2348 dasm_put(Dst, 11686); 2350 dasm_put(Dst, 11688);
2349 } 2351 }
2350 break; 2352 break;
2351 case 1: 2353 case 1:
2352 dasm_put(Dst, 11250, LJ_TISNUM); 2354 dasm_put(Dst, 11252, LJ_TISNUM);
2353 if (LJ_DUALNUM) { 2355 if (LJ_DUALNUM) {
2354 dasm_put(Dst, 11262, LJ_TISNUM); 2356 dasm_put(Dst, 11264, LJ_TISNUM);
2355 } 2357 }
2356 if (sse) { 2358 if (sse) {
2357 dasm_put(Dst, 11694); 2359 dasm_put(Dst, 11696);
2358 } else { 2360 } else {
2359 dasm_put(Dst, 11708); 2361 dasm_put(Dst, 11710);
2360 } 2362 }
2361 break; 2363 break;
2362 default: 2364 default:
2363 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2365 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2364 if (sse) { 2366 if (sse) {
2365 dasm_put(Dst, 11716); 2367 dasm_put(Dst, 11718);
2366 } else { 2368 } else {
2367 dasm_put(Dst, 11730); 2369 dasm_put(Dst, 11732);
2368 } 2370 }
2369 break; 2371 break;
2370 } 2372 }
2371 if (sse) { 2373 if (sse) {
2372 dasm_put(Dst, 10961); 2374 dasm_put(Dst, 10963);
2373 } else { 2375 } else {
2374 dasm_put(Dst, 10973); 2376 dasm_put(Dst, 10975);
2375 } 2377 }
2376 dasm_put(Dst, 10105); 2378 dasm_put(Dst, 10107);
2377 break; 2379 break;
2378 case BC_MODVN: 2380 case BC_MODVN:
2379 dasm_put(Dst, 11092); 2381 dasm_put(Dst, 11094);
2380 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2382 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2381 switch (vk) { 2383 switch (vk) {
2382 case 0: 2384 case 0:
2383 dasm_put(Dst, 11205, LJ_TISNUM); 2385 dasm_put(Dst, 11207, LJ_TISNUM);
2384 if (LJ_DUALNUM) { 2386 if (LJ_DUALNUM) {
2385 dasm_put(Dst, 11217, LJ_TISNUM); 2387 dasm_put(Dst, 11219, LJ_TISNUM);
2386 } 2388 }
2387 if (sse) { 2389 if (sse) {
2388 dasm_put(Dst, 11738); 2390 dasm_put(Dst, 11740);
2389 } else { 2391 } else {
2390 dasm_put(Dst, 11752); 2392 dasm_put(Dst, 11754);
2391 } 2393 }
2392 break; 2394 break;
2393 case 1: 2395 case 1:
2394 dasm_put(Dst, 11250, LJ_TISNUM); 2396 dasm_put(Dst, 11252, LJ_TISNUM);
2395 if (LJ_DUALNUM) { 2397 if (LJ_DUALNUM) {
2396 dasm_put(Dst, 11262, LJ_TISNUM); 2398 dasm_put(Dst, 11264, LJ_TISNUM);
2397 } 2399 }
2398 if (sse) { 2400 if (sse) {
2399 dasm_put(Dst, 11760); 2401 dasm_put(Dst, 11762);
2400 } else { 2402 } else {
2401 dasm_put(Dst, 11774); 2403 dasm_put(Dst, 11776);
2402 } 2404 }
2403 break; 2405 break;
2404 default: 2406 default:
2405 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2407 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2406 if (sse) { 2408 if (sse) {
2407 dasm_put(Dst, 11782); 2409 dasm_put(Dst, 11784);
2408 } else { 2410 } else {
2409 dasm_put(Dst, 11796); 2411 dasm_put(Dst, 11798);
2410 } 2412 }
2411 break; 2413 break;
2412 } 2414 }
2413 dasm_put(Dst, 11804); 2415 dasm_put(Dst, 11806);
2414 if (sse) { 2416 if (sse) {
2415 dasm_put(Dst, 10961); 2417 dasm_put(Dst, 10963);
2416 } else { 2418 } else {
2417 dasm_put(Dst, 10973); 2419 dasm_put(Dst, 10975);
2418 } 2420 }
2419 dasm_put(Dst, 10105); 2421 dasm_put(Dst, 10107);
2420 break; 2422 break;
2421 case BC_MODNV: case BC_MODVV: 2423 case BC_MODNV: case BC_MODVV:
2422 dasm_put(Dst, 11092); 2424 dasm_put(Dst, 11094);
2423 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2425 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2424 switch (vk) { 2426 switch (vk) {
2425 case 0: 2427 case 0:
2426 dasm_put(Dst, 11205, LJ_TISNUM); 2428 dasm_put(Dst, 11207, LJ_TISNUM);
2427 if (LJ_DUALNUM) { 2429 if (LJ_DUALNUM) {
2428 dasm_put(Dst, 11217, LJ_TISNUM); 2430 dasm_put(Dst, 11219, LJ_TISNUM);
2429 } 2431 }
2430 if (sse) { 2432 if (sse) {
2431 dasm_put(Dst, 11738); 2433 dasm_put(Dst, 11740);
2432 } else { 2434 } else {
2433 dasm_put(Dst, 11752); 2435 dasm_put(Dst, 11754);
2434 } 2436 }
2435 break; 2437 break;
2436 case 1: 2438 case 1:
2437 dasm_put(Dst, 11250, LJ_TISNUM); 2439 dasm_put(Dst, 11252, LJ_TISNUM);
2438 if (LJ_DUALNUM) { 2440 if (LJ_DUALNUM) {
2439 dasm_put(Dst, 11262, LJ_TISNUM); 2441 dasm_put(Dst, 11264, LJ_TISNUM);
2440 } 2442 }
2441 if (sse) { 2443 if (sse) {
2442 dasm_put(Dst, 11760); 2444 dasm_put(Dst, 11762);
2443 } else { 2445 } else {
2444 dasm_put(Dst, 11774); 2446 dasm_put(Dst, 11776);
2445 } 2447 }
2446 break; 2448 break;
2447 default: 2449 default:
2448 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2450 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2449 if (sse) { 2451 if (sse) {
2450 dasm_put(Dst, 11782); 2452 dasm_put(Dst, 11784);
2451 } else { 2453 } else {
2452 dasm_put(Dst, 11796); 2454 dasm_put(Dst, 11798);
2453 } 2455 }
2454 break; 2456 break;
2455 } 2457 }
2456 dasm_put(Dst, 11810); 2458 dasm_put(Dst, 11812);
2457 break; 2459 break;
2458 case BC_POW: 2460 case BC_POW:
2459 dasm_put(Dst, 11092); 2461 dasm_put(Dst, 11094);
2460 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2462 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2461 switch (vk) { 2463 switch (vk) {
2462 case 0: 2464 case 0:
2463 dasm_put(Dst, 11205, LJ_TISNUM); 2465 dasm_put(Dst, 11207, LJ_TISNUM);
2464 if (LJ_DUALNUM) { 2466 if (LJ_DUALNUM) {
2465 dasm_put(Dst, 11217, LJ_TISNUM); 2467 dasm_put(Dst, 11219, LJ_TISNUM);
2466 } 2468 }
2467 if (sse) { 2469 if (sse) {
2468 dasm_put(Dst, 11738); 2470 dasm_put(Dst, 11740);
2469 } else { 2471 } else {
2470 dasm_put(Dst, 11752); 2472 dasm_put(Dst, 11754);
2471 } 2473 }
2472 break; 2474 break;
2473 case 1: 2475 case 1:
2474 dasm_put(Dst, 11250, LJ_TISNUM); 2476 dasm_put(Dst, 11252, LJ_TISNUM);
2475 if (LJ_DUALNUM) { 2477 if (LJ_DUALNUM) {
2476 dasm_put(Dst, 11262, LJ_TISNUM); 2478 dasm_put(Dst, 11264, LJ_TISNUM);
2477 } 2479 }
2478 if (sse) { 2480 if (sse) {
2479 dasm_put(Dst, 11760); 2481 dasm_put(Dst, 11762);
2480 } else { 2482 } else {
2481 dasm_put(Dst, 11774); 2483 dasm_put(Dst, 11776);
2482 } 2484 }
2483 break; 2485 break;
2484 default: 2486 default:
2485 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2487 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2486 if (sse) { 2488 if (sse) {
2487 dasm_put(Dst, 11782); 2489 dasm_put(Dst, 11784);
2488 } else { 2490 } else {
2489 dasm_put(Dst, 11796); 2491 dasm_put(Dst, 11798);
2490 } 2492 }
2491 break; 2493 break;
2492 } 2494 }
2493 dasm_put(Dst, 11815); 2495 dasm_put(Dst, 11817);
2494 if (sse) { 2496 if (sse) {
2495 dasm_put(Dst, 10961); 2497 dasm_put(Dst, 10963);
2496 } else { 2498 } else {
2497 dasm_put(Dst, 10973); 2499 dasm_put(Dst, 10975);
2498 } 2500 }
2499 dasm_put(Dst, 10105); 2501 dasm_put(Dst, 10107);
2500 break; 2502 break;
2501 2503
2502 case BC_CAT: 2504 case BC_CAT:
2503 dasm_put(Dst, 11819, Dt1(->base), Dt1(->base)); 2505 dasm_put(Dst, 11821, Dt1(->base), Dt1(->base));
2504 break; 2506 break;
2505 2507
2506 /* -- Constant ops ------------------------------------------------------ */ 2508 /* -- Constant ops ------------------------------------------------------ */
2507 2509
2508 case BC_KSTR: 2510 case BC_KSTR:
2509 dasm_put(Dst, 11902, LJ_TSTR); 2511 dasm_put(Dst, 11904, LJ_TSTR);
2510 break; 2512 break;
2511 case BC_KCDATA: 2513 case BC_KCDATA:
2512#if LJ_HASFFI 2514#if LJ_HASFFI
2513 dasm_put(Dst, 11902, LJ_TCDATA); 2515 dasm_put(Dst, 11904, LJ_TCDATA);
2514#endif 2516#endif
2515 break; 2517 break;
2516 case BC_KSHORT: 2518 case BC_KSHORT:
2517 if (LJ_DUALNUM) { 2519 if (LJ_DUALNUM) {
2518 dasm_put(Dst, 11937, LJ_TISNUM); 2520 dasm_put(Dst, 11939, LJ_TISNUM);
2519 } else if (sse) { 2521 } else if (sse) {
2520 dasm_put(Dst, 11949); 2522 dasm_put(Dst, 11951);
2521 } else { 2523 } else {
2522 dasm_put(Dst, 11964); 2524 dasm_put(Dst, 11966);
2523 } 2525 }
2524 dasm_put(Dst, 10105); 2526 dasm_put(Dst, 10107);
2525 break; 2527 break;
2526 case BC_KNUM: 2528 case BC_KNUM:
2527 if (sse) { 2529 if (sse) {
2528 dasm_put(Dst, 11972); 2530 dasm_put(Dst, 11974);
2529 } else { 2531 } else {
2530 dasm_put(Dst, 11985); 2532 dasm_put(Dst, 11987);
2531 } 2533 }
2532 dasm_put(Dst, 10105); 2534 dasm_put(Dst, 10107);
2533 break; 2535 break;
2534 case BC_KPRI: 2536 case BC_KPRI:
2535 dasm_put(Dst, 11992); 2537 dasm_put(Dst, 11994);
2536 break; 2538 break;
2537 case BC_KNIL: 2539 case BC_KNIL:
2538 dasm_put(Dst, 12020, LJ_TNIL); 2540 dasm_put(Dst, 12022, LJ_TNIL);
2539 break; 2541 break;
2540 2542
2541 /* -- Upvalue and function ops ------------------------------------------ */ 2543 /* -- Upvalue and function ops ------------------------------------------ */
2542 2544
2543 case BC_UGET: 2545 case BC_UGET:
2544 dasm_put(Dst, 12067, offsetof(GCfuncL, uvptr), DtA(->v)); 2546 dasm_put(Dst, 12069, offsetof(GCfuncL, uvptr), DtA(->v));
2545 break; 2547 break;
2546 case BC_USETV: 2548 case BC_USETV:
2547#define TV2MARKOFS \ 2549#define TV2MARKOFS \
2548 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2550 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2549 dasm_put(Dst, 12107, 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); 2551 dasm_put(Dst, 12109, 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);
2550 dasm_put(Dst, 12198); 2552 dasm_put(Dst, 12200);
2551 break; 2553 break;
2552#undef TV2MARKOFS 2554#undef TV2MARKOFS
2553 case BC_USETS: 2555 case BC_USETS:
2554 dasm_put(Dst, 12210, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2556 dasm_put(Dst, 12212, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2555 break; 2557 break;
2556 case BC_USETN: 2558 case BC_USETN:
2557 dasm_put(Dst, 12303); 2559 dasm_put(Dst, 12305);
2558 if (sse) { 2560 if (sse) {
2559 dasm_put(Dst, 12308); 2561 dasm_put(Dst, 12310);
2560 } else { 2562 } else {
2561 dasm_put(Dst, 10616); 2563 dasm_put(Dst, 10618);
2562 } 2564 }
2563 dasm_put(Dst, 12315, offsetof(GCfuncL, uvptr), DtA(->v)); 2565 dasm_put(Dst, 12317, offsetof(GCfuncL, uvptr), DtA(->v));
2564 if (sse) { 2566 if (sse) {
2565 dasm_put(Dst, 12324); 2567 dasm_put(Dst, 12326);
2566 } else { 2568 } else {
2567 dasm_put(Dst, 12330); 2569 dasm_put(Dst, 12332);
2568 } 2570 }
2569 dasm_put(Dst, 10105); 2571 dasm_put(Dst, 10107);
2570 break; 2572 break;
2571 case BC_USETP: 2573 case BC_USETP:
2572 dasm_put(Dst, 12333, offsetof(GCfuncL, uvptr), DtA(->v)); 2574 dasm_put(Dst, 12335, offsetof(GCfuncL, uvptr), DtA(->v));
2573 break; 2575 break;
2574 case BC_UCLO: 2576 case BC_UCLO:
2575 dasm_put(Dst, 12372, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2577 dasm_put(Dst, 12374, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2576 break; 2578 break;
2577 2579
2578 case BC_FNEW: 2580 case BC_FNEW:
2579 dasm_put(Dst, 12427, Dt1(->base), Dt1(->base), LJ_TFUNC); 2581 dasm_put(Dst, 12429, Dt1(->base), Dt1(->base), LJ_TFUNC);
2580 break; 2582 break;
2581 2583
2582 /* -- Table ops --------------------------------------------------------- */ 2584 /* -- Table ops --------------------------------------------------------- */
2583 2585
2584 case BC_TNEW: 2586 case BC_TNEW:
2585 dasm_put(Dst, 12493, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2587 dasm_put(Dst, 12495, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2586 break; 2588 break;
2587 case BC_TDUP: 2589 case BC_TDUP:
2588 dasm_put(Dst, 12615, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2590 dasm_put(Dst, 12617, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2589 break; 2591 break;
2590 2592
2591 case BC_GGET: 2593 case BC_GGET:
2592 dasm_put(Dst, 12710, Dt7(->env)); 2594 dasm_put(Dst, 12712, Dt7(->env));
2593 break; 2595 break;
2594 case BC_GSET: 2596 case BC_GSET:
2595 dasm_put(Dst, 12729, Dt7(->env)); 2597 dasm_put(Dst, 12731, Dt7(->env));
2596 break; 2598 break;
2597 2599
2598 case BC_TGETV: 2600 case BC_TGETV:
2599 dasm_put(Dst, 12748, LJ_TTAB); 2601 dasm_put(Dst, 12750, LJ_TTAB);
2600 if (LJ_DUALNUM) { 2602 if (LJ_DUALNUM) {
2601 dasm_put(Dst, 12771, LJ_TISNUM); 2603 dasm_put(Dst, 12773, LJ_TISNUM);
2602 } else { 2604 } else {
2603 dasm_put(Dst, 12785, LJ_TISNUM); 2605 dasm_put(Dst, 12787, LJ_TISNUM);
2604 if (sse) { 2606 if (sse) {
2605 dasm_put(Dst, 12796); 2607 dasm_put(Dst, 12798);
2606 } else { 2608 } else {
2607 } 2609 }
2608 dasm_put(Dst, 12817); 2610 dasm_put(Dst, 12819);
2609 } 2611 }
2610 dasm_put(Dst, 12822, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2612 dasm_put(Dst, 12824, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2611 dasm_put(Dst, 12913, LJ_TSTR); 2613 dasm_put(Dst, 12915, LJ_TSTR);
2612 break; 2614 break;
2613 case BC_TGETS: 2615 case BC_TGETS:
2614 dasm_put(Dst, 12931, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2616 dasm_put(Dst, 12933, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2615 dasm_put(Dst, 13015, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2617 dasm_put(Dst, 13017, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2616 break; 2618 break;
2617 case BC_TGETB: 2619 case BC_TGETB:
2618 dasm_put(Dst, 13086, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2620 dasm_put(Dst, 13088, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2619 dasm_put(Dst, 13181, LJ_TNIL); 2621 dasm_put(Dst, 13183, LJ_TNIL);
2620 break; 2622 break;
2621 2623
2622 case BC_TSETV: 2624 case BC_TSETV:
2623 dasm_put(Dst, 13198, LJ_TTAB); 2625 dasm_put(Dst, 13200, LJ_TTAB);
2624 if (LJ_DUALNUM) { 2626 if (LJ_DUALNUM) {
2625 dasm_put(Dst, 12771, LJ_TISNUM); 2627 dasm_put(Dst, 12773, LJ_TISNUM);
2626 } else { 2628 } else {
2627 dasm_put(Dst, 12785, LJ_TISNUM); 2629 dasm_put(Dst, 12787, LJ_TISNUM);
2628 if (sse) { 2630 if (sse) {
2629 dasm_put(Dst, 12796); 2631 dasm_put(Dst, 12798);
2630 } else { 2632 } else {
2631 } 2633 }
2632 dasm_put(Dst, 13221); 2634 dasm_put(Dst, 13223);
2633 } 2635 }
2634 dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2636 dasm_put(Dst, 13228, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2635 dasm_put(Dst, 13306, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2637 dasm_put(Dst, 13308, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2636 break; 2638 break;
2637 case BC_TSETS: 2639 case BC_TSETS:
2638 dasm_put(Dst, 13363, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2640 dasm_put(Dst, 13365, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2639 dasm_put(Dst, 13439, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2641 dasm_put(Dst, 13441, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2640 dasm_put(Dst, 13527, 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)); 2642 dasm_put(Dst, 13529, 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));
2641 break; 2643 break;
2642 case BC_TSETB: 2644 case BC_TSETB:
2643 dasm_put(Dst, 13618, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2645 dasm_put(Dst, 13620, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2644 dasm_put(Dst, 13712, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2646 dasm_put(Dst, 13714, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2645 break; 2647 break;
2646 2648
2647 case BC_TSETM: 2649 case BC_TSETM:
2648 dasm_put(Dst, 13758, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2650 dasm_put(Dst, 13760, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2649 dasm_put(Dst, 13901, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2651 dasm_put(Dst, 13903, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2650 break; 2652 break;
2651 2653
2652 /* -- Calls and vararg handling ----------------------------------------- */ 2654 /* -- Calls and vararg handling ----------------------------------------- */
2653 2655
2654 case BC_CALL: case BC_CALLM: 2656 case BC_CALL: case BC_CALLM:
2655 dasm_put(Dst, 11096); 2657 dasm_put(Dst, 11098);
2656 if (op == BC_CALLM) { 2658 if (op == BC_CALLM) {
2657 dasm_put(Dst, 13919); 2659 dasm_put(Dst, 13921);
2658 } 2660 }
2659 dasm_put(Dst, 13924, LJ_TFUNC, Dt7(->pc)); 2661 dasm_put(Dst, 13926, LJ_TFUNC, Dt7(->pc));
2660 break; 2662 break;
2661 2663
2662 case BC_CALLMT: 2664 case BC_CALLMT:
2663 dasm_put(Dst, 13919); 2665 dasm_put(Dst, 13921);
2664 break; 2666 break;
2665 case BC_CALLT: 2667 case BC_CALLT:
2666 dasm_put(Dst, 13966, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2668 dasm_put(Dst, 13968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2667 dasm_put(Dst, 14081, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2669 dasm_put(Dst, 14083, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2668 break; 2670 break;
2669 2671
2670 case BC_ITERC: 2672 case BC_ITERC:
2671 dasm_put(Dst, 14152, LJ_TFUNC, 2+1, Dt7(->pc)); 2673 dasm_put(Dst, 14154, LJ_TFUNC, 2+1, Dt7(->pc));
2672 break; 2674 break;
2673 2675
2674 case BC_ITERN: 2676 case BC_ITERN:
2675#if LJ_HASJIT 2677#if LJ_HASJIT
2676#endif 2678#endif
2677 dasm_put(Dst, 14223, Dt6(->asize), Dt6(->array), LJ_TNIL); 2679 dasm_put(Dst, 14225, Dt6(->asize), Dt6(->array), LJ_TNIL);
2678 if (LJ_DUALNUM) { 2680 if (LJ_DUALNUM) {
2679 dasm_put(Dst, 10996, LJ_TISNUM); 2681 dasm_put(Dst, 10998, LJ_TISNUM);
2680 } else if (sse) { 2682 } else if (sse) {
2681 dasm_put(Dst, 11073); 2683 dasm_put(Dst, 11075);
2682 } else { 2684 } else {
2683 dasm_put(Dst, 14269); 2685 dasm_put(Dst, 14271);
2684 } 2686 }
2685 dasm_put(Dst, 14275); 2687 dasm_put(Dst, 14277);
2686 if (LJ_DUALNUM) { 2688 if (LJ_DUALNUM) {
2687 } else if (sse) { 2689 } else if (sse) {
2688 dasm_put(Dst, 10961); 2690 dasm_put(Dst, 10963);
2689 } else { 2691 } else {
2690 dasm_put(Dst, 10973); 2692 dasm_put(Dst, 10975);
2691 } 2693 }
2692 dasm_put(Dst, 14288, -BCBIAS_J*4); 2694 dasm_put(Dst, 14290, -BCBIAS_J*4);
2693 if (!LJ_DUALNUM && !sse) { 2695 if (!LJ_DUALNUM && !sse) {
2694 dasm_put(Dst, 14340); 2696 dasm_put(Dst, 14342);
2695 } 2697 }
2696 dasm_put(Dst, 14346, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2698 dasm_put(Dst, 14348, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2697 break; 2699 break;
2698 2700
2699 case BC_ISNEXT: 2701 case BC_ISNEXT:
2700 dasm_put(Dst, 14418, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2702 dasm_put(Dst, 14420, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2701 break; 2703 break;
2702 2704
2703 case BC_VARG: 2705 case BC_VARG:
2704 dasm_put(Dst, 14518, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2706 dasm_put(Dst, 14520, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2705 dasm_put(Dst, 14678, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2707 dasm_put(Dst, 14680, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2706 break; 2708 break;
2707 2709
2708 /* -- Returns ----------------------------------------------------------- */ 2710 /* -- Returns ----------------------------------------------------------- */
2709 2711
2710 case BC_RETM: 2712 case BC_RETM:
2711 dasm_put(Dst, 13919); 2713 dasm_put(Dst, 13921);
2712 break; 2714 break;
2713 2715
2714 case BC_RET: case BC_RET0: case BC_RET1: 2716 case BC_RET: case BC_RET0: case BC_RET1:
2715 if (op != BC_RET0) { 2717 if (op != BC_RET0) {
2716 dasm_put(Dst, 14744); 2718 dasm_put(Dst, 14746);
2717 } 2719 }
2718 dasm_put(Dst, 14748, FRAME_TYPE); 2720 dasm_put(Dst, 14750, FRAME_TYPE);
2719 switch (op) { 2721 switch (op) {
2720 case BC_RET: 2722 case BC_RET:
2721 dasm_put(Dst, 14767); 2723 dasm_put(Dst, 14769);
2722 break; 2724 break;
2723 case BC_RET1: 2725 case BC_RET1:
2724 dasm_put(Dst, 14819); 2726 dasm_put(Dst, 14821);
2725 /* fallthrough */ 2727 /* fallthrough */
2726 case BC_RET0: 2728 case BC_RET0:
2727 dasm_put(Dst, 14829); 2729 dasm_put(Dst, 14831);
2728 default: 2730 default:
2729 break; 2731 break;
2730 } 2732 }
2731 dasm_put(Dst, 14840, Dt7(->pc), PC2PROTO(k)); 2733 dasm_put(Dst, 14842, Dt7(->pc), PC2PROTO(k));
2732 if (op == BC_RET) { 2734 if (op == BC_RET) {
2733 dasm_put(Dst, 14884, LJ_TNIL); 2735 dasm_put(Dst, 14886, LJ_TNIL);
2734 } else { 2736 } else {
2735 dasm_put(Dst, 14893, LJ_TNIL); 2737 dasm_put(Dst, 14895, LJ_TNIL);
2736 } 2738 }
2737 dasm_put(Dst, 14900, -FRAME_VARG, FRAME_TYPEP); 2739 dasm_put(Dst, 14902, -FRAME_VARG, FRAME_TYPEP);
2738 if (op != BC_RET0) { 2740 if (op != BC_RET0) {
2739 dasm_put(Dst, 14924); 2741 dasm_put(Dst, 14926);
2740 } 2742 }
2741 dasm_put(Dst, 4646); 2743 dasm_put(Dst, 4648);
2742 break; 2744 break;
2743 2745
2744 /* -- Loops and branches ------------------------------------------------ */ 2746 /* -- Loops and branches ------------------------------------------------ */
@@ -2746,7 +2748,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2746 2748
2747 case BC_FORL: 2749 case BC_FORL:
2748#if LJ_HASJIT 2750#if LJ_HASJIT
2749 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2751 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2750#endif 2752#endif
2751 break; 2753 break;
2752 2754
@@ -2758,111 +2760,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2758 case BC_FORI: 2760 case BC_FORI:
2759 case BC_IFORL: 2761 case BC_IFORL:
2760 vk = (op == BC_IFORL || op == BC_JFORL); 2762 vk = (op == BC_IFORL || op == BC_JFORL);
2761 dasm_put(Dst, 14949); 2763 dasm_put(Dst, 14951);
2762 if (LJ_DUALNUM) { 2764 if (LJ_DUALNUM) {
2763 dasm_put(Dst, 14953, LJ_TISNUM); 2765 dasm_put(Dst, 14955, LJ_TISNUM);
2764 if (!vk) { 2766 if (!vk) {
2765 dasm_put(Dst, 14963, LJ_TISNUM, LJ_TISNUM); 2767 dasm_put(Dst, 14965, LJ_TISNUM, LJ_TISNUM);
2766 } else { 2768 } else {
2767#ifdef LUA_USE_ASSERT 2769#ifdef LUA_USE_ASSERT
2768 dasm_put(Dst, 14992, LJ_TISNUM, LJ_TISNUM); 2770 dasm_put(Dst, 14994, LJ_TISNUM, LJ_TISNUM);
2769#endif 2771#endif
2770 dasm_put(Dst, 15011); 2772 dasm_put(Dst, 15013);
2771 } 2773 }
2772 dasm_put(Dst, 15030, LJ_TISNUM); 2774 dasm_put(Dst, 15032, LJ_TISNUM);
2773 if (op == BC_FORI) { 2775 if (op == BC_FORI) {
2774 dasm_put(Dst, 15041, -BCBIAS_J*4); 2776 dasm_put(Dst, 15043, -BCBIAS_J*4);
2775 } else if (op == BC_JFORI) { 2777 } else if (op == BC_JFORI) {
2776 dasm_put(Dst, 15055, -BCBIAS_J*4, BC_JLOOP); 2778 dasm_put(Dst, 15057, -BCBIAS_J*4, BC_JLOOP);
2777 } else if (op == BC_IFORL) { 2779 } else if (op == BC_IFORL) {
2778 dasm_put(Dst, 15073, -BCBIAS_J*4); 2780 dasm_put(Dst, 15075, -BCBIAS_J*4);
2779 } else { 2781 } else {
2780 dasm_put(Dst, 15065, BC_JLOOP); 2782 dasm_put(Dst, 15067, BC_JLOOP);
2781 } 2783 }
2782 dasm_put(Dst, 15087); 2784 dasm_put(Dst, 15089);
2783 if (vk) { 2785 if (vk) {
2784 dasm_put(Dst, 15111); 2786 dasm_put(Dst, 15113);
2785 } 2787 }
2786 dasm_put(Dst, 15030, LJ_TISNUM); 2788 dasm_put(Dst, 15032, LJ_TISNUM);
2787 if (op == BC_FORI) { 2789 if (op == BC_FORI) {
2788 dasm_put(Dst, 15120); 2790 dasm_put(Dst, 15122);
2789 } else if (op == BC_JFORI) { 2791 } else if (op == BC_JFORI) {
2790 dasm_put(Dst, 15125, -BCBIAS_J*4, BC_JLOOP); 2792 dasm_put(Dst, 15127, -BCBIAS_J*4, BC_JLOOP);
2791 } else if (op == BC_IFORL) { 2793 } else if (op == BC_IFORL) {
2792 dasm_put(Dst, 15139); 2794 dasm_put(Dst, 15141);
2793 } else { 2795 } else {
2794 dasm_put(Dst, 15135, BC_JLOOP); 2796 dasm_put(Dst, 15137, BC_JLOOP);
2795 } 2797 }
2796 dasm_put(Dst, 15144); 2798 dasm_put(Dst, 15146);
2797 } else if (!vk) { 2799 } else if (!vk) {
2798 dasm_put(Dst, 15151, LJ_TISNUM); 2800 dasm_put(Dst, 15153, LJ_TISNUM);
2799 } 2801 }
2800 if (!vk) { 2802 if (!vk) {
2801 dasm_put(Dst, 15157, LJ_TISNUM); 2803 dasm_put(Dst, 15159, LJ_TISNUM);
2802 } else { 2804 } else {
2803#ifdef LUA_USE_ASSERT 2805#ifdef LUA_USE_ASSERT
2804 dasm_put(Dst, 15171, LJ_TISNUM, LJ_TISNUM); 2806 dasm_put(Dst, 15173, LJ_TISNUM, LJ_TISNUM);
2805#endif 2807#endif
2806 } 2808 }
2807 dasm_put(Dst, 15190); 2809 dasm_put(Dst, 15192);
2808 if (!vk) { 2810 if (!vk) {
2809 dasm_put(Dst, 15194, LJ_TISNUM); 2811 dasm_put(Dst, 15196, LJ_TISNUM);
2810 } 2812 }
2811 if (sse) { 2813 if (sse) {
2812 dasm_put(Dst, 15203); 2814 dasm_put(Dst, 15205);
2813 if (vk) { 2815 if (vk) {
2814 dasm_put(Dst, 15215); 2816 dasm_put(Dst, 15217);
2815 } else { 2817 } else {
2816 dasm_put(Dst, 15234); 2818 dasm_put(Dst, 15236);
2817 } 2819 }
2818 dasm_put(Dst, 15239); 2820 dasm_put(Dst, 15241);
2819 } else { 2821 } else {
2820 dasm_put(Dst, 15252); 2822 dasm_put(Dst, 15254);
2821 if (vk) { 2823 if (vk) {
2822 dasm_put(Dst, 15258); 2824 dasm_put(Dst, 15260);
2823 } else { 2825 } else {
2824 dasm_put(Dst, 15274); 2826 dasm_put(Dst, 15276);
2825 } 2827 }
2826 dasm_put(Dst, 15282); 2828 dasm_put(Dst, 15284);
2827 if (cmov) { 2829 if (cmov) {
2828 dasm_put(Dst, 10060); 2830 dasm_put(Dst, 10062);
2829 } else { 2831 } else {
2830 dasm_put(Dst, 10066); 2832 dasm_put(Dst, 10068);
2831 } 2833 }
2832 if (!cmov) { 2834 if (!cmov) {
2833 dasm_put(Dst, 15287); 2835 dasm_put(Dst, 15289);
2834 } 2836 }
2835 } 2837 }
2836 if (op == BC_FORI) { 2838 if (op == BC_FORI) {
2837 if (LJ_DUALNUM) { 2839 if (LJ_DUALNUM) {
2838 dasm_put(Dst, 15293); 2840 dasm_put(Dst, 15295);
2839 } else { 2841 } else {
2840 dasm_put(Dst, 15298, -BCBIAS_J*4); 2842 dasm_put(Dst, 15300, -BCBIAS_J*4);
2841 } 2843 }
2842 } else if (op == BC_JFORI) { 2844 } else if (op == BC_JFORI) {
2843 dasm_put(Dst, 15308, -BCBIAS_J*4, BC_JLOOP); 2845 dasm_put(Dst, 15310, -BCBIAS_J*4, BC_JLOOP);
2844 } else if (op == BC_IFORL) { 2846 } else if (op == BC_IFORL) {
2845 if (LJ_DUALNUM) { 2847 if (LJ_DUALNUM) {
2846 dasm_put(Dst, 15322); 2848 dasm_put(Dst, 15324);
2847 } else { 2849 } else {
2848 dasm_put(Dst, 15327, -BCBIAS_J*4); 2850 dasm_put(Dst, 15329, -BCBIAS_J*4);
2849 } 2851 }
2850 } else { 2852 } else {
2851 dasm_put(Dst, 15318, BC_JLOOP); 2853 dasm_put(Dst, 15320, BC_JLOOP);
2852 } 2854 }
2853 if (LJ_DUALNUM) { 2855 if (LJ_DUALNUM) {
2854 dasm_put(Dst, 9989); 2856 dasm_put(Dst, 9991);
2855 } else { 2857 } else {
2856 dasm_put(Dst, 10746); 2858 dasm_put(Dst, 10748);
2857 } 2859 }
2858 if (sse) { 2860 if (sse) {
2859 dasm_put(Dst, 15337); 2861 dasm_put(Dst, 15339);
2860 } 2862 }
2861 break; 2863 break;
2862 2864
2863 case BC_ITERL: 2865 case BC_ITERL:
2864#if LJ_HASJIT 2866#if LJ_HASJIT
2865 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2867 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2866#endif 2868#endif
2867 break; 2869 break;
2868 2870
@@ -2871,33 +2873,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2871 break; 2873 break;
2872#endif 2874#endif
2873 case BC_IITERL: 2875 case BC_IITERL:
2874 dasm_put(Dst, 15348, LJ_TNIL); 2876 dasm_put(Dst, 15350, LJ_TNIL);
2875 if (op == BC_JITERL) { 2877 if (op == BC_JITERL) {
2876 dasm_put(Dst, 15363, BC_JLOOP); 2878 dasm_put(Dst, 15365, BC_JLOOP);
2877 } else { 2879 } else {
2878 dasm_put(Dst, 15377, -BCBIAS_J*4); 2880 dasm_put(Dst, 15379, -BCBIAS_J*4);
2879 } 2881 }
2880 dasm_put(Dst, 10103); 2882 dasm_put(Dst, 10105);
2881 break; 2883 break;
2882 2884
2883 case BC_LOOP: 2885 case BC_LOOP:
2884#if LJ_HASJIT 2886#if LJ_HASJIT
2885 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2887 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2886#endif 2888#endif
2887 break; 2889 break;
2888 2890
2889 case BC_ILOOP: 2891 case BC_ILOOP:
2890 dasm_put(Dst, 10105); 2892 dasm_put(Dst, 10107);
2891 break; 2893 break;
2892 2894
2893 case BC_JLOOP: 2895 case BC_JLOOP:
2894#if LJ_HASJIT 2896#if LJ_HASJIT
2895 dasm_put(Dst, 15393, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2897 dasm_put(Dst, 15395, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2896#endif 2898#endif
2897 break; 2899 break;
2898 2900
2899 case BC_JMP: 2901 case BC_JMP:
2900 dasm_put(Dst, 15502, -BCBIAS_J*4); 2902 dasm_put(Dst, 15504, -BCBIAS_J*4);
2901 break; 2903 break;
2902 2904
2903 /* -- Function headers -------------------------------------------------- */ 2905 /* -- Function headers -------------------------------------------------- */
@@ -2911,7 +2913,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2911 2913
2912 case BC_FUNCF: 2914 case BC_FUNCF:
2913#if LJ_HASJIT 2915#if LJ_HASJIT
2914 dasm_put(Dst, 15527, HOTCOUNT_PCMASK, GG_DISP2HOT); 2916 dasm_put(Dst, 15529, HOTCOUNT_PCMASK, GG_DISP2HOT);
2915#endif 2917#endif
2916 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2918 case BC_FUNCV: /* NYI: compiled vararg functions. */
2917 break; 2919 break;
@@ -2921,47 +2923,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2921 break; 2923 break;
2922#endif 2924#endif
2923 case BC_IFUNCF: 2925 case BC_IFUNCF:
2924 dasm_put(Dst, 15548, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2926 dasm_put(Dst, 15550, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2925 if (op == BC_JFUNCF) { 2927 if (op == BC_JFUNCF) {
2926 dasm_put(Dst, 15578, BC_JLOOP); 2928 dasm_put(Dst, 15580, BC_JLOOP);
2927 } else { 2929 } else {
2928 dasm_put(Dst, 10105); 2930 dasm_put(Dst, 10107);
2929 } 2931 }
2930 dasm_put(Dst, 15587, LJ_TNIL); 2932 dasm_put(Dst, 15589, LJ_TNIL);
2931 break; 2933 break;
2932 2934
2933 case BC_JFUNCV: 2935 case BC_JFUNCV:
2934#if !LJ_HASJIT 2936#if !LJ_HASJIT
2935 break; 2937 break;
2936#endif 2938#endif
2937 dasm_put(Dst, 9250); 2939 dasm_put(Dst, 9252);
2938 break; /* NYI: compiled vararg functions. */ 2940 break; /* NYI: compiled vararg functions. */
2939 2941
2940 case BC_IFUNCV: 2942 case BC_IFUNCV:
2941 dasm_put(Dst, 15609, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2943 dasm_put(Dst, 15611, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2942 if (op == BC_JFUNCV) { 2944 if (op == BC_JFUNCV) {
2943 dasm_put(Dst, 15578, BC_JLOOP); 2945 dasm_put(Dst, 15580, BC_JLOOP);
2944 } else { 2946 } else {
2945 dasm_put(Dst, 15700, -4+PC2PROTO(k)); 2947 dasm_put(Dst, 15702, -4+PC2PROTO(k));
2946 } 2948 }
2947 dasm_put(Dst, 15723, LJ_TNIL); 2949 dasm_put(Dst, 15725, LJ_TNIL);
2948 break; 2950 break;
2949 2951
2950 case BC_FUNCC: 2952 case BC_FUNCC:
2951 case BC_FUNCCW: 2953 case BC_FUNCCW:
2952 dasm_put(Dst, 15745, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2954 dasm_put(Dst, 15747, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2953 if (op == BC_FUNCC) { 2955 if (op == BC_FUNCC) {
2954 dasm_put(Dst, 2310); 2956 dasm_put(Dst, 2312);
2955 } else { 2957 } else {
2956 dasm_put(Dst, 15775); 2958 dasm_put(Dst, 15777);
2957 } 2959 }
2958 dasm_put(Dst, 15783, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2960 dasm_put(Dst, 15785, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2959 if (op == BC_FUNCC) { 2961 if (op == BC_FUNCC) {
2960 dasm_put(Dst, 15792); 2962 dasm_put(Dst, 15794);
2961 } else { 2963 } else {
2962 dasm_put(Dst, 15796, DISPATCH_GL(wrapf)); 2964 dasm_put(Dst, 15798, DISPATCH_GL(wrapf));
2963 } 2965 }
2964 dasm_put(Dst, 15801, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2966 dasm_put(Dst, 15803, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2965 break; 2967 break;
2966 2968
2967 /* ---------------------------------------------------------------------- */ 2969 /* ---------------------------------------------------------------------- */
@@ -2989,7 +2991,7 @@ static int build_backend(BuildCtx *ctx)
2989 2991
2990 build_subroutines(ctx, cmov, sse); 2992 build_subroutines(ctx, cmov, sse);
2991 2993
2992 dasm_put(Dst, 15826); 2994 dasm_put(Dst, 15828);
2993 for (op = 0; op < BC__MAX; op++) 2995 for (op = 0; op < BC__MAX; op++)
2994 build_ins(ctx, (BCOp)op, op, cmov, sse); 2996 build_ins(ctx, (BCOp)op, op, cmov, sse);
2995 2997
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 6b2dc877..98998d83 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -530,6 +530,14 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
530 | mov dword GL:RB->vmstate, ~LJ_VMST_C 530 | mov dword GL:RB->vmstate, ~LJ_VMST_C
531 | jmp ->vm_leave_unw 531 | jmp ->vm_leave_unw
532 | 532 |
533 |->vm_unwind_rethrow:
534 |.if X64 and not X64WIN
535 | mov FCARG1, SAVE_L
536 | mov FCARG2, eax
537 | restoreregs
538 | jmp extern lj_err_throw@8 // (lua_State *L, int errcode)
539 |.endif
540 |
533 |->vm_unwind_ff@4: // Unwind C stack, return from ff pcall. 541 |->vm_unwind_ff@4: // Unwind C stack, return from ff pcall.
534 | // (void *cframe) 542 | // (void *cframe)
535 |.if X64 543 |.if X64
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
diff --git a/src/lj_err.c b/src/lj_err.c
index 7f9db600..f5d7b10d 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -577,6 +577,16 @@ LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions,
577 lj_vm_unwind_c_eh)); 577 lj_vm_unwind_c_eh));
578 return _URC_INSTALL_CONTEXT; 578 return _URC_INSTALL_CONTEXT;
579 } 579 }
580#if LJ_TARGET_X86ORX64
581 else if ((actions & _UA_HANDLER_FRAME)) {
582 /* Workaround for ancient libgcc bug. Still present in RHEL 5.5. :-/
583 ** Real fix: http://gcc.gnu.org/viewcvs/trunk/gcc/unwind-dw2.c?r1=121165&r2=124837&pathrev=153877&diff_format=h
584 */
585 _Unwind_SetGR(ctx, LJ_TARGET_EHRETREG, errcode);
586 _Unwind_SetIP(ctx, (_Unwind_Ptr)lj_vm_unwind_rethrow);
587 return _URC_INSTALL_CONTEXT;
588 }
589#endif
580#else 590#else
581 /* This is not the proper way to escape from the unwinder. We get away with 591 /* This is not the proper way to escape from the unwinder. We get away with
582 ** it on x86/PPC because the interpreter restores all callee-saved regs. 592 ** it on x86/PPC because the interpreter restores all callee-saved regs.
diff --git a/src/lj_vm.h b/src/lj_vm.h
index 1f9cf9b1..036ada7d 100644
--- a/src/lj_vm.h
+++ b/src/lj_vm.h
@@ -19,6 +19,9 @@ LJ_ASMF_NORET void LJ_FASTCALL lj_vm_unwind_c(void *cframe, int errcode);
19LJ_ASMF_NORET void LJ_FASTCALL lj_vm_unwind_ff(void *cframe); 19LJ_ASMF_NORET void LJ_FASTCALL lj_vm_unwind_ff(void *cframe);
20LJ_ASMF void lj_vm_unwind_c_eh(void); 20LJ_ASMF void lj_vm_unwind_c_eh(void);
21LJ_ASMF void lj_vm_unwind_ff_eh(void); 21LJ_ASMF void lj_vm_unwind_ff_eh(void);
22#if LJ_TARGET_X86ORX64
23LJ_ASMF void lj_vm_unwind_rethrow(void);
24#endif
22 25
23/* Miscellaneous functions. */ 26/* Miscellaneous functions. */
24#if LJ_TARGET_X86ORX64 27#if LJ_TARGET_X86ORX64