summaryrefslogtreecommitdiff
path: root/src/buildvm_x64win.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r--src/buildvm_x64win.h2120
1 files changed, 1061 insertions, 1059 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 7bed2e94..244225f3 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15828] = { 15static const unsigned char build_actionlist[15830] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, 17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, 18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
@@ -25,138 +25,138 @@ static const unsigned char build_actionlist[15828] = {
25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20, 25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
26 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232, 26 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232,
27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108, 27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108,
28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,225,239,72, 28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,72,129,225,
29 137,204,248,20,139,108,36,96,72,199,193,252,248,252,255,252,255,252,255,184, 29 239,72,137,204,248,21,255,139,108,36,96,72,199,193,252,248,252,255,252,255,
30 237,255,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252, 30 252,255,184,237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,
31 237,199,131,233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22, 31 252,252,237,199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,
32 131,232,8,252,233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233, 32 248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,
33 131,198,4,137,149,233,137,133,233,255,137,116,36,100,137,202,248,2,137,252, 33 233,131,198,4,137,149,233,255,137,133,233,137,116,36,100,137,202,248,2,137,
34 233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3, 34 252,233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,
35 131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255, 35 3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,
36 36,252,235,248,24,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137, 36 36,252,235,248,25,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137,
37 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189, 37 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189,
38 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15, 38 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15,
39 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193, 39 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193,
40 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,15,132, 40 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,255,15,
41 244,13,255,252,233,244,14,248,25,85,87,86,83,72,131,252,236,40,190,237,68, 41 132,244,13,252,233,244,14,248,26,85,87,86,83,72,131,252,236,40,190,237,68,
42 137,76,36,92,252,233,244,247,248,26,85,87,86,83,72,131,252,236,40,190,237, 42 137,76,36,92,252,233,244,247,248,27,85,87,86,83,72,131,252,236,40,190,237,
43 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137, 43 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137,
44 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248, 44 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248,
45 3,199,131,233,237,139,149,233,1,206,41,214,139,133,233,41,200,193,232,3,131, 45 3,199,131,233,237,139,149,233,255,1,206,41,214,139,133,233,41,200,193,232,
46 192,1,248,27,255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248, 46 3,131,192,1,248,28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,
47 29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131, 47 248,30,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,
48 198,4,252,255,36,252,235,248,30,85,87,86,83,72,131,252,236,40,137,205,137, 48 131,198,4,252,255,36,252,235,248,31,85,87,86,83,72,131,252,236,40,137,205,
49 76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,124, 49 137,76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,
50 36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,133, 50 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,
51 192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,252, 51 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,
52 248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,72, 52 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,
53 99,77,252,240,72,141,61,245,72,1,252,249,139,122,252,248,139,191,233,255, 53 72,99,77,252,240,72,141,61,245,255,72,1,252,249,139,122,252,248,139,191,233,
54 139,191,233,252,255,225,248,31,15,182,78,252,255,131,252,237,16,141,12,202, 54 139,191,233,252,255,225,248,32,15,182,78,252,255,131,252,237,16,141,12,202,
55 41,252,233,15,132,244,32,252,247,217,193,252,233,3,65,137,200,139,76,36,96, 55 41,252,233,15,132,244,33,252,247,217,193,252,233,3,65,137,200,139,76,36,96,
56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68, 56 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,34,248,35,137,68,
57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, 57 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,
58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70, 58 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,36,15,182,70,
59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15, 59 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15,
60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254, 60 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,37,15,182,70,252,254,
61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137, 61 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,
62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149, 62 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149,
63 233,133,192,15,132,244,249,248,32,15,182,78,252,253,72,139,40,72,137,44,202, 63 233,133,192,15,132,244,249,248,33,15,182,78,252,253,72,139,40,72,137,44,202,
64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, 64 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,
65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252, 65 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,
66 233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252, 66 233,244,30,248,38,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,
67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233, 67 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,
68 244,248,248,38,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248, 68 244,248,248,39,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248,
69 39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248, 69 40,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,
70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100, 70 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100,
71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44, 71 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44,
72 202,72,137,40,248,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 72 202,72,137,40,248,41,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139, 73 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139,
74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244, 74 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
75 29,248,41,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68, 75 30,248,42,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68,
76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252, 76 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252,
77 248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254, 77 248,1,15,135,244,43,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,
78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, 78 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
79 252,255,36,252,235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, 79 252,255,36,252,235,248,44,131,198,4,129,120,253,4,239,15,130,244,5,252,233,
80 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,65,137, 80 244,6,248,45,129,120,253,4,239,252,233,244,4,248,46,131,252,238,4,65,137,
81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137, 81 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137,
82 116,36,100,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36, 82 116,36,100,232,251,1,4,252,233,244,3,248,47,255,131,252,238,4,139,108,36,
83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252, 83 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252,
84 233,244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233, 84 233,244,3,255,248,48,255,15,182,110,252,255,255,248,49,141,4,199,252,233,
85 244,247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248, 85 244,247,248,50,255,248,51,141,4,199,141,44,252,234,149,252,233,244,248,248,
86 51,141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141, 86 52,141,4,194,137,197,252,233,244,248,248,53,255,248,54,141,4,194,248,1,141,
87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68, 87 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68,
88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251, 88 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,
89 1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244, 89 1,6,139,149,233,133,192,15,132,244,41,248,43,137,193,41,208,137,113,252,244,
90 141,176,233,184,237,252,233,244,27,248,54,139,108,36,96,137,149,233,141,20, 90 141,176,233,184,237,252,233,244,28,248,55,139,108,36,96,137,149,233,141,20,
91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248, 91 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,43,248,
92 55,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, 92 56,141,76,202,8,248,29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,
93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251, 93 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,
94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, 94 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,
95 15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, 95 15,132,244,57,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,
96 182,205,131,198,4,252,255,36,252,235,248,57,139,108,36,96,137,149,233,137, 96 182,205,131,198,4,252,255,36,252,235,248,58,139,108,36,96,137,149,233,137,
97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, 97 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15,
98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,58,129,252, 98 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,59,129,252,
99 248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114,252, 99 248,239,15,130,244,60,139,106,4,129,252,253,239,15,131,244,60,139,114,252,
100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132, 100 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,
101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15, 101 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,
102 133,244,1,248,2,255,139,68,36,84,252,233,244,60,248,61,129,252,248,239,15, 102 133,244,1,248,2,255,139,68,36,84,252,233,244,61,248,62,129,252,248,239,15,
103 130,244,59,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, 103 130,244,60,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,
104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, 104 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,
105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, 105 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,
106 252,252,237,137,66,252,248,252,233,244,62,248,3,184,237,252,233,244,2,248, 106 252,252,237,137,66,252,248,252,233,244,63,248,3,184,237,252,233,244,2,248,
107 63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252,129,252,253,239, 107 64,129,252,248,239,15,130,244,60,139,106,4,139,114,252,252,129,252,253,239,
108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, 108 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,
109 237,255,15,132,244,62,139,131,233,199,66,252,252,237,137,106,252,248,139, 109 237,255,15,132,244,63,139,131,233,199,66,252,252,237,137,106,252,248,139,
110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, 110 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,
111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, 111 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,
112 252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244,62,139,1,137,106, 112 252,233,244,63,248,5,139,105,4,129,252,253,239,15,132,244,63,139,1,137,106,
113 252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15,132,244,1, 113 252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,132,244,1,
114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, 114 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171,
115 233,252,233,244,2,248,64,255,129,252,248,239,15,130,244,59,129,122,253,4, 115 233,252,233,244,2,248,65,255,129,252,248,239,15,130,244,60,129,122,253,4,
116 239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12,239,15, 116 239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,239,15,
117 133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, 117 133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106,
118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, 118 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233,
119 137,171,233,137,133,233,248,1,252,233,244,62,248,65,129,252,248,239,15,130, 119 137,171,233,137,133,233,248,1,252,233,244,63,248,66,129,252,248,239,15,130,
120 244,59,129,122,253,4,239,15,133,244,59,137,213,68,141,66,8,139,18,139,76, 120 244,60,129,122,253,4,239,15,133,244,60,137,213,68,141,66,8,139,18,139,76,
121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, 121 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248,
122 252,233,244,62,248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255, 122 252,233,244,63,248,67,129,252,248,239,15,133,244,60,129,122,253,4,239,255,
123 15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59, 123 15,133,244,247,139,42,252,233,244,68,248,1,15,135,244,60,255,15,131,244,60,
124 255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129, 124 255,252,242,15,16,2,252,233,244,69,255,221,2,252,233,244,70,255,248,71,129,
125 252,248,239,15,130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249, 125 252,248,239,15,130,244,60,139,114,252,252,129,122,253,4,239,15,133,244,249,
126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122, 126 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,63,248,3,129,122,
127 253,4,239,15,135,244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233, 127 253,4,239,15,135,244,60,131,187,233,0,15,133,244,60,139,171,233,59,171,233,
128 255,15,130,244,247,232,244,71,248,1,139,108,36,96,137,149,233,137,116,36, 128 255,15,130,244,247,232,244,72,248,1,139,108,36,96,137,149,233,137,116,36,
129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, 129 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,
130 244,2,248,72,129,252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253, 130 244,2,248,73,129,252,248,239,15,130,244,60,15,132,244,248,248,1,129,122,253,
131 4,239,15,133,244,59,139,108,36,96,137,149,233,137,149,233,139,114,252,252, 131 4,239,15,133,244,60,139,108,36,96,137,149,233,137,149,233,139,114,252,252,
132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133, 132 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133,
133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2, 133 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,
134 248,73,184,237,255,252,233,244,74,248,2,199,66,12,237,252,233,244,1,248,3, 134 248,74,184,237,255,252,233,244,75,248,2,199,66,12,237,252,233,244,1,248,3,
135 199,66,252,252,237,252,233,244,62,248,75,129,252,248,239,15,130,244,59,139, 135 199,66,252,252,237,252,233,244,63,248,76,129,252,248,239,15,130,244,60,139,
136 42,129,122,253,4,239,15,133,244,59,255,131,189,233,0,15,133,244,59,255,139, 136 42,129,122,253,4,239,15,133,244,60,255,131,189,233,0,15,133,244,60,255,139,
137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, 137 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
138 199,66,12,237,184,237,252,233,244,74,248,76,129,252,248,239,15,130,244,59, 138 199,66,12,237,184,237,252,233,244,75,248,77,129,252,248,239,15,130,244,60,
139 129,122,253,4,239,15,133,244,59,129,122,253,12,239,255,139,114,252,252,255, 139 129,122,253,4,239,15,133,244,60,129,122,253,12,239,255,139,114,252,252,255,
140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66, 140 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252, 141 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,
142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133, 142 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,
143 233,248,1,129,120,253,4,239,15,132,244,77,72,139,40,72,137,42,252,233,244, 143 233,248,1,129,120,253,4,239,15,132,244,78,72,139,40,72,137,42,252,233,244,
144 73,248,2,131,189,233,0,15,132,244,77,137,252,233,137,213,137,194,232,251, 144 74,248,2,131,189,233,0,15,132,244,78,137,252,233,137,213,137,194,232,251,
145 1,14,137,252,234,133,192,15,133,244,1,248,77,184,237,252,233,244,74,248,78, 145 1,14,137,252,234,133,192,15,133,244,1,248,78,184,237,252,233,244,75,248,79,
146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66, 146 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,
147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66, 147 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,
148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,74,248,79,129,252,248, 148 8,255,217,252,238,221,90,8,255,184,237,252,233,244,75,248,80,129,252,248,
149 239,15,130,244,59,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252, 149 239,15,130,244,60,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,
150 237,235,131,229,1,1,252,238,252,233,244,27,248,80,129,252,248,239,15,130, 150 237,235,131,229,1,1,252,238,252,233,244,28,248,81,129,252,248,239,15,130,
151 244,59,129,122,253,12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4, 151 244,60,129,122,253,12,239,15,133,244,60,255,139,106,4,137,106,12,199,66,4,
152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233, 152 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,
153 244,1,248,81,129,252,248,239,15,130,244,59,139,42,139,114,252,252,137,116, 153 244,1,248,82,129,252,248,239,15,130,244,60,139,42,139,114,252,252,137,116,
154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,59,72,131,189,233,0,15, 154 36,100,137,108,36,80,129,122,253,4,239,15,133,244,60,72,131,189,233,0,15,
155 133,244,59,128,189,233,235,15,135,244,59,139,141,233,15,132,244,247,255,59, 155 133,244,60,128,189,233,235,15,135,244,60,139,141,233,15,132,244,247,255,59,
156 141,233,15,132,244,59,248,1,141,116,193,252,240,59,181,233,15,135,244,59, 156 141,233,15,132,244,60,248,1,141,116,193,252,240,59,181,233,15,135,244,60,
157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232, 157 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232,
158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131, 158 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,
159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, 159 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,25,199,131,
160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, 160 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,
161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, 161 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,
162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205, 162 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,
@@ -165,220 +165,220 @@ static const unsigned char build_actionlist[15828] = {
165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14, 165 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,
166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72, 166 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,
167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137, 167 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,
168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,82,139,106, 168 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,83,139,106,
169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189, 169 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,
170 233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139,141,233,15,132, 170 233,0,15,133,244,60,255,128,189,233,235,15,135,244,60,139,141,233,15,132,
171 244,247,59,141,233,15,132,244,59,248,1,141,116,193,252,248,59,181,233,15, 171 244,247,59,141,233,15,132,244,60,248,1,141,116,193,252,248,59,181,233,15,
172 135,244,59,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194, 172 135,244,60,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,
173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137, 173 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,
174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232, 174 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,
175 244,24,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248, 175 244,25,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,
176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, 176 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,
177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255, 177 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,
178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133, 178 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,
179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198, 179 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198,
180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1, 180 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,
181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139, 181 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,
182 116,36,80,139,149,233,252,233,244,4,248,83,139,108,36,96,72,252,247,133,233, 182 116,36,80,139,149,233,252,233,244,4,248,84,139,108,36,96,72,252,247,133,233,
183 237,15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, 183 237,15,132,244,60,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,
184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139, 184 137,133,233,176,235,136,133,233,252,233,244,16,255,248,68,255,248,70,139,
185 114,252,252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130, 185 114,252,252,221,90,252,248,252,233,244,63,255,248,85,129,252,248,239,15,130,
186 244,59,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244, 186 244,60,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,
187 67,252,247,221,15,136,244,247,248,85,248,67,139,114,252,252,199,66,252,252, 187 68,252,247,221,15,136,244,247,248,86,248,68,139,114,252,252,199,66,252,252,
188 237,137,106,252,248,252,233,244,62,248,1,139,114,252,252,199,66,252,252,0, 188 237,137,106,252,248,252,233,244,63,248,1,139,114,252,252,199,66,252,252,0,
189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129, 189 0,224,65,199,66,252,248,0,0,0,0,252,233,244,63,248,2,15,135,244,60,255,129,
190 122,253,4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15, 190 122,253,4,239,15,131,244,60,255,252,242,15,16,2,72,184,237,237,102,72,15,
191 110,200,15,84,193,248,68,139,114,252,252,252,242,15,17,66,252,248,255,221, 191 110,200,15,84,193,248,69,139,114,252,252,252,242,15,17,66,252,248,255,221,
192 2,217,225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237, 192 2,217,225,248,69,248,70,139,114,252,252,221,90,252,248,255,248,63,184,237,
193 248,74,137,68,36,84,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252, 193 248,75,137,68,36,84,248,61,252,247,198,237,15,133,244,253,248,5,56,70,252,
194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182, 194 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182,
195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252, 195 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252,
196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255, 196 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,
197 252,255,252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42, 197 252,255,252,233,244,14,248,87,255,129,122,253,4,239,15,133,244,247,139,42,
198 252,233,244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252, 198 252,233,244,68,248,1,15,135,244,60,255,252,242,15,16,2,232,244,88,255,252,
199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15, 199 242,15,45,232,129,252,253,0,0,0,128,15,133,244,68,252,242,15,42,205,102,15,
200 46,193,15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252, 200 46,193,15,138,244,69,15,132,244,68,255,221,2,232,244,88,255,248,89,255,252,
201 242,15,16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15, 201 242,15,16,2,232,244,90,255,221,2,232,244,90,255,248,91,129,252,248,239,15,
202 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68, 202 130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,81,2,252,233,244,69,
203 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, 203 255,248,91,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,
204 221,2,217,252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59, 204 221,2,217,252,250,252,233,244,70,255,248,92,129,252,248,239,15,130,244,60,
205 129,122,253,4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244, 205 129,122,253,4,239,15,131,244,60,217,252,237,221,2,217,252,241,252,233,244,
206 69,248,92,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217, 206 70,248,93,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,217,
207 252,236,221,2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130, 207 252,236,221,2,217,252,241,252,233,244,70,248,94,129,252,248,239,255,15,130,
208 244,59,129,122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248, 208 244,60,129,122,253,4,239,15,131,244,60,221,2,232,244,95,252,233,244,70,248,
209 95,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217, 209 96,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,
210 252,254,252,233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253, 210 252,254,252,233,244,70,248,97,129,252,248,239,255,15,130,244,60,129,122,253,
211 4,239,15,131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239, 211 4,239,15,131,244,60,221,2,217,252,255,252,233,244,70,248,98,129,252,248,239,
212 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252, 212 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,217,252,242,221,216,252,
213 233,244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15, 213 233,244,70,248,99,129,252,248,239,15,130,244,60,255,129,122,253,4,239,15,
214 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243, 214 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,
215 252,233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15, 215 252,233,244,70,248,100,129,252,248,239,15,130,244,60,129,122,253,4,239,15,
216 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, 216 131,244,60,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,
217 252,243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253, 217 252,243,252,233,244,70,248,101,129,252,248,239,15,130,244,60,129,122,253,
218 4,239,15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248, 218 4,239,15,131,244,60,255,221,2,217,232,217,252,243,252,233,244,70,255,248,
219 101,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242, 219 102,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,
220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129, 220 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,103,129,
221 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, 221 252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,
222 255,137,213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248, 222 255,137,213,232,251,1,17,137,252,234,252,233,244,69,255,248,104,129,252,248,
223 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137, 223 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,137,
224 213,232,251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248, 224 213,232,251,1,18,137,252,234,252,233,244,69,248,105,255,248,106,129,252,248,
225 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106, 225 239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,139,106,
226 252,248,252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239, 226 252,248,252,242,15,89,133,233,252,233,244,69,255,248,106,129,252,248,239,
227 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141, 227 15,130,244,60,129,122,253,4,239,15,131,244,60,221,2,139,106,252,248,220,141,
228 233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253, 228 233,252,233,244,70,255,248,107,129,252,248,239,15,130,244,60,129,122,253,
229 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252, 229 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,221,2,221,66,8,217,252,
230 243,252,233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239, 230 243,252,233,244,70,248,108,129,252,248,239,15,130,244,60,129,122,253,4,239,
231 15,131,244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252, 231 15,131,244,60,129,122,253,12,239,255,15,131,244,60,221,66,8,221,2,217,252,
232 253,221,217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106, 232 253,221,217,252,233,244,70,248,109,129,252,248,239,15,130,244,60,139,106,
233 4,129,252,253,239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137, 233 4,129,252,253,239,15,131,244,60,139,114,252,252,139,2,137,106,252,252,137,
234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132, 234 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,
235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252, 235 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,
236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139, 236 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,
237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252, 237 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,
238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3, 238 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,75,248,3,
239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252, 239 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,
240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15, 240 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,
241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, 241 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248,
242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252, 242 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,110,129,252,
243 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255, 243 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,252,242,15,16,2,255,
244 248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221, 244 248,110,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,221,
245 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, 245 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132,
246 244,250,255,15,40,224,232,244,110,252,242,15,92,224,248,1,252,242,15,17,66, 246 244,250,255,15,40,224,232,244,111,252,242,15,92,224,248,1,252,242,15,17,66,
247 252,248,252,242,15,17,34,255,217,192,232,244,110,220,252,233,248,1,221,90, 247 252,248,252,242,15,17,34,255,217,192,232,244,111,220,252,233,248,1,221,90,
248 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, 248 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,
249 237,252,233,244,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, 249 237,252,233,244,75,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,
250 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, 250 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248,
251 111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, 251 112,129,252,248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,
252 253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223,224,158,15, 252 253,12,239,15,131,244,60,221,66,8,221,2,248,1,217,252,248,223,224,158,15,
253 138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15,130,244,59, 253 138,244,1,221,217,252,233,244,70,255,248,113,129,252,248,239,15,130,244,60,
254 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242, 254 129,122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,
255 15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248,112,129,252, 255 15,16,2,252,242,15,16,74,8,232,244,114,252,233,244,69,255,248,113,129,252,
256 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239, 256 248,239,15,130,244,60,129,122,253,4,239,15,131,244,60,129,122,253,12,239,
257 15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248,114,185,2, 257 15,131,244,60,221,2,221,66,8,232,244,114,252,233,244,70,255,248,115,185,2,
258 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, 258 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,
259 67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, 259 68,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108,
260 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,252,233,244,252, 260 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,60,255,252,233,244,252,
261 248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124, 261 248,4,15,135,244,60,255,252,242,15,16,2,248,5,57,193,15,131,244,69,129,124,
262 253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15,42,76,202, 262 253,202,252,252,239,255,15,130,244,252,15,135,244,60,252,242,15,42,76,202,
263 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, 263 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,
264 242,15,93,193,131,193,1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253, 264 242,15,93,193,131,193,1,252,233,244,5,255,248,116,185,2,0,0,0,129,122,253,
265 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202, 265 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,68,129,124,253,202,
266 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, 266 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,
267 1,252,233,244,1,248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248, 267 1,252,233,244,1,248,3,15,135,244,60,255,248,6,252,242,15,16,76,202,252,248,
268 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, 268 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,
269 244,59,255,248,116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133, 269 244,60,255,248,117,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,
270 244,59,139,42,255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252, 270 244,60,139,42,255,139,173,233,252,233,244,68,255,252,242,15,42,133,233,252,
271 233,244,68,255,219,133,233,252,233,244,69,255,248,117,129,252,248,239,15, 271 233,244,69,255,219,133,233,252,233,244,70,255,248,118,129,252,248,239,15,
272 133,244,59,129,122,253,4,239,15,133,244,59,139,42,139,114,252,252,131,189, 272 133,244,60,129,122,253,4,239,15,133,244,60,139,42,139,114,252,252,131,189,
273 233,1,15,130,244,77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255, 273 233,1,15,130,244,78,15,182,173,233,255,252,242,15,42,197,252,233,244,69,255,
274 137,108,36,80,219,68,36,80,252,233,244,69,255,248,118,139,171,233,59,171, 274 137,108,36,80,219,68,36,80,252,233,244,70,255,248,119,139,171,233,59,171,
275 233,15,130,244,247,232,244,71,248,1,129,252,248,239,15,133,244,59,129,122, 275 233,15,130,244,247,232,244,72,248,1,129,252,248,239,15,133,244,60,129,122,
276 253,4,239,255,15,133,244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59, 276 253,4,239,255,15,133,244,60,139,42,129,252,253,252,255,0,0,0,15,135,244,60,
277 137,108,36,84,255,15,131,244,59,252,242,15,44,42,129,252,253,252,255,0,0, 277 137,108,36,84,255,15,131,244,60,252,242,15,44,42,129,252,253,252,255,0,0,
278 0,15,135,244,59,137,108,36,84,255,15,131,244,59,221,2,219,92,36,84,129,124, 278 0,15,135,244,60,137,108,36,84,255,15,131,244,60,221,2,219,92,36,84,129,124,
279 36,84,252,255,0,0,0,15,135,244,59,255,199,68,36,32,1,0,0,0,72,141,68,36,84, 279 36,84,252,255,0,0,0,15,135,244,60,255,199,68,36,32,1,0,0,0,72,141,68,36,84,
280 248,119,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, 280 248,120,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233,
281 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, 281 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237,
282 137,66,252,248,252,233,244,62,248,120,139,171,233,59,171,233,15,130,244,247, 282 137,66,252,248,252,233,244,63,248,121,139,171,233,59,171,233,15,130,244,247,
283 232,244,71,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, 283 232,244,72,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248,
284 239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15,133,244,59,139, 284 239,15,130,244,60,15,134,244,247,129,122,253,20,239,255,15,133,244,60,139,
285 106,16,137,108,36,84,255,15,131,244,59,252,242,15,44,106,16,137,108,36,84, 285 106,16,137,108,36,84,255,15,131,244,60,252,242,15,44,106,16,137,108,36,84,
286 255,15,131,244,59,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, 286 255,15,131,244,60,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133,
287 244,59,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, 287 244,60,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74,
288 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, 288 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133,
289 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,121,141,172,253, 289 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,122,141,172,253,
290 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,119,248,5,15,140, 290 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,120,248,5,15,140,
291 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, 291 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,
292 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, 292 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,
293 3,248,121,49,192,252,233,244,4,248,122,129,252,248,239,15,130,244,59,139, 293 3,248,122,49,192,252,233,244,4,248,123,129,252,248,239,15,130,244,60,139,
294 171,233,59,171,233,15,130,244,247,232,244,71,248,1,255,129,122,253,4,239, 294 171,233,59,171,233,15,130,244,247,232,244,72,248,1,255,129,122,253,4,239,
295 15,133,244,59,129,122,253,12,239,139,42,255,15,133,244,59,139,66,8,255,15, 295 15,133,244,60,129,122,253,12,239,139,42,255,15,133,244,60,139,66,8,255,15,
296 131,244,59,252,242,15,44,66,8,255,15,131,244,59,221,66,8,219,92,36,84,139, 296 131,244,60,252,242,15,44,66,8,255,15,131,244,60,221,66,8,219,92,36,84,139,
297 68,36,84,255,133,192,15,142,244,121,131,189,233,1,15,130,244,121,15,133,244, 297 68,36,84,255,133,192,15,142,244,122,131,189,233,1,15,130,244,122,15,133,244,
298 123,57,131,233,15,130,244,123,15,182,141,233,139,171,233,137,68,36,32,248, 298 124,57,131,233,15,130,244,124,15,182,141,233,139,171,233,137,68,36,32,248,
299 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,119,248, 299 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,120,248,
300 124,129,252,248,239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247, 300 125,129,252,248,239,255,15,130,244,60,139,171,233,59,171,233,15,130,244,247,
301 232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192, 301 232,244,72,248,1,129,122,253,4,239,15,133,244,60,139,42,139,133,233,133,192,
302 15,132,244,121,57,131,233,15,130,244,125,129,197,239,137,116,36,84,137,68, 302 15,132,244,122,57,131,233,15,130,244,126,129,197,239,137,116,36,84,137,68,
303 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, 303 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,
304 244,1,137,252,240,139,116,36,84,252,233,244,119,248,126,129,252,248,239,15, 304 244,1,137,252,240,139,116,36,84,252,233,244,120,248,127,129,252,248,239,15,
305 130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248,1,129,122, 305 130,244,60,139,171,233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,
306 253,4,239,15,133,244,59,139,42,139,133,233,57,131,233,255,15,130,244,125, 306 253,4,239,15,133,244,60,139,42,139,133,233,57,131,233,255,15,130,244,126,
307 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, 307 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
308 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, 308 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,
309 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, 309 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,
310 116,36,84,252,233,244,119,248,127,129,252,248,239,15,130,244,59,255,139,171, 310 116,36,84,252,233,244,120,248,128,129,252,248,239,15,130,244,60,255,139,171,
311 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, 311 233,59,171,233,15,130,244,247,232,244,72,248,1,129,122,253,4,239,15,133,244,
312 59,139,42,139,133,233,57,131,233,15,130,244,125,129,197,239,137,116,36,84, 312 60,139,42,139,133,233,57,131,233,15,130,244,126,129,197,239,137,116,36,84,
313 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, 313 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,
314 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, 314 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,
315 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, 315 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,
316 119,248,128,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59, 316 120,248,129,129,252,248,239,15,130,244,60,129,122,253,4,239,15,133,244,60,
317 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,67,255,252, 317 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,68,255,252,
318 242,15,42,192,252,233,244,68,255,248,129,129,122,253,4,239,255,15,133,244, 318 242,15,42,192,252,233,244,69,255,248,130,129,122,253,4,239,255,15,133,244,
319 247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242,15,16,2,72,189, 319 247,139,42,252,233,244,86,248,1,15,135,244,60,255,252,242,15,16,2,72,189,
320 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244, 320 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244,
321 85,255,248,130,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0, 321 86,255,248,131,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0,
322 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,59,255, 322 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,60,255,
323 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, 323 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
324 68,194,252,240,248,1,57,208,15,134,244,85,129,120,253,4,239,255,15,133,244, 324 68,194,252,240,248,1,57,208,15,134,244,86,129,120,253,4,239,255,15,133,244,
325 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,15,131,244,131, 325 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,132,255,15,131,244,132,
326 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8, 326 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,
327 252,233,244,1,248,132,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248, 327 252,233,244,1,248,133,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248,
328 2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205, 328 2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,
329 255,131,232,8,252,233,244,1,248,133,255,15,133,244,248,51,40,131,232,8,252, 329 255,131,232,8,252,233,244,1,248,134,255,15,133,244,248,51,40,131,232,8,252,
330 233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102, 330 233,244,1,248,2,15,135,244,132,255,252,242,15,16,0,252,242,15,88,193,102,
331 15,126,193,49,205,255,131,232,8,252,233,244,1,248,134,129,122,253,4,239,255, 331 15,126,193,49,205,255,131,232,8,252,233,244,1,248,135,129,122,253,4,239,255,
332 248,2,15,205,252,233,244,85,248,135,129,122,253,4,239,255,248,2,252,247,213, 332 248,2,15,205,252,233,244,86,248,136,129,122,253,4,239,255,248,2,252,247,213,
333 255,248,85,252,242,15,42,197,252,233,244,68,255,248,131,139,68,36,84,252, 333 255,248,86,252,242,15,42,197,252,233,244,69,255,248,132,139,68,36,84,252,
334 233,244,59,255,248,136,129,122,253,4,239,255,248,2,129,122,253,12,239,15, 334 233,244,60,255,248,137,129,122,253,4,239,255,248,2,129,122,253,12,239,15,
335 133,244,59,139,74,8,255,248,136,129,252,248,239,15,130,244,59,129,122,253, 335 133,244,60,139,74,8,255,248,137,129,252,248,239,15,130,244,60,129,122,253,
336 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, 336 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,
337 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 337 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
338 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,85,255,248, 338 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,86,255,248,
339 137,129,122,253,4,239,255,248,137,129,252,248,239,15,130,244,59,129,122,253, 339 138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,60,129,122,253,
340 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, 340 4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,252,
341 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, 341 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,
342 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,85,255, 342 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,86,255,
343 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,59,129,122, 343 248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,60,129,122,
344 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, 344 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
345 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 345 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
346 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,85, 346 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,86,
347 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,59,129, 347 255,248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,60,129,
348 122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16, 348 122,253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,
349 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 349 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
350 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,85,255, 350 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,86,255,
351 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122, 351 248,141,129,122,253,4,239,255,248,141,129,252,248,239,15,130,244,60,129,122,
352 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, 352 253,4,239,15,131,244,60,129,122,253,12,239,15,131,244,60,252,242,15,16,2,
353 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, 353 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
354 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,85,248, 354 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,86,248,
355 123,184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,96,139,114,252, 355 124,184,237,252,233,244,60,248,126,184,237,248,60,139,108,36,96,139,114,252,
356 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233, 356 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,
357 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139, 357 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,
358 149,233,133,192,15,143,244,74,248,1,255,139,141,233,41,209,193,252,233,3, 358 149,233,133,192,15,143,244,75,248,1,255,139,141,233,41,209,193,252,233,3,
359 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182, 359 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,
360 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198, 360 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198,
361 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233, 361 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,
362 244,27,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,27,248,5, 362 244,28,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,
363 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,71,93, 363 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,72,93,
364 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194, 364 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194,
365 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208, 365 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,
366 193,232,3,131,192,1,72,139,108,36,32,85,195,248,141,255,15,182,131,233,168, 366 193,232,3,131,192,1,72,139,108,36,32,85,195,248,142,255,15,182,131,233,168,
367 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255, 367 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,
368 139,233,252,233,244,247,255,248,142,15,182,131,233,168,235,15,133,244,251, 368 139,233,252,233,244,247,255,248,143,15,182,131,233,168,235,15,133,244,251,
369 252,233,244,247,248,143,15,182,131,233,168,235,15,133,244,251,168,235,15, 369 252,233,244,247,248,144,15,182,131,233,168,235,15,133,244,251,168,235,15,
370 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255, 370 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,
371 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139, 371 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,
372 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254, 372 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,
373 252,255,164,253,252,235,233,248,144,131,198,4,139,77,232,137,76,36,84,252, 373 252,255,164,253,252,235,233,248,145,131,198,4,139,77,232,137,76,36,84,252,
374 233,244,4,248,145,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, 374 233,244,4,248,146,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,
375 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171, 375 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171,
376 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,146,137,116,36,100, 376 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,147,137,116,36,100,
377 255,248,147,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139, 377 255,248,148,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139,
378 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199, 378 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199,
379 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133, 379 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133,
380 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248, 380 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248,
381 148,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85, 381 149,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,
382 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117, 382 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,
383 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129, 383 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129,
384 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, 384 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,
@@ -389,7 +389,7 @@ static const unsigned char build_actionlist[15828] = {
389 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199, 389 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199,
390 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25, 390 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,
391 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233, 391 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233,
392 244,247,255,248,149,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233, 392 244,247,255,248,150,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,
393 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68, 393 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68,
394 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111, 394 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111,
395 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139, 395 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,
@@ -397,25 +397,25 @@ static const unsigned char build_actionlist[15828] = {
397 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, 397 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,
398 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239, 398 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239,
399 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216, 399 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,
400 137,252,233,137,194,232,251,1,26,255,248,87,255,217,124,36,4,137,68,36,8, 400 137,252,233,137,194,232,251,1,26,255,248,88,255,217,124,36,4,137,68,36,8,
401 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, 401 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,
402 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,150,72,184,237,237, 402 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184,237,237,
403 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 403 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
404 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, 404 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,
405 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102, 405 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,
406 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,89,255,217,124,36,4,137, 406 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,90,255,217,124,36,4,137,
407 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, 407 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,
408 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184, 408 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,
409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, 409 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,
410 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, 410 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,
411 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194, 411 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,
412 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,110,255,217, 412 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,111,255,217,
413 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108, 413 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,
414 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237, 414 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,153,72,184,237,237,
415 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, 415 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,
416 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, 416 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
417 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15, 417 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,
418 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,153,255,15, 418 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,154,255,15,
419 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237, 419 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,
420 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102, 420 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,
421 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237, 421 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,
@@ -423,12 +423,12 @@ static const unsigned char build_actionlist[15828] = {
423 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15, 423 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,
424 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184, 424 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,
425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, 425 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
426 252,252,217,108,36,4,222,201,222,252,233,195,255,248,94,217,252,234,222,201, 426 252,252,217,108,36,4,222,201,222,252,233,195,255,248,95,217,252,234,222,201,
427 248,154,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8, 427 248,155,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,
428 0,0,128,252,255,15,132,244,248,248,155,217,192,217,252,252,220,252,233,217, 428 0,0,128,252,255,15,132,244,248,248,156,217,192,217,252,252,220,252,233,217,
429 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, 429 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
430 217,252,238,195,255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208, 430 217,252,238,195,255,248,114,255,248,157,252,242,15,45,193,252,242,15,42,208,
431 102,15,46,202,15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142, 431 102,15,46,202,15,133,244,254,15,138,244,255,248,158,131,252,248,1,15,142,
432 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, 432 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,
433 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, 433 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,
434 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, 434 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,
@@ -445,27 +445,27 @@ static const unsigned char build_actionlist[15828] = {
445 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15, 445 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,
446 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195, 446 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,
447 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193, 447 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,
448 133,192,15,132,244,3,15,87,192,195,248,158,255,131,252,250,1,15,130,244,87, 448 133,192,15,132,244,3,15,87,192,195,248,159,255,131,252,250,1,15,130,244,88,
449 15,132,244,89,131,252,250,3,15,130,244,110,15,135,244,248,252,242,15,81,192, 449 15,132,244,90,131,252,250,3,15,130,244,111,15,135,244,248,252,242,15,81,192,
450 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, 450 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,
451 88,15,132,244,247,232,244,94,80,252,233,244,253,248,1,232,244,154,255,80, 451 88,15,132,244,247,232,244,95,80,252,233,244,253,248,1,232,244,155,255,80,
452 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, 452 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252,
453 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, 453 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,
454 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, 454 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252,
455 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, 455 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,
456 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, 456 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233,
457 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, 457 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8,
458 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,87,15,132,244,89, 458 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,88,15,132,244,90,
459 131,252,250,3,15,130,244,110,15,135,244,248,217,252,250,195,248,2,131,252, 459 131,252,250,3,15,130,244,111,15,135,244,248,217,252,250,195,248,2,131,252,
460 250,5,15,130,244,94,15,132,244,154,131,252,250,7,15,132,244,247,15,135,244, 460 250,5,15,130,244,95,15,132,244,155,131,252,250,7,15,132,244,247,15,135,244,
461 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, 461 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,
462 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, 462 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217,
463 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, 463 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244,
464 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, 464 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,
465 9,204,255,248,159,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, 465 9,204,255,248,160,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252,
466 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, 466 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,
467 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, 467 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,
468 248,2,65,131,252,248,5,15,130,244,153,15,132,244,113,65,131,252,248,7,15, 468 248,2,65,131,252,248,5,15,130,244,154,15,132,244,114,65,131,252,248,7,15,
469 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, 469 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,
470 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, 470 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252,
471 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, 471 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,
@@ -475,31 +475,31 @@ static const unsigned char build_actionlist[15828] = {
475 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, 475 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,
476 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, 476 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,
477 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, 477 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,
478 249,195,248,2,131,252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15, 478 249,195,248,2,131,252,248,5,15,130,244,154,15,132,244,114,131,252,248,7,15,
479 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, 479 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,
480 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, 480 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,
481 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, 481 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,
482 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, 482 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,
483 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, 483 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,
484 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, 484 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,
485 248,2,221,216,195,255,248,160,137,200,86,72,137,214,83,15,162,137,6,137,94, 485 248,2,221,216,195,255,248,161,137,200,86,72,137,214,83,15,162,137,6,137,94,
486 4,137,78,8,137,86,12,91,94,195,248,161,255,85,72,137,229,83,72,137,203,139, 486 4,137,78,8,137,86,12,91,94,195,248,162,255,85,72,137,229,83,72,137,203,139,
487 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, 487 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72,
488 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, 488 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248,
489 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, 489 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139,
490 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, 490 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40,
491 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, 491 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139,
492 93,252,248,201,195,255,248,162,255,249,255,129,124,253,202,4,239,15,133,244, 492 93,252,248,201,195,255,248,163,255,249,255,129,124,253,202,4,239,15,133,244,
493 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255, 493 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
494 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255, 494 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
495 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182, 495 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
496 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253, 496 232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,42,129,124,253,
497 194,4,239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244, 497 194,4,239,15,130,244,247,15,133,244,42,255,252,242,15,42,4,194,252,233,244,
498 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252, 498 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,42,255,252,
499 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244, 499 242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,
500 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, 500 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
501 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124, 501 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,42,129,124,
502 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4, 502 253,194,4,239,15,131,244,42,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
503 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, 503 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
504 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255, 504 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255,
505 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254, 505 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254,
@@ -516,12 +516,12 @@ static const unsigned char build_actionlist[15828] = {
516 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, 516 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
517 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, 517 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
518 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, 518 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
519 9,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255, 519 9,255,129,252,253,239,15,132,244,47,129,124,253,202,4,239,15,132,244,47,255,
520 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, 520 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
521 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, 521 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,
522 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, 522 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,
523 0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252, 523 0,0,255,252,233,244,46,255,248,3,129,252,253,239,255,15,133,244,9,255,252,
524 233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15, 524 233,244,47,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,
525 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252, 525 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252,
526 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59, 526 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59,
527 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15, 527 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,
@@ -533,7 +533,7 @@ static const unsigned char build_actionlist[15828] = {
533 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70, 533 72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,
534 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193, 534 252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,
535 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244, 535 232,16,252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,
536 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141, 536 47,255,15,132,244,248,129,252,253,239,15,132,244,47,15,183,70,252,254,141,
537 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 537 180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
538 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202, 538 255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,
539 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204, 539 4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,
@@ -542,40 +542,40 @@ static const unsigned char build_actionlist[15828] = {
542 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251, 542 4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,
543 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139, 543 139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,
544 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199, 544 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,
545 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255, 545 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,52,255,
546 129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237, 546 129,124,253,194,4,239,15,131,244,52,255,252,242,15,16,4,194,72,184,237,237,
547 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221, 547 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
548 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233, 548 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
549 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248, 549 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
550 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 550 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,
551 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, 551 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,
552 4,239,15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192, 552 4,239,15,133,244,55,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,
553 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, 553 255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,
554 192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15, 554 192,255,129,124,253,252,234,4,239,15,133,244,49,129,124,253,199,4,239,15,
555 133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234, 555 133,244,49,139,44,252,234,3,44,199,15,128,244,48,255,129,124,253,252,234,
556 4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252, 556 4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,51,139,4,199,3,4,252,
557 234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253, 557 234,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,54,129,124,253,
558 194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68, 558 194,4,239,15,133,244,54,139,44,252,234,3,44,194,15,128,244,53,255,199,68,
559 202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199, 559 202,4,237,255,129,124,253,252,234,4,239,15,131,244,49,255,129,124,253,199,
560 4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, 560 4,239,15,131,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
561 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124, 561 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,
562 253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234, 562 253,199,4,239,15,131,244,51,255,252,242,15,16,4,199,252,242,15,88,4,252,234,
563 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129, 563 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,54,129,
564 124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88, 564 124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,252,234,252,242,15,88,
565 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244, 565 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
566 48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244, 566 49,129,124,253,199,4,239,15,133,244,49,139,44,252,234,43,44,199,15,128,244,
567 47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133, 567 48,255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,
568 244,50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, 568 244,51,139,4,199,43,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,
569 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194, 569 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,43,44,194,
570 15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, 570 15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
571 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, 571 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
572 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, 572 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
573 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124, 573 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,49,129,124,
574 253,199,4,239,15,133,244,48,139,44,252,234,15,175,44,199,15,128,244,47,255, 574 253,199,4,239,15,133,244,49,139,44,252,234,15,175,44,199,15,128,244,48,255,
575 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, 575 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,
576 50,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, 576 51,139,4,199,15,175,4,252,234,15,128,244,50,255,129,124,253,252,234,4,239,
577 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,15,175,44, 577 15,133,244,54,129,124,253,194,4,239,15,133,244,54,139,44,252,234,15,175,44,
578 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, 578 194,15,128,244,53,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
579 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, 579 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
580 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, 580 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
581 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, 581 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
@@ -584,10 +584,10 @@ static const unsigned char build_actionlist[15828] = {
584 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, 584 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
585 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, 585 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
586 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, 586 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
587 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,163,232,244, 587 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,164,232,244,
588 153,255,252,233,244,163,255,232,244,113,255,15,182,252,236,15,182,192,139, 588 154,255,252,233,244,164,255,232,244,114,255,15,182,252,236,15,182,192,139,
589 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, 589 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,34,137,205,137,116,
590 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255, 590 36,100,232,251,1,27,139,149,233,133,192,15,133,244,43,15,182,110,252,255,
591 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, 591 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
592 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, 592 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
593 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 593 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
@@ -629,56 +629,56 @@ static const unsigned char build_actionlist[15828] = {
629 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 629 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
630 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, 630 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32,
631 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, 631 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
632 252,248,139,173,233,139,4,135,252,233,244,164,255,72,252,247,208,139,106, 632 252,248,139,173,233,139,4,135,252,233,244,165,255,72,252,247,208,139,106,
633 252,248,139,173,233,139,4,135,252,233,244,165,255,15,182,252,236,15,182,192, 633 252,248,139,173,233,139,4,135,252,233,244,166,255,15,182,252,236,15,182,192,
634 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194, 634 129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,255,129,124,253,194,
635 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, 635 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, 636 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
637 15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253, 637 15,133,244,37,255,59,133,233,15,131,244,37,193,224,3,3,133,233,129,120,253,
638 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, 638 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
639 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, 639 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
640 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, 640 249,139,141,233,252,246,129,233,235,15,132,244,37,15,182,78,252,253,248,3,
641 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, 641 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
642 36,139,4,194,252,233,244,164,255,15,182,252,236,15,182,192,72,252,247,208, 642 37,139,4,194,252,233,244,165,255,15,182,252,236,15,182,192,72,252,247,208,
643 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,164, 643 139,4,135,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,248,165,
644 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, 644 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
645 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, 645 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
646 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, 646 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
647 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194, 647 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
648 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, 648 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
649 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34, 649 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,35,
650 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139, 650 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,
651 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239, 651 44,252,234,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,
652 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232, 652 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
653 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, 653 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
654 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3, 654 139,141,233,252,246,129,233,235,15,132,244,36,255,15,182,78,252,253,248,3,
655 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, 655 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
656 252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233, 656 252,234,4,239,15,133,244,40,139,44,252,234,255,15,133,244,40,255,59,133,233,
657 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, 657 15,131,244,40,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
658 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, 658 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
659 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, 659 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
660 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182, 660 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,40,15,182,
661 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, 661 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,40,139,4,
662 194,252,233,244,165,248,7,128,165,233,235,139,139,233,137,171,233,137,141, 662 194,252,233,244,166,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
663 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, 663 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
664 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, 664 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,
665 248,165,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, 665 248,166,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
666 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, 666 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
667 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, 667 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
668 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, 668 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
669 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, 669 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
670 80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244, 670 80,139,141,233,252,246,129,233,235,15,132,244,38,139,76,36,80,252,233,244,
671 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, 671 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
672 252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237, 672 252,252,246,129,233,235,15,132,244,38,248,6,137,68,36,80,199,68,36,84,237,
673 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, 673 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
674 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244, 674 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244,
675 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, 675 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
676 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, 676 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,
677 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, 677 44,252,234,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,
678 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, 678 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
679 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, 679 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
680 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, 680 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
681 15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, 681 15,132,244,39,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
682 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, 682 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
683 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, 683 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
684 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, 684 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
@@ -688,9 +688,9 @@ static const unsigned char build_actionlist[15828] = {
688 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139, 688 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139,
689 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, 689 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
690 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, 690 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
691 202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233, 691 202,4,239,139,44,202,15,133,244,56,141,84,202,8,137,114,252,252,139,181,233,
692 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, 692 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
693 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56, 693 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,57,
694 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, 694 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
695 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, 695 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
696 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, 696 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
@@ -701,7 +701,7 @@ static const unsigned char build_actionlist[15828] = {
701 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, 701 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
702 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, 702 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
703 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, 703 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
704 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, 704 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
705 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, 705 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
706 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, 706 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
707 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248, 707 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
@@ -737,19 +737,19 @@ static const unsigned char build_actionlist[15828] = {
737 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, 737 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
738 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, 738 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
739 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, 739 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
740 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239, 740 131,172,253,43,233,1,15,132,244,146,255,141,12,202,255,129,121,253,4,239,
741 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15, 741 15,133,244,255,255,129,121,253,12,239,15,133,244,58,129,121,253,20,239,15,
742 133,244,57,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133, 742 133,244,58,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
743 244,162,129,121,253,20,239,15,133,244,162,255,139,105,16,133,252,237,15,136, 743 244,163,129,121,253,20,239,15,133,244,163,255,139,105,16,133,252,237,15,136,
744 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24, 744 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
745 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233, 745 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
746 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180, 746 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
747 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232, 747 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
748 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7, 748 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
749 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255, 749 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
750 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121,253,12, 750 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,58,129,121,253,12,
751 239,15,131,244,57,255,129,121,253,12,239,15,131,244,162,129,121,253,20,239, 751 239,15,131,244,58,255,129,121,253,12,239,15,131,244,163,129,121,253,20,239,
752 15,131,244,162,255,139,105,20,255,129,252,253,239,15,131,244,57,255,252,242, 752 15,131,244,163,255,139,105,20,255,129,252,253,239,15,131,244,58,255,252,242,
753 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252, 753 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
754 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15, 754 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
755 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15, 755 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
@@ -766,19 +766,19 @@ static const unsigned char build_actionlist[15828] = {
766 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, 766 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
767 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, 767 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
768 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245, 768 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
769 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190, 769 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,148,255,139,190,
770 233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200, 770 233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,
771 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, 771 15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,
772 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, 772 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,
773 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141, 773 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,
774 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237, 774 12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,
775 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137, 775 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,
776 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, 776 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,
777 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193, 777 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,
778 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1, 778 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,
779 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36, 779 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,
780 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255, 780 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,
781 72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255,252,255, 781 72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,252,255,
782 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247, 782 215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,
783 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 783 217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
784}; 784};
@@ -793,6 +793,7 @@ enum {
793 GLOB_vm_leave_unw, 793 GLOB_vm_leave_unw,
794 GLOB_vm_unwind_c, 794 GLOB_vm_unwind_c,
795 GLOB_vm_unwind_c_eh, 795 GLOB_vm_unwind_c_eh,
796 GLOB_vm_unwind_rethrow,
796 GLOB_vm_unwind_ff, 797 GLOB_vm_unwind_ff,
797 GLOB_vm_unwind_ff_eh, 798 GLOB_vm_unwind_ff_eh,
798 GLOB_vm_growstack_c, 799 GLOB_vm_growstack_c,
@@ -952,6 +953,7 @@ static const char *const globnames[] = {
952 "vm_leave_unw", 953 "vm_leave_unw",
953 "vm_unwind_c@8", 954 "vm_unwind_c@8",
954 "vm_unwind_c_eh", 955 "vm_unwind_c_eh",
956 "vm_unwind_rethrow",
955 "vm_unwind_ff@4", 957 "vm_unwind_ff@4",
956 "vm_unwind_ff_eh", 958 "vm_unwind_ff_eh",
957 "vm_growstack_c", 959 "vm_growstack_c",
@@ -1164,675 +1166,675 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1164 dasm_put(Dst, 0); 1166 dasm_put(Dst, 0);
1165 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C); 1167 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1166 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL); 1168 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1167 dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); 1169 dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1168 dasm_put(Dst, 291, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 1170 dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1169 dasm_put(Dst, 357, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1171 dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1170 dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1172 dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1171 dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); 1173 dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0);
1172 dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1174 dasm_put(Dst, 768, Dt7(->pc), PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1173 if (LJ_DUALNUM) { 1175 if (LJ_DUALNUM) {
1174 dasm_put(Dst, 883, LJ_TISNUM); 1176 dasm_put(Dst, 885, LJ_TISNUM);
1175 } else if (sse) { 1177 } else if (sse) {
1176 dasm_put(Dst, 893); 1178 dasm_put(Dst, 895);
1177 } else { 1179 } else {
1178 } 1180 }
1179 dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1181 dasm_put(Dst, 908, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1180 dasm_put(Dst, 1053, DISPATCH_GL(tmptv), LJ_TTAB); 1182 dasm_put(Dst, 1055, DISPATCH_GL(tmptv), LJ_TTAB);
1181 if (LJ_DUALNUM) { 1183 if (LJ_DUALNUM) {
1182 dasm_put(Dst, 883, LJ_TISNUM); 1184 dasm_put(Dst, 885, LJ_TISNUM);
1183 } else if (sse) { 1185 } else if (sse) {
1184 dasm_put(Dst, 893); 1186 dasm_put(Dst, 895);
1185 } else { 1187 } else {
1186 } 1188 }
1187 dasm_put(Dst, 1076, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1189 dasm_put(Dst, 1078, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1188 dasm_put(Dst, 1249, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1190 dasm_put(Dst, 1251, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1189 dasm_put(Dst, 1349); 1191 dasm_put(Dst, 1351);
1190#if LJ_HASFFI 1192#if LJ_HASFFI
1191 dasm_put(Dst, 1369, Dt1(->base)); 1193 dasm_put(Dst, 1371, Dt1(->base));
1192#endif 1194#endif
1193 dasm_put(Dst, 1400); 1195 dasm_put(Dst, 1402);
1194#if LJ_DUALNUM 1196#if LJ_DUALNUM
1195 dasm_put(Dst, 1403); 1197 dasm_put(Dst, 1405);
1196#endif 1198#endif
1197 dasm_put(Dst, 1409); 1199 dasm_put(Dst, 1411);
1198#if LJ_DUALNUM 1200#if LJ_DUALNUM
1199 dasm_put(Dst, 877); 1201 dasm_put(Dst, 879);
1200#endif 1202#endif
1201 dasm_put(Dst, 1421); 1203 dasm_put(Dst, 1423);
1202#if LJ_DUALNUM 1204#if LJ_DUALNUM
1203 dasm_put(Dst, 1403); 1205 dasm_put(Dst, 1405);
1204#endif 1206#endif
1205 dasm_put(Dst, 1449, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); 1207 dasm_put(Dst, 1451, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base));
1206 dasm_put(Dst, 1586, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); 1208 dasm_put(Dst, 1588, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1207 dasm_put(Dst, 1769, 1+1, ~LJ_TNUMX); 1209 dasm_put(Dst, 1771, 1+1, ~LJ_TNUMX);
1208 if (cmov) { 1210 if (cmov) {
1209 dasm_put(Dst, 1814); 1211 dasm_put(Dst, 1816);
1210 } else { 1212 } else {
1211 dasm_put(Dst, 1818); 1213 dasm_put(Dst, 1820);
1212 } 1214 }
1213 dasm_put(Dst, 1827, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); 1215 dasm_put(Dst, 1829, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1214 dasm_put(Dst, 1906, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); 1216 dasm_put(Dst, 1908, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1215 dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); 1217 dasm_put(Dst, 1965, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
1216 dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK); 1218 dasm_put(Dst, 2033, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK);
1217 dasm_put(Dst, 2100, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1219 dasm_put(Dst, 2102, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1218 if (LJ_DUALNUM) { 1220 if (LJ_DUALNUM) {
1219 dasm_put(Dst, 2185); 1221 dasm_put(Dst, 2187);
1220 } else { 1222 } else {
1221 dasm_put(Dst, 2202); 1223 dasm_put(Dst, 2204);
1222 } 1224 }
1223 if (sse) { 1225 if (sse) {
1224 dasm_put(Dst, 2207); 1226 dasm_put(Dst, 2209);
1225 } else { 1227 } else {
1226 dasm_put(Dst, 2217); 1228 dasm_put(Dst, 2219);
1227 } 1229 }
1228 dasm_put(Dst, 2224, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1230 dasm_put(Dst, 2226, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1229 dasm_put(Dst, 2290, Dt1(->base)); 1231 dasm_put(Dst, 2292, Dt1(->base));
1230 if (LJ_DUALNUM) { 1232 if (LJ_DUALNUM) {
1231 dasm_put(Dst, 2314); 1233 dasm_put(Dst, 2316);
1232 } else { 1234 } else {
1233 dasm_put(Dst, 2319); 1235 dasm_put(Dst, 2321);
1234 } 1236 }
1235 dasm_put(Dst, 2324, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); 1237 dasm_put(Dst, 2326, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1236 dasm_put(Dst, 2417, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); 1238 dasm_put(Dst, 2419, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1237#ifdef LUAJIT_ENABLE_LUA52COMPAT 1239#ifdef LUAJIT_ENABLE_LUA52COMPAT
1238 dasm_put(Dst, 2464, Dt6(->metatable)); 1240 dasm_put(Dst, 2466, Dt6(->metatable));
1239#endif 1241#endif
1240 dasm_put(Dst, 2473, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1242 dasm_put(Dst, 2475, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1241 if (LJ_DUALNUM) { 1243 if (LJ_DUALNUM) {
1242 dasm_put(Dst, 2459); 1244 dasm_put(Dst, 2461);
1243 } else { 1245 } else {
1244 dasm_put(Dst, 2202); 1246 dasm_put(Dst, 2204);
1245 } 1247 }
1246 dasm_put(Dst, 2528); 1248 dasm_put(Dst, 2530);
1247 if (LJ_DUALNUM) { 1249 if (LJ_DUALNUM) {
1248 dasm_put(Dst, 2533, LJ_TISNUM); 1250 dasm_put(Dst, 2535, LJ_TISNUM);
1249 } else if (sse) { 1251 } else if (sse) {
1250 dasm_put(Dst, 2549, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1252 dasm_put(Dst, 2551, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1251 } else { 1253 } else {
1252 } 1254 }
1253 dasm_put(Dst, 2582, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1255 dasm_put(Dst, 2584, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1254 dasm_put(Dst, 2444, 1+1, LJ_TTAB); 1256 dasm_put(Dst, 2446, 1+1, LJ_TTAB);
1255#ifdef LUAJIT_ENABLE_LUA52COMPAT 1257#ifdef LUAJIT_ENABLE_LUA52COMPAT
1256 dasm_put(Dst, 2464, Dt6(->metatable)); 1258 dasm_put(Dst, 2466, Dt6(->metatable));
1257#endif 1259#endif
1258 dasm_put(Dst, 2659, Dt8(->upvalue[0]), LJ_TFUNC); 1260 dasm_put(Dst, 2661, Dt8(->upvalue[0]), LJ_TFUNC);
1259 if (LJ_DUALNUM) { 1261 if (LJ_DUALNUM) {
1260 dasm_put(Dst, 2680, LJ_TISNUM); 1262 dasm_put(Dst, 2682, LJ_TISNUM);
1261 } else if (sse) { 1263 } else if (sse) {
1262 dasm_put(Dst, 2692); 1264 dasm_put(Dst, 2694);
1263 } else { 1265 } else {
1264 dasm_put(Dst, 2702); 1266 dasm_put(Dst, 2704);
1265 } 1267 }
1266 dasm_put(Dst, 2709, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1268 dasm_put(Dst, 2711, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1267 dasm_put(Dst, 2773, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1269 dasm_put(Dst, 2775, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1268 dasm_put(Dst, 2863, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1270 dasm_put(Dst, 2865, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1269 dasm_put(Dst, 2951, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1271 dasm_put(Dst, 2953, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1270 dasm_put(Dst, 3064, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1272 dasm_put(Dst, 3066, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1271 dasm_put(Dst, 3162, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1273 dasm_put(Dst, 3164, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1272 dasm_put(Dst, 3229, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1274 dasm_put(Dst, 3231, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1273 dasm_put(Dst, 3317, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1275 dasm_put(Dst, 3319, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1274 dasm_put(Dst, 3429, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1276 dasm_put(Dst, 3431, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1275 if (!LJ_DUALNUM) { 1277 if (!LJ_DUALNUM) {
1276 dasm_put(Dst, 3456); 1278 dasm_put(Dst, 3458);
1277 } 1279 }
1278 if (sse) { 1280 if (sse) {
1279 dasm_put(Dst, 3459); 1281 dasm_put(Dst, 3461);
1280 } 1282 }
1281 dasm_put(Dst, 3474, 1+1); 1283 dasm_put(Dst, 3476, 1+1);
1282 if (LJ_DUALNUM) { 1284 if (LJ_DUALNUM) {
1283 dasm_put(Dst, 3485, LJ_TISNUM, LJ_TISNUM); 1285 dasm_put(Dst, 3487, LJ_TISNUM, LJ_TISNUM);
1284 } else { 1286 } else {
1285 dasm_put(Dst, 3565, LJ_TISNUM); 1287 dasm_put(Dst, 3567, LJ_TISNUM);
1286 } 1288 }
1287 if (sse) { 1289 if (sse) {
1288 dasm_put(Dst, 3575, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1290 dasm_put(Dst, 3577, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1289 } else { 1291 } else {
1290 dasm_put(Dst, 3606); 1292 dasm_put(Dst, 3608);
1291 } 1293 }
1292 dasm_put(Dst, 3623, 1+1, FRAME_TYPE, LJ_TNIL); 1294 dasm_put(Dst, 3625, 1+1, FRAME_TYPE, LJ_TNIL);
1293 if (LJ_DUALNUM) { 1295 if (LJ_DUALNUM) {
1294 dasm_put(Dst, 3719, LJ_TISNUM); 1296 dasm_put(Dst, 3721, LJ_TISNUM);
1295 } else { 1297 } else {
1296 dasm_put(Dst, 3565, LJ_TISNUM); 1298 dasm_put(Dst, 3567, LJ_TISNUM);
1297 } 1299 }
1298 if (sse) { 1300 if (sse) {
1299 dasm_put(Dst, 3741); 1301 dasm_put(Dst, 3743);
1300 if (LJ_DUALNUM) { 1302 if (LJ_DUALNUM) {
1301 dasm_put(Dst, 3750); 1303 dasm_put(Dst, 3752);
1302 } 1304 }
1303 dasm_put(Dst, 2212); 1305 dasm_put(Dst, 2214);
1304 } else { 1306 } else {
1305 dasm_put(Dst, 3784); 1307 dasm_put(Dst, 3786);
1306 if (LJ_DUALNUM) { 1308 if (LJ_DUALNUM) {
1307 } else { 1309 } else {
1308 dasm_put(Dst, 2219); 1310 dasm_put(Dst, 2221);
1309 } 1311 }
1310 } 1312 }
1311 dasm_put(Dst, 3790); 1313 dasm_put(Dst, 3792);
1312 if (LJ_DUALNUM) { 1314 if (LJ_DUALNUM) {
1313 dasm_put(Dst, 3719, LJ_TISNUM); 1315 dasm_put(Dst, 3721, LJ_TISNUM);
1314 } else { 1316 } else {
1315 dasm_put(Dst, 3565, LJ_TISNUM); 1317 dasm_put(Dst, 3567, LJ_TISNUM);
1316 } 1318 }
1317 if (sse) { 1319 if (sse) {
1318 dasm_put(Dst, 3793); 1320 dasm_put(Dst, 3795);
1319 if (LJ_DUALNUM) { 1321 if (LJ_DUALNUM) {
1320 dasm_put(Dst, 3750); 1322 dasm_put(Dst, 3752);
1321 } 1323 }
1322 dasm_put(Dst, 2212); 1324 dasm_put(Dst, 2214);
1323 } else { 1325 } else {
1324 dasm_put(Dst, 3802); 1326 dasm_put(Dst, 3804);
1325 if (LJ_DUALNUM) { 1327 if (LJ_DUALNUM) {
1326 } else { 1328 } else {
1327 dasm_put(Dst, 2219); 1329 dasm_put(Dst, 2221);
1328 } 1330 }
1329 } 1331 }
1330 if (sse) { 1332 if (sse) {
1331 dasm_put(Dst, 3808, 1+1, LJ_TISNUM); 1333 dasm_put(Dst, 3810, 1+1, LJ_TISNUM);
1332 } else { 1334 } else {
1333 dasm_put(Dst, 3837, 1+1, LJ_TISNUM); 1335 dasm_put(Dst, 3839, 1+1, LJ_TISNUM);
1334 } 1336 }
1335 dasm_put(Dst, 3866, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1337 dasm_put(Dst, 3868, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1336 dasm_put(Dst, 3935, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1338 dasm_put(Dst, 3937, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1337 dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1339 dasm_put(Dst, 3994, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1338 dasm_put(Dst, 4055, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1340 dasm_put(Dst, 4057, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1339 dasm_put(Dst, 4145); 1341 dasm_put(Dst, 4147);
1340 if (sse) { 1342 if (sse) {
1341 dasm_put(Dst, 4157, 1+1, LJ_TISNUM); 1343 dasm_put(Dst, 4159, 1+1, LJ_TISNUM);
1342 } else { 1344 } else {
1343 } 1345 }
1344 dasm_put(Dst, 4182); 1346 dasm_put(Dst, 4184);
1345 if (sse) { 1347 if (sse) {
1346 dasm_put(Dst, 4196, 1+1, LJ_TISNUM); 1348 dasm_put(Dst, 4198, 1+1, LJ_TISNUM);
1347 } else { 1349 } else {
1348 } 1350 }
1349 dasm_put(Dst, 4221); 1351 dasm_put(Dst, 4223);
1350 if (sse) { 1352 if (sse) {
1351 dasm_put(Dst, 4235, 1+1, LJ_TISNUM); 1353 dasm_put(Dst, 4237, 1+1, LJ_TISNUM);
1352 } else { 1354 } else {
1353 } 1355 }
1354 dasm_put(Dst, 4260); 1356 dasm_put(Dst, 4262);
1355 if (sse) { 1357 if (sse) {
1356 dasm_put(Dst, 4276, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1358 dasm_put(Dst, 4278, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1357 } else { 1359 } else {
1358 dasm_put(Dst, 4315, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1360 dasm_put(Dst, 4317, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1359 } 1361 }
1360 dasm_put(Dst, 4348, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1362 dasm_put(Dst, 4350, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1361 dasm_put(Dst, 4413, 1+1, LJ_TISNUM); 1363 dasm_put(Dst, 4415, 1+1, LJ_TISNUM);
1362 if (sse) { 1364 if (sse) {
1363 dasm_put(Dst, 4512); 1365 dasm_put(Dst, 4514);
1364 } else { 1366 } else {
1365 dasm_put(Dst, 4518); 1367 dasm_put(Dst, 4520);
1366 } 1368 }
1367 dasm_put(Dst, 4527); 1369 dasm_put(Dst, 4529);
1368 if (sse) { 1370 if (sse) {
1369 dasm_put(Dst, 4552); 1371 dasm_put(Dst, 4554);
1370 } else { 1372 } else {
1371 dasm_put(Dst, 4558); 1373 dasm_put(Dst, 4560);
1372 } 1374 }
1373 dasm_put(Dst, 4561, 1+2); 1375 dasm_put(Dst, 4563, 1+2);
1374 if (sse) { 1376 if (sse) {
1375 dasm_put(Dst, 4570); 1377 dasm_put(Dst, 4572);
1376 } else { 1378 } else {
1377 dasm_put(Dst, 4578); 1379 dasm_put(Dst, 4580);
1378 } 1380 }
1379 dasm_put(Dst, 4586); 1381 dasm_put(Dst, 4588);
1380 if (sse) { 1382 if (sse) {
1381 dasm_put(Dst, 4589, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); 1383 dasm_put(Dst, 4591, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1382 } else { 1384 } else {
1383 dasm_put(Dst, 4616); 1385 dasm_put(Dst, 4618);
1384 } 1386 }
1385 dasm_put(Dst, 4635); 1387 dasm_put(Dst, 4637);
1386 if (sse) { 1388 if (sse) {
1387 dasm_put(Dst, 4651, 1+1, LJ_TISNUM); 1389 dasm_put(Dst, 4653, 1+1, LJ_TISNUM);
1388 } else { 1390 } else {
1389 dasm_put(Dst, 4676, 1+1, LJ_TISNUM); 1391 dasm_put(Dst, 4678, 1+1, LJ_TISNUM);
1390 } 1392 }
1391 dasm_put(Dst, 4698); 1393 dasm_put(Dst, 4700);
1392 if (sse) { 1394 if (sse) {
1393 dasm_put(Dst, 4720); 1395 dasm_put(Dst, 4722);
1394 } else { 1396 } else {
1395 dasm_put(Dst, 4746); 1397 dasm_put(Dst, 4748);
1396 } 1398 }
1397 dasm_put(Dst, 4763, 1+2); 1399 dasm_put(Dst, 4765, 1+2);
1398 if (sse) { 1400 if (sse) {
1399 dasm_put(Dst, 4803); 1401 dasm_put(Dst, 4805);
1400 } else { 1402 } else {
1401 dasm_put(Dst, 4811); 1403 dasm_put(Dst, 4813);
1402 } 1404 }
1403 dasm_put(Dst, 4821, 2+1, LJ_TISNUM, LJ_TISNUM); 1405 dasm_put(Dst, 4823, 2+1, LJ_TISNUM, LJ_TISNUM);
1404 if (sse) { 1406 if (sse) {
1405 dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM); 1407 dasm_put(Dst, 4875, 2+1, LJ_TISNUM, LJ_TISNUM);
1406 } else { 1408 } else {
1407 dasm_put(Dst, 4920, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 4922, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } 1410 }
1409 dasm_put(Dst, 4961, LJ_TISNUM); 1411 dasm_put(Dst, 4963, LJ_TISNUM);
1410 if (LJ_DUALNUM) { 1412 if (LJ_DUALNUM) {
1411 dasm_put(Dst, 4974, LJ_TISNUM); 1413 dasm_put(Dst, 4976, LJ_TISNUM);
1412 if (sse) { 1414 if (sse) {
1413 dasm_put(Dst, 4512); 1415 dasm_put(Dst, 4514);
1414 } else { 1416 } else {
1415 } 1417 }
1416 dasm_put(Dst, 5024); 1418 dasm_put(Dst, 5026);
1417 } else { 1419 } else {
1418 dasm_put(Dst, 2202); 1420 dasm_put(Dst, 2204);
1419 } 1421 }
1420 if (sse) { 1422 if (sse) {
1421 dasm_put(Dst, 5035, LJ_TISNUM); 1423 dasm_put(Dst, 5037, LJ_TISNUM);
1422 if (LJ_DUALNUM) { 1424 if (LJ_DUALNUM) {
1423 dasm_put(Dst, 5056); 1425 dasm_put(Dst, 5058);
1424 } else { 1426 } else {
1425 dasm_put(Dst, 2202); 1427 dasm_put(Dst, 2204);
1426 } 1428 }
1427 dasm_put(Dst, 5077); 1429 dasm_put(Dst, 5079);
1428 } else { 1430 } else {
1429 } 1431 }
1430 dasm_put(Dst, 5102, LJ_TISNUM); 1432 dasm_put(Dst, 5104, LJ_TISNUM);
1431 if (LJ_DUALNUM) { 1433 if (LJ_DUALNUM) {
1432 dasm_put(Dst, 5115, LJ_TISNUM); 1434 dasm_put(Dst, 5117, LJ_TISNUM);
1433 if (sse) { 1435 if (sse) {
1434 dasm_put(Dst, 4512); 1436 dasm_put(Dst, 4514);
1435 } else { 1437 } else {
1436 } 1438 }
1437 dasm_put(Dst, 5024); 1439 dasm_put(Dst, 5026);
1438 } else { 1440 } else {
1439 dasm_put(Dst, 2202); 1441 dasm_put(Dst, 2204);
1440 } 1442 }
1441 if (sse) { 1443 if (sse) {
1442 dasm_put(Dst, 5035, LJ_TISNUM); 1444 dasm_put(Dst, 5037, LJ_TISNUM);
1443 if (LJ_DUALNUM) { 1445 if (LJ_DUALNUM) {
1444 dasm_put(Dst, 5056); 1446 dasm_put(Dst, 5058);
1445 } else { 1447 } else {
1446 dasm_put(Dst, 2202); 1448 dasm_put(Dst, 2204);
1447 } 1449 }
1448 dasm_put(Dst, 5165); 1450 dasm_put(Dst, 5167);
1449 } else { 1451 } else {
1450 } 1452 }
1451 if (!sse) { 1453 if (!sse) {
1452 dasm_put(Dst, 5190); 1454 dasm_put(Dst, 5192);
1453 } 1455 }
1454 dasm_put(Dst, 5199, 1+1, LJ_TSTR); 1456 dasm_put(Dst, 5201, 1+1, LJ_TSTR);
1455 if (LJ_DUALNUM) { 1457 if (LJ_DUALNUM) {
1456 dasm_put(Dst, 5221, Dt5(->len)); 1458 dasm_put(Dst, 5223, Dt5(->len));
1457 } else if (sse) { 1459 } else if (sse) {
1458 dasm_put(Dst, 5229, Dt5(->len)); 1460 dasm_put(Dst, 5231, Dt5(->len));
1459 } else { 1461 } else {
1460 dasm_put(Dst, 5240, Dt5(->len)); 1462 dasm_put(Dst, 5242, Dt5(->len));
1461 } 1463 }
1462 dasm_put(Dst, 5248, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1464 dasm_put(Dst, 5250, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1463 if (LJ_DUALNUM) { 1465 if (LJ_DUALNUM) {
1464 dasm_put(Dst, 5224); 1466 dasm_put(Dst, 5226);
1465 } else if (sse) { 1467 } else if (sse) {
1466 dasm_put(Dst, 5286); 1468 dasm_put(Dst, 5288);
1467 } else { 1469 } else {
1468 dasm_put(Dst, 5296); 1470 dasm_put(Dst, 5298);
1469 } 1471 }
1470 dasm_put(Dst, 5309, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1472 dasm_put(Dst, 5311, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1471 if (LJ_DUALNUM) { 1473 if (LJ_DUALNUM) {
1472 dasm_put(Dst, 5340); 1474 dasm_put(Dst, 5342);
1473 } else if (sse) { 1475 } else if (sse) {
1474 dasm_put(Dst, 5363); 1476 dasm_put(Dst, 5365);
1475 } else { 1477 } else {
1476 dasm_put(Dst, 5389); 1478 dasm_put(Dst, 5391);
1477 } 1479 }
1478 dasm_put(Dst, 5413, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1480 dasm_put(Dst, 5415, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1479 if (LJ_DUALNUM) { 1481 if (LJ_DUALNUM) {
1480 dasm_put(Dst, 5521); 1482 dasm_put(Dst, 5523);
1481 } else if (sse) { 1483 } else if (sse) {
1482 dasm_put(Dst, 5533); 1484 dasm_put(Dst, 5535);
1483 } else { 1485 } else {
1484 dasm_put(Dst, 5548); 1486 dasm_put(Dst, 5550);
1485 } 1487 }
1486 dasm_put(Dst, 5560, LJ_TSTR, LJ_TISNUM); 1488 dasm_put(Dst, 5562, LJ_TSTR, LJ_TISNUM);
1487 if (LJ_DUALNUM) { 1489 if (LJ_DUALNUM) {
1488 dasm_put(Dst, 2459); 1490 dasm_put(Dst, 2461);
1489 } else { 1491 } else {
1490 dasm_put(Dst, 2202); 1492 dasm_put(Dst, 2204);
1491 } 1493 }
1492 dasm_put(Dst, 5577, Dt5(->len)); 1494 dasm_put(Dst, 5579, Dt5(->len));
1493 if (LJ_DUALNUM) { 1495 if (LJ_DUALNUM) {
1494 dasm_put(Dst, 5587); 1496 dasm_put(Dst, 5589);
1495 } else if (sse) { 1497 } else if (sse) {
1496 dasm_put(Dst, 5591); 1498 dasm_put(Dst, 5593);
1497 } else { 1499 } else {
1498 } 1500 }
1499 dasm_put(Dst, 5598, sizeof(GCstr)-1); 1501 dasm_put(Dst, 5600, sizeof(GCstr)-1);
1500 dasm_put(Dst, 5673, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1502 dasm_put(Dst, 5675, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1501 dasm_put(Dst, 5732, LJ_TSTR, LJ_TISNUM); 1503 dasm_put(Dst, 5734, LJ_TSTR, LJ_TISNUM);
1502 if (LJ_DUALNUM) { 1504 if (LJ_DUALNUM) {
1503 dasm_put(Dst, 5749); 1505 dasm_put(Dst, 5751);
1504 } else if (sse) { 1506 } else if (sse) {
1505 dasm_put(Dst, 5757); 1507 dasm_put(Dst, 5759);
1506 } else { 1508 } else {
1507 dasm_put(Dst, 5768); 1509 dasm_put(Dst, 5770);
1508 } 1510 }
1509 dasm_put(Dst, 5784, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1511 dasm_put(Dst, 5786, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1510 dasm_put(Dst, 5849, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1512 dasm_put(Dst, 5851, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1511 dasm_put(Dst, 5912, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1513 dasm_put(Dst, 5914, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1512 dasm_put(Dst, 5983, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1514 dasm_put(Dst, 5985, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1513 dasm_put(Dst, 6068, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1515 dasm_put(Dst, 6070, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1514 dasm_put(Dst, 6138, 1+1, LJ_TTAB); 1516 dasm_put(Dst, 6140, 1+1, LJ_TTAB);
1515 if (LJ_DUALNUM) { 1517 if (LJ_DUALNUM) {
1516 dasm_put(Dst, 6206); 1518 dasm_put(Dst, 6208);
1517 } else if (sse) { 1519 } else if (sse) {
1518 dasm_put(Dst, 6213); 1520 dasm_put(Dst, 6215);
1519 } else { 1521 } else {
1520 } 1522 }
1521 dasm_put(Dst, 6223, LJ_TISNUM); 1523 dasm_put(Dst, 6225, LJ_TISNUM);
1522 if (LJ_DUALNUM) { 1524 if (LJ_DUALNUM) {
1523 dasm_put(Dst, 6231); 1525 dasm_put(Dst, 6233);
1524 } else { 1526 } else {
1525 dasm_put(Dst, 2202); 1527 dasm_put(Dst, 2204);
1526 } 1528 }
1527 if (sse) { 1529 if (sse) {
1528 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1530 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1529 } else { 1531 } else {
1530 } 1532 }
1531 dasm_put(Dst, 106); 1533 dasm_put(Dst, 106);
1532 if (LJ_DUALNUM || sse) { 1534 if (LJ_DUALNUM || sse) {
1533 if (!sse) { 1535 if (!sse) {
1534 } 1536 }
1535 dasm_put(Dst, 6272); 1537 dasm_put(Dst, 6274);
1536 } else { 1538 } else {
1537 } 1539 }
1538 dasm_put(Dst, 6277); 1540 dasm_put(Dst, 6279);
1539 if (sse) { 1541 if (sse) {
1540 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1542 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1541 } else { 1543 } else {
1542 dasm_put(Dst, 6290); 1544 dasm_put(Dst, 6292);
1543 } 1545 }
1544 dasm_put(Dst, 2179, LJ_TISNUM); 1546 dasm_put(Dst, 2181, LJ_TISNUM);
1545 if (LJ_DUALNUM) { 1547 if (LJ_DUALNUM) {
1546 dasm_put(Dst, 6299); 1548 dasm_put(Dst, 6301);
1547 } else { 1549 } else {
1548 dasm_put(Dst, 2202); 1550 dasm_put(Dst, 2204);
1549 } 1551 }
1550 if (sse) { 1552 if (sse) {
1551 dasm_put(Dst, 6316); 1553 dasm_put(Dst, 6318);
1552 } else { 1554 } else {
1553 } 1555 }
1554 dasm_put(Dst, 6331, LJ_TISNUM); 1556 dasm_put(Dst, 6333, LJ_TISNUM);
1555 if (LJ_DUALNUM) { 1557 if (LJ_DUALNUM) {
1556 dasm_put(Dst, 6356); 1558 dasm_put(Dst, 6358);
1557 } else { 1559 } else {
1558 dasm_put(Dst, 6376); 1560 dasm_put(Dst, 6378);
1559 } 1561 }
1560 if (sse) { 1562 if (sse) {
1561 dasm_put(Dst, 6381); 1563 dasm_put(Dst, 6383);
1562 } else { 1564 } else {
1563 } 1565 }
1564 dasm_put(Dst, 6398); 1566 dasm_put(Dst, 6400);
1565 if (sse) { 1567 if (sse) {
1566 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1568 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1567 } else { 1569 } else {
1568 dasm_put(Dst, 6290); 1570 dasm_put(Dst, 6292);
1569 } 1571 }
1570 dasm_put(Dst, 2179, LJ_TISNUM); 1572 dasm_put(Dst, 2181, LJ_TISNUM);
1571 if (LJ_DUALNUM) { 1573 if (LJ_DUALNUM) {
1572 dasm_put(Dst, 6299); 1574 dasm_put(Dst, 6301);
1573 } else { 1575 } else {
1574 dasm_put(Dst, 2202); 1576 dasm_put(Dst, 2204);
1575 } 1577 }
1576 if (sse) { 1578 if (sse) {
1577 dasm_put(Dst, 6316); 1579 dasm_put(Dst, 6318);
1578 } else { 1580 } else {
1579 } 1581 }
1580 dasm_put(Dst, 6331, LJ_TISNUM); 1582 dasm_put(Dst, 6333, LJ_TISNUM);
1581 if (LJ_DUALNUM) { 1583 if (LJ_DUALNUM) {
1582 dasm_put(Dst, 6408); 1584 dasm_put(Dst, 6410);
1583 } else { 1585 } else {
1584 dasm_put(Dst, 6376); 1586 dasm_put(Dst, 6378);
1585 } 1587 }
1586 if (sse) { 1588 if (sse) {
1587 dasm_put(Dst, 6428); 1589 dasm_put(Dst, 6430);
1588 } else { 1590 } else {
1589 } 1591 }
1590 dasm_put(Dst, 6445); 1592 dasm_put(Dst, 6447);
1591 if (sse) { 1593 if (sse) {
1592 dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1594 dasm_put(Dst, 6282, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1593 } else { 1595 } else {
1594 dasm_put(Dst, 6290); 1596 dasm_put(Dst, 6292);
1595 } 1597 }
1596 dasm_put(Dst, 2179, LJ_TISNUM); 1598 dasm_put(Dst, 2181, LJ_TISNUM);
1597 if (LJ_DUALNUM) { 1599 if (LJ_DUALNUM) {
1598 dasm_put(Dst, 6299); 1600 dasm_put(Dst, 6301);
1599 } else { 1601 } else {
1600 dasm_put(Dst, 2202); 1602 dasm_put(Dst, 2204);
1601 } 1603 }
1602 if (sse) { 1604 if (sse) {
1603 dasm_put(Dst, 6316); 1605 dasm_put(Dst, 6318);
1604 } else { 1606 } else {
1605 } 1607 }
1606 dasm_put(Dst, 6331, LJ_TISNUM); 1608 dasm_put(Dst, 6333, LJ_TISNUM);
1607 if (LJ_DUALNUM) { 1609 if (LJ_DUALNUM) {
1608 dasm_put(Dst, 6455); 1610 dasm_put(Dst, 6457);
1609 } else { 1611 } else {
1610 dasm_put(Dst, 6376); 1612 dasm_put(Dst, 6378);
1611 } 1613 }
1612 if (sse) { 1614 if (sse) {
1613 dasm_put(Dst, 6475); 1615 dasm_put(Dst, 6477);
1614 } else { 1616 } else {
1615 } 1617 }
1616 dasm_put(Dst, 6492, LJ_TISNUM); 1618 dasm_put(Dst, 6494, LJ_TISNUM);
1617 if (LJ_DUALNUM) { 1619 if (LJ_DUALNUM) {
1618 dasm_put(Dst, 6299); 1620 dasm_put(Dst, 6301);
1619 } else { 1621 } else {
1620 dasm_put(Dst, 2202); 1622 dasm_put(Dst, 2204);
1621 } 1623 }
1622 if (sse) { 1624 if (sse) {
1623 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1625 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1624 } else { 1626 } else {
1625 } 1627 }
1626 dasm_put(Dst, 6507, LJ_TISNUM); 1628 dasm_put(Dst, 6509, LJ_TISNUM);
1627 if (LJ_DUALNUM) { 1629 if (LJ_DUALNUM) {
1628 dasm_put(Dst, 6299); 1630 dasm_put(Dst, 6301);
1629 } else { 1631 } else {
1630 dasm_put(Dst, 2202); 1632 dasm_put(Dst, 2204);
1631 } 1633 }
1632 if (sse) { 1634 if (sse) {
1633 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1635 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1634 } else { 1636 } else {
1635 } 1637 }
1636 dasm_put(Dst, 6523); 1638 dasm_put(Dst, 6525);
1637 if (LJ_DUALNUM) { 1639 if (LJ_DUALNUM) {
1638 dasm_put(Dst, 6272); 1640 dasm_put(Dst, 6274);
1639 } else if (sse) { 1641 } else if (sse) {
1640 dasm_put(Dst, 6529); 1642 dasm_put(Dst, 6531);
1641 } else { 1643 } else {
1642 } 1644 }
1643 dasm_put(Dst, 6541); 1645 dasm_put(Dst, 6543);
1644 if (LJ_DUALNUM) { 1646 if (LJ_DUALNUM) {
1645 dasm_put(Dst, 6552, LJ_TISNUM); 1647 dasm_put(Dst, 6554, LJ_TISNUM);
1646 if (LJ_DUALNUM) { 1648 if (LJ_DUALNUM) {
1647 dasm_put(Dst, 6299); 1649 dasm_put(Dst, 6301);
1648 } else { 1650 } else {
1649 dasm_put(Dst, 2202); 1651 dasm_put(Dst, 2204);
1650 } 1652 }
1651 if (sse) { 1653 if (sse) {
1652 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1654 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1653 } else { 1655 } else {
1654 } 1656 }
1655 dasm_put(Dst, 6560, LJ_TISNUM); 1657 dasm_put(Dst, 6562, LJ_TISNUM);
1656 } else if (sse) { 1658 } else if (sse) {
1657 dasm_put(Dst, 6575, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1659 dasm_put(Dst, 6577, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1658 } else { 1660 } else {
1659 } 1661 }
1660 dasm_put(Dst, 6642); 1662 dasm_put(Dst, 6644);
1661 if (LJ_DUALNUM) { 1663 if (LJ_DUALNUM) {
1662 dasm_put(Dst, 6649, LJ_TISNUM); 1664 dasm_put(Dst, 6651, LJ_TISNUM);
1663 if (LJ_DUALNUM) { 1665 if (LJ_DUALNUM) {
1664 dasm_put(Dst, 6299); 1666 dasm_put(Dst, 6301);
1665 } else { 1667 } else {
1666 dasm_put(Dst, 2202); 1668 dasm_put(Dst, 2204);
1667 } 1669 }
1668 if (sse) { 1670 if (sse) {
1669 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1671 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1670 } else { 1672 } else {
1671 } 1673 }
1672 dasm_put(Dst, 6560, LJ_TISNUM); 1674 dasm_put(Dst, 6562, LJ_TISNUM);
1673 } else if (sse) { 1675 } else if (sse) {
1674 dasm_put(Dst, 6657, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1676 dasm_put(Dst, 6659, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1675 } else { 1677 } else {
1676 } 1678 }
1677 dasm_put(Dst, 6724); 1679 dasm_put(Dst, 6726);
1678 if (LJ_DUALNUM) { 1680 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6732, LJ_TISNUM); 1681 dasm_put(Dst, 6734, LJ_TISNUM);
1680 if (LJ_DUALNUM) { 1682 if (LJ_DUALNUM) {
1681 dasm_put(Dst, 6299); 1683 dasm_put(Dst, 6301);
1682 } else { 1684 } else {
1683 dasm_put(Dst, 2202); 1685 dasm_put(Dst, 2204);
1684 } 1686 }
1685 if (sse) { 1687 if (sse) {
1686 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1688 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1687 } else { 1689 } else {
1688 } 1690 }
1689 dasm_put(Dst, 6560, LJ_TISNUM); 1691 dasm_put(Dst, 6562, LJ_TISNUM);
1690 } else if (sse) { 1692 } else if (sse) {
1691 dasm_put(Dst, 6740, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1693 dasm_put(Dst, 6742, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1692 } else { 1694 } else {
1693 } 1695 }
1694 dasm_put(Dst, 6807); 1696 dasm_put(Dst, 6809);
1695 if (LJ_DUALNUM) { 1697 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6815, LJ_TISNUM); 1698 dasm_put(Dst, 6817, LJ_TISNUM);
1697 if (LJ_DUALNUM) { 1699 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6299); 1700 dasm_put(Dst, 6301);
1699 } else { 1701 } else {
1700 dasm_put(Dst, 2202); 1702 dasm_put(Dst, 2204);
1701 } 1703 }
1702 if (sse) { 1704 if (sse) {
1703 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1705 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1704 } else { 1706 } else {
1705 } 1707 }
1706 dasm_put(Dst, 6560, LJ_TISNUM); 1708 dasm_put(Dst, 6562, LJ_TISNUM);
1707 } else if (sse) { 1709 } else if (sse) {
1708 dasm_put(Dst, 6823, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1710 dasm_put(Dst, 6825, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1709 } else { 1711 } else {
1710 } 1712 }
1711 dasm_put(Dst, 6890); 1713 dasm_put(Dst, 6892);
1712 if (LJ_DUALNUM) { 1714 if (LJ_DUALNUM) {
1713 dasm_put(Dst, 6897, LJ_TISNUM); 1715 dasm_put(Dst, 6899, LJ_TISNUM);
1714 if (LJ_DUALNUM) { 1716 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6299); 1717 dasm_put(Dst, 6301);
1716 } else { 1718 } else {
1717 dasm_put(Dst, 2202); 1719 dasm_put(Dst, 2204);
1718 } 1720 }
1719 if (sse) { 1721 if (sse) {
1720 dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1722 dasm_put(Dst, 6250, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1721 } else { 1723 } else {
1722 } 1724 }
1723 dasm_put(Dst, 6560, LJ_TISNUM); 1725 dasm_put(Dst, 6562, LJ_TISNUM);
1724 } else if (sse) { 1726 } else if (sse) {
1725 dasm_put(Dst, 6905, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); 1727 dasm_put(Dst, 6907, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1726 } else { 1728 } else {
1727 } 1729 }
1728 dasm_put(Dst, 6972, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1730 dasm_put(Dst, 6974, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1729 dasm_put(Dst, 7048, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1731 dasm_put(Dst, 7050, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1730 dasm_put(Dst, 7175, Dt1(->top), Dt1(->base), Dt1(->top)); 1732 dasm_put(Dst, 7177, Dt1(->top), Dt1(->base), Dt1(->top));
1731#if LJ_HASJIT 1733#if LJ_HASJIT
1732 dasm_put(Dst, 7214, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1734 dasm_put(Dst, 7216, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1733#endif 1735#endif
1734 dasm_put(Dst, 7245, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1736 dasm_put(Dst, 7247, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1735 dasm_put(Dst, 7296, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1737 dasm_put(Dst, 7298, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1736#if LJ_HASJIT 1738#if LJ_HASJIT
1737 dasm_put(Dst, 7363, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1739 dasm_put(Dst, 7365, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1738#endif 1740#endif
1739 dasm_put(Dst, 7410); 1741 dasm_put(Dst, 7412);
1740#if LJ_HASJIT 1742#if LJ_HASJIT
1741 dasm_put(Dst, 7240); 1743 dasm_put(Dst, 7242);
1742#endif 1744#endif
1743 dasm_put(Dst, 7417); 1745 dasm_put(Dst, 7419);
1744#if LJ_HASJIT 1746#if LJ_HASJIT
1745 dasm_put(Dst, 7420); 1747 dasm_put(Dst, 7422);
1746#endif 1748#endif
1747 dasm_put(Dst, 7430, Dt1(->base), Dt1(->top)); 1749 dasm_put(Dst, 7432, Dt1(->base), Dt1(->top));
1748#if LJ_HASJIT 1750#if LJ_HASJIT
1749 dasm_put(Dst, 7464); 1751 dasm_put(Dst, 7466);
1750#endif 1752#endif
1751 dasm_put(Dst, 7469, Dt1(->base), Dt1(->top)); 1753 dasm_put(Dst, 7471, Dt1(->base), Dt1(->top));
1752#if LJ_HASJIT 1754#if LJ_HASJIT
1753 dasm_put(Dst, 7500, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1755 dasm_put(Dst, 7502, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1754#endif 1756#endif
1755 dasm_put(Dst, 7730); 1757 dasm_put(Dst, 7732);
1756#if LJ_HASJIT 1758#if LJ_HASJIT
1757 dasm_put(Dst, 7733, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1759 dasm_put(Dst, 7735, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1758 dasm_put(Dst, 7875); 1760 dasm_put(Dst, 7877);
1759#endif 1761#endif
1760 dasm_put(Dst, 7901); 1762 dasm_put(Dst, 7903);
1761 if (!sse) { 1763 if (!sse) {
1762 dasm_put(Dst, 7904); 1764 dasm_put(Dst, 7906);
1763 } 1765 }
1764 dasm_put(Dst, 7949, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1766 dasm_put(Dst, 7951, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1765 if (!sse) { 1767 if (!sse) {
1766 dasm_put(Dst, 8035); 1768 dasm_put(Dst, 8037);
1767 } 1769 }
1768 dasm_put(Dst, 8080, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); 1770 dasm_put(Dst, 8082, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1769 if (!sse) { 1771 if (!sse) {
1770 dasm_put(Dst, 8166); 1772 dasm_put(Dst, 8168);
1771 } 1773 }
1772 dasm_put(Dst, 8205, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1774 dasm_put(Dst, 8207, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1773 if (sse) { 1775 if (sse) {
1774 dasm_put(Dst, 8294, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1776 dasm_put(Dst, 8296, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1775 } else { 1777 } else {
1776 dasm_put(Dst, 8408); 1778 dasm_put(Dst, 8410);
1777 } 1779 }
1778 dasm_put(Dst, 8455); 1780 dasm_put(Dst, 8457);
1779 if (!sse) { 1781 if (!sse) {
1780 } else { 1782 } else {
1781 dasm_put(Dst, 8529); 1783 dasm_put(Dst, 8531);
1782 } 1784 }
1783 dasm_put(Dst, 8532); 1785 dasm_put(Dst, 8534);
1784 dasm_put(Dst, 8617, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); 1786 dasm_put(Dst, 8619, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1785 dasm_put(Dst, 8720, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); 1787 dasm_put(Dst, 8722, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1786 dasm_put(Dst, 8876); 1788 dasm_put(Dst, 8878);
1787#if LJ_HASJIT 1789#if LJ_HASJIT
1788 if (sse) { 1790 if (sse) {
1789 dasm_put(Dst, 8917); 1791 dasm_put(Dst, 8919);
1790 dasm_put(Dst, 8987); 1792 dasm_put(Dst, 8989);
1791 dasm_put(Dst, 9060); 1793 dasm_put(Dst, 9062);
1792 } else { 1794 } else {
1793 dasm_put(Dst, 9110); 1795 dasm_put(Dst, 9112);
1794 dasm_put(Dst, 9202); 1796 dasm_put(Dst, 9204);
1795 } 1797 }
1796 dasm_put(Dst, 9248); 1798 dasm_put(Dst, 9250);
1797#endif 1799#endif
1798 dasm_put(Dst, 9252); 1800 dasm_put(Dst, 9254);
1799 if (sse) { 1801 if (sse) {
1800 dasm_put(Dst, 9255, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 1802 dasm_put(Dst, 9257, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1801 dasm_put(Dst, 9344, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); 1803 dasm_put(Dst, 9346, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1802 } else { 1804 } else {
1803 dasm_put(Dst, 9468); 1805 dasm_put(Dst, 9470);
1804 dasm_put(Dst, 9551); 1806 dasm_put(Dst, 9553);
1805 if (cmov) { 1807 if (cmov) {
1806 dasm_put(Dst, 9606); 1808 dasm_put(Dst, 9608);
1807 } else { 1809 } else {
1808 dasm_put(Dst, 9625); 1810 dasm_put(Dst, 9627);
1809 } 1811 }
1810 dasm_put(Dst, 9248); 1812 dasm_put(Dst, 9250);
1811 } 1813 }
1812 dasm_put(Dst, 9666); 1814 dasm_put(Dst, 9668);
1813#if LJ_HASFFI 1815#if LJ_HASFFI
1814#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) 1816#define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1815 dasm_put(Dst, 9694, DtE(->spadj)); 1817 dasm_put(Dst, 9696, DtE(->spadj));
1816#if LJ_TARGET_WINDOWS 1818#if LJ_TARGET_WINDOWS
1817#endif 1819#endif
1818 dasm_put(Dst, 9709, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); 1820 dasm_put(Dst, 9711, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3]));
1819 dasm_put(Dst, 9790, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); 1821 dasm_put(Dst, 9792, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]));
1820#if LJ_TARGET_WINDOWS 1822#if LJ_TARGET_WINDOWS
1821#endif 1823#endif
1822 dasm_put(Dst, 9803); 1824 dasm_put(Dst, 9805);
1823#endif 1825#endif
1824 dasm_put(Dst, 9811); 1826 dasm_put(Dst, 9813);
1825#ifdef LUA_USE_ASSERT 1827#ifdef LUA_USE_ASSERT
1826 dasm_put(Dst, 9250); 1828 dasm_put(Dst, 9252);
1827#endif 1829#endif
1828 dasm_put(Dst, 9250); 1830 dasm_put(Dst, 9252);
1829} 1831}
1830 1832
1831/* Generate the code for a single instruction. */ 1833/* Generate the code for a single instruction. */
1832static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1834static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1833{ 1835{
1834 int vk = 0; 1836 int vk = 0;
1835 dasm_put(Dst, 9814, defop); 1837 dasm_put(Dst, 9816, defop);
1836 1838
1837 switch (op) { 1839 switch (op) {
1838 1840
@@ -1843,296 +1845,296 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1843 1845
1844 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1846 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1845 if (LJ_DUALNUM) { 1847 if (LJ_DUALNUM) {
1846 dasm_put(Dst, 9816, LJ_TISNUM, LJ_TISNUM); 1848 dasm_put(Dst, 9818, LJ_TISNUM, LJ_TISNUM);
1847 switch (op) { 1849 switch (op) {
1848 case BC_ISLT: 1850 case BC_ISLT:
1849 dasm_put(Dst, 9846); 1851 dasm_put(Dst, 9848);
1850 break; 1852 break;
1851 case BC_ISGE: 1853 case BC_ISGE:
1852 dasm_put(Dst, 9851); 1854 dasm_put(Dst, 9853);
1853 break; 1855 break;
1854 case BC_ISLE: 1856 case BC_ISLE:
1855 dasm_put(Dst, 9856); 1857 dasm_put(Dst, 9858);
1856 break; 1858 break;
1857 case BC_ISGT: 1859 case BC_ISGT:
1858 dasm_put(Dst, 9861); 1860 dasm_put(Dst, 9863);
1859 break; 1861 break;
1860 default: break; /* Shut up GCC. */ 1862 default: break; /* Shut up GCC. */
1861 } 1863 }
1862 dasm_put(Dst, 9866, -BCBIAS_J*4, LJ_TISNUM); 1864 dasm_put(Dst, 9868, -BCBIAS_J*4, LJ_TISNUM);
1863 if (sse) { 1865 if (sse) {
1864 dasm_put(Dst, 9920); 1866 dasm_put(Dst, 9922);
1865 } else { 1867 } else {
1866 dasm_put(Dst, 9931); 1868 dasm_put(Dst, 9933);
1867 } 1869 }
1868 dasm_put(Dst, 9942); 1870 dasm_put(Dst, 9944);
1869 if (sse) { 1871 if (sse) {
1870 dasm_put(Dst, 9949); 1872 dasm_put(Dst, 9951);
1871 switch (op) { 1873 switch (op) {
1872 case BC_ISLT: 1874 case BC_ISLT:
1873 dasm_put(Dst, 9969); 1875 dasm_put(Dst, 9971);
1874 break; 1876 break;
1875 case BC_ISGE: 1877 case BC_ISGE:
1876 dasm_put(Dst, 9974); 1878 dasm_put(Dst, 9976);
1877 break; 1879 break;
1878 case BC_ISLE: 1880 case BC_ISLE:
1879 dasm_put(Dst, 9979); 1881 dasm_put(Dst, 9981);
1880 break; 1882 break;
1881 case BC_ISGT: 1883 case BC_ISGT:
1882 dasm_put(Dst, 9984); 1884 dasm_put(Dst, 9986);
1883 break; 1885 break;
1884 default: break; /* Shut up GCC. */ 1886 default: break; /* Shut up GCC. */
1885 } 1887 }
1886 dasm_put(Dst, 9989); 1888 dasm_put(Dst, 9991);
1887 } else { 1889 } else {
1888 dasm_put(Dst, 9994); 1890 dasm_put(Dst, 9996);
1889 } 1891 }
1890 } else { 1892 } else {
1891 dasm_put(Dst, 10002, LJ_TISNUM, LJ_TISNUM); 1893 dasm_put(Dst, 10004, LJ_TISNUM, LJ_TISNUM);
1892 } 1894 }
1893 if (sse) { 1895 if (sse) {
1894 dasm_put(Dst, 10023); 1896 dasm_put(Dst, 10025);
1895 } else { 1897 } else {
1896 dasm_put(Dst, 10044); 1898 dasm_put(Dst, 10046);
1897 if (cmov) { 1899 if (cmov) {
1898 dasm_put(Dst, 10060); 1900 dasm_put(Dst, 10062);
1899 } else { 1901 } else {
1900 dasm_put(Dst, 10066); 1902 dasm_put(Dst, 10068);
1901 } 1903 }
1902 } 1904 }
1903 if (LJ_DUALNUM) { 1905 if (LJ_DUALNUM) {
1904 switch (op) { 1906 switch (op) {
1905 case BC_ISLT: 1907 case BC_ISLT:
1906 dasm_put(Dst, 9969); 1908 dasm_put(Dst, 9971);
1907 break; 1909 break;
1908 case BC_ISGE: 1910 case BC_ISGE:
1909 dasm_put(Dst, 9974); 1911 dasm_put(Dst, 9976);
1910 break; 1912 break;
1911 case BC_ISLE: 1913 case BC_ISLE:
1912 dasm_put(Dst, 9979); 1914 dasm_put(Dst, 9981);
1913 break; 1915 break;
1914 case BC_ISGT: 1916 case BC_ISGT:
1915 dasm_put(Dst, 9984); 1917 dasm_put(Dst, 9986);
1916 break; 1918 break;
1917 default: break; /* Shut up GCC. */ 1919 default: break; /* Shut up GCC. */
1918 } 1920 }
1919 dasm_put(Dst, 9989); 1921 dasm_put(Dst, 9991);
1920 } else { 1922 } else {
1921 switch (op) { 1923 switch (op) {
1922 case BC_ISLT: 1924 case BC_ISLT:
1923 dasm_put(Dst, 10073); 1925 dasm_put(Dst, 10075);
1924 break; 1926 break;
1925 case BC_ISGE: 1927 case BC_ISGE:
1926 dasm_put(Dst, 10078); 1928 dasm_put(Dst, 10080);
1927 break; 1929 break;
1928 case BC_ISLE: 1930 case BC_ISLE:
1929 dasm_put(Dst, 10083); 1931 dasm_put(Dst, 10085);
1930 break; 1932 break;
1931 case BC_ISGT: 1933 case BC_ISGT:
1932 dasm_put(Dst, 10088); 1934 dasm_put(Dst, 10090);
1933 break; 1935 break;
1934 default: break; /* Shut up GCC. */ 1936 default: break; /* Shut up GCC. */
1935 } 1937 }
1936 dasm_put(Dst, 10093, -BCBIAS_J*4); 1938 dasm_put(Dst, 10095, -BCBIAS_J*4);
1937 } 1939 }
1938 break; 1940 break;
1939 1941
1940 case BC_ISEQV: case BC_ISNEV: 1942 case BC_ISEQV: case BC_ISNEV:
1941 vk = op == BC_ISEQV; 1943 vk = op == BC_ISEQV;
1942 dasm_put(Dst, 10125); 1944 dasm_put(Dst, 10127);
1943 if (LJ_DUALNUM) { 1945 if (LJ_DUALNUM) {
1944 dasm_put(Dst, 10133, LJ_TISNUM, LJ_TISNUM); 1946 dasm_put(Dst, 10135, LJ_TISNUM, LJ_TISNUM);
1945 if (vk) { 1947 if (vk) {
1946 dasm_put(Dst, 10158); 1948 dasm_put(Dst, 10160);
1947 } else { 1949 } else {
1948 dasm_put(Dst, 10163); 1950 dasm_put(Dst, 10165);
1949 } 1951 }
1950 dasm_put(Dst, 10168, -BCBIAS_J*4, LJ_TISNUM); 1952 dasm_put(Dst, 10170, -BCBIAS_J*4, LJ_TISNUM);
1951 if (sse) { 1953 if (sse) {
1952 dasm_put(Dst, 10220); 1954 dasm_put(Dst, 10222);
1953 } else { 1955 } else {
1954 dasm_put(Dst, 10227); 1956 dasm_put(Dst, 10229);
1955 } 1957 }
1956 dasm_put(Dst, 10231); 1958 dasm_put(Dst, 10233);
1957 if (sse) { 1959 if (sse) {
1958 dasm_put(Dst, 10242); 1960 dasm_put(Dst, 10244);
1959 } else { 1961 } else {
1960 dasm_put(Dst, 10254); 1962 dasm_put(Dst, 10256);
1961 } 1963 }
1962 dasm_put(Dst, 10261); 1964 dasm_put(Dst, 10263);
1963 } else { 1965 } else {
1964 dasm_put(Dst, 10266, LJ_TISNUM, LJ_TISNUM); 1966 dasm_put(Dst, 10268, LJ_TISNUM, LJ_TISNUM);
1965 } 1967 }
1966 if (sse) { 1968 if (sse) {
1967 dasm_put(Dst, 10285); 1969 dasm_put(Dst, 10287);
1968 } else { 1970 } else {
1969 dasm_put(Dst, 10303); 1971 dasm_put(Dst, 10305);
1970 if (cmov) { 1972 if (cmov) {
1971 dasm_put(Dst, 10060); 1973 dasm_put(Dst, 10062);
1972 } else { 1974 } else {
1973 dasm_put(Dst, 10066); 1975 dasm_put(Dst, 10068);
1974 } 1976 }
1975 } 1977 }
1976 iseqne_fp: 1978 iseqne_fp:
1977 if (vk) { 1979 if (vk) {
1978 dasm_put(Dst, 10316); 1980 dasm_put(Dst, 10318);
1979 } else { 1981 } else {
1980 dasm_put(Dst, 10325); 1982 dasm_put(Dst, 10327);
1981 } 1983 }
1982 iseqne_end: 1984 iseqne_end:
1983 if (vk) { 1985 if (vk) {
1984 dasm_put(Dst, 10334, -BCBIAS_J*4); 1986 dasm_put(Dst, 10336, -BCBIAS_J*4);
1985 if (!LJ_HASFFI) { 1987 if (!LJ_HASFFI) {
1986 dasm_put(Dst, 4567); 1988 dasm_put(Dst, 4569);
1987 } 1989 }
1988 } else { 1990 } else {
1989 if (!LJ_HASFFI) { 1991 if (!LJ_HASFFI) {
1990 dasm_put(Dst, 4567); 1992 dasm_put(Dst, 4569);
1991 } 1993 }
1992 dasm_put(Dst, 10349, -BCBIAS_J*4); 1994 dasm_put(Dst, 10351, -BCBIAS_J*4);
1993 } 1995 }
1994 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || 1996 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
1995 op == BC_ISEQN || op == BC_ISNEN)) { 1997 op == BC_ISEQN || op == BC_ISNEN)) {
1996 dasm_put(Dst, 10364); 1998 dasm_put(Dst, 10366);
1997 } else { 1999 } else {
1998 dasm_put(Dst, 10105); 2000 dasm_put(Dst, 10107);
1999 } 2001 }
2000 if (op == BC_ISEQV || op == BC_ISNEV) { 2002 if (op == BC_ISEQV || op == BC_ISNEV) {
2001 dasm_put(Dst, 9787); 2003 dasm_put(Dst, 9789);
2002 if (LJ_HASFFI) { 2004 if (LJ_HASFFI) {
2003 dasm_put(Dst, 10369, LJ_TCDATA, LJ_TCDATA); 2005 dasm_put(Dst, 10371, LJ_TCDATA, LJ_TCDATA);
2004 } 2006 }
2005 dasm_put(Dst, 10388, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 2007 dasm_put(Dst, 10390, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2006 if (vk) { 2008 if (vk) {
2007 dasm_put(Dst, 10444); 2009 dasm_put(Dst, 10446);
2008 } else { 2010 } else {
2009 dasm_put(Dst, 10448); 2011 dasm_put(Dst, 10450);
2010 } 2012 }
2011 dasm_put(Dst, 10454); 2013 dasm_put(Dst, 10456);
2012 } else if (LJ_HASFFI) { 2014 } else if (LJ_HASFFI) {
2013 dasm_put(Dst, 10459, LJ_TCDATA); 2015 dasm_put(Dst, 10461, LJ_TCDATA);
2014 if (LJ_DUALNUM && vk) { 2016 if (LJ_DUALNUM && vk) {
2015 dasm_put(Dst, 10466); 2017 dasm_put(Dst, 10468);
2016 } else { 2018 } else {
2017 dasm_put(Dst, 10439); 2019 dasm_put(Dst, 10441);
2018 } 2020 }
2019 dasm_put(Dst, 10471); 2021 dasm_put(Dst, 10473);
2020 } 2022 }
2021 break; 2023 break;
2022 case BC_ISEQS: case BC_ISNES: 2024 case BC_ISEQS: case BC_ISNES:
2023 vk = op == BC_ISEQS; 2025 vk = op == BC_ISEQS;
2024 dasm_put(Dst, 10476, LJ_TSTR); 2026 dasm_put(Dst, 10478, LJ_TSTR);
2025 iseqne_test: 2027 iseqne_test:
2026 if (vk) { 2028 if (vk) {
2027 dasm_put(Dst, 10320); 2029 dasm_put(Dst, 10322);
2028 } else { 2030 } else {
2029 dasm_put(Dst, 2858); 2031 dasm_put(Dst, 2860);
2030 } 2032 }
2031 goto iseqne_end; 2033 goto iseqne_end;
2032 case BC_ISEQN: case BC_ISNEN: 2034 case BC_ISEQN: case BC_ISNEN:
2033 vk = op == BC_ISEQN; 2035 vk = op == BC_ISEQN;
2034 dasm_put(Dst, 10502); 2036 dasm_put(Dst, 10504);
2035 if (LJ_DUALNUM) { 2037 if (LJ_DUALNUM) {
2036 dasm_put(Dst, 10510, LJ_TISNUM, LJ_TISNUM); 2038 dasm_put(Dst, 10512, LJ_TISNUM, LJ_TISNUM);
2037 if (vk) { 2039 if (vk) {
2038 dasm_put(Dst, 10158); 2040 dasm_put(Dst, 10160);
2039 } else { 2041 } else {
2040 dasm_put(Dst, 10163); 2042 dasm_put(Dst, 10165);
2041 } 2043 }
2042 dasm_put(Dst, 10535, -BCBIAS_J*4, LJ_TISNUM); 2044 dasm_put(Dst, 10537, -BCBIAS_J*4, LJ_TISNUM);
2043 if (sse) { 2045 if (sse) {
2044 dasm_put(Dst, 10583); 2046 dasm_put(Dst, 10585);
2045 } else { 2047 } else {
2046 dasm_put(Dst, 10590); 2048 dasm_put(Dst, 10592);
2047 } 2049 }
2048 dasm_put(Dst, 10594); 2050 dasm_put(Dst, 10596);
2049 if (sse) { 2051 if (sse) {
2050 dasm_put(Dst, 10601); 2052 dasm_put(Dst, 10603);
2051 } else { 2053 } else {
2052 dasm_put(Dst, 10613); 2054 dasm_put(Dst, 10615);
2053 } 2055 }
2054 dasm_put(Dst, 10261); 2056 dasm_put(Dst, 10263);
2055 } else { 2057 } else {
2056 dasm_put(Dst, 10620, LJ_TISNUM); 2058 dasm_put(Dst, 10622, LJ_TISNUM);
2057 } 2059 }
2058 if (sse) { 2060 if (sse) {
2059 dasm_put(Dst, 10629); 2061 dasm_put(Dst, 10631);
2060 } else { 2062 } else {
2061 dasm_put(Dst, 10647); 2063 dasm_put(Dst, 10649);
2062 if (cmov) { 2064 if (cmov) {
2063 dasm_put(Dst, 10060); 2065 dasm_put(Dst, 10062);
2064 } else { 2066 } else {
2065 dasm_put(Dst, 10066); 2067 dasm_put(Dst, 10068);
2066 } 2068 }
2067 } 2069 }
2068 goto iseqne_fp; 2070 goto iseqne_fp;
2069 case BC_ISEQP: case BC_ISNEP: 2071 case BC_ISEQP: case BC_ISNEP:
2070 vk = op == BC_ISEQP; 2072 vk = op == BC_ISEQP;
2071 dasm_put(Dst, 10660); 2073 dasm_put(Dst, 10662);
2072 if (!LJ_HASFFI) goto iseqne_test; 2074 if (!LJ_HASFFI) goto iseqne_test;
2073 if (vk) { 2075 if (vk) {
2074 dasm_put(Dst, 10674, -BCBIAS_J*4, LJ_TCDATA); 2076 dasm_put(Dst, 10676, -BCBIAS_J*4, LJ_TCDATA);
2075 } else { 2077 } else {
2076 dasm_put(Dst, 10724, LJ_TCDATA, -BCBIAS_J*4); 2078 dasm_put(Dst, 10726, LJ_TCDATA, -BCBIAS_J*4);
2077 } 2079 }
2078 break; 2080 break;
2079 2081
2080 /* -- Unary test and copy ops ------------------------------------------- */ 2082 /* -- Unary test and copy ops ------------------------------------------- */
2081 2083
2082 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 2084 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2083 dasm_put(Dst, 10768, LJ_TISTRUECOND); 2085 dasm_put(Dst, 10770, LJ_TISTRUECOND);
2084 if (op == BC_IST || op == BC_ISTC) { 2086 if (op == BC_IST || op == BC_ISTC) {
2085 dasm_put(Dst, 10088); 2087 dasm_put(Dst, 10090);
2086 } else { 2088 } else {
2087 dasm_put(Dst, 10083); 2089 dasm_put(Dst, 10085);
2088 } 2090 }
2089 if (op == BC_ISTC || op == BC_ISFC) { 2091 if (op == BC_ISTC || op == BC_ISFC) {
2090 dasm_put(Dst, 10780); 2092 dasm_put(Dst, 10782);
2091 } 2093 }
2092 dasm_put(Dst, 10093, -BCBIAS_J*4); 2094 dasm_put(Dst, 10095, -BCBIAS_J*4);
2093 break; 2095 break;
2094 2096
2095 /* -- Unary ops --------------------------------------------------------- */ 2097 /* -- Unary ops --------------------------------------------------------- */
2096 2098
2097 case BC_MOV: 2099 case BC_MOV:
2098 dasm_put(Dst, 10791); 2100 dasm_put(Dst, 10793);
2099 break; 2101 break;
2100 case BC_NOT: 2102 case BC_NOT:
2101 dasm_put(Dst, 10819, LJ_TISTRUECOND, LJ_TTRUE); 2103 dasm_put(Dst, 10821, LJ_TISTRUECOND, LJ_TTRUE);
2102 break; 2104 break;
2103 case BC_UNM: 2105 case BC_UNM:
2104 if (LJ_DUALNUM) { 2106 if (LJ_DUALNUM) {
2105 dasm_put(Dst, 10855, LJ_TISNUM, LJ_TISNUM); 2107 dasm_put(Dst, 10857, LJ_TISNUM, LJ_TISNUM);
2106 } else { 2108 } else {
2107 dasm_put(Dst, 10932, LJ_TISNUM); 2109 dasm_put(Dst, 10934, LJ_TISNUM);
2108 } 2110 }
2109 if (sse) { 2111 if (sse) {
2110 dasm_put(Dst, 10943, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); 2112 dasm_put(Dst, 10945, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2111 } else { 2113 } else {
2112 dasm_put(Dst, 10968); 2114 dasm_put(Dst, 10970);
2113 } 2115 }
2114 if (LJ_DUALNUM) { 2116 if (LJ_DUALNUM) {
2115 dasm_put(Dst, 10364); 2117 dasm_put(Dst, 10366);
2116 } else { 2118 } else {
2117 dasm_put(Dst, 10105); 2119 dasm_put(Dst, 10107);
2118 } 2120 }
2119 break; 2121 break;
2120 case BC_LEN: 2122 case BC_LEN:
2121 dasm_put(Dst, 10977, LJ_TSTR); 2123 dasm_put(Dst, 10979, LJ_TSTR);
2122 if (LJ_DUALNUM) { 2124 if (LJ_DUALNUM) {
2123 dasm_put(Dst, 10991, Dt5(->len), LJ_TISNUM); 2125 dasm_put(Dst, 10993, Dt5(->len), LJ_TISNUM);
2124 } else if (sse) { 2126 } else if (sse) {
2125 dasm_put(Dst, 11005, Dt5(->len)); 2127 dasm_put(Dst, 11007, Dt5(->len));
2126 } else { 2128 } else {
2127 dasm_put(Dst, 11023, Dt5(->len)); 2129 dasm_put(Dst, 11025, Dt5(->len));
2128 } 2130 }
2129 dasm_put(Dst, 11032, LJ_TTAB); 2131 dasm_put(Dst, 11034, LJ_TTAB);
2130 if (LJ_DUALNUM) { 2132 if (LJ_DUALNUM) {
2131 } else if (sse) { 2133 } else if (sse) {
2132 dasm_put(Dst, 11073); 2134 dasm_put(Dst, 11075);
2133 } else { 2135 } else {
2134 } 2136 }
2135 dasm_put(Dst, 11079); 2137 dasm_put(Dst, 11081);
2136 break; 2138 break;
2137 2139
2138 /* -- Binary ops -------------------------------------------------------- */ 2140 /* -- Binary ops -------------------------------------------------------- */
@@ -2140,605 +2142,605 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2140 2142
2141 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 2143 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2142 if (LJ_DUALNUM) { 2144 if (LJ_DUALNUM) {
2143 dasm_put(Dst, 11092); 2145 dasm_put(Dst, 11094);
2144 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2146 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2145 switch (vk) { 2147 switch (vk) {
2146 case 0: 2148 case 0:
2147 dasm_put(Dst, 11100, LJ_TISNUM, LJ_TISNUM); 2149 dasm_put(Dst, 11102, LJ_TISNUM, LJ_TISNUM);
2148 break; 2150 break;
2149 case 1: 2151 case 1:
2150 dasm_put(Dst, 11133, LJ_TISNUM, LJ_TISNUM); 2152 dasm_put(Dst, 11135, LJ_TISNUM, LJ_TISNUM);
2151 break; 2153 break;
2152 default: 2154 default:
2153 dasm_put(Dst, 11166, LJ_TISNUM, LJ_TISNUM); 2155 dasm_put(Dst, 11168, LJ_TISNUM, LJ_TISNUM);
2154 break; 2156 break;
2155 } 2157 }
2156 dasm_put(Dst, 11199, LJ_TISNUM); 2158 dasm_put(Dst, 11201, LJ_TISNUM);
2157 if (vk == 1) { 2159 if (vk == 1) {
2158 dasm_put(Dst, 11001); 2160 dasm_put(Dst, 11003);
2159 } else { 2161 } else {
2160 dasm_put(Dst, 10787); 2162 dasm_put(Dst, 10789);
2161 } 2163 }
2162 dasm_put(Dst, 10105); 2164 dasm_put(Dst, 10107);
2163 } else { 2165 } else {
2164 dasm_put(Dst, 11092); 2166 dasm_put(Dst, 11094);
2165 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2167 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2166 switch (vk) { 2168 switch (vk) {
2167 case 0: 2169 case 0:
2168 dasm_put(Dst, 11205, LJ_TISNUM); 2170 dasm_put(Dst, 11207, LJ_TISNUM);
2169 if (LJ_DUALNUM) { 2171 if (LJ_DUALNUM) {
2170 dasm_put(Dst, 11217, LJ_TISNUM); 2172 dasm_put(Dst, 11219, LJ_TISNUM);
2171 } 2173 }
2172 if (sse) { 2174 if (sse) {
2173 dasm_put(Dst, 11228); 2175 dasm_put(Dst, 11230);
2174 } else { 2176 } else {
2175 dasm_put(Dst, 11242); 2177 dasm_put(Dst, 11244);
2176 } 2178 }
2177 break; 2179 break;
2178 case 1: 2180 case 1:
2179 dasm_put(Dst, 11250, LJ_TISNUM); 2181 dasm_put(Dst, 11252, LJ_TISNUM);
2180 if (LJ_DUALNUM) { 2182 if (LJ_DUALNUM) {
2181 dasm_put(Dst, 11262, LJ_TISNUM); 2183 dasm_put(Dst, 11264, LJ_TISNUM);
2182 } 2184 }
2183 if (sse) { 2185 if (sse) {
2184 dasm_put(Dst, 11273); 2186 dasm_put(Dst, 11275);
2185 } else { 2187 } else {
2186 dasm_put(Dst, 11287); 2188 dasm_put(Dst, 11289);
2187 } 2189 }
2188 break; 2190 break;
2189 default: 2191 default:
2190 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2192 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2191 if (sse) { 2193 if (sse) {
2192 dasm_put(Dst, 11317); 2194 dasm_put(Dst, 11319);
2193 } else { 2195 } else {
2194 dasm_put(Dst, 11331); 2196 dasm_put(Dst, 11333);
2195 } 2197 }
2196 break; 2198 break;
2197 } 2199 }
2198 if (sse) { 2200 if (sse) {
2199 dasm_put(Dst, 10961); 2201 dasm_put(Dst, 10963);
2200 } else { 2202 } else {
2201 dasm_put(Dst, 10973); 2203 dasm_put(Dst, 10975);
2202 } 2204 }
2203 dasm_put(Dst, 10105); 2205 dasm_put(Dst, 10107);
2204 } 2206 }
2205 break; 2207 break;
2206 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 2208 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2207 if (LJ_DUALNUM) { 2209 if (LJ_DUALNUM) {
2208 dasm_put(Dst, 11092); 2210 dasm_put(Dst, 11094);
2209 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2211 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2210 switch (vk) { 2212 switch (vk) {
2211 case 0: 2213 case 0:
2212 dasm_put(Dst, 11339, LJ_TISNUM, LJ_TISNUM); 2214 dasm_put(Dst, 11341, LJ_TISNUM, LJ_TISNUM);
2213 break; 2215 break;
2214 case 1: 2216 case 1:
2215 dasm_put(Dst, 11372, LJ_TISNUM, LJ_TISNUM); 2217 dasm_put(Dst, 11374, LJ_TISNUM, LJ_TISNUM);
2216 break; 2218 break;
2217 default: 2219 default:
2218 dasm_put(Dst, 11405, LJ_TISNUM, LJ_TISNUM); 2220 dasm_put(Dst, 11407, LJ_TISNUM, LJ_TISNUM);
2219 break; 2221 break;
2220 } 2222 }
2221 dasm_put(Dst, 11199, LJ_TISNUM); 2223 dasm_put(Dst, 11201, LJ_TISNUM);
2222 if (vk == 1) { 2224 if (vk == 1) {
2223 dasm_put(Dst, 11001); 2225 dasm_put(Dst, 11003);
2224 } else { 2226 } else {
2225 dasm_put(Dst, 10787); 2227 dasm_put(Dst, 10789);
2226 } 2228 }
2227 dasm_put(Dst, 10105); 2229 dasm_put(Dst, 10107);
2228 } else { 2230 } else {
2229 dasm_put(Dst, 11092); 2231 dasm_put(Dst, 11094);
2230 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2232 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2231 switch (vk) { 2233 switch (vk) {
2232 case 0: 2234 case 0:
2233 dasm_put(Dst, 11205, LJ_TISNUM); 2235 dasm_put(Dst, 11207, LJ_TISNUM);
2234 if (LJ_DUALNUM) { 2236 if (LJ_DUALNUM) {
2235 dasm_put(Dst, 11217, LJ_TISNUM); 2237 dasm_put(Dst, 11219, LJ_TISNUM);
2236 } 2238 }
2237 if (sse) { 2239 if (sse) {
2238 dasm_put(Dst, 11438); 2240 dasm_put(Dst, 11440);
2239 } else { 2241 } else {
2240 dasm_put(Dst, 11452); 2242 dasm_put(Dst, 11454);
2241 } 2243 }
2242 break; 2244 break;
2243 case 1: 2245 case 1:
2244 dasm_put(Dst, 11250, LJ_TISNUM); 2246 dasm_put(Dst, 11252, LJ_TISNUM);
2245 if (LJ_DUALNUM) { 2247 if (LJ_DUALNUM) {
2246 dasm_put(Dst, 11262, LJ_TISNUM); 2248 dasm_put(Dst, 11264, LJ_TISNUM);
2247 } 2249 }
2248 if (sse) { 2250 if (sse) {
2249 dasm_put(Dst, 11460); 2251 dasm_put(Dst, 11462);
2250 } else { 2252 } else {
2251 dasm_put(Dst, 11474); 2253 dasm_put(Dst, 11476);
2252 } 2254 }
2253 break; 2255 break;
2254 default: 2256 default:
2255 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2257 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2256 if (sse) { 2258 if (sse) {
2257 dasm_put(Dst, 11482); 2259 dasm_put(Dst, 11484);
2258 } else { 2260 } else {
2259 dasm_put(Dst, 11496); 2261 dasm_put(Dst, 11498);
2260 } 2262 }
2261 break; 2263 break;
2262 } 2264 }
2263 if (sse) { 2265 if (sse) {
2264 dasm_put(Dst, 10961); 2266 dasm_put(Dst, 10963);
2265 } else { 2267 } else {
2266 dasm_put(Dst, 10973); 2268 dasm_put(Dst, 10975);
2267 } 2269 }
2268 dasm_put(Dst, 10105); 2270 dasm_put(Dst, 10107);
2269 } 2271 }
2270 break; 2272 break;
2271 case BC_MULVN: case BC_MULNV: case BC_MULVV: 2273 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2272 if (LJ_DUALNUM) { 2274 if (LJ_DUALNUM) {
2273 dasm_put(Dst, 11092); 2275 dasm_put(Dst, 11094);
2274 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2276 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2275 switch (vk) { 2277 switch (vk) {
2276 case 0: 2278 case 0:
2277 dasm_put(Dst, 11504, LJ_TISNUM, LJ_TISNUM); 2279 dasm_put(Dst, 11506, LJ_TISNUM, LJ_TISNUM);
2278 break; 2280 break;
2279 case 1: 2281 case 1:
2280 dasm_put(Dst, 11538, LJ_TISNUM, LJ_TISNUM); 2282 dasm_put(Dst, 11540, LJ_TISNUM, LJ_TISNUM);
2281 break; 2283 break;
2282 default: 2284 default:
2283 dasm_put(Dst, 11572, LJ_TISNUM, LJ_TISNUM); 2285 dasm_put(Dst, 11574, LJ_TISNUM, LJ_TISNUM);
2284 break; 2286 break;
2285 } 2287 }
2286 dasm_put(Dst, 11199, LJ_TISNUM); 2288 dasm_put(Dst, 11201, LJ_TISNUM);
2287 if (vk == 1) { 2289 if (vk == 1) {
2288 dasm_put(Dst, 11001); 2290 dasm_put(Dst, 11003);
2289 } else { 2291 } else {
2290 dasm_put(Dst, 10787); 2292 dasm_put(Dst, 10789);
2291 } 2293 }
2292 dasm_put(Dst, 10105); 2294 dasm_put(Dst, 10107);
2293 } else { 2295 } else {
2294 dasm_put(Dst, 11092); 2296 dasm_put(Dst, 11094);
2295 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2297 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2296 switch (vk) { 2298 switch (vk) {
2297 case 0: 2299 case 0:
2298 dasm_put(Dst, 11205, LJ_TISNUM); 2300 dasm_put(Dst, 11207, LJ_TISNUM);
2299 if (LJ_DUALNUM) { 2301 if (LJ_DUALNUM) {
2300 dasm_put(Dst, 11217, LJ_TISNUM); 2302 dasm_put(Dst, 11219, LJ_TISNUM);
2301 } 2303 }
2302 if (sse) { 2304 if (sse) {
2303 dasm_put(Dst, 11606); 2305 dasm_put(Dst, 11608);
2304 } else { 2306 } else {
2305 dasm_put(Dst, 11620); 2307 dasm_put(Dst, 11622);
2306 } 2308 }
2307 break; 2309 break;
2308 case 1: 2310 case 1:
2309 dasm_put(Dst, 11250, LJ_TISNUM); 2311 dasm_put(Dst, 11252, LJ_TISNUM);
2310 if (LJ_DUALNUM) { 2312 if (LJ_DUALNUM) {
2311 dasm_put(Dst, 11262, LJ_TISNUM); 2313 dasm_put(Dst, 11264, LJ_TISNUM);
2312 } 2314 }
2313 if (sse) { 2315 if (sse) {
2314 dasm_put(Dst, 11628); 2316 dasm_put(Dst, 11630);
2315 } else { 2317 } else {
2316 dasm_put(Dst, 11642); 2318 dasm_put(Dst, 11644);
2317 } 2319 }
2318 break; 2320 break;
2319 default: 2321 default:
2320 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2322 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2321 if (sse) { 2323 if (sse) {
2322 dasm_put(Dst, 11650); 2324 dasm_put(Dst, 11652);
2323 } else { 2325 } else {
2324 dasm_put(Dst, 11664); 2326 dasm_put(Dst, 11666);
2325 } 2327 }
2326 break; 2328 break;
2327 } 2329 }
2328 if (sse) { 2330 if (sse) {
2329 dasm_put(Dst, 10961); 2331 dasm_put(Dst, 10963);
2330 } else { 2332 } else {
2331 dasm_put(Dst, 10973); 2333 dasm_put(Dst, 10975);
2332 } 2334 }
2333 dasm_put(Dst, 10105); 2335 dasm_put(Dst, 10107);
2334 } 2336 }
2335 break; 2337 break;
2336 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 2338 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2337 dasm_put(Dst, 11092); 2339 dasm_put(Dst, 11094);
2338 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2340 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2339 switch (vk) { 2341 switch (vk) {
2340 case 0: 2342 case 0:
2341 dasm_put(Dst, 11205, LJ_TISNUM); 2343 dasm_put(Dst, 11207, LJ_TISNUM);
2342 if (LJ_DUALNUM) { 2344 if (LJ_DUALNUM) {
2343 dasm_put(Dst, 11217, LJ_TISNUM); 2345 dasm_put(Dst, 11219, LJ_TISNUM);
2344 } 2346 }
2345 if (sse) { 2347 if (sse) {
2346 dasm_put(Dst, 11672); 2348 dasm_put(Dst, 11674);
2347 } else { 2349 } else {
2348 dasm_put(Dst, 11686); 2350 dasm_put(Dst, 11688);
2349 } 2351 }
2350 break; 2352 break;
2351 case 1: 2353 case 1:
2352 dasm_put(Dst, 11250, LJ_TISNUM); 2354 dasm_put(Dst, 11252, LJ_TISNUM);
2353 if (LJ_DUALNUM) { 2355 if (LJ_DUALNUM) {
2354 dasm_put(Dst, 11262, LJ_TISNUM); 2356 dasm_put(Dst, 11264, LJ_TISNUM);
2355 } 2357 }
2356 if (sse) { 2358 if (sse) {
2357 dasm_put(Dst, 11694); 2359 dasm_put(Dst, 11696);
2358 } else { 2360 } else {
2359 dasm_put(Dst, 11708); 2361 dasm_put(Dst, 11710);
2360 } 2362 }
2361 break; 2363 break;
2362 default: 2364 default:
2363 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2365 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2364 if (sse) { 2366 if (sse) {
2365 dasm_put(Dst, 11716); 2367 dasm_put(Dst, 11718);
2366 } else { 2368 } else {
2367 dasm_put(Dst, 11730); 2369 dasm_put(Dst, 11732);
2368 } 2370 }
2369 break; 2371 break;
2370 } 2372 }
2371 if (sse) { 2373 if (sse) {
2372 dasm_put(Dst, 10961); 2374 dasm_put(Dst, 10963);
2373 } else { 2375 } else {
2374 dasm_put(Dst, 10973); 2376 dasm_put(Dst, 10975);
2375 } 2377 }
2376 dasm_put(Dst, 10105); 2378 dasm_put(Dst, 10107);
2377 break; 2379 break;
2378 case BC_MODVN: 2380 case BC_MODVN:
2379 dasm_put(Dst, 11092); 2381 dasm_put(Dst, 11094);
2380 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2382 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2381 switch (vk) { 2383 switch (vk) {
2382 case 0: 2384 case 0:
2383 dasm_put(Dst, 11205, LJ_TISNUM); 2385 dasm_put(Dst, 11207, LJ_TISNUM);
2384 if (LJ_DUALNUM) { 2386 if (LJ_DUALNUM) {
2385 dasm_put(Dst, 11217, LJ_TISNUM); 2387 dasm_put(Dst, 11219, LJ_TISNUM);
2386 } 2388 }
2387 if (sse) { 2389 if (sse) {
2388 dasm_put(Dst, 11738); 2390 dasm_put(Dst, 11740);
2389 } else { 2391 } else {
2390 dasm_put(Dst, 11752); 2392 dasm_put(Dst, 11754);
2391 } 2393 }
2392 break; 2394 break;
2393 case 1: 2395 case 1:
2394 dasm_put(Dst, 11250, LJ_TISNUM); 2396 dasm_put(Dst, 11252, LJ_TISNUM);
2395 if (LJ_DUALNUM) { 2397 if (LJ_DUALNUM) {
2396 dasm_put(Dst, 11262, LJ_TISNUM); 2398 dasm_put(Dst, 11264, LJ_TISNUM);
2397 } 2399 }
2398 if (sse) { 2400 if (sse) {
2399 dasm_put(Dst, 11760); 2401 dasm_put(Dst, 11762);
2400 } else { 2402 } else {
2401 dasm_put(Dst, 11774); 2403 dasm_put(Dst, 11776);
2402 } 2404 }
2403 break; 2405 break;
2404 default: 2406 default:
2405 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2407 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2406 if (sse) { 2408 if (sse) {
2407 dasm_put(Dst, 11782); 2409 dasm_put(Dst, 11784);
2408 } else { 2410 } else {
2409 dasm_put(Dst, 11796); 2411 dasm_put(Dst, 11798);
2410 } 2412 }
2411 break; 2413 break;
2412 } 2414 }
2413 dasm_put(Dst, 11804); 2415 dasm_put(Dst, 11806);
2414 if (sse) { 2416 if (sse) {
2415 dasm_put(Dst, 10961); 2417 dasm_put(Dst, 10963);
2416 } else { 2418 } else {
2417 dasm_put(Dst, 10973); 2419 dasm_put(Dst, 10975);
2418 } 2420 }
2419 dasm_put(Dst, 10105); 2421 dasm_put(Dst, 10107);
2420 break; 2422 break;
2421 case BC_MODNV: case BC_MODVV: 2423 case BC_MODNV: case BC_MODVV:
2422 dasm_put(Dst, 11092); 2424 dasm_put(Dst, 11094);
2423 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2425 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2424 switch (vk) { 2426 switch (vk) {
2425 case 0: 2427 case 0:
2426 dasm_put(Dst, 11205, LJ_TISNUM); 2428 dasm_put(Dst, 11207, LJ_TISNUM);
2427 if (LJ_DUALNUM) { 2429 if (LJ_DUALNUM) {
2428 dasm_put(Dst, 11217, LJ_TISNUM); 2430 dasm_put(Dst, 11219, LJ_TISNUM);
2429 } 2431 }
2430 if (sse) { 2432 if (sse) {
2431 dasm_put(Dst, 11738); 2433 dasm_put(Dst, 11740);
2432 } else { 2434 } else {
2433 dasm_put(Dst, 11752); 2435 dasm_put(Dst, 11754);
2434 } 2436 }
2435 break; 2437 break;
2436 case 1: 2438 case 1:
2437 dasm_put(Dst, 11250, LJ_TISNUM); 2439 dasm_put(Dst, 11252, LJ_TISNUM);
2438 if (LJ_DUALNUM) { 2440 if (LJ_DUALNUM) {
2439 dasm_put(Dst, 11262, LJ_TISNUM); 2441 dasm_put(Dst, 11264, LJ_TISNUM);
2440 } 2442 }
2441 if (sse) { 2443 if (sse) {
2442 dasm_put(Dst, 11760); 2444 dasm_put(Dst, 11762);
2443 } else { 2445 } else {
2444 dasm_put(Dst, 11774); 2446 dasm_put(Dst, 11776);
2445 } 2447 }
2446 break; 2448 break;
2447 default: 2449 default:
2448 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2450 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2449 if (sse) { 2451 if (sse) {
2450 dasm_put(Dst, 11782); 2452 dasm_put(Dst, 11784);
2451 } else { 2453 } else {
2452 dasm_put(Dst, 11796); 2454 dasm_put(Dst, 11798);
2453 } 2455 }
2454 break; 2456 break;
2455 } 2457 }
2456 dasm_put(Dst, 11810); 2458 dasm_put(Dst, 11812);
2457 break; 2459 break;
2458 case BC_POW: 2460 case BC_POW:
2459 dasm_put(Dst, 11092); 2461 dasm_put(Dst, 11094);
2460 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 2462 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2461 switch (vk) { 2463 switch (vk) {
2462 case 0: 2464 case 0:
2463 dasm_put(Dst, 11205, LJ_TISNUM); 2465 dasm_put(Dst, 11207, LJ_TISNUM);
2464 if (LJ_DUALNUM) { 2466 if (LJ_DUALNUM) {
2465 dasm_put(Dst, 11217, LJ_TISNUM); 2467 dasm_put(Dst, 11219, LJ_TISNUM);
2466 } 2468 }
2467 if (sse) { 2469 if (sse) {
2468 dasm_put(Dst, 11738); 2470 dasm_put(Dst, 11740);
2469 } else { 2471 } else {
2470 dasm_put(Dst, 11752); 2472 dasm_put(Dst, 11754);
2471 } 2473 }
2472 break; 2474 break;
2473 case 1: 2475 case 1:
2474 dasm_put(Dst, 11250, LJ_TISNUM); 2476 dasm_put(Dst, 11252, LJ_TISNUM);
2475 if (LJ_DUALNUM) { 2477 if (LJ_DUALNUM) {
2476 dasm_put(Dst, 11262, LJ_TISNUM); 2478 dasm_put(Dst, 11264, LJ_TISNUM);
2477 } 2479 }
2478 if (sse) { 2480 if (sse) {
2479 dasm_put(Dst, 11760); 2481 dasm_put(Dst, 11762);
2480 } else { 2482 } else {
2481 dasm_put(Dst, 11774); 2483 dasm_put(Dst, 11776);
2482 } 2484 }
2483 break; 2485 break;
2484 default: 2486 default:
2485 dasm_put(Dst, 11295, LJ_TISNUM, LJ_TISNUM); 2487 dasm_put(Dst, 11297, LJ_TISNUM, LJ_TISNUM);
2486 if (sse) { 2488 if (sse) {
2487 dasm_put(Dst, 11782); 2489 dasm_put(Dst, 11784);
2488 } else { 2490 } else {
2489 dasm_put(Dst, 11796); 2491 dasm_put(Dst, 11798);
2490 } 2492 }
2491 break; 2493 break;
2492 } 2494 }
2493 dasm_put(Dst, 11815); 2495 dasm_put(Dst, 11817);
2494 if (sse) { 2496 if (sse) {
2495 dasm_put(Dst, 10961); 2497 dasm_put(Dst, 10963);
2496 } else { 2498 } else {
2497 dasm_put(Dst, 10973); 2499 dasm_put(Dst, 10975);
2498 } 2500 }
2499 dasm_put(Dst, 10105); 2501 dasm_put(Dst, 10107);
2500 break; 2502 break;
2501 2503
2502 case BC_CAT: 2504 case BC_CAT:
2503 dasm_put(Dst, 11819, Dt1(->base), Dt1(->base)); 2505 dasm_put(Dst, 11821, Dt1(->base), Dt1(->base));
2504 break; 2506 break;
2505 2507
2506 /* -- Constant ops ------------------------------------------------------ */ 2508 /* -- Constant ops ------------------------------------------------------ */
2507 2509
2508 case BC_KSTR: 2510 case BC_KSTR:
2509 dasm_put(Dst, 11902, LJ_TSTR); 2511 dasm_put(Dst, 11904, LJ_TSTR);
2510 break; 2512 break;
2511 case BC_KCDATA: 2513 case BC_KCDATA:
2512#if LJ_HASFFI 2514#if LJ_HASFFI
2513 dasm_put(Dst, 11902, LJ_TCDATA); 2515 dasm_put(Dst, 11904, LJ_TCDATA);
2514#endif 2516#endif
2515 break; 2517 break;
2516 case BC_KSHORT: 2518 case BC_KSHORT:
2517 if (LJ_DUALNUM) { 2519 if (LJ_DUALNUM) {
2518 dasm_put(Dst, 11937, LJ_TISNUM); 2520 dasm_put(Dst, 11939, LJ_TISNUM);
2519 } else if (sse) { 2521 } else if (sse) {
2520 dasm_put(Dst, 11949); 2522 dasm_put(Dst, 11951);
2521 } else { 2523 } else {
2522 dasm_put(Dst, 11964); 2524 dasm_put(Dst, 11966);
2523 } 2525 }
2524 dasm_put(Dst, 10105); 2526 dasm_put(Dst, 10107);
2525 break; 2527 break;
2526 case BC_KNUM: 2528 case BC_KNUM:
2527 if (sse) { 2529 if (sse) {
2528 dasm_put(Dst, 11972); 2530 dasm_put(Dst, 11974);
2529 } else { 2531 } else {
2530 dasm_put(Dst, 11985); 2532 dasm_put(Dst, 11987);
2531 } 2533 }
2532 dasm_put(Dst, 10105); 2534 dasm_put(Dst, 10107);
2533 break; 2535 break;
2534 case BC_KPRI: 2536 case BC_KPRI:
2535 dasm_put(Dst, 11992); 2537 dasm_put(Dst, 11994);
2536 break; 2538 break;
2537 case BC_KNIL: 2539 case BC_KNIL:
2538 dasm_put(Dst, 12020, LJ_TNIL); 2540 dasm_put(Dst, 12022, LJ_TNIL);
2539 break; 2541 break;
2540 2542
2541 /* -- Upvalue and function ops ------------------------------------------ */ 2543 /* -- Upvalue and function ops ------------------------------------------ */
2542 2544
2543 case BC_UGET: 2545 case BC_UGET:
2544 dasm_put(Dst, 12067, offsetof(GCfuncL, uvptr), DtA(->v)); 2546 dasm_put(Dst, 12069, offsetof(GCfuncL, uvptr), DtA(->v));
2545 break; 2547 break;
2546 case BC_USETV: 2548 case BC_USETV:
2547#define TV2MARKOFS \ 2549#define TV2MARKOFS \
2548 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 2550 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2549 dasm_put(Dst, 12107, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G); 2551 dasm_put(Dst, 12109, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2550 dasm_put(Dst, 12198); 2552 dasm_put(Dst, 12200);
2551 break; 2553 break;
2552#undef TV2MARKOFS 2554#undef TV2MARKOFS
2553 case BC_USETS: 2555 case BC_USETS:
2554 dasm_put(Dst, 12210, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 2556 dasm_put(Dst, 12212, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2555 break; 2557 break;
2556 case BC_USETN: 2558 case BC_USETN:
2557 dasm_put(Dst, 12303); 2559 dasm_put(Dst, 12305);
2558 if (sse) { 2560 if (sse) {
2559 dasm_put(Dst, 12308); 2561 dasm_put(Dst, 12310);
2560 } else { 2562 } else {
2561 dasm_put(Dst, 10616); 2563 dasm_put(Dst, 10618);
2562 } 2564 }
2563 dasm_put(Dst, 12315, offsetof(GCfuncL, uvptr), DtA(->v)); 2565 dasm_put(Dst, 12317, offsetof(GCfuncL, uvptr), DtA(->v));
2564 if (sse) { 2566 if (sse) {
2565 dasm_put(Dst, 12324); 2567 dasm_put(Dst, 12326);
2566 } else { 2568 } else {
2567 dasm_put(Dst, 12330); 2569 dasm_put(Dst, 12332);
2568 } 2570 }
2569 dasm_put(Dst, 10105); 2571 dasm_put(Dst, 10107);
2570 break; 2572 break;
2571 case BC_USETP: 2573 case BC_USETP:
2572 dasm_put(Dst, 12333, offsetof(GCfuncL, uvptr), DtA(->v)); 2574 dasm_put(Dst, 12335, offsetof(GCfuncL, uvptr), DtA(->v));
2573 break; 2575 break;
2574 case BC_UCLO: 2576 case BC_UCLO:
2575 dasm_put(Dst, 12372, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2577 dasm_put(Dst, 12374, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2576 break; 2578 break;
2577 2579
2578 case BC_FNEW: 2580 case BC_FNEW:
2579 dasm_put(Dst, 12427, Dt1(->base), Dt1(->base), LJ_TFUNC); 2581 dasm_put(Dst, 12429, Dt1(->base), Dt1(->base), LJ_TFUNC);
2580 break; 2582 break;
2581 2583
2582 /* -- Table ops --------------------------------------------------------- */ 2584 /* -- Table ops --------------------------------------------------------- */
2583 2585
2584 case BC_TNEW: 2586 case BC_TNEW:
2585 dasm_put(Dst, 12493, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2587 dasm_put(Dst, 12495, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2586 break; 2588 break;
2587 case BC_TDUP: 2589 case BC_TDUP:
2588 dasm_put(Dst, 12615, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2590 dasm_put(Dst, 12617, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2589 break; 2591 break;
2590 2592
2591 case BC_GGET: 2593 case BC_GGET:
2592 dasm_put(Dst, 12710, Dt7(->env)); 2594 dasm_put(Dst, 12712, Dt7(->env));
2593 break; 2595 break;
2594 case BC_GSET: 2596 case BC_GSET:
2595 dasm_put(Dst, 12729, Dt7(->env)); 2597 dasm_put(Dst, 12731, Dt7(->env));
2596 break; 2598 break;
2597 2599
2598 case BC_TGETV: 2600 case BC_TGETV:
2599 dasm_put(Dst, 12748, LJ_TTAB); 2601 dasm_put(Dst, 12750, LJ_TTAB);
2600 if (LJ_DUALNUM) { 2602 if (LJ_DUALNUM) {
2601 dasm_put(Dst, 12771, LJ_TISNUM); 2603 dasm_put(Dst, 12773, LJ_TISNUM);
2602 } else { 2604 } else {
2603 dasm_put(Dst, 12785, LJ_TISNUM); 2605 dasm_put(Dst, 12787, LJ_TISNUM);
2604 if (sse) { 2606 if (sse) {
2605 dasm_put(Dst, 12796); 2607 dasm_put(Dst, 12798);
2606 } else { 2608 } else {
2607 } 2609 }
2608 dasm_put(Dst, 12817); 2610 dasm_put(Dst, 12819);
2609 } 2611 }
2610 dasm_put(Dst, 12822, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); 2612 dasm_put(Dst, 12824, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2611 dasm_put(Dst, 12913, LJ_TSTR); 2613 dasm_put(Dst, 12915, LJ_TSTR);
2612 break; 2614 break;
2613 case BC_TGETS: 2615 case BC_TGETS:
2614 dasm_put(Dst, 12931, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2616 dasm_put(Dst, 12933, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2615 dasm_put(Dst, 13015, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2617 dasm_put(Dst, 13017, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2616 break; 2618 break;
2617 case BC_TGETB: 2619 case BC_TGETB:
2618 dasm_put(Dst, 13086, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2620 dasm_put(Dst, 13088, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2619 dasm_put(Dst, 13181, LJ_TNIL); 2621 dasm_put(Dst, 13183, LJ_TNIL);
2620 break; 2622 break;
2621 2623
2622 case BC_TSETV: 2624 case BC_TSETV:
2623 dasm_put(Dst, 13198, LJ_TTAB); 2625 dasm_put(Dst, 13200, LJ_TTAB);
2624 if (LJ_DUALNUM) { 2626 if (LJ_DUALNUM) {
2625 dasm_put(Dst, 12771, LJ_TISNUM); 2627 dasm_put(Dst, 12773, LJ_TISNUM);
2626 } else { 2628 } else {
2627 dasm_put(Dst, 12785, LJ_TISNUM); 2629 dasm_put(Dst, 12787, LJ_TISNUM);
2628 if (sse) { 2630 if (sse) {
2629 dasm_put(Dst, 12796); 2631 dasm_put(Dst, 12798);
2630 } else { 2632 } else {
2631 } 2633 }
2632 dasm_put(Dst, 13221); 2634 dasm_put(Dst, 13223);
2633 } 2635 }
2634 dasm_put(Dst, 13226, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); 2636 dasm_put(Dst, 13228, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2635 dasm_put(Dst, 13306, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2637 dasm_put(Dst, 13308, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2636 break; 2638 break;
2637 case BC_TSETS: 2639 case BC_TSETS:
2638 dasm_put(Dst, 13363, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2640 dasm_put(Dst, 13365, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2639 dasm_put(Dst, 13439, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2641 dasm_put(Dst, 13441, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2640 dasm_put(Dst, 13527, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2642 dasm_put(Dst, 13529, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2641 break; 2643 break;
2642 case BC_TSETB: 2644 case BC_TSETB:
2643 dasm_put(Dst, 13618, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2645 dasm_put(Dst, 13620, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2644 dasm_put(Dst, 13712, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2646 dasm_put(Dst, 13714, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2645 break; 2647 break;
2646 2648
2647 case BC_TSETM: 2649 case BC_TSETM:
2648 dasm_put(Dst, 13758, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2650 dasm_put(Dst, 13760, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2649 dasm_put(Dst, 13901, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2651 dasm_put(Dst, 13903, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2650 break; 2652 break;
2651 2653
2652 /* -- Calls and vararg handling ----------------------------------------- */ 2654 /* -- Calls and vararg handling ----------------------------------------- */
2653 2655
2654 case BC_CALL: case BC_CALLM: 2656 case BC_CALL: case BC_CALLM:
2655 dasm_put(Dst, 11096); 2657 dasm_put(Dst, 11098);
2656 if (op == BC_CALLM) { 2658 if (op == BC_CALLM) {
2657 dasm_put(Dst, 13919); 2659 dasm_put(Dst, 13921);
2658 } 2660 }
2659 dasm_put(Dst, 13924, LJ_TFUNC, Dt7(->pc)); 2661 dasm_put(Dst, 13926, LJ_TFUNC, Dt7(->pc));
2660 break; 2662 break;
2661 2663
2662 case BC_CALLMT: 2664 case BC_CALLMT:
2663 dasm_put(Dst, 13919); 2665 dasm_put(Dst, 13921);
2664 break; 2666 break;
2665 case BC_CALLT: 2667 case BC_CALLT:
2666 dasm_put(Dst, 13966, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2668 dasm_put(Dst, 13968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2667 dasm_put(Dst, 14081, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2669 dasm_put(Dst, 14083, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2668 break; 2670 break;
2669 2671
2670 case BC_ITERC: 2672 case BC_ITERC:
2671 dasm_put(Dst, 14152, LJ_TFUNC, 2+1, Dt7(->pc)); 2673 dasm_put(Dst, 14154, LJ_TFUNC, 2+1, Dt7(->pc));
2672 break; 2674 break;
2673 2675
2674 case BC_ITERN: 2676 case BC_ITERN:
2675#if LJ_HASJIT 2677#if LJ_HASJIT
2676#endif 2678#endif
2677 dasm_put(Dst, 14223, Dt6(->asize), Dt6(->array), LJ_TNIL); 2679 dasm_put(Dst, 14225, Dt6(->asize), Dt6(->array), LJ_TNIL);
2678 if (LJ_DUALNUM) { 2680 if (LJ_DUALNUM) {
2679 dasm_put(Dst, 10996, LJ_TISNUM); 2681 dasm_put(Dst, 10998, LJ_TISNUM);
2680 } else if (sse) { 2682 } else if (sse) {
2681 dasm_put(Dst, 11073); 2683 dasm_put(Dst, 11075);
2682 } else { 2684 } else {
2683 dasm_put(Dst, 14269); 2685 dasm_put(Dst, 14271);
2684 } 2686 }
2685 dasm_put(Dst, 14275); 2687 dasm_put(Dst, 14277);
2686 if (LJ_DUALNUM) { 2688 if (LJ_DUALNUM) {
2687 } else if (sse) { 2689 } else if (sse) {
2688 dasm_put(Dst, 10961); 2690 dasm_put(Dst, 10963);
2689 } else { 2691 } else {
2690 dasm_put(Dst, 10973); 2692 dasm_put(Dst, 10975);
2691 } 2693 }
2692 dasm_put(Dst, 14288, -BCBIAS_J*4); 2694 dasm_put(Dst, 14290, -BCBIAS_J*4);
2693 if (!LJ_DUALNUM && !sse) { 2695 if (!LJ_DUALNUM && !sse) {
2694 dasm_put(Dst, 14340); 2696 dasm_put(Dst, 14342);
2695 } 2697 }
2696 dasm_put(Dst, 14346, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); 2698 dasm_put(Dst, 14348, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2697 break; 2699 break;
2698 2700
2699 case BC_ISNEXT: 2701 case BC_ISNEXT:
2700 dasm_put(Dst, 14418, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); 2702 dasm_put(Dst, 14420, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2701 break; 2703 break;
2702 2704
2703 case BC_VARG: 2705 case BC_VARG:
2704 dasm_put(Dst, 14518, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); 2706 dasm_put(Dst, 14520, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2705 dasm_put(Dst, 14678, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2707 dasm_put(Dst, 14680, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2706 break; 2708 break;
2707 2709
2708 /* -- Returns ----------------------------------------------------------- */ 2710 /* -- Returns ----------------------------------------------------------- */
2709 2711
2710 case BC_RETM: 2712 case BC_RETM:
2711 dasm_put(Dst, 13919); 2713 dasm_put(Dst, 13921);
2712 break; 2714 break;
2713 2715
2714 case BC_RET: case BC_RET0: case BC_RET1: 2716 case BC_RET: case BC_RET0: case BC_RET1:
2715 if (op != BC_RET0) { 2717 if (op != BC_RET0) {
2716 dasm_put(Dst, 14744); 2718 dasm_put(Dst, 14746);
2717 } 2719 }
2718 dasm_put(Dst, 14748, FRAME_TYPE); 2720 dasm_put(Dst, 14750, FRAME_TYPE);
2719 switch (op) { 2721 switch (op) {
2720 case BC_RET: 2722 case BC_RET:
2721 dasm_put(Dst, 14767); 2723 dasm_put(Dst, 14769);
2722 break; 2724 break;
2723 case BC_RET1: 2725 case BC_RET1:
2724 dasm_put(Dst, 14819); 2726 dasm_put(Dst, 14821);
2725 /* fallthrough */ 2727 /* fallthrough */
2726 case BC_RET0: 2728 case BC_RET0:
2727 dasm_put(Dst, 14829); 2729 dasm_put(Dst, 14831);
2728 default: 2730 default:
2729 break; 2731 break;
2730 } 2732 }
2731 dasm_put(Dst, 14840, Dt7(->pc), PC2PROTO(k)); 2733 dasm_put(Dst, 14842, Dt7(->pc), PC2PROTO(k));
2732 if (op == BC_RET) { 2734 if (op == BC_RET) {
2733 dasm_put(Dst, 14884, LJ_TNIL); 2735 dasm_put(Dst, 14886, LJ_TNIL);
2734 } else { 2736 } else {
2735 dasm_put(Dst, 14893, LJ_TNIL); 2737 dasm_put(Dst, 14895, LJ_TNIL);
2736 } 2738 }
2737 dasm_put(Dst, 14900, -FRAME_VARG, FRAME_TYPEP); 2739 dasm_put(Dst, 14902, -FRAME_VARG, FRAME_TYPEP);
2738 if (op != BC_RET0) { 2740 if (op != BC_RET0) {
2739 dasm_put(Dst, 14924); 2741 dasm_put(Dst, 14926);
2740 } 2742 }
2741 dasm_put(Dst, 4646); 2743 dasm_put(Dst, 4648);
2742 break; 2744 break;
2743 2745
2744 /* -- Loops and branches ------------------------------------------------ */ 2746 /* -- Loops and branches ------------------------------------------------ */
@@ -2746,7 +2748,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2746 2748
2747 case BC_FORL: 2749 case BC_FORL:
2748#if LJ_HASJIT 2750#if LJ_HASJIT
2749 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2751 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2750#endif 2752#endif
2751 break; 2753 break;
2752 2754
@@ -2758,111 +2760,111 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2758 case BC_FORI: 2760 case BC_FORI:
2759 case BC_IFORL: 2761 case BC_IFORL:
2760 vk = (op == BC_IFORL || op == BC_JFORL); 2762 vk = (op == BC_IFORL || op == BC_JFORL);
2761 dasm_put(Dst, 14949); 2763 dasm_put(Dst, 14951);
2762 if (LJ_DUALNUM) { 2764 if (LJ_DUALNUM) {
2763 dasm_put(Dst, 14953, LJ_TISNUM); 2765 dasm_put(Dst, 14955, LJ_TISNUM);
2764 if (!vk) { 2766 if (!vk) {
2765 dasm_put(Dst, 14963, LJ_TISNUM, LJ_TISNUM); 2767 dasm_put(Dst, 14965, LJ_TISNUM, LJ_TISNUM);
2766 } else { 2768 } else {
2767#ifdef LUA_USE_ASSERT 2769#ifdef LUA_USE_ASSERT
2768 dasm_put(Dst, 14992, LJ_TISNUM, LJ_TISNUM); 2770 dasm_put(Dst, 14994, LJ_TISNUM, LJ_TISNUM);
2769#endif 2771#endif
2770 dasm_put(Dst, 15011); 2772 dasm_put(Dst, 15013);
2771 } 2773 }
2772 dasm_put(Dst, 15030, LJ_TISNUM); 2774 dasm_put(Dst, 15032, LJ_TISNUM);
2773 if (op == BC_FORI) { 2775 if (op == BC_FORI) {
2774 dasm_put(Dst, 15041, -BCBIAS_J*4); 2776 dasm_put(Dst, 15043, -BCBIAS_J*4);
2775 } else if (op == BC_JFORI) { 2777 } else if (op == BC_JFORI) {
2776 dasm_put(Dst, 15055, -BCBIAS_J*4, BC_JLOOP); 2778 dasm_put(Dst, 15057, -BCBIAS_J*4, BC_JLOOP);
2777 } else if (op == BC_IFORL) { 2779 } else if (op == BC_IFORL) {
2778 dasm_put(Dst, 15073, -BCBIAS_J*4); 2780 dasm_put(Dst, 15075, -BCBIAS_J*4);
2779 } else { 2781 } else {
2780 dasm_put(Dst, 15065, BC_JLOOP); 2782 dasm_put(Dst, 15067, BC_JLOOP);
2781 } 2783 }
2782 dasm_put(Dst, 15087); 2784 dasm_put(Dst, 15089);
2783 if (vk) { 2785 if (vk) {
2784 dasm_put(Dst, 15111); 2786 dasm_put(Dst, 15113);
2785 } 2787 }
2786 dasm_put(Dst, 15030, LJ_TISNUM); 2788 dasm_put(Dst, 15032, LJ_TISNUM);
2787 if (op == BC_FORI) { 2789 if (op == BC_FORI) {
2788 dasm_put(Dst, 15120); 2790 dasm_put(Dst, 15122);
2789 } else if (op == BC_JFORI) { 2791 } else if (op == BC_JFORI) {
2790 dasm_put(Dst, 15125, -BCBIAS_J*4, BC_JLOOP); 2792 dasm_put(Dst, 15127, -BCBIAS_J*4, BC_JLOOP);
2791 } else if (op == BC_IFORL) { 2793 } else if (op == BC_IFORL) {
2792 dasm_put(Dst, 15139); 2794 dasm_put(Dst, 15141);
2793 } else { 2795 } else {
2794 dasm_put(Dst, 15135, BC_JLOOP); 2796 dasm_put(Dst, 15137, BC_JLOOP);
2795 } 2797 }
2796 dasm_put(Dst, 15144); 2798 dasm_put(Dst, 15146);
2797 } else if (!vk) { 2799 } else if (!vk) {
2798 dasm_put(Dst, 15151, LJ_TISNUM); 2800 dasm_put(Dst, 15153, LJ_TISNUM);
2799 } 2801 }
2800 if (!vk) { 2802 if (!vk) {
2801 dasm_put(Dst, 15157, LJ_TISNUM); 2803 dasm_put(Dst, 15159, LJ_TISNUM);
2802 } else { 2804 } else {
2803#ifdef LUA_USE_ASSERT 2805#ifdef LUA_USE_ASSERT
2804 dasm_put(Dst, 15171, LJ_TISNUM, LJ_TISNUM); 2806 dasm_put(Dst, 15173, LJ_TISNUM, LJ_TISNUM);
2805#endif 2807#endif
2806 } 2808 }
2807 dasm_put(Dst, 15190); 2809 dasm_put(Dst, 15192);
2808 if (!vk) { 2810 if (!vk) {
2809 dasm_put(Dst, 15194, LJ_TISNUM); 2811 dasm_put(Dst, 15196, LJ_TISNUM);
2810 } 2812 }
2811 if (sse) { 2813 if (sse) {
2812 dasm_put(Dst, 15203); 2814 dasm_put(Dst, 15205);
2813 if (vk) { 2815 if (vk) {
2814 dasm_put(Dst, 15215); 2816 dasm_put(Dst, 15217);
2815 } else { 2817 } else {
2816 dasm_put(Dst, 15234); 2818 dasm_put(Dst, 15236);
2817 } 2819 }
2818 dasm_put(Dst, 15239); 2820 dasm_put(Dst, 15241);
2819 } else { 2821 } else {
2820 dasm_put(Dst, 15252); 2822 dasm_put(Dst, 15254);
2821 if (vk) { 2823 if (vk) {
2822 dasm_put(Dst, 15258); 2824 dasm_put(Dst, 15260);
2823 } else { 2825 } else {
2824 dasm_put(Dst, 15274); 2826 dasm_put(Dst, 15276);
2825 } 2827 }
2826 dasm_put(Dst, 15282); 2828 dasm_put(Dst, 15284);
2827 if (cmov) { 2829 if (cmov) {
2828 dasm_put(Dst, 10060); 2830 dasm_put(Dst, 10062);
2829 } else { 2831 } else {
2830 dasm_put(Dst, 10066); 2832 dasm_put(Dst, 10068);
2831 } 2833 }
2832 if (!cmov) { 2834 if (!cmov) {
2833 dasm_put(Dst, 15287); 2835 dasm_put(Dst, 15289);
2834 } 2836 }
2835 } 2837 }
2836 if (op == BC_FORI) { 2838 if (op == BC_FORI) {
2837 if (LJ_DUALNUM) { 2839 if (LJ_DUALNUM) {
2838 dasm_put(Dst, 15293); 2840 dasm_put(Dst, 15295);
2839 } else { 2841 } else {
2840 dasm_put(Dst, 15298, -BCBIAS_J*4); 2842 dasm_put(Dst, 15300, -BCBIAS_J*4);
2841 } 2843 }
2842 } else if (op == BC_JFORI) { 2844 } else if (op == BC_JFORI) {
2843 dasm_put(Dst, 15308, -BCBIAS_J*4, BC_JLOOP); 2845 dasm_put(Dst, 15310, -BCBIAS_J*4, BC_JLOOP);
2844 } else if (op == BC_IFORL) { 2846 } else if (op == BC_IFORL) {
2845 if (LJ_DUALNUM) { 2847 if (LJ_DUALNUM) {
2846 dasm_put(Dst, 15322); 2848 dasm_put(Dst, 15324);
2847 } else { 2849 } else {
2848 dasm_put(Dst, 15327, -BCBIAS_J*4); 2850 dasm_put(Dst, 15329, -BCBIAS_J*4);
2849 } 2851 }
2850 } else { 2852 } else {
2851 dasm_put(Dst, 15318, BC_JLOOP); 2853 dasm_put(Dst, 15320, BC_JLOOP);
2852 } 2854 }
2853 if (LJ_DUALNUM) { 2855 if (LJ_DUALNUM) {
2854 dasm_put(Dst, 9989); 2856 dasm_put(Dst, 9991);
2855 } else { 2857 } else {
2856 dasm_put(Dst, 10746); 2858 dasm_put(Dst, 10748);
2857 } 2859 }
2858 if (sse) { 2860 if (sse) {
2859 dasm_put(Dst, 15337); 2861 dasm_put(Dst, 15339);
2860 } 2862 }
2861 break; 2863 break;
2862 2864
2863 case BC_ITERL: 2865 case BC_ITERL:
2864#if LJ_HASJIT 2866#if LJ_HASJIT
2865 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2867 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2866#endif 2868#endif
2867 break; 2869 break;
2868 2870
@@ -2871,33 +2873,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2871 break; 2873 break;
2872#endif 2874#endif
2873 case BC_IITERL: 2875 case BC_IITERL:
2874 dasm_put(Dst, 15348, LJ_TNIL); 2876 dasm_put(Dst, 15350, LJ_TNIL);
2875 if (op == BC_JITERL) { 2877 if (op == BC_JITERL) {
2876 dasm_put(Dst, 15363, BC_JLOOP); 2878 dasm_put(Dst, 15365, BC_JLOOP);
2877 } else { 2879 } else {
2878 dasm_put(Dst, 15377, -BCBIAS_J*4); 2880 dasm_put(Dst, 15379, -BCBIAS_J*4);
2879 } 2881 }
2880 dasm_put(Dst, 10103); 2882 dasm_put(Dst, 10105);
2881 break; 2883 break;
2882 2884
2883 case BC_LOOP: 2885 case BC_LOOP:
2884#if LJ_HASJIT 2886#if LJ_HASJIT
2885 dasm_put(Dst, 14928, HOTCOUNT_PCMASK, GG_DISP2HOT); 2887 dasm_put(Dst, 14930, HOTCOUNT_PCMASK, GG_DISP2HOT);
2886#endif 2888#endif
2887 break; 2889 break;
2888 2890
2889 case BC_ILOOP: 2891 case BC_ILOOP:
2890 dasm_put(Dst, 10105); 2892 dasm_put(Dst, 10107);
2891 break; 2893 break;
2892 2894
2893 case BC_JLOOP: 2895 case BC_JLOOP:
2894#if LJ_HASJIT 2896#if LJ_HASJIT
2895 dasm_put(Dst, 15393, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); 2897 dasm_put(Dst, 15395, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2896#endif 2898#endif
2897 break; 2899 break;
2898 2900
2899 case BC_JMP: 2901 case BC_JMP:
2900 dasm_put(Dst, 15502, -BCBIAS_J*4); 2902 dasm_put(Dst, 15504, -BCBIAS_J*4);
2901 break; 2903 break;
2902 2904
2903 /* -- Function headers -------------------------------------------------- */ 2905 /* -- Function headers -------------------------------------------------- */
@@ -2911,7 +2913,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2911 2913
2912 case BC_FUNCF: 2914 case BC_FUNCF:
2913#if LJ_HASJIT 2915#if LJ_HASJIT
2914 dasm_put(Dst, 15527, HOTCOUNT_PCMASK, GG_DISP2HOT); 2916 dasm_put(Dst, 15529, HOTCOUNT_PCMASK, GG_DISP2HOT);
2915#endif 2917#endif
2916 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2918 case BC_FUNCV: /* NYI: compiled vararg functions. */
2917 break; 2919 break;
@@ -2921,47 +2923,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2921 break; 2923 break;
2922#endif 2924#endif
2923 case BC_IFUNCF: 2925 case BC_IFUNCF:
2924 dasm_put(Dst, 15548, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2926 dasm_put(Dst, 15550, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2925 if (op == BC_JFUNCF) { 2927 if (op == BC_JFUNCF) {
2926 dasm_put(Dst, 15578, BC_JLOOP); 2928 dasm_put(Dst, 15580, BC_JLOOP);
2927 } else { 2929 } else {
2928 dasm_put(Dst, 10105); 2930 dasm_put(Dst, 10107);
2929 } 2931 }
2930 dasm_put(Dst, 15587, LJ_TNIL); 2932 dasm_put(Dst, 15589, LJ_TNIL);
2931 break; 2933 break;
2932 2934
2933 case BC_JFUNCV: 2935 case BC_JFUNCV:
2934#if !LJ_HASJIT 2936#if !LJ_HASJIT
2935 break; 2937 break;
2936#endif 2938#endif
2937 dasm_put(Dst, 9250); 2939 dasm_put(Dst, 9252);
2938 break; /* NYI: compiled vararg functions. */ 2940 break; /* NYI: compiled vararg functions. */
2939 2941
2940 case BC_IFUNCV: 2942 case BC_IFUNCV:
2941 dasm_put(Dst, 15609, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2943 dasm_put(Dst, 15611, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2942 if (op == BC_JFUNCV) { 2944 if (op == BC_JFUNCV) {
2943 dasm_put(Dst, 15578, BC_JLOOP); 2945 dasm_put(Dst, 15580, BC_JLOOP);
2944 } else { 2946 } else {
2945 dasm_put(Dst, 15700, -4+PC2PROTO(k)); 2947 dasm_put(Dst, 15702, -4+PC2PROTO(k));
2946 } 2948 }
2947 dasm_put(Dst, 15723, LJ_TNIL); 2949 dasm_put(Dst, 15725, LJ_TNIL);
2948 break; 2950 break;
2949 2951
2950 case BC_FUNCC: 2952 case BC_FUNCC:
2951 case BC_FUNCCW: 2953 case BC_FUNCCW:
2952 dasm_put(Dst, 15745, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2954 dasm_put(Dst, 15747, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2953 if (op == BC_FUNCC) { 2955 if (op == BC_FUNCC) {
2954 dasm_put(Dst, 2310); 2956 dasm_put(Dst, 2312);
2955 } else { 2957 } else {
2956 dasm_put(Dst, 15775); 2958 dasm_put(Dst, 15777);
2957 } 2959 }
2958 dasm_put(Dst, 15783, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2960 dasm_put(Dst, 15785, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2959 if (op == BC_FUNCC) { 2961 if (op == BC_FUNCC) {
2960 dasm_put(Dst, 15792); 2962 dasm_put(Dst, 15794);
2961 } else { 2963 } else {
2962 dasm_put(Dst, 15796, DISPATCH_GL(wrapf)); 2964 dasm_put(Dst, 15798, DISPATCH_GL(wrapf));
2963 } 2965 }
2964 dasm_put(Dst, 15801, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2966 dasm_put(Dst, 15803, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2965 break; 2967 break;
2966 2968
2967 /* ---------------------------------------------------------------------- */ 2969 /* ---------------------------------------------------------------------- */
@@ -2989,7 +2991,7 @@ static int build_backend(BuildCtx *ctx)
2989 2991
2990 build_subroutines(ctx, cmov, sse); 2992 build_subroutines(ctx, cmov, sse);
2991 2993
2992 dasm_put(Dst, 15826); 2994 dasm_put(Dst, 15828);
2993 for (op = 0; op < BC__MAX; op++) 2995 for (op = 0; op < BC__MAX; op++)
2994 build_ins(ctx, (BCOp)op, op, cmov, sse); 2996 build_ins(ctx, (BCOp)op, op, cmov, sse);
2995 2997