summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-rw-r--r--src/buildvm_x86.h1689
1 files changed, 846 insertions, 843 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
index 952e14d0..c50b541a 100644
--- a/src/buildvm_x86.h
+++ b/src/buildvm_x86.h
@@ -12,7 +12,7 @@
12#define DASM_SECTION_CODE_OP 0 12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1 13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2 14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[15254] = { 15static const unsigned char build_actionlist[15251] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141, 16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36, 17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15, 18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
@@ -31,131 +31,131 @@ static const unsigned char build_actionlist[15254] = {
31 233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22,131,232,8,252, 31 233,237,252,233,244,12,248,21,186,237,252,233,244,248,248,22,131,232,8,252,
32 233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233,131,198,4,137, 32 233,244,247,248,23,141,68,194,252,248,248,1,15,182,142,233,131,198,4,137,
33 149,233,137,133,233,255,137,116,36,24,137,202,248,2,137,252,233,232,251,1, 33 149,233,137,133,233,255,137,116,36,24,137,202,248,2,137,252,233,232,251,1,
34 0,139,149,233,139,133,233,139,106,252,248,139,114,252,252,41,208,193,232, 34 0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3,131,192,1,139,
35 3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255, 35 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,24,
36 36,171,248,24,85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237, 36 85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237,49,192,141,
37 49,192,141,188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24, 37 188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24,137,68,36,
38 137,68,36,52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149, 38 52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
39 233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68, 39 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,20,252,
40 36,20,252,247,198,237,15,132,244,13,255,252,233,244,14,248,25,85,87,86,83, 40 247,198,237,15,132,244,13,255,252,233,244,14,248,25,85,87,86,83,131,252,236,
41 131,252,236,28,190,237,252,233,244,247,248,26,85,87,86,83,131,252,236,28, 41 28,190,237,252,233,244,247,248,26,85,87,86,83,131,252,236,28,190,237,248,
42 190,237,248,1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108, 42 1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108,36,24,137,
43 36,24,137,165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139, 43 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,1,
44 149,233,1,206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,27,255,139, 44 206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,27,255,139,105,252,
45 105,252,248,129,121,253,252,252,239,15,133,244,28,248,29,137,202,137,114, 45 248,129,121,253,252,252,239,15,133,244,28,248,29,137,202,137,114,252,252,
46 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, 46 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,
47 171,248,30,85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36, 47 30,85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139,
48 52,139,84,36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0, 48 84,36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124,
49 137,124,36,56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52, 49 36,56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,
50 137,165,233,252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244, 50 233,252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,
51 2,248,11,1,209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237, 51 1,209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
52 137,200,139,117,252,244,139,77,252,240,139,122,252,248,139,191,233,139,191, 52 117,252,244,139,77,252,240,139,122,252,248,139,191,233,139,191,233,252,255,
53 233,252,255,225,248,31,255,15,182,78,252,255,131,252,237,16,141,12,202,41, 53 225,248,31,255,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,
54 252,233,15,132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139, 54 132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4,
55 0,137,77,4,137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68, 55 137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20,237,
56 36,20,237,141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137, 56 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,
57 41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,252, 57 4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,252,242,15,42,
58 242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92, 58 192,252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,
59 36,16,255,141,68,36,16,252,233,244,247,248,36,15,182,70,252,254,141,4,194, 59 141,68,36,16,252,233,244,247,248,36,15,182,70,252,254,141,4,194,248,1,15,
60 248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48, 60 182,110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,
61 137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133, 61 8,137,44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,
62 192,15,132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4, 62 132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,
63 137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171, 63 202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
64 248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184, 64 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,
65 237,252,233,244,29,248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128, 65 233,244,29,248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,
66 126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205, 66 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,
67 252,233,244,248,248,38,15,182,70,252,254,255,141,68,36,16,252,233,244,247, 67 244,248,248,38,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,39,
68 248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234, 68 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,
69 248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116, 69 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,
70 36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139, 70 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,
71 108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131, 71 202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131,198,
72 198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182, 72 4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,
73 70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214, 73 253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,
74 139,105,252,248,184,237,252,233,244,29,248,41,15,182,110,252,252,141,4,194, 74 252,248,184,237,252,233,244,29,248,41,15,182,110,252,252,141,4,194,141,12,
75 141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36, 75 202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,
76 137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1, 76 233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,
77 15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141, 77 244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,
78 180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 78 134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
79 255,36,171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6, 79 171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44,
80 248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108,36,12, 80 129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108,36,12,139,108,
81 139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36, 81 36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232,
82 24,232,251,1,4,252,233,244,3,248,46,141,4,199,252,233,244,247,248,47,141, 82 251,1,4,252,233,244,3,248,46,141,4,199,252,233,244,247,248,47,141,4,199,141,
83 4,199,141,44,252,234,149,252,233,244,248,248,48,141,4,194,137,197,252,233, 83 44,252,234,149,252,233,244,248,248,48,141,4,194,137,197,252,233,244,248,248,
84 244,248,248,49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,137,108,36, 84 49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,
85 8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137, 85 48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,
86 44,36,137,149,233,137,116,36,24,232,251,1,5,139,149,233,133,192,15,132,244, 86 149,233,137,116,36,24,232,251,1,5,139,149,233,133,192,15,132,244,40,248,42,
87 40,248,42,137,193,41,208,137,113,252,244,141,176,233,255,184,237,252,233, 87 137,193,41,208,137,113,252,244,141,176,233,255,184,237,252,233,244,27,248,
88 244,27,248,50,139,108,36,48,137,149,233,141,20,194,137,252,233,137,116,36, 88 50,139,108,36,48,137,149,233,141,20,194,137,252,233,137,116,36,24,232,251,
89 24,232,251,1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137, 89 1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137,76,36,20,137,
90 76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,108,36,48,137,76,36,4,137, 90 68,36,16,131,252,233,8,141,4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,
91 68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,7,139,149,233,139,76, 91 44,36,137,149,233,137,116,36,24,232,251,1,7,139,149,233,139,76,36,20,139,
92 36,20,139,68,36,16,139,105,252,248,131,192,1,57,215,15,132,244,52,137,202, 92 68,36,16,139,105,252,248,131,192,1,57,215,15,132,244,52,137,202,137,114,252,
93 137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252, 93 252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,
94 255,36,171,248,53,139,108,36,48,137,149,233,137,202,137,252,233,137,116,36, 94 248,53,139,108,36,48,137,149,233,137,202,137,252,233,137,116,36,24,232,251,
95 24,232,251,1,8,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16, 95 1,8,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164,
96 252,255,164,253,171,233,248,54,255,129,252,248,239,15,130,244,55,139,106, 96 253,171,233,248,54,255,129,252,248,239,15,130,244,55,139,106,4,129,252,253,
97 4,129,252,253,239,15,131,244,55,139,114,252,252,137,68,36,20,137,106,252, 97 239,15,131,244,55,139,114,252,252,137,68,36,20,137,106,252,252,139,42,137,
98 252,139,42,137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193, 98 106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,
99 8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1, 99 105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,
100 248,2,139,68,36,20,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139, 100 20,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,184,237,
101 106,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, 101 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,
102 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, 102 2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,
103 252,252,237,137,66,252,248,252,233,244,58,248,59,129,252,248,239,15,130,244, 103 137,66,252,248,252,233,244,58,248,59,129,252,248,239,15,130,244,55,139,106,
104 55,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42, 104 4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,
105 139,173,233,248,2,133,252,237,199,66,252,252,237,15,132,244,58,139,131,233, 105 248,2,133,252,237,199,66,252,252,237,15,132,244,58,139,131,233,199,66,252,
106 199,66,252,252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239, 106 252,237,255,137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,
107 3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251, 107 248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,
108 248,4,139,137,233,133,201,15,133,244,3,252,233,244,58,248,5,139,105,4,129, 108 137,233,133,201,15,133,244,3,252,233,244,58,248,5,139,105,4,129,252,253,239,
109 252,253,239,255,15,132,244,58,139,1,137,106,252,252,137,66,252,248,252,233, 109 255,15,132,244,58,139,1,137,106,252,252,137,66,252,248,252,233,244,58,248,
110 244,58,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253, 110 6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,
111 189,237,248,7,252,247,213,139,172,253,171,233,252,233,244,2,248,60,129,252, 111 7,252,247,213,139,172,253,171,233,252,233,244,2,248,60,129,252,248,239,15,
112 248,239,15,130,244,55,255,129,122,253,4,239,15,133,244,55,139,42,131,189, 112 130,244,55,255,129,122,253,4,239,15,133,244,55,139,42,131,189,233,0,15,133,
113 233,0,15,133,244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233, 113 244,55,129,122,253,12,239,15,133,244,55,139,66,8,137,133,233,139,114,252,
114 139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15, 114 252,199,66,252,252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,
115 132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255, 115 128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,255,252,233,244,
116 252,233,244,58,248,61,129,252,248,239,15,130,244,55,129,122,253,4,239,15, 116 58,248,61,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139,
117 133,244,55,139,2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137, 117 2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,
118 84,36,8,232,251,1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252, 118 1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,
119 248,137,66,252,252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129, 119 252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239,
120 122,253,4,239,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2, 120 15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244,64,
121 252,233,244,64,255,248,65,129,252,248,239,15,130,244,55,139,114,252,252,129, 121 255,248,65,129,252,248,239,15,130,244,55,139,114,252,252,129,122,253,4,239,
122 122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248, 122 15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,
123 252,233,244,58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,133, 123 58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,133,244,55,139,
124 244,55,139,171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,108, 124 171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,108,36,48,137,
125 36,48,137,149,233,137,116,36,24,137,252,233,232,251,1,10,139,149,233,252, 125 149,233,137,116,36,24,137,252,233,232,251,1,10,139,149,233,252,233,244,2,
126 233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,122, 126 248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,
127 253,4,239,15,133,244,55,139,108,36,48,137,149,233,255,137,149,233,139,114, 127 15,133,244,55,139,108,36,48,137,149,233,255,137,149,233,139,114,252,252,139,
128 252,252,139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232, 128 2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,11,
129 251,1,11,139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,106,252, 129 139,149,233,133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,
130 248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252, 130 66,252,252,139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,
131 233,244,69,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252, 131 69,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,
132 233,244,58,248,70,129,252,248,239,15,130,244,55,255,139,106,252,248,129,122, 132 58,248,70,129,252,248,239,15,130,244,55,255,139,106,252,248,129,122,253,4,
133 253,4,239,15,133,244,55,139,133,233,139,114,252,252,199,66,252,252,237,137, 133 239,15,133,244,55,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,
134 66,252,248,199,66,12,237,184,237,252,233,244,69,248,71,129,252,248,239,15, 134 248,199,66,12,237,184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,
135 130,244,55,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244, 135 55,129,122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,
136 55,139,114,252,252,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205, 136 252,252,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102,15,112,
137 102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252, 137 201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,221,
138 248,255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139, 138 66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42,59,133,
139 42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239, 139 233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,
140 15,132,244,72,139,40,139,64,4,137,42,137,66,4,252,233,244,68,248,2,131,189, 140 72,139,40,139,64,4,137,42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,
141 233,0,15,132,244,72,137,252,233,137,213,137,194,232,251,1,12,137,252,234, 141 132,244,72,137,252,233,137,213,137,194,232,251,1,12,137,252,234,133,192,15,
142 133,192,15,133,244,1,248,72,184,237,252,233,244,69,248,73,255,129,252,248, 142 133,244,1,248,72,184,237,252,233,244,69,248,73,255,129,252,248,239,15,130,
143 239,15,130,244,55,139,106,252,248,129,122,253,4,239,15,133,244,55,139,133, 143 244,55,139,106,252,248,129,122,253,4,239,15,133,244,55,139,133,233,139,114,
144 233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242, 144 252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,
145 15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248,74,129, 145 8,255,217,252,238,221,90,8,255,184,237,252,233,244,69,248,74,129,252,248,
146 252,248,239,15,130,244,55,141,74,8,131,232,1,190,237,248,1,15,182,171,233, 146 239,15,130,244,55,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,
147 193,252,237,235,131,229,1,1,252,238,252,233,244,27,248,75,129,252,248,239, 147 237,235,131,229,1,1,252,238,252,233,244,27,248,75,129,252,248,239,15,130,
148 15,130,244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137,106,12,199, 148 244,55,129,122,253,12,239,15,133,244,55,255,139,106,4,137,106,12,199,66,4,
149 66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252, 149 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,
150 233,244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,114,252,252,137, 150 244,1,248,76,129,252,248,239,15,130,244,55,139,42,139,114,252,252,137,116,
151 116,36,24,137,44,36,129,122,253,4,239,15,133,244,55,131,189,233,0,15,133, 151 36,24,137,44,36,129,122,253,4,239,15,133,244,55,131,189,233,0,15,133,244,
152 244,55,128,189,233,235,15,135,244,55,139,141,233,15,132,244,247,255,59,141, 152 55,128,189,233,235,15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,
153 233,15,132,244,55,248,1,141,116,193,252,240,59,181,233,15,135,244,55,137, 153 15,132,244,55,248,1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,
154 181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41, 154 233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,194,232,41,252,
155 252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137, 155 245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,
156 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137, 156 252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,
157 76,36,12,137,76,36,8,232,244,24,199,131,233,237,255,139,108,36,48,139,52, 157 36,12,137,76,36,8,232,244,24,199,131,233,237,255,139,108,36,48,139,52,36,
158 36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233, 158 139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,
159 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133, 159 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,
160 233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41, 160 233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,
161 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248, 161 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,
@@ -507,222 +507,222 @@ static const unsigned char build_actionlist[15254] = {
507 252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,248,217,252, 507 252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,248,217,252,
508 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15, 508 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,248,11,15,
509 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195, 509 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,
510 255,248,9,204,248,154,255,139,68,36,20,252,242,15,16,68,36,4,252,242,15,16, 510 255,248,9,204,255,248,154,255,139,68,36,20,252,242,15,16,68,36,4,252,242,
511 76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,248, 511 15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,15,88,
512 7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,252,233,244, 512 193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,193,252,
513 7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,252, 513 233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,
514 233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,248,5,15,132, 514 193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,248,
515 244,247,255,15,135,244,248,232,244,148,252,233,244,7,248,1,90,232,244,107, 515 5,15,132,244,247,255,15,135,244,248,232,244,148,252,233,244,7,248,1,90,232,
516 82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,248,184,0, 516 244,107,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,248,
517 0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,7,248,1,102, 517 184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,7,248,
518 15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,233,244,7,248, 518 1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,233,244,
519 2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,15,132,244,247, 519 7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,15,132,
520 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, 520 244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,
521 15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,244,7,248,1,252,242, 521 248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,244,7,248,
522 15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36, 522 1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,68,36,4,
523 12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252, 523 221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,
524 233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248, 524 1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,
525 1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,131,252, 525 195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,
526 248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216, 526 131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,
527 217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243, 527 221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,
528 195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244, 528 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,
529 247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233, 529 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
530 218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217, 530 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
531 201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248, 531 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
532 217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,0,0,32,0, 532 244,248,217,201,248,2,221,216,195,255,248,155,156,90,137,209,129,252,242,
533 82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,162,139,124, 533 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
534 36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249,255,129,124, 534 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,255,249,
535 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242, 535 255,129,124,253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,
536 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255, 536 41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,
537 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, 537 194,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,
538 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15, 538 134,244,248,255,15,131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,
539 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,194,4, 539 233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,
540 131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244, 540 255,139,108,194,4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,
541 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15, 541 4,239,15,135,244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,
542 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, 542 221,4,194,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,
543 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, 543 247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,
544 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239, 544 70,252,254,141,180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,
545 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15, 545 129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,
546 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133, 546 252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,
547 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,252,247,208,131, 547 233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,
548 198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198, 548 252,247,208,131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,
549 4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46, 549 12,135,255,131,198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,
550 4,202,255,221,4,202,221,4,199,255,252,247,208,131,198,4,57,68,202,4,255,139, 550 16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252,247,208,131,198,
551 108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247, 551 4,57,68,202,4,255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,
552 255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180,253, 552 247,255,15,130,244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,
553 134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 553 70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,
554 171,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204, 554 4,193,232,16,252,255,36,171,255,139,108,194,4,139,4,194,137,108,202,4,137,
555 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253, 555 4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
556 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, 556 49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,
557 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,135,244,48,255,252, 557 15,182,232,131,198,4,193,232,16,252,255,36,171,255,129,124,253,194,4,239,
558 242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193, 558 15,135,244,48,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,
559 252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194, 559 112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,
560 4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1, 560 255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,
561 252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, 561 15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,
562 15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239, 562 255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,
563 15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, 563 129,124,253,194,4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,
564 234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,252,253,252,233,244,1, 564 242,15,42,192,137,252,234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,
565 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,46, 565 252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,
566 255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199, 566 4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,
567 255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,199,252,242, 567 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,
568 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239, 568 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,
569 15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,242,15,16,4,252, 569 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252,
570 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252, 570 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,
571 234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4, 571 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,
572 199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16, 572 252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,
573 4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15, 573 255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,
574 16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242, 574 194,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,
575 15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252, 575 12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,
576 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, 576 12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,
577 252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199, 577 234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,
578 255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252, 578 252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,
579 234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220, 579 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,
580 52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234, 580 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,
581 221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199, 581 255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,
582 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4, 582 234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,
583 252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,156,255,232,244, 583 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,
584 107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36, 584 156,255,232,244,107,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,
585 8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,25,139, 585 36,4,137,68,36,8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,
586 149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68, 586 232,251,1,25,139,149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,
587 252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182, 587 78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,
588 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68, 588 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,
589 202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 589 139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,
590 255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70, 590 4,193,232,16,252,255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,
591 252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4, 591 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,
592 199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131, 592 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,
593 198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,237,137, 593 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,
594 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15, 594 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,
595 182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253, 595 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,
596 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182, 596 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,
597 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139, 597 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
598 172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77, 598 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,
599 0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6, 599 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,
600 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,232,239, 600 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
601 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141, 601 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,
602 139,233,255,232,251,1,26,137,252,234,252,233,244,1,255,252,247,208,139,106, 602 235,15,132,244,1,135,213,141,139,233,255,232,251,1,26,137,252,234,252,233,
603 252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252, 603 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139,
604 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, 604 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6,
605 4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,1,128,189, 605 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,
606 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,26,137,252,234,252, 606 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,
607 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141, 607 232,251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,
608 233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,139,106,252, 608 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,
609 248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232, 609 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,
610 131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48, 610 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,
611 131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1, 611 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,
612 27,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, 612 20,202,137,252,233,232,251,1,27,139,149,233,248,1,139,6,15,182,204,15,182,
613 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76, 613 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,
614 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,28,139,149, 614 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,
615 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, 615 36,24,232,251,1,28,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,
616 232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,149,233,139, 616 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,
617 139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,37,252,255, 617 36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,
618 7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,248,2,137, 618 1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,
619 44,36,137,68,36,4,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202,199, 619 132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,29,139,149,233,15,182,78,
620 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,
621 193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,
622 232,251,1,30,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,
623 139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,
624 20,135,137,252,233,232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,
620 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, 625 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
621 171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,30,15,183, 626 171,248,3,137,252,233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,
622 70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116, 627 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,
623 36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233, 628 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,
624 232,251,1,31,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139, 629 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,
625 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252, 630 252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,
626 233,232,251,1,30,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247, 631 242,15,45,192,252,242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,
627 208,139,106,252,248,139,173,233,139,4,135,252,233,244,157,255,252,247,208, 632 4,36,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,
628 139,106,252,248,139,173,233,139,4,135,252,233,244,158,255,15,182,252,236, 633 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,
629 15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124, 634 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,
630 253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252, 635 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,
631 242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244, 636 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,
632 36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132, 637 194,252,233,244,157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,
633 244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15, 638 124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,
634 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244, 639 136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,
635 1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,252,233, 640 233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,
636 244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244, 641 41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,
637 157,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234, 642 131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,
638 4,239,15,133,244,34,139,44,252,234,248,157,139,141,233,35,136,233,105,201, 643 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,
639 239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15,133,244, 644 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,
640 250,129,121,253,4,239,15,132,244,251,15,182,70,252,253,139,41,139,73,4,137, 645 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,
641 44,194,248,2,255,137,76,194,4,139,6,15,182,204,15,182,232,131,198,4,193,232, 646 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,
642 16,252,255,36,171,248,3,15,182,70,252,253,185,237,252,233,244,2,248,4,139, 647 248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,
643 137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132,244,3,252,246, 648 131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,
644 129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236,15,182,192,129, 649 141,233,252,246,129,233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,
645 124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133,233,15,131,244, 650 124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,
646 35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,248,1,139,40,139, 651 15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,
647 64,4,137,44,202,137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232, 652 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,
648 16,252,255,36,171,248,2,131,189,233,0,15,132,244,1,139,141,233,252,246,129, 653 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,
649 233,235,15,132,244,35,255,15,182,252,236,15,182,192,129,124,253,252,234,4, 654 232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,
650 239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, 655 139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,
651 15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4, 656 244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,
652 239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108, 657 248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,
653 202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193, 658 252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129,124,
654 232,16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252, 659 253,252,234,4,239,15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,
655 246,129,233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124, 660 233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,
656 253,194,4,239,15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235, 661 251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,
657 139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15, 662 252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194,4,
658 182,252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15, 663 139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
659 133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, 664 252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233,
660 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, 665 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137,
661 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, 666 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129,
662 133,244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137, 667 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,
663 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131, 668 68,36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,
664 189,233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132, 669 116,36,24,232,251,1,32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,
665 244,37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1, 670 7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,
666 255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37, 671 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,
667 248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36, 672 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,
668 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1, 673 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,
669 32,139,149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235, 674 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
670 139,131,233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182, 675 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,
671 192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15, 676 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,
672 131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252, 677 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,
673 246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137, 678 36,16,255,252,242,15,45,60,199,255,221,4,199,219,92,36,12,139,124,36,12,255,
674 8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131, 679 248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,
675 189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38, 680 139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251,
676 15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171, 681 41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,
677 233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,255,252, 682 111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,
678 242,15,45,60,199,255,221,4,199,219,92,36,12,139,124,36,12,255,248,1,141,12, 683 15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,
679 202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,20, 684 36,48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,33,139,149,
680 131,232,1,15,132,244,250,1,252,248,59,133,233,15,131,244,251,41,252,248,193, 685 233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,
681 231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,4,131,199, 686 137,171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,
682 8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,182,232, 687 4,239,139,44,202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,233,139,
683 131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,48,137, 688 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,
684 149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,33,139,149,233,15,182, 689 215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,114,
685 78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,171,233, 690 252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,
686 137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,139,44, 691 131,232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4,131,199,
687 202,15,133,244,51,141,84,202,8,137,114,252,252,139,181,233,139,14,15,182, 692 8,131,193,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,
688 252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,139, 693 189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,
689 105,252,248,129,121,253,252,252,239,15,133,244,28,248,52,139,114,252,252, 694 131,198,4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,
690 252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,232, 695 252,253,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
691 1,15,132,244,249,248,2,139,41,137,47,139,105,4,137,111,4,131,199,8,131,193, 696 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
692 8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,1, 697 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
693 15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, 698 141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,
694 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, 699 65,252,244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,
695 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, 700 65,252,252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,
696 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215, 701 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,
697 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76, 702 15,182,252,236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124,
698 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252, 703 36,16,141,188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108,
699 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252, 704 252,233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,
700 252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181, 705 252,131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,
701 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,15,182, 706 244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,
702 252,236,139,66,252,248,141,12,202,139,128,233,15,182,128,233,137,124,36,16, 707 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
703 141,188,253,194,233,43,122,252,252,133,252,237,15,132,244,251,141,108,252, 708 5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,
704 233,252,248,57,215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252, 709 237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,
705 131,199,8,137,65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244, 710 248,6,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,
706 1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16, 711 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,
707 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199, 712 41,215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,
708 68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3,255,137,197,193,252,237, 713 141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,
709 3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248, 714 36,20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,
710 6,139,71,252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215, 715 244,249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,
711 15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41, 716 199,8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,
712 215,139,84,36,20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141, 717 57,197,15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,
713 233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36, 718 252,248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,252,
714 20,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244, 719 247,209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,
715 249,248,2,139,44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199, 720 15,182,232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,237,
716 8,131,232,1,15,133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197, 721 131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,
717 15,135,244,252,255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248, 722 174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,
718 255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,252,247,209, 723 245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,255,141,
719 141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15,182, 724 12,202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,
720 232,131,198,4,193,232,16,252,255,36,171,248,6,255,199,71,252,252,237,131, 725 53,255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,
721 199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,
722 233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,
723 209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,140,255,141,12,
724 202,255,129,121,253,4,239,15,135,244,53,129,121,253,12,239,15,135,244,53,
725 255,139,105,20,255,129,252,253,239,15,135,244,53,255,252,242,15,16,1,252,
726 242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136, 726 242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,
727 244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255, 727 244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,
728 221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247, 728 221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,
@@ -1119,429 +1119,432 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1119 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); 1119 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1);
1120 dasm_put(Dst, 288, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); 1120 dasm_put(Dst, 288, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top));
1121 dasm_put(Dst, 354, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); 1121 dasm_put(Dst, 354, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1122 dasm_put(Dst, 501, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 1122 dasm_put(Dst, 497, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
1123 dasm_put(Dst, 592, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc), PC2PROTO(k)); 1123 dasm_put(Dst, 588, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc), PC2PROTO(k));
1124 dasm_put(Dst, 764, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); 1124 dasm_put(Dst, 760, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1125 if (sse) { 1125 if (sse) {
1126 dasm_put(Dst, 860); 1126 dasm_put(Dst, 856);
1127 } else { 1127 } else {
1128 dasm_put(Dst, 873); 1128 dasm_put(Dst, 869);
1129 } 1129 }
1130 dasm_put(Dst, 886, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); 1130 dasm_put(Dst, 882, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1131 dasm_put(Dst, 1038, DISPATCH_GL(tmptv), LJ_TTAB); 1131 dasm_put(Dst, 1034, DISPATCH_GL(tmptv), LJ_TTAB);
1132 if (sse) { 1132 if (sse) {
1133 dasm_put(Dst, 860); 1133 dasm_put(Dst, 856);
1134 } else { 1134 } else {
1135 dasm_put(Dst, 873); 1135 dasm_put(Dst, 869);
1136 } 1136 }
1137 dasm_put(Dst, 1061, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); 1137 dasm_put(Dst, 1057, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1138 dasm_put(Dst, 1255, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); 1138 dasm_put(Dst, 1251, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1139 dasm_put(Dst, 1362, Dt1(->base), Dt1(->base), FRAME_CONT); 1139 dasm_put(Dst, 1358, Dt1(->base), Dt1(->base), FRAME_CONT);
1140 dasm_put(Dst, 1486, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1140 dasm_put(Dst, 1482, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1141 dasm_put(Dst, 1667, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX); 1141 dasm_put(Dst, 1663, 1+1, LJ_TISTRUECOND, 1+1, ~LJ_TNUMX);
1142 if (cmov) { 1142 if (cmov) {
1143 dasm_put(Dst, 1769); 1143 dasm_put(Dst, 1765);
1144 } else { 1144 } else {
1145 dasm_put(Dst, 1773); 1145 dasm_put(Dst, 1769);
1146 } 1146 }
1147 dasm_put(Dst, 1782, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); 1147 dasm_put(Dst, 1778, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB);
1148 dasm_put(Dst, 1865, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); 1148 dasm_put(Dst, 1861, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1149 dasm_put(Dst, 1923, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); 1149 dasm_put(Dst, 1919, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1150 dasm_put(Dst, 1986, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 1150 dasm_put(Dst, 1982, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1151 dasm_put(Dst, 2058, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); 1151 dasm_put(Dst, 2054, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1152 if (sse) { 1152 if (sse) {
1153 dasm_put(Dst, 2151); 1153 dasm_put(Dst, 2147);
1154 } else { 1154 } else {
1155 dasm_put(Dst, 2161); 1155 dasm_put(Dst, 2157);
1156 } 1156 }
1157 dasm_put(Dst, 2168, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1157 dasm_put(Dst, 2164, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1158 dasm_put(Dst, 2234, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); 1158 dasm_put(Dst, 2230, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base));
1159 dasm_put(Dst, 2301, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); 1159 dasm_put(Dst, 2297, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1);
1160 dasm_put(Dst, 2406, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); 1160 dasm_put(Dst, 2402, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1161 if (sse) { 1161 if (sse) {
1162 dasm_put(Dst, 2478); 1162 dasm_put(Dst, 2474);
1163 } else { 1163 } else {
1164 dasm_put(Dst, 2517); 1164 dasm_put(Dst, 2513);
1165 } 1165 }
1166 dasm_put(Dst, 2535, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); 1166 dasm_put(Dst, 2531, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1167 dasm_put(Dst, 2616, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); 1167 dasm_put(Dst, 2612, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC);
1168 if (sse) { 1168 if (sse) {
1169 dasm_put(Dst, 2654); 1169 dasm_put(Dst, 2650);
1170 } else { 1170 } else {
1171 dasm_put(Dst, 2664); 1171 dasm_put(Dst, 2660);
1172 } 1172 }
1173 dasm_put(Dst, 2671, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); 1173 dasm_put(Dst, 2667, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1174 dasm_put(Dst, 2735, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); 1174 dasm_put(Dst, 2731, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1175 dasm_put(Dst, 2823, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); 1175 dasm_put(Dst, 2819, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1176 dasm_put(Dst, 2924, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); 1176 dasm_put(Dst, 2920, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1177 dasm_put(Dst, 3038, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); 1177 dasm_put(Dst, 3034, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1178 dasm_put(Dst, 3133, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); 1178 dasm_put(Dst, 3129, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1179 dasm_put(Dst, 3199, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); 1179 dasm_put(Dst, 3195, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1180 dasm_put(Dst, 3300, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); 1180 dasm_put(Dst, 3296, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1181 dasm_put(Dst, 3410, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); 1181 dasm_put(Dst, 3406, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1182 if (sse) { 1182 if (sse) {
1183 dasm_put(Dst, 3436, 1+1, LJ_TISNUM); 1183 dasm_put(Dst, 3432, 1+1, LJ_TISNUM);
1184 } else { 1184 } else {
1185 dasm_put(Dst, 3505, 1+1, LJ_TISNUM); 1185 dasm_put(Dst, 3501, 1+1, LJ_TISNUM);
1186 } 1186 }
1187 dasm_put(Dst, 3541, 1+1, FRAME_TYPE, LJ_TNIL); 1187 dasm_put(Dst, 3537, 1+1, FRAME_TYPE, LJ_TNIL);
1188 if (sse) { 1188 if (sse) {
1189 dasm_put(Dst, 3631, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1189 dasm_put(Dst, 3627, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1190 dasm_put(Dst, 3693, 1+1, LJ_TISNUM); 1190 dasm_put(Dst, 3689, 1+1, LJ_TISNUM);
1191 } else { 1191 } else {
1192 dasm_put(Dst, 3723, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1192 dasm_put(Dst, 3719, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1193 dasm_put(Dst, 3782, 1+1, LJ_TISNUM); 1193 dasm_put(Dst, 3778, 1+1, LJ_TISNUM);
1194 } 1194 }
1195 dasm_put(Dst, 3809, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1195 dasm_put(Dst, 3805, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1196 dasm_put(Dst, 3878, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1196 dasm_put(Dst, 3874, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1197 dasm_put(Dst, 3935, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); 1197 dasm_put(Dst, 3931, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1198 dasm_put(Dst, 3998, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); 1198 dasm_put(Dst, 3994, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1199 dasm_put(Dst, 4088); 1199 dasm_put(Dst, 4084);
1200 if (sse) { 1200 if (sse) {
1201 dasm_put(Dst, 4100, 1+1, LJ_TISNUM); 1201 dasm_put(Dst, 4096, 1+1, LJ_TISNUM);
1202 } else { 1202 } else {
1203 dasm_put(Dst, 4131, 1+1, LJ_TISNUM); 1203 dasm_put(Dst, 4127, 1+1, LJ_TISNUM);
1204 } 1204 }
1205 dasm_put(Dst, 4156); 1205 dasm_put(Dst, 4152);
1206 if (sse) { 1206 if (sse) {
1207 dasm_put(Dst, 4170, 1+1, LJ_TISNUM); 1207 dasm_put(Dst, 4166, 1+1, LJ_TISNUM);
1208 } else { 1208 } else {
1209 dasm_put(Dst, 4201, 1+1, LJ_TISNUM); 1209 dasm_put(Dst, 4197, 1+1, LJ_TISNUM);
1210 } 1210 }
1211 dasm_put(Dst, 4226); 1211 dasm_put(Dst, 4222);
1212 if (sse) { 1212 if (sse) {
1213 dasm_put(Dst, 4240, 1+1, LJ_TISNUM); 1213 dasm_put(Dst, 4236, 1+1, LJ_TISNUM);
1214 } else { 1214 } else {
1215 dasm_put(Dst, 4271, 1+1, LJ_TISNUM); 1215 dasm_put(Dst, 4267, 1+1, LJ_TISNUM);
1216 } 1216 }
1217 dasm_put(Dst, 4296); 1217 dasm_put(Dst, 4292);
1218 if (sse) { 1218 if (sse) {
1219 dasm_put(Dst, 4312, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1219 dasm_put(Dst, 4308, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1220 } else { 1220 } else {
1221 dasm_put(Dst, 4351, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); 1221 dasm_put(Dst, 4347, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1222 } 1222 }
1223 dasm_put(Dst, 4384, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); 1223 dasm_put(Dst, 4380, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1224 dasm_put(Dst, 4449, 1+1, LJ_TISNUM); 1224 dasm_put(Dst, 4445, 1+1, LJ_TISNUM);
1225 if (sse) { 1225 if (sse) {
1226 dasm_put(Dst, 4548); 1226 dasm_put(Dst, 4544);
1227 } else { 1227 } else {
1228 dasm_put(Dst, 4554); 1228 dasm_put(Dst, 4550);
1229 } 1229 }
1230 dasm_put(Dst, 4563); 1230 dasm_put(Dst, 4559);
1231 if (sse) { 1231 if (sse) {
1232 dasm_put(Dst, 4588); 1232 dasm_put(Dst, 4584);
1233 } else { 1233 } else {
1234 dasm_put(Dst, 4594); 1234 dasm_put(Dst, 4590);
1235 } 1235 }
1236 dasm_put(Dst, 4597, 1+2); 1236 dasm_put(Dst, 4593, 1+2);
1237 if (sse) { 1237 if (sse) {
1238 dasm_put(Dst, 4606); 1238 dasm_put(Dst, 4602);
1239 } else { 1239 } else {
1240 dasm_put(Dst, 4614); 1240 dasm_put(Dst, 4610);
1241 } 1241 }
1242 dasm_put(Dst, 4622); 1242 dasm_put(Dst, 4618);
1243 if (sse) { 1243 if (sse) {
1244 dasm_put(Dst, 4625); 1244 dasm_put(Dst, 4621);
1245 } else { 1245 } else {
1246 dasm_put(Dst, 4657); 1246 dasm_put(Dst, 4653);
1247 } 1247 }
1248 dasm_put(Dst, 4676); 1248 dasm_put(Dst, 4672);
1249 if (sse) { 1249 if (sse) {
1250 dasm_put(Dst, 4692, 1+1, LJ_TISNUM); 1250 dasm_put(Dst, 4688, 1+1, LJ_TISNUM);
1251 } else { 1251 } else {
1252 dasm_put(Dst, 4717, 1+1, LJ_TISNUM); 1252 dasm_put(Dst, 4713, 1+1, LJ_TISNUM);
1253 } 1253 }
1254 dasm_put(Dst, 4739); 1254 dasm_put(Dst, 4735);
1255 if (sse) { 1255 if (sse) {
1256 dasm_put(Dst, 4761); 1256 dasm_put(Dst, 4757);
1257 } else { 1257 } else {
1258 dasm_put(Dst, 4787); 1258 dasm_put(Dst, 4783);
1259 } 1259 }
1260 dasm_put(Dst, 4804, 1+2); 1260 dasm_put(Dst, 4800, 1+2);
1261 if (sse) { 1261 if (sse) {
1262 dasm_put(Dst, 4844); 1262 dasm_put(Dst, 4840);
1263 } else { 1263 } else {
1264 dasm_put(Dst, 4852); 1264 dasm_put(Dst, 4848);
1265 } 1265 }
1266 dasm_put(Dst, 4862, 2+1, LJ_TISNUM, LJ_TISNUM); 1266 dasm_put(Dst, 4858, 2+1, LJ_TISNUM, LJ_TISNUM);
1267 if (sse) { 1267 if (sse) {
1268 dasm_put(Dst, 4914, 2+1, LJ_TISNUM, LJ_TISNUM); 1268 dasm_put(Dst, 4910, 2+1, LJ_TISNUM, LJ_TISNUM);
1269 } else { 1269 } else {
1270 dasm_put(Dst, 4961, 2+1, LJ_TISNUM, LJ_TISNUM); 1270 dasm_put(Dst, 4957, 2+1, LJ_TISNUM, LJ_TISNUM);
1271 } 1271 }
1272 if (sse) { 1272 if (sse) {
1273 dasm_put(Dst, 5002, 1+1, LJ_TISNUM, LJ_TISNUM); 1273 dasm_put(Dst, 4998, 1+1, LJ_TISNUM, LJ_TISNUM);
1274 } else { 1274 } else {
1275 dasm_put(Dst, 5073, 1+1, LJ_TISNUM, LJ_TISNUM); 1275 dasm_put(Dst, 5069, 1+1, LJ_TISNUM, LJ_TISNUM);
1276 if (cmov) { 1276 if (cmov) {
1277 dasm_put(Dst, 5126); 1277 dasm_put(Dst, 5122);
1278 } else { 1278 } else {
1279 dasm_put(Dst, 5134); 1279 dasm_put(Dst, 5130);
1280 } 1280 }
1281 dasm_put(Dst, 5065); 1281 dasm_put(Dst, 5061);
1282 } 1282 }
1283 if (sse) { 1283 if (sse) {
1284 dasm_put(Dst, 5155, 1+1, LJ_TISNUM, LJ_TISNUM); 1284 dasm_put(Dst, 5151, 1+1, LJ_TISNUM, LJ_TISNUM);
1285 } else { 1285 } else {
1286 dasm_put(Dst, 5226, 1+1, LJ_TISNUM, LJ_TISNUM); 1286 dasm_put(Dst, 5222, 1+1, LJ_TISNUM, LJ_TISNUM);
1287 if (cmov) { 1287 if (cmov) {
1288 dasm_put(Dst, 5279); 1288 dasm_put(Dst, 5275);
1289 } else { 1289 } else {
1290 dasm_put(Dst, 5287); 1290 dasm_put(Dst, 5283);
1291 } 1291 }
1292 dasm_put(Dst, 5065); 1292 dasm_put(Dst, 5061);
1293 } 1293 }
1294 if (!sse) { 1294 if (!sse) {
1295 dasm_put(Dst, 5308); 1295 dasm_put(Dst, 5304);
1296 } 1296 }
1297 dasm_put(Dst, 5317, 1+1, LJ_TSTR); 1297 dasm_put(Dst, 5313, 1+1, LJ_TSTR);
1298 if (sse) { 1298 if (sse) {
1299 dasm_put(Dst, 5339, Dt5(->len)); 1299 dasm_put(Dst, 5335, Dt5(->len));
1300 } else { 1300 } else {
1301 dasm_put(Dst, 5350, Dt5(->len)); 1301 dasm_put(Dst, 5346, Dt5(->len));
1302 } 1302 }
1303 dasm_put(Dst, 5358, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); 1303 dasm_put(Dst, 5354, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1304 if (sse) { 1304 if (sse) {
1305 dasm_put(Dst, 5396); 1305 dasm_put(Dst, 5392);
1306 } else { 1306 } else {
1307 dasm_put(Dst, 5406); 1307 dasm_put(Dst, 5402);
1308 } 1308 }
1309 dasm_put(Dst, 5419, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); 1309 dasm_put(Dst, 5415, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1310 if (sse) { 1310 if (sse) {
1311 dasm_put(Dst, 5454); 1311 dasm_put(Dst, 5450);
1312 } else { 1312 } else {
1313 dasm_put(Dst, 5476); 1313 dasm_put(Dst, 5472);
1314 } 1314 }
1315 dasm_put(Dst, 5496, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); 1315 dasm_put(Dst, 5492, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1316 dasm_put(Dst, 2146); 1316 dasm_put(Dst, 2142);
1317 if (sse) { 1317 if (sse) {
1318 dasm_put(Dst, 5599); 1318 dasm_put(Dst, 5595);
1319 } else { 1319 } else {
1320 dasm_put(Dst, 5610); 1320 dasm_put(Dst, 5606);
1321 } 1321 }
1322 dasm_put(Dst, 5618, LJ_TSTR, LJ_TISNUM, Dt5(->len)); 1322 dasm_put(Dst, 5614, LJ_TSTR, LJ_TISNUM, Dt5(->len));
1323 if (sse) { 1323 if (sse) {
1324 dasm_put(Dst, 5648); 1324 dasm_put(Dst, 5644);
1325 } else { 1325 } else {
1326 dasm_put(Dst, 5655); 1326 dasm_put(Dst, 5651);
1327 } 1327 }
1328 dasm_put(Dst, 5667, sizeof(GCstr)-1); 1328 dasm_put(Dst, 5663, sizeof(GCstr)-1);
1329 dasm_put(Dst, 5742, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); 1329 dasm_put(Dst, 5738, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1330 dasm_put(Dst, 5801, LJ_TSTR, LJ_TISNUM); 1330 dasm_put(Dst, 5797, LJ_TSTR, LJ_TISNUM);
1331 if (sse) { 1331 if (sse) {
1332 dasm_put(Dst, 5822); 1332 dasm_put(Dst, 5818);
1333 } else { 1333 } else {
1334 dasm_put(Dst, 5829); 1334 dasm_put(Dst, 5825);
1335 } 1335 }
1336 dasm_put(Dst, 5841, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); 1336 dasm_put(Dst, 5837, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1337 dasm_put(Dst, 5906, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1337 dasm_put(Dst, 5902, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1338 dasm_put(Dst, 5969, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); 1338 dasm_put(Dst, 5965, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1339 dasm_put(Dst, 6040, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); 1339 dasm_put(Dst, 6036, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1340 dasm_put(Dst, 6125, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); 1340 dasm_put(Dst, 6121, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1341 dasm_put(Dst, 6195, 1+1, LJ_TTAB); 1341 dasm_put(Dst, 6191, 1+1, LJ_TTAB);
1342 if (sse) { 1342 if (sse) {
1343 dasm_put(Dst, 6263); 1343 dasm_put(Dst, 6259);
1344 } else { 1344 } else {
1345 dasm_put(Dst, 6273); 1345 dasm_put(Dst, 6269);
1346 } 1346 }
1347 if (sse) { 1347 if (sse) {
1348 dasm_put(Dst, 6284, 1+1, LJ_TISNUM); 1348 dasm_put(Dst, 6280, 1+1, LJ_TISNUM);
1349 } else { 1349 } else {
1350 dasm_put(Dst, 6341, 1+1, LJ_TISNUM); 1350 dasm_put(Dst, 6337, 1+1, LJ_TISNUM);
1351 } 1351 }
1352 if (sse) { 1352 if (sse) {
1353 dasm_put(Dst, 6385, 1+1, LJ_TISNUM); 1353 dasm_put(Dst, 6381, 1+1, LJ_TISNUM);
1354 } else { 1354 } else {
1355 dasm_put(Dst, 6433, 1+1, LJ_TISNUM); 1355 dasm_put(Dst, 6429, 1+1, LJ_TISNUM);
1356 } 1356 }
1357 dasm_put(Dst, 6473, LJ_TISNUM); 1357 dasm_put(Dst, 6469, LJ_TISNUM);
1358 if (sse) { 1358 if (sse) {
1359 dasm_put(Dst, 6500); 1359 dasm_put(Dst, 6496);
1360 } else { 1360 } else {
1361 dasm_put(Dst, 6517); 1361 dasm_put(Dst, 6513);
1362 } 1362 }
1363 dasm_put(Dst, 6530); 1363 dasm_put(Dst, 6526);
1364 if (sse) { 1364 if (sse) {
1365 dasm_put(Dst, 6538, 1+1, LJ_TISNUM); 1365 dasm_put(Dst, 6534, 1+1, LJ_TISNUM);
1366 } else { 1366 } else {
1367 dasm_put(Dst, 6586, 1+1, LJ_TISNUM); 1367 dasm_put(Dst, 6582, 1+1, LJ_TISNUM);
1368 } 1368 }
1369 dasm_put(Dst, 6473, LJ_TISNUM); 1369 dasm_put(Dst, 6469, LJ_TISNUM);
1370 if (sse) { 1370 if (sse) {
1371 dasm_put(Dst, 6626); 1371 dasm_put(Dst, 6622);
1372 } else { 1372 } else {
1373 dasm_put(Dst, 6643); 1373 dasm_put(Dst, 6639);
1374 } 1374 }
1375 dasm_put(Dst, 6530); 1375 dasm_put(Dst, 6526);
1376 if (sse) { 1376 if (sse) {
1377 dasm_put(Dst, 6656, 1+1, LJ_TISNUM); 1377 dasm_put(Dst, 6652, 1+1, LJ_TISNUM);
1378 } else { 1378 } else {
1379 dasm_put(Dst, 6704, 1+1, LJ_TISNUM); 1379 dasm_put(Dst, 6700, 1+1, LJ_TISNUM);
1380 } 1380 }
1381 dasm_put(Dst, 6473, LJ_TISNUM); 1381 dasm_put(Dst, 6469, LJ_TISNUM);
1382 if (sse) { 1382 if (sse) {
1383 dasm_put(Dst, 6744); 1383 dasm_put(Dst, 6740);
1384 } else { 1384 } else {
1385 dasm_put(Dst, 6761); 1385 dasm_put(Dst, 6757);
1386 } 1386 }
1387 dasm_put(Dst, 6530); 1387 dasm_put(Dst, 6526);
1388 if (sse) { 1388 if (sse) {
1389 dasm_put(Dst, 6774, 1+1, LJ_TISNUM); 1389 dasm_put(Dst, 6770, 1+1, LJ_TISNUM);
1390 } else { 1390 } else {
1391 dasm_put(Dst, 6822, 1+1, LJ_TISNUM); 1391 dasm_put(Dst, 6818, 1+1, LJ_TISNUM);
1392 } 1392 }
1393 dasm_put(Dst, 6862); 1393 dasm_put(Dst, 6858);
1394 if (sse) { 1394 if (sse) {
1395 dasm_put(Dst, 6869, 1+1, LJ_TISNUM); 1395 dasm_put(Dst, 6865, 1+1, LJ_TISNUM);
1396 } else { 1396 } else {
1397 dasm_put(Dst, 6917, 1+1, LJ_TISNUM); 1397 dasm_put(Dst, 6913, 1+1, LJ_TISNUM);
1398 } 1398 }
1399 dasm_put(Dst, 6957); 1399 dasm_put(Dst, 6953);
1400 if (sse) { 1400 if (sse) {
1401 dasm_put(Dst, 6961); 1401 dasm_put(Dst, 6957);
1402 } else { 1402 } else {
1403 dasm_put(Dst, 6973); 1403 dasm_put(Dst, 6969);
1404 } 1404 }
1405 dasm_put(Dst, 6986); 1405 dasm_put(Dst, 6982);
1406 if (sse) { 1406 if (sse) {
1407 dasm_put(Dst, 6997, 2+1, LJ_TISNUM, LJ_TISNUM); 1407 dasm_put(Dst, 6993, 2+1, LJ_TISNUM, LJ_TISNUM);
1408 } else { 1408 } else {
1409 dasm_put(Dst, 7071, 2+1, LJ_TISNUM, LJ_TISNUM); 1409 dasm_put(Dst, 7067, 2+1, LJ_TISNUM, LJ_TISNUM);
1410 } 1410 }
1411 dasm_put(Dst, 7137); 1411 dasm_put(Dst, 7133);
1412 if (sse) { 1412 if (sse) {
1413 dasm_put(Dst, 7146, 2+1, LJ_TISNUM, LJ_TISNUM); 1413 dasm_put(Dst, 7142, 2+1, LJ_TISNUM, LJ_TISNUM);
1414 } else { 1414 } else {
1415 dasm_put(Dst, 7220, 2+1, LJ_TISNUM, LJ_TISNUM); 1415 dasm_put(Dst, 7216, 2+1, LJ_TISNUM, LJ_TISNUM);
1416 } 1416 }
1417 dasm_put(Dst, 7286); 1417 dasm_put(Dst, 7282);
1418 if (sse) { 1418 if (sse) {
1419 dasm_put(Dst, 7296, 2+1, LJ_TISNUM, LJ_TISNUM); 1419 dasm_put(Dst, 7292, 2+1, LJ_TISNUM, LJ_TISNUM);
1420 } else { 1420 } else {
1421 dasm_put(Dst, 7370, 2+1, LJ_TISNUM, LJ_TISNUM); 1421 dasm_put(Dst, 7366, 2+1, LJ_TISNUM, LJ_TISNUM);
1422 } 1422 }
1423 dasm_put(Dst, 7436); 1423 dasm_put(Dst, 7432);
1424 if (sse) { 1424 if (sse) {
1425 dasm_put(Dst, 7446, 2+1, LJ_TISNUM, LJ_TISNUM); 1425 dasm_put(Dst, 7442, 2+1, LJ_TISNUM, LJ_TISNUM);
1426 } else { 1426 } else {
1427 dasm_put(Dst, 7520, 2+1, LJ_TISNUM, LJ_TISNUM); 1427 dasm_put(Dst, 7516, 2+1, LJ_TISNUM, LJ_TISNUM);
1428 } 1428 }
1429 dasm_put(Dst, 7586); 1429 dasm_put(Dst, 7582);
1430 if (sse) { 1430 if (sse) {
1431 dasm_put(Dst, 7595, 2+1, LJ_TISNUM, LJ_TISNUM); 1431 dasm_put(Dst, 7591, 2+1, LJ_TISNUM, LJ_TISNUM);
1432 } else { 1432 } else {
1433 dasm_put(Dst, 7669, 2+1, LJ_TISNUM, LJ_TISNUM); 1433 dasm_put(Dst, 7665, 2+1, LJ_TISNUM, LJ_TISNUM);
1434 } 1434 }
1435 dasm_put(Dst, 7735, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); 1435 dasm_put(Dst, 7731, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1436 dasm_put(Dst, 7813, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); 1436 dasm_put(Dst, 7809, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1437 dasm_put(Dst, 7936, Dt1(->top), Dt1(->base), Dt1(->top)); 1437 dasm_put(Dst, 7932, Dt1(->top), Dt1(->base), Dt1(->top));
1438#if LJ_HASJIT 1438#if LJ_HASJIT
1439 dasm_put(Dst, 7974, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); 1439 dasm_put(Dst, 7970, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1440#endif 1440#endif
1441 dasm_put(Dst, 8005, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); 1441 dasm_put(Dst, 8001, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1442 dasm_put(Dst, 8056, Dt1(->base), Dt1(->base), GG_DISP2STATIC); 1442 dasm_put(Dst, 8052, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1443#if LJ_HASJIT 1443#if LJ_HASJIT
1444 dasm_put(Dst, 8122, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); 1444 dasm_put(Dst, 8118, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1445#endif 1445#endif
1446 dasm_put(Dst, 8168); 1446 dasm_put(Dst, 8164);
1447#if LJ_HASJIT 1447#if LJ_HASJIT
1448 dasm_put(Dst, 8000); 1448 dasm_put(Dst, 7996);
1449#endif 1449#endif
1450 dasm_put(Dst, 8175); 1450 dasm_put(Dst, 8171);
1451#if LJ_HASJIT 1451#if LJ_HASJIT
1452 dasm_put(Dst, 8178); 1452 dasm_put(Dst, 8174);
1453#endif 1453#endif
1454 dasm_put(Dst, 8188, Dt1(->base), Dt1(->top)); 1454 dasm_put(Dst, 8184, Dt1(->base), Dt1(->top));
1455#if LJ_HASJIT 1455#if LJ_HASJIT
1456 dasm_put(Dst, 8222); 1456 dasm_put(Dst, 8218);
1457#endif 1457#endif
1458 dasm_put(Dst, 8227, Dt1(->base), Dt1(->top)); 1458 dasm_put(Dst, 8223, Dt1(->base), Dt1(->top));
1459#if LJ_HASJIT 1459#if LJ_HASJIT
1460 dasm_put(Dst, 8256, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); 1460 dasm_put(Dst, 8252, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1461#endif 1461#endif
1462 dasm_put(Dst, 8399); 1462 dasm_put(Dst, 8395);
1463#if LJ_HASJIT 1463#if LJ_HASJIT
1464 dasm_put(Dst, 8402, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); 1464 dasm_put(Dst, 8398, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1465#endif 1465#endif
1466 dasm_put(Dst, 8480); 1466 dasm_put(Dst, 8476);
1467 if (!sse) { 1467 if (!sse) {
1468 dasm_put(Dst, 8483); 1468 dasm_put(Dst, 8479);
1469 } 1469 }
1470 dasm_put(Dst, 8528); 1470 dasm_put(Dst, 8524);
1471 if (!sse) { 1471 if (!sse) {
1472 dasm_put(Dst, 8630); 1472 dasm_put(Dst, 8626);
1473 } 1473 }
1474 dasm_put(Dst, 8675); 1474 dasm_put(Dst, 8671);
1475 if (!sse) { 1475 if (!sse) {
1476 dasm_put(Dst, 8777); 1476 dasm_put(Dst, 8773);
1477 } 1477 }
1478 dasm_put(Dst, 8816); 1478 dasm_put(Dst, 8812);
1479 if (sse) { 1479 if (sse) {
1480 dasm_put(Dst, 8921); 1480 dasm_put(Dst, 8917);
1481 } else { 1481 } else {
1482 dasm_put(Dst, 9051); 1482 dasm_put(Dst, 9047);
1483 } 1483 }
1484 dasm_put(Dst, 9098); 1484 dasm_put(Dst, 9094);
1485 if (!sse) { 1485 if (!sse) {
1486 dasm_put(Dst, 9172); 1486 dasm_put(Dst, 9168);
1487 if (cmov) { 1487 if (cmov) {
1488 dasm_put(Dst, 9183); 1488 dasm_put(Dst, 9179);
1489 } else { 1489 } else {
1490 dasm_put(Dst, 9187); 1490 dasm_put(Dst, 9183);
1491 } 1491 }
1492 dasm_put(Dst, 9194); 1492 dasm_put(Dst, 9190);
1493 dasm_put(Dst, 9268); 1493 dasm_put(Dst, 9264);
1494 dasm_put(Dst, 9368); 1494 dasm_put(Dst, 9364);
1495 if (cmov) { 1495 if (cmov) {
1496 dasm_put(Dst, 9371); 1496 dasm_put(Dst, 9367);
1497 } else { 1497 } else {
1498 dasm_put(Dst, 9375); 1498 dasm_put(Dst, 9371);
1499 } 1499 }
1500 dasm_put(Dst, 9382); 1500 dasm_put(Dst, 9378);
1501 if (cmov) { 1501 if (cmov) {
1502 dasm_put(Dst, 9183); 1502 dasm_put(Dst, 9179);
1503 } else { 1503 } else {
1504 dasm_put(Dst, 9187); 1504 dasm_put(Dst, 9183);
1505 } 1505 }
1506 dasm_put(Dst, 9400); 1506 dasm_put(Dst, 9396);
1507 } else { 1507 } else {
1508 dasm_put(Dst, 9479); 1508 dasm_put(Dst, 9475);
1509 } 1509 }
1510 dasm_put(Dst, 9482); 1510 dasm_put(Dst, 9478);
1511 dasm_put(Dst, 9567); 1511 dasm_put(Dst, 9563);
1512 dasm_put(Dst, 9698); 1512 dasm_put(Dst, 9694);
1513 dasm_put(Dst, 9897); 1513 dasm_put(Dst, 9893);
1514#if LJ_HASJIT
1514 if (sse) { 1515 if (sse) {
1515 dasm_put(Dst, 9920); 1516 dasm_put(Dst, 9916);
1516 dasm_put(Dst, 9977); 1517 dasm_put(Dst, 9973);
1517 dasm_put(Dst, 10068); 1518 dasm_put(Dst, 10064);
1518 } else { 1519 } else {
1519 dasm_put(Dst, 10110); 1520 dasm_put(Dst, 10106);
1520 dasm_put(Dst, 10202); 1521 dasm_put(Dst, 10198);
1521 } 1522 }
1523 dasm_put(Dst, 10244);
1524#endif
1522 dasm_put(Dst, 10248); 1525 dasm_put(Dst, 10248);
1523 if (sse) { 1526 if (sse) {
1524 dasm_put(Dst, 10254); 1527 dasm_put(Dst, 10251);
1525 dasm_put(Dst, 10359); 1528 dasm_put(Dst, 10356);
1526 dasm_put(Dst, 10442); 1529 dasm_put(Dst, 10439);
1527 } else { 1530 } else {
1528 dasm_put(Dst, 10514); 1531 dasm_put(Dst, 10511);
1529 dasm_put(Dst, 10597); 1532 dasm_put(Dst, 10594);
1530 if (cmov) { 1533 if (cmov) {
1531 dasm_put(Dst, 10652); 1534 dasm_put(Dst, 10649);
1532 } else { 1535 } else {
1533 dasm_put(Dst, 10671); 1536 dasm_put(Dst, 10668);
1534 } 1537 }
1535 dasm_put(Dst, 10510); 1538 dasm_put(Dst, 10244);
1536 } 1539 }
1537 dasm_put(Dst, 10712); 1540 dasm_put(Dst, 10709);
1538} 1541}
1539 1542
1540/* Generate the code for a single instruction. */ 1543/* Generate the code for a single instruction. */
1541static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) 1544static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1542{ 1545{
1543 int vk = 0; 1546 int vk = 0;
1544 dasm_put(Dst, 10766, defop); 1547 dasm_put(Dst, 10763, defop);
1545 1548
1546 switch (op) { 1549 switch (op) {
1547 1550
@@ -1550,613 +1553,613 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1550 /* Remember: all ops branch for a true comparison, fall through otherwise. */ 1553 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1551 1554
1552 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: 1555 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1553 dasm_put(Dst, 10768, LJ_TISNUM, LJ_TISNUM); 1556 dasm_put(Dst, 10765, LJ_TISNUM, LJ_TISNUM);
1554 if (sse) { 1557 if (sse) {
1555 dasm_put(Dst, 10789); 1558 dasm_put(Dst, 10786);
1556 } else { 1559 } else {
1557 dasm_put(Dst, 10804); 1560 dasm_put(Dst, 10801);
1558 if (cmov) { 1561 if (cmov) {
1559 dasm_put(Dst, 10814); 1562 dasm_put(Dst, 10811);
1560 } else { 1563 } else {
1561 dasm_put(Dst, 10820); 1564 dasm_put(Dst, 10817);
1562 } 1565 }
1563 } 1566 }
1564 switch (op) { 1567 switch (op) {
1565 case BC_ISLT: 1568 case BC_ISLT:
1566 dasm_put(Dst, 10827); 1569 dasm_put(Dst, 10824);
1567 break; 1570 break;
1568 case BC_ISGE: 1571 case BC_ISGE:
1569 dasm_put(Dst, 10063); 1572 dasm_put(Dst, 10059);
1570 break; 1573 break;
1571 case BC_ISLE: 1574 case BC_ISLE:
1572 dasm_put(Dst, 6190); 1575 dasm_put(Dst, 6186);
1573 break; 1576 break;
1574 case BC_ISGT: 1577 case BC_ISGT:
1575 dasm_put(Dst, 10832); 1578 dasm_put(Dst, 10829);
1576 break; 1579 break;
1577 default: break; /* Shut up GCC. */ 1580 default: break; /* Shut up GCC. */
1578 } 1581 }
1579 dasm_put(Dst, 10837, -BCBIAS_J*4); 1582 dasm_put(Dst, 10834, -BCBIAS_J*4);
1580 break; 1583 break;
1581 1584
1582 case BC_ISEQV: case BC_ISNEV: 1585 case BC_ISEQV: case BC_ISNEV:
1583 vk = op == BC_ISEQV; 1586 vk = op == BC_ISEQV;
1584 dasm_put(Dst, 10870, LJ_TISNUM, LJ_TISNUM); 1587 dasm_put(Dst, 10867, LJ_TISNUM, LJ_TISNUM);
1585 if (sse) { 1588 if (sse) {
1586 dasm_put(Dst, 10896); 1589 dasm_put(Dst, 10893);
1587 } else { 1590 } else {
1588 dasm_put(Dst, 10908); 1591 dasm_put(Dst, 10905);
1589 if (cmov) { 1592 if (cmov) {
1590 dasm_put(Dst, 10814); 1593 dasm_put(Dst, 10811);
1591 } else { 1594 } else {
1592 dasm_put(Dst, 10820); 1595 dasm_put(Dst, 10817);
1593 } 1596 }
1594 } 1597 }
1595 iseqne_fp: 1598 iseqne_fp:
1596 if (vk) { 1599 if (vk) {
1597 dasm_put(Dst, 10915); 1600 dasm_put(Dst, 10912);
1598 } else { 1601 } else {
1599 dasm_put(Dst, 10924); 1602 dasm_put(Dst, 10921);
1600 } 1603 }
1601 iseqne_end: 1604 iseqne_end:
1602 if (vk) { 1605 if (vk) {
1603 dasm_put(Dst, 10933, -BCBIAS_J*4); 1606 dasm_put(Dst, 10930, -BCBIAS_J*4);
1604 } else { 1607 } else {
1605 dasm_put(Dst, 10948, -BCBIAS_J*4); 1608 dasm_put(Dst, 10945, -BCBIAS_J*4);
1606 } 1609 }
1607 dasm_put(Dst, 10851); 1610 dasm_put(Dst, 10848);
1608 if (op == BC_ISEQV || op == BC_ISNEV) { 1611 if (op == BC_ISEQV || op == BC_ISNEV) {
1609 dasm_put(Dst, 10963, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); 1612 dasm_put(Dst, 10960, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
1610 if (vk) { 1613 if (vk) {
1611 dasm_put(Dst, 11021); 1614 dasm_put(Dst, 11018);
1612 } else { 1615 } else {
1613 dasm_put(Dst, 11025); 1616 dasm_put(Dst, 11022);
1614 } 1617 }
1615 dasm_put(Dst, 11031); 1618 dasm_put(Dst, 11028);
1616 } 1619 }
1617 break; 1620 break;
1618 case BC_ISEQS: case BC_ISNES: 1621 case BC_ISEQS: case BC_ISNES:
1619 vk = op == BC_ISEQS; 1622 vk = op == BC_ISEQS;
1620 dasm_put(Dst, 11036, LJ_TSTR); 1623 dasm_put(Dst, 11033, LJ_TSTR);
1621 iseqne_test: 1624 iseqne_test:
1622 if (vk) { 1625 if (vk) {
1623 dasm_put(Dst, 10919); 1626 dasm_put(Dst, 10916);
1624 } else { 1627 } else {
1625 dasm_put(Dst, 2818); 1628 dasm_put(Dst, 2814);
1626 } 1629 }
1627 goto iseqne_end; 1630 goto iseqne_end;
1628 case BC_ISEQN: case BC_ISNEN: 1631 case BC_ISEQN: case BC_ISNEN:
1629 vk = op == BC_ISEQN; 1632 vk = op == BC_ISEQN;
1630 dasm_put(Dst, 11059, LJ_TISNUM); 1633 dasm_put(Dst, 11056, LJ_TISNUM);
1631 if (sse) { 1634 if (sse) {
1632 dasm_put(Dst, 11073); 1635 dasm_put(Dst, 11070);
1633 } else { 1636 } else {
1634 dasm_put(Dst, 11085); 1637 dasm_put(Dst, 11082);
1635 if (cmov) { 1638 if (cmov) {
1636 dasm_put(Dst, 10814); 1639 dasm_put(Dst, 10811);
1637 } else { 1640 } else {
1638 dasm_put(Dst, 10820); 1641 dasm_put(Dst, 10817);
1639 } 1642 }
1640 } 1643 }
1641 goto iseqne_fp; 1644 goto iseqne_fp;
1642 case BC_ISEQP: case BC_ISNEP: 1645 case BC_ISEQP: case BC_ISNEP:
1643 vk = op == BC_ISEQP; 1646 vk = op == BC_ISEQP;
1644 dasm_put(Dst, 11092); 1647 dasm_put(Dst, 11089);
1645 goto iseqne_test; 1648 goto iseqne_test;
1646 1649
1647 /* -- Unary test and copy ops ------------------------------------------- */ 1650 /* -- Unary test and copy ops ------------------------------------------- */
1648 1651
1649 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: 1652 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
1650 dasm_put(Dst, 11103, LJ_TISTRUECOND); 1653 dasm_put(Dst, 11100, LJ_TISTRUECOND);
1651 if (op == BC_IST || op == BC_ISTC) { 1654 if (op == BC_IST || op == BC_ISTC) {
1652 dasm_put(Dst, 11115); 1655 dasm_put(Dst, 11112);
1653 } else { 1656 } else {
1654 dasm_put(Dst, 11120); 1657 dasm_put(Dst, 11117);
1655 } 1658 }
1656 if (op == BC_ISTC || op == BC_ISFC) { 1659 if (op == BC_ISTC || op == BC_ISFC) {
1657 dasm_put(Dst, 11125); 1660 dasm_put(Dst, 11122);
1658 } 1661 }
1659 dasm_put(Dst, 11136, -BCBIAS_J*4); 1662 dasm_put(Dst, 11133, -BCBIAS_J*4);
1660 break; 1663 break;
1661 1664
1662 /* -- Unary ops --------------------------------------------------------- */ 1665 /* -- Unary ops --------------------------------------------------------- */
1663 1666
1664 case BC_MOV: 1667 case BC_MOV:
1665 dasm_put(Dst, 11167); 1668 dasm_put(Dst, 11164);
1666 break; 1669 break;
1667 case BC_NOT: 1670 case BC_NOT:
1668 dasm_put(Dst, 11200, LJ_TISTRUECOND, LJ_TTRUE); 1671 dasm_put(Dst, 11197, LJ_TISTRUECOND, LJ_TTRUE);
1669 break; 1672 break;
1670 case BC_UNM: 1673 case BC_UNM:
1671 dasm_put(Dst, 11235, LJ_TISNUM); 1674 dasm_put(Dst, 11232, LJ_TISNUM);
1672 if (sse) { 1675 if (sse) {
1673 dasm_put(Dst, 11246); 1676 dasm_put(Dst, 11243);
1674 } else { 1677 } else {
1675 dasm_put(Dst, 11276); 1678 dasm_put(Dst, 11273);
1676 } 1679 }
1677 dasm_put(Dst, 10851); 1680 dasm_put(Dst, 10848);
1678 break; 1681 break;
1679 case BC_LEN: 1682 case BC_LEN:
1680 dasm_put(Dst, 11285, LJ_TSTR); 1683 dasm_put(Dst, 11282, LJ_TSTR);
1681 if (sse) { 1684 if (sse) {
1682 dasm_put(Dst, 11299, Dt5(->len)); 1685 dasm_put(Dst, 11296, Dt5(->len));
1683 } else { 1686 } else {
1684 dasm_put(Dst, 11317, Dt5(->len)); 1687 dasm_put(Dst, 11314, Dt5(->len));
1685 } 1688 }
1686 dasm_put(Dst, 11326, LJ_TTAB); 1689 dasm_put(Dst, 11323, LJ_TTAB);
1687 if (sse) { 1690 if (sse) {
1688 dasm_put(Dst, 11366); 1691 dasm_put(Dst, 11363);
1689 } else { 1692 } else {
1690 dasm_put(Dst, 11375); 1693 dasm_put(Dst, 11372);
1691 } 1694 }
1692 dasm_put(Dst, 11385); 1695 dasm_put(Dst, 11382);
1693 break; 1696 break;
1694 1697
1695 /* -- Binary ops -------------------------------------------------------- */ 1698 /* -- Binary ops -------------------------------------------------------- */
1696 1699
1697 1700
1698 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: 1701 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
1699 dasm_put(Dst, 11395); 1702 dasm_put(Dst, 11392);
1700 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1703 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1701 switch (vk) { 1704 switch (vk) {
1702 case 0: 1705 case 0:
1703 dasm_put(Dst, 11403, LJ_TISNUM); 1706 dasm_put(Dst, 11400, LJ_TISNUM);
1704 if (sse) { 1707 if (sse) {
1705 dasm_put(Dst, 11415); 1708 dasm_put(Dst, 11412);
1706 } else { 1709 } else {
1707 dasm_put(Dst, 11429); 1710 dasm_put(Dst, 11426);
1708 } 1711 }
1709 break; 1712 break;
1710 case 1: 1713 case 1:
1711 dasm_put(Dst, 11437, LJ_TISNUM); 1714 dasm_put(Dst, 11434, LJ_TISNUM);
1712 if (sse) { 1715 if (sse) {
1713 dasm_put(Dst, 11449); 1716 dasm_put(Dst, 11446);
1714 } else { 1717 } else {
1715 dasm_put(Dst, 11463); 1718 dasm_put(Dst, 11460);
1716 } 1719 }
1717 break; 1720 break;
1718 default: 1721 default:
1719 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1722 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1720 if (sse) { 1723 if (sse) {
1721 dasm_put(Dst, 11493); 1724 dasm_put(Dst, 11490);
1722 } else { 1725 } else {
1723 dasm_put(Dst, 11507); 1726 dasm_put(Dst, 11504);
1724 } 1727 }
1725 break; 1728 break;
1726 } 1729 }
1727 if (sse) { 1730 if (sse) {
1728 dasm_put(Dst, 11269); 1731 dasm_put(Dst, 11266);
1729 } else { 1732 } else {
1730 dasm_put(Dst, 11281); 1733 dasm_put(Dst, 11278);
1731 } 1734 }
1732 dasm_put(Dst, 10851); 1735 dasm_put(Dst, 10848);
1733 break; 1736 break;
1734 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: 1737 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
1735 dasm_put(Dst, 11395); 1738 dasm_put(Dst, 11392);
1736 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1739 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1737 switch (vk) { 1740 switch (vk) {
1738 case 0: 1741 case 0:
1739 dasm_put(Dst, 11403, LJ_TISNUM); 1742 dasm_put(Dst, 11400, LJ_TISNUM);
1740 if (sse) { 1743 if (sse) {
1741 dasm_put(Dst, 11515); 1744 dasm_put(Dst, 11512);
1742 } else { 1745 } else {
1743 dasm_put(Dst, 11529); 1746 dasm_put(Dst, 11526);
1744 } 1747 }
1745 break; 1748 break;
1746 case 1: 1749 case 1:
1747 dasm_put(Dst, 11437, LJ_TISNUM); 1750 dasm_put(Dst, 11434, LJ_TISNUM);
1748 if (sse) { 1751 if (sse) {
1749 dasm_put(Dst, 11537); 1752 dasm_put(Dst, 11534);
1750 } else { 1753 } else {
1751 dasm_put(Dst, 11551); 1754 dasm_put(Dst, 11548);
1752 } 1755 }
1753 break; 1756 break;
1754 default: 1757 default:
1755 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1758 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1756 if (sse) { 1759 if (sse) {
1757 dasm_put(Dst, 11559); 1760 dasm_put(Dst, 11556);
1758 } else { 1761 } else {
1759 dasm_put(Dst, 11573); 1762 dasm_put(Dst, 11570);
1760 } 1763 }
1761 break; 1764 break;
1762 } 1765 }
1763 if (sse) { 1766 if (sse) {
1764 dasm_put(Dst, 11269); 1767 dasm_put(Dst, 11266);
1765 } else { 1768 } else {
1766 dasm_put(Dst, 11281); 1769 dasm_put(Dst, 11278);
1767 } 1770 }
1768 dasm_put(Dst, 10851); 1771 dasm_put(Dst, 10848);
1769 break; 1772 break;
1770 case BC_MULVN: case BC_MULNV: case BC_MULVV: 1773 case BC_MULVN: case BC_MULNV: case BC_MULVV:
1771 dasm_put(Dst, 11395); 1774 dasm_put(Dst, 11392);
1772 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1775 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1773 switch (vk) { 1776 switch (vk) {
1774 case 0: 1777 case 0:
1775 dasm_put(Dst, 11403, LJ_TISNUM); 1778 dasm_put(Dst, 11400, LJ_TISNUM);
1776 if (sse) { 1779 if (sse) {
1777 dasm_put(Dst, 11581); 1780 dasm_put(Dst, 11578);
1778 } else { 1781 } else {
1779 dasm_put(Dst, 11595); 1782 dasm_put(Dst, 11592);
1780 } 1783 }
1781 break; 1784 break;
1782 case 1: 1785 case 1:
1783 dasm_put(Dst, 11437, LJ_TISNUM); 1786 dasm_put(Dst, 11434, LJ_TISNUM);
1784 if (sse) { 1787 if (sse) {
1785 dasm_put(Dst, 11603); 1788 dasm_put(Dst, 11600);
1786 } else { 1789 } else {
1787 dasm_put(Dst, 11617); 1790 dasm_put(Dst, 11614);
1788 } 1791 }
1789 break; 1792 break;
1790 default: 1793 default:
1791 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1794 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1792 if (sse) { 1795 if (sse) {
1793 dasm_put(Dst, 11625); 1796 dasm_put(Dst, 11622);
1794 } else { 1797 } else {
1795 dasm_put(Dst, 11639); 1798 dasm_put(Dst, 11636);
1796 } 1799 }
1797 break; 1800 break;
1798 } 1801 }
1799 if (sse) { 1802 if (sse) {
1800 dasm_put(Dst, 11269); 1803 dasm_put(Dst, 11266);
1801 } else { 1804 } else {
1802 dasm_put(Dst, 11281); 1805 dasm_put(Dst, 11278);
1803 } 1806 }
1804 dasm_put(Dst, 10851); 1807 dasm_put(Dst, 10848);
1805 break; 1808 break;
1806 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: 1809 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
1807 dasm_put(Dst, 11395); 1810 dasm_put(Dst, 11392);
1808 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1811 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1809 switch (vk) { 1812 switch (vk) {
1810 case 0: 1813 case 0:
1811 dasm_put(Dst, 11403, LJ_TISNUM); 1814 dasm_put(Dst, 11400, LJ_TISNUM);
1812 if (sse) { 1815 if (sse) {
1813 dasm_put(Dst, 11647); 1816 dasm_put(Dst, 11644);
1814 } else { 1817 } else {
1815 dasm_put(Dst, 11661); 1818 dasm_put(Dst, 11658);
1816 } 1819 }
1817 break; 1820 break;
1818 case 1: 1821 case 1:
1819 dasm_put(Dst, 11437, LJ_TISNUM); 1822 dasm_put(Dst, 11434, LJ_TISNUM);
1820 if (sse) { 1823 if (sse) {
1821 dasm_put(Dst, 11669); 1824 dasm_put(Dst, 11666);
1822 } else { 1825 } else {
1823 dasm_put(Dst, 11683); 1826 dasm_put(Dst, 11680);
1824 } 1827 }
1825 break; 1828 break;
1826 default: 1829 default:
1827 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1830 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1828 if (sse) { 1831 if (sse) {
1829 dasm_put(Dst, 11691); 1832 dasm_put(Dst, 11688);
1830 } else { 1833 } else {
1831 dasm_put(Dst, 11705); 1834 dasm_put(Dst, 11702);
1832 } 1835 }
1833 break; 1836 break;
1834 } 1837 }
1835 if (sse) { 1838 if (sse) {
1836 dasm_put(Dst, 11269); 1839 dasm_put(Dst, 11266);
1837 } else { 1840 } else {
1838 dasm_put(Dst, 11281); 1841 dasm_put(Dst, 11278);
1839 } 1842 }
1840 dasm_put(Dst, 10851); 1843 dasm_put(Dst, 10848);
1841 break; 1844 break;
1842 case BC_MODVN: 1845 case BC_MODVN:
1843 dasm_put(Dst, 11395); 1846 dasm_put(Dst, 11392);
1844 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1847 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1845 switch (vk) { 1848 switch (vk) {
1846 case 0: 1849 case 0:
1847 dasm_put(Dst, 11403, LJ_TISNUM); 1850 dasm_put(Dst, 11400, LJ_TISNUM);
1848 if (sse) { 1851 if (sse) {
1849 dasm_put(Dst, 11713); 1852 dasm_put(Dst, 11710);
1850 } else { 1853 } else {
1851 dasm_put(Dst, 11727); 1854 dasm_put(Dst, 11724);
1852 } 1855 }
1853 break; 1856 break;
1854 case 1: 1857 case 1:
1855 dasm_put(Dst, 11437, LJ_TISNUM); 1858 dasm_put(Dst, 11434, LJ_TISNUM);
1856 if (sse) { 1859 if (sse) {
1857 dasm_put(Dst, 11735); 1860 dasm_put(Dst, 11732);
1858 } else { 1861 } else {
1859 dasm_put(Dst, 11749); 1862 dasm_put(Dst, 11746);
1860 } 1863 }
1861 break; 1864 break;
1862 default: 1865 default:
1863 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1866 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1864 if (sse) { 1867 if (sse) {
1865 dasm_put(Dst, 11757); 1868 dasm_put(Dst, 11754);
1866 } else { 1869 } else {
1867 dasm_put(Dst, 11771); 1870 dasm_put(Dst, 11768);
1868 } 1871 }
1869 break; 1872 break;
1870 } 1873 }
1871 dasm_put(Dst, 11779); 1874 dasm_put(Dst, 11776);
1872 if (sse) { 1875 if (sse) {
1873 dasm_put(Dst, 11269); 1876 dasm_put(Dst, 11266);
1874 } else { 1877 } else {
1875 dasm_put(Dst, 11281); 1878 dasm_put(Dst, 11278);
1876 } 1879 }
1877 dasm_put(Dst, 10851); 1880 dasm_put(Dst, 10848);
1878 break; 1881 break;
1879 case BC_MODNV: case BC_MODVV: 1882 case BC_MODNV: case BC_MODVV:
1880 dasm_put(Dst, 11395); 1883 dasm_put(Dst, 11392);
1881 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1884 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1882 switch (vk) { 1885 switch (vk) {
1883 case 0: 1886 case 0:
1884 dasm_put(Dst, 11403, LJ_TISNUM); 1887 dasm_put(Dst, 11400, LJ_TISNUM);
1885 if (sse) { 1888 if (sse) {
1886 dasm_put(Dst, 11713); 1889 dasm_put(Dst, 11710);
1887 } else { 1890 } else {
1888 dasm_put(Dst, 11727); 1891 dasm_put(Dst, 11724);
1889 } 1892 }
1890 break; 1893 break;
1891 case 1: 1894 case 1:
1892 dasm_put(Dst, 11437, LJ_TISNUM); 1895 dasm_put(Dst, 11434, LJ_TISNUM);
1893 if (sse) { 1896 if (sse) {
1894 dasm_put(Dst, 11735); 1897 dasm_put(Dst, 11732);
1895 } else { 1898 } else {
1896 dasm_put(Dst, 11749); 1899 dasm_put(Dst, 11746);
1897 } 1900 }
1898 break; 1901 break;
1899 default: 1902 default:
1900 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1903 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1901 if (sse) { 1904 if (sse) {
1902 dasm_put(Dst, 11757); 1905 dasm_put(Dst, 11754);
1903 } else { 1906 } else {
1904 dasm_put(Dst, 11771); 1907 dasm_put(Dst, 11768);
1905 } 1908 }
1906 break; 1909 break;
1907 } 1910 }
1908 dasm_put(Dst, 11785); 1911 dasm_put(Dst, 11782);
1909 break; 1912 break;
1910 case BC_POW: 1913 case BC_POW:
1911 dasm_put(Dst, 11395); 1914 dasm_put(Dst, 11392);
1912 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); 1915 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
1913 switch (vk) { 1916 switch (vk) {
1914 case 0: 1917 case 0:
1915 dasm_put(Dst, 11403, LJ_TISNUM); 1918 dasm_put(Dst, 11400, LJ_TISNUM);
1916 if (sse) { 1919 if (sse) {
1917 dasm_put(Dst, 11713); 1920 dasm_put(Dst, 11710);
1918 } else { 1921 } else {
1919 dasm_put(Dst, 11727); 1922 dasm_put(Dst, 11724);
1920 } 1923 }
1921 break; 1924 break;
1922 case 1: 1925 case 1:
1923 dasm_put(Dst, 11437, LJ_TISNUM); 1926 dasm_put(Dst, 11434, LJ_TISNUM);
1924 if (sse) { 1927 if (sse) {
1925 dasm_put(Dst, 11735); 1928 dasm_put(Dst, 11732);
1926 } else { 1929 } else {
1927 dasm_put(Dst, 11749); 1930 dasm_put(Dst, 11746);
1928 } 1931 }
1929 break; 1932 break;
1930 default: 1933 default:
1931 dasm_put(Dst, 11471, LJ_TISNUM, LJ_TISNUM); 1934 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
1932 if (sse) { 1935 if (sse) {
1933 dasm_put(Dst, 11757); 1936 dasm_put(Dst, 11754);
1934 } else { 1937 } else {
1935 dasm_put(Dst, 11771); 1938 dasm_put(Dst, 11768);
1936 } 1939 }
1937 break; 1940 break;
1938 } 1941 }
1939 dasm_put(Dst, 11790); 1942 dasm_put(Dst, 11787);
1940 if (sse) { 1943 if (sse) {
1941 dasm_put(Dst, 11269); 1944 dasm_put(Dst, 11266);
1942 } else { 1945 } else {
1943 dasm_put(Dst, 11281); 1946 dasm_put(Dst, 11278);
1944 } 1947 }
1945 dasm_put(Dst, 10851); 1948 dasm_put(Dst, 10848);
1946 break; 1949 break;
1947 1950
1948 case BC_CAT: 1951 case BC_CAT:
1949 dasm_put(Dst, 11794, Dt1(->base), Dt1(->base)); 1952 dasm_put(Dst, 11791, Dt1(->base), Dt1(->base));
1950 break; 1953 break;
1951 1954
1952 /* -- Constant ops ------------------------------------------------------ */ 1955 /* -- Constant ops ------------------------------------------------------ */
1953 1956
1954 case BC_KSTR: 1957 case BC_KSTR:
1955 dasm_put(Dst, 11888, LJ_TSTR); 1958 dasm_put(Dst, 11885, LJ_TSTR);
1956 break; 1959 break;
1957 case BC_KSHORT: 1960 case BC_KSHORT:
1958 if (sse) { 1961 if (sse) {
1959 dasm_put(Dst, 11921); 1962 dasm_put(Dst, 11918);
1960 } else { 1963 } else {
1961 dasm_put(Dst, 11936); 1964 dasm_put(Dst, 11933);
1962 } 1965 }
1963 dasm_put(Dst, 10851); 1966 dasm_put(Dst, 10848);
1964 break; 1967 break;
1965 case BC_KNUM: 1968 case BC_KNUM:
1966 if (sse) { 1969 if (sse) {
1967 dasm_put(Dst, 11944); 1970 dasm_put(Dst, 11941);
1968 } else { 1971 } else {
1969 dasm_put(Dst, 11957); 1972 dasm_put(Dst, 11954);
1970 } 1973 }
1971 dasm_put(Dst, 10851); 1974 dasm_put(Dst, 10848);
1972 break; 1975 break;
1973 case BC_KPRI: 1976 case BC_KPRI:
1974 dasm_put(Dst, 11964); 1977 dasm_put(Dst, 11961);
1975 break; 1978 break;
1976 case BC_KNIL: 1979 case BC_KNIL:
1977 dasm_put(Dst, 11990, LJ_TNIL); 1980 dasm_put(Dst, 11987, LJ_TNIL);
1978 break; 1981 break;
1979 1982
1980 /* -- Upvalue and function ops ------------------------------------------ */ 1983 /* -- Upvalue and function ops ------------------------------------------ */
1981 1984
1982 case BC_UGET: 1985 case BC_UGET:
1983 dasm_put(Dst, 12036, offsetof(GCfuncL, uvptr), DtA(->v)); 1986 dasm_put(Dst, 12033, offsetof(GCfuncL, uvptr), DtA(->v));
1984 break; 1987 break;
1985 case BC_USETV: 1988 case BC_USETV:
1986#define TV2MARKOFS \ 1989#define TV2MARKOFS \
1987 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) 1990 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
1988 dasm_put(Dst, 12080, 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); 1991 dasm_put(Dst, 12077, 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);
1989 dasm_put(Dst, 12170); 1992 dasm_put(Dst, 12167);
1990 break; 1993 break;
1991#undef TV2MARKOFS 1994#undef TV2MARKOFS
1992 case BC_USETS: 1995 case BC_USETS:
1993 dasm_put(Dst, 12182, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); 1996 dasm_put(Dst, 12179, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
1994 break; 1997 break;
1995 case BC_USETN: 1998 case BC_USETN:
1996 dasm_put(Dst, 12273); 1999 dasm_put(Dst, 12270);
1997 if (sse) { 2000 if (sse) {
1998 dasm_put(Dst, 12278); 2001 dasm_put(Dst, 12275);
1999 } else { 2002 } else {
2000 dasm_put(Dst, 11088); 2003 dasm_put(Dst, 11085);
2001 } 2004 }
2002 dasm_put(Dst, 12285, offsetof(GCfuncL, uvptr), DtA(->v)); 2005 dasm_put(Dst, 12282, offsetof(GCfuncL, uvptr), DtA(->v));
2003 if (sse) { 2006 if (sse) {
2004 dasm_put(Dst, 12294); 2007 dasm_put(Dst, 12291);
2005 } else { 2008 } else {
2006 dasm_put(Dst, 12300); 2009 dasm_put(Dst, 12297);
2007 } 2010 }
2008 dasm_put(Dst, 10851); 2011 dasm_put(Dst, 10848);
2009 break; 2012 break;
2010 case BC_USETP: 2013 case BC_USETP:
2011 dasm_put(Dst, 12303, offsetof(GCfuncL, uvptr), DtA(->v)); 2014 dasm_put(Dst, 12300, offsetof(GCfuncL, uvptr), DtA(->v));
2012 break; 2015 break;
2013 case BC_UCLO: 2016 case BC_UCLO:
2014 dasm_put(Dst, 12340, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); 2017 dasm_put(Dst, 12337, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2015 break; 2018 break;
2016 2019
2017 case BC_FNEW: 2020 case BC_FNEW:
2018 dasm_put(Dst, 12394, Dt1(->base), Dt1(->base), LJ_TFUNC); 2021 dasm_put(Dst, 12391, Dt1(->base), Dt1(->base), LJ_TFUNC);
2019 break; 2022 break;
2020 2023
2021 /* -- Table ops --------------------------------------------------------- */ 2024 /* -- Table ops --------------------------------------------------------- */
2022 2025
2023 case BC_TNEW: 2026 case BC_TNEW:
2024 dasm_put(Dst, 12465, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); 2027 dasm_put(Dst, 12462, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2025 break; 2028 break;
2026 case BC_TDUP: 2029 case BC_TDUP:
2027 dasm_put(Dst, 12591, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); 2030 dasm_put(Dst, 12588, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2028 break; 2031 break;
2029 2032
2030 case BC_GGET: 2033 case BC_GGET:
2031 dasm_put(Dst, 12683, Dt7(->env)); 2034 dasm_put(Dst, 12680, Dt7(->env));
2032 break; 2035 break;
2033 case BC_GSET: 2036 case BC_GSET:
2034 dasm_put(Dst, 12701, Dt7(->env)); 2037 dasm_put(Dst, 12698, Dt7(->env));
2035 break; 2038 break;
2036 2039
2037 case BC_TGETV: 2040 case BC_TGETV:
2038 dasm_put(Dst, 12719, LJ_TTAB, LJ_TISNUM); 2041 dasm_put(Dst, 12716, LJ_TTAB, LJ_TISNUM);
2039 if (sse) { 2042 if (sse) {
2040 dasm_put(Dst, 12752); 2043 dasm_put(Dst, 12749);
2041 } else { 2044 } else {
2042 dasm_put(Dst, 12773); 2045 dasm_put(Dst, 12770);
2043 if (cmov) { 2046 if (cmov) {
2044 dasm_put(Dst, 10814); 2047 dasm_put(Dst, 10811);
2045 } else { 2048 } else {
2046 dasm_put(Dst, 10820); 2049 dasm_put(Dst, 10817);
2047 } 2050 }
2048 dasm_put(Dst, 2531); 2051 dasm_put(Dst, 2527);
2049 } 2052 }
2050 dasm_put(Dst, 12783, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2053 dasm_put(Dst, 12780, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2051 dasm_put(Dst, 12875, LJ_TSTR); 2054 dasm_put(Dst, 12872, LJ_TSTR);
2052 break; 2055 break;
2053 case BC_TGETS: 2056 case BC_TGETS:
2054 dasm_put(Dst, 12893, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2057 dasm_put(Dst, 12890, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2055 dasm_put(Dst, 12977, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2058 dasm_put(Dst, 12974, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2056 break; 2059 break;
2057 case BC_TGETB: 2060 case BC_TGETB:
2058 dasm_put(Dst, 13048, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); 2061 dasm_put(Dst, 13045, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2059 dasm_put(Dst, 11385); 2062 dasm_put(Dst, 11382);
2060 break; 2063 break;
2061 2064
2062 case BC_TSETV: 2065 case BC_TSETV:
2063 dasm_put(Dst, 13147, LJ_TTAB, LJ_TISNUM); 2066 dasm_put(Dst, 13144, LJ_TTAB, LJ_TISNUM);
2064 if (sse) { 2067 if (sse) {
2065 dasm_put(Dst, 12752); 2068 dasm_put(Dst, 12749);
2066 } else { 2069 } else {
2067 dasm_put(Dst, 12773); 2070 dasm_put(Dst, 12770);
2068 if (cmov) { 2071 if (cmov) {
2069 dasm_put(Dst, 10814); 2072 dasm_put(Dst, 10811);
2070 } else { 2073 } else {
2071 dasm_put(Dst, 10820); 2074 dasm_put(Dst, 10817);
2072 } 2075 }
2073 dasm_put(Dst, 2531); 2076 dasm_put(Dst, 2527);
2074 } 2077 }
2075 dasm_put(Dst, 13180, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); 2078 dasm_put(Dst, 13177, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable));
2076 dasm_put(Dst, 13263, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2079 dasm_put(Dst, 13260, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2077 break; 2080 break;
2078 case BC_TSETS: 2081 case BC_TSETS:
2079 dasm_put(Dst, 13325, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); 2082 dasm_put(Dst, 13322, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2080 dasm_put(Dst, 13400, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); 2083 dasm_put(Dst, 13397, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2081 dasm_put(Dst, 13492, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2084 dasm_put(Dst, 13489, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2082 break; 2085 break;
2083 case BC_TSETB: 2086 case BC_TSETB:
2084 dasm_put(Dst, 13588, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); 2087 dasm_put(Dst, 13585, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2085 dasm_put(Dst, 13686, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2088 dasm_put(Dst, 13683, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2086 break; 2089 break;
2087 2090
2088 case BC_TSETM: 2091 case BC_TSETM:
2089 dasm_put(Dst, 13732); 2092 dasm_put(Dst, 13729);
2090 if (sse) { 2093 if (sse) {
2091 dasm_put(Dst, 13737); 2094 dasm_put(Dst, 13734);
2092 } else { 2095 } else {
2093 dasm_put(Dst, 13744); 2096 dasm_put(Dst, 13741);
2094 } 2097 }
2095 dasm_put(Dst, 13756, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); 2098 dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2096 dasm_put(Dst, 13898, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); 2099 dasm_put(Dst, 13895, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2097 break; 2100 break;
2098 2101
2099 /* -- Calls and vararg handling ----------------------------------------- */ 2102 /* -- Calls and vararg handling ----------------------------------------- */
2100 2103
2101 case BC_CALL: case BC_CALLM: 2104 case BC_CALL: case BC_CALLM:
2102 dasm_put(Dst, 11399); 2105 dasm_put(Dst, 11396);
2103 if (op == BC_CALLM) { 2106 if (op == BC_CALLM) {
2104 dasm_put(Dst, 13916); 2107 dasm_put(Dst, 13913);
2105 } 2108 }
2106 dasm_put(Dst, 13921, LJ_TFUNC, Dt7(->pc)); 2109 dasm_put(Dst, 13918, LJ_TFUNC, Dt7(->pc));
2107 break; 2110 break;
2108 2111
2109 case BC_CALLMT: 2112 case BC_CALLMT:
2110 dasm_put(Dst, 13916); 2113 dasm_put(Dst, 13913);
2111 break; 2114 break;
2112 case BC_CALLT: 2115 case BC_CALLT:
2113 dasm_put(Dst, 13962, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); 2116 dasm_put(Dst, 13959, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2114 dasm_put(Dst, 14080, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); 2117 dasm_put(Dst, 14077, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2115 break; 2118 break;
2116 2119
2117 case BC_ITERC: 2120 case BC_ITERC:
2118 dasm_put(Dst, 14150, LJ_TFUNC, 2+1, Dt7(->pc)); 2121 dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc));
2119 break; 2122 break;
2120 2123
2121 case BC_VARG: 2124 case BC_VARG:
2122 dasm_put(Dst, 14230, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); 2125 dasm_put(Dst, 14227, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL);
2123 dasm_put(Dst, 14374, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); 2126 dasm_put(Dst, 14371, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2124 break; 2127 break;
2125 2128
2126 /* -- Returns ----------------------------------------------------------- */ 2129 /* -- Returns ----------------------------------------------------------- */
2127 2130
2128 case BC_RETM: 2131 case BC_RETM:
2129 dasm_put(Dst, 13916); 2132 dasm_put(Dst, 13913);
2130 break; 2133 break;
2131 2134
2132 case BC_RET: case BC_RET0: case BC_RET1: 2135 case BC_RET: case BC_RET0: case BC_RET1:
2133 if (op != BC_RET0) { 2136 if (op != BC_RET0) {
2134 dasm_put(Dst, 14473); 2137 dasm_put(Dst, 14470);
2135 } 2138 }
2136 dasm_put(Dst, 14477, FRAME_TYPE); 2139 dasm_put(Dst, 14474, FRAME_TYPE);
2137 switch (op) { 2140 switch (op) {
2138 case BC_RET: 2141 case BC_RET:
2139 dasm_put(Dst, 14496); 2142 dasm_put(Dst, 14493);
2140 break; 2143 break;
2141 case BC_RET1: 2144 case BC_RET1:
2142 dasm_put(Dst, 14554); 2145 dasm_put(Dst, 14551);
2143 /* fallthrough */ 2146 /* fallthrough */
2144 case BC_RET0: 2147 case BC_RET0:
2145 dasm_put(Dst, 14570); 2148 dasm_put(Dst, 14567);
2146 default: 2149 default:
2147 break; 2150 break;
2148 } 2151 }
2149 dasm_put(Dst, 14581, Dt7(->pc), PC2PROTO(k)); 2152 dasm_put(Dst, 14578, Dt7(->pc), PC2PROTO(k));
2150 if (op == BC_RET) { 2153 if (op == BC_RET) {
2151 dasm_put(Dst, 14623, LJ_TNIL); 2154 dasm_put(Dst, 14620, LJ_TNIL);
2152 } else { 2155 } else {
2153 dasm_put(Dst, 14632, LJ_TNIL); 2156 dasm_put(Dst, 14629, LJ_TNIL);
2154 } 2157 }
2155 dasm_put(Dst, 14639, -FRAME_VARG, FRAME_TYPEP); 2158 dasm_put(Dst, 14636, -FRAME_VARG, FRAME_TYPEP);
2156 if (op != BC_RET0) { 2159 if (op != BC_RET0) {
2157 dasm_put(Dst, 14663); 2160 dasm_put(Dst, 14660);
2158 } 2161 }
2159 dasm_put(Dst, 4687); 2162 dasm_put(Dst, 4683);
2160 break; 2163 break;
2161 2164
2162 /* -- Loops and branches ------------------------------------------------ */ 2165 /* -- Loops and branches ------------------------------------------------ */
@@ -2164,7 +2167,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2164 2167
2165 case BC_FORL: 2168 case BC_FORL:
2166#if LJ_HASJIT 2169#if LJ_HASJIT
2167 dasm_put(Dst, 14667, HOTCOUNT_PCMASK, GG_DISP2HOT); 2170 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT);
2168#endif 2171#endif
2169 break; 2172 break;
2170 2173
@@ -2176,57 +2179,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2176 case BC_FORI: 2179 case BC_FORI:
2177 case BC_IFORL: 2180 case BC_IFORL:
2178 vk = (op == BC_IFORL || op == BC_JFORL); 2181 vk = (op == BC_IFORL || op == BC_JFORL);
2179 dasm_put(Dst, 14688); 2182 dasm_put(Dst, 14685);
2180 if (!vk) { 2183 if (!vk) {
2181 dasm_put(Dst, 14692, LJ_TISNUM, LJ_TISNUM); 2184 dasm_put(Dst, 14689, LJ_TISNUM, LJ_TISNUM);
2182 } 2185 }
2183 dasm_put(Dst, 14711); 2186 dasm_put(Dst, 14708);
2184 if (!vk) { 2187 if (!vk) {
2185 dasm_put(Dst, 14715, LJ_TISNUM); 2188 dasm_put(Dst, 14712, LJ_TISNUM);
2186 } 2189 }
2187 if (sse) { 2190 if (sse) {
2188 dasm_put(Dst, 14724); 2191 dasm_put(Dst, 14721);
2189 if (vk) { 2192 if (vk) {
2190 dasm_put(Dst, 14736); 2193 dasm_put(Dst, 14733);
2191 } else { 2194 } else {
2192 dasm_put(Dst, 14755); 2195 dasm_put(Dst, 14752);
2193 } 2196 }
2194 dasm_put(Dst, 14760); 2197 dasm_put(Dst, 14757);
2195 } else { 2198 } else {
2196 dasm_put(Dst, 14773); 2199 dasm_put(Dst, 14770);
2197 if (vk) { 2200 if (vk) {
2198 dasm_put(Dst, 14779); 2201 dasm_put(Dst, 14776);
2199 } else { 2202 } else {
2200 dasm_put(Dst, 14795); 2203 dasm_put(Dst, 14792);
2201 } 2204 }
2202 dasm_put(Dst, 14803); 2205 dasm_put(Dst, 14800);
2203 if (cmov) { 2206 if (cmov) {
2204 dasm_put(Dst, 10814); 2207 dasm_put(Dst, 10811);
2205 } else { 2208 } else {
2206 dasm_put(Dst, 10820); 2209 dasm_put(Dst, 10817);
2207 } 2210 }
2208 if (!cmov) { 2211 if (!cmov) {
2209 dasm_put(Dst, 14808); 2212 dasm_put(Dst, 14805);
2210 } 2213 }
2211 } 2214 }
2212 if (op == BC_FORI) { 2215 if (op == BC_FORI) {
2213 dasm_put(Dst, 14814, -BCBIAS_J*4); 2216 dasm_put(Dst, 14811, -BCBIAS_J*4);
2214 } else if (op == BC_JFORI) { 2217 } else if (op == BC_JFORI) {
2215 dasm_put(Dst, 14824, -BCBIAS_J*4, BC_JLOOP); 2218 dasm_put(Dst, 14821, -BCBIAS_J*4, BC_JLOOP);
2216 } else if (op == BC_IFORL) { 2219 } else if (op == BC_IFORL) {
2217 dasm_put(Dst, 14838, -BCBIAS_J*4); 2220 dasm_put(Dst, 14835, -BCBIAS_J*4);
2218 } else { 2221 } else {
2219 dasm_put(Dst, 14834, BC_JLOOP); 2222 dasm_put(Dst, 14831, BC_JLOOP);
2220 } 2223 }
2221 dasm_put(Dst, 10849); 2224 dasm_put(Dst, 10846);
2222 if (sse) { 2225 if (sse) {
2223 dasm_put(Dst, 14848); 2226 dasm_put(Dst, 14845);
2224 } 2227 }
2225 break; 2228 break;
2226 2229
2227 case BC_ITERL: 2230 case BC_ITERL:
2228#if LJ_HASJIT 2231#if LJ_HASJIT
2229 dasm_put(Dst, 14667, HOTCOUNT_PCMASK, GG_DISP2HOT); 2232 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT);
2230#endif 2233#endif
2231 break; 2234 break;
2232 2235
@@ -2235,33 +2238,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2235 break; 2238 break;
2236#endif 2239#endif
2237 case BC_IITERL: 2240 case BC_IITERL:
2238 dasm_put(Dst, 14859, LJ_TNIL); 2241 dasm_put(Dst, 14856, LJ_TNIL);
2239 if (op == BC_JITERL) { 2242 if (op == BC_JITERL) {
2240 dasm_put(Dst, 14874, BC_JLOOP); 2243 dasm_put(Dst, 14871, BC_JLOOP);
2241 } else { 2244 } else {
2242 dasm_put(Dst, 14888, -BCBIAS_J*4); 2245 dasm_put(Dst, 14885, -BCBIAS_J*4);
2243 } 2246 }
2244 dasm_put(Dst, 11146); 2247 dasm_put(Dst, 11143);
2245 break; 2248 break;
2246 2249
2247 case BC_LOOP: 2250 case BC_LOOP:
2248#if LJ_HASJIT 2251#if LJ_HASJIT
2249 dasm_put(Dst, 14667, HOTCOUNT_PCMASK, GG_DISP2HOT); 2252 dasm_put(Dst, 14664, HOTCOUNT_PCMASK, GG_DISP2HOT);
2250#endif 2253#endif
2251 break; 2254 break;
2252 2255
2253 case BC_ILOOP: 2256 case BC_ILOOP:
2254 dasm_put(Dst, 10851); 2257 dasm_put(Dst, 10848);
2255 break; 2258 break;
2256 2259
2257 case BC_JLOOP: 2260 case BC_JLOOP:
2258#if LJ_HASJIT 2261#if LJ_HASJIT
2259 dasm_put(Dst, 14904, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); 2262 dasm_put(Dst, 14901, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2260#endif 2263#endif
2261 break; 2264 break;
2262 2265
2263 case BC_JMP: 2266 case BC_JMP:
2264 dasm_put(Dst, 14927, -BCBIAS_J*4); 2267 dasm_put(Dst, 14924, -BCBIAS_J*4);
2265 break; 2268 break;
2266 2269
2267 /* -- Function headers -------------------------------------------------- */ 2270 /* -- Function headers -------------------------------------------------- */
@@ -2275,7 +2278,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2275 2278
2276 case BC_FUNCF: 2279 case BC_FUNCF:
2277#if LJ_HASJIT 2280#if LJ_HASJIT
2278 dasm_put(Dst, 14951, HOTCOUNT_PCMASK, GG_DISP2HOT); 2281 dasm_put(Dst, 14948, HOTCOUNT_PCMASK, GG_DISP2HOT);
2279#endif 2282#endif
2280 case BC_FUNCV: /* NYI: compiled vararg functions. */ 2283 case BC_FUNCV: /* NYI: compiled vararg functions. */
2281 break; 2284 break;
@@ -2285,47 +2288,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2285 break; 2288 break;
2286#endif 2289#endif
2287 case BC_IFUNCF: 2290 case BC_IFUNCF:
2288 dasm_put(Dst, 14972, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); 2291 dasm_put(Dst, 14969, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2289 if (op == BC_JFUNCF) { 2292 if (op == BC_JFUNCF) {
2290 dasm_put(Dst, 15002, BC_JLOOP); 2293 dasm_put(Dst, 14999, BC_JLOOP);
2291 } else { 2294 } else {
2292 dasm_put(Dst, 10851); 2295 dasm_put(Dst, 10848);
2293 } 2296 }
2294 dasm_put(Dst, 15011, LJ_TNIL); 2297 dasm_put(Dst, 15008, LJ_TNIL);
2295 break; 2298 break;
2296 2299
2297 case BC_JFUNCV: 2300 case BC_JFUNCV:
2298#if !LJ_HASJIT 2301#if !LJ_HASJIT
2299 break; 2302 break;
2300#endif 2303#endif
2301 dasm_put(Dst, 10512); 2304 dasm_put(Dst, 10246);
2302 break; /* NYI: compiled vararg functions. */ 2305 break; /* NYI: compiled vararg functions. */
2303 2306
2304 case BC_IFUNCV: 2307 case BC_IFUNCV:
2305 dasm_put(Dst, 15033, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); 2308 dasm_put(Dst, 15030, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
2306 if (op == BC_JFUNCV) { 2309 if (op == BC_JFUNCV) {
2307 dasm_put(Dst, 15002, BC_JLOOP); 2310 dasm_put(Dst, 14999, BC_JLOOP);
2308 } else { 2311 } else {
2309 dasm_put(Dst, 15124, -4+PC2PROTO(k)); 2312 dasm_put(Dst, 15121, -4+PC2PROTO(k));
2310 } 2313 }
2311 dasm_put(Dst, 15146, LJ_TNIL); 2314 dasm_put(Dst, 15143, LJ_TNIL);
2312 break; 2315 break;
2313 2316
2314 case BC_FUNCC: 2317 case BC_FUNCC:
2315 case BC_FUNCCW: 2318 case BC_FUNCCW:
2316 dasm_put(Dst, 15168, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); 2319 dasm_put(Dst, 15165, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
2317 if (op == BC_FUNCC) { 2320 if (op == BC_FUNCC) {
2318 dasm_put(Dst, 15197); 2321 dasm_put(Dst, 15194);
2319 } else { 2322 } else {
2320 dasm_put(Dst, 15201); 2323 dasm_put(Dst, 15198);
2321 } 2324 }
2322 dasm_put(Dst, 15209, DISPATCH_GL(vmstate), ~LJ_VMST_C); 2325 dasm_put(Dst, 15206, DISPATCH_GL(vmstate), ~LJ_VMST_C);
2323 if (op == BC_FUNCC) { 2326 if (op == BC_FUNCC) {
2324 dasm_put(Dst, 15218); 2327 dasm_put(Dst, 15215);
2325 } else { 2328 } else {
2326 dasm_put(Dst, 15222, DISPATCH_GL(wrapf)); 2329 dasm_put(Dst, 15219, DISPATCH_GL(wrapf));
2327 } 2330 }
2328 dasm_put(Dst, 15227, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); 2331 dasm_put(Dst, 15224, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
2329 break; 2332 break;
2330 2333
2331 /* ---------------------------------------------------------------------- */ 2334 /* ---------------------------------------------------------------------- */
@@ -2353,7 +2356,7 @@ static int build_backend(BuildCtx *ctx)
2353 2356
2354 build_subroutines(ctx, cmov, sse); 2357 build_subroutines(ctx, cmov, sse);
2355 2358
2356 dasm_put(Dst, 15252); 2359 dasm_put(Dst, 15249);
2357 for (op = 0; op < BC__MAX; op++) 2360 for (op = 0; op < BC__MAX; op++)
2358 build_ins(ctx, (BCOp)op, op, cmov, sse); 2361 build_ins(ctx, (BCOp)op, op, cmov, sse);
2359 2362