summaryrefslogtreecommitdiff
path: root/src/buildvm_x64.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64.h')
-rw-r--r--src/buildvm_x64.h2165
1 files changed, 1084 insertions, 1081 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