diff options
author | Mike Pall <mike> | 2011-02-27 01:36:59 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-27 01:36:59 +0100 |
commit | cead25f928ac606fc1a13882b818913aab3635a9 (patch) | |
tree | 92121b401f76f4b2891ebac0f710b0a921ce13b1 /src | |
parent | c031d4b6a06eab94e8d9b837ec6dc257899a4ae1 (diff) | |
download | luajit-cead25f928ac606fc1a13882b818913aab3635a9.tar.gz luajit-cead25f928ac606fc1a13882b818913aab3635a9.tar.bz2 luajit-cead25f928ac606fc1a13882b818913aab3635a9.zip |
DUALNUM: Handle integer type in x86/x64 interpreter and libraries.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_x64.h | 2932 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 2918 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 963 | ||||
-rw-r--r-- | src/buildvm_x86.h | 3201 | ||||
-rw-r--r-- | src/lib_base.c | 14 | ||||
-rw-r--r-- | src/lib_bit.c | 12 | ||||
-rw-r--r-- | src/lib_io.c | 9 | ||||
-rw-r--r-- | src/lib_math.c | 40 | ||||
-rw-r--r-- | src/lib_package.c | 2 | ||||
-rw-r--r-- | src/lib_string.c | 36 | ||||
-rw-r--r-- | src/lj_lib.c | 41 | ||||
-rw-r--r-- | src/lj_lib.h | 6 | ||||
-rw-r--r-- | src/lj_meta.c | 19 | ||||
-rw-r--r-- | src/lj_parse.c | 1 | ||||
-rw-r--r-- | src/lj_str.c | 7 | ||||
-rw-r--r-- | src/lj_str.h | 2 |
16 files changed, 6439 insertions, 3764 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index cdf67093..87115fe3 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[14600] = { | 15 | static const unsigned char build_actionlist[15908] = { |
16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, | 16 | 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141, |
17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, | 17 | 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4, |
18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, | 18 | 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133, |
@@ -57,420 +57,430 @@ static const unsigned char build_actionlist[14600] = { | |||
57 | 24,137,151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,33,248, | 57 | 24,137,151,233,137,202,72,139,8,72,137,77,0,137,252,238,252,233,244,33,248, |
58 | 34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247, | 58 | 34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247, |
59 | 65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182, | 59 | 65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182, |
60 | 67,252,254,255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,4,36,252,233, | 60 | 67,252,254,255,199,68,36,4,237,137,4,36,255,252,242,15,42,192,252,242,15, |
61 | 244,247,248,36,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44, | 61 | 17,4,36,255,72,141,4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194, |
62 | 252,234,248,2,139,124,36,24,137,151,233,137,252,238,72,137,194,137,252,253, | 62 | 248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137, |
63 | 137,92,36,28,232,251,1,1,139,149,233,133,192,15,132,244,249,248,32,15,182, | 63 | 252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,1,139,149,233,133,192, |
64 | 75,252,253,72,139,40,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4, | 64 | 15,132,244,249,248,32,15,182,75,252,253,72,139,40,72,137,44,202,139,3,15, |
65 | 193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,141,153, | 65 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141, |
66 | 233,41,211,139,105,252,248,184,237,252,233,244,29,248,37,137,4,36,199,68, | 66 | 233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244, |
67 | 36,4,237,72,141,4,36,128,123,252,252,235,15,133,244,247,255,65,141,142,233, | 67 | 29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133, |
68 | 137,41,199,65,4,237,137,205,252,233,244,248,248,38,15,182,67,252,254,255, | 68 | 244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248, |
69 | 72,141,4,36,252,233,244,247,248,39,15,182,67,252,254,141,4,194,248,1,15,182, | 69 | 38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182,67,252, |
70 | 107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72, | 70 | 254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,24, |
71 | 137,194,137,252,253,137,92,36,28,232,251,1,2,139,149,233,133,192,15,132,244, | 71 | 137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251,1,2,139, |
72 | 249,15,182,75,252,253,72,139,44,202,72,137,40,248,40,139,3,15,182,204,15, | 72 | 149,233,133,192,15,132,244,249,15,182,75,252,253,72,139,44,202,72,137,40, |
73 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137, | 73 | 248,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
74 | 89,252,244,15,182,67,252,253,72,139,44,194,72,137,105,16,141,153,233,41,211, | 74 | 238,248,3,139,141,233,137,89,252,244,15,182,67,252,253,72,139,44,194,72,137, |
75 | 139,105,252,248,184,237,252,233,244,29,248,41,139,108,36,24,137,149,233,141, | 75 | 105,16,141,153,233,41,211,139,105,252,248,184,237,252,233,244,29,248,41,139, |
76 | 52,202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,3, | 76 | 108,36,24,137,149,233,141,52,202,141,20,194,137,252,239,15,182,75,252,252, |
77 | 248,3,139,149,233,255,131,252,248,1,15,135,244,42,248,4,141,91,4,15,130,244, | 77 | 137,92,36,28,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42, |
78 | 252,248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15, | 78 | 248,4,141,91,4,15,130,244,252,248,5,15,183,67,252,254,141,156,253,131,233, |
79 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,43,131,195,4,129,120, | 79 | 248,6,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
80 | 253,4,239,15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,233,244, | 80 | 238,248,43,131,195,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44, |
81 | 4,248,45,131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255, | 81 | 129,120,253,4,239,252,233,244,4,248,45,131,252,235,4,137,206,137,252,233, |
82 | 137,194,137,252,239,137,92,36,28,232,251,1,4,252,233,244,3,248,46,255,131, | 82 | 139,108,36,24,137,149,233,255,137,194,137,252,239,137,92,36,28,232,251,1, |
83 | 252,235,4,139,108,36,24,137,149,233,137,252,239,139,115,252,252,137,92,36, | 83 | 4,252,233,244,3,248,46,255,131,252,235,4,139,108,36,24,137,149,233,137,252, |
84 | 28,232,251,1,5,252,233,244,3,255,248,47,65,141,4,199,252,233,244,247,248, | 84 | 239,139,115,252,252,137,92,36,28,232,251,1,5,252,233,244,3,255,248,47,255, |
85 | 48,65,141,4,199,141,44,252,234,149,252,233,244,248,248,49,141,4,194,137,197, | 85 | 15,182,107,252,255,255,248,48,65,141,4,199,252,233,244,247,248,49,255,248, |
86 | 252,233,244,248,248,50,141,4,194,248,1,141,44,252,234,248,2,141,12,202,68, | 86 | 50,65,141,4,199,141,44,252,234,149,252,233,244,248,248,51,141,4,194,137,197, |
87 | 15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137,252,234,137, | 87 | 252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,44,252,234,248,2,141, |
88 | 252,253,137,92,36,28,232,251,1,6,139,149,233,133,192,15,132,244,40,248,42, | 88 | 12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233,137, |
89 | 137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,27,248,51,255, | 89 | 252,234,137,252,253,137,92,36,28,232,251,1,6,139,149,233,133,192,15,132,244, |
90 | 139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232,251,1,7, | 90 | 40,248,42,137,193,41,208,137,89,252,244,141,152,233,184,237,252,233,244,27, |
91 | 139,149,233,252,233,244,42,248,52,141,76,202,8,248,28,137,76,36,4,137,4,36, | 91 | 248,54,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36,28,232, |
92 | 131,252,233,8,139,108,36,24,137,149,233,137,206,141,20,193,137,252,239,137, | 92 | 251,1,7,139,149,233,252,233,244,42,248,55,141,76,202,8,248,28,137,76,36,4, |
93 | 92,36,28,232,251,1,8,139,149,233,139,76,36,4,139,4,36,139,105,252,248,131, | 93 | 137,4,36,131,252,233,8,139,108,36,24,137,149,233,255,137,206,141,20,193,137, |
94 | 192,1,65,57,215,15,132,244,53,137,202,137,90,252,252,139,157,233,139,11,15, | 94 | 252,239,137,92,36,28,232,251,1,8,139,149,233,139,76,36,4,139,4,36,139,105, |
95 | 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,54,139,108,36, | 95 | 252,248,131,192,1,65,57,215,15,132,244,56,137,202,137,90,252,252,139,157, |
96 | 24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,9,139,149,233,139, | 96 | 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, |
97 | 67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164,253,252,238,233, | 97 | 57,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251,1,9, |
98 | 248,55,129,252,248,239,15,130,244,56,139,106,4,129,252,253,239,255,15,131, | 98 | 139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255,164, |
99 | 244,56,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106,252,248, | 99 | 253,252,238,233,248,58,129,252,248,239,15,130,244,59,139,106,4,129,252,253, |
100 | 131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252, | 100 | 239,15,131,244,59,139,90,252,252,137,68,36,4,137,106,252,252,139,42,137,106, |
101 | 248,131,232,1,15,133,244,1,248,2,139,68,36,4,252,233,244,57,248,58,129,252, | 101 | 252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,72,139,41,72,137, |
102 | 248,239,15,130,244,56,139,106,4,137,252,233,193,252,249,15,131,252,249,252, | 102 | 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,4,252,233,244,60,248, |
103 | 254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244, | 103 | 61,129,252,248,239,15,130,244,59,139,106,4,137,252,233,193,252,249,15,131, |
104 | 247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,90,252, | 104 | 252,249,252,254,15,132,244,249,184,237,252,247,213,57,232,255,15,71,197,255, |
105 | 252,199,66,252,252,237,137,66,252,248,252,233,244,59,248,3,184,237,252,233, | 105 | 15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233, |
106 | 244,2,248,60,129,252,248,239,15,130,244,56,139,106,4,139,90,252,252,129,252, | 106 | 139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,184, |
107 | 253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66, | 107 | 237,252,233,244,2,248,63,129,252,248,239,15,130,244,59,139,106,4,139,90,252, |
108 | 252,252,237,255,15,132,244,59,65,139,134,233,199,66,252,252,237,137,106,252, | 108 | 252,129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252, |
109 | 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, | 109 | 237,199,66,252,252,237,255,15,132,244,62,65,139,134,233,199,66,252,252,237, |
110 | 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, | 110 | 137,106,252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185, |
111 | 3,255,252,233,244,59,248,5,139,105,4,129,252,253,239,15,132,244,59,139,1, | 111 | 233,239,15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201, |
112 | 137,106,252,252,137,66,252,248,252,233,244,59,248,6,129,252,253,239,15,132, | 112 | 15,133,244,3,255,252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244, |
113 | 244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,65,139,172, | 113 | 62,139,1,137,106,252,252,137,66,252,248,252,233,244,62,248,6,129,252,253, |
114 | 253,174,233,252,233,244,2,248,61,255,129,252,248,239,15,130,244,56,129,122, | 114 | 239,15,132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213, |
115 | 253,4,239,15,133,244,56,139,42,131,189,233,0,15,133,244,56,129,122,253,12, | 115 | 65,139,172,253,174,233,252,233,244,2,248,64,255,129,252,248,239,15,130,244, |
116 | 239,15,133,244,56,139,66,8,137,133,233,139,90,252,252,199,66,252,252,237, | 116 | 59,129,122,253,4,239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129, |
117 | 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,65, | 117 | 122,253,12,239,15,133,244,59,139,66,8,137,133,233,139,90,252,252,199,66,252, |
118 | 139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,59,248,62,129,252, | 118 | 252,237,137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235, |
119 | 248,239,15,130,244,56,129,122,253,4,239,15,133,244,56,137,213,139,50,141, | 119 | 255,65,139,134,233,65,137,174,233,137,133,233,248,1,252,233,244,62,248,65, |
120 | 82,8,139,124,36,24,232,251,1,10,137,252,234,72,139,40,139,90,252,252,72,137, | 120 | 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139, |
121 | 106,252,248,252,233,244,59,248,63,129,252,248,239,15,133,244,56,129,122,253, | 121 | 50,141,82,8,139,124,36,24,232,251,1,10,137,252,234,72,139,40,139,90,252,252, |
122 | 4,239,255,15,135,244,56,255,252,242,15,16,2,252,233,244,64,255,221,2,252, | 122 | 72,137,106,252,248,252,233,244,62,248,66,129,252,248,239,15,133,244,59,129, |
123 | 233,244,65,255,248,66,129,252,248,239,15,130,244,56,139,90,252,252,129,122, | 123 | 122,253,4,239,255,15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59, |
124 | 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252, | 124 | 255,15,131,244,59,255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244, |
125 | 233,244,59,248,3,129,122,253,4,239,15,135,244,56,65,131,190,233,0,15,133, | 125 | 69,255,248,70,129,252,248,239,15,130,244,59,139,90,252,252,129,122,253,4, |
126 | 244,56,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,67,248,1,139, | 126 | 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233, |
127 | 108,36,24,137,149,233,137,92,36,28,137,214,137,252,239,232,251,1,11,139,149, | 127 | 244,62,248,3,129,122,253,4,239,15,135,244,59,65,131,190,233,0,15,133,244, |
128 | 233,252,233,244,2,248,68,129,252,248,239,15,130,244,56,15,132,244,248,248, | 128 | 59,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,71,248,1,139,108, |
129 | 1,129,122,253,4,239,15,133,244,56,139,108,36,24,137,149,233,255,137,149,233, | 129 | 36,24,137,149,233,137,92,36,28,137,214,137,252,239,255,232,251,1,11,255,232, |
130 | 139,90,252,252,139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,12,139, | 130 | 251,1,12,255,139,149,233,252,233,244,2,248,72,129,252,248,239,15,130,244, |
131 | 149,233,133,192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248, | 131 | 59,15,132,244,248,248,1,129,122,253,4,239,15,133,244,59,139,108,36,24,137, |
132 | 72,137,2,248,69,184,237,252,233,244,70,248,2,199,66,12,237,252,233,244,1, | 132 | 149,233,137,149,233,139,90,252,252,139,50,141,82,8,137,252,239,137,92,36, |
133 | 248,3,199,66,252,252,237,252,233,244,59,248,71,129,252,248,239,15,130,244, | 133 | 28,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139,106,8,72,139,66, |
134 | 56,255,139,42,129,122,253,4,239,15,133,244,56,255,131,189,233,0,15,133,244, | 134 | 16,72,137,106,252,248,72,137,2,248,73,184,237,255,252,233,244,74,248,2,199, |
135 | 56,255,139,106,252,248,139,133,233,139,90,252,252,199,66,252,252,237,137, | 135 | 66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,62,248,75,129, |
136 | 66,252,248,199,66,12,237,184,237,252,233,244,70,248,72,129,252,248,239,15, | 136 | 252,248,239,15,130,244,59,139,42,129,122,253,4,239,15,133,244,59,255,131, |
137 | 130,244,56,129,122,253,4,239,15,133,244,56,129,122,253,12,239,15,135,244, | 137 | 189,233,0,15,133,244,59,255,139,106,252,248,139,133,233,139,90,252,252,199, |
138 | 56,139,90,252,252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205, | 138 | 66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,74,248,76, |
139 | 252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59, | 139 | 129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,129,122,253, |
140 | 133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132, | 140 | 12,239,255,139,90,252,252,255,139,66,8,131,192,1,199,66,252,252,237,137,66, |
141 | 244,73,72,139,40,72,137,42,252,233,244,69,248,2,131,189,233,0,15,132,244, | 141 | 252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15, |
142 | 73,137,252,239,137,213,137,198,232,251,1,13,137,252,234,133,192,15,133,244, | 142 | 88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15, |
143 | 1,248,73,184,237,252,233,244,70,248,74,255,129,252,248,239,15,130,244,56, | 143 | 131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,77,72, |
144 | 139,42,129,122,253,4,239,15,133,244,56,255,139,106,252,248,139,133,233,139, | 144 | 139,40,72,137,42,252,233,244,73,248,2,131,189,233,0,15,132,244,77,137,252, |
145 | 90,252,252,199,66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17, | 145 | 239,137,213,137,198,232,251,1,14,137,252,234,133,192,15,133,244,1,248,77, |
146 | 66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,70,248,75,129,252,248, | 146 | 184,237,252,233,244,74,248,78,255,139,106,252,248,139,133,233,139,90,252, |
147 | 239,15,130,244,56,141,74,8,131,232,1,187,237,248,1,65,15,182,174,233,193, | 147 | 252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0, |
148 | 252,237,235,131,229,1,1,252,235,252,233,244,27,248,76,129,252,248,239,15, | 148 | 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252, |
149 | 130,244,56,129,122,253,12,239,15,133,244,56,255,139,106,4,137,106,12,199, | 149 | 233,244,74,248,79,129,252,248,239,15,130,244,59,141,74,8,131,232,1,187,237, |
150 | 66,4,237,139,42,139,90,8,137,106,8,137,26,141,74,16,131,232,2,187,237,252, | 150 | 248,1,65,15,182,174,233,193,252,237,235,131,229,1,1,252,235,252,233,244,27, |
151 | 233,244,1,248,77,129,252,248,239,15,130,244,56,139,42,139,90,252,252,137, | 151 | 248,80,129,252,248,239,15,130,244,59,129,122,253,12,239,15,133,244,59,255, |
152 | 92,36,28,137,44,36,129,122,253,4,239,15,133,244,56,72,131,189,233,0,15,133, | 152 | 139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106,8,137,26,141,74, |
153 | 244,56,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,255,59,141, | 153 | 16,131,232,2,187,237,252,233,244,1,248,81,129,252,248,239,15,130,244,59,139, |
154 | 233,15,132,244,56,248,1,141,92,193,252,240,59,157,233,15,135,244,56,137,157, | 154 | 42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4,239,15,133,244,59, |
155 | 233,139,108,36,24,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41, | 155 | 72,131,189,233,0,15,133,244,59,128,189,233,235,15,135,244,59,139,141,233, |
156 | 221,57,203,15,132,244,249,248,2,72,139,4,43,72,137,67,252,248,131,252,235, | 156 | 15,132,244,247,255,59,141,233,15,132,244,59,248,1,141,92,193,252,240,59,157, |
157 | 8,57,203,15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237, | 157 | 233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,131,194,8,137,149, |
158 | 255,139,108,36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248, | 158 | 233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,72,139,4,43,72, |
159 | 4,139,139,233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244, | 159 | 137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60,36, |
160 | 252,141,4,26,193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,205,248, | 160 | 232,244,24,65,199,134,233,237,255,139,108,36,24,139,28,36,139,149,233,129, |
161 | 5,72,139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67, | 161 | 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, |
162 | 2,199,66,252,252,237,248,7,139,92,36,28,137,68,36,4,72,199,193,252,248,252, | 162 | 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, |
163 | 255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,14,248, | 163 | 244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57,252, |
164 | 8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,72,139,1,72,137, | 164 | 249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,248,7,139,92,36,28,137, |
165 | 2,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233,137,222,137,252,239, | 165 | 68,36,4,72,199,193,252,248,252,255,252,255,252,255,252,247,195,237,255,15, |
166 | 232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,78,139,106,252,248,139, | 166 | 132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,139,233,131,252,233, |
167 | 173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233,0,15,133,244, | 167 | 8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,12,36,68, |
168 | 56,255,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,59,141,233, | 168 | 137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233, |
169 | 15,132,244,56,248,1,141,92,193,252,248,59,157,233,15,135,244,56,137,157,233, | 169 | 244,4,248,82,139,106,252,248,139,173,233,139,90,252,252,137,92,36,28,137, |
170 | 139,108,36,24,137,149,233,137,149,233,141,108,194,252,240,72,41,221,57,203, | 170 | 44,36,72,131,189,233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139, |
171 | 15,132,244,249,248,2,255,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203, | 171 | 141,233,15,132,244,247,59,141,233,15,132,244,59,248,1,141,92,193,252,248, |
172 | 15,133,244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,139,108, | 172 | 59,157,233,15,135,244,59,137,157,233,139,108,36,24,137,149,233,137,149,233, |
173 | 36,24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139, | 173 | 141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,255,72,139,4,43, |
174 | 233,68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4, | 174 | 72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60, |
175 | 26,193,252,235,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248,5,72, | 175 | 36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129, |
176 | 139,1,72,137,4,41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248, | 176 | 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, |
177 | 7,139,92,36,28,137,68,36,4,49,201,252,247,195,237,15,132,244,13,252,233,244, | 177 | 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, |
178 | 14,248,8,137,222,137,252,239,232,251,1,14,248,9,139,12,36,68,137,185,233, | 178 | 244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,68,57, |
179 | 137,222,137,252,239,232,251,1,0,139,28,36,139,149,233,252,233,244,4,248,79, | 179 | 252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,4,49,201, |
180 | 139,108,36,24,72,252,247,133,233,237,15,132,244,56,255,137,149,233,141,68, | 180 | 252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,239,232, |
181 | 194,252,248,137,133,233,49,192,72,137,133,233,176,235,136,133,233,252,233, | 181 | 251,1,15,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139, |
182 | 244,16,255,248,65,139,90,252,252,221,90,252,248,252,233,244,59,248,80,129, | 182 | 28,36,139,149,233,252,233,244,4,248,83,139,108,36,24,72,252,247,133,233,237, |
183 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2, | 183 | 15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72,137, |
184 | 72,184,237,237,102,72,15,110,200,15,84,193,248,64,139,90,252,252,252,242, | 184 | 133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139,90,252, |
185 | 15,17,66,252,248,255,248,80,129,252,248,239,15,130,244,56,129,122,253,4,239, | 185 | 252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130,244,59, |
186 | 15,135,244,56,221,2,217,225,248,64,248,65,139,90,252,252,221,90,252,248,255, | 186 | 255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,67,252, |
187 | 248,59,184,237,248,70,137,68,36,4,248,57,252,247,195,237,15,133,244,253,248, | 187 | 247,221,15,136,244,247,248,85,248,67,139,90,252,252,199,66,252,252,237,137, |
188 | 5,56,67,252,255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202, | 188 | 106,252,248,252,233,244,62,248,1,139,90,252,252,199,66,252,252,0,0,224,65, |
189 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | 189 | 199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129,122,253, |
190 | 6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248, | 190 | 4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15,110,200, |
191 | 252,255,252,255,252,255,252,233,244,14,255,248,81,129,252,248,239,15,130, | 191 | 15,84,193,248,68,139,90,252,252,252,242,15,17,66,252,248,255,221,2,217,225, |
192 | 244,56,129,122,253,4,239,15,135,244,56,252,242,15,81,2,252,233,244,64,248, | 192 | 248,68,248,69,139,90,252,252,221,90,252,248,255,248,62,184,237,248,74,137, |
193 | 82,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242, | 193 | 68,36,4,248,60,252,247,195,237,15,133,244,253,248,5,56,67,252,255,15,135, |
194 | 15,16,2,232,244,83,252,233,244,64,248,84,255,129,252,248,239,15,130,244,56, | 194 | 244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,204,15,182, |
195 | 129,122,253,4,239,15,135,244,56,252,242,15,16,2,232,244,85,252,233,244,64, | 195 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,252,244,237, |
196 | 255,248,81,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, | 196 | 131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255,252,255, |
197 | 221,2,217,252,250,252,233,244,65,248,82,129,252,248,239,15,130,244,56,129, | 197 | 252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,252,233, |
198 | 122,253,4,239,15,135,244,56,221,2,232,244,83,252,233,244,65,248,84,255,129, | 198 | 244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,242,15, |
199 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,85, | 199 | 45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,46,193, |
200 | 252,233,244,65,255,248,86,129,252,248,239,15,130,244,56,129,122,253,4,239, | 200 | 15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252,242,15, |
201 | 15,135,244,56,217,252,237,221,2,217,252,241,252,233,244,65,248,87,129,252, | 201 | 16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15,130,244, |
202 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,217,252,236,221,2,217, | 202 | 59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68,255,248, |
203 | 252,241,252,233,244,65,248,88,129,252,248,239,255,15,130,244,56,129,122,253, | 203 | 90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217, |
204 | 4,239,15,135,244,56,221,2,232,244,89,252,233,244,65,248,90,129,252,248,239, | 204 | 252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59,129,122,253, |
205 | 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,217,252,254,252,233,244, | 205 | 4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244,69,248,92,129, |
206 | 65,248,91,129,252,248,239,255,15,130,244,56,129,122,253,4,239,15,135,244, | 206 | 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,252,236,221, |
207 | 56,221,2,217,252,255,252,233,244,65,248,92,129,252,248,239,15,130,244,56, | 207 | 2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130,244,59,129, |
208 | 129,122,253,4,239,15,135,244,56,221,2,217,252,242,221,216,252,233,244,65, | 208 | 122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248,95,129,252, |
209 | 248,93,129,252,248,239,15,130,244,56,255,129,122,253,4,239,15,135,244,56, | 209 | 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,254,252, |
210 | 221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,233,244, | 210 | 233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253,4,239,15, |
211 | 65,248,94,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 211 | 131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239,15,130, |
212 | 2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,243,252,233, | 212 | 244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252,233, |
213 | 244,65,248,95,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 213 | 244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15,131, |
214 | 56,255,221,2,217,232,217,252,243,252,233,244,65,255,248,96,129,252,248,239, | 214 | 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252, |
215 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213, | 215 | 233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, |
216 | 232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252,248,239,15,130, | 216 | 244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252, |
217 | 244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213,232,251, | 217 | 243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253,4,239, |
218 | 1,16,137,252,234,252,233,244,64,255,248,98,129,252,248,239,15,130,244,56, | 218 | 15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248,101,129, |
219 | 129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213,232,251,1,17, | 219 | 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, |
220 | 137,252,234,252,233,244,64,248,99,255,248,100,129,252,248,239,15,130,244, | 220 | 255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129,252,248, |
221 | 56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,139,106,252,248,252,242, | 221 | 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137, |
222 | 15,89,133,233,252,233,244,64,255,248,100,129,252,248,239,15,130,244,56,129, | 222 | 213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248,239,15, |
223 | 122,253,4,239,15,135,244,56,221,2,139,106,252,248,220,141,233,252,233,244, | 223 | 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137,213,232, |
224 | 65,255,248,101,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 224 | 251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248,239,15, |
225 | 56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,217,252,243,252,233,244, | 225 | 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,252,248, |
226 | 65,248,102,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, | 226 | 252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,15,130,244, |
227 | 129,122,253,12,239,255,15,135,244,56,221,66,8,221,2,217,252,253,221,217,252, | 227 | 59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,233,252, |
228 | 233,244,65,248,103,129,252,248,239,15,130,244,56,139,106,4,129,252,253,239, | 228 | 233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,4,239,15, |
229 | 15,135,244,56,139,90,252,252,139,2,137,106,252,252,137,66,252,248,209,229, | 229 | 131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,243,252, |
230 | 129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252,254, | 230 | 233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, |
231 | 3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197,255, | 231 | 244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,253,221, |
232 | 252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129,229,252, | 232 | 217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,4,129,252, |
233 | 255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15, | 233 | 253,239,15,131,244,59,139,90,252,252,139,2,137,106,252,252,137,66,252,248, |
234 | 17,2,255,221,26,255,184,237,252,233,244,70,248,3,255,15,87,192,252,233,244, | 234 | 209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184, |
235 | 2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237, | 235 | 252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41, |
236 | 237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248,255,221, | 236 | 197,255,252,242,15,42,197,255,137,44,36,219,4,36,255,139,106,252,252,129, |
237 | 2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252,184,52, | 237 | 229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255,252, |
238 | 4,0,0,209,229,252,233,244,1,255,248,104,129,252,248,239,15,130,244,56,129, | 238 | 242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3,255,15,87,192,252, |
239 | 122,253,4,239,15,135,244,56,252,242,15,16,2,255,248,104,129,252,248,239,15, | 239 | 233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2,72, |
240 | 130,244,56,129,122,253,4,239,15,135,244,56,221,2,255,139,106,4,139,90,252, | 240 | 189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17,66,252,248, |
241 | 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232, | 241 | 255,221,2,199,4,36,0,0,128,90,216,12,36,221,90,252,248,255,139,106,252,252, |
242 | 244,105,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34, | 242 | 184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252,248,239,15,130,244, |
243 | 255,217,192,232,244,105,220,252,233,248,1,221,90,252,248,221,26,255,139,66, | 243 | 59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,248,109,129,252,248, |
244 | 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,70,248, | 244 | 239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,255,139,106,4,139, |
245 | 90,252,252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224, | ||
246 | 232,244,110,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17, | ||
247 | 34,255,217,192,232,244,110,220,252,233,248,1,221,90,252,248,221,26,255,139, | ||
248 | 66,252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,74,248, | ||
245 | 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, | 249 | 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233, |
246 | 244,1,255,217,252,238,217,201,252,233,244,1,255,248,106,129,252,248,239,15, | 250 | 244,1,255,217,252,238,217,201,252,233,244,1,255,248,111,129,252,248,239,15, |
247 | 130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244, | 251 | 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, |
248 | 56,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, | 252 | 59,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252, |
249 | 233,244,65,255,248,107,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 253 | 233,244,69,255,248,112,129,252,248,239,15,130,244,59,129,122,253,4,239,15, |
250 | 135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16, | 254 | 131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16, |
251 | 74,8,232,244,108,252,233,244,64,255,248,107,129,252,248,239,15,130,244,56, | 255 | 74,8,232,244,113,252,233,244,68,255,248,112,129,252,248,239,15,130,244,59, |
252 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,221,2,221, | 256 | 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221, |
253 | 66,8,232,244,108,252,233,244,65,255,248,109,129,252,248,239,15,130,244,56, | 257 | 66,8,232,244,113,252,233,244,69,255,248,114,185,2,0,0,0,129,122,253,4,239, |
254 | 129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,2,0,0,0,248,1,57,197, | 258 | 255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252, |
255 | 15,131,244,64,129,124,253,252,234,252,252,239,15,135,244,56,252,242,15,16, | 259 | 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1, |
256 | 76,252,234,252,248,252,242,15,93,193,131,197,1,252,233,244,1,255,248,110, | 260 | 252,233,244,1,248,3,15,135,244,59,255,252,233,244,252,248,4,15,135,244,59, |
257 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, | 261 | 255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124,253,202,252,252,239, |
258 | 16,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239, | 262 | 255,15,130,244,252,15,135,244,59,252,242,15,42,76,202,252,248,252,233,244, |
259 | 15,135,244,56,252,242,15,16,76,252,234,252,248,252,242,15,95,193,131,197, | 263 | 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193, |
260 | 1,252,233,244,1,255,248,5,221,216,252,233,244,56,255,248,111,129,252,248, | 264 | 1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253,4,239,255,15,133,244, |
261 | 239,15,130,244,56,129,122,253,4,239,15,133,244,56,139,42,255,252,242,15,42, | 265 | 250,139,42,248,1,57,193,15,131,244,67,129,124,253,202,252,252,239,15,133, |
262 | 133,233,252,233,244,64,255,219,133,233,252,233,244,65,255,248,112,129,252, | 266 | 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1, |
263 | 248,239,15,133,244,56,129,122,253,4,239,15,133,244,56,139,42,139,90,252,252, | 267 | 248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242, |
264 | 131,189,233,1,15,130,244,73,15,182,173,233,255,252,242,15,42,197,252,233, | 268 | 15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233,244,59,255,248, |
265 | 244,64,255,137,44,36,219,4,36,252,233,244,65,255,248,113,65,139,174,233,65, | 269 | 116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,139,42, |
266 | 59,174,233,15,130,244,247,232,244,67,248,1,129,252,248,239,15,133,244,56, | 270 | 255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252,233,244,68,255, |
267 | 129,122,253,4,239,15,135,244,56,255,252,242,15,44,42,129,252,253,252,255, | 271 | 219,133,233,252,233,244,69,255,248,117,129,252,248,239,15,133,244,59,129, |
268 | 0,0,0,15,135,244,56,137,108,36,4,255,221,2,219,92,36,4,129,124,36,4,252,255, | 272 | 122,253,4,239,15,133,244,59,139,42,139,90,252,252,131,189,233,1,15,130,244, |
269 | 0,0,0,15,135,244,56,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,114,139,108, | 273 | 77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255,137,44,36,219, |
270 | 36,24,137,149,233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251, | 274 | 4,36,252,233,244,69,255,248,118,65,139,174,233,65,59,174,233,15,130,244,247, |
271 | 1,18,139,149,233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233, | 275 | 232,244,71,248,1,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133, |
272 | 244,59,248,115,65,139,174,233,65,59,174,233,15,130,244,247,232,244,67,248, | 276 | 244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,4,255,15, |
273 | 1,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248,239,15,130,244, | 277 | 131,244,59,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108, |
274 | 56,15,134,244,247,129,122,253,20,239,255,252,242,15,44,106,16,137,108,36, | 278 | 36,4,255,15,131,244,59,221,2,219,92,36,4,129,124,36,4,252,255,0,0,0,15,135, |
275 | 4,255,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,56,129, | 279 | 244,59,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,119,139,108,36,24,137,149, |
276 | 122,253,12,239,15,135,244,56,139,42,137,108,36,8,139,173,233,255,252,242, | 280 | 233,139,84,36,8,72,137,198,137,252,239,137,92,36,28,232,251,1,19,139,149, |
277 | 15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244, | 281 | 233,139,90,252,252,199,66,252,252,237,137,66,252,248,252,233,244,62,248,120, |
278 | 253,248,3,139,108,36,8,41,200,15,140,244,116,141,172,253,13,233,131,192,1, | 282 | 65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,199,68,36,4, |
279 | 248,4,137,68,36,8,137,232,252,233,244,114,248,5,15,140,244,252,141,68,40, | 283 | 252,255,252,255,252,255,252,255,129,252,248,239,15,130,244,59,15,134,244, |
280 | 1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252, | 284 | 247,129,122,253,20,239,255,15,133,244,59,139,106,16,137,108,36,4,255,15,131, |
281 | 233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,116,49,192, | 285 | 244,59,252,242,15,44,106,16,137,108,36,4,255,15,131,244,59,221,66,16,219, |
282 | 252,233,244,4,248,117,129,252,248,239,15,130,244,56,65,139,174,233,65,59, | 286 | 92,36,4,255,248,1,129,122,253,4,239,15,133,244,59,129,122,253,12,239,255, |
283 | 174,233,15,130,244,247,232,244,67,248,1,255,129,122,253,4,239,15,133,244, | 287 | 139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139, |
284 | 56,129,122,253,12,239,15,135,244,56,139,42,255,252,242,15,44,66,8,255,221, | 288 | 68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108, |
285 | 66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,116,131,189,233,1,15, | 289 | 36,8,41,200,15,140,244,121,141,172,253,13,233,131,192,1,248,4,137,68,36,8, |
286 | 130,244,116,15,133,244,118,65,57,134,233,15,130,244,118,15,182,141,233,65, | 290 | 137,232,252,233,244,119,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248, |
287 | 139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,65, | 291 | 6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143, |
288 | 139,134,233,252,233,244,114,248,119,129,252,248,239,255,15,130,244,56,65, | 292 | 244,3,248,8,185,1,0,0,0,252,233,244,3,248,121,49,192,252,233,244,4,248,122, |
289 | 139,174,233,65,59,174,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239, | 293 | 129,252,248,239,15,130,244,59,65,139,174,233,65,59,174,233,15,130,244,247, |
290 | 15,133,244,56,139,42,139,133,233,133,192,15,132,244,116,65,57,134,233,15, | 294 | 232,244,71,248,1,255,129,122,253,4,239,15,133,244,59,129,122,253,12,239,139, |
291 | 130,244,120,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248,1,255, | 295 | 42,255,15,133,244,59,139,66,8,255,15,131,244,59,252,242,15,44,66,8,255,15, |
292 | 15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92,36,4, | 296 | 131,244,59,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,121,131, |
293 | 252,233,244,114,248,121,129,252,248,239,15,130,244,56,65,139,174,233,65,59, | 297 | 189,233,1,15,130,244,121,15,133,244,123,65,57,134,233,15,130,244,123,15,182, |
294 | 174,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139, | 298 | 141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15, |
295 | 42,139,133,233,65,57,134,233,255,15,130,244,120,129,197,239,137,92,36,4,137, | 299 | 133,244,1,65,139,134,233,252,233,244,119,248,124,129,252,248,239,255,15,130, |
296 | 68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65, | 300 | 244,59,65,139,174,233,65,59,174,233,15,130,244,247,232,244,71,248,1,129,122, |
297 | 15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12, | 301 | 253,4,239,15,133,244,59,139,42,139,133,233,133,192,15,132,244,121,65,57,134, |
298 | 3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,114,248,122, | 302 | 233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,248, |
299 | 129,252,248,239,15,130,244,56,255,65,139,174,233,65,59,174,233,15,130,244, | 303 | 1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216,139,92, |
300 | 247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139,42,139,133,233,65, | 304 | 36,4,252,233,244,119,248,126,129,252,248,239,15,130,244,59,65,139,174,233, |
301 | 57,134,233,15,130,244,120,129,197,239,137,92,36,4,137,68,36,8,65,139,158, | 305 | 65,59,174,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, |
302 | 233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255, | 306 | 59,139,42,139,133,233,65,57,134,233,255,15,130,244,125,129,197,239,137,92, |
303 | 131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232, | 307 | 36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252, |
304 | 1,15,137,244,1,137,216,139,92,36,4,252,233,244,114,248,123,129,252,248,239, | 308 | 249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2, |
305 | 15,130,244,56,129,122,253,4,239,15,133,244,56,137,213,139,58,232,251,1,19, | 309 | 136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119, |
306 | 137,252,234,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248, | 310 | 248,127,129,252,248,239,15,130,244,59,255,65,139,174,233,65,59,174,233,15, |
307 | 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189, | 311 | 130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133, |
308 | 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42, | 312 | 233,65,57,134,233,15,130,244,125,129,197,239,137,92,36,4,137,68,36,8,65,139, |
309 | 197,252,233,244,64,255,248,125,129,252,248,239,15,130,244,56,129,122,253, | 313 | 158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248, |
310 | 4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252, | 314 | 255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131, |
311 | 242,15,88,193,102,15,126,197,255,137,68,36,4,141,68,194,252,240,248,1,57, | 315 | 232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,119,248,128,129,252,248, |
312 | 208,15,134,244,126,129,120,253,4,239,15,135,244,127,255,252,242,15,16,0,252, | 316 | 239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,58,232,251, |
313 | 242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,255,248,128, | 317 | 1,20,137,252,234,255,137,197,252,233,244,67,255,252,242,15,42,192,252,233, |
314 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, | 318 | 244,68,255,248,129,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244, |
315 | 16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255, | 319 | 85,248,1,15,135,244,59,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205, |
316 | 252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,248,129,129,252, | 320 | 252,242,15,88,193,102,15,126,197,255,252,233,244,85,255,248,130,255,72,189, |
317 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72, | 321 | 237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,255,15,133,244,247,139, |
318 | 189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242, | 322 | 42,252,233,244,248,248,1,15,135,244,59,255,252,242,15,16,2,252,242,15,88, |
319 | 15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,248,130,129,252,248,239, | 323 | 193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,252,240,248,1,57,208, |
320 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237, | 324 | 15,134,244,85,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,233, |
321 | 237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,15,205,252,233, | 325 | 244,1,248,2,15,135,244,131,255,15,131,244,131,255,252,242,15,16,0,252,242, |
322 | 244,126,255,248,131,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, | 326 | 15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,244,1,248,132,255,15, |
323 | 244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193, | 327 | 133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252,242, |
324 | 102,15,126,197,255,252,247,213,255,248,126,252,242,15,42,197,252,233,244, | 328 | 15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244, |
325 | 64,255,248,127,139,68,36,4,252,233,244,56,255,248,132,129,252,248,239,15, | 329 | 1,248,133,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,244, |
326 | 130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244, | 330 | 131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,131,232, |
327 | 56,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252, | 331 | 8,252,233,244,1,248,134,129,122,253,4,239,255,248,2,15,205,252,233,244,85, |
328 | 242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255, | 332 | 248,135,129,122,253,4,239,255,248,2,252,247,213,255,248,85,252,242,15,42, |
329 | 211,229,137,193,252,233,244,126,255,248,133,129,252,248,239,15,130,244,56, | 333 | 197,252,233,244,68,255,248,131,139,68,36,4,252,233,244,59,255,248,136,129, |
330 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, | 334 | 122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,59,139,74,8,255,248, |
331 | 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, | 335 | 136,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, |
332 | 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,237, | 336 | 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, |
333 | 137,193,252,233,244,126,255,248,134,129,252,248,239,15,130,244,56,129,122, | 337 | 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, |
334 | 253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2, | 338 | 15,126,201,255,211,229,252,233,244,85,255,248,137,129,122,253,4,239,255,248, |
335 | 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, | 339 | 137,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, |
336 | 242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,253,137,193, | 340 | 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, |
337 | 252,233,244,126,255,248,135,129,252,248,239,15,130,244,56,129,122,253,4,239, | 341 | 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102, |
338 | 15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15, | 342 | 15,126,201,255,211,252,237,252,233,244,85,255,248,138,129,122,253,4,239,255, |
339 | 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88, | 343 | 248,138,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129, |
340 | 202,137,200,102,15,126,197,102,15,126,201,255,211,197,137,193,252,233,244, | 344 | 122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189,237, |
341 | 126,255,248,136,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 345 | 237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197, |
342 | 56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72, | 346 | 102,15,126,201,255,211,252,253,252,233,244,85,255,248,139,129,122,253,4,239, |
343 | 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, | 347 | 255,248,139,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
344 | 102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,126,248,118, | 348 | 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189, |
345 | 184,237,252,233,244,56,248,120,184,237,248,56,139,108,36,24,139,90,252,252, | 349 | 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, |
346 | 137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66, | 350 | 197,102,15,126,201,255,211,197,252,233,244,85,255,248,140,129,122,253,4,239, |
347 | 252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139,149,233, | 351 | 255,248,140,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
348 | 133,192,15,143,244,70,248,1,255,139,141,233,41,209,193,252,233,3,133,192, | 352 | 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,72,189, |
349 | 141,65,1,139,106,252,248,15,133,244,248,139,157,233,139,11,15,182,252,233, | 353 | 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126, |
350 | 15,182,205,131,195,4,65,252,255,36,252,238,248,2,137,209,252,247,195,237, | 354 | 197,102,15,126,201,255,211,205,252,233,244,85,248,123,184,237,252,233,244, |
351 | 15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234,252,233,244, | 355 | 59,248,125,184,237,248,59,139,108,36,24,139,90,252,252,137,92,36,28,137,149, |
352 | 27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,248,5,190,237, | 356 | 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233, |
353 | 137,252,239,232,251,1,0,139,149,233,49,192,252,233,244,1,248,67,93,72,137, | 357 | 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244, |
354 | 108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248,137, | 358 | 74,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252, |
355 | 252,239,137,133,233,232,251,1,20,139,149,233,139,133,233,41,208,193,232,3, | 359 | 248,15,133,244,248,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4, |
356 | 131,192,1,72,139,108,36,8,85,195,248,137,255,65,15,182,134,233,168,235,15, | 360 | 65,252,255,36,252,238,248,2,137,209,252,247,195,237,15,133,244,249,15,182, |
357 | 133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, | 361 | 107,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137,221,131, |
358 | 233,252,233,244,247,255,248,138,65,15,182,134,233,168,235,15,133,244,251, | 362 | 229,252,248,41,252,234,252,233,244,27,248,5,190,237,137,252,239,232,251,1, |
359 | 252,233,244,247,248,139,65,15,182,134,233,168,235,15,133,244,251,168,235, | 363 | 0,139,149,233,49,192,252,233,244,1,248,71,93,72,137,108,36,8,139,108,36,24, |
360 | 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, | 364 | 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232, |
361 | 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,21,248,3,139, | 365 | 251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36, |
362 | 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, | 366 | 8,85,195,248,141,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15, |
363 | 65,252,255,164,253,252,238,233,248,140,131,195,4,139,77,232,137,76,36,4,252, | 367 | 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255, |
364 | 233,244,4,248,141,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, | 368 | 248,142,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,143, |
365 | 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, | 369 | 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255, |
366 | 137,92,36,28,232,251,1,22,252,233,244,3,255,248,142,137,92,36,28,255,248, | 370 | 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137, |
367 | 143,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24, | 371 | 149,233,137,222,137,252,239,232,251,1,22,248,3,139,149,233,248,4,15,182,75, |
368 | 137,149,233,137,133,233,137,222,137,252,239,232,251,1,23,199,68,36,28,0,0, | 372 | 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252, |
369 | 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, | 373 | 238,233,248,144,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,145,255, |
370 | 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,144,255,65, | 374 | 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149, |
371 | 85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80, | 375 | 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251, |
372 | 15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,68, | 376 | 1,23,252,233,244,3,255,248,146,137,92,36,28,255,248,147,255,137,92,36,28, |
373 | 139,117,0,65,139,142,233,65,199,134,233,237,65,137,134,233,65,137,142,233, | 377 | 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133, |
374 | 72,129,252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68, | 378 | 233,137,222,137,252,239,232,251,1,24,199,68,36,28,0,0,0,0,255,131,227,252, |
375 | 15,17,117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242, | 379 | 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252, |
376 | 68,15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68, | 380 | 253,193,232,3,131,192,1,252,255,229,248,148,255,65,85,65,84,65,83,65,82,65, |
377 | 15,17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109, | 381 | 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101, |
378 | 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, | 382 | 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233, |
379 | 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, | 383 | 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131, |
380 | 233,65,199,134,233,0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251, | 384 | 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242, |
381 | 1,24,72,139,141,233,72,129,225,239,72,137,204,137,169,233,139,149,233,139, | 385 | 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242, |
382 | 153,233,252,233,244,247,255,248,145,255,72,131,196,16,248,1,76,139,108,36, | 386 | 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15, |
383 | 8,76,139,36,36,133,192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139, | 387 | 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101, |
384 | 191,233,69,139,191,233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15, | 388 | 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242, |
385 | 182,204,15,182,232,131,195,4,193,232,16,129,252,253,239,15,130,244,248,139, | 389 | 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233, |
386 | 68,36,4,248,2,65,252,255,36,252,238,248,3,252,247,216,137,252,239,137,198, | 390 | 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,25,72,139,141,233, |
387 | 232,251,1,25,255,248,83,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68, | 391 | 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244, |
388 | 36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217, | 392 | 247,255,248,149,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133, |
389 | 108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72, | 393 | 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191, |
390 | 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134, | 394 | 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232, |
391 | 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72, | 395 | 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65, |
392 | 184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242, | 396 | 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,26,255, |
393 | 15,92,200,15,40,193,248,1,195,248,85,255,217,124,36,4,137,68,36,8,102,184, | 397 | 248,87,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252, |
394 | 0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217, | 398 | 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, |
395 | 252,252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15, | 399 | 36,8,195,255,248,150,72,184,237,237,102,72,15,110,208,72,184,237,237,102, |
396 | 110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46, | 400 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, |
397 | 217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, | 401 | 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, |
398 | 15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84, | 402 | 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40, |
399 | 194,252,242,15,92,200,15,40,193,248,1,195,248,105,255,217,124,36,4,137,68, | 403 | 193,248,1,195,248,89,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36, |
400 | 36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252, | 404 | 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108, |
401 | 217,108,36,4,139,68,36,8,195,255,248,148,72,184,237,237,102,72,15,110,208, | 405 | 36,4,139,68,36,8,195,255,248,151,72,184,237,237,102,72,15,110,208,72,184, |
402 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, | 406 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, |
403 | 134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72, | 407 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, |
404 | 184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, | 408 | 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92, |
405 | 15,92,200,102,15,86,202,15,40,193,248,1,195,248,149,255,15,40,232,252,242, | 409 | 200,15,40,193,248,1,195,248,110,255,217,124,36,4,137,68,36,8,102,184,0,12, |
406 | 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, | 410 | 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, |
407 | 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, | 411 | 68,36,8,195,255,248,152,72,184,237,237,102,72,15,110,208,72,184,237,237,102, |
408 | 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, | 412 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, |
409 | 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, | 413 | 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72, |
410 | 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, | 414 | 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86, |
411 | 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, | 415 | 202,15,40,193,248,1,195,248,153,255,15,40,232,252,242,15,94,193,72,184,237, |
412 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 416 | 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84, |
413 | 36,4,222,201,222,252,233,195,255,248,89,217,252,234,222,201,248,150,217,84, | 417 | 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242, |
414 | 36,252,248,129,124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248, | 418 | 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196, |
415 | 0,0,128,252,255,15,132,244,248,248,151,217,192,217,252,252,220,252,233,217, | 419 | 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15, |
416 | 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, | 420 | 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217, |
417 | 217,252,238,195,255,248,108,255,248,152,252,242,15,45,193,252,242,15,42,208, | 421 | 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252, |
418 | 102,15,46,202,15,133,244,254,15,138,244,255,248,153,131,252,248,1,15,142, | 422 | 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252, |
419 | 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, | 423 | 233,195,255,248,94,217,252,234,222,201,248,154,217,84,36,252,248,129,124, |
420 | 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, | 424 | 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255, |
421 | 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, | 425 | 15,132,244,248,248,155,217,192,217,252,252,220,252,233,217,201,217,252,240, |
422 | 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216, | 426 | 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, |
423 | 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195, | 427 | 255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208,102,15,46,202, |
424 | 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, | 428 | 15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142,244,252,248,1, |
425 | 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72, | 429 | 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, |
426 | 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244, | 430 | 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, |
427 | 251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252, | 431 | 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, |
428 | 240,221,68,36,252,248,217,252,241,217,192,217,252,252,220,252,233,217,201, | 432 | 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72, |
429 | 217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,252,248,252,242, | 433 | 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184, |
430 | 15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46, | 434 | 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192, |
431 | 194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110, | 435 | 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132, |
432 | 208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, | 436 | 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15, |
433 | 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72, | 437 | 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36, |
434 | 184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133, | 438 | 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217, |
435 | 244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195, | 439 | 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252, |
436 | 248,154,255,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130, | 440 | 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247, |
437 | 244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252, | 441 | 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194, |
438 | 248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244, | 442 | 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193, |
439 | 89,252,233,244,253,248,1,232,244,150,255,252,233,244,253,248,2,131,252,255, | 443 | 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255, |
440 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, | 444 | 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192, |
441 | 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9, | 445 | 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,158,255,131, |
442 | 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, | 446 | 252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15,135, |
443 | 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244, | 447 | 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36, |
444 | 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, | 448 | 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,94,252,233,244, |
445 | 248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12, | 449 | 253,248,1,232,244,154,255,252,233,244,253,248,2,131,252,255,7,15,132,244, |
446 | 221,68,36,4,131,252,255,1,15,130,244,83,15,132,244,85,131,252,255,3,15,130, | 450 | 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, |
447 | 244,105,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,89, | 451 | 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244, |
448 | 15,132,244,150,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, | 452 | 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, |
449 | 201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255, | 453 | 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135, |
450 | 9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248, | 454 | 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, |
451 | 1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217, | 455 | 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4, |
452 | 252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,131, | 456 | 131,252,255,1,15,130,244,87,15,132,244,89,131,252,255,3,15,130,244,110,15, |
453 | 252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242, | 457 | 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,94,15,132,244, |
454 | 15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15, | 458 | 154,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, |
455 | 89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,149, | 459 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132, |
456 | 15,132,244,108,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237, | 460 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, |
457 | 255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200, | 461 | 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255, |
458 | 15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252, | 462 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,159,255,131,252,255, |
459 | 248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132, | 463 | 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, |
460 | 244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195, | 464 | 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193, |
461 | 248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132, | 465 | 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,153,15,132, |
462 | 244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195, | 466 | 244,113,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, |
463 | 248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132, | 467 | 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, |
464 | 244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248, | 468 | 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252, |
465 | 3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, | 469 | 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247, |
466 | 252,248,5,15,130,244,149,15,132,244,108,131,252,248,7,15,132,244,247,15,135, | 470 | 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1, |
471 | 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244, | ||
472 | 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248, | ||
473 | 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244, | ||
474 | 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3, | ||
475 | 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131, | ||
476 | 252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15,132,244,247,15,135, | ||
467 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, | 477 | 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248, |
468 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, | 478 | 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253, |
469 | 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, | 479 | 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252, |
470 | 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, | 480 | 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225, |
471 | 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, | 481 | 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221, |
472 | 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, | 482 | 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248, |
473 | 156,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,157, | 483 | 160,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,161, |
474 | 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, | 484 | 255,85,72,137,229,83,72,137,252,251,139,131,233,72,41,196,255,15,182,139, |
475 | 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, | 485 | 233,131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132, |
476 | 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, | 486 | 253,204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,187,233, |
@@ -479,247 +489,298 @@ static const unsigned char build_actionlist[14600] = { | |||
479 | 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, | 489 | 155,233,131,252,248,4,15,134,244,251,15,40,163,233,15,40,171,233,15,40,179, |
480 | 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, | 490 | 233,15,40,187,233,248,5,252,255,147,233,72,137,131,233,15,41,131,233,72,137, |
481 | 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253, | 491 | 147,233,15,41,139,233,255,72,139,93,252,248,201,195,255,249,255,129,124,253, |
482 | 202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15, | 492 | 202,4,239,15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202, |
483 | 16,4,194,131,195,4,102,15,46,4,202,255,221,4,202,221,4,194,131,195,4,255, | 493 | 131,195,4,59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244, |
484 | 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, | 494 | 255,255,15,142,244,255,255,248,6,15,183,67,252,254,141,156,253,131,233,248, |
485 | 131,244,248,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,139,3,15, | 495 | 9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, |
486 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108, | 496 | 248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15,133,244,41,255, |
487 | 194,4,131,195,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135, | 497 | 252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249, |
488 | 244,251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255, | 498 | 255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242,15,16,4,194,131, |
489 | 15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1, | 499 | 195,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255, |
490 | 15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252,254,141, | 500 | 15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124, |
491 | 156,253,131,233,248,1,255,248,5,255,129,252,253,239,15,132,244,46,129,124, | 501 | 253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131,244,41,255,248,1, |
492 | 253,202,4,239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239, | 502 | 252,242,15,16,4,194,248,2,131,195,4,102,15,46,4,202,248,3,255,248,1,221,4, |
493 | 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15, | 503 | 202,248,2,221,4,194,248,3,131,195,4,255,223,252,233,221,216,255,218,252,233, |
494 | 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133, | 504 | 223,224,158,255,15,134,244,247,255,15,135,244,247,255,15,130,244,247,255, |
495 | 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252, | 505 | 15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,248,1,139,3,15,182, |
496 | 253,239,15,133,244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131, | 506 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,194, |
497 | 195,4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108, | 507 | 4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,253,202,4,239,15,133, |
498 | 202,4,131,195,4,129,252,253,239,15,135,244,249,255,252,242,65,15,16,4,199, | 508 | 244,254,139,44,194,59,44,202,255,15,133,244,255,255,15,132,244,255,255,15, |
499 | 102,15,46,4,202,255,221,4,202,65,221,4,199,255,72,252,247,208,139,108,202, | 509 | 183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131, |
500 | 4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156,253,131,233, | 510 | 195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,251,129,124,253,202, |
501 | 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 511 | 4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,4,202,255,219,4,202, |
502 | 238,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248, | 512 | 255,252,233,244,248,248,8,15,135,244,251,255,252,242,15,42,4,194,102,15,46, |
503 | 129,252,253,239,15,132,244,46,15,183,67,252,254,141,156,253,131,233,248,2, | 513 | 4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,129,252,253,239,15, |
504 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 514 | 131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,1,252,242,15,16, |
505 | 139,108,194,4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244, | 515 | 4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,2,221,4,194,248, |
506 | 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156, | 516 | 4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255, |
507 | 253,131,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 517 | 248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,2,15,183,67,252, |
508 | 255,36,252,238,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232, | 518 | 254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,255,129,252,253, |
509 | 131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194, | 519 | 239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255,57,108,202,4,15, |
510 | 4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193, | 520 | 133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,57,193,15,132, |
511 | 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,49,255, | 521 | 244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237,15,132,244,2,252, |
512 | 252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15, | 522 | 246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244, |
513 | 17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133, | 523 | 45,255,248,3,129,252,253,239,255,15,133,244,9,255,252,233,244,46,255,72,252, |
514 | 244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17, | 524 | 247,208,139,108,202,4,131,195,4,129,252,253,239,15,133,244,249,139,12,202, |
515 | 4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131, | 525 | 65,59,12,135,255,139,108,202,4,131,195,4,255,129,252,253,239,15,133,244,253, |
516 | 195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133, | 526 | 65,129,124,253,199,4,239,15,133,244,254,65,139,44,199,59,44,202,255,15,183, |
517 | 244,51,139,60,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252,234, | 527 | 67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,131,195, |
518 | 255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129, | 528 | 4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,249,65,129,124,253,199, |
519 | 124,253,252,234,4,239,15,135,244,47,255,252,242,15,16,4,252,234,252,242,65, | 529 | 4,239,15,130,244,247,255,252,242,65,15,42,4,199,255,65,219,4,199,255,252, |
520 | 15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239, | 530 | 233,244,248,248,8,255,252,242,15,42,4,202,102,65,15,46,4,199,255,219,4,202, |
521 | 15,135,244,48,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, | 531 | 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,65,15,16,4, |
522 | 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129,124,253, | 532 | 199,248,2,102,15,46,4,202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,255, |
523 | 194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, | 533 | 72,252,247,208,139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67, |
524 | 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199, | 534 | 252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193, |
525 | 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92, | 535 | 232,16,65,252,255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244, |
526 | 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, | 536 | 46,255,15,132,244,248,129,252,253,239,15,132,244,46,15,183,67,252,254,141, |
527 | 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, | 537 | 156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
528 | 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, | 538 | 252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108, |
529 | 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, | 539 | 202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182, |
530 | 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, | 540 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237, |
531 | 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52, | 541 | 129,124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232, |
532 | 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220, | 542 | 131,195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133, |
533 | 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252, | 543 | 244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202, |
534 | 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, | 544 | 248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
535 | 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, | 545 | 238,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15, |
536 | 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, | 546 | 135,244,51,255,129,124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194, |
537 | 12,194,255,221,4,252,234,221,4,194,255,248,158,232,244,149,255,252,233,244, | 547 | 72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4, |
538 | 158,255,232,244,108,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233, | 548 | 194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194, |
539 | 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,26, | 549 | 255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15, |
540 | 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72, | 550 | 42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255, |
541 | 139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
542 | 16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237, | ||
543 | 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
544 | 252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252, | ||
545 | 254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221, | ||
546 | 4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182, | ||
547 | 232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194, | ||
548 | 4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139, | ||
549 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139, | ||
550 | 106,252,248,139,172,253,133,233,139,173,233,72,139,69,0,72,137,4,202,139, | ||
551 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139, | ||
552 | 106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139, | ||
553 | 68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244, | ||
554 | 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
555 | 252,238,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233,235, | ||
556 | 15,132,244,1,137,252,238,137,213,65,141,190,233,255,232,251,1,27,137,252, | ||
557 | 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233, | ||
558 | 65,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244, | ||
559 | 248,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
560 | 252,238,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1, | ||
561 | 137,213,137,198,65,141,190,233,232,251,1,27,137,252,234,252,233,244,1,255, | ||
562 | 139,106,252,248,255,252,242,65,15,16,4,199,255,139,172,253,141,233,139,141, | ||
563 | 233,255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139, | ||
564 | 172,253,141,233,139,141,233,137,65,4,139,3,15,182,204,15,182,232,131,195, | ||
565 | 4,193,232,16,65,252,255,36,252,238,255,141,156,253,131,233,139,108,36,24, | ||
566 | 131,189,233,0,15,132,244,247,137,149,233,141,52,202,137,252,239,232,251,1, | ||
567 | 28,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | ||
568 | 252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149,233,139,82,252, | ||
569 | 248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,29,139,149,233,15,182, | ||
570 | 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195, | ||
571 | 4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137,149,233,65,139,142, | ||
572 | 233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137,194,37,252,255,7, | ||
573 | 0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,239,137, | ||
574 | 198,232,251,1,30,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, | ||
575 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | ||
576 | 3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251,1,31,15,183,67,252, | ||
577 | 254,252,233,244,1,255,72,252,247,208,139,108,36,24,65,139,142,233,137,92, | ||
578 | 36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65,139,52,135,137,252, | ||
579 | 239,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, | ||
580 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | 551 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, |
581 | 3,137,252,239,232,251,1,31,15,183,67,252,254,72,252,247,208,252,233,244,2, | 552 | 2,129,124,253,194,4,239,15,133,244,54,139,60,194,137,213,232,251,1,20,255, |
582 | 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,159, | 553 | 252,242,15,42,192,255,137,252,234,15,182,75,252,253,252,233,244,1,255,15, |
583 | 255,72,252,247,208,139,106,252,248,139,173,233,65,139,4,135,252,233,244,160, | 554 | 182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,65,129, |
584 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139, | 555 | 124,253,199,4,239,15,133,244,48,139,44,252,234,65,3,44,199,15,128,244,47, |
585 | 44,252,234,129,124,253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252, | 556 | 255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133, |
586 | 242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,59,133,233, | 557 | 244,50,65,139,4,199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, |
587 | 15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72,139, | 558 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194, |
588 | 40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 559 | 15,128,244,52,255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244, |
589 | 252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252,246, | 560 | 48,255,65,129,124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234, |
590 | 129,233,235,15,132,244,36,15,182,75,252,253,248,3,255,199,68,202,4,237,252, | 561 | 252,242,65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252, |
591 | 233,244,1,248,5,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233,244, | 562 | 234,4,239,15,131,244,50,255,65,129,124,253,199,4,239,15,131,244,50,255,252, |
592 | 159,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253, | 563 | 242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4,252,234, |
593 | 252,234,4,239,15,133,244,34,139,44,252,234,248,159,139,141,233,35,136,233, | 564 | 255,129,124,253,252,234,4,239,15,131,244,53,129,124,253,194,4,239,15,131, |
594 | 105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233,15, | 565 | 244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234, |
595 | 133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139,41, | 566 | 220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129,124,253,199, |
596 | 72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232,16, | 567 | 4,239,15,133,244,48,139,44,252,234,65,43,44,199,15,128,244,47,255,129,124, |
597 | 65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233,244, | 568 | 253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15,133,244,50,65, |
598 | 2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15,132, | 569 | 139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133, |
599 | 244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252,236, | 570 | 244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15,128, |
600 | 15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59,133, | 571 | 244,52,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221,4,252,234, |
601 | 233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248,72, | 572 | 65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234,255,65,221, |
602 | 139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, | 573 | 4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255, |
574 | 221,4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,65,129, | ||
575 | 124,253,199,4,239,15,133,244,48,139,44,252,234,65,15,175,44,199,15,128,244, | ||
576 | 47,255,129,124,253,252,234,4,239,15,133,244,50,65,129,124,253,199,4,239,15, | ||
577 | 133,244,50,65,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252, | ||
578 | 234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234, | ||
579 | 15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,65,15,89, | ||
580 | 4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252,242, | ||
581 | 15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234, | ||
582 | 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252, | ||
583 | 234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242,65, | ||
584 | 15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255,252, | ||
585 | 242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255, | ||
586 | 252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65,221, | ||
587 | 4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221,4,199, | ||
588 | 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4, | ||
589 | 252,234,221,4,194,255,248,162,232,244,153,255,252,233,244,162,255,232,244, | ||
590 | 113,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194,137, | ||
591 | 194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,27,139,149,233,133, | ||
592 | 192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,72,139,4,252,234,72, | ||
593 | 137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
594 | 252,238,255,72,252,247,208,65,139,4,135,199,68,202,4,237,137,4,202,139,3, | ||
595 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,15,191, | ||
596 | 192,199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15, | ||
597 | 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242, | ||
598 | 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139, | ||
599 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141, | ||
600 | 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57, | ||
601 | 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | ||
602 | 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139, | ||
603 | 69,0,72,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | ||
604 | 255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139, | ||
605 | 173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246, | ||
606 | 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193, | ||
607 | 232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239,15,134,244, | ||
608 | 1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141,190,233,255, | ||
609 | 232,251,1,28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248, | ||
610 | 139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4,237,252,246, | ||
611 | 133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131,195,4,193, | ||
612 | 232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132,244,1,128,189, | ||
613 | 233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1,28,137,252,234, | ||
614 | 252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199,255,139,172, | ||
615 | 253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72,252,247,208, | ||
616 | 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,3,15,182,204, | ||
617 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,156,253,131, | ||
618 | 233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141,52,202,137, | ||
619 | 252,239,232,251,1,29,139,149,233,248,1,139,3,15,182,204,15,182,232,131,195, | ||
620 | 4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108,36,24,137,149, | ||
621 | 233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232,251,1,30,139, | ||
622 | 149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15, | ||
623 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,108,36,24,137, | ||
624 | 149,233,65,139,142,233,65,59,142,233,137,92,36,28,15,131,244,251,248,1,137, | ||
625 | 194,37,252,255,7,0,0,193,252,234,11,61,252,255,7,0,0,15,132,244,249,248,2, | ||
626 | 137,252,239,137,198,232,251,1,31,139,149,233,15,182,75,252,253,137,4,202, | ||
627 | 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | ||
628 | 255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,239,232,251, | ||
629 | 1,32,15,183,67,252,254,252,233,244,1,255,72,252,247,208,139,108,36,24,65, | ||
630 | 139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248,2,65, | ||
631 | 139,52,135,137,252,239,232,251,1,33,139,149,233,15,182,75,252,253,137,4,202, | ||
632 | 199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | ||
633 | 255,36,252,238,248,3,137,252,239,232,251,1,32,15,183,67,252,254,72,252,247, | ||
634 | 208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139,4, | ||
635 | 135,252,233,244,163,255,72,252,247,208,139,106,252,248,139,173,233,65,139, | ||
636 | 4,135,252,233,244,164,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | ||
637 | 239,15,133,244,36,139,44,252,234,255,129,124,253,194,4,239,15,133,244,251, | ||
638 | 139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,252,242,15,16,4,194, | ||
639 | 252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,15,133,244,36,255,59, | ||
640 | 133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248, | ||
641 | 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
642 | 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, | ||
643 | 246,129,233,235,15,132,244,36,15,182,75,252,253,248,3,199,68,202,4,237,252, | ||
644 | 233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4,194,252,233, | ||
645 | 244,163,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124, | ||
646 | 253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139,141,233,35,136, | ||
647 | 233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,57,129,233, | ||
648 | 15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252,253,72,139, | ||
649 | 41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
650 | 16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,194,4,237,252,233, | ||
651 | 244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,233,133,201,15, | ||
652 | 132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34,255,15,182,252, | ||
653 | 236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139,44,252,234,59, | ||
654 | 133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239,15,132,244,248, | ||
655 | 72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
603 | 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, | 656 | 16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,244,249,139,141,233,252, |
604 | 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237, | 657 | 246,129,233,235,15,132,244,35,255,15,182,75,252,253,248,3,199,68,202,4,237, |
605 | 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, | 658 | 252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, |
606 | 133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255,15,133, | 659 | 133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233,15,131,244,39, |
607 | 244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15, | 660 | 193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233, |
608 | 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202, | 661 | 235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,15,182,204,15,182, |
609 | 72,137,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | 662 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132, |
610 | 252,238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233, | 663 | 244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182,75,252,253, |
611 | 235,15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4, | 664 | 252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233, |
612 | 239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,65,139, | 665 | 244,164,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141,233,15, |
613 | 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15, | 666 | 182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,247,208, |
614 | 182,252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4, | 667 | 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,164, |
615 | 239,15,133,244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239, | 668 | 139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185, |
616 | 198,133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15, | 669 | 233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132, |
617 | 133,244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235, | 670 | 244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,67,252, |
618 | 15,133,244,253,248,3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182, | 671 | 253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,195,4,193,232, |
619 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233, | 672 | 16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,12,36,139,141, |
620 | 0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244,37,139, | 673 | 233,252,246,129,233,235,15,132,244,37,139,12,36,252,233,244,2,248,5,139,137, |
621 | 12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233, | 674 | 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129, |
622 | 133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,4,36,199, | 675 | 233,235,15,132,244,37,248,6,137,4,36,199,68,36,4,237,137,108,36,8,139,124, |
623 | 68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238, | 676 | 36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,92,36,28,232,251, |
624 | 137,252,253,137,92,36,28,232,251,1,33,139,149,233,139,108,36,8,137,193,252, | 677 | 1,34,139,149,233,139,108,36,8,137,193,252,233,244,2,248,7,128,165,233,235, |
625 | 233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233, | 678 | 65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,255,15,182,252,236, |
626 | 252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15, | 679 | 15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133, |
627 | 133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129, | 680 | 233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248, |
628 | 120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248, | 681 | 1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,72,137,8,139,3,15, |
629 | 2,72,139,12,202,72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16, | 682 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189, |
630 | 65,252,255,36,252,238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252, | 683 | 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182, |
631 | 246,129,233,235,15,132,244,38,15,182,75,252,253,252,233,244,1,248,7,128,165, | 684 | 75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174, |
632 | 233,235,65,139,142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233, | 685 | 233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,69,139,60, |
633 | 244,2,255,68,137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252, | 686 | 199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248, |
634 | 246,133,233,235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250, | 687 | 2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,59,133,233,15,135,244, |
635 | 68,1,252,248,59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189, | 688 | 251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,139,41,131,193,8,73, |
636 | 233,248,3,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244, | 689 | 137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,60,36,139,3,15,182, |
637 | 3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 690 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,139,124,36, |
638 | 252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137, | 691 | 24,137,151,233,137,252,238,137,194,137,252,253,137,92,36,28,232,251,1,35, |
639 | 252,253,137,92,36,28,232,251,1,34,139,149,233,15,182,75,252,253,252,233,244, | 692 | 139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,128,165,233,235,65, |
640 | 1,248,7,255,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252, | 693 | 139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,3,68,36,4,255,129, |
641 | 233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,52, | 694 | 124,253,202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,90,252,252,139, |
642 | 141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205, | 695 | 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, |
643 | 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248, | 696 | 255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,252,252,239,15,133, |
644 | 129,121,253,252,252,239,15,133,244,28,248,53,139,90,252,252,252,247,195,237, | 697 | 244,28,248,56,139,90,252,252,252,247,195,237,15,133,244,253,248,1,137,106, |
645 | 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249, | 698 | 252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,73, |
646 | 248,2,72,139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139, | 699 | 137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36, |
647 | 106,252,248,248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157, | 700 | 4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,182,252,233,15, |
648 | 233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248, | 701 | 182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,195,237,15,133, |
649 | 5,255,252,247,195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12, | 702 | 244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,252,248,69,139, |
650 | 202,68,139,121,252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7, | 703 | 191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,252,247,195,237, |
651 | 129,252,235,239,252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252, | 704 | 15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,1,248,8,129,195, |
652 | 252,252,233,244,1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139, | 705 | 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, |
653 | 105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137, | 706 | 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, |
654 | 105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137,202, | 707 | 252,248,239,184,237,15,133,244,28,137,202,137,90,252,252,139,157,233,139, |
655 | 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, | 708 | 11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,255,68,137,60, |
656 | 252,255,36,252,238,255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139, | 709 | 36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,139,181,233, |
657 | 68,202,252,248,68,139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240, | 710 | 131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,129,124,253, |
658 | 15,131,244,251,65,129,124,253,199,4,239,15,132,244,250,255,252,242,15,42, | 711 | 199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,199,72,137, |
659 | 192,255,219,68,202,252,248,255,73,139,44,199,72,137,108,202,8,131,192,1,255, | 712 | 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,254,141,156, |
660 | 137,68,202,252,248,248,2,15,183,67,252,254,141,156,253,131,233,248,3,68,139, | 713 | 253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,15,182,232, |
661 | 116,36,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 714 | 131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,137,68,202, |
662 | 252,255,36,252,238,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244, | 715 | 252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,15,135,244, |
663 | 1,248,5,68,41,252,240,248,6,59,133,233,15,135,244,3,68,105,252,248,239,68, | 716 | 3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,253,70,141, |
664 | 3,189,233,65,129,191,233,239,15,132,244,253,70,141,116,48,1,73,139,175,233, | 717 | 116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,202,8,68,137, |
665 | 73,139,135,233,72,137,44,202,72,137,68,202,8,68,137,116,202,252,248,252,233, | 718 | 116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253, |
666 | 244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133, | 719 | 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239, |
667 | 244,251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124, | 720 | 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235, |
668 | 253,202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,156, | 721 | 15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3, |
669 | 253,131,233,199,68,202,252,248,0,0,0,0,248,1,139,3,15,182,204,15,182,232, | 722 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,198, |
670 | 131,195,4,193,232,16,65,252,255,36,252,238,248,5,198,67,252,252,235,141,156, | 723 | 67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,1,255,15,182,252, |
671 | 253,131,233,198,3,235,252,233,244,1,255,15,182,252,236,15,182,192,68,137, | 724 | 236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,202,68,43,122,252, |
672 | 60,36,68,141,188,253,194,233,141,12,202,68,43,122,252,252,133,252,237,15, | 725 | 252,133,252,237,15,132,244,251,141,108,252,233,252,248,65,57,215,15,131,244, |
673 | 132,244,251,141,108,252,233,252,248,65,57,215,15,131,244,248,248,1,73,139, | 726 | 248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15, |
674 | 71,252,248,65,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,65,57, | 727 | 131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233, |
675 | 215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248, | 728 | 15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193, |
676 | 3,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255, | 729 | 232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252, |
677 | 36,252,238,248,5,199,68,36,4,1,0,0,0,137,208,68,41,252,248,15,134,244,3,137, | 730 | 248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,36,4,139,108,36, |
678 | 197,193,252,237,3,131,197,1,137,108,36,4,139,108,36,24,1,200,59,133,233,15, | 731 | 24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,252,248,65,131,199, |
679 | 135,244,253,248,6,255,73,139,71,252,248,65,131,199,8,72,137,1,131,193,8,65, | 732 | 8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233, |
680 | 57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36, | 733 | 137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,238,1,137,252,239, |
681 | 28,65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233, | 734 | 232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,6,255,193,225,3, |
682 | 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252, | 735 | 255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,244,253,255,248, |
683 | 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232, | 736 | 13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,73,137,111,252, |
684 | 1,15,132,244,249,248,2,73,139,44,15,73,137,111,252,248,65,131,199,8,131,232, | 737 | 248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,15,182,107,252, |
685 | 1,15,133,244,2,248,3,139,68,36,4,15,182,107,252,255,248,5,57,197,15,135,244, | 738 | 255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252,248,255,248, |
686 | 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,67,252,255,15,135,244, | 739 | 5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,247,209,141,20, |
687 | 252,255,15,182,75,252,253,72,252,247,209,141,20,202,68,139,122,252,248,69, | 740 | 202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,15,182,204,15, |
688 | 139,191,233,69,139,191,233,139,3,15,182,204,15,182,232,131,195,4,193,232, | 741 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,65,199,71,252, |
689 | 16,65,252,255,36,252,238,248,6,255,65,199,71,252,252,237,65,131,199,8,255, | 742 | 252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244, |
690 | 199,68,194,252,244,237,255,131,192,1,252,233,244,5,248,7,141,171,233,252, | 743 | 5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233, |
691 | 247,197,237,15,133,244,14,41,252,234,255,1,252,233,255,137,221,209,252,237, | 744 | 255,137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244, |
692 | 129,229,239,102,65,131,172,253,46,233,1,15,132,244,141,255,141,12,202,255, | 745 | 145,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,129,121,253,12, |
693 | 129,121,253,4,239,15,135,244,54,129,121,253,12,239,15,135,244,54,255,139, | 746 | 239,15,133,244,57,129,121,253,20,239,15,133,244,57,139,41,131,121,16,0,15, |
694 | 105,20,255,129,252,253,239,15,135,244,54,255,252,242,15,16,1,252,242,15,16, | 747 | 140,244,251,255,139,105,16,133,252,237,15,136,244,251,3,41,15,128,244,247, |
748 | 137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,253,248,1,248, | ||
749 | 6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,142,245, | ||
750 | 248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,1,255,248,7, | ||
751 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248, | ||
752 | 5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,131,233,15, | ||
753 | 183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,9,255,129, | ||
754 | 121,253,4,239,255,15,131,244,57,129,121,253,12,239,15,131,244,57,255,139, | ||
755 | 105,20,255,129,252,253,239,15,131,244,57,255,252,242,15,16,1,252,242,15,16, | ||
695 | 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255, | 756 | 73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,249,255, |
696 | 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221, | 757 | 15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,65,8,221, |
697 | 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24, | 758 | 1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,221,81,24, |
698 | 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,248, | 759 | 15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,244,7,255, |
699 | 141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,254,15,131,245, | 760 | 15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252, |
700 | 255,15,130,244,248,141,156,253,131,233,255,248,3,102,15,46,193,252,233,244, | 761 | 254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,233,255, |
701 | 1,255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252, | 762 | 248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239, |
702 | 252,139,41,137,105,252,248,252,233,245,255,141,156,253,131,233,139,1,137, | 763 | 15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255, |
703 | 105,252,252,137,65,252,248,255,65,139,142,233,139,4,129,72,139,128,233,139, | 764 | 141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142,233, |
704 | 108,36,24,65,137,150,233,65,137,174,233,76,137,36,36,76,137,108,36,8,72,131, | 765 | 139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233,76,137, |
705 | 252,236,16,252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232, | 766 | 36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253,131,233, |
706 | 131,195,4,193,232,16,65,252,255,36,252,238,255,137,221,209,252,237,129,229, | 767 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, |
707 | 239,102,65,131,172,253,46,233,1,15,132,244,143,255,68,139,187,233,139,108, | 768 | 137,221,209,252,237,129,229,239,102,65,131,172,253,46,233,1,15,132,244,147, |
708 | 36,24,141,12,202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244, | 769 | 255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23,15,182, |
709 | 249,248,2,255,15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252, | 770 | 139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233,245,255, |
710 | 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4, | 771 | 248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2, |
711 | 194,68,139,122,252,248,137,104,252,252,68,137,120,252,248,139,108,36,24,141, | 772 | 255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68,137,120, |
712 | 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237, | 773 | 252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209,137,194, |
713 | 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68, | 774 | 15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244, |
714 | 137,56,68,139,121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252, | 775 | 249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120,4,131,192, |
715 | 237,1,15,133,244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131, | 776 | 8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139,187,233, |
716 | 195,4,193,232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131, | 777 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, |
717 | 252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139, | 778 | 248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255, |
718 | 108,36,24,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233, | 779 | 139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137,149,233, |
719 | 255,137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134, | 780 | 141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,252,239,255,15, |
720 | 233,237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237, | 781 | 135,244,21,65,199,134,233,237,255,65,252,255,215,255,65,252,255,150,233,255, |
721 | 139,149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12, | 782 | 65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,90,252, |
722 | 255,254,0 | 783 | 252,252,233,244,12,255,254,0 |
723 | }; | 784 | }; |
724 | 785 | ||
725 | enum { | 786 | enum { |
@@ -760,9 +821,12 @@ enum { | |||
760 | GLOB_cont_condf, | 821 | GLOB_cont_condf, |
761 | GLOB_vmeta_equal, | 822 | GLOB_vmeta_equal, |
762 | GLOB_vmeta_equal_cd, | 823 | GLOB_vmeta_equal_cd, |
824 | GLOB_vmeta_arith_vno, | ||
763 | GLOB_vmeta_arith_vn, | 825 | GLOB_vmeta_arith_vn, |
826 | GLOB_vmeta_arith_nvo, | ||
764 | GLOB_vmeta_arith_nv, | 827 | GLOB_vmeta_arith_nv, |
765 | GLOB_vmeta_unm, | 828 | GLOB_vmeta_unm, |
829 | GLOB_vmeta_arith_vvo, | ||
766 | GLOB_vmeta_arith_vv, | 830 | GLOB_vmeta_arith_vv, |
767 | GLOB_vmeta_len, | 831 | GLOB_vmeta_len, |
768 | GLOB_vmeta_call_ra, | 832 | GLOB_vmeta_call_ra, |
@@ -777,6 +841,7 @@ enum { | |||
777 | GLOB_ff_setmetatable, | 841 | GLOB_ff_setmetatable, |
778 | GLOB_ff_rawget, | 842 | GLOB_ff_rawget, |
779 | GLOB_ff_tonumber, | 843 | GLOB_ff_tonumber, |
844 | GLOB_fff_resi, | ||
780 | GLOB_fff_resxmm0, | 845 | GLOB_fff_resxmm0, |
781 | GLOB_fff_resn, | 846 | GLOB_fff_resn, |
782 | GLOB_ff_tostring, | 847 | GLOB_ff_tostring, |
@@ -794,11 +859,12 @@ enum { | |||
794 | GLOB_ff_coroutine_wrap_aux, | 859 | GLOB_ff_coroutine_wrap_aux, |
795 | GLOB_ff_coroutine_yield, | 860 | GLOB_ff_coroutine_yield, |
796 | GLOB_ff_math_abs, | 861 | GLOB_ff_math_abs, |
797 | GLOB_ff_math_sqrt, | 862 | GLOB_fff_resbit, |
798 | GLOB_ff_math_floor, | 863 | GLOB_ff_math_floor, |
799 | GLOB_vm_floor, | 864 | GLOB_vm_floor, |
800 | GLOB_ff_math_ceil, | 865 | GLOB_ff_math_ceil, |
801 | GLOB_vm_ceil, | 866 | GLOB_vm_ceil, |
867 | GLOB_ff_math_sqrt, | ||
802 | GLOB_ff_math_log, | 868 | GLOB_ff_math_log, |
803 | GLOB_ff_math_log10, | 869 | GLOB_ff_math_log10, |
804 | GLOB_ff_math_exp, | 870 | GLOB_ff_math_exp, |
@@ -839,7 +905,6 @@ enum { | |||
839 | GLOB_ff_table_getn, | 905 | GLOB_ff_table_getn, |
840 | GLOB_ff_bit_tobit, | 906 | GLOB_ff_bit_tobit, |
841 | GLOB_ff_bit_band, | 907 | GLOB_ff_bit_band, |
842 | GLOB_fff_resbit, | ||
843 | GLOB_fff_fallback_bit_op, | 908 | GLOB_fff_fallback_bit_op, |
844 | GLOB_ff_bit_bor, | 909 | GLOB_ff_bit_bor, |
845 | GLOB_ff_bit_bxor, | 910 | GLOB_ff_bit_bxor, |
@@ -914,9 +979,12 @@ static const char *const globnames[] = { | |||
914 | "cont_condf", | 979 | "cont_condf", |
915 | "vmeta_equal", | 980 | "vmeta_equal", |
916 | "vmeta_equal_cd", | 981 | "vmeta_equal_cd", |
982 | "vmeta_arith_vno", | ||
917 | "vmeta_arith_vn", | 983 | "vmeta_arith_vn", |
984 | "vmeta_arith_nvo", | ||
918 | "vmeta_arith_nv", | 985 | "vmeta_arith_nv", |
919 | "vmeta_unm", | 986 | "vmeta_unm", |
987 | "vmeta_arith_vvo", | ||
920 | "vmeta_arith_vv", | 988 | "vmeta_arith_vv", |
921 | "vmeta_len", | 989 | "vmeta_len", |
922 | "vmeta_call_ra", | 990 | "vmeta_call_ra", |
@@ -931,6 +999,7 @@ static const char *const globnames[] = { | |||
931 | "ff_setmetatable", | 999 | "ff_setmetatable", |
932 | "ff_rawget", | 1000 | "ff_rawget", |
933 | "ff_tonumber", | 1001 | "ff_tonumber", |
1002 | "fff_resi", | ||
934 | "fff_resxmm0", | 1003 | "fff_resxmm0", |
935 | "fff_resn", | 1004 | "fff_resn", |
936 | "ff_tostring", | 1005 | "ff_tostring", |
@@ -948,11 +1017,12 @@ static const char *const globnames[] = { | |||
948 | "ff_coroutine_wrap_aux", | 1017 | "ff_coroutine_wrap_aux", |
949 | "ff_coroutine_yield", | 1018 | "ff_coroutine_yield", |
950 | "ff_math_abs", | 1019 | "ff_math_abs", |
951 | "ff_math_sqrt", | 1020 | "fff_resbit", |
952 | "ff_math_floor", | 1021 | "ff_math_floor", |
953 | "vm_floor", | 1022 | "vm_floor", |
954 | "ff_math_ceil", | 1023 | "ff_math_ceil", |
955 | "vm_ceil", | 1024 | "vm_ceil", |
1025 | "ff_math_sqrt", | ||
956 | "ff_math_log", | 1026 | "ff_math_log", |
957 | "ff_math_log10", | 1027 | "ff_math_log10", |
958 | "ff_math_exp", | 1028 | "ff_math_exp", |
@@ -993,7 +1063,6 @@ static const char *const globnames[] = { | |||
993 | "ff_table_getn", | 1063 | "ff_table_getn", |
994 | "ff_bit_tobit", | 1064 | "ff_bit_tobit", |
995 | "ff_bit_band", | 1065 | "ff_bit_band", |
996 | "fff_resbit", | ||
997 | "fff_fallback_bit_op", | 1066 | "fff_fallback_bit_op", |
998 | "ff_bit_bor", | 1067 | "ff_bit_bor", |
999 | "ff_bit_bxor", | 1068 | "ff_bit_bxor", |
@@ -1042,6 +1111,7 @@ static const char *const extnames[] = { | |||
1042 | "lj_meta_call", | 1111 | "lj_meta_call", |
1043 | "lj_meta_for@8", | 1112 | "lj_meta_for@8", |
1044 | "lj_tab_get", | 1113 | "lj_tab_get", |
1114 | "lj_str_fromnumber@8", | ||
1045 | "lj_str_fromnum@8", | 1115 | "lj_str_fromnum@8", |
1046 | "lj_tab_next", | 1116 | "lj_tab_next", |
1047 | "lj_tab_getinth@8", | 1117 | "lj_tab_getinth@8", |
@@ -1098,386 +1168,655 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1098 | dasm_put(Dst, 529, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 1168 | dasm_put(Dst, 529, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
1099 | dasm_put(Dst, 642, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); | 1169 | dasm_put(Dst, 642, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); |
1100 | dasm_put(Dst, 807, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1170 | dasm_put(Dst, 807, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); |
1101 | if (sse) { | 1171 | if (LJ_DUALNUM) { |
1102 | dasm_put(Dst, 912); | 1172 | dasm_put(Dst, 912, LJ_TISNUM); |
1173 | } else if (sse) { | ||
1174 | dasm_put(Dst, 921); | ||
1103 | } else { | 1175 | } else { |
1104 | } | 1176 | } |
1105 | dasm_put(Dst, 924, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1177 | dasm_put(Dst, 933, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1106 | dasm_put(Dst, 1070, DISPATCH_GL(tmptv), LJ_TTAB); | 1178 | dasm_put(Dst, 1079, DISPATCH_GL(tmptv), LJ_TTAB); |
1107 | if (sse) { | 1179 | if (LJ_DUALNUM) { |
1108 | dasm_put(Dst, 912); | 1180 | dasm_put(Dst, 912, LJ_TISNUM); |
1181 | } else if (sse) { | ||
1182 | dasm_put(Dst, 921); | ||
1109 | } else { | 1183 | } else { |
1110 | } | 1184 | } |
1111 | dasm_put(Dst, 1094, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1185 | dasm_put(Dst, 1103, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1112 | dasm_put(Dst, 1266, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1186 | dasm_put(Dst, 1275, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1113 | dasm_put(Dst, 1365); | 1187 | dasm_put(Dst, 1374); |
1114 | #if LJ_HASFFI | 1188 | #if LJ_HASFFI |
1115 | dasm_put(Dst, 1385, Dt1(->base)); | 1189 | dasm_put(Dst, 1394, Dt1(->base)); |
1190 | #endif | ||
1191 | dasm_put(Dst, 1425); | ||
1192 | #if LJ_DUALNUM | ||
1193 | dasm_put(Dst, 1428); | ||
1194 | #endif | ||
1195 | dasm_put(Dst, 1434); | ||
1196 | #if LJ_DUALNUM | ||
1197 | dasm_put(Dst, 906); | ||
1198 | #endif | ||
1199 | dasm_put(Dst, 1447); | ||
1200 | #if LJ_DUALNUM | ||
1201 | dasm_put(Dst, 1428); | ||
1116 | #endif | 1202 | #endif |
1117 | dasm_put(Dst, 1416, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1); | 1203 | dasm_put(Dst, 1476, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); |
1118 | dasm_put(Dst, 1530, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1204 | dasm_put(Dst, 1608, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); |
1119 | dasm_put(Dst, 1715, 1+1, ~LJ_TNUMX); | 1205 | dasm_put(Dst, 1792, 1+1, ~LJ_TNUMX); |
1120 | if (cmov) { | 1206 | if (cmov) { |
1121 | dasm_put(Dst, 1813); | 1207 | dasm_put(Dst, 1837); |
1122 | } else { | 1208 | } else { |
1123 | dasm_put(Dst, 1817); | 1209 | dasm_put(Dst, 1841); |
1210 | } | ||
1211 | dasm_put(Dst, 1850, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | ||
1212 | dasm_put(Dst, 1929, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | ||
1213 | dasm_put(Dst, 1987, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); | ||
1214 | dasm_put(Dst, 2056, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); | ||
1215 | dasm_put(Dst, 2125, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1216 | if (LJ_DUALNUM) { | ||
1217 | dasm_put(Dst, 2211); | ||
1218 | } else { | ||
1219 | dasm_put(Dst, 2228); | ||
1124 | } | 1220 | } |
1125 | dasm_put(Dst, 1826, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | ||
1126 | dasm_put(Dst, 1905, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | ||
1127 | dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); | ||
1128 | dasm_put(Dst, 2032, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); | ||
1129 | dasm_put(Dst, 2101, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1130 | dasm_put(Dst, 2187); | ||
1131 | if (sse) { | 1221 | if (sse) { |
1132 | dasm_put(Dst, 2192); | 1222 | dasm_put(Dst, 2233); |
1223 | } else { | ||
1224 | dasm_put(Dst, 2243); | ||
1225 | } | ||
1226 | dasm_put(Dst, 2250, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1227 | dasm_put(Dst, 2319, Dt1(->base)); | ||
1228 | if (LJ_DUALNUM) { | ||
1229 | dasm_put(Dst, 2345); | ||
1133 | } else { | 1230 | } else { |
1134 | dasm_put(Dst, 2202); | 1231 | dasm_put(Dst, 2350); |
1135 | } | 1232 | } |
1136 | dasm_put(Dst, 2209, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1233 | dasm_put(Dst, 2355, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1137 | dasm_put(Dst, 2278, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); | 1234 | dasm_put(Dst, 2447, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1138 | dasm_put(Dst, 2347, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); | ||
1139 | dasm_put(Dst, 2435, LJ_TTAB); | ||
1140 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1235 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1141 | dasm_put(Dst, 2447, Dt6(->metatable)); | 1236 | dasm_put(Dst, 2494, Dt6(->metatable)); |
1142 | #endif | 1237 | #endif |
1143 | dasm_put(Dst, 2456, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1238 | dasm_put(Dst, 2503, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1144 | if (sse) { | 1239 | if (LJ_DUALNUM) { |
1145 | dasm_put(Dst, 2519, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1240 | dasm_put(Dst, 2489); |
1241 | } else { | ||
1242 | dasm_put(Dst, 2228); | ||
1243 | } | ||
1244 | dasm_put(Dst, 2558); | ||
1245 | if (LJ_DUALNUM) { | ||
1246 | dasm_put(Dst, 2563, LJ_TISNUM); | ||
1247 | } else if (sse) { | ||
1248 | dasm_put(Dst, 2579, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | ||
1146 | } else { | 1249 | } else { |
1147 | } | 1250 | } |
1148 | dasm_put(Dst, 2552, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1251 | dasm_put(Dst, 2612, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1149 | dasm_put(Dst, 2629, 1+1, LJ_TTAB); | 1252 | dasm_put(Dst, 2474, 1+1, LJ_TTAB); |
1150 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1253 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1151 | dasm_put(Dst, 2447, Dt6(->metatable)); | 1254 | dasm_put(Dst, 2494, Dt6(->metatable)); |
1152 | #endif | 1255 | #endif |
1153 | dasm_put(Dst, 2649, Dt8(->upvalue[0]), LJ_TFUNC); | 1256 | dasm_put(Dst, 2689, Dt8(->upvalue[0]), LJ_TFUNC); |
1154 | if (sse) { | 1257 | if (LJ_DUALNUM) { |
1155 | dasm_put(Dst, 2670); | 1258 | dasm_put(Dst, 2710, LJ_TISNUM); |
1156 | } else { | 1259 | } else if (sse) { |
1157 | dasm_put(Dst, 2680); | 1260 | dasm_put(Dst, 2722); |
1158 | } | ||
1159 | dasm_put(Dst, 2687, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | ||
1160 | dasm_put(Dst, 2752, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | ||
1161 | dasm_put(Dst, 2841, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | ||
1162 | dasm_put(Dst, 2928, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | ||
1163 | dasm_put(Dst, 3043, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1164 | dasm_put(Dst, 3138, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1165 | dasm_put(Dst, 3204, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1166 | dasm_put(Dst, 3293, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1167 | dasm_put(Dst, 3403, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1168 | if (sse) { | ||
1169 | dasm_put(Dst, 3430, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | ||
1170 | } else { | 1261 | } else { |
1171 | dasm_put(Dst, 3494, 1+1, LJ_TISNUM); | 1262 | dasm_put(Dst, 2732); |
1263 | } | ||
1264 | dasm_put(Dst, 2739, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | ||
1265 | dasm_put(Dst, 2804, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | ||
1266 | dasm_put(Dst, 2893, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | ||
1267 | dasm_put(Dst, 2980, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | ||
1268 | dasm_put(Dst, 3095, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1269 | dasm_put(Dst, 3190, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1270 | dasm_put(Dst, 3256, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1271 | dasm_put(Dst, 3345, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1272 | dasm_put(Dst, 3455, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1273 | if (!LJ_DUALNUM) { | ||
1274 | dasm_put(Dst, 3482); | ||
1172 | } | 1275 | } |
1173 | dasm_put(Dst, 3530, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1174 | if (sse) { | 1276 | if (sse) { |
1175 | dasm_put(Dst, 3625, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1277 | dasm_put(Dst, 3485); |
1176 | dasm_put(Dst, 3687, 1+1, LJ_TISNUM); | 1278 | } |
1279 | dasm_put(Dst, 3500, 1+1); | ||
1280 | if (LJ_DUALNUM) { | ||
1281 | dasm_put(Dst, 3511, LJ_TISNUM, LJ_TISNUM); | ||
1177 | } else { | 1282 | } else { |
1178 | dasm_put(Dst, 3717, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1283 | dasm_put(Dst, 3591, LJ_TISNUM); |
1179 | dasm_put(Dst, 3776, 1+1, LJ_TISNUM); | ||
1180 | } | 1284 | } |
1181 | dasm_put(Dst, 3803, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1182 | dasm_put(Dst, 3872, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1183 | dasm_put(Dst, 3929, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1184 | dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1185 | dasm_put(Dst, 4082); | ||
1186 | if (sse) { | 1285 | if (sse) { |
1187 | dasm_put(Dst, 4094, 1+1, LJ_TISNUM); | 1286 | dasm_put(Dst, 3601, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1287 | } else { | ||
1288 | dasm_put(Dst, 3632); | ||
1289 | } | ||
1290 | dasm_put(Dst, 3649, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1291 | if (LJ_DUALNUM) { | ||
1292 | dasm_put(Dst, 3746, LJ_TISNUM); | ||
1188 | } else { | 1293 | } else { |
1294 | dasm_put(Dst, 3591, LJ_TISNUM); | ||
1189 | } | 1295 | } |
1190 | dasm_put(Dst, 4119); | ||
1191 | if (sse) { | 1296 | if (sse) { |
1192 | dasm_put(Dst, 4133, 1+1, LJ_TISNUM); | 1297 | dasm_put(Dst, 3768); |
1298 | if (LJ_DUALNUM) { | ||
1299 | dasm_put(Dst, 3777); | ||
1300 | } | ||
1301 | dasm_put(Dst, 2238); | ||
1302 | } else { | ||
1303 | dasm_put(Dst, 3811); | ||
1304 | if (LJ_DUALNUM) { | ||
1305 | } else { | ||
1306 | dasm_put(Dst, 2245); | ||
1307 | } | ||
1308 | } | ||
1309 | dasm_put(Dst, 3817); | ||
1310 | if (LJ_DUALNUM) { | ||
1311 | dasm_put(Dst, 3746, LJ_TISNUM); | ||
1193 | } else { | 1312 | } else { |
1313 | dasm_put(Dst, 3591, LJ_TISNUM); | ||
1194 | } | 1314 | } |
1195 | dasm_put(Dst, 4158); | ||
1196 | if (sse) { | 1315 | if (sse) { |
1197 | dasm_put(Dst, 4172, 1+1, LJ_TISNUM); | 1316 | dasm_put(Dst, 3820); |
1317 | if (LJ_DUALNUM) { | ||
1318 | dasm_put(Dst, 3777); | ||
1319 | } | ||
1320 | dasm_put(Dst, 2238); | ||
1198 | } else { | 1321 | } else { |
1322 | dasm_put(Dst, 3829); | ||
1323 | if (LJ_DUALNUM) { | ||
1324 | } else { | ||
1325 | dasm_put(Dst, 2245); | ||
1326 | } | ||
1199 | } | 1327 | } |
1200 | dasm_put(Dst, 4197); | ||
1201 | if (sse) { | 1328 | if (sse) { |
1202 | dasm_put(Dst, 4213, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1329 | dasm_put(Dst, 3835, 1+1, LJ_TISNUM); |
1203 | } else { | 1330 | } else { |
1204 | dasm_put(Dst, 4252, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1331 | dasm_put(Dst, 3864, 1+1, LJ_TISNUM); |
1205 | } | 1332 | } |
1206 | dasm_put(Dst, 4285, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1333 | dasm_put(Dst, 3893, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1207 | dasm_put(Dst, 4350, 1+1, LJ_TISNUM); | 1334 | dasm_put(Dst, 3962, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1335 | dasm_put(Dst, 4019, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1336 | dasm_put(Dst, 4082, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1337 | dasm_put(Dst, 4172); | ||
1208 | if (sse) { | 1338 | if (sse) { |
1209 | dasm_put(Dst, 4449); | 1339 | dasm_put(Dst, 4184, 1+1, LJ_TISNUM); |
1210 | } else { | 1340 | } else { |
1211 | dasm_put(Dst, 4455); | ||
1212 | } | 1341 | } |
1213 | dasm_put(Dst, 4462); | 1342 | dasm_put(Dst, 4209); |
1214 | if (sse) { | 1343 | if (sse) { |
1215 | dasm_put(Dst, 4487); | 1344 | dasm_put(Dst, 4223, 1+1, LJ_TISNUM); |
1216 | } else { | 1345 | } else { |
1217 | dasm_put(Dst, 4493); | ||
1218 | } | 1346 | } |
1219 | dasm_put(Dst, 4496, 1+2); | 1347 | dasm_put(Dst, 4248); |
1220 | if (sse) { | 1348 | if (sse) { |
1221 | dasm_put(Dst, 4505); | 1349 | dasm_put(Dst, 4262, 1+1, LJ_TISNUM); |
1222 | } else { | 1350 | } else { |
1223 | dasm_put(Dst, 4513); | ||
1224 | } | 1351 | } |
1225 | dasm_put(Dst, 4521); | 1352 | dasm_put(Dst, 4287); |
1226 | if (sse) { | 1353 | if (sse) { |
1227 | dasm_put(Dst, 4524, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1354 | dasm_put(Dst, 4303, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1228 | } else { | 1355 | } else { |
1229 | dasm_put(Dst, 4551); | 1356 | dasm_put(Dst, 4342, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1230 | } | 1357 | } |
1231 | dasm_put(Dst, 4568); | 1358 | dasm_put(Dst, 4375, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1359 | dasm_put(Dst, 4440, 1+1, LJ_TISNUM); | ||
1232 | if (sse) { | 1360 | if (sse) { |
1233 | dasm_put(Dst, 4584, 1+1, LJ_TISNUM); | 1361 | dasm_put(Dst, 4539); |
1234 | } else { | 1362 | } else { |
1235 | dasm_put(Dst, 4609, 1+1, LJ_TISNUM); | 1363 | dasm_put(Dst, 4545); |
1236 | } | 1364 | } |
1237 | dasm_put(Dst, 4631); | 1365 | dasm_put(Dst, 4552); |
1238 | if (sse) { | 1366 | if (sse) { |
1239 | dasm_put(Dst, 4653); | 1367 | dasm_put(Dst, 4577); |
1240 | } else { | 1368 | } else { |
1241 | dasm_put(Dst, 4679); | 1369 | dasm_put(Dst, 4583); |
1242 | } | 1370 | } |
1243 | dasm_put(Dst, 4696, 1+2); | 1371 | dasm_put(Dst, 4586, 1+2); |
1244 | if (sse) { | 1372 | if (sse) { |
1245 | dasm_put(Dst, 4736); | 1373 | dasm_put(Dst, 4595); |
1246 | } else { | 1374 | } else { |
1247 | dasm_put(Dst, 4744); | 1375 | dasm_put(Dst, 4603); |
1248 | } | 1376 | } |
1249 | dasm_put(Dst, 4754, 2+1, LJ_TISNUM, LJ_TISNUM); | 1377 | dasm_put(Dst, 4611); |
1250 | if (sse) { | 1378 | if (sse) { |
1251 | dasm_put(Dst, 4806, 2+1, LJ_TISNUM, LJ_TISNUM); | 1379 | dasm_put(Dst, 4614, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1252 | } else { | 1380 | } else { |
1253 | dasm_put(Dst, 4853, 2+1, LJ_TISNUM, LJ_TISNUM); | 1381 | dasm_put(Dst, 4641); |
1254 | } | 1382 | } |
1383 | dasm_put(Dst, 4658); | ||
1255 | if (sse) { | 1384 | if (sse) { |
1256 | dasm_put(Dst, 4894, 1+1, LJ_TISNUM, LJ_TISNUM); | 1385 | dasm_put(Dst, 4674, 1+1, LJ_TISNUM); |
1257 | } else { | 1386 | } else { |
1387 | dasm_put(Dst, 4699, 1+1, LJ_TISNUM); | ||
1258 | } | 1388 | } |
1389 | dasm_put(Dst, 4721); | ||
1259 | if (sse) { | 1390 | if (sse) { |
1260 | dasm_put(Dst, 4965, 1+1, LJ_TISNUM, LJ_TISNUM); | 1391 | dasm_put(Dst, 4743); |
1261 | } else { | 1392 | } else { |
1393 | dasm_put(Dst, 4769); | ||
1262 | } | 1394 | } |
1263 | if (!sse) { | 1395 | dasm_put(Dst, 4786, 1+2); |
1264 | dasm_put(Dst, 5036); | 1396 | if (sse) { |
1397 | dasm_put(Dst, 4826); | ||
1398 | } else { | ||
1399 | dasm_put(Dst, 4834); | ||
1265 | } | 1400 | } |
1266 | dasm_put(Dst, 5045, 1+1, LJ_TSTR); | 1401 | dasm_put(Dst, 4844, 2+1, LJ_TISNUM, LJ_TISNUM); |
1267 | if (sse) { | 1402 | if (sse) { |
1268 | dasm_put(Dst, 5067, Dt5(->len)); | 1403 | dasm_put(Dst, 4896, 2+1, LJ_TISNUM, LJ_TISNUM); |
1269 | } else { | 1404 | } else { |
1270 | dasm_put(Dst, 5078, Dt5(->len)); | 1405 | dasm_put(Dst, 4943, 2+1, LJ_TISNUM, LJ_TISNUM); |
1271 | } | 1406 | } |
1272 | dasm_put(Dst, 5086, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1407 | dasm_put(Dst, 4984, LJ_TISNUM); |
1408 | if (LJ_DUALNUM) { | ||
1409 | dasm_put(Dst, 4997, LJ_TISNUM); | ||
1273 | if (sse) { | 1410 | if (sse) { |
1274 | dasm_put(Dst, 5124); | 1411 | dasm_put(Dst, 4539); |
1275 | } else { | 1412 | } else { |
1276 | dasm_put(Dst, 5134); | ||
1277 | } | 1413 | } |
1278 | dasm_put(Dst, 5145, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1414 | dasm_put(Dst, 5047); |
1415 | } else { | ||
1416 | dasm_put(Dst, 2228); | ||
1417 | } | ||
1279 | if (sse) { | 1418 | if (sse) { |
1280 | dasm_put(Dst, 5182); | 1419 | dasm_put(Dst, 5058, LJ_TISNUM); |
1420 | if (LJ_DUALNUM) { | ||
1421 | dasm_put(Dst, 5079); | ||
1422 | } else { | ||
1423 | dasm_put(Dst, 2228); | ||
1424 | } | ||
1425 | dasm_put(Dst, 5100); | ||
1281 | } else { | 1426 | } else { |
1282 | dasm_put(Dst, 5204); | ||
1283 | } | 1427 | } |
1284 | dasm_put(Dst, 5224, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1428 | dasm_put(Dst, 5125, LJ_TISNUM); |
1285 | dasm_put(Dst, 2187); | 1429 | if (LJ_DUALNUM) { |
1430 | dasm_put(Dst, 5138, LJ_TISNUM); | ||
1286 | if (sse) { | 1431 | if (sse) { |
1287 | dasm_put(Dst, 5333); | 1432 | dasm_put(Dst, 4539); |
1288 | } else { | 1433 | } else { |
1289 | dasm_put(Dst, 5344); | ||
1290 | } | 1434 | } |
1291 | dasm_put(Dst, 5352, LJ_TSTR, LJ_TISNUM, Dt5(->len)); | 1435 | dasm_put(Dst, 5047); |
1436 | } else { | ||
1437 | dasm_put(Dst, 2228); | ||
1438 | } | ||
1292 | if (sse) { | 1439 | if (sse) { |
1293 | dasm_put(Dst, 5382); | 1440 | dasm_put(Dst, 5058, LJ_TISNUM); |
1441 | if (LJ_DUALNUM) { | ||
1442 | dasm_put(Dst, 5079); | ||
1443 | } else { | ||
1444 | dasm_put(Dst, 2228); | ||
1445 | } | ||
1446 | dasm_put(Dst, 5188); | ||
1447 | } else { | ||
1448 | } | ||
1449 | if (!sse) { | ||
1450 | dasm_put(Dst, 5213); | ||
1451 | } | ||
1452 | dasm_put(Dst, 5222, 1+1, LJ_TSTR); | ||
1453 | if (LJ_DUALNUM) { | ||
1454 | dasm_put(Dst, 5244, Dt5(->len)); | ||
1455 | } else if (sse) { | ||
1456 | dasm_put(Dst, 5252, Dt5(->len)); | ||
1457 | } else { | ||
1458 | dasm_put(Dst, 5263, Dt5(->len)); | ||
1459 | } | ||
1460 | dasm_put(Dst, 5271, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | ||
1461 | if (LJ_DUALNUM) { | ||
1462 | dasm_put(Dst, 5247); | ||
1463 | } else if (sse) { | ||
1464 | dasm_put(Dst, 5309); | ||
1465 | } else { | ||
1466 | dasm_put(Dst, 5319); | ||
1467 | } | ||
1468 | dasm_put(Dst, 5330, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | ||
1469 | if (LJ_DUALNUM) { | ||
1470 | dasm_put(Dst, 5363); | ||
1471 | } else if (sse) { | ||
1472 | dasm_put(Dst, 5386); | ||
1294 | } else { | 1473 | } else { |
1474 | dasm_put(Dst, 5412); | ||
1475 | } | ||
1476 | dasm_put(Dst, 5436, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | ||
1477 | if (LJ_DUALNUM) { | ||
1478 | dasm_put(Dst, 5545); | ||
1479 | } else if (sse) { | ||
1480 | dasm_put(Dst, 5557); | ||
1481 | } else { | ||
1482 | dasm_put(Dst, 5572); | ||
1483 | } | ||
1484 | dasm_put(Dst, 5584, LJ_TSTR, LJ_TISNUM); | ||
1485 | if (LJ_DUALNUM) { | ||
1486 | dasm_put(Dst, 2489); | ||
1487 | } else { | ||
1488 | dasm_put(Dst, 2228); | ||
1489 | } | ||
1490 | dasm_put(Dst, 5601, Dt5(->len)); | ||
1491 | if (LJ_DUALNUM) { | ||
1492 | dasm_put(Dst, 5611); | ||
1493 | } else if (sse) { | ||
1494 | dasm_put(Dst, 5615); | ||
1495 | } else { | ||
1496 | } | ||
1497 | dasm_put(Dst, 5622, sizeof(GCstr)-1); | ||
1498 | dasm_put(Dst, 5697, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1499 | dasm_put(Dst, 5758, LJ_TSTR, LJ_TISNUM); | ||
1500 | if (LJ_DUALNUM) { | ||
1501 | dasm_put(Dst, 5775); | ||
1502 | } else if (sse) { | ||
1503 | dasm_put(Dst, 5783); | ||
1504 | } else { | ||
1505 | dasm_put(Dst, 5794); | ||
1506 | } | ||
1507 | dasm_put(Dst, 5810, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1508 | dasm_put(Dst, 5878, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1509 | dasm_put(Dst, 5945, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | ||
1510 | dasm_put(Dst, 6018, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1511 | dasm_put(Dst, 6103, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1512 | dasm_put(Dst, 6177, 1+1, LJ_TTAB); | ||
1513 | if (LJ_DUALNUM) { | ||
1514 | dasm_put(Dst, 6244); | ||
1515 | } else if (sse) { | ||
1516 | dasm_put(Dst, 6251); | ||
1517 | } else { | ||
1518 | } | ||
1519 | dasm_put(Dst, 6261, LJ_TISNUM); | ||
1520 | if (LJ_DUALNUM) { | ||
1521 | dasm_put(Dst, 6269); | ||
1522 | } else { | ||
1523 | dasm_put(Dst, 2228); | ||
1295 | } | 1524 | } |
1296 | dasm_put(Dst, 5389, sizeof(GCstr)-1); | ||
1297 | dasm_put(Dst, 5464, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1298 | dasm_put(Dst, 5525, LJ_TSTR, LJ_TISNUM); | ||
1299 | if (sse) { | 1525 | if (sse) { |
1300 | dasm_put(Dst, 5546); | 1526 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1527 | } else { | ||
1528 | } | ||
1529 | dasm_put(Dst, 106); | ||
1530 | if (LJ_DUALNUM || sse) { | ||
1531 | if (!sse) { | ||
1532 | } | ||
1533 | dasm_put(Dst, 6310); | ||
1301 | } else { | 1534 | } else { |
1302 | dasm_put(Dst, 5553); | ||
1303 | } | 1535 | } |
1304 | dasm_put(Dst, 5565, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1536 | dasm_put(Dst, 6315); |
1305 | dasm_put(Dst, 5633, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1306 | dasm_put(Dst, 5700, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | ||
1307 | dasm_put(Dst, 5773, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1308 | dasm_put(Dst, 5858, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1309 | dasm_put(Dst, 5932, 1+1, LJ_TTAB); | ||
1310 | if (sse) { | 1537 | if (sse) { |
1311 | dasm_put(Dst, 5999); | 1538 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1312 | } else { | 1539 | } else { |
1540 | dasm_put(Dst, 6328); | ||
1541 | } | ||
1542 | dasm_put(Dst, 2205, LJ_TISNUM); | ||
1543 | if (LJ_DUALNUM) { | ||
1544 | dasm_put(Dst, 6336); | ||
1545 | } else { | ||
1546 | dasm_put(Dst, 2228); | ||
1313 | } | 1547 | } |
1314 | if (sse) { | 1548 | if (sse) { |
1315 | dasm_put(Dst, 6009, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1549 | dasm_put(Dst, 6353); |
1550 | } else { | ||
1551 | } | ||
1552 | dasm_put(Dst, 6368, LJ_TISNUM); | ||
1553 | if (LJ_DUALNUM) { | ||
1554 | dasm_put(Dst, 6393); | ||
1316 | } else { | 1555 | } else { |
1556 | dasm_put(Dst, 6413); | ||
1317 | } | 1557 | } |
1318 | if (sse) { | 1558 | if (sse) { |
1319 | dasm_put(Dst, 6061, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1559 | dasm_put(Dst, 6418); |
1320 | } else { | 1560 | } else { |
1321 | } | 1561 | } |
1322 | dasm_put(Dst, 6104, LJ_TISNUM); | 1562 | dasm_put(Dst, 6435); |
1323 | if (sse) { | 1563 | if (sse) { |
1324 | dasm_put(Dst, 6131); | 1564 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1325 | } else { | 1565 | } else { |
1566 | dasm_put(Dst, 6328); | ||
1567 | } | ||
1568 | dasm_put(Dst, 2205, LJ_TISNUM); | ||
1569 | if (LJ_DUALNUM) { | ||
1570 | dasm_put(Dst, 6336); | ||
1571 | } else { | ||
1572 | dasm_put(Dst, 2228); | ||
1326 | } | 1573 | } |
1327 | dasm_put(Dst, 6148); | ||
1328 | if (sse) { | 1574 | if (sse) { |
1329 | dasm_put(Dst, 6156, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1575 | dasm_put(Dst, 6353); |
1576 | } else { | ||
1577 | } | ||
1578 | dasm_put(Dst, 6368, LJ_TISNUM); | ||
1579 | if (LJ_DUALNUM) { | ||
1580 | dasm_put(Dst, 6445); | ||
1330 | } else { | 1581 | } else { |
1582 | dasm_put(Dst, 6413); | ||
1331 | } | 1583 | } |
1332 | dasm_put(Dst, 6104, LJ_TISNUM); | ||
1333 | if (sse) { | 1584 | if (sse) { |
1334 | dasm_put(Dst, 6199); | 1585 | dasm_put(Dst, 6465); |
1335 | } else { | 1586 | } else { |
1336 | } | 1587 | } |
1337 | dasm_put(Dst, 6148); | 1588 | dasm_put(Dst, 6482); |
1338 | if (sse) { | 1589 | if (sse) { |
1339 | dasm_put(Dst, 6216, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1590 | dasm_put(Dst, 6318, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1591 | } else { | ||
1592 | dasm_put(Dst, 6328); | ||
1593 | } | ||
1594 | dasm_put(Dst, 2205, LJ_TISNUM); | ||
1595 | if (LJ_DUALNUM) { | ||
1596 | dasm_put(Dst, 6336); | ||
1340 | } else { | 1597 | } else { |
1598 | dasm_put(Dst, 2228); | ||
1341 | } | 1599 | } |
1342 | dasm_put(Dst, 6104, LJ_TISNUM); | ||
1343 | if (sse) { | 1600 | if (sse) { |
1344 | dasm_put(Dst, 6259); | 1601 | dasm_put(Dst, 6353); |
1602 | } else { | ||
1603 | } | ||
1604 | dasm_put(Dst, 6368, LJ_TISNUM); | ||
1605 | if (LJ_DUALNUM) { | ||
1606 | dasm_put(Dst, 6492); | ||
1345 | } else { | 1607 | } else { |
1608 | dasm_put(Dst, 6413); | ||
1346 | } | 1609 | } |
1347 | dasm_put(Dst, 6148); | ||
1348 | if (sse) { | 1610 | if (sse) { |
1349 | dasm_put(Dst, 6276, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1611 | dasm_put(Dst, 6512); |
1612 | } else { | ||
1613 | } | ||
1614 | dasm_put(Dst, 6529, LJ_TISNUM); | ||
1615 | if (LJ_DUALNUM) { | ||
1616 | dasm_put(Dst, 6336); | ||
1350 | } else { | 1617 | } else { |
1618 | dasm_put(Dst, 2228); | ||
1351 | } | 1619 | } |
1352 | dasm_put(Dst, 6319); | ||
1353 | if (sse) { | 1620 | if (sse) { |
1354 | dasm_put(Dst, 6326, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1621 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1622 | } else { | ||
1623 | } | ||
1624 | dasm_put(Dst, 6544, LJ_TISNUM); | ||
1625 | if (LJ_DUALNUM) { | ||
1626 | dasm_put(Dst, 6336); | ||
1355 | } else { | 1627 | } else { |
1628 | dasm_put(Dst, 2228); | ||
1356 | } | 1629 | } |
1357 | dasm_put(Dst, 6369); | ||
1358 | if (sse) { | 1630 | if (sse) { |
1359 | dasm_put(Dst, 6373); | 1631 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1632 | } else { | ||
1633 | } | ||
1634 | dasm_put(Dst, 6560); | ||
1635 | if (LJ_DUALNUM) { | ||
1636 | dasm_put(Dst, 6310); | ||
1637 | } else if (sse) { | ||
1638 | dasm_put(Dst, 6566); | ||
1639 | } else { | ||
1640 | } | ||
1641 | dasm_put(Dst, 6578); | ||
1642 | if (LJ_DUALNUM) { | ||
1643 | dasm_put(Dst, 6589, LJ_TISNUM); | ||
1644 | if (LJ_DUALNUM) { | ||
1645 | dasm_put(Dst, 6336); | ||
1360 | } else { | 1646 | } else { |
1647 | dasm_put(Dst, 2228); | ||
1361 | } | 1648 | } |
1362 | dasm_put(Dst, 6385); | ||
1363 | if (sse) { | 1649 | if (sse) { |
1364 | dasm_put(Dst, 6396, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1650 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1365 | } else { | 1651 | } else { |
1366 | } | 1652 | } |
1367 | dasm_put(Dst, 6465); | 1653 | dasm_put(Dst, 6597, LJ_TISNUM); |
1654 | } else if (sse) { | ||
1655 | dasm_put(Dst, 6612, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1656 | } else { | ||
1657 | } | ||
1658 | dasm_put(Dst, 6679); | ||
1659 | if (LJ_DUALNUM) { | ||
1660 | dasm_put(Dst, 6686, LJ_TISNUM); | ||
1661 | if (LJ_DUALNUM) { | ||
1662 | dasm_put(Dst, 6336); | ||
1663 | } else { | ||
1664 | dasm_put(Dst, 2228); | ||
1665 | } | ||
1368 | if (sse) { | 1666 | if (sse) { |
1369 | dasm_put(Dst, 6474, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1667 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1668 | } else { | ||
1669 | } | ||
1670 | dasm_put(Dst, 6597, LJ_TISNUM); | ||
1671 | } else if (sse) { | ||
1672 | dasm_put(Dst, 6694, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1370 | } else { | 1673 | } else { |
1371 | } | 1674 | } |
1372 | dasm_put(Dst, 6543); | 1675 | dasm_put(Dst, 6761); |
1676 | if (LJ_DUALNUM) { | ||
1677 | dasm_put(Dst, 6769, LJ_TISNUM); | ||
1678 | if (LJ_DUALNUM) { | ||
1679 | dasm_put(Dst, 6336); | ||
1680 | } else { | ||
1681 | dasm_put(Dst, 2228); | ||
1682 | } | ||
1373 | if (sse) { | 1683 | if (sse) { |
1374 | dasm_put(Dst, 6553, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1684 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1685 | } else { | ||
1686 | } | ||
1687 | dasm_put(Dst, 6597, LJ_TISNUM); | ||
1688 | } else if (sse) { | ||
1689 | dasm_put(Dst, 6777, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1375 | } else { | 1690 | } else { |
1376 | } | 1691 | } |
1377 | dasm_put(Dst, 6622); | 1692 | dasm_put(Dst, 6844); |
1693 | if (LJ_DUALNUM) { | ||
1694 | dasm_put(Dst, 6852, LJ_TISNUM); | ||
1695 | if (LJ_DUALNUM) { | ||
1696 | dasm_put(Dst, 6336); | ||
1697 | } else { | ||
1698 | dasm_put(Dst, 2228); | ||
1699 | } | ||
1378 | if (sse) { | 1700 | if (sse) { |
1379 | dasm_put(Dst, 6632, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1701 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1702 | } else { | ||
1703 | } | ||
1704 | dasm_put(Dst, 6597, LJ_TISNUM); | ||
1705 | } else if (sse) { | ||
1706 | dasm_put(Dst, 6860, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1380 | } else { | 1707 | } else { |
1381 | } | 1708 | } |
1382 | dasm_put(Dst, 6701); | 1709 | dasm_put(Dst, 6927); |
1710 | if (LJ_DUALNUM) { | ||
1711 | dasm_put(Dst, 6934, LJ_TISNUM); | ||
1712 | if (LJ_DUALNUM) { | ||
1713 | dasm_put(Dst, 6336); | ||
1714 | } else { | ||
1715 | dasm_put(Dst, 2228); | ||
1716 | } | ||
1383 | if (sse) { | 1717 | if (sse) { |
1384 | dasm_put(Dst, 6710, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1718 | dasm_put(Dst, 6286, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1719 | } else { | ||
1720 | } | ||
1721 | dasm_put(Dst, 6597, LJ_TISNUM); | ||
1722 | } else if (sse) { | ||
1723 | dasm_put(Dst, 6942, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1385 | } else { | 1724 | } else { |
1386 | } | 1725 | } |
1387 | dasm_put(Dst, 6779, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1726 | dasm_put(Dst, 7009, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1388 | dasm_put(Dst, 6857, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1727 | dasm_put(Dst, 7085, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1389 | dasm_put(Dst, 6984, Dt1(->top), Dt1(->base), Dt1(->top)); | 1728 | dasm_put(Dst, 7212, Dt1(->top), Dt1(->base), Dt1(->top)); |
1390 | #if LJ_HASJIT | 1729 | #if LJ_HASJIT |
1391 | dasm_put(Dst, 7023, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1730 | dasm_put(Dst, 7251, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1392 | #endif | 1731 | #endif |
1393 | dasm_put(Dst, 7056, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1732 | dasm_put(Dst, 7284, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1394 | dasm_put(Dst, 7110, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1733 | dasm_put(Dst, 7338, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1395 | #if LJ_HASJIT | 1734 | #if LJ_HASJIT |
1396 | dasm_put(Dst, 7177, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1735 | dasm_put(Dst, 7405, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1397 | #endif | 1736 | #endif |
1398 | dasm_put(Dst, 7224); | 1737 | dasm_put(Dst, 7452); |
1399 | #if LJ_HASJIT | 1738 | #if LJ_HASJIT |
1400 | dasm_put(Dst, 7051); | 1739 | dasm_put(Dst, 7279); |
1401 | #endif | 1740 | #endif |
1402 | dasm_put(Dst, 7231); | 1741 | dasm_put(Dst, 7459); |
1403 | #if LJ_HASJIT | 1742 | #if LJ_HASJIT |
1404 | dasm_put(Dst, 7234); | 1743 | dasm_put(Dst, 7462); |
1405 | #endif | 1744 | #endif |
1406 | dasm_put(Dst, 7244, Dt1(->base), Dt1(->top)); | 1745 | dasm_put(Dst, 7472, Dt1(->base), Dt1(->top)); |
1407 | #if LJ_HASJIT | 1746 | #if LJ_HASJIT |
1408 | dasm_put(Dst, 7277); | 1747 | dasm_put(Dst, 7505); |
1409 | #endif | 1748 | #endif |
1410 | dasm_put(Dst, 7282, Dt1(->base), Dt1(->top)); | 1749 | dasm_put(Dst, 7510, Dt1(->base), Dt1(->top)); |
1411 | #if LJ_HASJIT | 1750 | #if LJ_HASJIT |
1412 | dasm_put(Dst, 7313, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1751 | dasm_put(Dst, 7541, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1413 | #endif | 1752 | #endif |
1414 | dasm_put(Dst, 7552); | 1753 | dasm_put(Dst, 7780); |
1415 | #if LJ_HASJIT | 1754 | #if LJ_HASJIT |
1416 | dasm_put(Dst, 7555, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1755 | dasm_put(Dst, 7783, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1417 | #endif | 1756 | #endif |
1418 | dasm_put(Dst, 7655); | 1757 | dasm_put(Dst, 7883); |
1419 | if (!sse) { | 1758 | if (!sse) { |
1420 | dasm_put(Dst, 7658); | 1759 | dasm_put(Dst, 7886); |
1421 | } | 1760 | } |
1422 | dasm_put(Dst, 7703, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1761 | dasm_put(Dst, 7931, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1423 | if (!sse) { | 1762 | if (!sse) { |
1424 | dasm_put(Dst, 7789); | 1763 | dasm_put(Dst, 8017); |
1425 | } | 1764 | } |
1426 | dasm_put(Dst, 7834, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1765 | dasm_put(Dst, 8062, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); |
1427 | if (!sse) { | 1766 | if (!sse) { |
1428 | dasm_put(Dst, 7920); | 1767 | dasm_put(Dst, 8148); |
1429 | } | 1768 | } |
1430 | dasm_put(Dst, 7959, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1769 | dasm_put(Dst, 8187, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1431 | if (sse) { | 1770 | if (sse) { |
1432 | dasm_put(Dst, 8048, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1771 | dasm_put(Dst, 8276, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1433 | } else { | 1772 | } else { |
1434 | dasm_put(Dst, 8162); | 1773 | dasm_put(Dst, 8390); |
1435 | } | 1774 | } |
1436 | dasm_put(Dst, 8209); | 1775 | dasm_put(Dst, 8437); |
1437 | if (!sse) { | 1776 | if (!sse) { |
1438 | } else { | 1777 | } else { |
1439 | dasm_put(Dst, 8286); | 1778 | dasm_put(Dst, 8514); |
1440 | } | 1779 | } |
1441 | dasm_put(Dst, 8289); | 1780 | dasm_put(Dst, 8517); |
1442 | dasm_put(Dst, 8374, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1781 | dasm_put(Dst, 8602, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1443 | dasm_put(Dst, 8477, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); | 1782 | dasm_put(Dst, 8705, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); |
1444 | dasm_put(Dst, 8639); | 1783 | dasm_put(Dst, 8867); |
1445 | #if LJ_HASJIT | 1784 | #if LJ_HASJIT |
1446 | if (sse) { | 1785 | if (sse) { |
1447 | dasm_put(Dst, 8680); | 1786 | dasm_put(Dst, 8908); |
1448 | dasm_put(Dst, 8750); | 1787 | dasm_put(Dst, 8978); |
1449 | dasm_put(Dst, 8822); | 1788 | dasm_put(Dst, 9050); |
1450 | } else { | 1789 | } else { |
1451 | dasm_put(Dst, 8874); | 1790 | dasm_put(Dst, 9102); |
1452 | dasm_put(Dst, 8966); | 1791 | dasm_put(Dst, 9194); |
1453 | } | 1792 | } |
1454 | dasm_put(Dst, 9012); | 1793 | dasm_put(Dst, 9240); |
1455 | #endif | 1794 | #endif |
1456 | dasm_put(Dst, 9016); | 1795 | dasm_put(Dst, 9244); |
1457 | if (sse) { | 1796 | if (sse) { |
1458 | dasm_put(Dst, 9019, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1797 | dasm_put(Dst, 9247, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1459 | dasm_put(Dst, 9104, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1798 | dasm_put(Dst, 9332, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1460 | } else { | 1799 | } else { |
1461 | dasm_put(Dst, 9232); | 1800 | dasm_put(Dst, 9460); |
1462 | dasm_put(Dst, 9315); | 1801 | dasm_put(Dst, 9543); |
1463 | if (cmov) { | 1802 | if (cmov) { |
1464 | dasm_put(Dst, 9370); | 1803 | dasm_put(Dst, 9598); |
1465 | } else { | 1804 | } else { |
1466 | dasm_put(Dst, 9389); | 1805 | dasm_put(Dst, 9617); |
1467 | } | 1806 | } |
1468 | dasm_put(Dst, 9012); | 1807 | dasm_put(Dst, 9240); |
1469 | } | 1808 | } |
1470 | dasm_put(Dst, 9430); | 1809 | dasm_put(Dst, 9658); |
1471 | #if LJ_HASFFI | 1810 | #if LJ_HASFFI |
1472 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1811 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
1473 | dasm_put(Dst, 9454, DtE(->spadj)); | 1812 | dasm_put(Dst, 9682, DtE(->spadj)); |
1474 | #if LJ_TARGET_WINDOWS | 1813 | #if LJ_TARGET_WINDOWS |
1475 | #endif | 1814 | #endif |
1476 | dasm_put(Dst, 9470, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); | 1815 | dasm_put(Dst, 9698, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[4]), DtE(->gpr[5]), DtE(->fpr[0]), DtE(->fpr[1])); |
1477 | dasm_put(Dst, 9549, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); | 1816 | dasm_put(Dst, 9777, DtE(->fpr[2]), DtE(->fpr[3]), DtE(->fpr[4]), DtE(->fpr[5]), DtE(->fpr[6]), DtE(->fpr[7]), DtE(->func), DtE(->gpr[0]), DtE(->fpr[0]), DtE(->gpr[1]), DtE(->fpr[1])); |
1478 | #if LJ_TARGET_WINDOWS | 1817 | #if LJ_TARGET_WINDOWS |
1479 | #endif | 1818 | #endif |
1480 | dasm_put(Dst, 9604); | 1819 | dasm_put(Dst, 9832); |
1481 | #endif | 1820 | #endif |
1482 | } | 1821 | } |
1483 | 1822 | ||
@@ -1485,7 +1824,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1485 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1824 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1486 | { | 1825 | { |
1487 | int vk = 0; | 1826 | int vk = 0; |
1488 | dasm_put(Dst, 9612, defop); | 1827 | dasm_put(Dst, 9840, defop); |
1489 | 1828 | ||
1490 | switch (op) { | 1829 | switch (op) { |
1491 | 1830 | ||
@@ -1493,642 +1832,906 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1493 | 1832 | ||
1494 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1833 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1495 | 1834 | ||
1835 | |||
1496 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1836 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1497 | dasm_put(Dst, 9614, LJ_TISNUM, LJ_TISNUM); | 1837 | if (LJ_DUALNUM) { |
1838 | dasm_put(Dst, 9842, LJ_TISNUM, LJ_TISNUM); | ||
1839 | switch (op) { | ||
1840 | case BC_ISLT: | ||
1841 | dasm_put(Dst, 9872); | ||
1842 | break; | ||
1843 | case BC_ISGE: | ||
1844 | dasm_put(Dst, 9877); | ||
1845 | break; | ||
1846 | case BC_ISLE: | ||
1847 | dasm_put(Dst, 9882); | ||
1848 | break; | ||
1849 | case BC_ISGT: | ||
1850 | dasm_put(Dst, 9887); | ||
1851 | break; | ||
1852 | default: break; /* Shut up GCC. */ | ||
1853 | } | ||
1854 | dasm_put(Dst, 9892, -BCBIAS_J*4, LJ_TISNUM); | ||
1855 | if (sse) { | ||
1856 | dasm_put(Dst, 9947); | ||
1857 | } else { | ||
1858 | dasm_put(Dst, 9958); | ||
1859 | } | ||
1860 | dasm_put(Dst, 9969); | ||
1861 | if (sse) { | ||
1862 | dasm_put(Dst, 9976); | ||
1863 | switch (op) { | ||
1864 | case BC_ISLT: | ||
1865 | dasm_put(Dst, 9996); | ||
1866 | break; | ||
1867 | case BC_ISGE: | ||
1868 | dasm_put(Dst, 10001); | ||
1869 | break; | ||
1870 | case BC_ISLE: | ||
1871 | dasm_put(Dst, 10006); | ||
1872 | break; | ||
1873 | case BC_ISGT: | ||
1874 | dasm_put(Dst, 10011); | ||
1875 | break; | ||
1876 | default: break; /* Shut up GCC. */ | ||
1877 | } | ||
1878 | dasm_put(Dst, 10016); | ||
1879 | } else { | ||
1880 | dasm_put(Dst, 10021); | ||
1881 | } | ||
1882 | } else { | ||
1883 | dasm_put(Dst, 10029, LJ_TISNUM, LJ_TISNUM); | ||
1884 | } | ||
1498 | if (sse) { | 1885 | if (sse) { |
1499 | dasm_put(Dst, 9635); | 1886 | dasm_put(Dst, 10050); |
1500 | } else { | 1887 | } else { |
1501 | dasm_put(Dst, 9650); | 1888 | dasm_put(Dst, 10071); |
1502 | if (cmov) { | 1889 | if (cmov) { |
1503 | dasm_put(Dst, 9660); | 1890 | dasm_put(Dst, 10087); |
1504 | } else { | 1891 | } else { |
1505 | dasm_put(Dst, 9666); | 1892 | dasm_put(Dst, 10093); |
1506 | } | 1893 | } |
1507 | } | 1894 | } |
1508 | switch (op) { | 1895 | if (LJ_DUALNUM) { |
1509 | case BC_ISLT: | 1896 | switch (op) { |
1510 | dasm_put(Dst, 9673); | 1897 | case BC_ISLT: |
1898 | dasm_put(Dst, 9996); | ||
1899 | break; | ||
1900 | case BC_ISGE: | ||
1901 | dasm_put(Dst, 10001); | ||
1902 | break; | ||
1903 | case BC_ISLE: | ||
1904 | dasm_put(Dst, 10006); | ||
1905 | break; | ||
1906 | case BC_ISGT: | ||
1907 | dasm_put(Dst, 10011); | ||
1511 | break; | 1908 | break; |
1512 | case BC_ISGE: | 1909 | default: break; /* Shut up GCC. */ |
1513 | dasm_put(Dst, 9310); | 1910 | } |
1911 | dasm_put(Dst, 10016); | ||
1912 | } else { | ||
1913 | switch (op) { | ||
1914 | case BC_ISLT: | ||
1915 | dasm_put(Dst, 10100); | ||
1916 | break; | ||
1917 | case BC_ISGE: | ||
1918 | dasm_put(Dst, 10105); | ||
1514 | break; | 1919 | break; |
1515 | case BC_ISLE: | 1920 | case BC_ISLE: |
1516 | dasm_put(Dst, 5927); | 1921 | dasm_put(Dst, 10110); |
1517 | break; | 1922 | break; |
1518 | case BC_ISGT: | 1923 | case BC_ISGT: |
1519 | dasm_put(Dst, 9678); | 1924 | dasm_put(Dst, 10115); |
1520 | break; | 1925 | break; |
1521 | default: break; /* Shut up GCC. */ | 1926 | default: break; /* Shut up GCC. */ |
1927 | } | ||
1928 | dasm_put(Dst, 10120, -BCBIAS_J*4); | ||
1522 | } | 1929 | } |
1523 | dasm_put(Dst, 9683, -BCBIAS_J*4); | ||
1524 | break; | 1930 | break; |
1525 | 1931 | ||
1526 | case BC_ISEQV: case BC_ISNEV: | 1932 | case BC_ISEQV: case BC_ISNEV: |
1527 | vk = op == BC_ISEQV; | 1933 | vk = op == BC_ISEQV; |
1528 | dasm_put(Dst, 9718, LJ_TISNUM, LJ_TISNUM); | 1934 | dasm_put(Dst, 10153); |
1935 | if (LJ_DUALNUM) { | ||
1936 | dasm_put(Dst, 10161, LJ_TISNUM, LJ_TISNUM); | ||
1937 | if (vk) { | ||
1938 | dasm_put(Dst, 10186); | ||
1939 | } else { | ||
1940 | dasm_put(Dst, 10191); | ||
1941 | } | ||
1942 | dasm_put(Dst, 10196, -BCBIAS_J*4, LJ_TISNUM); | ||
1943 | if (sse) { | ||
1944 | dasm_put(Dst, 10249); | ||
1945 | } else { | ||
1946 | dasm_put(Dst, 10256); | ||
1947 | } | ||
1948 | dasm_put(Dst, 10260); | ||
1949 | if (sse) { | ||
1950 | dasm_put(Dst, 10271); | ||
1951 | } else { | ||
1952 | dasm_put(Dst, 10283); | ||
1953 | } | ||
1954 | dasm_put(Dst, 10290); | ||
1955 | } else { | ||
1956 | dasm_put(Dst, 10295, LJ_TISNUM, LJ_TISNUM); | ||
1957 | } | ||
1529 | if (sse) { | 1958 | if (sse) { |
1530 | dasm_put(Dst, 9744); | 1959 | dasm_put(Dst, 10314); |
1531 | } else { | 1960 | } else { |
1532 | dasm_put(Dst, 9756); | 1961 | dasm_put(Dst, 10332); |
1533 | if (cmov) { | 1962 | if (cmov) { |
1534 | dasm_put(Dst, 9660); | 1963 | dasm_put(Dst, 10087); |
1535 | } else { | 1964 | } else { |
1536 | dasm_put(Dst, 9666); | 1965 | dasm_put(Dst, 10093); |
1537 | } | 1966 | } |
1538 | } | 1967 | } |
1539 | iseqne_fp: | 1968 | iseqne_fp: |
1540 | if (vk) { | 1969 | if (vk) { |
1541 | dasm_put(Dst, 9763); | 1970 | dasm_put(Dst, 10345); |
1542 | } else { | 1971 | } else { |
1543 | dasm_put(Dst, 9772); | 1972 | dasm_put(Dst, 10354); |
1544 | } | 1973 | } |
1545 | iseqne_end: | 1974 | iseqne_end: |
1546 | if (vk) { | 1975 | if (vk) { |
1547 | dasm_put(Dst, 9781, -BCBIAS_J*4); | 1976 | dasm_put(Dst, 10363, -BCBIAS_J*4); |
1548 | if (!LJ_HASFFI) { | 1977 | if (!LJ_HASFFI) { |
1549 | dasm_put(Dst, 4502); | 1978 | dasm_put(Dst, 4592); |
1550 | } | 1979 | } |
1551 | } else { | 1980 | } else { |
1552 | if (!LJ_HASFFI) { | 1981 | if (!LJ_HASFFI) { |
1553 | dasm_put(Dst, 4502); | 1982 | dasm_put(Dst, 4592); |
1554 | } | 1983 | } |
1555 | dasm_put(Dst, 9796, -BCBIAS_J*4); | 1984 | dasm_put(Dst, 10378, -BCBIAS_J*4); |
1985 | } | ||
1986 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | ||
1987 | op == BC_ISEQN || op == BC_ISNEN)) { | ||
1988 | dasm_put(Dst, 10393); | ||
1989 | } else { | ||
1990 | dasm_put(Dst, 10132); | ||
1556 | } | 1991 | } |
1557 | dasm_put(Dst, 9697); | ||
1558 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1992 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1559 | dasm_put(Dst, 9811); | 1993 | dasm_put(Dst, 10398); |
1560 | if (LJ_HASFFI) { | 1994 | if (LJ_HASFFI) { |
1561 | dasm_put(Dst, 9814, LJ_TCDATA, LJ_TCDATA); | 1995 | dasm_put(Dst, 10401, LJ_TCDATA, LJ_TCDATA); |
1562 | } | 1996 | } |
1563 | dasm_put(Dst, 9833, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1997 | dasm_put(Dst, 10420, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1564 | if (vk) { | 1998 | if (vk) { |
1565 | dasm_put(Dst, 9889); | 1999 | dasm_put(Dst, 10476); |
1566 | } else { | 2000 | } else { |
1567 | dasm_put(Dst, 9893); | 2001 | dasm_put(Dst, 10480); |
1568 | } | 2002 | } |
1569 | dasm_put(Dst, 9899); | 2003 | dasm_put(Dst, 10486); |
1570 | } else if (LJ_HASFFI) { | 2004 | } else if (LJ_HASFFI) { |
1571 | dasm_put(Dst, 9904, LJ_TCDATA); | 2005 | dasm_put(Dst, 10491, LJ_TCDATA); |
2006 | if (LJ_DUALNUM && vk) { | ||
2007 | dasm_put(Dst, 10498); | ||
2008 | } else { | ||
2009 | dasm_put(Dst, 10471); | ||
2010 | } | ||
2011 | dasm_put(Dst, 10503); | ||
1572 | } | 2012 | } |
1573 | break; | 2013 | break; |
1574 | case BC_ISEQS: case BC_ISNES: | 2014 | case BC_ISEQS: case BC_ISNES: |
1575 | vk = op == BC_ISEQS; | 2015 | vk = op == BC_ISEQS; |
1576 | dasm_put(Dst, 9919, LJ_TSTR); | 2016 | dasm_put(Dst, 10508, LJ_TSTR); |
1577 | iseqne_test: | 2017 | iseqne_test: |
1578 | if (vk) { | 2018 | if (vk) { |
1579 | dasm_put(Dst, 9767); | 2019 | dasm_put(Dst, 10349); |
1580 | } else { | 2020 | } else { |
1581 | dasm_put(Dst, 2836); | 2021 | dasm_put(Dst, 2888); |
1582 | } | 2022 | } |
1583 | goto iseqne_end; | 2023 | goto iseqne_end; |
1584 | case BC_ISEQN: case BC_ISNEN: | 2024 | case BC_ISEQN: case BC_ISNEN: |
1585 | vk = op == BC_ISEQN; | 2025 | vk = op == BC_ISEQN; |
1586 | dasm_put(Dst, 9946, LJ_TISNUM); | 2026 | dasm_put(Dst, 10535); |
2027 | if (LJ_DUALNUM) { | ||
2028 | dasm_put(Dst, 10543, LJ_TISNUM, LJ_TISNUM); | ||
2029 | if (vk) { | ||
2030 | dasm_put(Dst, 10186); | ||
2031 | } else { | ||
2032 | dasm_put(Dst, 10191); | ||
2033 | } | ||
2034 | dasm_put(Dst, 10570, -BCBIAS_J*4, LJ_TISNUM); | ||
2035 | if (sse) { | ||
2036 | dasm_put(Dst, 10620); | ||
2037 | } else { | ||
2038 | dasm_put(Dst, 10628); | ||
2039 | } | ||
2040 | dasm_put(Dst, 10633); | ||
2041 | if (sse) { | ||
2042 | dasm_put(Dst, 10640); | ||
2043 | } else { | ||
2044 | dasm_put(Dst, 10653); | ||
2045 | } | ||
2046 | dasm_put(Dst, 10290); | ||
2047 | } else { | ||
2048 | dasm_put(Dst, 10660, LJ_TISNUM); | ||
2049 | } | ||
1587 | if (sse) { | 2050 | if (sse) { |
1588 | dasm_put(Dst, 9962); | 2051 | dasm_put(Dst, 10669); |
1589 | } else { | 2052 | } else { |
1590 | dasm_put(Dst, 9975); | 2053 | dasm_put(Dst, 10688); |
1591 | if (cmov) { | 2054 | if (cmov) { |
1592 | dasm_put(Dst, 9660); | 2055 | dasm_put(Dst, 10087); |
1593 | } else { | 2056 | } else { |
1594 | dasm_put(Dst, 9666); | 2057 | dasm_put(Dst, 10093); |
1595 | } | 2058 | } |
2059 | dasm_put(Dst, 4611); | ||
1596 | } | 2060 | } |
1597 | goto iseqne_fp; | 2061 | goto iseqne_fp; |
1598 | case BC_ISEQP: case BC_ISNEP: | 2062 | case BC_ISEQP: case BC_ISNEP: |
1599 | vk = op == BC_ISEQP; | 2063 | vk = op == BC_ISEQP; |
1600 | dasm_put(Dst, 9983); | 2064 | dasm_put(Dst, 10700); |
1601 | if (!LJ_HASFFI) goto iseqne_test; | 2065 | if (!LJ_HASFFI) goto iseqne_test; |
1602 | if (vk) { | 2066 | if (vk) { |
1603 | dasm_put(Dst, 9997, -BCBIAS_J*4, LJ_TCDATA); | 2067 | dasm_put(Dst, 10714, -BCBIAS_J*4, LJ_TCDATA); |
1604 | } else { | 2068 | } else { |
1605 | dasm_put(Dst, 10048, LJ_TCDATA, -BCBIAS_J*4); | 2069 | dasm_put(Dst, 10765, LJ_TCDATA, -BCBIAS_J*4); |
1606 | } | 2070 | } |
1607 | break; | 2071 | break; |
1608 | 2072 | ||
1609 | /* -- Unary test and copy ops ------------------------------------------- */ | 2073 | /* -- Unary test and copy ops ------------------------------------------- */ |
1610 | 2074 | ||
1611 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2075 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1612 | dasm_put(Dst, 10093, LJ_TISTRUECOND); | 2076 | dasm_put(Dst, 10810, LJ_TISTRUECOND); |
1613 | if (op == BC_IST || op == BC_ISTC) { | 2077 | if (op == BC_IST || op == BC_ISTC) { |
1614 | dasm_put(Dst, 10105); | 2078 | dasm_put(Dst, 10115); |
1615 | } else { | 2079 | } else { |
1616 | dasm_put(Dst, 10110); | 2080 | dasm_put(Dst, 10110); |
1617 | } | 2081 | } |
1618 | if (op == BC_ISTC || op == BC_ISFC) { | 2082 | if (op == BC_ISTC || op == BC_ISFC) { |
1619 | dasm_put(Dst, 10115); | 2083 | dasm_put(Dst, 10822); |
1620 | } | 2084 | } |
1621 | dasm_put(Dst, 10126, -BCBIAS_J*4); | 2085 | dasm_put(Dst, 10120, -BCBIAS_J*4); |
1622 | break; | 2086 | break; |
1623 | 2087 | ||
1624 | /* -- Unary ops --------------------------------------------------------- */ | 2088 | /* -- Unary ops --------------------------------------------------------- */ |
1625 | 2089 | ||
1626 | case BC_MOV: | 2090 | case BC_MOV: |
1627 | dasm_put(Dst, 10159); | 2091 | dasm_put(Dst, 10833); |
1628 | break; | 2092 | break; |
1629 | case BC_NOT: | 2093 | case BC_NOT: |
1630 | dasm_put(Dst, 10188, LJ_TISTRUECOND, LJ_TTRUE); | 2094 | dasm_put(Dst, 10862, LJ_TISTRUECOND, LJ_TTRUE); |
1631 | break; | 2095 | break; |
1632 | case BC_UNM: | 2096 | case BC_UNM: |
1633 | dasm_put(Dst, 10225, LJ_TISNUM); | 2097 | if (LJ_DUALNUM) { |
2098 | dasm_put(Dst, 10899, LJ_TISNUM, LJ_TISNUM); | ||
2099 | } else { | ||
2100 | dasm_put(Dst, 10977, LJ_TISNUM); | ||
2101 | } | ||
1634 | if (sse) { | 2102 | if (sse) { |
1635 | dasm_put(Dst, 10236, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2103 | dasm_put(Dst, 10988, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
2104 | } else { | ||
2105 | dasm_put(Dst, 11013); | ||
2106 | } | ||
2107 | if (LJ_DUALNUM) { | ||
2108 | dasm_put(Dst, 10393); | ||
1636 | } else { | 2109 | } else { |
1637 | dasm_put(Dst, 10261); | 2110 | dasm_put(Dst, 10132); |
1638 | } | 2111 | } |
1639 | dasm_put(Dst, 9697); | ||
1640 | break; | 2112 | break; |
1641 | case BC_LEN: | 2113 | case BC_LEN: |
1642 | dasm_put(Dst, 10270, LJ_TSTR); | 2114 | dasm_put(Dst, 11022, LJ_TSTR); |
1643 | if (sse) { | 2115 | if (LJ_DUALNUM) { |
1644 | dasm_put(Dst, 10284, Dt5(->len)); | 2116 | dasm_put(Dst, 11036, Dt5(->len), LJ_TISNUM); |
2117 | } else if (sse) { | ||
2118 | dasm_put(Dst, 11050, Dt5(->len)); | ||
1645 | } else { | 2119 | } else { |
1646 | dasm_put(Dst, 10302, Dt5(->len)); | 2120 | dasm_put(Dst, 11068, Dt5(->len)); |
1647 | } | 2121 | } |
1648 | dasm_put(Dst, 10311, LJ_TTAB); | 2122 | dasm_put(Dst, 11077, LJ_TTAB); |
1649 | if (sse) { | 2123 | if (LJ_DUALNUM) { |
1650 | dasm_put(Dst, 10353); | 2124 | } else if (sse) { |
2125 | dasm_put(Dst, 11119); | ||
1651 | } else { | 2126 | } else { |
1652 | } | 2127 | } |
1653 | dasm_put(Dst, 10362); | 2128 | dasm_put(Dst, 11125); |
1654 | break; | 2129 | break; |
1655 | 2130 | ||
1656 | /* -- Binary ops -------------------------------------------------------- */ | 2131 | /* -- Binary ops -------------------------------------------------------- */ |
1657 | 2132 | ||
1658 | 2133 | ||
1659 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2134 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1660 | dasm_put(Dst, 10372); | 2135 | if (LJ_DUALNUM) { |
2136 | dasm_put(Dst, 11138); | ||
2137 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2138 | switch (vk) { | ||
2139 | case 0: | ||
2140 | dasm_put(Dst, 11146, LJ_TISNUM, LJ_TISNUM); | ||
2141 | break; | ||
2142 | case 1: | ||
2143 | dasm_put(Dst, 11181, LJ_TISNUM, LJ_TISNUM); | ||
2144 | break; | ||
2145 | default: | ||
2146 | dasm_put(Dst, 11216, LJ_TISNUM, LJ_TISNUM); | ||
2147 | break; | ||
2148 | } | ||
2149 | dasm_put(Dst, 11249, LJ_TISNUM); | ||
2150 | if (vk == 1) { | ||
2151 | dasm_put(Dst, 11046); | ||
2152 | } else { | ||
2153 | dasm_put(Dst, 10829); | ||
2154 | } | ||
2155 | dasm_put(Dst, 10132); | ||
2156 | } else { | ||
2157 | dasm_put(Dst, 11138); | ||
1661 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2158 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1662 | switch (vk) { | 2159 | switch (vk) { |
1663 | case 0: | 2160 | case 0: |
1664 | dasm_put(Dst, 10380, LJ_TISNUM); | 2161 | dasm_put(Dst, 11255, LJ_TISNUM); |
2162 | if (LJ_DUALNUM) { | ||
2163 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2164 | } | ||
1665 | if (sse) { | 2165 | if (sse) { |
1666 | dasm_put(Dst, 10392); | 2166 | dasm_put(Dst, 11279); |
1667 | } else { | 2167 | } else { |
1668 | dasm_put(Dst, 10407); | 2168 | dasm_put(Dst, 11294); |
1669 | } | 2169 | } |
1670 | break; | 2170 | break; |
1671 | case 1: | 2171 | case 1: |
1672 | dasm_put(Dst, 10416, LJ_TISNUM); | 2172 | dasm_put(Dst, 11303, LJ_TISNUM); |
2173 | if (LJ_DUALNUM) { | ||
2174 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2175 | } | ||
1673 | if (sse) { | 2176 | if (sse) { |
1674 | dasm_put(Dst, 10428); | 2177 | dasm_put(Dst, 11327); |
1675 | } else { | 2178 | } else { |
1676 | dasm_put(Dst, 10443); | 2179 | dasm_put(Dst, 11342); |
1677 | } | 2180 | } |
1678 | break; | 2181 | break; |
1679 | default: | 2182 | default: |
1680 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2183 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1681 | if (sse) { | 2184 | if (sse) { |
1682 | dasm_put(Dst, 10474); | 2185 | dasm_put(Dst, 11373); |
1683 | } else { | 2186 | } else { |
1684 | dasm_put(Dst, 10488); | 2187 | dasm_put(Dst, 11387); |
1685 | } | 2188 | } |
1686 | break; | 2189 | break; |
1687 | } | 2190 | } |
1688 | if (sse) { | 2191 | if (sse) { |
1689 | dasm_put(Dst, 10254); | 2192 | dasm_put(Dst, 11006); |
1690 | } else { | 2193 | } else { |
1691 | dasm_put(Dst, 10266); | 2194 | dasm_put(Dst, 11018); |
2195 | } | ||
2196 | dasm_put(Dst, 10132); | ||
1692 | } | 2197 | } |
1693 | dasm_put(Dst, 9697); | ||
1694 | break; | 2198 | break; |
1695 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2199 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1696 | dasm_put(Dst, 10372); | 2200 | if (LJ_DUALNUM) { |
2201 | dasm_put(Dst, 11138); | ||
2202 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2203 | switch (vk) { | ||
2204 | case 0: | ||
2205 | dasm_put(Dst, 11395, LJ_TISNUM, LJ_TISNUM); | ||
2206 | break; | ||
2207 | case 1: | ||
2208 | dasm_put(Dst, 11430, LJ_TISNUM, LJ_TISNUM); | ||
2209 | break; | ||
2210 | default: | ||
2211 | dasm_put(Dst, 11465, LJ_TISNUM, LJ_TISNUM); | ||
2212 | break; | ||
2213 | } | ||
2214 | dasm_put(Dst, 11249, LJ_TISNUM); | ||
2215 | if (vk == 1) { | ||
2216 | dasm_put(Dst, 11046); | ||
2217 | } else { | ||
2218 | dasm_put(Dst, 10829); | ||
2219 | } | ||
2220 | dasm_put(Dst, 10132); | ||
2221 | } else { | ||
2222 | dasm_put(Dst, 11138); | ||
1697 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2223 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1698 | switch (vk) { | 2224 | switch (vk) { |
1699 | case 0: | 2225 | case 0: |
1700 | dasm_put(Dst, 10380, LJ_TISNUM); | 2226 | dasm_put(Dst, 11255, LJ_TISNUM); |
2227 | if (LJ_DUALNUM) { | ||
2228 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2229 | } | ||
1701 | if (sse) { | 2230 | if (sse) { |
1702 | dasm_put(Dst, 10496); | 2231 | dasm_put(Dst, 11498); |
1703 | } else { | 2232 | } else { |
1704 | dasm_put(Dst, 10511); | 2233 | dasm_put(Dst, 11513); |
1705 | } | 2234 | } |
1706 | break; | 2235 | break; |
1707 | case 1: | 2236 | case 1: |
1708 | dasm_put(Dst, 10416, LJ_TISNUM); | 2237 | dasm_put(Dst, 11303, LJ_TISNUM); |
2238 | if (LJ_DUALNUM) { | ||
2239 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2240 | } | ||
1709 | if (sse) { | 2241 | if (sse) { |
1710 | dasm_put(Dst, 10520); | 2242 | dasm_put(Dst, 11522); |
1711 | } else { | 2243 | } else { |
1712 | dasm_put(Dst, 10535); | 2244 | dasm_put(Dst, 11537); |
1713 | } | 2245 | } |
1714 | break; | 2246 | break; |
1715 | default: | 2247 | default: |
1716 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2248 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1717 | if (sse) { | 2249 | if (sse) { |
1718 | dasm_put(Dst, 10544); | 2250 | dasm_put(Dst, 11546); |
1719 | } else { | 2251 | } else { |
1720 | dasm_put(Dst, 10558); | 2252 | dasm_put(Dst, 11560); |
1721 | } | 2253 | } |
1722 | break; | 2254 | break; |
1723 | } | 2255 | } |
1724 | if (sse) { | 2256 | if (sse) { |
1725 | dasm_put(Dst, 10254); | 2257 | dasm_put(Dst, 11006); |
1726 | } else { | 2258 | } else { |
1727 | dasm_put(Dst, 10266); | 2259 | dasm_put(Dst, 11018); |
2260 | } | ||
2261 | dasm_put(Dst, 10132); | ||
1728 | } | 2262 | } |
1729 | dasm_put(Dst, 9697); | ||
1730 | break; | 2263 | break; |
1731 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2264 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1732 | dasm_put(Dst, 10372); | 2265 | if (LJ_DUALNUM) { |
2266 | dasm_put(Dst, 11138); | ||
2267 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2268 | switch (vk) { | ||
2269 | case 0: | ||
2270 | dasm_put(Dst, 11568, LJ_TISNUM, LJ_TISNUM); | ||
2271 | break; | ||
2272 | case 1: | ||
2273 | dasm_put(Dst, 11604, LJ_TISNUM, LJ_TISNUM); | ||
2274 | break; | ||
2275 | default: | ||
2276 | dasm_put(Dst, 11640, LJ_TISNUM, LJ_TISNUM); | ||
2277 | break; | ||
2278 | } | ||
2279 | dasm_put(Dst, 11249, LJ_TISNUM); | ||
2280 | if (vk == 1) { | ||
2281 | dasm_put(Dst, 11046); | ||
2282 | } else { | ||
2283 | dasm_put(Dst, 10829); | ||
2284 | } | ||
2285 | dasm_put(Dst, 10132); | ||
2286 | } else { | ||
2287 | dasm_put(Dst, 11138); | ||
1733 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2288 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1734 | switch (vk) { | 2289 | switch (vk) { |
1735 | case 0: | 2290 | case 0: |
1736 | dasm_put(Dst, 10380, LJ_TISNUM); | 2291 | dasm_put(Dst, 11255, LJ_TISNUM); |
2292 | if (LJ_DUALNUM) { | ||
2293 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2294 | } | ||
1737 | if (sse) { | 2295 | if (sse) { |
1738 | dasm_put(Dst, 10566); | 2296 | dasm_put(Dst, 11674); |
1739 | } else { | 2297 | } else { |
1740 | dasm_put(Dst, 10581); | 2298 | dasm_put(Dst, 11689); |
1741 | } | 2299 | } |
1742 | break; | 2300 | break; |
1743 | case 1: | 2301 | case 1: |
1744 | dasm_put(Dst, 10416, LJ_TISNUM); | 2302 | dasm_put(Dst, 11303, LJ_TISNUM); |
2303 | if (LJ_DUALNUM) { | ||
2304 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2305 | } | ||
1745 | if (sse) { | 2306 | if (sse) { |
1746 | dasm_put(Dst, 10590); | 2307 | dasm_put(Dst, 11698); |
1747 | } else { | 2308 | } else { |
1748 | dasm_put(Dst, 10605); | 2309 | dasm_put(Dst, 11713); |
1749 | } | 2310 | } |
1750 | break; | 2311 | break; |
1751 | default: | 2312 | default: |
1752 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2313 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1753 | if (sse) { | 2314 | if (sse) { |
1754 | dasm_put(Dst, 10614); | 2315 | dasm_put(Dst, 11722); |
1755 | } else { | 2316 | } else { |
1756 | dasm_put(Dst, 10628); | 2317 | dasm_put(Dst, 11736); |
1757 | } | 2318 | } |
1758 | break; | 2319 | break; |
1759 | } | 2320 | } |
1760 | if (sse) { | 2321 | if (sse) { |
1761 | dasm_put(Dst, 10254); | 2322 | dasm_put(Dst, 11006); |
1762 | } else { | 2323 | } else { |
1763 | dasm_put(Dst, 10266); | 2324 | dasm_put(Dst, 11018); |
2325 | } | ||
2326 | dasm_put(Dst, 10132); | ||
1764 | } | 2327 | } |
1765 | dasm_put(Dst, 9697); | ||
1766 | break; | 2328 | break; |
1767 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2329 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1768 | dasm_put(Dst, 10372); | 2330 | dasm_put(Dst, 11138); |
1769 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2331 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1770 | switch (vk) { | 2332 | switch (vk) { |
1771 | case 0: | 2333 | case 0: |
1772 | dasm_put(Dst, 10380, LJ_TISNUM); | 2334 | dasm_put(Dst, 11255, LJ_TISNUM); |
2335 | if (LJ_DUALNUM) { | ||
2336 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2337 | } | ||
1773 | if (sse) { | 2338 | if (sse) { |
1774 | dasm_put(Dst, 10636); | 2339 | dasm_put(Dst, 11744); |
1775 | } else { | 2340 | } else { |
1776 | dasm_put(Dst, 10651); | 2341 | dasm_put(Dst, 11759); |
1777 | } | 2342 | } |
1778 | break; | 2343 | break; |
1779 | case 1: | 2344 | case 1: |
1780 | dasm_put(Dst, 10416, LJ_TISNUM); | 2345 | dasm_put(Dst, 11303, LJ_TISNUM); |
2346 | if (LJ_DUALNUM) { | ||
2347 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2348 | } | ||
1781 | if (sse) { | 2349 | if (sse) { |
1782 | dasm_put(Dst, 10660); | 2350 | dasm_put(Dst, 11768); |
1783 | } else { | 2351 | } else { |
1784 | dasm_put(Dst, 10675); | 2352 | dasm_put(Dst, 11783); |
1785 | } | 2353 | } |
1786 | break; | 2354 | break; |
1787 | default: | 2355 | default: |
1788 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2356 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1789 | if (sse) { | 2357 | if (sse) { |
1790 | dasm_put(Dst, 10684); | 2358 | dasm_put(Dst, 11792); |
1791 | } else { | 2359 | } else { |
1792 | dasm_put(Dst, 10698); | 2360 | dasm_put(Dst, 11806); |
1793 | } | 2361 | } |
1794 | break; | 2362 | break; |
1795 | } | 2363 | } |
1796 | if (sse) { | 2364 | if (sse) { |
1797 | dasm_put(Dst, 10254); | 2365 | dasm_put(Dst, 11006); |
1798 | } else { | 2366 | } else { |
1799 | dasm_put(Dst, 10266); | 2367 | dasm_put(Dst, 11018); |
1800 | } | 2368 | } |
1801 | dasm_put(Dst, 9697); | 2369 | dasm_put(Dst, 10132); |
1802 | break; | 2370 | break; |
1803 | case BC_MODVN: | 2371 | case BC_MODVN: |
1804 | dasm_put(Dst, 10372); | 2372 | dasm_put(Dst, 11138); |
1805 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2373 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1806 | switch (vk) { | 2374 | switch (vk) { |
1807 | case 0: | 2375 | case 0: |
1808 | dasm_put(Dst, 10380, LJ_TISNUM); | 2376 | dasm_put(Dst, 11255, LJ_TISNUM); |
2377 | if (LJ_DUALNUM) { | ||
2378 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2379 | } | ||
1809 | if (sse) { | 2380 | if (sse) { |
1810 | dasm_put(Dst, 10706); | 2381 | dasm_put(Dst, 11814); |
1811 | } else { | 2382 | } else { |
1812 | dasm_put(Dst, 10721); | 2383 | dasm_put(Dst, 11829); |
1813 | } | 2384 | } |
1814 | break; | 2385 | break; |
1815 | case 1: | 2386 | case 1: |
1816 | dasm_put(Dst, 10416, LJ_TISNUM); | 2387 | dasm_put(Dst, 11303, LJ_TISNUM); |
2388 | if (LJ_DUALNUM) { | ||
2389 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2390 | } | ||
1817 | if (sse) { | 2391 | if (sse) { |
1818 | dasm_put(Dst, 10730); | 2392 | dasm_put(Dst, 11838); |
1819 | } else { | 2393 | } else { |
1820 | dasm_put(Dst, 10745); | 2394 | dasm_put(Dst, 11853); |
1821 | } | 2395 | } |
1822 | break; | 2396 | break; |
1823 | default: | 2397 | default: |
1824 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2398 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1825 | if (sse) { | 2399 | if (sse) { |
1826 | dasm_put(Dst, 10754); | 2400 | dasm_put(Dst, 11862); |
1827 | } else { | 2401 | } else { |
1828 | dasm_put(Dst, 10768); | 2402 | dasm_put(Dst, 11876); |
1829 | } | 2403 | } |
1830 | break; | 2404 | break; |
1831 | } | 2405 | } |
1832 | dasm_put(Dst, 10776); | 2406 | dasm_put(Dst, 11884); |
1833 | if (sse) { | 2407 | if (sse) { |
1834 | dasm_put(Dst, 10254); | 2408 | dasm_put(Dst, 11006); |
1835 | } else { | 2409 | } else { |
1836 | dasm_put(Dst, 10266); | 2410 | dasm_put(Dst, 11018); |
1837 | } | 2411 | } |
1838 | dasm_put(Dst, 9697); | 2412 | dasm_put(Dst, 10132); |
1839 | break; | 2413 | break; |
1840 | case BC_MODNV: case BC_MODVV: | 2414 | case BC_MODNV: case BC_MODVV: |
1841 | dasm_put(Dst, 10372); | 2415 | dasm_put(Dst, 11138); |
1842 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2416 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1843 | switch (vk) { | 2417 | switch (vk) { |
1844 | case 0: | 2418 | case 0: |
1845 | dasm_put(Dst, 10380, LJ_TISNUM); | 2419 | dasm_put(Dst, 11255, LJ_TISNUM); |
2420 | if (LJ_DUALNUM) { | ||
2421 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2422 | } | ||
1846 | if (sse) { | 2423 | if (sse) { |
1847 | dasm_put(Dst, 10706); | 2424 | dasm_put(Dst, 11814); |
1848 | } else { | 2425 | } else { |
1849 | dasm_put(Dst, 10721); | 2426 | dasm_put(Dst, 11829); |
1850 | } | 2427 | } |
1851 | break; | 2428 | break; |
1852 | case 1: | 2429 | case 1: |
1853 | dasm_put(Dst, 10416, LJ_TISNUM); | 2430 | dasm_put(Dst, 11303, LJ_TISNUM); |
2431 | if (LJ_DUALNUM) { | ||
2432 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2433 | } | ||
1854 | if (sse) { | 2434 | if (sse) { |
1855 | dasm_put(Dst, 10730); | 2435 | dasm_put(Dst, 11838); |
1856 | } else { | 2436 | } else { |
1857 | dasm_put(Dst, 10745); | 2437 | dasm_put(Dst, 11853); |
1858 | } | 2438 | } |
1859 | break; | 2439 | break; |
1860 | default: | 2440 | default: |
1861 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2441 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1862 | if (sse) { | 2442 | if (sse) { |
1863 | dasm_put(Dst, 10754); | 2443 | dasm_put(Dst, 11862); |
1864 | } else { | 2444 | } else { |
1865 | dasm_put(Dst, 10768); | 2445 | dasm_put(Dst, 11876); |
1866 | } | 2446 | } |
1867 | break; | 2447 | break; |
1868 | } | 2448 | } |
1869 | dasm_put(Dst, 10782); | 2449 | dasm_put(Dst, 11890); |
1870 | break; | 2450 | break; |
1871 | case BC_POW: | 2451 | case BC_POW: |
1872 | dasm_put(Dst, 10372); | 2452 | dasm_put(Dst, 11138); |
1873 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2453 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1874 | switch (vk) { | 2454 | switch (vk) { |
1875 | case 0: | 2455 | case 0: |
1876 | dasm_put(Dst, 10380, LJ_TISNUM); | 2456 | dasm_put(Dst, 11255, LJ_TISNUM); |
2457 | if (LJ_DUALNUM) { | ||
2458 | dasm_put(Dst, 11267, LJ_TISNUM); | ||
2459 | } | ||
1877 | if (sse) { | 2460 | if (sse) { |
1878 | dasm_put(Dst, 10706); | 2461 | dasm_put(Dst, 11814); |
1879 | } else { | 2462 | } else { |
1880 | dasm_put(Dst, 10721); | 2463 | dasm_put(Dst, 11829); |
1881 | } | 2464 | } |
1882 | break; | 2465 | break; |
1883 | case 1: | 2466 | case 1: |
1884 | dasm_put(Dst, 10416, LJ_TISNUM); | 2467 | dasm_put(Dst, 11303, LJ_TISNUM); |
2468 | if (LJ_DUALNUM) { | ||
2469 | dasm_put(Dst, 11315, LJ_TISNUM); | ||
2470 | } | ||
1885 | if (sse) { | 2471 | if (sse) { |
1886 | dasm_put(Dst, 10730); | 2472 | dasm_put(Dst, 11838); |
1887 | } else { | 2473 | } else { |
1888 | dasm_put(Dst, 10745); | 2474 | dasm_put(Dst, 11853); |
1889 | } | 2475 | } |
1890 | break; | 2476 | break; |
1891 | default: | 2477 | default: |
1892 | dasm_put(Dst, 10452, LJ_TISNUM, LJ_TISNUM); | 2478 | dasm_put(Dst, 11351, LJ_TISNUM, LJ_TISNUM); |
1893 | if (sse) { | 2479 | if (sse) { |
1894 | dasm_put(Dst, 10754); | 2480 | dasm_put(Dst, 11862); |
1895 | } else { | 2481 | } else { |
1896 | dasm_put(Dst, 10768); | 2482 | dasm_put(Dst, 11876); |
1897 | } | 2483 | } |
1898 | break; | 2484 | break; |
1899 | } | 2485 | } |
1900 | dasm_put(Dst, 10787); | 2486 | dasm_put(Dst, 11895); |
1901 | if (sse) { | 2487 | if (sse) { |
1902 | dasm_put(Dst, 10254); | 2488 | dasm_put(Dst, 11006); |
1903 | } else { | 2489 | } else { |
1904 | dasm_put(Dst, 10266); | 2490 | dasm_put(Dst, 11018); |
1905 | } | 2491 | } |
1906 | dasm_put(Dst, 9697); | 2492 | dasm_put(Dst, 10132); |
1907 | break; | 2493 | break; |
1908 | 2494 | ||
1909 | case BC_CAT: | 2495 | case BC_CAT: |
1910 | dasm_put(Dst, 10791, Dt1(->base), Dt1(->base)); | 2496 | dasm_put(Dst, 11899, Dt1(->base), Dt1(->base)); |
1911 | break; | 2497 | break; |
1912 | 2498 | ||
1913 | /* -- Constant ops ------------------------------------------------------ */ | 2499 | /* -- Constant ops ------------------------------------------------------ */ |
1914 | 2500 | ||
1915 | case BC_KSTR: | 2501 | case BC_KSTR: |
1916 | dasm_put(Dst, 10875, LJ_TSTR); | 2502 | dasm_put(Dst, 11983, LJ_TSTR); |
1917 | break; | 2503 | break; |
1918 | case BC_KCDATA: | 2504 | case BC_KCDATA: |
1919 | #if LJ_HASFFI | 2505 | #if LJ_HASFFI |
1920 | dasm_put(Dst, 10875, LJ_TCDATA); | 2506 | dasm_put(Dst, 11983, LJ_TCDATA); |
1921 | #endif | 2507 | #endif |
1922 | break; | 2508 | break; |
1923 | case BC_KSHORT: | 2509 | case BC_KSHORT: |
1924 | if (sse) { | 2510 | if (LJ_DUALNUM) { |
1925 | dasm_put(Dst, 10912); | 2511 | dasm_put(Dst, 12020, LJ_TISNUM); |
2512 | } else if (sse) { | ||
2513 | dasm_put(Dst, 12032); | ||
1926 | } else { | 2514 | } else { |
1927 | dasm_put(Dst, 10927); | 2515 | dasm_put(Dst, 12047); |
1928 | } | 2516 | } |
1929 | dasm_put(Dst, 9697); | 2517 | dasm_put(Dst, 10132); |
1930 | break; | 2518 | break; |
1931 | case BC_KNUM: | 2519 | case BC_KNUM: |
1932 | if (sse) { | 2520 | if (sse) { |
1933 | dasm_put(Dst, 10935); | 2521 | dasm_put(Dst, 12055); |
1934 | } else { | 2522 | } else { |
1935 | dasm_put(Dst, 10949); | 2523 | dasm_put(Dst, 12069); |
1936 | } | 2524 | } |
1937 | dasm_put(Dst, 9697); | 2525 | dasm_put(Dst, 10132); |
1938 | break; | 2526 | break; |
1939 | case BC_KPRI: | 2527 | case BC_KPRI: |
1940 | dasm_put(Dst, 10957); | 2528 | dasm_put(Dst, 12077); |
1941 | break; | 2529 | break; |
1942 | case BC_KNIL: | 2530 | case BC_KNIL: |
1943 | dasm_put(Dst, 10986, LJ_TNIL); | 2531 | dasm_put(Dst, 12106, LJ_TNIL); |
1944 | break; | 2532 | break; |
1945 | 2533 | ||
1946 | /* -- Upvalue and function ops ------------------------------------------ */ | 2534 | /* -- Upvalue and function ops ------------------------------------------ */ |
1947 | 2535 | ||
1948 | case BC_UGET: | 2536 | case BC_UGET: |
1949 | dasm_put(Dst, 11034, offsetof(GCfuncL, uvptr), DtA(->v)); | 2537 | dasm_put(Dst, 12154, offsetof(GCfuncL, uvptr), DtA(->v)); |
1950 | break; | 2538 | break; |
1951 | case BC_USETV: | 2539 | case BC_USETV: |
1952 | #define TV2MARKOFS \ | 2540 | #define TV2MARKOFS \ |
1953 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2541 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1954 | dasm_put(Dst, 11075, 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); | 2542 | dasm_put(Dst, 12195, 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); |
1955 | dasm_put(Dst, 11171); | 2543 | dasm_put(Dst, 12291); |
1956 | break; | 2544 | break; |
1957 | #undef TV2MARKOFS | 2545 | #undef TV2MARKOFS |
1958 | case BC_USETS: | 2546 | case BC_USETS: |
1959 | dasm_put(Dst, 11183, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2547 | dasm_put(Dst, 12303, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1960 | break; | 2548 | break; |
1961 | case BC_USETN: | 2549 | case BC_USETN: |
1962 | dasm_put(Dst, 11279); | 2550 | dasm_put(Dst, 12399); |
1963 | if (sse) { | 2551 | if (sse) { |
1964 | dasm_put(Dst, 11284); | 2552 | dasm_put(Dst, 12404); |
1965 | } else { | 2553 | } else { |
1966 | dasm_put(Dst, 9978); | 2554 | dasm_put(Dst, 11833); |
1967 | } | 2555 | } |
1968 | dasm_put(Dst, 11292, offsetof(GCfuncL, uvptr), DtA(->v)); | 2556 | dasm_put(Dst, 12412, offsetof(GCfuncL, uvptr), DtA(->v)); |
1969 | if (sse) { | 2557 | if (sse) { |
1970 | dasm_put(Dst, 11301); | 2558 | dasm_put(Dst, 12421); |
1971 | } else { | 2559 | } else { |
1972 | dasm_put(Dst, 11307); | 2560 | dasm_put(Dst, 12427); |
1973 | } | 2561 | } |
1974 | dasm_put(Dst, 9697); | 2562 | dasm_put(Dst, 10132); |
1975 | break; | 2563 | break; |
1976 | case BC_USETP: | 2564 | case BC_USETP: |
1977 | dasm_put(Dst, 11310, offsetof(GCfuncL, uvptr), DtA(->v)); | 2565 | dasm_put(Dst, 12430, offsetof(GCfuncL, uvptr), DtA(->v)); |
1978 | break; | 2566 | break; |
1979 | case BC_UCLO: | 2567 | case BC_UCLO: |
1980 | dasm_put(Dst, 11350, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2568 | dasm_put(Dst, 12470, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1981 | break; | 2569 | break; |
1982 | 2570 | ||
1983 | case BC_FNEW: | 2571 | case BC_FNEW: |
1984 | dasm_put(Dst, 11406, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2572 | dasm_put(Dst, 12526, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1985 | break; | 2573 | break; |
1986 | 2574 | ||
1987 | /* -- Table ops --------------------------------------------------------- */ | 2575 | /* -- Table ops --------------------------------------------------------- */ |
1988 | 2576 | ||
1989 | case BC_TNEW: | 2577 | case BC_TNEW: |
1990 | dasm_put(Dst, 11473, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2578 | dasm_put(Dst, 12593, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1991 | break; | 2579 | break; |
1992 | case BC_TDUP: | 2580 | case BC_TDUP: |
1993 | dasm_put(Dst, 11597, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2581 | dasm_put(Dst, 12717, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1994 | break; | 2582 | break; |
1995 | 2583 | ||
1996 | case BC_GGET: | 2584 | case BC_GGET: |
1997 | dasm_put(Dst, 11696, Dt7(->env)); | 2585 | dasm_put(Dst, 12816, Dt7(->env)); |
1998 | break; | 2586 | break; |
1999 | case BC_GSET: | 2587 | case BC_GSET: |
2000 | dasm_put(Dst, 11716, Dt7(->env)); | 2588 | dasm_put(Dst, 12836, Dt7(->env)); |
2001 | break; | 2589 | break; |
2002 | 2590 | ||
2003 | case BC_TGETV: | 2591 | case BC_TGETV: |
2004 | dasm_put(Dst, 11736, LJ_TTAB, LJ_TISNUM); | 2592 | dasm_put(Dst, 12856, LJ_TTAB); |
2005 | if (sse) { | 2593 | if (LJ_DUALNUM) { |
2006 | dasm_put(Dst, 11769); | 2594 | dasm_put(Dst, 12879, LJ_TISNUM); |
2007 | } else { | 2595 | } else { |
2596 | dasm_put(Dst, 12893, LJ_TISNUM); | ||
2597 | if (sse) { | ||
2598 | dasm_put(Dst, 12904); | ||
2599 | } else { | ||
2600 | } | ||
2601 | dasm_put(Dst, 12925); | ||
2008 | } | 2602 | } |
2009 | dasm_put(Dst, 11790, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2603 | dasm_put(Dst, 12930, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2010 | dasm_put(Dst, 11875, LJ_TNIL, LJ_TSTR); | 2604 | dasm_put(Dst, 13022, LJ_TSTR); |
2011 | break; | 2605 | break; |
2012 | case BC_TGETS: | 2606 | case BC_TGETS: |
2013 | dasm_put(Dst, 11904, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2607 | dasm_put(Dst, 13040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2014 | dasm_put(Dst, 11989, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2608 | dasm_put(Dst, 13125, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2015 | break; | 2609 | break; |
2016 | case BC_TGETB: | 2610 | case BC_TGETB: |
2017 | dasm_put(Dst, 12061, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2611 | dasm_put(Dst, 13197, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2018 | dasm_put(Dst, 12157, LJ_TNIL); | 2612 | dasm_put(Dst, 13293, LJ_TNIL); |
2019 | break; | 2613 | break; |
2020 | 2614 | ||
2021 | case BC_TSETV: | 2615 | case BC_TSETV: |
2022 | dasm_put(Dst, 12174, LJ_TTAB, LJ_TISNUM); | 2616 | dasm_put(Dst, 13310, LJ_TTAB); |
2023 | if (sse) { | 2617 | if (LJ_DUALNUM) { |
2024 | dasm_put(Dst, 11769); | 2618 | dasm_put(Dst, 12879, LJ_TISNUM); |
2025 | } else { | 2619 | } else { |
2620 | dasm_put(Dst, 12893, LJ_TISNUM); | ||
2621 | if (sse) { | ||
2622 | dasm_put(Dst, 12904); | ||
2623 | } else { | ||
2624 | } | ||
2625 | dasm_put(Dst, 13333); | ||
2026 | } | 2626 | } |
2027 | dasm_put(Dst, 12207, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 2627 | dasm_put(Dst, 13338, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2028 | dasm_put(Dst, 12287, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2628 | dasm_put(Dst, 13419, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2029 | break; | 2629 | break; |
2030 | case BC_TSETS: | 2630 | case BC_TSETS: |
2031 | dasm_put(Dst, 12351, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2631 | dasm_put(Dst, 13478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2032 | dasm_put(Dst, 12428, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2632 | dasm_put(Dst, 13555, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2033 | dasm_put(Dst, 12515, 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)); | 2633 | dasm_put(Dst, 13642, 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)); |
2034 | break; | 2634 | break; |
2035 | case BC_TSETB: | 2635 | case BC_TSETB: |
2036 | dasm_put(Dst, 12607, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2636 | dasm_put(Dst, 13734, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2037 | dasm_put(Dst, 12702, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2637 | dasm_put(Dst, 13829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2038 | break; | 2638 | break; |
2039 | 2639 | ||
2040 | case BC_TSETM: | 2640 | case BC_TSETM: |
2041 | dasm_put(Dst, 12750, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2641 | dasm_put(Dst, 13877, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2042 | dasm_put(Dst, 12900, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2642 | dasm_put(Dst, 14027, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2043 | break; | 2643 | break; |
2044 | 2644 | ||
2045 | /* -- Calls and vararg handling ----------------------------------------- */ | 2645 | /* -- Calls and vararg handling ----------------------------------------- */ |
2046 | 2646 | ||
2047 | case BC_CALL: case BC_CALLM: | 2647 | case BC_CALL: case BC_CALLM: |
2048 | dasm_put(Dst, 10376); | 2648 | dasm_put(Dst, 11142); |
2049 | if (op == BC_CALLM) { | 2649 | if (op == BC_CALLM) { |
2050 | dasm_put(Dst, 12920); | 2650 | dasm_put(Dst, 14047); |
2051 | } | 2651 | } |
2052 | dasm_put(Dst, 12925, LJ_TFUNC, Dt7(->pc)); | 2652 | dasm_put(Dst, 14052, LJ_TFUNC, Dt7(->pc)); |
2053 | break; | 2653 | break; |
2054 | 2654 | ||
2055 | case BC_CALLMT: | 2655 | case BC_CALLMT: |
2056 | dasm_put(Dst, 12920); | 2656 | dasm_put(Dst, 14047); |
2057 | break; | 2657 | break; |
2058 | case BC_CALLT: | 2658 | case BC_CALLT: |
2059 | dasm_put(Dst, 12968, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2659 | dasm_put(Dst, 14095, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2060 | dasm_put(Dst, 13086, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2660 | dasm_put(Dst, 14213, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2061 | break; | 2661 | break; |
2062 | 2662 | ||
2063 | case BC_ITERC: | 2663 | case BC_ITERC: |
2064 | dasm_put(Dst, 13160, LJ_TFUNC, 2+1, Dt7(->pc)); | 2664 | dasm_put(Dst, 14287, LJ_TFUNC, 2+1, Dt7(->pc)); |
2065 | break; | 2665 | break; |
2066 | 2666 | ||
2067 | case BC_ITERN: | 2667 | case BC_ITERN: |
2068 | #if LJ_HASJIT | 2668 | #if LJ_HASJIT |
2069 | #endif | 2669 | #endif |
2070 | dasm_put(Dst, 13232, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2670 | dasm_put(Dst, 14359, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2071 | if (sse) { | 2671 | if (LJ_DUALNUM) { |
2072 | dasm_put(Dst, 13284); | 2672 | dasm_put(Dst, 11041, LJ_TISNUM); |
2673 | } else if (sse) { | ||
2674 | dasm_put(Dst, 11119); | ||
2073 | } else { | 2675 | } else { |
2074 | dasm_put(Dst, 13290); | 2676 | dasm_put(Dst, 14411); |
2075 | } | 2677 | } |
2076 | dasm_put(Dst, 13296); | 2678 | dasm_put(Dst, 14417); |
2077 | if (sse) { | 2679 | if (LJ_DUALNUM) { |
2078 | dasm_put(Dst, 10254); | 2680 | } else if (sse) { |
2681 | dasm_put(Dst, 11006); | ||
2079 | } else { | 2682 | } else { |
2080 | dasm_put(Dst, 10266); | 2683 | dasm_put(Dst, 11018); |
2081 | } | 2684 | } |
2082 | dasm_put(Dst, 13309, -BCBIAS_J*4); | 2685 | dasm_put(Dst, 14430, -BCBIAS_J*4); |
2083 | if (!sse) { | 2686 | if (!LJ_DUALNUM && !sse) { |
2084 | dasm_put(Dst, 13363); | 2687 | dasm_put(Dst, 14484); |
2085 | } | 2688 | } |
2086 | dasm_put(Dst, 13369, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2689 | dasm_put(Dst, 14490, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2087 | break; | 2690 | break; |
2088 | 2691 | ||
2089 | case BC_ISNEXT: | 2692 | case BC_ISNEXT: |
2090 | dasm_put(Dst, 13448, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2693 | dasm_put(Dst, 14569, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2091 | break; | 2694 | break; |
2092 | 2695 | ||
2093 | case BC_VARG: | 2696 | case BC_VARG: |
2094 | dasm_put(Dst, 13549, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2697 | dasm_put(Dst, 14670, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2095 | dasm_put(Dst, 13716, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2698 | dasm_put(Dst, 14837, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2096 | break; | 2699 | break; |
2097 | 2700 | ||
2098 | /* -- Returns ----------------------------------------------------------- */ | 2701 | /* -- Returns ----------------------------------------------------------- */ |
2099 | 2702 | ||
2100 | case BC_RETM: | 2703 | case BC_RETM: |
2101 | dasm_put(Dst, 12920); | 2704 | dasm_put(Dst, 14047); |
2102 | break; | 2705 | break; |
2103 | 2706 | ||
2104 | case BC_RET: case BC_RET0: case BC_RET1: | 2707 | case BC_RET: case BC_RET0: case BC_RET1: |
2105 | if (op != BC_RET0) { | 2708 | if (op != BC_RET0) { |
2106 | dasm_put(Dst, 13786); | 2709 | dasm_put(Dst, 14907); |
2107 | } | 2710 | } |
2108 | dasm_put(Dst, 13790, FRAME_TYPE); | 2711 | dasm_put(Dst, 14911, FRAME_TYPE); |
2109 | switch (op) { | 2712 | switch (op) { |
2110 | case BC_RET: | 2713 | case BC_RET: |
2111 | dasm_put(Dst, 13809); | 2714 | dasm_put(Dst, 14930); |
2112 | break; | 2715 | break; |
2113 | case BC_RET1: | 2716 | case BC_RET1: |
2114 | dasm_put(Dst, 13863); | 2717 | dasm_put(Dst, 14984); |
2115 | /* fallthrough */ | 2718 | /* fallthrough */ |
2116 | case BC_RET0: | 2719 | case BC_RET0: |
2117 | dasm_put(Dst, 13873); | 2720 | dasm_put(Dst, 14994); |
2118 | default: | 2721 | default: |
2119 | break; | 2722 | break; |
2120 | } | 2723 | } |
2121 | dasm_put(Dst, 13884, Dt7(->pc), PC2PROTO(k)); | 2724 | dasm_put(Dst, 15005, Dt7(->pc), PC2PROTO(k)); |
2122 | if (op == BC_RET) { | 2725 | if (op == BC_RET) { |
2123 | dasm_put(Dst, 13932, LJ_TNIL); | 2726 | dasm_put(Dst, 15053, LJ_TNIL); |
2124 | } else { | 2727 | } else { |
2125 | dasm_put(Dst, 13943, LJ_TNIL); | 2728 | dasm_put(Dst, 15064, LJ_TNIL); |
2126 | } | 2729 | } |
2127 | dasm_put(Dst, 13950, -FRAME_VARG, FRAME_TYPEP); | 2730 | dasm_put(Dst, 15071, -FRAME_VARG, FRAME_TYPEP); |
2128 | if (op != BC_RET0) { | 2731 | if (op != BC_RET0) { |
2129 | dasm_put(Dst, 13974); | 2732 | dasm_put(Dst, 15095); |
2130 | } | 2733 | } |
2131 | dasm_put(Dst, 4579); | 2734 | dasm_put(Dst, 4669); |
2132 | break; | 2735 | break; |
2133 | 2736 | ||
2134 | /* -- Loops and branches ------------------------------------------------ */ | 2737 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2136,7 +2739,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2136 | 2739 | ||
2137 | case BC_FORL: | 2740 | case BC_FORL: |
2138 | #if LJ_HASJIT | 2741 | #if LJ_HASJIT |
2139 | dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2742 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2140 | #endif | 2743 | #endif |
2141 | break; | 2744 | break; |
2142 | 2745 | ||
@@ -2148,57 +2751,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2148 | case BC_FORI: | 2751 | case BC_FORI: |
2149 | case BC_IFORL: | 2752 | case BC_IFORL: |
2150 | vk = (op == BC_IFORL || op == BC_JFORL); | 2753 | vk = (op == BC_IFORL || op == BC_JFORL); |
2151 | dasm_put(Dst, 13999); | 2754 | dasm_put(Dst, 15120); |
2755 | if (LJ_DUALNUM) { | ||
2756 | dasm_put(Dst, 15124, LJ_TISNUM); | ||
2757 | if (!vk) { | ||
2758 | dasm_put(Dst, 15134, LJ_TISNUM, LJ_TISNUM); | ||
2759 | } else { | ||
2760 | dasm_put(Dst, 15163); | ||
2761 | } | ||
2762 | dasm_put(Dst, 15182, LJ_TISNUM); | ||
2763 | if (op == BC_FORI) { | ||
2764 | dasm_put(Dst, 15193, -BCBIAS_J*4); | ||
2765 | } else if (op == BC_JFORI) { | ||
2766 | dasm_put(Dst, 15207, -BCBIAS_J*4, BC_JLOOP); | ||
2767 | } else if (op == BC_IFORL) { | ||
2768 | dasm_put(Dst, 15225, -BCBIAS_J*4); | ||
2769 | } else { | ||
2770 | dasm_put(Dst, 15217, BC_JLOOP); | ||
2771 | } | ||
2772 | dasm_put(Dst, 15239); | ||
2773 | if (vk) { | ||
2774 | dasm_put(Dst, 15264); | ||
2775 | } | ||
2776 | dasm_put(Dst, 15182, LJ_TISNUM); | ||
2777 | if (op == BC_FORI) { | ||
2778 | dasm_put(Dst, 15273); | ||
2779 | } else if (op == BC_JFORI) { | ||
2780 | dasm_put(Dst, 15278, -BCBIAS_J*4, BC_JLOOP); | ||
2781 | } else if (op == BC_IFORL) { | ||
2782 | dasm_put(Dst, 15292); | ||
2783 | } else { | ||
2784 | dasm_put(Dst, 15288, BC_JLOOP); | ||
2785 | } | ||
2786 | dasm_put(Dst, 15297); | ||
2787 | } else if (!vk) { | ||
2788 | dasm_put(Dst, 15304, LJ_TISNUM); | ||
2789 | } | ||
2152 | if (!vk) { | 2790 | if (!vk) { |
2153 | dasm_put(Dst, 14003, LJ_TISNUM, LJ_TISNUM); | 2791 | dasm_put(Dst, 15310, LJ_TISNUM); |
2154 | } | 2792 | } |
2155 | dasm_put(Dst, 14022); | 2793 | dasm_put(Dst, 15324); |
2156 | if (!vk) { | 2794 | if (!vk) { |
2157 | dasm_put(Dst, 14026, LJ_TISNUM); | 2795 | dasm_put(Dst, 15328, LJ_TISNUM); |
2158 | } | 2796 | } |
2159 | if (sse) { | 2797 | if (sse) { |
2160 | dasm_put(Dst, 14035); | 2798 | dasm_put(Dst, 15337); |
2161 | if (vk) { | 2799 | if (vk) { |
2162 | dasm_put(Dst, 14047); | 2800 | dasm_put(Dst, 15349); |
2163 | } else { | 2801 | } else { |
2164 | dasm_put(Dst, 14066); | 2802 | dasm_put(Dst, 15368); |
2165 | } | 2803 | } |
2166 | dasm_put(Dst, 14071); | 2804 | dasm_put(Dst, 15373); |
2167 | } else { | 2805 | } else { |
2168 | dasm_put(Dst, 14084); | 2806 | dasm_put(Dst, 15386); |
2169 | if (vk) { | 2807 | if (vk) { |
2170 | dasm_put(Dst, 14090); | 2808 | dasm_put(Dst, 15392); |
2171 | } else { | 2809 | } else { |
2172 | dasm_put(Dst, 14106); | 2810 | dasm_put(Dst, 15408); |
2173 | } | 2811 | } |
2174 | dasm_put(Dst, 14114); | 2812 | dasm_put(Dst, 15416); |
2175 | if (cmov) { | 2813 | if (cmov) { |
2176 | dasm_put(Dst, 9660); | 2814 | dasm_put(Dst, 10087); |
2177 | } else { | 2815 | } else { |
2178 | dasm_put(Dst, 9666); | 2816 | dasm_put(Dst, 10093); |
2179 | } | 2817 | } |
2180 | if (!cmov) { | 2818 | if (!cmov) { |
2181 | dasm_put(Dst, 14119); | 2819 | dasm_put(Dst, 15421); |
2182 | } | 2820 | } |
2183 | } | 2821 | } |
2184 | if (op == BC_FORI) { | 2822 | if (op == BC_FORI) { |
2185 | dasm_put(Dst, 14125, -BCBIAS_J*4); | 2823 | if (LJ_DUALNUM) { |
2824 | dasm_put(Dst, 15427); | ||
2825 | } else { | ||
2826 | dasm_put(Dst, 15432, -BCBIAS_J*4); | ||
2827 | } | ||
2186 | } else if (op == BC_JFORI) { | 2828 | } else if (op == BC_JFORI) { |
2187 | dasm_put(Dst, 14135, -BCBIAS_J*4, BC_JLOOP); | 2829 | dasm_put(Dst, 15442, -BCBIAS_J*4, BC_JLOOP); |
2188 | } else if (op == BC_IFORL) { | 2830 | } else if (op == BC_IFORL) { |
2189 | dasm_put(Dst, 14149, -BCBIAS_J*4); | 2831 | if (LJ_DUALNUM) { |
2832 | dasm_put(Dst, 15456); | ||
2833 | } else { | ||
2834 | dasm_put(Dst, 15461, -BCBIAS_J*4); | ||
2835 | } | ||
2836 | } else { | ||
2837 | dasm_put(Dst, 15452, BC_JLOOP); | ||
2838 | } | ||
2839 | if (LJ_DUALNUM) { | ||
2840 | dasm_put(Dst, 10016); | ||
2190 | } else { | 2841 | } else { |
2191 | dasm_put(Dst, 14145, BC_JLOOP); | 2842 | dasm_put(Dst, 10787); |
2192 | } | 2843 | } |
2193 | dasm_put(Dst, 9695); | ||
2194 | if (sse) { | 2844 | if (sse) { |
2195 | dasm_put(Dst, 14159); | 2845 | dasm_put(Dst, 15471); |
2196 | } | 2846 | } |
2197 | break; | 2847 | break; |
2198 | 2848 | ||
2199 | case BC_ITERL: | 2849 | case BC_ITERL: |
2200 | #if LJ_HASJIT | 2850 | #if LJ_HASJIT |
2201 | dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2851 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2202 | #endif | 2852 | #endif |
2203 | break; | 2853 | break; |
2204 | 2854 | ||
@@ -2207,33 +2857,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2207 | break; | 2857 | break; |
2208 | #endif | 2858 | #endif |
2209 | case BC_IITERL: | 2859 | case BC_IITERL: |
2210 | dasm_put(Dst, 14170, LJ_TNIL); | 2860 | dasm_put(Dst, 15482, LJ_TNIL); |
2211 | if (op == BC_JITERL) { | 2861 | if (op == BC_JITERL) { |
2212 | dasm_put(Dst, 14185, BC_JLOOP); | 2862 | dasm_put(Dst, 15497, BC_JLOOP); |
2213 | } else { | 2863 | } else { |
2214 | dasm_put(Dst, 14199, -BCBIAS_J*4); | 2864 | dasm_put(Dst, 15511, -BCBIAS_J*4); |
2215 | } | 2865 | } |
2216 | dasm_put(Dst, 10136); | 2866 | dasm_put(Dst, 10130); |
2217 | break; | 2867 | break; |
2218 | 2868 | ||
2219 | case BC_LOOP: | 2869 | case BC_LOOP: |
2220 | #if LJ_HASJIT | 2870 | #if LJ_HASJIT |
2221 | dasm_put(Dst, 13978, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2871 | dasm_put(Dst, 15099, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2222 | #endif | 2872 | #endif |
2223 | break; | 2873 | break; |
2224 | 2874 | ||
2225 | case BC_ILOOP: | 2875 | case BC_ILOOP: |
2226 | dasm_put(Dst, 9697); | 2876 | dasm_put(Dst, 10132); |
2227 | break; | 2877 | break; |
2228 | 2878 | ||
2229 | case BC_JLOOP: | 2879 | case BC_JLOOP: |
2230 | #if LJ_HASJIT | 2880 | #if LJ_HASJIT |
2231 | dasm_put(Dst, 14215, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2881 | dasm_put(Dst, 15527, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2232 | #endif | 2882 | #endif |
2233 | break; | 2883 | break; |
2234 | 2884 | ||
2235 | case BC_JMP: | 2885 | case BC_JMP: |
2236 | dasm_put(Dst, 14256, -BCBIAS_J*4); | 2886 | dasm_put(Dst, 15568, -BCBIAS_J*4); |
2237 | break; | 2887 | break; |
2238 | 2888 | ||
2239 | /* -- Function headers -------------------------------------------------- */ | 2889 | /* -- Function headers -------------------------------------------------- */ |
@@ -2247,7 +2897,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2247 | 2897 | ||
2248 | case BC_FUNCF: | 2898 | case BC_FUNCF: |
2249 | #if LJ_HASJIT | 2899 | #if LJ_HASJIT |
2250 | dasm_put(Dst, 14282, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2900 | dasm_put(Dst, 15594, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2251 | #endif | 2901 | #endif |
2252 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2902 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2253 | break; | 2903 | break; |
@@ -2257,47 +2907,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2257 | break; | 2907 | break; |
2258 | #endif | 2908 | #endif |
2259 | case BC_IFUNCF: | 2909 | case BC_IFUNCF: |
2260 | dasm_put(Dst, 14303, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2910 | dasm_put(Dst, 15615, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2261 | if (op == BC_JFUNCF) { | 2911 | if (op == BC_JFUNCF) { |
2262 | dasm_put(Dst, 14334, BC_JLOOP); | 2912 | dasm_put(Dst, 15646, BC_JLOOP); |
2263 | } else { | 2913 | } else { |
2264 | dasm_put(Dst, 9697); | 2914 | dasm_put(Dst, 10132); |
2265 | } | 2915 | } |
2266 | dasm_put(Dst, 14343, LJ_TNIL); | 2916 | dasm_put(Dst, 15655, LJ_TNIL); |
2267 | break; | 2917 | break; |
2268 | 2918 | ||
2269 | case BC_JFUNCV: | 2919 | case BC_JFUNCV: |
2270 | #if !LJ_HASJIT | 2920 | #if !LJ_HASJIT |
2271 | break; | 2921 | break; |
2272 | #endif | 2922 | #endif |
2273 | dasm_put(Dst, 9014); | 2923 | dasm_put(Dst, 9242); |
2274 | break; /* NYI: compiled vararg functions. */ | 2924 | break; /* NYI: compiled vararg functions. */ |
2275 | 2925 | ||
2276 | case BC_IFUNCV: | 2926 | case BC_IFUNCV: |
2277 | dasm_put(Dst, 14365, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2927 | dasm_put(Dst, 15677, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2278 | if (op == BC_JFUNCV) { | 2928 | if (op == BC_JFUNCV) { |
2279 | dasm_put(Dst, 14334, BC_JLOOP); | 2929 | dasm_put(Dst, 15646, BC_JLOOP); |
2280 | } else { | 2930 | } else { |
2281 | dasm_put(Dst, 14462, -4+PC2PROTO(k)); | 2931 | dasm_put(Dst, 15774, -4+PC2PROTO(k)); |
2282 | } | 2932 | } |
2283 | dasm_put(Dst, 14487, LJ_TNIL); | 2933 | dasm_put(Dst, 15799, LJ_TNIL); |
2284 | break; | 2934 | break; |
2285 | 2935 | ||
2286 | case BC_FUNCC: | 2936 | case BC_FUNCC: |
2287 | case BC_FUNCCW: | 2937 | case BC_FUNCCW: |
2288 | dasm_put(Dst, 14509, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2938 | dasm_put(Dst, 15821, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2289 | if (op == BC_FUNCC) { | 2939 | if (op == BC_FUNCC) { |
2290 | dasm_put(Dst, 14539); | 2940 | dasm_put(Dst, 2341); |
2291 | } else { | 2941 | } else { |
2292 | dasm_put(Dst, 14543); | 2942 | dasm_put(Dst, 15851); |
2293 | } | 2943 | } |
2294 | dasm_put(Dst, 14551, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2944 | dasm_put(Dst, 15859, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2295 | if (op == BC_FUNCC) { | 2945 | if (op == BC_FUNCC) { |
2296 | dasm_put(Dst, 14561); | 2946 | dasm_put(Dst, 15869); |
2297 | } else { | 2947 | } else { |
2298 | dasm_put(Dst, 14566, DISPATCH_GL(wrapf)); | 2948 | dasm_put(Dst, 15874, DISPATCH_GL(wrapf)); |
2299 | } | 2949 | } |
2300 | dasm_put(Dst, 14572, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2950 | dasm_put(Dst, 15880, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2301 | break; | 2951 | break; |
2302 | 2952 | ||
2303 | /* ---------------------------------------------------------------------- */ | 2953 | /* ---------------------------------------------------------------------- */ |
@@ -2325,7 +2975,7 @@ static int build_backend(BuildCtx *ctx) | |||
2325 | 2975 | ||
2326 | build_subroutines(ctx, cmov, sse); | 2976 | build_subroutines(ctx, cmov, sse); |
2327 | 2977 | ||
2328 | dasm_put(Dst, 14598); | 2978 | dasm_put(Dst, 15906); |
2329 | for (op = 0; op < BC__MAX; op++) | 2979 | for (op = 0; op < BC__MAX; op++) |
2330 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2980 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2331 | 2981 | ||
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index d6d580e2..e4de09ee 100644 --- a/src/buildvm_x64win.h +++ b/src/buildvm_x64win.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned char build_actionlist[14499] = { | 15 | static const unsigned char build_actionlist[15785] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, |
@@ -56,538 +56,591 @@ static const unsigned char build_actionlist[14499] = { | |||
56 | 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68, | 56 | 137,145,233,72,139,0,72,137,69,0,137,252,234,252,233,244,33,248,34,137,68, |
57 | 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, | 57 | 36,80,199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247, |
58 | 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70, | 58 | 141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70, |
59 | 252,254,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80, | 59 | 252,254,255,199,68,36,84,237,137,68,36,80,255,252,242,15,42,192,252,242,15, |
60 | 252,233,244,247,248,36,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255, | 60 | 17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254, |
61 | 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137, | 61 | 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137, |
62 | 205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,32, | 62 | 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149, |
63 | 15,182,78,252,253,72,139,40,72,137,44,202,139,6,15,182,204,15,182,232,131, | 63 | 233,133,192,15,132,244,249,248,32,15,182,78,252,253,72,139,40,72,137,44,202, |
64 | 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141, | 64 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3, |
65 | 177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,37,137,68,36,80, | 65 | 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252, |
66 | 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141, | 66 | 233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68,36,80,128,126,252, |
67 | 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,15,182,70,252, | 67 | 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233, |
68 | 254,255,72,141,68,36,80,252,233,244,247,248,39,15,182,70,252,254,141,4,194, | 68 | 244,248,248,38,15,182,70,252,254,255,72,141,68,36,80,252,233,244,247,248, |
69 | 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137, | 69 | 39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248, |
70 | 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192, | 70 | 2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116,36,100, |
71 | 15,132,244,249,15,182,78,252,253,72,139,44,202,72,137,40,248,40,139,6,15, | 71 | 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,72,139,44, |
72 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141, | 72 | 202,72,137,40,248,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
73 | 233,137,113,252,244,15,182,70,252,253,72,139,44,194,72,137,105,16,141,177, | 73 | 255,36,252,235,248,3,139,141,233,137,113,252,244,15,182,70,252,253,72,139, |
74 | 233,41,214,139,105,252,248,184,237,252,233,244,29,248,41,139,108,36,96,137, | 74 | 44,194,72,137,105,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244, |
75 | 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116, | 75 | 29,248,41,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68, |
76 | 36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,42,248, | 76 | 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252, |
77 | 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248, | 77 | 248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254, |
78 | 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248, | 78 | 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
79 | 43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44,129,120, | 79 | 252,255,36,252,235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, |
80 | 253,4,239,252,233,244,4,248,45,131,252,238,4,65,137,192,65,137,252,233,139, | 80 | 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,65,137, |
81 | 108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4, | 81 | 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137, |
82 | 252,233,244,3,248,46,255,131,252,238,4,139,108,36,96,137,149,233,137,252, | 82 | 116,36,100,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36, |
83 | 233,139,86,252,252,137,116,36,100,232,251,1,5,252,233,244,3,255,248,47,141, | 83 | 96,137,149,233,137,252,233,139,86,252,252,137,116,36,100,232,251,1,5,252, |
84 | 4,199,252,233,244,247,248,48,141,4,199,141,44,252,234,149,252,233,244,248, | 84 | 233,244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233, |
85 | 248,49,141,4,194,137,197,252,233,244,248,248,50,141,4,194,248,1,141,44,252, | 85 | 244,247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248, |
86 | 234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68,36,32, | 86 | 51,141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141, |
87 | 139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1,6, | 87 | 44,252,234,248,2,141,12,202,65,137,232,65,137,193,15,182,70,252,252,137,68, |
88 | 139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244,141, | 88 | 36,32,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251, |
89 | 176,233,184,237,252,233,244,27,248,51,255,139,108,36,96,137,149,233,141,20, | 89 | 1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252,244, |
90 | 141,176,233,184,237,252,233,244,27,248,54,139,108,36,96,137,149,233,141,20, | ||
90 | 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248, | 91 | 194,137,252,233,137,116,36,100,232,251,1,7,139,149,233,252,233,244,42,248, |
91 | 52,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, | 92 | 55,141,76,202,8,248,28,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36, |
92 | 96,137,149,233,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251,1, | 93 | 96,137,149,233,255,137,202,68,141,4,193,137,252,233,137,116,36,100,232,251, |
93 | 8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, | 94 | 1,8,139,149,233,139,76,36,84,139,68,36,80,139,105,252,248,131,192,1,57,215, |
94 | 15,132,244,53,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, | 95 | 15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15, |
95 | 182,205,131,198,4,252,255,36,252,235,248,54,139,108,36,96,137,149,233,137, | 96 | 182,205,131,198,4,252,255,36,252,235,248,57,139,108,36,96,137,149,233,137, |
96 | 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, | 97 | 202,137,252,233,137,116,36,100,232,251,1,9,139,149,233,139,70,252,252,15, |
97 | 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,55,129,252, | 98 | 182,204,15,182,232,193,232,16,252,255,164,253,252,235,233,248,58,129,252, |
98 | 248,239,15,130,244,56,139,106,4,129,252,253,239,255,15,131,244,56,139,114, | 99 | 248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114,252, |
99 | 252,252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15, | 100 | 252,137,68,36,84,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132, |
100 | 132,244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232, | 101 | 244,248,137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15, |
101 | 1,15,133,244,1,248,2,139,68,36,84,252,233,244,57,248,58,129,252,248,239,15, | 102 | 133,244,1,248,2,255,139,68,36,84,252,233,244,60,248,61,129,252,248,239,15, |
102 | 130,244,56,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, | 103 | 130,244,59,139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132, |
103 | 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, | 104 | 244,249,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232, |
104 | 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, | 105 | 248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66, |
105 | 252,252,237,137,66,252,248,252,233,244,59,248,3,184,237,252,233,244,2,248, | 106 | 252,252,237,137,66,252,248,252,233,244,62,248,3,184,237,252,233,244,2,248, |
106 | 60,129,252,248,239,15,130,244,56,139,106,4,139,114,252,252,129,252,253,239, | 107 | 63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252,129,252,253,239, |
107 | 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, | 108 | 15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252, |
108 | 237,255,15,132,244,59,139,131,233,199,66,252,252,237,137,106,252,248,139, | 109 | 237,255,15,132,244,62,139,131,233,199,66,252,252,237,137,106,252,248,139, |
109 | 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, | 110 | 141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244, |
110 | 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, | 111 | 250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255, |
111 | 252,233,244,59,248,5,139,105,4,129,252,253,239,15,132,244,59,139,1,137,106, | 112 | 252,233,244,62,248,5,139,105,4,129,252,253,239,15,132,244,62,139,1,137,106, |
112 | 252,252,137,66,252,248,252,233,244,59,248,6,129,252,253,239,15,132,244,1, | 113 | 252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15,132,244,1, |
113 | 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, | 114 | 129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171, |
114 | 233,252,233,244,2,248,61,255,129,252,248,239,15,130,244,56,129,122,253,4, | 115 | 233,252,233,244,2,248,64,255,129,252,248,239,15,130,244,59,129,122,253,4, |
115 | 239,15,133,244,56,139,42,131,189,233,0,15,133,244,56,129,122,253,12,239,15, | 116 | 239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12,239,15, |
116 | 133,244,56,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, | 117 | 133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106, |
117 | 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, | 118 | 252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233, |
118 | 137,171,233,137,133,233,248,1,252,233,244,59,248,62,129,252,248,239,15,130, | 119 | 137,171,233,137,133,233,248,1,252,233,244,62,248,65,129,252,248,239,15,130, |
119 | 244,56,129,122,253,4,239,15,133,244,56,137,213,68,141,66,8,139,18,139,76, | 120 | 244,59,129,122,253,4,239,15,133,244,59,137,213,68,141,66,8,139,18,139,76, |
120 | 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, | 121 | 36,96,232,251,1,10,137,252,234,72,139,40,139,114,252,252,72,137,106,252,248, |
121 | 252,233,244,59,248,63,129,252,248,239,15,133,244,56,129,122,253,4,239,255, | 122 | 252,233,244,62,248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255, |
122 | 15,135,244,56,255,252,242,15,16,2,252,233,244,64,255,221,2,252,233,244,65, | 123 | 15,133,244,247,139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59, |
123 | 255,248,66,129,252,248,239,15,130,244,56,139,114,252,252,129,122,253,4,239, | 124 | 255,252,242,15,16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129, |
124 | 15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244, | 125 | 252,248,239,15,130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249, |
125 | 59,248,3,129,122,253,4,239,15,135,244,56,131,187,233,0,15,133,244,56,139, | 126 | 139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122, |
126 | 171,233,59,171,233,255,15,130,244,247,232,244,67,248,1,139,108,36,96,137, | 127 | 253,4,239,15,135,244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233, |
127 | 149,233,137,116,36,100,137,252,233,232,251,1,11,139,149,233,252,233,244,2, | 128 | 255,15,130,244,247,232,244,71,248,1,139,108,36,96,137,149,233,137,116,36, |
128 | 248,68,129,252,248,239,15,130,244,56,15,132,244,248,248,1,129,122,253,4,239, | 129 | 100,137,252,233,255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233, |
129 | 15,133,244,56,139,108,36,96,137,149,233,255,137,149,233,139,114,252,252,68, | 130 | 244,2,248,72,129,252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253, |
130 | 141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,12,139,149,233,133,192, | 131 | 4,239,15,133,244,59,139,108,36,96,137,149,233,137,149,233,139,114,252,252, |
131 | 15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248, | 132 | 68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,13,139,149,233,133, |
132 | 69,184,237,252,233,244,70,248,2,199,66,12,237,252,233,244,1,248,3,199,66, | 133 | 192,15,132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2, |
133 | 252,252,237,252,233,244,59,248,71,129,252,248,239,15,130,244,56,255,139,42, | 134 | 248,73,184,237,255,252,233,244,74,248,2,199,66,12,237,252,233,244,1,248,3, |
134 | 129,122,253,4,239,15,133,244,56,255,131,189,233,0,15,133,244,56,255,139,106, | 135 | 199,66,252,252,237,252,233,244,62,248,75,129,252,248,239,15,130,244,59,139, |
135 | 252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199, | 136 | 42,129,122,253,4,239,15,133,244,59,255,131,189,233,0,15,133,244,59,255,139, |
136 | 66,12,237,184,237,252,233,244,70,248,72,129,252,248,239,15,130,244,56,129, | 137 | 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, |
137 | 122,253,4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,114,252, | 138 | 199,66,12,237,184,237,252,233,244,74,248,76,129,252,248,239,15,130,244,59, |
138 | 252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88, | 139 | 129,122,253,4,239,15,133,244,59,129,122,253,12,239,255,139,114,252,252,255, |
139 | 193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131, | 140 | 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66, |
140 | 244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,73,72,139, | 141 | 8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252, |
141 | 40,72,137,42,252,233,244,69,248,2,131,189,233,0,15,132,244,73,137,252,233, | 142 | 242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133, |
142 | 137,213,137,194,232,251,1,13,137,252,234,133,192,15,133,244,1,248,73,184, | 143 | 233,248,1,129,120,253,4,239,15,132,244,77,72,139,40,72,137,42,252,233,244, |
143 | 237,252,233,244,70,248,74,255,129,252,248,239,15,130,244,56,139,42,129,122, | 144 | 73,248,2,131,189,233,0,15,132,244,77,137,252,233,137,213,137,194,232,251, |
144 | 253,4,239,15,133,244,56,255,139,106,252,248,139,133,233,139,114,252,252,199, | 145 | 1,14,137,252,234,133,192,15,133,244,1,248,77,184,237,252,233,244,74,248,78, |
145 | 66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252, | 146 | 255,139,106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66, |
146 | 238,221,90,8,255,184,237,252,233,244,70,248,75,129,252,248,239,15,130,244, | 147 | 252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66, |
147 | 56,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, | 148 | 8,255,217,252,238,221,90,8,255,184,237,252,233,244,74,248,79,129,252,248, |
148 | 1,1,252,238,252,233,244,27,248,76,129,252,248,239,15,130,244,56,129,122,253, | 149 | 239,15,130,244,59,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252, |
149 | 12,239,15,133,244,56,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, | 150 | 237,235,131,229,1,1,252,238,252,233,244,27,248,80,129,252,248,239,15,130, |
150 | 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,77,129,252, | 151 | 244,59,129,122,253,12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4, |
151 | 248,239,15,130,244,56,139,42,139,114,252,252,137,116,36,100,137,108,36,80, | 152 | 237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233, |
152 | 129,122,253,4,239,15,133,244,56,72,131,189,233,0,15,133,244,56,128,189,233, | 153 | 244,1,248,81,129,252,248,239,15,130,244,59,139,42,139,114,252,252,137,116, |
153 | 235,15,135,244,56,139,141,233,15,132,244,247,255,59,141,233,15,132,244,56, | 154 | 36,100,137,108,36,80,129,122,253,4,239,15,133,244,59,72,131,189,233,0,15, |
154 | 248,1,141,116,193,252,240,59,181,233,15,135,244,56,137,181,233,139,108,36, | 155 | 133,244,59,128,189,233,235,15,135,244,59,139,141,233,15,132,244,247,255,59, |
155 | 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, | 156 | 141,233,15,132,244,59,248,1,141,116,193,252,240,59,181,233,15,135,244,59, |
156 | 15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15, | 157 | 137,181,233,139,108,36,96,137,149,233,131,194,8,137,149,233,141,108,194,232, |
157 | 133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,233,237,255,139,108, | 158 | 72,41,252,245,57,206,15,132,244,249,248,2,72,139,4,46,72,137,70,252,248,131, |
158 | 36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254,248,4,139, | 159 | 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, |
159 | 142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50, | 160 | 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, |
160 | 193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1, | 161 | 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, |
161 | 72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252, | 162 | 244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,72,41,205, |
162 | 237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248,252,255,252,255, | 163 | 248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70, |
163 | 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252, | 164 | 2,199,66,252,252,237,248,7,139,116,36,100,137,68,36,84,72,199,193,252,248, |
164 | 252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72,137,2,184,237,252, | 165 | 252,255,252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14, |
165 | 233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251, | 166 | 248,8,199,66,252,252,237,139,142,233,131,252,233,8,137,142,233,72,139,1,72, |
166 | 1,0,139,116,36,80,139,149,233,252,233,244,4,248,78,139,106,252,248,139,173, | 167 | 137,2,184,237,252,233,244,7,248,9,139,76,36,80,137,185,233,137,252,242,137, |
167 | 233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189,233,0,15,133, | 168 | 252,233,232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,82,139,106, |
168 | 244,56,255,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,59,141, | 169 | 252,248,139,173,233,139,114,252,252,137,116,36,100,137,108,36,80,72,131,189, |
169 | 233,15,132,244,56,248,1,141,116,193,252,248,59,181,233,15,135,244,56,137, | 170 | 233,0,15,133,244,59,255,128,189,233,235,15,135,244,59,139,141,233,15,132, |
170 | 181,233,139,108,36,96,137,149,233,137,149,233,141,108,194,252,240,72,41,252, | 171 | 244,247,59,141,233,15,132,244,59,248,1,141,116,193,252,248,59,181,233,15, |
171 | 245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137,70,252,248,131,252, | 172 | 135,244,59,137,181,233,139,108,36,96,137,149,233,137,149,233,141,108,194, |
172 | 238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131,233, | 173 | 252,240,72,41,252,245,57,206,15,132,244,249,248,2,255,72,139,4,46,72,137, |
173 | 237,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135,244,254, | 174 | 70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232, |
174 | 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, | 175 | 244,24,199,131,233,237,139,108,36,96,139,116,36,80,139,149,233,129,252,248, |
175 | 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,72,41,205,248, | 176 | 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, |
176 | 5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248, | 177 | 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,255, |
177 | 7,139,116,36,100,137,68,36,84,49,201,252,247,198,237,15,132,244,13,252,233, | 178 | 137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,57,252,249,15,133, |
178 | 244,14,248,8,137,252,242,137,252,233,232,251,1,14,248,9,139,76,36,80,137, | 179 | 244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,49,201,252,247,198, |
179 | 185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,233,252, | 180 | 237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1, |
180 | 233,244,4,248,79,139,108,36,96,72,252,247,133,233,237,15,132,244,56,255,137, | 181 | 15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139, |
181 | 149,233,141,68,194,252,248,137,133,233,49,192,72,137,133,233,176,235,136, | 182 | 116,36,80,139,149,233,252,233,244,4,248,83,139,108,36,96,72,252,247,133,233, |
182 | 133,233,252,233,244,16,255,248,65,139,114,252,252,221,90,252,248,252,233, | 183 | 237,15,132,244,59,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, |
183 | 244,59,248,80,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 184 | 137,133,233,176,235,136,133,233,252,233,244,16,255,248,67,255,248,69,139, |
184 | 56,252,242,15,16,2,72,184,237,237,102,72,15,110,200,15,84,193,248,64,139, | 185 | 114,252,252,221,90,252,248,252,233,244,62,255,248,84,129,252,248,239,15,130, |
185 | 114,252,252,252,242,15,17,66,252,248,255,248,80,129,252,248,239,15,130,244, | 186 | 244,59,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244, |
186 | 56,129,122,253,4,239,15,135,244,56,221,2,217,225,248,64,248,65,139,114,252, | 187 | 67,252,247,221,15,136,244,247,248,85,248,67,139,114,252,252,199,66,252,252, |
187 | 252,221,90,252,248,255,248,59,184,237,248,70,137,68,36,84,248,57,252,247, | 188 | 237,137,106,252,248,252,233,244,62,248,1,139,114,252,252,199,66,252,252,0, |
188 | 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253, | 189 | 0,224,65,199,66,252,248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129, |
189 | 72,252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 190 | 122,253,4,239,15,131,244,59,255,252,242,15,16,2,72,184,237,237,102,72,15, |
190 | 252,255,36,252,235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248, | 191 | 110,200,15,84,193,248,68,139,114,252,252,252,242,15,17,66,252,248,255,221, |
191 | 7,72,199,193,252,248,252,255,252,255,252,255,252,233,244,14,255,248,81,129, | 192 | 2,217,225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237, |
192 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,81,2, | 193 | 248,74,137,68,36,84,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252, |
193 | 252,233,244,64,248,82,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 194 | 255,15,135,244,252,15,182,78,252,253,72,252,247,209,141,20,202,139,6,15,182, |
194 | 135,244,56,252,242,15,16,2,232,244,83,252,233,244,64,248,84,255,129,252,248, | 195 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,199,68,194,252, |
195 | 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,232,244, | 196 | 244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,255, |
196 | 85,252,233,244,64,255,248,81,129,252,248,239,15,130,244,56,129,122,253,4, | 197 | 252,255,252,233,244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42, |
197 | 239,15,135,244,56,221,2,217,252,250,252,233,244,65,248,82,129,252,248,239, | 198 | 252,233,244,67,248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252, |
198 | 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,83,252,233,244, | 199 | 242,15,45,232,129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15, |
199 | 65,248,84,255,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 200 | 46,193,15,138,244,68,15,132,244,67,255,221,2,232,244,87,255,248,88,255,252, |
200 | 56,221,2,232,244,85,252,233,244,65,255,248,86,129,252,248,239,15,130,244, | 201 | 242,15,16,2,232,244,89,255,221,2,232,244,89,255,248,90,129,252,248,239,15, |
201 | 56,129,122,253,4,239,15,135,244,56,217,252,237,221,2,217,252,241,252,233, | 202 | 130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,81,2,252,233,244,68, |
202 | 244,65,248,87,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 203 | 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
203 | 56,217,252,236,221,2,217,252,241,252,233,244,65,248,88,129,252,248,239,255, | 204 | 221,2,217,252,250,252,233,244,69,255,248,91,129,252,248,239,15,130,244,59, |
204 | 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,89,252,233,244, | 205 | 129,122,253,4,239,15,131,244,59,217,252,237,221,2,217,252,241,252,233,244, |
205 | 65,248,90,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 206 | 69,248,92,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217, |
206 | 2,217,252,254,252,233,244,65,248,91,129,252,248,239,255,15,130,244,56,129, | 207 | 252,236,221,2,217,252,241,252,233,244,69,248,93,129,252,248,239,255,15,130, |
207 | 122,253,4,239,15,135,244,56,221,2,217,252,255,252,233,244,65,248,92,129,252, | 208 | 244,59,129,122,253,4,239,15,131,244,59,221,2,232,244,94,252,233,244,69,248, |
208 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,217,252,242,221, | 209 | 95,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217, |
209 | 216,252,233,244,65,248,93,129,252,248,239,15,130,244,56,255,129,122,253,4, | 210 | 252,254,252,233,244,69,248,96,129,252,248,239,255,15,130,244,59,129,122,253, |
210 | 239,15,135,244,56,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252, | 211 | 4,239,15,131,244,59,221,2,217,252,255,252,233,244,69,248,97,129,252,248,239, |
211 | 243,252,233,244,65,248,94,129,252,248,239,15,130,244,56,129,122,253,4,239, | 212 | 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,242,221,216,252, |
212 | 15,135,244,56,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, | 213 | 233,244,69,248,98,129,252,248,239,15,130,244,59,255,129,122,253,4,239,15, |
213 | 252,243,252,233,244,65,248,95,129,252,248,239,15,130,244,56,129,122,253,4, | 214 | 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243, |
214 | 239,15,135,244,56,255,221,2,217,232,217,252,243,252,233,244,65,255,248,96, | 215 | 252,233,244,69,248,99,129,252,248,239,15,130,244,59,129,122,253,4,239,15, |
215 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, | 216 | 131,244,59,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217, |
216 | 16,2,255,137,213,232,251,1,15,137,252,234,252,233,244,64,255,248,97,129,252, | 217 | 252,243,252,233,244,69,248,100,129,252,248,239,15,130,244,59,129,122,253, |
217 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255, | 218 | 4,239,15,131,244,59,255,221,2,217,232,217,252,243,252,233,244,69,255,248, |
218 | 137,213,232,251,1,16,137,252,234,252,233,244,64,255,248,98,129,252,248,239, | 219 | 101,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242, |
219 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255,137,213, | 220 | 15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,244,68,255,248,102,129, |
220 | 232,251,1,17,137,252,234,252,233,244,64,248,99,255,248,100,129,252,248,239, | 221 | 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, |
221 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,139,106,252, | 222 | 255,137,213,232,251,1,17,137,252,234,252,233,244,68,255,248,103,129,252,248, |
222 | 248,252,242,15,89,133,233,252,233,244,64,255,248,100,129,252,248,239,15,130, | 223 | 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255,137, |
223 | 244,56,129,122,253,4,239,15,135,244,56,221,2,139,106,252,248,220,141,233, | 224 | 213,232,251,1,18,137,252,234,252,233,244,68,248,104,255,248,105,129,252,248, |
224 | 252,233,244,65,255,248,101,129,252,248,239,15,130,244,56,129,122,253,4,239, | 225 | 239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106, |
225 | 15,135,244,56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,217,252,243, | 226 | 252,248,252,242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239, |
226 | 252,233,244,65,248,102,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 227 | 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141, |
227 | 135,244,56,129,122,253,12,239,255,15,135,244,56,221,66,8,221,2,217,252,253, | 228 | 233,252,233,244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253, |
228 | 221,217,252,233,244,65,248,103,129,252,248,239,15,130,244,56,139,106,4,129, | 229 | 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252, |
229 | 252,253,239,15,135,244,56,139,114,252,252,139,2,137,106,252,252,137,66,252, | 230 | 243,252,233,244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239, |
230 | 248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249, | 231 | 15,131,244,59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252, |
231 | 184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21, | 232 | 253,221,217,252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106, |
232 | 41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139,106,252, | 233 | 4,129,252,253,239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137, |
233 | 252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248, | 234 | 66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132, |
234 | 2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,70,248,3,255,15, | 235 | 244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252, |
235 | 87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242, | 236 | 237,21,41,197,255,252,242,15,42,197,255,137,108,36,80,219,68,36,80,255,139, |
236 | 15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15,17, | 237 | 106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252, |
237 | 66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, | 238 | 252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3, |
238 | 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,104,129,252, | 239 | 255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252, |
239 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,255, | 240 | 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,193,252,242,15, |
240 | 248,104,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 241 | 17,66,252,248,255,221,2,199,68,36,80,0,0,128,90,216,76,36,80,221,90,252,248, |
242 | 255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129,252, | ||
243 | 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,255, | ||
244 | 248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221, | ||
241 | 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, | 245 | 2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15,132, |
242 | 244,250,255,15,40,224,232,244,105,252,242,15,92,224,248,1,252,242,15,17,66, | 246 | 244,250,255,15,40,224,232,244,110,252,242,15,92,224,248,1,252,242,15,17,66, |
243 | 252,248,252,242,15,17,34,255,217,192,232,244,105,220,252,233,248,1,221,90, | 247 | 252,248,252,242,15,17,34,255,217,192,232,244,110,220,252,233,248,1,221,90, |
244 | 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, | 248 | 252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249,248,2,184, |
245 | 237,252,233,244,70,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, | 249 | 237,252,233,244,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248, |
246 | 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, | 250 | 4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244,1,255,248, |
247 | 106,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122, | 251 | 111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, |
248 | 253,12,239,15,135,244,56,221,66,8,221,2,248,1,217,252,248,223,224,158,15, | 252 | 253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223,224,158,15, |
249 | 138,244,1,221,217,252,233,244,65,255,248,107,129,252,248,239,15,130,244,56, | 253 | 138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15,130,244,59, |
250 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, | 254 | 129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242, |
251 | 15,16,2,252,242,15,16,74,8,232,244,108,252,233,244,64,255,248,107,129,252, | 255 | 15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248,112,129,252, |
252 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239, | 256 | 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239, |
253 | 15,135,244,56,221,2,221,66,8,232,244,108,252,233,244,65,255,248,109,129,252, | 257 | 15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248,114,185,2, |
254 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189, | 258 | 0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244, |
255 | 2,0,0,0,248,1,57,197,15,131,244,64,129,124,253,252,234,252,252,239,15,135, | 259 | 67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,79,108, |
256 | 244,56,252,242,15,16,76,252,234,252,248,252,242,15,93,193,131,197,1,252,233, | 260 | 202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,252,233,244,252, |
257 | 244,1,255,248,110,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, | 261 | 248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244,68,129,124, |
258 | 244,56,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124,253, | 262 | 253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15,42,76,202, |
259 | 252,234,252,252,239,15,135,244,56,252,242,15,16,76,252,234,252,248,252,242, | 263 | 252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,248,7,252, |
260 | 15,95,193,131,197,1,252,233,244,1,255,248,5,221,216,252,233,244,56,255,248, | 264 | 242,15,93,193,131,193,1,252,233,244,5,255,248,115,185,2,0,0,0,129,122,253, |
261 | 111,129,252,248,239,15,130,244,56,129,122,253,4,239,15,133,244,56,139,42, | 265 | 4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129,124,253,202, |
262 | 255,252,242,15,42,133,233,252,233,244,64,255,219,133,233,252,233,244,65,255, | 266 | 252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,131,193, |
263 | 248,112,129,252,248,239,15,133,244,56,129,122,253,4,239,15,133,244,56,139, | 267 | 1,252,233,244,1,248,3,15,135,244,59,255,248,6,252,242,15,16,76,202,252,248, |
264 | 42,139,114,252,252,131,189,233,1,15,130,244,73,15,182,173,233,255,252,242, | 268 | 248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,252,233, |
265 | 15,42,197,252,233,244,64,255,137,108,36,80,219,68,36,80,252,233,244,65,255, | 269 | 244,59,255,248,116,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133, |
266 | 248,113,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,252,248, | 270 | 244,59,139,42,255,139,173,233,252,233,244,67,255,252,242,15,42,133,233,252, |
267 | 239,15,133,244,56,129,122,253,4,239,15,135,244,56,255,252,242,15,44,42,129, | 271 | 233,244,68,255,219,133,233,252,233,244,69,255,248,117,129,252,248,239,15, |
268 | 252,253,252,255,0,0,0,15,135,244,56,137,108,36,84,255,221,2,219,92,36,84, | 272 | 133,244,59,129,122,253,4,239,15,133,244,59,139,42,139,114,252,252,131,189, |
269 | 129,124,36,84,252,255,0,0,0,15,135,244,56,255,199,68,36,32,1,0,0,0,72,141, | 273 | 233,1,15,130,244,77,15,182,173,233,255,252,242,15,42,197,252,233,244,68,255, |
270 | 68,36,84,248,114,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137, | 274 | 137,108,36,80,219,68,36,80,252,233,244,69,255,248,118,139,171,233,59,171, |
271 | 252,233,137,116,36,100,232,251,1,18,139,149,233,139,114,252,252,199,66,252, | 275 | 233,15,130,244,247,232,244,71,248,1,129,252,248,239,15,133,244,59,129,122, |
272 | 252,237,137,66,252,248,252,233,244,59,248,115,139,171,233,59,171,233,15,130, | 276 | 253,4,239,255,15,133,244,59,139,42,129,252,253,252,255,0,0,0,15,135,244,59, |
273 | 244,247,232,244,67,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129, | 277 | 137,108,36,84,255,15,131,244,59,252,242,15,44,42,129,252,253,252,255,0,0, |
274 | 252,248,239,15,130,244,56,15,134,244,247,129,122,253,20,239,255,252,242,15, | 278 | 0,15,135,244,59,137,108,36,84,255,15,131,244,59,221,2,219,92,36,84,129,124, |
275 | 44,106,16,137,108,36,84,255,221,66,16,219,92,36,84,255,248,1,129,122,253, | 279 | 36,84,252,255,0,0,0,15,135,244,59,255,199,68,36,32,1,0,0,0,72,141,68,36,84, |
276 | 4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,42,137,108,36,32, | 280 | 248,119,139,108,36,96,137,149,233,68,139,68,36,32,72,137,194,137,252,233, |
277 | 139,173,233,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251, | 281 | 137,116,36,100,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,237, |
278 | 248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,116,141, | 282 | 137,66,252,248,252,233,244,62,248,120,139,171,233,59,171,233,15,130,244,247, |
279 | 172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,114,248,5, | 283 | 232,244,71,248,1,199,68,36,84,252,255,252,255,252,255,252,255,129,252,248, |
280 | 15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, | 284 | 239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15,133,244,59,139, |
281 | 7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252, | 285 | 106,16,137,108,36,84,255,15,131,244,59,252,242,15,44,106,16,137,108,36,84, |
282 | 233,244,3,248,116,49,192,252,233,244,4,248,117,129,252,248,239,15,130,244, | 286 | 255,15,131,244,59,221,66,16,219,92,36,84,255,248,1,129,122,253,4,239,15,133, |
283 | 56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,255,129,122,253, | 287 | 244,59,129,122,253,12,239,255,139,42,137,108,36,32,139,173,233,255,139,74, |
284 | 4,239,15,133,244,56,129,122,253,12,239,15,135,244,56,139,42,255,252,242,15, | 288 | 8,255,252,242,15,44,74,8,255,139,68,36,84,57,197,15,130,244,251,248,2,133, |
285 | 44,66,8,255,221,66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,116, | 289 | 201,15,142,244,253,248,3,139,108,36,32,41,200,15,140,244,121,141,172,253, |
286 | 131,189,233,1,15,130,244,116,15,133,244,118,57,131,233,15,130,244,118,15, | 290 | 13,233,131,192,1,248,4,137,68,36,32,137,232,252,233,244,119,248,5,15,140, |
287 | 182,141,233,139,171,233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15, | 291 | 244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15, |
288 | 133,244,1,139,131,233,252,233,244,114,248,119,129,252,248,239,255,15,130, | 292 | 132,244,254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244, |
289 | 244,56,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,122,253, | 293 | 3,248,121,49,192,252,233,244,4,248,122,129,252,248,239,15,130,244,59,139, |
290 | 4,239,15,133,244,56,139,42,139,133,233,133,192,15,132,244,116,57,131,233, | 294 | 171,233,59,171,233,15,130,244,247,232,244,71,248,1,255,129,122,253,4,239, |
291 | 15,130,244,120,129,197,239,137,116,36,84,137,68,36,32,139,179,233,248,1,255, | 295 | 15,133,244,59,129,122,253,12,239,139,42,255,15,133,244,59,139,66,8,255,15, |
292 | 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116, | 296 | 131,244,59,252,242,15,44,66,8,255,15,131,244,59,221,66,8,219,92,36,84,139, |
293 | 36,84,252,233,244,114,248,121,129,252,248,239,15,130,244,56,139,171,233,59, | 297 | 68,36,84,255,133,192,15,142,244,121,131,189,233,1,15,130,244,121,15,133,244, |
294 | 171,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139, | 298 | 123,57,131,233,15,130,244,123,15,182,141,233,139,171,233,137,68,36,32,248, |
295 | 42,139,133,233,57,131,233,255,15,130,244,120,129,197,239,137,116,36,84,137, | 299 | 1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233,252,233,244,119,248, |
296 | 68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15, | 300 | 124,129,252,248,239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247, |
297 | 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248, | 301 | 232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192, |
298 | 3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244,114,248,122, | 302 | 15,132,244,121,57,131,233,15,130,244,125,129,197,239,137,116,36,84,137,68, |
299 | 129,252,248,239,15,130,244,56,255,139,171,233,59,171,233,15,130,244,247,232, | 303 | 36,32,139,179,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133, |
300 | 244,67,248,1,129,122,253,4,239,15,133,244,56,139,42,139,133,233,57,131,233, | 304 | 244,1,137,252,240,139,116,36,84,252,233,244,119,248,126,129,252,248,239,15, |
301 | 15,130,244,120,129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233, | 305 | 130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248,1,129,122, |
302 | 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249, | 306 | 253,4,239,15,133,244,59,139,42,139,133,233,57,131,233,255,15,130,244,125, |
303 | 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244, | 307 | 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1, |
304 | 1,137,252,240,139,116,36,84,252,233,244,114,248,123,129,252,248,239,15,130, | 308 | 15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248, |
305 | 244,56,129,122,253,4,239,15,133,244,56,137,213,139,10,232,251,1,19,137,252, | 309 | 131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139, |
306 | 234,255,252,242,15,42,192,252,233,244,64,255,248,124,129,252,248,239,15,130, | 310 | 116,36,84,252,233,244,119,248,127,129,252,248,239,15,130,244,59,255,139,171, |
307 | 244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102, | 311 | 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, |
308 | 72,15,110,205,252,242,15,88,193,102,15,126,197,252,242,15,42,197,252,233, | 312 | 59,139,42,139,133,233,57,131,233,15,130,244,125,129,197,239,137,116,36,84, |
309 | 244,64,255,248,125,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, | 313 | 137,68,36,32,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, |
310 | 244,56,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193, | 314 | 97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2, |
311 | 102,15,126,197,255,137,68,36,84,141,68,194,252,240,248,1,57,208,15,134,244, | 315 | 136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,84,252,233,244, |
312 | 126,129,120,253,4,239,15,135,244,127,255,252,242,15,16,0,252,242,15,88,193, | 316 | 119,248,128,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59, |
313 | 102,15,126,193,33,205,255,131,232,8,252,233,244,1,255,248,128,129,252,248, | 317 | 137,213,139,10,232,251,1,20,137,252,234,255,137,197,252,233,244,67,255,252, |
314 | 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189, | 318 | 242,15,42,192,252,233,244,68,255,248,129,129,122,253,4,239,255,15,133,244, |
315 | 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15, | 319 | 247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242,15,16,2,72,189, |
316 | 16,0,252,242,15,88,193,102,15,126,193,9,205,255,248,129,129,252,248,239,15, | 320 | 237,237,102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,233,244, |
317 | 130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237, | 321 | 85,255,248,130,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,0, |
318 | 102,72,15,110,205,252,242,15,88,193,102,15,126,197,255,252,242,15,16,0,252, | 322 | 192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,59,255, |
319 | 242,15,88,193,102,15,126,193,49,205,255,248,130,129,252,248,239,15,130,244, | 323 | 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141, |
320 | 56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,72,189,237,237,102,72, | 324 | 68,194,252,240,248,1,57,208,15,134,244,85,129,120,253,4,239,255,15,133,244, |
321 | 15,110,205,252,242,15,88,193,102,15,126,197,255,15,205,252,233,244,126,255, | 325 | 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,15,131,244,131, |
322 | 248,131,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252, | 326 | 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8, |
323 | 242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,88,193,102,15,126, | 327 | 252,233,244,1,248,132,255,15,133,244,248,11,40,131,232,8,252,233,244,1,248, |
324 | 197,255,252,247,213,255,248,126,252,242,15,42,197,252,233,244,64,255,248, | 328 | 2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,9,205, |
325 | 127,139,68,36,84,252,233,244,56,255,248,132,129,252,248,239,15,130,244,56, | 329 | 255,131,232,8,252,233,244,1,248,133,255,15,133,244,248,51,40,131,232,8,252, |
326 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, | 330 | 233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252,242,15,88,193,102, |
327 | 15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88, | 331 | 15,126,193,49,205,255,131,232,8,252,233,244,1,248,134,129,122,253,4,239,255, |
328 | 194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,229,137, | 332 | 248,2,15,205,252,233,244,85,248,135,129,122,253,4,239,255,248,2,252,247,213, |
329 | 193,252,233,244,126,255,248,133,129,252,248,239,15,130,244,56,129,122,253, | 333 | 255,248,85,252,242,15,42,197,252,233,244,68,255,248,131,139,68,36,84,252, |
330 | 4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252, | 334 | 233,244,59,255,248,136,129,122,253,4,239,255,248,2,129,122,253,12,239,15, |
335 | 133,244,59,139,74,8,255,248,136,129,252,248,239,15,130,244,59,129,122,253, | ||
336 | 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, | ||
331 | 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, | 337 | 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, |
332 | 15,88,202,137,200,102,15,126,197,102,15,126,201,255,211,252,237,137,193,252, | 338 | 15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,85,255,248, |
333 | 233,244,126,255,248,134,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 339 | 137,129,122,253,4,239,255,248,137,129,252,248,239,15,130,244,59,129,122,253, |
334 | 135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16, | 340 | 4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252, |
335 | 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, | 341 | 242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242, |
336 | 137,200,102,15,126,197,102,15,126,201,255,211,252,253,137,193,252,233,244, | 342 | 15,88,202,102,15,126,197,102,15,126,201,255,211,252,237,252,233,244,85,255, |
337 | 126,255,248,135,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 343 | 248,138,129,122,253,4,239,255,248,138,129,252,248,239,15,130,244,59,129,122, |
338 | 56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72, | 344 | 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, |
339 | 189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200, | 345 | 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, |
340 | 102,15,126,197,102,15,126,201,255,211,197,137,193,252,233,244,126,255,248, | 346 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,85, |
341 | 136,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122, | 347 | 255,248,139,129,122,253,4,239,255,248,139,129,252,248,239,15,130,244,59,129, |
342 | 253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237, | 348 | 122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16, |
343 | 102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126, | 349 | 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, |
344 | 197,102,15,126,201,255,211,205,137,193,252,233,244,126,248,118,184,237,252, | 350 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,252,233,244,85,255, |
345 | 233,244,56,248,120,184,237,248,56,139,108,36,96,139,114,252,252,137,116,36, | 351 | 248,140,129,122,253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122, |
346 | 100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248, | 352 | 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2, |
347 | 59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,149,233,133,192, | 353 | 252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252, |
348 | 15,143,244,70,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1, | 354 | 242,15,88,202,102,15,126,197,102,15,126,201,255,211,205,252,233,244,85,248, |
349 | 139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,252,233,15,182,205, | 355 | 123,184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,96,139,114,252, |
350 | 131,198,4,252,255,36,252,235,248,2,137,209,252,247,198,237,15,133,244,249, | 356 | 252,137,116,36,100,137,149,233,141,68,194,252,248,141,136,233,137,133,233, |
351 | 15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,244,27,248,3,137, | 357 | 139,66,252,248,59,141,233,15,135,244,251,137,252,233,252,255,144,233,139, |
352 | 252,245,131,229,252,248,41,252,234,252,233,244,27,248,5,186,237,137,252,233, | 358 | 149,233,133,192,15,143,244,74,248,1,255,139,141,233,41,209,193,252,233,3, |
353 | 232,251,1,0,139,149,233,49,192,252,233,244,1,248,67,93,72,137,108,36,32,139, | 359 | 133,192,141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182, |
354 | 108,36,96,137,116,36,100,137,149,233,255,141,68,194,252,248,137,252,233,137, | 360 | 252,233,15,182,205,131,198,4,252,255,36,252,235,248,2,137,209,252,247,198, |
355 | 133,233,232,251,1,20,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72, | 361 | 237,15,133,244,249,15,182,110,252,253,72,252,247,213,141,20,252,234,252,233, |
356 | 139,108,36,32,85,195,248,137,255,15,182,131,233,168,235,15,133,244,251,168, | 362 | 244,27,248,3,137,252,245,131,229,252,248,41,252,234,252,233,244,27,248,5, |
357 | 235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,244,247, | 363 | 186,237,137,252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,71,93, |
358 | 255,248,138,15,182,131,233,168,235,15,133,244,251,252,233,244,247,248,139, | 364 | 72,137,108,36,32,139,108,36,96,137,116,36,100,137,149,233,255,141,68,194, |
359 | 15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139, | 365 | 252,248,137,252,233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208, |
360 | 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149, | 366 | 193,232,3,131,192,1,72,139,108,36,32,85,195,248,141,255,15,182,131,233,168, |
361 | 233,137,252,242,137,252,233,232,251,1,21,248,3,139,149,233,248,4,15,182,78, | 367 | 235,15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,252,255, |
362 | 252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235, | 368 | 139,233,252,233,244,247,255,248,142,15,182,131,233,168,235,15,133,244,251, |
363 | 233,248,140,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,141,255,139, | 369 | 252,233,244,247,248,143,15,182,131,233,168,235,15,133,244,251,168,235,15, |
364 | 106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233, | 370 | 132,244,251,252,255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255, |
365 | 137,133,233,137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251, | 371 | 139,108,36,96,137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139, |
366 | 1,22,252,233,244,3,255,248,142,137,116,36,100,255,248,143,255,137,116,36, | 372 | 149,233,248,4,15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254, |
367 | 100,131,206,1,248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137, | 373 | 252,255,164,253,252,235,233,248,144,131,198,4,139,77,232,137,76,36,84,252, |
368 | 133,233,137,252,242,137,252,233,232,251,1,23,199,68,36,100,0,0,0,0,255,131, | 374 | 233,244,4,248,145,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, |
369 | 230,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182, | 375 | 139,108,36,96,137,149,233,137,133,233,137,252,242,141,139,233,72,137,171, |
370 | 78,252,253,193,232,3,131,192,1,252,255,229,248,144,255,65,85,65,84,65,83, | 376 | 233,137,116,36,100,232,251,1,23,252,233,244,3,255,248,146,137,116,36,100, |
371 | 65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252, | 377 | 255,248,147,255,137,116,36,100,131,206,1,248,1,255,141,68,194,252,248,139, |
372 | 248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139, | 378 | 108,36,96,137,149,233,137,133,233,137,252,242,137,252,233,232,251,1,24,199, |
373 | 233,199,131,233,237,137,131,233,137,139,233,72,129,252,236,239,72,131,197, | 379 | 68,36,100,0,0,0,0,255,131,230,252,254,255,139,149,233,72,137,193,139,133, |
374 | 128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68, | 380 | 233,41,208,72,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229,248, |
375 | 15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68, | 381 | 148,255,65,85,65,84,65,83,65,82,65,81,65,80,87,86,85,72,141,108,36,88,85, |
376 | 15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17, | 382 | 83,82,81,80,15,182,69,252,248,138,101,252,240,76,137,125,252,248,76,137,117, |
377 | 125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160, | 383 | 252,240,139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,72,129, |
378 | 252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15, | 384 | 252,236,239,72,131,197,128,252,242,68,15,17,125,252,248,252,242,68,15,17, |
379 | 17,69,128,139,171,233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137, | 385 | 117,252,240,252,242,68,15,17,109,232,252,242,68,15,17,101,224,252,242,68, |
380 | 149,233,72,141,148,253,36,233,141,139,233,232,251,1,24,72,139,141,233,72, | 386 | 15,17,93,216,252,242,68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15, |
381 | 129,225,239,137,169,233,139,149,233,139,177,233,252,233,244,247,255,248,145, | 387 | 17,69,192,252,242,15,17,125,184,252,242,15,17,117,176,252,242,15,17,109,168, |
382 | 255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233, | 388 | 252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15, |
383 | 102,68,15,111,169,233,102,68,15,111,161,233,102,68,15,111,153,233,102,68, | 389 | 17,77,136,252,242,15,17,69,128,139,171,233,139,147,233,72,137,171,233,199, |
384 | 15,111,145,233,102,68,15,111,137,233,102,68,15,111,129,233,102,15,111,185, | 390 | 131,233,0,0,0,0,137,149,233,72,141,148,253,36,233,141,139,233,232,251,1,25, |
385 | 233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108, | 391 | 72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177,233,252,233, |
386 | 36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,36,84,139,122,252,248, | 392 | 244,247,255,248,149,255,72,141,140,253,36,233,248,1,102,68,15,111,185,233, |
387 | 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182, | 393 | 102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111,161,233,102,68, |
388 | 204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,255,139, | 394 | 15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233,102,68,15,111, |
389 | 68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,137,252,233,137,194,232, | 395 | 129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139,124,36,16,76,139, |
390 | 251,1,25,255,248,83,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, | 396 | 116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,136,244,249,137,68, |
391 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 397 | 36,84,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, |
392 | 36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184, | 398 | 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239, |
393 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, | 399 | 15,130,244,248,255,139,68,36,84,248,2,252,255,36,252,235,248,3,252,247,216, |
394 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, | 400 | 137,252,233,137,194,232,251,1,26,255,248,87,255,217,124,36,4,137,68,36,8, |
395 | 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92, | 401 | 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, |
396 | 200,15,40,193,248,1,195,248,85,255,217,124,36,4,137,68,36,8,102,184,0,8,102, | 402 | 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,150,72,184,237,237, |
397 | 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252, | 403 | 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, |
398 | 217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208, | 404 | 102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92, |
399 | 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15, | 405 | 203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102, |
400 | 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, | 406 | 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,89,255,217,124,36,4,137, |
401 | 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, | 407 | 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, |
402 | 15,92,200,15,40,193,248,1,195,248,105,255,217,124,36,4,137,68,36,8,102,184, | 408 | 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,72,184, |
403 | 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, | 409 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, |
404 | 139,68,36,8,195,255,248,148,72,184,237,237,102,72,15,110,208,72,184,237,237, | 410 | 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252, |
405 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | 411 | 242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194, |
406 | 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, | 412 | 193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,110,255,217, |
407 | 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, | 413 | 124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108, |
408 | 86,202,15,40,193,248,1,195,248,149,255,15,40,232,252,242,15,94,193,72,184, | 414 | 36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,152,72,184,237,237, |
409 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, | 415 | 102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202, |
410 | 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, | 416 | 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, |
411 | 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, | 417 | 242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15, |
412 | 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, | 418 | 84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248,153,255,15, |
413 | 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, | 419 | 40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237, |
414 | 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, | 420 | 102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102, |
415 | 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, | 421 | 15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237, |
416 | 252,233,195,255,248,89,217,252,234,222,201,248,150,217,84,36,8,129,124,36, | 422 | 102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15, |
417 | 8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248, | 423 | 40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15, |
418 | 248,151,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193, | 424 | 40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184, |
419 | 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,108,255, | 425 | 0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, |
420 | 248,152,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254, | 426 | 252,252,217,108,36,4,222,201,222,252,233,195,255,248,94,217,252,234,222,201, |
421 | 15,138,244,255,248,153,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15, | 427 | 248,154,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8, |
422 | 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132, | 428 | 0,0,128,252,255,15,132,244,248,248,155,217,192,217,252,252,220,252,233,217, |
423 | 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244, | 429 | 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, |
424 | 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248, | 430 | 217,252,238,195,255,248,113,255,248,156,252,242,15,45,193,252,242,15,42,208, |
425 | 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72, | 431 | 102,15,46,202,15,133,244,254,15,138,244,255,248,157,131,252,248,1,15,142, |
426 | 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15, | 432 | 244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233, |
427 | 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254, | 433 | 244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209, |
428 | 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72, | 434 | 232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4, |
429 | 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252, | 435 | 252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216, |
430 | 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252, | 436 | 232,244,1,72,184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195, |
431 | 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92, | 437 | 248,7,72,184,237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209, |
432 | 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102, | 438 | 224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72, |
433 | 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72, | 439 | 209,224,15,132,244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244, |
434 | 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15, | 440 | 251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68,36,16,221,68,36,8, |
435 | 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1, | 441 | 217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222, |
436 | 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192, | 442 | 193,217,252,253,221,217,221,92,36,8,252,242,15,16,68,36,8,195,248,9,72,184, |
437 | 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87, | 443 | 237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195, |
438 | 192,195,248,154,255,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250, | 444 | 248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72, |
439 | 3,15,130,244,105,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17, | 445 | 15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15, |
440 | 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244, | 446 | 146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195, |
441 | 89,80,252,233,244,253,248,1,232,244,150,255,80,252,233,244,253,248,2,131, | 447 | 248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193, |
442 | 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252, | 448 | 133,192,15,132,244,3,15,87,192,195,248,158,255,131,252,250,1,15,130,244,87, |
443 | 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252, | 449 | 15,132,244,89,131,252,250,3,15,130,244,110,15,135,244,248,252,242,15,81,192, |
444 | 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233, | 450 | 195,248,2,252,242,15,17,68,36,8,221,68,36,8,131,252,250,5,15,135,244,248, |
445 | 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132, | 451 | 88,15,132,244,247,232,244,94,80,252,233,244,253,248,1,232,244,154,255,80, |
446 | 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221, | 452 | 252,233,244,253,248,2,131,252,250,7,15,132,244,247,15,135,244,248,217,252, |
447 | 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36, | 453 | 237,217,201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241, |
448 | 4,131,252,250,1,15,130,244,83,15,132,244,85,131,252,250,3,15,130,244,105, | 454 | 252,233,244,253,248,2,131,252,250,9,15,132,244,247,15,135,244,248,217,252, |
449 | 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,89,15,132,244, | 455 | 236,217,201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244, |
450 | 150,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, | 456 | 253,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,252,233, |
451 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132, | 457 | 244,253,248,1,217,252,242,221,216,248,7,221,92,36,8,252,242,15,16,68,36,8, |
452 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, | 458 | 195,255,139,84,36,12,221,68,36,4,131,252,250,1,15,130,244,87,15,132,244,89, |
453 | 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255, | 459 | 131,252,250,3,15,130,244,110,15,135,244,248,217,252,250,195,248,2,131,252, |
454 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,65,131,252, | 460 | 250,5,15,130,244,94,15,132,244,154,131,252,250,7,15,132,244,247,15,135,244, |
455 | 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15, | 461 | 248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241, |
456 | 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15, | 462 | 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, |
457 | 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244, | 463 | 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, |
458 | 149,15,132,244,108,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184, | 464 | 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, |
459 | 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15, | 465 | 9,204,255,248,159,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, |
460 | 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17, | 466 | 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, |
461 | 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217, | 467 | 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, |
462 | 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252, | 468 | 248,2,65,131,252,248,5,15,130,244,153,15,132,244,113,65,131,252,248,7,15, |
463 | 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244, | 469 | 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, |
464 | 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68, | 470 | 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, |
465 | 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248, | 471 | 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, |
466 | 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135, | 472 | 36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15, |
467 | 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244, | 473 | 16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131, |
468 | 149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216, | 474 | 252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252, |
469 | 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247, | 475 | 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, |
470 | 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, | 476 | 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, |
471 | 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221, | 477 | 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, |
472 | 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246, | 478 | 249,195,248,2,131,252,248,5,15,130,244,153,15,132,244,113,131,252,248,7,15, |
473 | 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252, | 479 | 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, |
474 | 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,156,137,200,86, | 480 | 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, |
475 | 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,157, | 481 | 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, |
476 | 255,85,72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233, | 482 | 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, |
477 | 131,252,233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253, | 483 | 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, |
478 | 204,233,131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72, | 484 | 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, |
479 | 139,147,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131, | 485 | 248,2,221,216,195,255,248,160,137,200,86,72,137,214,83,15,162,137,6,137,94, |
480 | 233,15,40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72, | 486 | 4,137,78,8,137,86,12,91,94,195,248,161,255,85,72,137,229,83,72,137,203,139, |
481 | 137,131,233,15,41,131,233,255,72,139,93,252,248,201,195,255,249,255,129,124, | 487 | 131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,72, |
482 | 253,202,4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242, | 488 | 139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,15,137,244,1,248, |
483 | 15,16,4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255, | 489 | 2,15,182,131,233,72,139,139,233,72,139,147,233,76,139,131,233,76,139,139, |
484 | 223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15, | 490 | 233,133,192,15,132,244,251,15,40,131,233,15,40,139,233,15,40,147,233,15,40, |
485 | 131,244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15, | 491 | 155,233,248,5,255,252,255,147,233,72,137,131,233,15,41,131,233,255,72,139, |
486 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194, | 492 | 93,252,248,201,195,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124, |
487 | 4,131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244, | 493 | 253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244, |
488 | 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15, | 494 | 255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15, |
489 | 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, | 495 | 183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131, |
490 | 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, | 496 | 198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,41,129,124,253,194,4, |
491 | 180,253,134,233,248,1,255,129,252,253,239,15,132,244,46,129,124,253,202,4, | 497 | 239,15,130,244,247,15,133,244,41,255,252,242,15,42,4,194,252,233,244,248, |
492 | 239,15,132,244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244, | 498 | 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,41,255,252,242, |
493 | 1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139, | 499 | 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9, |
494 | 169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49, | 500 | 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255, |
495 | 252,237,255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133, | 501 | 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,41,129,124, |
496 | 244,2,252,233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253, | 502 | 253,194,4,239,15,131,244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4, |
497 | 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,129,252, | 503 | 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4, |
498 | 253,239,15,135,244,249,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4, | 504 | 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,247,255, |
499 | 202,221,4,199,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,133, | 505 | 15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,254, |
500 | 244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182, | 506 | 141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
501 | 232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239,15,133, | 507 | 252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133, |
502 | 244,2,252,233,244,46,255,15,132,244,248,129,252,253,239,15,132,244,46,15, | 508 | 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15, |
503 | 183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131, | 509 | 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, |
504 | 198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253, | 510 | 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
505 | 239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44,194,137, | 511 | 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251, |
506 | 44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182,204,15, | 512 | 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244, |
507 | 182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,139,44,194,72,137, | 513 | 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252, |
508 | 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 514 | 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131, |
509 | 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182, | 515 | 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248, |
510 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194, | 516 | 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15, |
511 | 4,239,15,135,244,49,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110, | 517 | 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233, |
512 | 200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129, | 518 | 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244, |
513 | 124,253,194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128, | 519 | 9,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255, |
514 | 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6, | 520 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, |
515 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124, | 521 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, |
516 | 253,194,4,239,15,133,244,51,139,12,194,137,213,232,251,1,19,255,252,242,15, | 522 | 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, |
517 | 42,192,137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236, | 523 | 0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244,9,255,252, |
518 | 15,182,192,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15,16, | 524 | 233,244,46,255,72,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15, |
519 | 4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253, | 525 | 133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,252, |
520 | 252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242,15,88,4,252,234, | 526 | 253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,59, |
521 | 255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,50,129, | 527 | 44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15, |
522 | 124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252,234,252,242,15,88, | 528 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,249,129, |
523 | 4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15, | 529 | 124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255, |
524 | 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15, | 530 | 252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202, |
525 | 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, | 531 | 221,4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199, |
526 | 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, | 532 | 248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,72,252, |
527 | 252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199, | 533 | 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, |
528 | 252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4, | 534 | 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
529 | 252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16, | 535 | 252,255,36,252,235,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255, |
530 | 4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15, | 536 | 15,132,244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253, |
531 | 16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242, | 537 | 134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
532 | 15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252, | 538 | 252,235,255,139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139, |
533 | 242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255, | 539 | 44,194,137,44,202,255,72,139,44,194,72,137,44,202,139,6,15,182,204,15,182, |
534 | 252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234, | 540 | 232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194, |
535 | 255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4, | 541 | 4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193, |
536 | 194,255,248,158,232,244,149,255,252,233,244,158,255,232,244,108,255,15,182, | 542 | 232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,133,244,251,139,44, |
537 | 252,236,15,182,192,139,76,36,96,137,145,233,141,20,194,65,137,192,65,41,232, | 543 | 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15, |
538 | 248,33,137,205,137,116,36,100,232,251,1,26,139,149,233,133,192,15,133,244, | 544 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,199,68,202, |
539 | 42,15,182,110,252,255,15,182,78,252,253,72,139,4,252,234,72,137,4,202,139, | 545 | 4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129, |
540 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,72,252, | 546 | 124,253,194,4,239,15,131,244,51,255,252,242,15,16,4,194,72,184,237,237,102, |
541 | 247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,15,182,232, | 547 | 72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, |
542 | 131,198,4,193,232,16,252,255,36,252,235,255,15,191,192,252,242,15,42,192, | 548 | 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248, |
543 | 252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199, | 549 | 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252, |
544 | 252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,137,68,202, | 550 | 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15, |
545 | 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, | 551 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239, |
546 | 141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8, | 552 | 15,133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137, |
547 | 57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 553 | 252,234,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, |
548 | 255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,233,72,139, | 554 | 129,124,253,252,234,4,239,15,133,244,48,129,124,253,199,4,239,15,133,244, |
549 | 69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 555 | 48,139,44,252,234,3,44,199,15,128,244,47,255,129,124,253,252,234,4,239,15, |
550 | 36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173, | 556 | 133,244,50,129,124,253,199,4,239,15,133,244,50,139,4,199,3,4,252,234,15,128, |
551 | 233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133, | 557 | 244,49,255,129,124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239, |
552 | 233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, | 558 | 15,133,244,53,139,44,252,234,3,44,194,15,128,244,52,255,199,68,202,4,237, |
553 | 16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,244,1,252, | 559 | 255,129,124,253,252,234,4,239,15,131,244,48,255,129,124,253,199,4,239,15, |
554 | 246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,27,137,252, | 560 | 131,244,48,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, |
555 | 234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,141,233, | 561 | 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,50,255,129,124,253, |
556 | 139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244, | 562 | 199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255, |
557 | 248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | 563 | 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,53,129,124, |
558 | 235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,1,137, | 564 | 253,194,4,239,15,131,244,53,255,252,242,15,16,4,252,234,252,242,15,88,4,194, |
559 | 213,137,194,141,139,233,232,251,1,27,137,252,234,252,233,244,1,255,139,106, | 565 | 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,48,129, |
560 | 252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252, | 566 | 124,253,199,4,239,15,133,244,48,139,44,252,234,43,44,199,15,128,244,47,255, |
561 | 242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,253,141, | 567 | 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, |
562 | 233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 568 | 50,139,4,199,43,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15, |
563 | 252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,0,15, | 569 | 133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,43,44,194,15, |
564 | 132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,28,139,149,233,248, | 570 | 128,244,52,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252, |
565 | 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255, | 571 | 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4, |
566 | 72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,135,137, | 572 | 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221, |
567 | 252,233,137,116,36,100,232,251,1,29,139,149,233,15,182,78,252,253,137,4,202, | 573 | 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,48,129,124, |
568 | 199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 574 | 253,199,4,239,15,133,244,48,139,44,252,234,15,175,44,199,15,128,244,47,255, |
569 | 36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,137,116,36, | 575 | 129,124,253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244, |
570 | 100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,11,61,252, | 576 | 50,139,4,199,15,175,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239, |
571 | 255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,30,139,149,233, | 577 | 15,133,244,53,129,124,253,194,4,239,15,133,244,53,139,44,252,234,15,175,44, |
572 | 15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232, | 578 | 194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221, |
573 | 131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,233,244,2,248, | 579 | 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255, |
574 | 5,137,252,233,232,251,1,31,15,183,70,252,254,252,233,244,1,255,72,252,247, | 580 | 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194, |
575 | 208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,149,233,15,131, | 581 | 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4, |
576 | 244,249,248,2,139,20,135,137,252,233,232,251,1,32,139,149,233,15,182,78,252, | 582 | 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4, |
577 | 253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193, | 583 | 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242, |
578 | 232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,31,15,183,70,252,254, | 584 | 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252, |
579 | 72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233, | 585 | 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252, |
580 | 139,4,135,252,233,244,159,255,72,252,247,208,139,106,252,248,139,173,233, | 586 | 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252, |
581 | 139,4,135,252,233,244,160,255,15,182,252,236,15,182,192,129,124,253,252,234, | 587 | 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,162,232,244, |
582 | 4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, | 588 | 153,255,252,233,244,162,255,232,244,113,255,15,182,252,236,15,182,192,139, |
589 | 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,33,137,205,137,116, | ||
590 | 36,100,232,251,1,27,139,149,233,133,192,15,133,244,42,15,182,110,252,255, | ||
591 | 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232, | ||
592 | 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199, | ||
593 | 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | ||
594 | 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252, | ||
595 | 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242, | ||
596 | 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208, | ||
597 | 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | ||
598 | 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137, | ||
599 | 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193, | ||
600 | 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173, | ||
601 | 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, | ||
602 | 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233, | ||
603 | 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252, | ||
604 | 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, | ||
605 | 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134, | ||
606 | 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1, | ||
607 | 28,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253, | ||
608 | 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15, | ||
609 | 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | ||
610 | 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244, | ||
611 | 1,137,213,137,194,141,139,233,232,251,1,28,137,252,234,252,233,244,1,255, | ||
612 | 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233, | ||
613 | 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172, | ||
614 | 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193, | ||
615 | 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233, | ||
616 | 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,29,139,149, | ||
617 | 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, | ||
618 | 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20, | ||
619 | 135,137,252,233,137,116,36,100,232,251,1,30,139,149,233,15,182,78,252,253, | ||
620 | 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232, | ||
621 | 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233, | ||
622 | 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232, | ||
623 | 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,31, | ||
624 | 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204, | ||
625 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252, | ||
626 | 233,244,2,248,5,137,252,233,232,251,1,32,15,183,70,252,254,252,233,244,1, | ||
627 | 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137, | ||
628 | 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,33,139,149, | ||
629 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, | ||
630 | 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,32, | ||
631 | 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106, | ||
632 | 252,248,139,173,233,139,4,135,252,233,244,163,255,72,252,247,208,139,106, | ||
633 | 252,248,139,173,233,139,4,135,252,233,244,164,255,15,182,252,236,15,182,192, | ||
634 | 129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,255,129,124,253,194, | ||
635 | 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255, | ||
583 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, | 636 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, |
584 | 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, | 637 | 15,133,244,36,255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253, |
585 | 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, | 638 | 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182, |
586 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, | 639 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244, |
587 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, | 640 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, |
588 | 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244, | 641 | 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, |
589 | 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,72,252,247,208, | 642 | 36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,72,252,247,208, |
590 | 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159, | 643 | 139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163, |
591 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, | 644 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, |
592 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, | 645 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, |
593 | 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, | 646 | 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232, |
@@ -600,124 +653,132 @@ static const unsigned char build_actionlist[14499] = { | |||
600 | 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, | 653 | 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249, |
601 | 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3, | 654 | 139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,78,252,253,248,3, |
602 | 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, | 655 | 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253, |
603 | 252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194,4,239,15,135,244, | 656 | 252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244,39,255,59,133,233, |
604 | 251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120, | 657 | 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, |
605 | 253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72, | 658 | 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15, |
606 | 139,44,202,72,137,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 659 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189, |
607 | 255,36,252,235,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129, | 660 | 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,39,15,182, |
608 | 233,235,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253,194, | 661 | 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4, |
609 | 4,239,15,133,244,39,139,4,194,252,233,244,160,248,7,128,165,233,235,139,139, | 662 | 194,252,233,244,164,248,7,128,165,233,235,139,139,233,137,171,233,137,141, |
610 | 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,252, | 663 | 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252, |
611 | 236,15,182,192,72,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, | 664 | 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234, |
612 | 244,37,139,44,252,234,248,160,139,141,233,35,136,233,105,201,239,198,133, | 665 | 248,164,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1, |
613 | 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, | 666 | 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239, |
614 | 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, | 667 | 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182, |
615 | 244,253,248,3,15,182,70,252,253,72,139,44,194,72,137,41,139,6,15,182,204, | 668 | 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4, |
616 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,189,233,0,15, | 669 | 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36, |
617 | 132,244,2,137,76,36,80,139,141,233,252,246,129,233,235,15,132,244,37,139, | 670 | 80,139,141,233,252,246,129,233,235,15,132,244,37,139,76,36,80,252,233,244, |
618 | 76,36,80,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139,141, | 671 | 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244, |
619 | 233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137,68, | 672 | 252,252,246,129,233,235,15,132,244,37,248,6,137,68,36,80,199,68,36,84,237, |
620 | 36,80,199,68,36,84,237,137,108,36,32,139,76,36,96,137,145,233,76,141,68,36, | 673 | 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205, |
621 | 80,137,252,234,137,205,137,116,36,100,232,251,1,33,139,149,233,139,108,36, | 674 | 137,116,36,100,232,251,1,34,139,149,233,139,108,36,32,137,193,252,233,244, |
622 | 32,137,193,252,233,244,2,248,7,128,165,233,235,139,131,233,137,171,233,137, | 675 | 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3, |
623 | 133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234,4, | 676 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139, |
624 | 239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133, | 677 | 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239, |
625 | 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, | 678 | 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202, |
626 | 253,248,2,72,139,12,202,72,137,8,139,6,15,182,204,15,182,232,131,198,4,193, | 679 | 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, |
627 | 232,16,252,255,36,252,235,248,3,131,189,233,0,15,132,244,1,255,139,141,233, | 680 | 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235, |
628 | 252,246,129,233,235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128, | 681 | 15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139, |
629 | 165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252,253,252,233, | 682 | 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36, |
630 | 244,2,255,137,124,36,80,139,60,199,248,1,141,12,202,139,105,252,248,252,246, | 683 | 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133, |
631 | 133,233,235,15,133,244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1, | 684 | 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233, |
632 | 252,248,59,133,233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72, | 685 | 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72, |
633 | 139,41,131,193,8,72,137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124, | 686 | 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182, |
634 | 36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 687 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96, |
635 | 248,5,139,76,36,96,137,145,233,137,252,234,65,137,192,137,205,137,116,36, | 688 | 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,35,139, |
636 | 100,232,251,1,34,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, | 689 | 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131, |
637 | 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, | 690 | 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253, |
638 | 84,255,129,124,253,202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114, | 691 | 202,4,239,139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233, |
639 | 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, | 692 | 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76, |
640 | 252,235,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239, | 693 | 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56, |
641 | 15,133,244,28,248,53,139,114,252,252,252,247,198,237,15,133,244,253,248,1, | 694 | 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137, |
642 | 137,106,252,248,137,68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131, | 695 | 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131, |
643 | 193,8,72,137,47,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139, | 696 | 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233, |
644 | 68,36,84,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182,252, | 697 | 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, |
645 | 233,15,182,205,131,198,4,252,255,36,252,235,248,5,255,252,247,198,237,15, | 698 | 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252, |
646 | 133,244,4,15,182,78,252,253,72,252,247,209,141,12,202,139,121,252,248,139, | 699 | 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252, |
647 | 191,233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15, | 700 | 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242, |
648 | 133,244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198, | 701 | 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255, |
649 | 239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,65,252,240,72,137, | 702 | 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105, |
650 | 41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,65,252,252,129, | 703 | 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15, |
651 | 252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181,233,139, | 704 | 133,244,28,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182, |
652 | 14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,137,124,36, | 705 | 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202, |
653 | 80,137,92,36,84,139,108,202,252,240,139,68,202,252,248,139,157,233,131,198, | 706 | 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216, |
654 | 4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,244, | 707 | 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248, |
655 | 250,255,252,242,15,42,192,255,219,68,202,252,248,255,72,139,44,199,72,137, | 708 | 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2, |
656 | 108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180, | 709 | 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139, |
657 | 253,134,233,248,3,139,92,36,84,139,124,36,80,139,6,15,182,204,15,182,232, | 710 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131, |
658 | 131,198,4,193,232,16,252,255,36,252,235,248,4,131,192,1,255,137,68,202,252, | 711 | 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133, |
659 | 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, | 712 | 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253, |
660 | 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,72,139,175,233, | 713 | 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137, |
661 | 72,139,135,233,72,137,44,202,72,137,68,202,8,137,92,202,252,248,252,233,244, | 714 | 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253, |
662 | 2,248,7,131,192,1,252,233,244,6,255,129,124,253,202,252,236,239,15,133,244, | 715 | 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239, |
663 | 251,139,108,202,232,129,124,253,202,252,244,239,15,133,244,251,129,124,253, | 716 | 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235, |
664 | 202,252,252,239,15,133,244,251,128,189,233,235,15,133,244,251,141,180,253, | 717 | 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6, |
665 | 134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131, | 718 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70, |
666 | 198,4,193,232,16,252,255,36,252,235,248,5,198,70,252,252,235,141,180,253, | 719 | 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236, |
667 | 134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182,192,137,124,36, | 720 | 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133, |
668 | 80,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237,15,132,244,251, | 721 | 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248, |
669 | 141,108,252,233,252,248,57,215,15,131,244,248,248,1,72,139,71,252,248,131, | 722 | 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249, |
670 | 199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248, | 723 | 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2, |
671 | 2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,80,139, | 724 | 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
672 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,199, | 725 | 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3, |
673 | 68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131, | 726 | 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133, |
674 | 197,1,137,108,36,84,139,108,36,96,1,200,59,133,233,15,135,244,253,248,6,255, | 727 | 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193, |
675 | 72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,215,15,130,244,6,252,233, | 728 | 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116, |
676 | 244,3,248,7,137,149,233,137,141,233,137,116,36,100,41,215,139,84,36,84,131, | 729 | 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149, |
677 | 252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,233,244, | 730 | 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252, |
678 | 6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,84,252,247,198,237,15, | 731 | 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1, |
679 | 133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,72,139,44,15, | 732 | 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1, |
680 | 72,137,111,252,248,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,84,15, | 733 | 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244, |
681 | 182,110,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,252, | 734 | 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244, |
682 | 248,255,248,5,56,70,252,255,15,135,244,252,255,15,182,78,252,253,72,252,247, | 735 | 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191, |
683 | 209,141,20,202,139,122,252,248,139,191,233,139,191,233,139,6,15,182,204,15, | 736 | 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
684 | 182,232,131,198,4,193,232,16,252,255,36,252,235,248,6,255,199,71,252,252, | 737 | 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244, |
685 | 237,131,199,8,255,199,68,194,252,244,237,255,131,192,1,252,233,244,5,248, | 738 | 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133, |
686 | 7,141,174,233,252,247,197,237,15,133,244,14,41,252,234,255,1,252,233,255, | 739 | 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102, |
687 | 137,252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,141, | 740 | 131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253,4,239, |
688 | 255,141,12,202,255,129,121,253,4,239,15,135,244,54,129,121,253,12,239,15, | 741 | 15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20,239,15, |
689 | 135,244,54,255,139,105,20,255,129,252,253,239,15,135,244,54,255,252,242,15, | 742 | 133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252,237, |
690 | 16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237, | 743 | 15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137, |
691 | 15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65, | 744 | 105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253, |
692 | 24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244, | 745 | 134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6, |
693 | 247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,252,254, | 746 | 141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4, |
694 | 255,15,131,244,248,141,180,253,134,233,255,141,180,253,134,233,15,183,70, | 747 | 193,232,16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141, |
695 | 252,254,15,131,245,255,15,130,244,248,141,180,253,134,233,255,248,3,102,15, | 748 | 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244, |
696 | 46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253,239,15,132,244, | 749 | 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121, |
697 | 247,255,137,105,252,252,139,41,137,105,252,248,252,233,245,255,141,180,253, | 750 | 253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57, |
698 | 134,233,139,1,137,105,252,252,137,65,252,248,255,139,139,233,139,4,129,72, | 751 | 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15, |
699 | 139,128,233,139,108,36,96,137,147,233,137,171,233,76,137,100,36,80,76,137, | 752 | 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, |
700 | 108,36,32,76,137,116,36,24,76,137,124,36,16,72,137,225,72,129,252,236,239, | 753 | 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133, |
701 | 102,15,127,49,102,15,127,185,233,102,68,15,127,129,233,102,68,15,127,137, | 754 | 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255, |
702 | 233,102,68,15,127,145,233,102,68,15,127,153,233,102,68,15,127,161,233,102, | 755 | 15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233, |
703 | 68,15,127,169,233,102,68,15,127,177,233,102,68,15,127,185,233,252,255,224, | 756 | 255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255, |
704 | 255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 757 | 15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1, |
705 | 252,255,36,252,235,255,137,252,245,209,252,237,129,229,239,102,131,172,253, | 758 | 255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252, |
706 | 43,233,1,15,132,244,143,255,139,190,233,139,108,36,96,141,12,202,59,141,233, | 759 | 139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105, |
707 | 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252, | 760 | 252,252,137,65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36, |
708 | 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134, | 761 | 96,137,147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36, |
709 | 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104, | 762 | 24,76,137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127, |
710 | 252,252,137,120,252,248,139,108,36,96,141,12,200,59,141,233,15,135,244,22, | 763 | 185,233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233, |
711 | 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8, | 764 | 102,68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68, |
712 | 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131, | 765 | 15,127,177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233, |
713 | 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233, | 766 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137, |
714 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,248, | 767 | 252,245,209,252,237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255, |
715 | 3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139, | 768 | 139,190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142, |
716 | 106,252,248,72,139,189,233,139,108,36,96,141,68,194,252,248,137,149,233,141, | 769 | 233,57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248, |
717 | 136,233,59,141,233,137,133,233,255,137,252,233,255,72,137,252,250,137,252, | 770 | 3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255, |
718 | 233,255,15,135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233, | 771 | 141,44,197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248, |
719 | 255,199,131,233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114, | 772 | 139,108,36,96,141,12,200,59,141,233,15,135,244,22,137,209,137,194,15,182, |
720 | 252,252,252,233,244,12,255,254,0 | 773 | 174,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249, |
774 | 139,121,252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252, | ||
775 | 237,131,252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15, | ||
776 | 182,232,131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131, | ||
777 | 192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139, | ||
778 | 189,233,139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233, | ||
779 | 137,133,233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233, | ||
780 | 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141, | ||
781 | 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | ||
721 | }; | 782 | }; |
722 | 783 | ||
723 | enum { | 784 | enum { |
@@ -758,9 +819,12 @@ enum { | |||
758 | GLOB_cont_condf, | 819 | GLOB_cont_condf, |
759 | GLOB_vmeta_equal, | 820 | GLOB_vmeta_equal, |
760 | GLOB_vmeta_equal_cd, | 821 | GLOB_vmeta_equal_cd, |
822 | GLOB_vmeta_arith_vno, | ||
761 | GLOB_vmeta_arith_vn, | 823 | GLOB_vmeta_arith_vn, |
824 | GLOB_vmeta_arith_nvo, | ||
762 | GLOB_vmeta_arith_nv, | 825 | GLOB_vmeta_arith_nv, |
763 | GLOB_vmeta_unm, | 826 | GLOB_vmeta_unm, |
827 | GLOB_vmeta_arith_vvo, | ||
764 | GLOB_vmeta_arith_vv, | 828 | GLOB_vmeta_arith_vv, |
765 | GLOB_vmeta_len, | 829 | GLOB_vmeta_len, |
766 | GLOB_vmeta_call_ra, | 830 | GLOB_vmeta_call_ra, |
@@ -775,6 +839,7 @@ enum { | |||
775 | GLOB_ff_setmetatable, | 839 | GLOB_ff_setmetatable, |
776 | GLOB_ff_rawget, | 840 | GLOB_ff_rawget, |
777 | GLOB_ff_tonumber, | 841 | GLOB_ff_tonumber, |
842 | GLOB_fff_resi, | ||
778 | GLOB_fff_resxmm0, | 843 | GLOB_fff_resxmm0, |
779 | GLOB_fff_resn, | 844 | GLOB_fff_resn, |
780 | GLOB_ff_tostring, | 845 | GLOB_ff_tostring, |
@@ -792,11 +857,12 @@ enum { | |||
792 | GLOB_ff_coroutine_wrap_aux, | 857 | GLOB_ff_coroutine_wrap_aux, |
793 | GLOB_ff_coroutine_yield, | 858 | GLOB_ff_coroutine_yield, |
794 | GLOB_ff_math_abs, | 859 | GLOB_ff_math_abs, |
795 | GLOB_ff_math_sqrt, | 860 | GLOB_fff_resbit, |
796 | GLOB_ff_math_floor, | 861 | GLOB_ff_math_floor, |
797 | GLOB_vm_floor, | 862 | GLOB_vm_floor, |
798 | GLOB_ff_math_ceil, | 863 | GLOB_ff_math_ceil, |
799 | GLOB_vm_ceil, | 864 | GLOB_vm_ceil, |
865 | GLOB_ff_math_sqrt, | ||
800 | GLOB_ff_math_log, | 866 | GLOB_ff_math_log, |
801 | GLOB_ff_math_log10, | 867 | GLOB_ff_math_log10, |
802 | GLOB_ff_math_exp, | 868 | GLOB_ff_math_exp, |
@@ -837,7 +903,6 @@ enum { | |||
837 | GLOB_ff_table_getn, | 903 | GLOB_ff_table_getn, |
838 | GLOB_ff_bit_tobit, | 904 | GLOB_ff_bit_tobit, |
839 | GLOB_ff_bit_band, | 905 | GLOB_ff_bit_band, |
840 | GLOB_fff_resbit, | ||
841 | GLOB_fff_fallback_bit_op, | 906 | GLOB_fff_fallback_bit_op, |
842 | GLOB_ff_bit_bor, | 907 | GLOB_ff_bit_bor, |
843 | GLOB_ff_bit_bxor, | 908 | GLOB_ff_bit_bxor, |
@@ -912,9 +977,12 @@ static const char *const globnames[] = { | |||
912 | "cont_condf", | 977 | "cont_condf", |
913 | "vmeta_equal", | 978 | "vmeta_equal", |
914 | "vmeta_equal_cd", | 979 | "vmeta_equal_cd", |
980 | "vmeta_arith_vno", | ||
915 | "vmeta_arith_vn", | 981 | "vmeta_arith_vn", |
982 | "vmeta_arith_nvo", | ||
916 | "vmeta_arith_nv", | 983 | "vmeta_arith_nv", |
917 | "vmeta_unm", | 984 | "vmeta_unm", |
985 | "vmeta_arith_vvo", | ||
918 | "vmeta_arith_vv", | 986 | "vmeta_arith_vv", |
919 | "vmeta_len", | 987 | "vmeta_len", |
920 | "vmeta_call_ra", | 988 | "vmeta_call_ra", |
@@ -929,6 +997,7 @@ static const char *const globnames[] = { | |||
929 | "ff_setmetatable", | 997 | "ff_setmetatable", |
930 | "ff_rawget", | 998 | "ff_rawget", |
931 | "ff_tonumber", | 999 | "ff_tonumber", |
1000 | "fff_resi", | ||
932 | "fff_resxmm0", | 1001 | "fff_resxmm0", |
933 | "fff_resn", | 1002 | "fff_resn", |
934 | "ff_tostring", | 1003 | "ff_tostring", |
@@ -946,11 +1015,12 @@ static const char *const globnames[] = { | |||
946 | "ff_coroutine_wrap_aux", | 1015 | "ff_coroutine_wrap_aux", |
947 | "ff_coroutine_yield", | 1016 | "ff_coroutine_yield", |
948 | "ff_math_abs", | 1017 | "ff_math_abs", |
949 | "ff_math_sqrt", | 1018 | "fff_resbit", |
950 | "ff_math_floor", | 1019 | "ff_math_floor", |
951 | "vm_floor", | 1020 | "vm_floor", |
952 | "ff_math_ceil", | 1021 | "ff_math_ceil", |
953 | "vm_ceil", | 1022 | "vm_ceil", |
1023 | "ff_math_sqrt", | ||
954 | "ff_math_log", | 1024 | "ff_math_log", |
955 | "ff_math_log10", | 1025 | "ff_math_log10", |
956 | "ff_math_exp", | 1026 | "ff_math_exp", |
@@ -991,7 +1061,6 @@ static const char *const globnames[] = { | |||
991 | "ff_table_getn", | 1061 | "ff_table_getn", |
992 | "ff_bit_tobit", | 1062 | "ff_bit_tobit", |
993 | "ff_bit_band", | 1063 | "ff_bit_band", |
994 | "fff_resbit", | ||
995 | "fff_fallback_bit_op", | 1064 | "fff_fallback_bit_op", |
996 | "ff_bit_bor", | 1065 | "ff_bit_bor", |
997 | "ff_bit_bxor", | 1066 | "ff_bit_bxor", |
@@ -1040,6 +1109,7 @@ static const char *const extnames[] = { | |||
1040 | "lj_meta_call", | 1109 | "lj_meta_call", |
1041 | "lj_meta_for@8", | 1110 | "lj_meta_for@8", |
1042 | "lj_tab_get", | 1111 | "lj_tab_get", |
1112 | "lj_str_fromnumber@8", | ||
1043 | "lj_str_fromnum@8", | 1113 | "lj_str_fromnum@8", |
1044 | "lj_tab_next", | 1114 | "lj_tab_next", |
1045 | "lj_tab_getinth@8", | 1115 | "lj_tab_getinth@8", |
@@ -1096,387 +1166,656 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1096 | dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 1166 | dasm_put(Dst, 513, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
1097 | dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); | 1167 | dasm_put(Dst, 619, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); |
1098 | dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1168 | dasm_put(Dst, 777, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); |
1099 | if (sse) { | 1169 | if (LJ_DUALNUM) { |
1100 | dasm_put(Dst, 883); | 1170 | dasm_put(Dst, 883, LJ_TISNUM); |
1171 | } else if (sse) { | ||
1172 | dasm_put(Dst, 893); | ||
1101 | } else { | 1173 | } else { |
1102 | } | 1174 | } |
1103 | dasm_put(Dst, 896, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1175 | dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1104 | dasm_put(Dst, 1043, DISPATCH_GL(tmptv), LJ_TTAB); | 1176 | dasm_put(Dst, 1053, DISPATCH_GL(tmptv), LJ_TTAB); |
1105 | if (sse) { | 1177 | if (LJ_DUALNUM) { |
1106 | dasm_put(Dst, 883); | 1178 | dasm_put(Dst, 883, LJ_TISNUM); |
1179 | } else if (sse) { | ||
1180 | dasm_put(Dst, 893); | ||
1107 | } else { | 1181 | } else { |
1108 | } | 1182 | } |
1109 | dasm_put(Dst, 1066, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1183 | dasm_put(Dst, 1076, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1110 | dasm_put(Dst, 1239, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1184 | dasm_put(Dst, 1249, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1111 | dasm_put(Dst, 1339); | 1185 | dasm_put(Dst, 1349); |
1112 | #if LJ_HASFFI | 1186 | #if LJ_HASFFI |
1113 | dasm_put(Dst, 1359, Dt1(->base)); | 1187 | dasm_put(Dst, 1369, Dt1(->base)); |
1188 | #endif | ||
1189 | dasm_put(Dst, 1400); | ||
1190 | #if LJ_DUALNUM | ||
1191 | dasm_put(Dst, 1403); | ||
1114 | #endif | 1192 | #endif |
1115 | dasm_put(Dst, 1390, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1); | 1193 | dasm_put(Dst, 1409); |
1116 | dasm_put(Dst, 1506, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1194 | #if LJ_DUALNUM |
1117 | dasm_put(Dst, 1691, 1+1, ~LJ_TNUMX); | 1195 | dasm_put(Dst, 877); |
1196 | #endif | ||
1197 | dasm_put(Dst, 1421); | ||
1198 | #if LJ_DUALNUM | ||
1199 | dasm_put(Dst, 1403); | ||
1200 | #endif | ||
1201 | dasm_put(Dst, 1449, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); | ||
1202 | dasm_put(Dst, 1586, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | ||
1203 | dasm_put(Dst, 1769, 1+1, ~LJ_TNUMX); | ||
1118 | if (cmov) { | 1204 | if (cmov) { |
1119 | dasm_put(Dst, 1789); | 1205 | dasm_put(Dst, 1814); |
1206 | } else { | ||
1207 | dasm_put(Dst, 1818); | ||
1208 | } | ||
1209 | dasm_put(Dst, 1827, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | ||
1210 | dasm_put(Dst, 1906, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | ||
1211 | dasm_put(Dst, 1963, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); | ||
1212 | dasm_put(Dst, 2031, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); | ||
1213 | dasm_put(Dst, 2100, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1214 | if (LJ_DUALNUM) { | ||
1215 | dasm_put(Dst, 2185); | ||
1120 | } else { | 1216 | } else { |
1121 | dasm_put(Dst, 1793); | 1217 | dasm_put(Dst, 2202); |
1122 | } | 1218 | } |
1123 | dasm_put(Dst, 1802, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | ||
1124 | dasm_put(Dst, 1881, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | ||
1125 | dasm_put(Dst, 1938, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); | ||
1126 | dasm_put(Dst, 2006, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); | ||
1127 | dasm_put(Dst, 2075, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1128 | dasm_put(Dst, 2160); | ||
1129 | if (sse) { | 1219 | if (sse) { |
1130 | dasm_put(Dst, 2165); | 1220 | dasm_put(Dst, 2207); |
1221 | } else { | ||
1222 | dasm_put(Dst, 2217); | ||
1223 | } | ||
1224 | dasm_put(Dst, 2224, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1225 | dasm_put(Dst, 2290, Dt1(->base)); | ||
1226 | if (LJ_DUALNUM) { | ||
1227 | dasm_put(Dst, 2314); | ||
1131 | } else { | 1228 | } else { |
1132 | dasm_put(Dst, 2175); | 1229 | dasm_put(Dst, 2319); |
1133 | } | 1230 | } |
1134 | dasm_put(Dst, 2182, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1231 | dasm_put(Dst, 2324, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1135 | dasm_put(Dst, 2248, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); | 1232 | dasm_put(Dst, 2417, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1136 | dasm_put(Dst, 2315, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); | ||
1137 | dasm_put(Dst, 2404, LJ_TTAB); | ||
1138 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1233 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1139 | dasm_put(Dst, 2416, Dt6(->metatable)); | 1234 | dasm_put(Dst, 2464, Dt6(->metatable)); |
1140 | #endif | 1235 | #endif |
1141 | dasm_put(Dst, 2425, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1236 | dasm_put(Dst, 2473, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1142 | if (sse) { | 1237 | if (LJ_DUALNUM) { |
1143 | dasm_put(Dst, 2488, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1238 | dasm_put(Dst, 2459); |
1144 | } else { | 1239 | } else { |
1240 | dasm_put(Dst, 2202); | ||
1145 | } | 1241 | } |
1146 | dasm_put(Dst, 2521, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1242 | dasm_put(Dst, 2528); |
1147 | dasm_put(Dst, 2598, 1+1, LJ_TTAB); | 1243 | if (LJ_DUALNUM) { |
1244 | dasm_put(Dst, 2533, LJ_TISNUM); | ||
1245 | } else if (sse) { | ||
1246 | dasm_put(Dst, 2549, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | ||
1247 | } else { | ||
1248 | } | ||
1249 | dasm_put(Dst, 2582, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | ||
1250 | dasm_put(Dst, 2444, 1+1, LJ_TTAB); | ||
1148 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1251 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1149 | dasm_put(Dst, 2416, Dt6(->metatable)); | 1252 | dasm_put(Dst, 2464, Dt6(->metatable)); |
1150 | #endif | 1253 | #endif |
1151 | dasm_put(Dst, 2618, Dt8(->upvalue[0]), LJ_TFUNC); | 1254 | dasm_put(Dst, 2659, Dt8(->upvalue[0]), LJ_TFUNC); |
1255 | if (LJ_DUALNUM) { | ||
1256 | dasm_put(Dst, 2680, LJ_TISNUM); | ||
1257 | } else if (sse) { | ||
1258 | dasm_put(Dst, 2692); | ||
1259 | } else { | ||
1260 | dasm_put(Dst, 2702); | ||
1261 | } | ||
1262 | dasm_put(Dst, 2709, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | ||
1263 | dasm_put(Dst, 2773, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | ||
1264 | dasm_put(Dst, 2863, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | ||
1265 | dasm_put(Dst, 2951, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | ||
1266 | dasm_put(Dst, 3064, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1267 | dasm_put(Dst, 3162, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1268 | dasm_put(Dst, 3229, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1269 | dasm_put(Dst, 3317, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1270 | dasm_put(Dst, 3429, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1271 | if (!LJ_DUALNUM) { | ||
1272 | dasm_put(Dst, 3456); | ||
1273 | } | ||
1152 | if (sse) { | 1274 | if (sse) { |
1153 | dasm_put(Dst, 2639); | 1275 | dasm_put(Dst, 3459); |
1154 | } else { | 1276 | } |
1155 | dasm_put(Dst, 2649); | 1277 | dasm_put(Dst, 3474, 1+1); |
1156 | } | 1278 | if (LJ_DUALNUM) { |
1157 | dasm_put(Dst, 2656, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1279 | dasm_put(Dst, 3485, LJ_TISNUM, LJ_TISNUM); |
1158 | dasm_put(Dst, 2720, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1280 | } else { |
1159 | dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1281 | dasm_put(Dst, 3565, LJ_TISNUM); |
1160 | dasm_put(Dst, 2898, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1282 | } |
1161 | dasm_put(Dst, 3011, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1162 | dasm_put(Dst, 3109, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1163 | dasm_put(Dst, 3176, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1164 | dasm_put(Dst, 3264, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1165 | dasm_put(Dst, 3376, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1166 | if (sse) { | 1283 | if (sse) { |
1167 | dasm_put(Dst, 3403, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1284 | dasm_put(Dst, 3575, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1168 | } else { | 1285 | } else { |
1169 | dasm_put(Dst, 3467, 1+1, LJ_TISNUM); | 1286 | dasm_put(Dst, 3606); |
1287 | } | ||
1288 | dasm_put(Dst, 3623, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1289 | if (LJ_DUALNUM) { | ||
1290 | dasm_put(Dst, 3719, LJ_TISNUM); | ||
1291 | } else { | ||
1292 | dasm_put(Dst, 3565, LJ_TISNUM); | ||
1170 | } | 1293 | } |
1171 | dasm_put(Dst, 3503, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1172 | if (sse) { | 1294 | if (sse) { |
1173 | dasm_put(Dst, 3597, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1295 | dasm_put(Dst, 3741); |
1174 | dasm_put(Dst, 3659, 1+1, LJ_TISNUM); | 1296 | if (LJ_DUALNUM) { |
1297 | dasm_put(Dst, 3750); | ||
1298 | } | ||
1299 | dasm_put(Dst, 2212); | ||
1175 | } else { | 1300 | } else { |
1176 | dasm_put(Dst, 3689, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1301 | dasm_put(Dst, 3784); |
1177 | dasm_put(Dst, 3748, 1+1, LJ_TISNUM); | 1302 | if (LJ_DUALNUM) { |
1303 | } else { | ||
1304 | dasm_put(Dst, 2219); | ||
1305 | } | ||
1306 | } | ||
1307 | dasm_put(Dst, 3790); | ||
1308 | if (LJ_DUALNUM) { | ||
1309 | dasm_put(Dst, 3719, LJ_TISNUM); | ||
1310 | } else { | ||
1311 | dasm_put(Dst, 3565, LJ_TISNUM); | ||
1178 | } | 1312 | } |
1179 | dasm_put(Dst, 3775, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1180 | dasm_put(Dst, 3844, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1181 | dasm_put(Dst, 3901, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1182 | dasm_put(Dst, 3964, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1183 | dasm_put(Dst, 4054); | ||
1184 | if (sse) { | 1313 | if (sse) { |
1185 | dasm_put(Dst, 4066, 1+1, LJ_TISNUM); | 1314 | dasm_put(Dst, 3793); |
1315 | if (LJ_DUALNUM) { | ||
1316 | dasm_put(Dst, 3750); | ||
1317 | } | ||
1318 | dasm_put(Dst, 2212); | ||
1186 | } else { | 1319 | } else { |
1320 | dasm_put(Dst, 3802); | ||
1321 | if (LJ_DUALNUM) { | ||
1322 | } else { | ||
1323 | dasm_put(Dst, 2219); | ||
1324 | } | ||
1187 | } | 1325 | } |
1188 | dasm_put(Dst, 4091); | ||
1189 | if (sse) { | 1326 | if (sse) { |
1190 | dasm_put(Dst, 4105, 1+1, LJ_TISNUM); | 1327 | dasm_put(Dst, 3808, 1+1, LJ_TISNUM); |
1191 | } else { | 1328 | } else { |
1329 | dasm_put(Dst, 3837, 1+1, LJ_TISNUM); | ||
1192 | } | 1330 | } |
1193 | dasm_put(Dst, 4130); | 1331 | dasm_put(Dst, 3866, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1332 | dasm_put(Dst, 3935, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1333 | dasm_put(Dst, 3992, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1334 | dasm_put(Dst, 4055, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1335 | dasm_put(Dst, 4145); | ||
1194 | if (sse) { | 1336 | if (sse) { |
1195 | dasm_put(Dst, 4144, 1+1, LJ_TISNUM); | 1337 | dasm_put(Dst, 4157, 1+1, LJ_TISNUM); |
1196 | } else { | 1338 | } else { |
1197 | } | 1339 | } |
1198 | dasm_put(Dst, 4169); | 1340 | dasm_put(Dst, 4182); |
1199 | if (sse) { | 1341 | if (sse) { |
1200 | dasm_put(Dst, 4185, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1342 | dasm_put(Dst, 4196, 1+1, LJ_TISNUM); |
1201 | } else { | 1343 | } else { |
1202 | dasm_put(Dst, 4224, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | ||
1203 | } | 1344 | } |
1204 | dasm_put(Dst, 4257, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1345 | dasm_put(Dst, 4221); |
1205 | dasm_put(Dst, 4322, 1+1, LJ_TISNUM); | ||
1206 | if (sse) { | 1346 | if (sse) { |
1207 | dasm_put(Dst, 4421); | 1347 | dasm_put(Dst, 4235, 1+1, LJ_TISNUM); |
1208 | } else { | 1348 | } else { |
1209 | dasm_put(Dst, 4427); | ||
1210 | } | 1349 | } |
1211 | dasm_put(Dst, 4436); | 1350 | dasm_put(Dst, 4260); |
1212 | if (sse) { | 1351 | if (sse) { |
1213 | dasm_put(Dst, 4461); | 1352 | dasm_put(Dst, 4276, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1214 | } else { | 1353 | } else { |
1215 | dasm_put(Dst, 4467); | 1354 | dasm_put(Dst, 4315, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1216 | } | 1355 | } |
1217 | dasm_put(Dst, 4470, 1+2); | 1356 | dasm_put(Dst, 4348, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1357 | dasm_put(Dst, 4413, 1+1, LJ_TISNUM); | ||
1218 | if (sse) { | 1358 | if (sse) { |
1219 | dasm_put(Dst, 4479); | 1359 | dasm_put(Dst, 4512); |
1220 | } else { | 1360 | } else { |
1221 | dasm_put(Dst, 4487); | 1361 | dasm_put(Dst, 4518); |
1222 | } | 1362 | } |
1223 | dasm_put(Dst, 4495); | 1363 | dasm_put(Dst, 4527); |
1224 | if (sse) { | 1364 | if (sse) { |
1225 | dasm_put(Dst, 4498, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1365 | dasm_put(Dst, 4552); |
1226 | } else { | 1366 | } else { |
1227 | dasm_put(Dst, 4525); | 1367 | dasm_put(Dst, 4558); |
1228 | } | 1368 | } |
1229 | dasm_put(Dst, 4544); | 1369 | dasm_put(Dst, 4561, 1+2); |
1230 | if (sse) { | 1370 | if (sse) { |
1231 | dasm_put(Dst, 4560, 1+1, LJ_TISNUM); | 1371 | dasm_put(Dst, 4570); |
1232 | } else { | 1372 | } else { |
1233 | dasm_put(Dst, 4585, 1+1, LJ_TISNUM); | 1373 | dasm_put(Dst, 4578); |
1234 | } | 1374 | } |
1235 | dasm_put(Dst, 4607); | 1375 | dasm_put(Dst, 4586); |
1236 | if (sse) { | 1376 | if (sse) { |
1237 | dasm_put(Dst, 4629); | 1377 | dasm_put(Dst, 4589, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1238 | } else { | 1378 | } else { |
1239 | dasm_put(Dst, 4655); | 1379 | dasm_put(Dst, 4616); |
1240 | } | 1380 | } |
1241 | dasm_put(Dst, 4672, 1+2); | 1381 | dasm_put(Dst, 4635); |
1242 | if (sse) { | 1382 | if (sse) { |
1243 | dasm_put(Dst, 4712); | 1383 | dasm_put(Dst, 4651, 1+1, LJ_TISNUM); |
1244 | } else { | 1384 | } else { |
1385 | dasm_put(Dst, 4676, 1+1, LJ_TISNUM); | ||
1386 | } | ||
1387 | dasm_put(Dst, 4698); | ||
1388 | if (sse) { | ||
1245 | dasm_put(Dst, 4720); | 1389 | dasm_put(Dst, 4720); |
1390 | } else { | ||
1391 | dasm_put(Dst, 4746); | ||
1246 | } | 1392 | } |
1247 | dasm_put(Dst, 4730, 2+1, LJ_TISNUM, LJ_TISNUM); | 1393 | dasm_put(Dst, 4763, 1+2); |
1248 | if (sse) { | 1394 | if (sse) { |
1249 | dasm_put(Dst, 4782, 2+1, LJ_TISNUM, LJ_TISNUM); | 1395 | dasm_put(Dst, 4803); |
1250 | } else { | 1396 | } else { |
1251 | dasm_put(Dst, 4829, 2+1, LJ_TISNUM, LJ_TISNUM); | 1397 | dasm_put(Dst, 4811); |
1252 | } | 1398 | } |
1399 | dasm_put(Dst, 4821, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1253 | if (sse) { | 1400 | if (sse) { |
1254 | dasm_put(Dst, 4870, 1+1, LJ_TISNUM, LJ_TISNUM); | 1401 | dasm_put(Dst, 4873, 2+1, LJ_TISNUM, LJ_TISNUM); |
1255 | } else { | 1402 | } else { |
1403 | dasm_put(Dst, 4920, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1256 | } | 1404 | } |
1405 | dasm_put(Dst, 4961, LJ_TISNUM); | ||
1406 | if (LJ_DUALNUM) { | ||
1407 | dasm_put(Dst, 4974, LJ_TISNUM); | ||
1257 | if (sse) { | 1408 | if (sse) { |
1258 | dasm_put(Dst, 4941, 1+1, LJ_TISNUM, LJ_TISNUM); | 1409 | dasm_put(Dst, 4512); |
1259 | } else { | 1410 | } else { |
1260 | } | 1411 | } |
1261 | if (!sse) { | 1412 | dasm_put(Dst, 5024); |
1262 | dasm_put(Dst, 5012); | 1413 | } else { |
1414 | dasm_put(Dst, 2202); | ||
1263 | } | 1415 | } |
1264 | dasm_put(Dst, 5021, 1+1, LJ_TSTR); | ||
1265 | if (sse) { | 1416 | if (sse) { |
1266 | dasm_put(Dst, 5043, Dt5(->len)); | 1417 | dasm_put(Dst, 5035, LJ_TISNUM); |
1418 | if (LJ_DUALNUM) { | ||
1419 | dasm_put(Dst, 5056); | ||
1267 | } else { | 1420 | } else { |
1268 | dasm_put(Dst, 5054, Dt5(->len)); | 1421 | dasm_put(Dst, 2202); |
1269 | } | 1422 | } |
1270 | dasm_put(Dst, 5062, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1423 | dasm_put(Dst, 5077); |
1271 | if (sse) { | ||
1272 | dasm_put(Dst, 5100); | ||
1273 | } else { | 1424 | } else { |
1274 | dasm_put(Dst, 5110); | ||
1275 | } | 1425 | } |
1276 | dasm_put(Dst, 5123, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1426 | dasm_put(Dst, 5102, LJ_TISNUM); |
1427 | if (LJ_DUALNUM) { | ||
1428 | dasm_put(Dst, 5115, LJ_TISNUM); | ||
1277 | if (sse) { | 1429 | if (sse) { |
1278 | dasm_put(Dst, 5158); | 1430 | dasm_put(Dst, 4512); |
1279 | } else { | 1431 | } else { |
1280 | dasm_put(Dst, 5180); | ||
1281 | } | 1432 | } |
1282 | dasm_put(Dst, 5200, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1433 | dasm_put(Dst, 5024); |
1283 | dasm_put(Dst, 2160); | ||
1284 | if (sse) { | ||
1285 | dasm_put(Dst, 5308); | ||
1286 | } else { | 1434 | } else { |
1287 | dasm_put(Dst, 5319); | 1435 | dasm_put(Dst, 2202); |
1288 | } | 1436 | } |
1289 | dasm_put(Dst, 5327, LJ_TSTR, LJ_TISNUM, Dt5(->len)); | ||
1290 | if (sse) { | 1437 | if (sse) { |
1291 | dasm_put(Dst, 5357); | 1438 | dasm_put(Dst, 5035, LJ_TISNUM); |
1439 | if (LJ_DUALNUM) { | ||
1440 | dasm_put(Dst, 5056); | ||
1441 | } else { | ||
1442 | dasm_put(Dst, 2202); | ||
1443 | } | ||
1444 | dasm_put(Dst, 5165); | ||
1445 | } else { | ||
1446 | } | ||
1447 | if (!sse) { | ||
1448 | dasm_put(Dst, 5190); | ||
1449 | } | ||
1450 | dasm_put(Dst, 5199, 1+1, LJ_TSTR); | ||
1451 | if (LJ_DUALNUM) { | ||
1452 | dasm_put(Dst, 5221, Dt5(->len)); | ||
1453 | } else if (sse) { | ||
1454 | dasm_put(Dst, 5229, Dt5(->len)); | ||
1455 | } else { | ||
1456 | dasm_put(Dst, 5240, Dt5(->len)); | ||
1457 | } | ||
1458 | dasm_put(Dst, 5248, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | ||
1459 | if (LJ_DUALNUM) { | ||
1460 | dasm_put(Dst, 5224); | ||
1461 | } else if (sse) { | ||
1462 | dasm_put(Dst, 5286); | ||
1463 | } else { | ||
1464 | dasm_put(Dst, 5296); | ||
1465 | } | ||
1466 | dasm_put(Dst, 5309, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | ||
1467 | if (LJ_DUALNUM) { | ||
1468 | dasm_put(Dst, 5340); | ||
1469 | } else if (sse) { | ||
1470 | dasm_put(Dst, 5363); | ||
1471 | } else { | ||
1472 | dasm_put(Dst, 5389); | ||
1473 | } | ||
1474 | dasm_put(Dst, 5413, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | ||
1475 | if (LJ_DUALNUM) { | ||
1476 | dasm_put(Dst, 5521); | ||
1477 | } else if (sse) { | ||
1478 | dasm_put(Dst, 5533); | ||
1479 | } else { | ||
1480 | dasm_put(Dst, 5548); | ||
1481 | } | ||
1482 | dasm_put(Dst, 5560, LJ_TSTR, LJ_TISNUM); | ||
1483 | if (LJ_DUALNUM) { | ||
1484 | dasm_put(Dst, 2459); | ||
1485 | } else { | ||
1486 | dasm_put(Dst, 2202); | ||
1487 | } | ||
1488 | dasm_put(Dst, 5577, Dt5(->len)); | ||
1489 | if (LJ_DUALNUM) { | ||
1490 | dasm_put(Dst, 5587); | ||
1491 | } else if (sse) { | ||
1492 | dasm_put(Dst, 5591); | ||
1292 | } else { | 1493 | } else { |
1293 | } | 1494 | } |
1294 | dasm_put(Dst, 5364, sizeof(GCstr)-1); | 1495 | dasm_put(Dst, 5598, sizeof(GCstr)-1); |
1295 | dasm_put(Dst, 5439, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1496 | dasm_put(Dst, 5673, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1296 | dasm_put(Dst, 5498, LJ_TSTR, LJ_TISNUM); | 1497 | dasm_put(Dst, 5732, LJ_TSTR, LJ_TISNUM); |
1498 | if (LJ_DUALNUM) { | ||
1499 | dasm_put(Dst, 5749); | ||
1500 | } else if (sse) { | ||
1501 | dasm_put(Dst, 5757); | ||
1502 | } else { | ||
1503 | dasm_put(Dst, 5768); | ||
1504 | } | ||
1505 | dasm_put(Dst, 5784, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1506 | dasm_put(Dst, 5849, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1507 | dasm_put(Dst, 5912, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | ||
1508 | dasm_put(Dst, 5983, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1509 | dasm_put(Dst, 6068, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1510 | dasm_put(Dst, 6138, 1+1, LJ_TTAB); | ||
1511 | if (LJ_DUALNUM) { | ||
1512 | dasm_put(Dst, 6206); | ||
1513 | } else if (sse) { | ||
1514 | dasm_put(Dst, 6213); | ||
1515 | } else { | ||
1516 | } | ||
1517 | dasm_put(Dst, 6223, LJ_TISNUM); | ||
1518 | if (LJ_DUALNUM) { | ||
1519 | dasm_put(Dst, 6231); | ||
1520 | } else { | ||
1521 | dasm_put(Dst, 2202); | ||
1522 | } | ||
1297 | if (sse) { | 1523 | if (sse) { |
1298 | dasm_put(Dst, 5519); | 1524 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1299 | } else { | 1525 | } else { |
1300 | dasm_put(Dst, 5526); | ||
1301 | } | 1526 | } |
1302 | dasm_put(Dst, 5538, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1527 | dasm_put(Dst, 106); |
1303 | dasm_put(Dst, 5603, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1528 | if (LJ_DUALNUM || sse) { |
1304 | dasm_put(Dst, 5666, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1529 | if (!sse) { |
1305 | dasm_put(Dst, 5737, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1530 | } |
1306 | dasm_put(Dst, 5822, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1531 | dasm_put(Dst, 6272); |
1307 | dasm_put(Dst, 5892, 1+1, LJ_TTAB); | 1532 | } else { |
1533 | } | ||
1534 | dasm_put(Dst, 6277); | ||
1308 | if (sse) { | 1535 | if (sse) { |
1309 | dasm_put(Dst, 5960); | 1536 | dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1537 | } else { | ||
1538 | dasm_put(Dst, 6290); | ||
1539 | } | ||
1540 | dasm_put(Dst, 2179, LJ_TISNUM); | ||
1541 | if (LJ_DUALNUM) { | ||
1542 | dasm_put(Dst, 6299); | ||
1310 | } else { | 1543 | } else { |
1544 | dasm_put(Dst, 2202); | ||
1311 | } | 1545 | } |
1312 | if (sse) { | 1546 | if (sse) { |
1313 | dasm_put(Dst, 5970, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1547 | dasm_put(Dst, 6316); |
1314 | } else { | 1548 | } else { |
1315 | } | 1549 | } |
1550 | dasm_put(Dst, 6331, LJ_TISNUM); | ||
1551 | if (LJ_DUALNUM) { | ||
1552 | dasm_put(Dst, 6356); | ||
1553 | } else { | ||
1554 | dasm_put(Dst, 6376); | ||
1555 | } | ||
1316 | if (sse) { | 1556 | if (sse) { |
1317 | dasm_put(Dst, 6022, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1557 | dasm_put(Dst, 6381); |
1318 | } else { | 1558 | } else { |
1319 | } | 1559 | } |
1320 | dasm_put(Dst, 6065, LJ_TISNUM); | 1560 | dasm_put(Dst, 6398); |
1321 | if (sse) { | 1561 | if (sse) { |
1322 | dasm_put(Dst, 6092); | 1562 | dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1563 | } else { | ||
1564 | dasm_put(Dst, 6290); | ||
1565 | } | ||
1566 | dasm_put(Dst, 2179, LJ_TISNUM); | ||
1567 | if (LJ_DUALNUM) { | ||
1568 | dasm_put(Dst, 6299); | ||
1323 | } else { | 1569 | } else { |
1570 | dasm_put(Dst, 2202); | ||
1324 | } | 1571 | } |
1325 | dasm_put(Dst, 6109); | ||
1326 | if (sse) { | 1572 | if (sse) { |
1327 | dasm_put(Dst, 6117, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1573 | dasm_put(Dst, 6316); |
1574 | } else { | ||
1575 | } | ||
1576 | dasm_put(Dst, 6331, LJ_TISNUM); | ||
1577 | if (LJ_DUALNUM) { | ||
1578 | dasm_put(Dst, 6408); | ||
1328 | } else { | 1579 | } else { |
1580 | dasm_put(Dst, 6376); | ||
1329 | } | 1581 | } |
1330 | dasm_put(Dst, 6065, LJ_TISNUM); | ||
1331 | if (sse) { | 1582 | if (sse) { |
1332 | dasm_put(Dst, 6160); | 1583 | dasm_put(Dst, 6428); |
1333 | } else { | 1584 | } else { |
1334 | } | 1585 | } |
1335 | dasm_put(Dst, 6109); | 1586 | dasm_put(Dst, 6445); |
1336 | if (sse) { | 1587 | if (sse) { |
1337 | dasm_put(Dst, 6177, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1588 | dasm_put(Dst, 6280, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1589 | } else { | ||
1590 | dasm_put(Dst, 6290); | ||
1591 | } | ||
1592 | dasm_put(Dst, 2179, LJ_TISNUM); | ||
1593 | if (LJ_DUALNUM) { | ||
1594 | dasm_put(Dst, 6299); | ||
1338 | } else { | 1595 | } else { |
1596 | dasm_put(Dst, 2202); | ||
1339 | } | 1597 | } |
1340 | dasm_put(Dst, 6065, LJ_TISNUM); | ||
1341 | if (sse) { | 1598 | if (sse) { |
1342 | dasm_put(Dst, 6220); | 1599 | dasm_put(Dst, 6316); |
1600 | } else { | ||
1601 | } | ||
1602 | dasm_put(Dst, 6331, LJ_TISNUM); | ||
1603 | if (LJ_DUALNUM) { | ||
1604 | dasm_put(Dst, 6455); | ||
1343 | } else { | 1605 | } else { |
1606 | dasm_put(Dst, 6376); | ||
1344 | } | 1607 | } |
1345 | dasm_put(Dst, 6109); | ||
1346 | if (sse) { | 1608 | if (sse) { |
1347 | dasm_put(Dst, 6237, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1609 | dasm_put(Dst, 6475); |
1348 | } else { | 1610 | } else { |
1349 | } | 1611 | } |
1350 | dasm_put(Dst, 6280); | 1612 | dasm_put(Dst, 6492, LJ_TISNUM); |
1613 | if (LJ_DUALNUM) { | ||
1614 | dasm_put(Dst, 6299); | ||
1615 | } else { | ||
1616 | dasm_put(Dst, 2202); | ||
1617 | } | ||
1351 | if (sse) { | 1618 | if (sse) { |
1352 | dasm_put(Dst, 6287, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1619 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1620 | } else { | ||
1621 | } | ||
1622 | dasm_put(Dst, 6507, LJ_TISNUM); | ||
1623 | if (LJ_DUALNUM) { | ||
1624 | dasm_put(Dst, 6299); | ||
1353 | } else { | 1625 | } else { |
1626 | dasm_put(Dst, 2202); | ||
1354 | } | 1627 | } |
1355 | dasm_put(Dst, 6330); | ||
1356 | if (sse) { | 1628 | if (sse) { |
1357 | dasm_put(Dst, 6334); | 1629 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1630 | } else { | ||
1631 | } | ||
1632 | dasm_put(Dst, 6523); | ||
1633 | if (LJ_DUALNUM) { | ||
1634 | dasm_put(Dst, 6272); | ||
1635 | } else if (sse) { | ||
1636 | dasm_put(Dst, 6529); | ||
1637 | } else { | ||
1638 | } | ||
1639 | dasm_put(Dst, 6541); | ||
1640 | if (LJ_DUALNUM) { | ||
1641 | dasm_put(Dst, 6552, LJ_TISNUM); | ||
1642 | if (LJ_DUALNUM) { | ||
1643 | dasm_put(Dst, 6299); | ||
1358 | } else { | 1644 | } else { |
1645 | dasm_put(Dst, 2202); | ||
1359 | } | 1646 | } |
1360 | dasm_put(Dst, 6346); | ||
1361 | if (sse) { | 1647 | if (sse) { |
1362 | dasm_put(Dst, 6357, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1648 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1363 | } else { | 1649 | } else { |
1364 | } | 1650 | } |
1365 | dasm_put(Dst, 6426); | 1651 | dasm_put(Dst, 6560, LJ_TISNUM); |
1652 | } else if (sse) { | ||
1653 | dasm_put(Dst, 6575, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1654 | } else { | ||
1655 | } | ||
1656 | dasm_put(Dst, 6642); | ||
1657 | if (LJ_DUALNUM) { | ||
1658 | dasm_put(Dst, 6649, LJ_TISNUM); | ||
1659 | if (LJ_DUALNUM) { | ||
1660 | dasm_put(Dst, 6299); | ||
1661 | } else { | ||
1662 | dasm_put(Dst, 2202); | ||
1663 | } | ||
1366 | if (sse) { | 1664 | if (sse) { |
1367 | dasm_put(Dst, 6435, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1665 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1666 | } else { | ||
1667 | } | ||
1668 | dasm_put(Dst, 6560, LJ_TISNUM); | ||
1669 | } else if (sse) { | ||
1670 | dasm_put(Dst, 6657, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1671 | } else { | ||
1672 | } | ||
1673 | dasm_put(Dst, 6724); | ||
1674 | if (LJ_DUALNUM) { | ||
1675 | dasm_put(Dst, 6732, LJ_TISNUM); | ||
1676 | if (LJ_DUALNUM) { | ||
1677 | dasm_put(Dst, 6299); | ||
1368 | } else { | 1678 | } else { |
1679 | dasm_put(Dst, 2202); | ||
1369 | } | 1680 | } |
1370 | dasm_put(Dst, 6504); | ||
1371 | if (sse) { | 1681 | if (sse) { |
1372 | dasm_put(Dst, 6514, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1682 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1373 | } else { | 1683 | } else { |
1374 | } | 1684 | } |
1375 | dasm_put(Dst, 6583); | 1685 | dasm_put(Dst, 6560, LJ_TISNUM); |
1686 | } else if (sse) { | ||
1687 | dasm_put(Dst, 6740, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1688 | } else { | ||
1689 | } | ||
1690 | dasm_put(Dst, 6807); | ||
1691 | if (LJ_DUALNUM) { | ||
1692 | dasm_put(Dst, 6815, LJ_TISNUM); | ||
1693 | if (LJ_DUALNUM) { | ||
1694 | dasm_put(Dst, 6299); | ||
1695 | } else { | ||
1696 | dasm_put(Dst, 2202); | ||
1697 | } | ||
1376 | if (sse) { | 1698 | if (sse) { |
1377 | dasm_put(Dst, 6593, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1699 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1378 | } else { | 1700 | } else { |
1379 | } | 1701 | } |
1380 | dasm_put(Dst, 6662); | 1702 | dasm_put(Dst, 6560, LJ_TISNUM); |
1703 | } else if (sse) { | ||
1704 | dasm_put(Dst, 6823, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1705 | } else { | ||
1706 | } | ||
1707 | dasm_put(Dst, 6890); | ||
1708 | if (LJ_DUALNUM) { | ||
1709 | dasm_put(Dst, 6897, LJ_TISNUM); | ||
1710 | if (LJ_DUALNUM) { | ||
1711 | dasm_put(Dst, 6299); | ||
1712 | } else { | ||
1713 | dasm_put(Dst, 2202); | ||
1714 | } | ||
1381 | if (sse) { | 1715 | if (sse) { |
1382 | dasm_put(Dst, 6671, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1716 | dasm_put(Dst, 6248, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1717 | } else { | ||
1718 | } | ||
1719 | dasm_put(Dst, 6560, LJ_TISNUM); | ||
1720 | } else if (sse) { | ||
1721 | dasm_put(Dst, 6905, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | ||
1383 | } else { | 1722 | } else { |
1384 | } | 1723 | } |
1385 | dasm_put(Dst, 6740, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1724 | dasm_put(Dst, 6972, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1386 | dasm_put(Dst, 6818, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1725 | dasm_put(Dst, 7048, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1387 | dasm_put(Dst, 6945, Dt1(->top), Dt1(->base), Dt1(->top)); | 1726 | dasm_put(Dst, 7175, Dt1(->top), Dt1(->base), Dt1(->top)); |
1388 | #if LJ_HASJIT | 1727 | #if LJ_HASJIT |
1389 | dasm_put(Dst, 6984, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1728 | dasm_put(Dst, 7214, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1390 | #endif | 1729 | #endif |
1391 | dasm_put(Dst, 7015, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1730 | dasm_put(Dst, 7245, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1392 | dasm_put(Dst, 7066, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1731 | dasm_put(Dst, 7296, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1393 | #if LJ_HASJIT | 1732 | #if LJ_HASJIT |
1394 | dasm_put(Dst, 7133, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1733 | dasm_put(Dst, 7363, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1395 | #endif | 1734 | #endif |
1396 | dasm_put(Dst, 7180); | 1735 | dasm_put(Dst, 7410); |
1397 | #if LJ_HASJIT | 1736 | #if LJ_HASJIT |
1398 | dasm_put(Dst, 7010); | 1737 | dasm_put(Dst, 7240); |
1399 | #endif | 1738 | #endif |
1400 | dasm_put(Dst, 7187); | 1739 | dasm_put(Dst, 7417); |
1401 | #if LJ_HASJIT | 1740 | #if LJ_HASJIT |
1402 | dasm_put(Dst, 7190); | 1741 | dasm_put(Dst, 7420); |
1403 | #endif | 1742 | #endif |
1404 | dasm_put(Dst, 7200, Dt1(->base), Dt1(->top)); | 1743 | dasm_put(Dst, 7430, Dt1(->base), Dt1(->top)); |
1405 | #if LJ_HASJIT | 1744 | #if LJ_HASJIT |
1406 | dasm_put(Dst, 7234); | 1745 | dasm_put(Dst, 7464); |
1407 | #endif | 1746 | #endif |
1408 | dasm_put(Dst, 7239, Dt1(->base), Dt1(->top)); | 1747 | dasm_put(Dst, 7469, Dt1(->base), Dt1(->top)); |
1409 | #if LJ_HASJIT | 1748 | #if LJ_HASJIT |
1410 | dasm_put(Dst, 7270, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1749 | dasm_put(Dst, 7500, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1411 | #endif | 1750 | #endif |
1412 | dasm_put(Dst, 7500); | 1751 | dasm_put(Dst, 7730); |
1413 | #if LJ_HASJIT | 1752 | #if LJ_HASJIT |
1414 | dasm_put(Dst, 7503, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1753 | dasm_put(Dst, 7733, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1415 | dasm_put(Dst, 7645); | 1754 | dasm_put(Dst, 7875); |
1416 | #endif | 1755 | #endif |
1417 | dasm_put(Dst, 7671); | 1756 | dasm_put(Dst, 7901); |
1418 | if (!sse) { | 1757 | if (!sse) { |
1419 | dasm_put(Dst, 7674); | 1758 | dasm_put(Dst, 7904); |
1420 | } | 1759 | } |
1421 | dasm_put(Dst, 7719, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1760 | dasm_put(Dst, 7949, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1422 | if (!sse) { | 1761 | if (!sse) { |
1423 | dasm_put(Dst, 7805); | 1762 | dasm_put(Dst, 8035); |
1424 | } | 1763 | } |
1425 | dasm_put(Dst, 7850, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1764 | dasm_put(Dst, 8080, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); |
1426 | if (!sse) { | 1765 | if (!sse) { |
1427 | dasm_put(Dst, 7936); | 1766 | dasm_put(Dst, 8166); |
1428 | } | 1767 | } |
1429 | dasm_put(Dst, 7975, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1768 | dasm_put(Dst, 8205, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1430 | if (sse) { | 1769 | if (sse) { |
1431 | dasm_put(Dst, 8064, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1770 | dasm_put(Dst, 8294, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1432 | } else { | 1771 | } else { |
1433 | dasm_put(Dst, 8178); | 1772 | dasm_put(Dst, 8408); |
1434 | } | 1773 | } |
1435 | dasm_put(Dst, 8225); | 1774 | dasm_put(Dst, 8455); |
1436 | if (!sse) { | 1775 | if (!sse) { |
1437 | } else { | 1776 | } else { |
1438 | dasm_put(Dst, 8299); | 1777 | dasm_put(Dst, 8529); |
1439 | } | 1778 | } |
1440 | dasm_put(Dst, 8302); | 1779 | dasm_put(Dst, 8532); |
1441 | dasm_put(Dst, 8387, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1780 | dasm_put(Dst, 8617, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1442 | dasm_put(Dst, 8490, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); | 1781 | dasm_put(Dst, 8720, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32)); |
1443 | dasm_put(Dst, 8646); | 1782 | dasm_put(Dst, 8876); |
1444 | #if LJ_HASJIT | 1783 | #if LJ_HASJIT |
1445 | if (sse) { | 1784 | if (sse) { |
1446 | dasm_put(Dst, 8687); | 1785 | dasm_put(Dst, 8917); |
1447 | dasm_put(Dst, 8757); | 1786 | dasm_put(Dst, 8987); |
1448 | dasm_put(Dst, 8830); | 1787 | dasm_put(Dst, 9060); |
1449 | } else { | 1788 | } else { |
1450 | dasm_put(Dst, 8880); | 1789 | dasm_put(Dst, 9110); |
1451 | dasm_put(Dst, 8972); | 1790 | dasm_put(Dst, 9202); |
1452 | } | 1791 | } |
1453 | dasm_put(Dst, 9018); | 1792 | dasm_put(Dst, 9248); |
1454 | #endif | 1793 | #endif |
1455 | dasm_put(Dst, 9022); | 1794 | dasm_put(Dst, 9252); |
1456 | if (sse) { | 1795 | if (sse) { |
1457 | dasm_put(Dst, 9025, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1796 | dasm_put(Dst, 9255, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1458 | dasm_put(Dst, 9114, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1797 | dasm_put(Dst, 9344, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1459 | } else { | 1798 | } else { |
1460 | dasm_put(Dst, 9238); | 1799 | dasm_put(Dst, 9468); |
1461 | dasm_put(Dst, 9321); | 1800 | dasm_put(Dst, 9551); |
1462 | if (cmov) { | 1801 | if (cmov) { |
1463 | dasm_put(Dst, 9376); | 1802 | dasm_put(Dst, 9606); |
1464 | } else { | 1803 | } else { |
1465 | dasm_put(Dst, 9395); | 1804 | dasm_put(Dst, 9625); |
1466 | } | 1805 | } |
1467 | dasm_put(Dst, 9018); | 1806 | dasm_put(Dst, 9248); |
1468 | } | 1807 | } |
1469 | dasm_put(Dst, 9436); | 1808 | dasm_put(Dst, 9666); |
1470 | #if LJ_HASFFI | 1809 | #if LJ_HASFFI |
1471 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1810 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
1472 | dasm_put(Dst, 9464, DtE(->spadj)); | 1811 | dasm_put(Dst, 9694, DtE(->spadj)); |
1473 | #if LJ_TARGET_WINDOWS | 1812 | #if LJ_TARGET_WINDOWS |
1474 | #endif | 1813 | #endif |
1475 | dasm_put(Dst, 9479, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); | 1814 | dasm_put(Dst, 9709, DtE(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtE(->nfpr), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->fpr[0]), DtE(->fpr[1]), DtE(->fpr[2]), DtE(->fpr[3])); |
1476 | dasm_put(Dst, 9560, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); | 1815 | dasm_put(Dst, 9790, DtE(->func), DtE(->gpr[0]), DtE(->fpr[0])); |
1477 | #if LJ_TARGET_WINDOWS | 1816 | #if LJ_TARGET_WINDOWS |
1478 | #endif | 1817 | #endif |
1479 | dasm_put(Dst, 9573); | 1818 | dasm_put(Dst, 9803); |
1480 | #endif | 1819 | #endif |
1481 | } | 1820 | } |
1482 | 1821 | ||
@@ -1484,7 +1823,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1484 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1823 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1485 | { | 1824 | { |
1486 | int vk = 0; | 1825 | int vk = 0; |
1487 | dasm_put(Dst, 9581, defop); | 1826 | dasm_put(Dst, 9811, defop); |
1488 | 1827 | ||
1489 | switch (op) { | 1828 | switch (op) { |
1490 | 1829 | ||
@@ -1492,642 +1831,906 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1492 | 1831 | ||
1493 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1832 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1494 | 1833 | ||
1834 | |||
1495 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1835 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1496 | dasm_put(Dst, 9583, LJ_TISNUM, LJ_TISNUM); | 1836 | if (LJ_DUALNUM) { |
1837 | dasm_put(Dst, 9813, LJ_TISNUM, LJ_TISNUM); | ||
1838 | switch (op) { | ||
1839 | case BC_ISLT: | ||
1840 | dasm_put(Dst, 9843); | ||
1841 | break; | ||
1842 | case BC_ISGE: | ||
1843 | dasm_put(Dst, 9848); | ||
1844 | break; | ||
1845 | case BC_ISLE: | ||
1846 | dasm_put(Dst, 9853); | ||
1847 | break; | ||
1848 | case BC_ISGT: | ||
1849 | dasm_put(Dst, 9858); | ||
1850 | break; | ||
1851 | default: break; /* Shut up GCC. */ | ||
1852 | } | ||
1853 | dasm_put(Dst, 9863, -BCBIAS_J*4, LJ_TISNUM); | ||
1854 | if (sse) { | ||
1855 | dasm_put(Dst, 9917); | ||
1856 | } else { | ||
1857 | dasm_put(Dst, 9928); | ||
1858 | } | ||
1859 | dasm_put(Dst, 9939); | ||
1860 | if (sse) { | ||
1861 | dasm_put(Dst, 9946); | ||
1862 | switch (op) { | ||
1863 | case BC_ISLT: | ||
1864 | dasm_put(Dst, 9966); | ||
1865 | break; | ||
1866 | case BC_ISGE: | ||
1867 | dasm_put(Dst, 9971); | ||
1868 | break; | ||
1869 | case BC_ISLE: | ||
1870 | dasm_put(Dst, 9976); | ||
1871 | break; | ||
1872 | case BC_ISGT: | ||
1873 | dasm_put(Dst, 9981); | ||
1874 | break; | ||
1875 | default: break; /* Shut up GCC. */ | ||
1876 | } | ||
1877 | dasm_put(Dst, 9986); | ||
1878 | } else { | ||
1879 | dasm_put(Dst, 9991); | ||
1880 | } | ||
1881 | } else { | ||
1882 | dasm_put(Dst, 9999, LJ_TISNUM, LJ_TISNUM); | ||
1883 | } | ||
1497 | if (sse) { | 1884 | if (sse) { |
1498 | dasm_put(Dst, 9604); | 1885 | dasm_put(Dst, 10020); |
1499 | } else { | 1886 | } else { |
1500 | dasm_put(Dst, 9619); | 1887 | dasm_put(Dst, 10041); |
1501 | if (cmov) { | 1888 | if (cmov) { |
1502 | dasm_put(Dst, 9629); | 1889 | dasm_put(Dst, 10057); |
1503 | } else { | 1890 | } else { |
1504 | dasm_put(Dst, 9635); | 1891 | dasm_put(Dst, 10063); |
1505 | } | 1892 | } |
1506 | } | 1893 | } |
1507 | switch (op) { | 1894 | if (LJ_DUALNUM) { |
1508 | case BC_ISLT: | 1895 | switch (op) { |
1509 | dasm_put(Dst, 9642); | 1896 | case BC_ISLT: |
1897 | dasm_put(Dst, 9966); | ||
1898 | break; | ||
1899 | case BC_ISGE: | ||
1900 | dasm_put(Dst, 9971); | ||
1901 | break; | ||
1902 | case BC_ISLE: | ||
1903 | dasm_put(Dst, 9976); | ||
1510 | break; | 1904 | break; |
1511 | case BC_ISGE: | 1905 | case BC_ISGT: |
1512 | dasm_put(Dst, 9316); | 1906 | dasm_put(Dst, 9981); |
1513 | break; | 1907 | break; |
1514 | case BC_ISLE: | 1908 | default: break; /* Shut up GCC. */ |
1515 | dasm_put(Dst, 5887); | 1909 | } |
1910 | dasm_put(Dst, 9986); | ||
1911 | } else { | ||
1912 | switch (op) { | ||
1913 | case BC_ISLT: | ||
1914 | dasm_put(Dst, 10070); | ||
1516 | break; | 1915 | break; |
1517 | case BC_ISGT: | 1916 | case BC_ISGE: |
1518 | dasm_put(Dst, 9647); | 1917 | dasm_put(Dst, 10075); |
1519 | break; | 1918 | break; |
1520 | default: break; /* Shut up GCC. */ | 1919 | case BC_ISLE: |
1920 | dasm_put(Dst, 10080); | ||
1921 | break; | ||
1922 | case BC_ISGT: | ||
1923 | dasm_put(Dst, 10085); | ||
1924 | break; | ||
1925 | default: break; /* Shut up GCC. */ | ||
1926 | } | ||
1927 | dasm_put(Dst, 10090, -BCBIAS_J*4); | ||
1521 | } | 1928 | } |
1522 | dasm_put(Dst, 9652, -BCBIAS_J*4); | ||
1523 | break; | 1929 | break; |
1524 | 1930 | ||
1525 | case BC_ISEQV: case BC_ISNEV: | 1931 | case BC_ISEQV: case BC_ISNEV: |
1526 | vk = op == BC_ISEQV; | 1932 | vk = op == BC_ISEQV; |
1527 | dasm_put(Dst, 9686, LJ_TISNUM, LJ_TISNUM); | 1933 | dasm_put(Dst, 10122); |
1934 | if (LJ_DUALNUM) { | ||
1935 | dasm_put(Dst, 10130, LJ_TISNUM, LJ_TISNUM); | ||
1936 | if (vk) { | ||
1937 | dasm_put(Dst, 10155); | ||
1938 | } else { | ||
1939 | dasm_put(Dst, 10160); | ||
1940 | } | ||
1941 | dasm_put(Dst, 10165, -BCBIAS_J*4, LJ_TISNUM); | ||
1942 | if (sse) { | ||
1943 | dasm_put(Dst, 10217); | ||
1944 | } else { | ||
1945 | dasm_put(Dst, 10224); | ||
1946 | } | ||
1947 | dasm_put(Dst, 10228); | ||
1948 | if (sse) { | ||
1949 | dasm_put(Dst, 10239); | ||
1950 | } else { | ||
1951 | dasm_put(Dst, 10251); | ||
1952 | } | ||
1953 | dasm_put(Dst, 10258); | ||
1954 | } else { | ||
1955 | dasm_put(Dst, 10263, LJ_TISNUM, LJ_TISNUM); | ||
1956 | } | ||
1528 | if (sse) { | 1957 | if (sse) { |
1529 | dasm_put(Dst, 9712); | 1958 | dasm_put(Dst, 10282); |
1530 | } else { | 1959 | } else { |
1531 | dasm_put(Dst, 9724); | 1960 | dasm_put(Dst, 10300); |
1532 | if (cmov) { | 1961 | if (cmov) { |
1533 | dasm_put(Dst, 9629); | 1962 | dasm_put(Dst, 10057); |
1534 | } else { | 1963 | } else { |
1535 | dasm_put(Dst, 9635); | 1964 | dasm_put(Dst, 10063); |
1536 | } | 1965 | } |
1537 | } | 1966 | } |
1538 | iseqne_fp: | 1967 | iseqne_fp: |
1539 | if (vk) { | 1968 | if (vk) { |
1540 | dasm_put(Dst, 9731); | 1969 | dasm_put(Dst, 10313); |
1541 | } else { | 1970 | } else { |
1542 | dasm_put(Dst, 9740); | 1971 | dasm_put(Dst, 10322); |
1543 | } | 1972 | } |
1544 | iseqne_end: | 1973 | iseqne_end: |
1545 | if (vk) { | 1974 | if (vk) { |
1546 | dasm_put(Dst, 9749, -BCBIAS_J*4); | 1975 | dasm_put(Dst, 10331, -BCBIAS_J*4); |
1547 | if (!LJ_HASFFI) { | 1976 | if (!LJ_HASFFI) { |
1548 | dasm_put(Dst, 4476); | 1977 | dasm_put(Dst, 4567); |
1549 | } | 1978 | } |
1550 | } else { | 1979 | } else { |
1551 | if (!LJ_HASFFI) { | 1980 | if (!LJ_HASFFI) { |
1552 | dasm_put(Dst, 4476); | 1981 | dasm_put(Dst, 4567); |
1553 | } | 1982 | } |
1554 | dasm_put(Dst, 9764, -BCBIAS_J*4); | 1983 | dasm_put(Dst, 10346, -BCBIAS_J*4); |
1984 | } | ||
1985 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | ||
1986 | op == BC_ISEQN || op == BC_ISNEN)) { | ||
1987 | dasm_put(Dst, 10361); | ||
1988 | } else { | ||
1989 | dasm_put(Dst, 10102); | ||
1555 | } | 1990 | } |
1556 | dasm_put(Dst, 9666); | ||
1557 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1991 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1558 | dasm_put(Dst, 9557); | 1992 | dasm_put(Dst, 9787); |
1559 | if (LJ_HASFFI) { | 1993 | if (LJ_HASFFI) { |
1560 | dasm_put(Dst, 9779, LJ_TCDATA, LJ_TCDATA); | 1994 | dasm_put(Dst, 10366, LJ_TCDATA, LJ_TCDATA); |
1561 | } | 1995 | } |
1562 | dasm_put(Dst, 9798, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1996 | dasm_put(Dst, 10385, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1563 | if (vk) { | 1997 | if (vk) { |
1564 | dasm_put(Dst, 9854); | 1998 | dasm_put(Dst, 10441); |
1565 | } else { | 1999 | } else { |
1566 | dasm_put(Dst, 9858); | 2000 | dasm_put(Dst, 10445); |
1567 | } | 2001 | } |
1568 | dasm_put(Dst, 9864); | 2002 | dasm_put(Dst, 10451); |
1569 | } else if (LJ_HASFFI) { | 2003 | } else if (LJ_HASFFI) { |
1570 | dasm_put(Dst, 9869, LJ_TCDATA); | 2004 | dasm_put(Dst, 10456, LJ_TCDATA); |
2005 | if (LJ_DUALNUM && vk) { | ||
2006 | dasm_put(Dst, 10463); | ||
2007 | } else { | ||
2008 | dasm_put(Dst, 10436); | ||
2009 | } | ||
2010 | dasm_put(Dst, 10468); | ||
1571 | } | 2011 | } |
1572 | break; | 2012 | break; |
1573 | case BC_ISEQS: case BC_ISNES: | 2013 | case BC_ISEQS: case BC_ISNES: |
1574 | vk = op == BC_ISEQS; | 2014 | vk = op == BC_ISEQS; |
1575 | dasm_put(Dst, 9884, LJ_TSTR); | 2015 | dasm_put(Dst, 10473, LJ_TSTR); |
1576 | iseqne_test: | 2016 | iseqne_test: |
1577 | if (vk) { | 2017 | if (vk) { |
1578 | dasm_put(Dst, 9735); | 2018 | dasm_put(Dst, 10317); |
1579 | } else { | 2019 | } else { |
1580 | dasm_put(Dst, 2805); | 2020 | dasm_put(Dst, 2858); |
1581 | } | 2021 | } |
1582 | goto iseqne_end; | 2022 | goto iseqne_end; |
1583 | case BC_ISEQN: case BC_ISNEN: | 2023 | case BC_ISEQN: case BC_ISNEN: |
1584 | vk = op == BC_ISEQN; | 2024 | vk = op == BC_ISEQN; |
1585 | dasm_put(Dst, 9910, LJ_TISNUM); | 2025 | dasm_put(Dst, 10499); |
2026 | if (LJ_DUALNUM) { | ||
2027 | dasm_put(Dst, 10507, LJ_TISNUM, LJ_TISNUM); | ||
2028 | if (vk) { | ||
2029 | dasm_put(Dst, 10155); | ||
2030 | } else { | ||
2031 | dasm_put(Dst, 10160); | ||
2032 | } | ||
2033 | dasm_put(Dst, 10532, -BCBIAS_J*4, LJ_TISNUM); | ||
2034 | if (sse) { | ||
2035 | dasm_put(Dst, 10580); | ||
2036 | } else { | ||
2037 | dasm_put(Dst, 10587); | ||
2038 | } | ||
2039 | dasm_put(Dst, 10591); | ||
2040 | if (sse) { | ||
2041 | dasm_put(Dst, 10598); | ||
2042 | } else { | ||
2043 | dasm_put(Dst, 10610); | ||
2044 | } | ||
2045 | dasm_put(Dst, 10258); | ||
2046 | } else { | ||
2047 | dasm_put(Dst, 10617, LJ_TISNUM); | ||
2048 | } | ||
1586 | if (sse) { | 2049 | if (sse) { |
1587 | dasm_put(Dst, 9926); | 2050 | dasm_put(Dst, 10626); |
1588 | } else { | 2051 | } else { |
1589 | dasm_put(Dst, 9938); | 2052 | dasm_put(Dst, 10644); |
1590 | if (cmov) { | 2053 | if (cmov) { |
1591 | dasm_put(Dst, 9629); | 2054 | dasm_put(Dst, 10057); |
1592 | } else { | 2055 | } else { |
1593 | dasm_put(Dst, 9635); | 2056 | dasm_put(Dst, 10063); |
1594 | } | 2057 | } |
2058 | dasm_put(Dst, 4586); | ||
1595 | } | 2059 | } |
1596 | goto iseqne_fp; | 2060 | goto iseqne_fp; |
1597 | case BC_ISEQP: case BC_ISNEP: | 2061 | case BC_ISEQP: case BC_ISNEP: |
1598 | vk = op == BC_ISEQP; | 2062 | vk = op == BC_ISEQP; |
1599 | dasm_put(Dst, 9945); | 2063 | dasm_put(Dst, 10655); |
1600 | if (!LJ_HASFFI) goto iseqne_test; | 2064 | if (!LJ_HASFFI) goto iseqne_test; |
1601 | if (vk) { | 2065 | if (vk) { |
1602 | dasm_put(Dst, 9959, -BCBIAS_J*4, LJ_TCDATA); | 2066 | dasm_put(Dst, 10669, -BCBIAS_J*4, LJ_TCDATA); |
1603 | } else { | 2067 | } else { |
1604 | dasm_put(Dst, 10009, LJ_TCDATA, -BCBIAS_J*4); | 2068 | dasm_put(Dst, 10719, LJ_TCDATA, -BCBIAS_J*4); |
1605 | } | 2069 | } |
1606 | break; | 2070 | break; |
1607 | 2071 | ||
1608 | /* -- Unary test and copy ops ------------------------------------------- */ | 2072 | /* -- Unary test and copy ops ------------------------------------------- */ |
1609 | 2073 | ||
1610 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2074 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1611 | dasm_put(Dst, 10053, LJ_TISTRUECOND); | 2075 | dasm_put(Dst, 10763, LJ_TISTRUECOND); |
1612 | if (op == BC_IST || op == BC_ISTC) { | 2076 | if (op == BC_IST || op == BC_ISTC) { |
1613 | dasm_put(Dst, 10065); | 2077 | dasm_put(Dst, 10085); |
1614 | } else { | 2078 | } else { |
1615 | dasm_put(Dst, 10070); | 2079 | dasm_put(Dst, 10080); |
1616 | } | 2080 | } |
1617 | if (op == BC_ISTC || op == BC_ISFC) { | 2081 | if (op == BC_ISTC || op == BC_ISFC) { |
1618 | dasm_put(Dst, 10075); | 2082 | dasm_put(Dst, 10775); |
1619 | } | 2083 | } |
1620 | dasm_put(Dst, 10086, -BCBIAS_J*4); | 2084 | dasm_put(Dst, 10090, -BCBIAS_J*4); |
1621 | break; | 2085 | break; |
1622 | 2086 | ||
1623 | /* -- Unary ops --------------------------------------------------------- */ | 2087 | /* -- Unary ops --------------------------------------------------------- */ |
1624 | 2088 | ||
1625 | case BC_MOV: | 2089 | case BC_MOV: |
1626 | dasm_put(Dst, 10118); | 2090 | dasm_put(Dst, 10786); |
1627 | break; | 2091 | break; |
1628 | case BC_NOT: | 2092 | case BC_NOT: |
1629 | dasm_put(Dst, 10146, LJ_TISTRUECOND, LJ_TTRUE); | 2093 | dasm_put(Dst, 10814, LJ_TISTRUECOND, LJ_TTRUE); |
1630 | break; | 2094 | break; |
1631 | case BC_UNM: | 2095 | case BC_UNM: |
1632 | dasm_put(Dst, 10182, LJ_TISNUM); | 2096 | if (LJ_DUALNUM) { |
2097 | dasm_put(Dst, 10850, LJ_TISNUM, LJ_TISNUM); | ||
2098 | } else { | ||
2099 | dasm_put(Dst, 10927, LJ_TISNUM); | ||
2100 | } | ||
1633 | if (sse) { | 2101 | if (sse) { |
1634 | dasm_put(Dst, 10193, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 2102 | dasm_put(Dst, 10938, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1635 | } else { | 2103 | } else { |
1636 | dasm_put(Dst, 10218); | 2104 | dasm_put(Dst, 10963); |
2105 | } | ||
2106 | if (LJ_DUALNUM) { | ||
2107 | dasm_put(Dst, 10361); | ||
2108 | } else { | ||
2109 | dasm_put(Dst, 10102); | ||
1637 | } | 2110 | } |
1638 | dasm_put(Dst, 9666); | ||
1639 | break; | 2111 | break; |
1640 | case BC_LEN: | 2112 | case BC_LEN: |
1641 | dasm_put(Dst, 10227, LJ_TSTR); | 2113 | dasm_put(Dst, 10972, LJ_TSTR); |
1642 | if (sse) { | 2114 | if (LJ_DUALNUM) { |
1643 | dasm_put(Dst, 10241, Dt5(->len)); | 2115 | dasm_put(Dst, 10986, Dt5(->len), LJ_TISNUM); |
2116 | } else if (sse) { | ||
2117 | dasm_put(Dst, 11000, Dt5(->len)); | ||
1644 | } else { | 2118 | } else { |
1645 | dasm_put(Dst, 10259, Dt5(->len)); | 2119 | dasm_put(Dst, 11018, Dt5(->len)); |
1646 | } | 2120 | } |
1647 | dasm_put(Dst, 10268, LJ_TTAB); | 2121 | dasm_put(Dst, 11027, LJ_TTAB); |
1648 | if (sse) { | 2122 | if (LJ_DUALNUM) { |
1649 | dasm_put(Dst, 10309); | 2123 | } else if (sse) { |
2124 | dasm_put(Dst, 11068); | ||
1650 | } else { | 2125 | } else { |
1651 | } | 2126 | } |
1652 | dasm_put(Dst, 10318); | 2127 | dasm_put(Dst, 11074); |
1653 | break; | 2128 | break; |
1654 | 2129 | ||
1655 | /* -- Binary ops -------------------------------------------------------- */ | 2130 | /* -- Binary ops -------------------------------------------------------- */ |
1656 | 2131 | ||
1657 | 2132 | ||
1658 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2133 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1659 | dasm_put(Dst, 10328); | 2134 | if (LJ_DUALNUM) { |
2135 | dasm_put(Dst, 11087); | ||
2136 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2137 | switch (vk) { | ||
2138 | case 0: | ||
2139 | dasm_put(Dst, 11095, LJ_TISNUM, LJ_TISNUM); | ||
2140 | break; | ||
2141 | case 1: | ||
2142 | dasm_put(Dst, 11128, LJ_TISNUM, LJ_TISNUM); | ||
2143 | break; | ||
2144 | default: | ||
2145 | dasm_put(Dst, 11161, LJ_TISNUM, LJ_TISNUM); | ||
2146 | break; | ||
2147 | } | ||
2148 | dasm_put(Dst, 11194, LJ_TISNUM); | ||
2149 | if (vk == 1) { | ||
2150 | dasm_put(Dst, 10996); | ||
2151 | } else { | ||
2152 | dasm_put(Dst, 10782); | ||
2153 | } | ||
2154 | dasm_put(Dst, 10102); | ||
2155 | } else { | ||
2156 | dasm_put(Dst, 11087); | ||
1660 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2157 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1661 | switch (vk) { | 2158 | switch (vk) { |
1662 | case 0: | 2159 | case 0: |
1663 | dasm_put(Dst, 10336, LJ_TISNUM); | 2160 | dasm_put(Dst, 11200, LJ_TISNUM); |
2161 | if (LJ_DUALNUM) { | ||
2162 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2163 | } | ||
1664 | if (sse) { | 2164 | if (sse) { |
1665 | dasm_put(Dst, 10348); | 2165 | dasm_put(Dst, 11223); |
1666 | } else { | 2166 | } else { |
1667 | dasm_put(Dst, 10362); | 2167 | dasm_put(Dst, 11237); |
1668 | } | 2168 | } |
1669 | break; | 2169 | break; |
1670 | case 1: | 2170 | case 1: |
1671 | dasm_put(Dst, 10370, LJ_TISNUM); | 2171 | dasm_put(Dst, 11245, LJ_TISNUM); |
2172 | if (LJ_DUALNUM) { | ||
2173 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2174 | } | ||
1672 | if (sse) { | 2175 | if (sse) { |
1673 | dasm_put(Dst, 10382); | 2176 | dasm_put(Dst, 11268); |
1674 | } else { | 2177 | } else { |
1675 | dasm_put(Dst, 10396); | 2178 | dasm_put(Dst, 11282); |
1676 | } | 2179 | } |
1677 | break; | 2180 | break; |
1678 | default: | 2181 | default: |
1679 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2182 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1680 | if (sse) { | 2183 | if (sse) { |
1681 | dasm_put(Dst, 10426); | 2184 | dasm_put(Dst, 11312); |
1682 | } else { | 2185 | } else { |
1683 | dasm_put(Dst, 10440); | 2186 | dasm_put(Dst, 11326); |
1684 | } | 2187 | } |
1685 | break; | 2188 | break; |
1686 | } | 2189 | } |
1687 | if (sse) { | 2190 | if (sse) { |
1688 | dasm_put(Dst, 10211); | 2191 | dasm_put(Dst, 10956); |
1689 | } else { | 2192 | } else { |
1690 | dasm_put(Dst, 10223); | 2193 | dasm_put(Dst, 10968); |
2194 | } | ||
2195 | dasm_put(Dst, 10102); | ||
1691 | } | 2196 | } |
1692 | dasm_put(Dst, 9666); | ||
1693 | break; | 2197 | break; |
1694 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2198 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1695 | dasm_put(Dst, 10328); | 2199 | if (LJ_DUALNUM) { |
2200 | dasm_put(Dst, 11087); | ||
1696 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2201 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1697 | switch (vk) { | 2202 | switch (vk) { |
1698 | case 0: | 2203 | case 0: |
1699 | dasm_put(Dst, 10336, LJ_TISNUM); | 2204 | dasm_put(Dst, 11334, LJ_TISNUM, LJ_TISNUM); |
2205 | break; | ||
2206 | case 1: | ||
2207 | dasm_put(Dst, 11367, LJ_TISNUM, LJ_TISNUM); | ||
2208 | break; | ||
2209 | default: | ||
2210 | dasm_put(Dst, 11400, LJ_TISNUM, LJ_TISNUM); | ||
2211 | break; | ||
2212 | } | ||
2213 | dasm_put(Dst, 11194, LJ_TISNUM); | ||
2214 | if (vk == 1) { | ||
2215 | dasm_put(Dst, 10996); | ||
2216 | } else { | ||
2217 | dasm_put(Dst, 10782); | ||
2218 | } | ||
2219 | dasm_put(Dst, 10102); | ||
2220 | } else { | ||
2221 | dasm_put(Dst, 11087); | ||
2222 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2223 | switch (vk) { | ||
2224 | case 0: | ||
2225 | dasm_put(Dst, 11200, LJ_TISNUM); | ||
2226 | if (LJ_DUALNUM) { | ||
2227 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2228 | } | ||
1700 | if (sse) { | 2229 | if (sse) { |
1701 | dasm_put(Dst, 10448); | 2230 | dasm_put(Dst, 11433); |
1702 | } else { | 2231 | } else { |
1703 | dasm_put(Dst, 10462); | 2232 | dasm_put(Dst, 11447); |
1704 | } | 2233 | } |
1705 | break; | 2234 | break; |
1706 | case 1: | 2235 | case 1: |
1707 | dasm_put(Dst, 10370, LJ_TISNUM); | 2236 | dasm_put(Dst, 11245, LJ_TISNUM); |
2237 | if (LJ_DUALNUM) { | ||
2238 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2239 | } | ||
1708 | if (sse) { | 2240 | if (sse) { |
1709 | dasm_put(Dst, 10470); | 2241 | dasm_put(Dst, 11455); |
1710 | } else { | 2242 | } else { |
1711 | dasm_put(Dst, 10484); | 2243 | dasm_put(Dst, 11469); |
1712 | } | 2244 | } |
1713 | break; | 2245 | break; |
1714 | default: | 2246 | default: |
1715 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2247 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1716 | if (sse) { | 2248 | if (sse) { |
1717 | dasm_put(Dst, 10492); | 2249 | dasm_put(Dst, 11477); |
1718 | } else { | 2250 | } else { |
1719 | dasm_put(Dst, 10506); | 2251 | dasm_put(Dst, 11491); |
1720 | } | 2252 | } |
1721 | break; | 2253 | break; |
1722 | } | 2254 | } |
1723 | if (sse) { | 2255 | if (sse) { |
1724 | dasm_put(Dst, 10211); | 2256 | dasm_put(Dst, 10956); |
1725 | } else { | 2257 | } else { |
1726 | dasm_put(Dst, 10223); | 2258 | dasm_put(Dst, 10968); |
2259 | } | ||
2260 | dasm_put(Dst, 10102); | ||
1727 | } | 2261 | } |
1728 | dasm_put(Dst, 9666); | ||
1729 | break; | 2262 | break; |
1730 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2263 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1731 | dasm_put(Dst, 10328); | 2264 | if (LJ_DUALNUM) { |
2265 | dasm_put(Dst, 11087); | ||
2266 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2267 | switch (vk) { | ||
2268 | case 0: | ||
2269 | dasm_put(Dst, 11499, LJ_TISNUM, LJ_TISNUM); | ||
2270 | break; | ||
2271 | case 1: | ||
2272 | dasm_put(Dst, 11533, LJ_TISNUM, LJ_TISNUM); | ||
2273 | break; | ||
2274 | default: | ||
2275 | dasm_put(Dst, 11567, LJ_TISNUM, LJ_TISNUM); | ||
2276 | break; | ||
2277 | } | ||
2278 | dasm_put(Dst, 11194, LJ_TISNUM); | ||
2279 | if (vk == 1) { | ||
2280 | dasm_put(Dst, 10996); | ||
2281 | } else { | ||
2282 | dasm_put(Dst, 10782); | ||
2283 | } | ||
2284 | dasm_put(Dst, 10102); | ||
2285 | } else { | ||
2286 | dasm_put(Dst, 11087); | ||
1732 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2287 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1733 | switch (vk) { | 2288 | switch (vk) { |
1734 | case 0: | 2289 | case 0: |
1735 | dasm_put(Dst, 10336, LJ_TISNUM); | 2290 | dasm_put(Dst, 11200, LJ_TISNUM); |
2291 | if (LJ_DUALNUM) { | ||
2292 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2293 | } | ||
1736 | if (sse) { | 2294 | if (sse) { |
1737 | dasm_put(Dst, 10514); | 2295 | dasm_put(Dst, 11601); |
1738 | } else { | 2296 | } else { |
1739 | dasm_put(Dst, 10528); | 2297 | dasm_put(Dst, 11615); |
1740 | } | 2298 | } |
1741 | break; | 2299 | break; |
1742 | case 1: | 2300 | case 1: |
1743 | dasm_put(Dst, 10370, LJ_TISNUM); | 2301 | dasm_put(Dst, 11245, LJ_TISNUM); |
2302 | if (LJ_DUALNUM) { | ||
2303 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2304 | } | ||
1744 | if (sse) { | 2305 | if (sse) { |
1745 | dasm_put(Dst, 10536); | 2306 | dasm_put(Dst, 11623); |
1746 | } else { | 2307 | } else { |
1747 | dasm_put(Dst, 10550); | 2308 | dasm_put(Dst, 11637); |
1748 | } | 2309 | } |
1749 | break; | 2310 | break; |
1750 | default: | 2311 | default: |
1751 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2312 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1752 | if (sse) { | 2313 | if (sse) { |
1753 | dasm_put(Dst, 10558); | 2314 | dasm_put(Dst, 11645); |
1754 | } else { | 2315 | } else { |
1755 | dasm_put(Dst, 10572); | 2316 | dasm_put(Dst, 11659); |
1756 | } | 2317 | } |
1757 | break; | 2318 | break; |
1758 | } | 2319 | } |
1759 | if (sse) { | 2320 | if (sse) { |
1760 | dasm_put(Dst, 10211); | 2321 | dasm_put(Dst, 10956); |
1761 | } else { | 2322 | } else { |
1762 | dasm_put(Dst, 10223); | 2323 | dasm_put(Dst, 10968); |
2324 | } | ||
2325 | dasm_put(Dst, 10102); | ||
1763 | } | 2326 | } |
1764 | dasm_put(Dst, 9666); | ||
1765 | break; | 2327 | break; |
1766 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2328 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1767 | dasm_put(Dst, 10328); | 2329 | dasm_put(Dst, 11087); |
1768 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2330 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1769 | switch (vk) { | 2331 | switch (vk) { |
1770 | case 0: | 2332 | case 0: |
1771 | dasm_put(Dst, 10336, LJ_TISNUM); | 2333 | dasm_put(Dst, 11200, LJ_TISNUM); |
2334 | if (LJ_DUALNUM) { | ||
2335 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2336 | } | ||
1772 | if (sse) { | 2337 | if (sse) { |
1773 | dasm_put(Dst, 10580); | 2338 | dasm_put(Dst, 11667); |
1774 | } else { | 2339 | } else { |
1775 | dasm_put(Dst, 10594); | 2340 | dasm_put(Dst, 11681); |
1776 | } | 2341 | } |
1777 | break; | 2342 | break; |
1778 | case 1: | 2343 | case 1: |
1779 | dasm_put(Dst, 10370, LJ_TISNUM); | 2344 | dasm_put(Dst, 11245, LJ_TISNUM); |
2345 | if (LJ_DUALNUM) { | ||
2346 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2347 | } | ||
1780 | if (sse) { | 2348 | if (sse) { |
1781 | dasm_put(Dst, 10602); | 2349 | dasm_put(Dst, 11689); |
1782 | } else { | 2350 | } else { |
1783 | dasm_put(Dst, 10616); | 2351 | dasm_put(Dst, 11703); |
1784 | } | 2352 | } |
1785 | break; | 2353 | break; |
1786 | default: | 2354 | default: |
1787 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2355 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1788 | if (sse) { | 2356 | if (sse) { |
1789 | dasm_put(Dst, 10624); | 2357 | dasm_put(Dst, 11711); |
1790 | } else { | 2358 | } else { |
1791 | dasm_put(Dst, 10638); | 2359 | dasm_put(Dst, 11725); |
1792 | } | 2360 | } |
1793 | break; | 2361 | break; |
1794 | } | 2362 | } |
1795 | if (sse) { | 2363 | if (sse) { |
1796 | dasm_put(Dst, 10211); | 2364 | dasm_put(Dst, 10956); |
1797 | } else { | 2365 | } else { |
1798 | dasm_put(Dst, 10223); | 2366 | dasm_put(Dst, 10968); |
1799 | } | 2367 | } |
1800 | dasm_put(Dst, 9666); | 2368 | dasm_put(Dst, 10102); |
1801 | break; | 2369 | break; |
1802 | case BC_MODVN: | 2370 | case BC_MODVN: |
1803 | dasm_put(Dst, 10328); | 2371 | dasm_put(Dst, 11087); |
1804 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2372 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1805 | switch (vk) { | 2373 | switch (vk) { |
1806 | case 0: | 2374 | case 0: |
1807 | dasm_put(Dst, 10336, LJ_TISNUM); | 2375 | dasm_put(Dst, 11200, LJ_TISNUM); |
2376 | if (LJ_DUALNUM) { | ||
2377 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2378 | } | ||
1808 | if (sse) { | 2379 | if (sse) { |
1809 | dasm_put(Dst, 10646); | 2380 | dasm_put(Dst, 11733); |
1810 | } else { | 2381 | } else { |
1811 | dasm_put(Dst, 10660); | 2382 | dasm_put(Dst, 11747); |
1812 | } | 2383 | } |
1813 | break; | 2384 | break; |
1814 | case 1: | 2385 | case 1: |
1815 | dasm_put(Dst, 10370, LJ_TISNUM); | 2386 | dasm_put(Dst, 11245, LJ_TISNUM); |
2387 | if (LJ_DUALNUM) { | ||
2388 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2389 | } | ||
1816 | if (sse) { | 2390 | if (sse) { |
1817 | dasm_put(Dst, 10668); | 2391 | dasm_put(Dst, 11755); |
1818 | } else { | 2392 | } else { |
1819 | dasm_put(Dst, 10682); | 2393 | dasm_put(Dst, 11769); |
1820 | } | 2394 | } |
1821 | break; | 2395 | break; |
1822 | default: | 2396 | default: |
1823 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2397 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1824 | if (sse) { | 2398 | if (sse) { |
1825 | dasm_put(Dst, 10690); | 2399 | dasm_put(Dst, 11777); |
1826 | } else { | 2400 | } else { |
1827 | dasm_put(Dst, 10704); | 2401 | dasm_put(Dst, 11791); |
1828 | } | 2402 | } |
1829 | break; | 2403 | break; |
1830 | } | 2404 | } |
1831 | dasm_put(Dst, 10712); | 2405 | dasm_put(Dst, 11799); |
1832 | if (sse) { | 2406 | if (sse) { |
1833 | dasm_put(Dst, 10211); | 2407 | dasm_put(Dst, 10956); |
1834 | } else { | 2408 | } else { |
1835 | dasm_put(Dst, 10223); | 2409 | dasm_put(Dst, 10968); |
1836 | } | 2410 | } |
1837 | dasm_put(Dst, 9666); | 2411 | dasm_put(Dst, 10102); |
1838 | break; | 2412 | break; |
1839 | case BC_MODNV: case BC_MODVV: | 2413 | case BC_MODNV: case BC_MODVV: |
1840 | dasm_put(Dst, 10328); | 2414 | dasm_put(Dst, 11087); |
1841 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2415 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1842 | switch (vk) { | 2416 | switch (vk) { |
1843 | case 0: | 2417 | case 0: |
1844 | dasm_put(Dst, 10336, LJ_TISNUM); | 2418 | dasm_put(Dst, 11200, LJ_TISNUM); |
2419 | if (LJ_DUALNUM) { | ||
2420 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2421 | } | ||
1845 | if (sse) { | 2422 | if (sse) { |
1846 | dasm_put(Dst, 10646); | 2423 | dasm_put(Dst, 11733); |
1847 | } else { | 2424 | } else { |
1848 | dasm_put(Dst, 10660); | 2425 | dasm_put(Dst, 11747); |
1849 | } | 2426 | } |
1850 | break; | 2427 | break; |
1851 | case 1: | 2428 | case 1: |
1852 | dasm_put(Dst, 10370, LJ_TISNUM); | 2429 | dasm_put(Dst, 11245, LJ_TISNUM); |
2430 | if (LJ_DUALNUM) { | ||
2431 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2432 | } | ||
1853 | if (sse) { | 2433 | if (sse) { |
1854 | dasm_put(Dst, 10668); | 2434 | dasm_put(Dst, 11755); |
1855 | } else { | 2435 | } else { |
1856 | dasm_put(Dst, 10682); | 2436 | dasm_put(Dst, 11769); |
1857 | } | 2437 | } |
1858 | break; | 2438 | break; |
1859 | default: | 2439 | default: |
1860 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2440 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1861 | if (sse) { | 2441 | if (sse) { |
1862 | dasm_put(Dst, 10690); | 2442 | dasm_put(Dst, 11777); |
1863 | } else { | 2443 | } else { |
1864 | dasm_put(Dst, 10704); | 2444 | dasm_put(Dst, 11791); |
1865 | } | 2445 | } |
1866 | break; | 2446 | break; |
1867 | } | 2447 | } |
1868 | dasm_put(Dst, 10718); | 2448 | dasm_put(Dst, 11805); |
1869 | break; | 2449 | break; |
1870 | case BC_POW: | 2450 | case BC_POW: |
1871 | dasm_put(Dst, 10328); | 2451 | dasm_put(Dst, 11087); |
1872 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2452 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1873 | switch (vk) { | 2453 | switch (vk) { |
1874 | case 0: | 2454 | case 0: |
1875 | dasm_put(Dst, 10336, LJ_TISNUM); | 2455 | dasm_put(Dst, 11200, LJ_TISNUM); |
2456 | if (LJ_DUALNUM) { | ||
2457 | dasm_put(Dst, 11212, LJ_TISNUM); | ||
2458 | } | ||
1876 | if (sse) { | 2459 | if (sse) { |
1877 | dasm_put(Dst, 10646); | 2460 | dasm_put(Dst, 11733); |
1878 | } else { | 2461 | } else { |
1879 | dasm_put(Dst, 10660); | 2462 | dasm_put(Dst, 11747); |
1880 | } | 2463 | } |
1881 | break; | 2464 | break; |
1882 | case 1: | 2465 | case 1: |
1883 | dasm_put(Dst, 10370, LJ_TISNUM); | 2466 | dasm_put(Dst, 11245, LJ_TISNUM); |
2467 | if (LJ_DUALNUM) { | ||
2468 | dasm_put(Dst, 11257, LJ_TISNUM); | ||
2469 | } | ||
1884 | if (sse) { | 2470 | if (sse) { |
1885 | dasm_put(Dst, 10668); | 2471 | dasm_put(Dst, 11755); |
1886 | } else { | 2472 | } else { |
1887 | dasm_put(Dst, 10682); | 2473 | dasm_put(Dst, 11769); |
1888 | } | 2474 | } |
1889 | break; | 2475 | break; |
1890 | default: | 2476 | default: |
1891 | dasm_put(Dst, 10404, LJ_TISNUM, LJ_TISNUM); | 2477 | dasm_put(Dst, 11290, LJ_TISNUM, LJ_TISNUM); |
1892 | if (sse) { | 2478 | if (sse) { |
1893 | dasm_put(Dst, 10690); | 2479 | dasm_put(Dst, 11777); |
1894 | } else { | 2480 | } else { |
1895 | dasm_put(Dst, 10704); | 2481 | dasm_put(Dst, 11791); |
1896 | } | 2482 | } |
1897 | break; | 2483 | break; |
1898 | } | 2484 | } |
1899 | dasm_put(Dst, 10723); | 2485 | dasm_put(Dst, 11810); |
1900 | if (sse) { | 2486 | if (sse) { |
1901 | dasm_put(Dst, 10211); | 2487 | dasm_put(Dst, 10956); |
1902 | } else { | 2488 | } else { |
1903 | dasm_put(Dst, 10223); | 2489 | dasm_put(Dst, 10968); |
1904 | } | 2490 | } |
1905 | dasm_put(Dst, 9666); | 2491 | dasm_put(Dst, 10102); |
1906 | break; | 2492 | break; |
1907 | 2493 | ||
1908 | case BC_CAT: | 2494 | case BC_CAT: |
1909 | dasm_put(Dst, 10727, Dt1(->base), Dt1(->base)); | 2495 | dasm_put(Dst, 11814, Dt1(->base), Dt1(->base)); |
1910 | break; | 2496 | break; |
1911 | 2497 | ||
1912 | /* -- Constant ops ------------------------------------------------------ */ | 2498 | /* -- Constant ops ------------------------------------------------------ */ |
1913 | 2499 | ||
1914 | case BC_KSTR: | 2500 | case BC_KSTR: |
1915 | dasm_put(Dst, 10810, LJ_TSTR); | 2501 | dasm_put(Dst, 11897, LJ_TSTR); |
1916 | break; | 2502 | break; |
1917 | case BC_KCDATA: | 2503 | case BC_KCDATA: |
1918 | #if LJ_HASFFI | 2504 | #if LJ_HASFFI |
1919 | dasm_put(Dst, 10810, LJ_TCDATA); | 2505 | dasm_put(Dst, 11897, LJ_TCDATA); |
1920 | #endif | 2506 | #endif |
1921 | break; | 2507 | break; |
1922 | case BC_KSHORT: | 2508 | case BC_KSHORT: |
1923 | if (sse) { | 2509 | if (LJ_DUALNUM) { |
1924 | dasm_put(Dst, 10845); | 2510 | dasm_put(Dst, 11932, LJ_TISNUM); |
2511 | } else if (sse) { | ||
2512 | dasm_put(Dst, 11944); | ||
1925 | } else { | 2513 | } else { |
1926 | dasm_put(Dst, 10860); | 2514 | dasm_put(Dst, 11959); |
1927 | } | 2515 | } |
1928 | dasm_put(Dst, 9666); | 2516 | dasm_put(Dst, 10102); |
1929 | break; | 2517 | break; |
1930 | case BC_KNUM: | 2518 | case BC_KNUM: |
1931 | if (sse) { | 2519 | if (sse) { |
1932 | dasm_put(Dst, 10868); | 2520 | dasm_put(Dst, 11967); |
1933 | } else { | 2521 | } else { |
1934 | dasm_put(Dst, 10881); | 2522 | dasm_put(Dst, 11980); |
1935 | } | 2523 | } |
1936 | dasm_put(Dst, 9666); | 2524 | dasm_put(Dst, 10102); |
1937 | break; | 2525 | break; |
1938 | case BC_KPRI: | 2526 | case BC_KPRI: |
1939 | dasm_put(Dst, 10888); | 2527 | dasm_put(Dst, 11987); |
1940 | break; | 2528 | break; |
1941 | case BC_KNIL: | 2529 | case BC_KNIL: |
1942 | dasm_put(Dst, 10916, LJ_TNIL); | 2530 | dasm_put(Dst, 12015, LJ_TNIL); |
1943 | break; | 2531 | break; |
1944 | 2532 | ||
1945 | /* -- Upvalue and function ops ------------------------------------------ */ | 2533 | /* -- Upvalue and function ops ------------------------------------------ */ |
1946 | 2534 | ||
1947 | case BC_UGET: | 2535 | case BC_UGET: |
1948 | dasm_put(Dst, 10963, offsetof(GCfuncL, uvptr), DtA(->v)); | 2536 | dasm_put(Dst, 12062, offsetof(GCfuncL, uvptr), DtA(->v)); |
1949 | break; | 2537 | break; |
1950 | case BC_USETV: | 2538 | case BC_USETV: |
1951 | #define TV2MARKOFS \ | 2539 | #define TV2MARKOFS \ |
1952 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2540 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1953 | dasm_put(Dst, 11003, 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); | 2541 | dasm_put(Dst, 12102, 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); |
1954 | dasm_put(Dst, 11094); | 2542 | dasm_put(Dst, 12193); |
1955 | break; | 2543 | break; |
1956 | #undef TV2MARKOFS | 2544 | #undef TV2MARKOFS |
1957 | case BC_USETS: | 2545 | case BC_USETS: |
1958 | dasm_put(Dst, 11106, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2546 | dasm_put(Dst, 12205, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1959 | break; | 2547 | break; |
1960 | case BC_USETN: | 2548 | case BC_USETN: |
1961 | dasm_put(Dst, 11199); | 2549 | dasm_put(Dst, 12298); |
1962 | if (sse) { | 2550 | if (sse) { |
1963 | dasm_put(Dst, 11204); | 2551 | dasm_put(Dst, 12303); |
1964 | } else { | 2552 | } else { |
1965 | dasm_put(Dst, 9941); | 2553 | dasm_put(Dst, 11751); |
1966 | } | 2554 | } |
1967 | dasm_put(Dst, 11211, offsetof(GCfuncL, uvptr), DtA(->v)); | 2555 | dasm_put(Dst, 12310, offsetof(GCfuncL, uvptr), DtA(->v)); |
1968 | if (sse) { | 2556 | if (sse) { |
1969 | dasm_put(Dst, 11220); | 2557 | dasm_put(Dst, 12319); |
1970 | } else { | 2558 | } else { |
1971 | dasm_put(Dst, 11226); | 2559 | dasm_put(Dst, 12325); |
1972 | } | 2560 | } |
1973 | dasm_put(Dst, 9666); | 2561 | dasm_put(Dst, 10102); |
1974 | break; | 2562 | break; |
1975 | case BC_USETP: | 2563 | case BC_USETP: |
1976 | dasm_put(Dst, 11229, offsetof(GCfuncL, uvptr), DtA(->v)); | 2564 | dasm_put(Dst, 12328, offsetof(GCfuncL, uvptr), DtA(->v)); |
1977 | break; | 2565 | break; |
1978 | case BC_UCLO: | 2566 | case BC_UCLO: |
1979 | dasm_put(Dst, 11268, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2567 | dasm_put(Dst, 12367, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1980 | break; | 2568 | break; |
1981 | 2569 | ||
1982 | case BC_FNEW: | 2570 | case BC_FNEW: |
1983 | dasm_put(Dst, 11323, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2571 | dasm_put(Dst, 12422, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1984 | break; | 2572 | break; |
1985 | 2573 | ||
1986 | /* -- Table ops --------------------------------------------------------- */ | 2574 | /* -- Table ops --------------------------------------------------------- */ |
1987 | 2575 | ||
1988 | case BC_TNEW: | 2576 | case BC_TNEW: |
1989 | dasm_put(Dst, 11389, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2577 | dasm_put(Dst, 12488, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1990 | break; | 2578 | break; |
1991 | case BC_TDUP: | 2579 | case BC_TDUP: |
1992 | dasm_put(Dst, 11511, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2580 | dasm_put(Dst, 12610, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1993 | break; | 2581 | break; |
1994 | 2582 | ||
1995 | case BC_GGET: | 2583 | case BC_GGET: |
1996 | dasm_put(Dst, 11606, Dt7(->env)); | 2584 | dasm_put(Dst, 12705, Dt7(->env)); |
1997 | break; | 2585 | break; |
1998 | case BC_GSET: | 2586 | case BC_GSET: |
1999 | dasm_put(Dst, 11625, Dt7(->env)); | 2587 | dasm_put(Dst, 12724, Dt7(->env)); |
2000 | break; | 2588 | break; |
2001 | 2589 | ||
2002 | case BC_TGETV: | 2590 | case BC_TGETV: |
2003 | dasm_put(Dst, 11644, LJ_TTAB, LJ_TISNUM); | 2591 | dasm_put(Dst, 12743, LJ_TTAB); |
2004 | if (sse) { | 2592 | if (LJ_DUALNUM) { |
2005 | dasm_put(Dst, 11677); | 2593 | dasm_put(Dst, 12766, LJ_TISNUM); |
2006 | } else { | 2594 | } else { |
2595 | dasm_put(Dst, 12780, LJ_TISNUM); | ||
2596 | if (sse) { | ||
2597 | dasm_put(Dst, 12791); | ||
2598 | } else { | ||
2599 | } | ||
2600 | dasm_put(Dst, 12812); | ||
2007 | } | 2601 | } |
2008 | dasm_put(Dst, 11698, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2602 | dasm_put(Dst, 12817, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2009 | dasm_put(Dst, 11782, LJ_TNIL, LJ_TSTR); | 2603 | dasm_put(Dst, 12908, LJ_TSTR); |
2010 | break; | 2604 | break; |
2011 | case BC_TGETS: | 2605 | case BC_TGETS: |
2012 | dasm_put(Dst, 11811, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2606 | dasm_put(Dst, 12926, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2013 | dasm_put(Dst, 11895, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2607 | dasm_put(Dst, 13010, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2014 | break; | 2608 | break; |
2015 | case BC_TGETB: | 2609 | case BC_TGETB: |
2016 | dasm_put(Dst, 11966, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2610 | dasm_put(Dst, 13081, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2017 | dasm_put(Dst, 12061, LJ_TNIL); | 2611 | dasm_put(Dst, 13176, LJ_TNIL); |
2018 | break; | 2612 | break; |
2019 | 2613 | ||
2020 | case BC_TSETV: | 2614 | case BC_TSETV: |
2021 | dasm_put(Dst, 12078, LJ_TTAB, LJ_TISNUM); | 2615 | dasm_put(Dst, 13193, LJ_TTAB); |
2022 | if (sse) { | 2616 | if (LJ_DUALNUM) { |
2023 | dasm_put(Dst, 11677); | 2617 | dasm_put(Dst, 12766, LJ_TISNUM); |
2024 | } else { | 2618 | } else { |
2619 | dasm_put(Dst, 12780, LJ_TISNUM); | ||
2620 | if (sse) { | ||
2621 | dasm_put(Dst, 12791); | ||
2622 | } else { | ||
2623 | } | ||
2624 | dasm_put(Dst, 13216); | ||
2025 | } | 2625 | } |
2026 | dasm_put(Dst, 12111, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 2626 | dasm_put(Dst, 13221, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2027 | dasm_put(Dst, 12190, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2627 | dasm_put(Dst, 13301, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2028 | break; | 2628 | break; |
2029 | case BC_TSETS: | 2629 | case BC_TSETS: |
2030 | dasm_put(Dst, 12252, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2630 | dasm_put(Dst, 13358, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2031 | dasm_put(Dst, 12328, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2631 | dasm_put(Dst, 13434, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2032 | dasm_put(Dst, 12416, 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)); | 2632 | dasm_put(Dst, 13522, 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)); |
2033 | break; | 2633 | break; |
2034 | case BC_TSETB: | 2634 | case BC_TSETB: |
2035 | dasm_put(Dst, 12507, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2635 | dasm_put(Dst, 13613, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2036 | dasm_put(Dst, 12601, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2636 | dasm_put(Dst, 13707, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2037 | break; | 2637 | break; |
2038 | 2638 | ||
2039 | case BC_TSETM: | 2639 | case BC_TSETM: |
2040 | dasm_put(Dst, 12647, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2640 | dasm_put(Dst, 13753, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2041 | dasm_put(Dst, 12790, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2641 | dasm_put(Dst, 13896, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2042 | break; | 2642 | break; |
2043 | 2643 | ||
2044 | /* -- Calls and vararg handling ----------------------------------------- */ | 2644 | /* -- Calls and vararg handling ----------------------------------------- */ |
2045 | 2645 | ||
2046 | case BC_CALL: case BC_CALLM: | 2646 | case BC_CALL: case BC_CALLM: |
2047 | dasm_put(Dst, 10332); | 2647 | dasm_put(Dst, 11091); |
2048 | if (op == BC_CALLM) { | 2648 | if (op == BC_CALLM) { |
2049 | dasm_put(Dst, 12808); | 2649 | dasm_put(Dst, 13914); |
2050 | } | 2650 | } |
2051 | dasm_put(Dst, 12813, LJ_TFUNC, Dt7(->pc)); | 2651 | dasm_put(Dst, 13919, LJ_TFUNC, Dt7(->pc)); |
2052 | break; | 2652 | break; |
2053 | 2653 | ||
2054 | case BC_CALLMT: | 2654 | case BC_CALLMT: |
2055 | dasm_put(Dst, 12808); | 2655 | dasm_put(Dst, 13914); |
2056 | break; | 2656 | break; |
2057 | case BC_CALLT: | 2657 | case BC_CALLT: |
2058 | dasm_put(Dst, 12855, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2658 | dasm_put(Dst, 13961, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2059 | dasm_put(Dst, 12970, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2659 | dasm_put(Dst, 14076, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2060 | break; | 2660 | break; |
2061 | 2661 | ||
2062 | case BC_ITERC: | 2662 | case BC_ITERC: |
2063 | dasm_put(Dst, 13041, LJ_TFUNC, 2+1, Dt7(->pc)); | 2663 | dasm_put(Dst, 14147, LJ_TFUNC, 2+1, Dt7(->pc)); |
2064 | break; | 2664 | break; |
2065 | 2665 | ||
2066 | case BC_ITERN: | 2666 | case BC_ITERN: |
2067 | #if LJ_HASJIT | 2667 | #if LJ_HASJIT |
2068 | #endif | 2668 | #endif |
2069 | dasm_put(Dst, 13112, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2669 | dasm_put(Dst, 14218, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2070 | if (sse) { | 2670 | if (LJ_DUALNUM) { |
2071 | dasm_put(Dst, 13158); | 2671 | dasm_put(Dst, 10991, LJ_TISNUM); |
2672 | } else if (sse) { | ||
2673 | dasm_put(Dst, 11068); | ||
2072 | } else { | 2674 | } else { |
2073 | dasm_put(Dst, 13164); | 2675 | dasm_put(Dst, 14264); |
2074 | } | 2676 | } |
2075 | dasm_put(Dst, 13170); | 2677 | dasm_put(Dst, 14270); |
2076 | if (sse) { | 2678 | if (LJ_DUALNUM) { |
2077 | dasm_put(Dst, 10211); | 2679 | } else if (sse) { |
2680 | dasm_put(Dst, 10956); | ||
2078 | } else { | 2681 | } else { |
2079 | dasm_put(Dst, 10223); | 2682 | dasm_put(Dst, 10968); |
2080 | } | 2683 | } |
2081 | dasm_put(Dst, 13183, -BCBIAS_J*4); | 2684 | dasm_put(Dst, 14283, -BCBIAS_J*4); |
2082 | if (!sse) { | 2685 | if (!LJ_DUALNUM && !sse) { |
2083 | dasm_put(Dst, 13235); | 2686 | dasm_put(Dst, 14335); |
2084 | } | 2687 | } |
2085 | dasm_put(Dst, 13241, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); | 2688 | dasm_put(Dst, 14341, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val)); |
2086 | break; | 2689 | break; |
2087 | 2690 | ||
2088 | case BC_ISNEXT: | 2691 | case BC_ISNEXT: |
2089 | dasm_put(Dst, 13313, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2692 | dasm_put(Dst, 14413, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2090 | break; | 2693 | break; |
2091 | 2694 | ||
2092 | case BC_VARG: | 2695 | case BC_VARG: |
2093 | dasm_put(Dst, 13413, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2696 | dasm_put(Dst, 14513, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2094 | dasm_put(Dst, 13573, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2697 | dasm_put(Dst, 14673, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2095 | break; | 2698 | break; |
2096 | 2699 | ||
2097 | /* -- Returns ----------------------------------------------------------- */ | 2700 | /* -- Returns ----------------------------------------------------------- */ |
2098 | 2701 | ||
2099 | case BC_RETM: | 2702 | case BC_RETM: |
2100 | dasm_put(Dst, 12808); | 2703 | dasm_put(Dst, 13914); |
2101 | break; | 2704 | break; |
2102 | 2705 | ||
2103 | case BC_RET: case BC_RET0: case BC_RET1: | 2706 | case BC_RET: case BC_RET0: case BC_RET1: |
2104 | if (op != BC_RET0) { | 2707 | if (op != BC_RET0) { |
2105 | dasm_put(Dst, 13639); | 2708 | dasm_put(Dst, 14739); |
2106 | } | 2709 | } |
2107 | dasm_put(Dst, 13643, FRAME_TYPE); | 2710 | dasm_put(Dst, 14743, FRAME_TYPE); |
2108 | switch (op) { | 2711 | switch (op) { |
2109 | case BC_RET: | 2712 | case BC_RET: |
2110 | dasm_put(Dst, 13662); | 2713 | dasm_put(Dst, 14762); |
2111 | break; | 2714 | break; |
2112 | case BC_RET1: | 2715 | case BC_RET1: |
2113 | dasm_put(Dst, 13714); | 2716 | dasm_put(Dst, 14814); |
2114 | /* fallthrough */ | 2717 | /* fallthrough */ |
2115 | case BC_RET0: | 2718 | case BC_RET0: |
2116 | dasm_put(Dst, 13724); | 2719 | dasm_put(Dst, 14824); |
2117 | default: | 2720 | default: |
2118 | break; | 2721 | break; |
2119 | } | 2722 | } |
2120 | dasm_put(Dst, 13735, Dt7(->pc), PC2PROTO(k)); | 2723 | dasm_put(Dst, 14835, Dt7(->pc), PC2PROTO(k)); |
2121 | if (op == BC_RET) { | 2724 | if (op == BC_RET) { |
2122 | dasm_put(Dst, 13779, LJ_TNIL); | 2725 | dasm_put(Dst, 14879, LJ_TNIL); |
2123 | } else { | 2726 | } else { |
2124 | dasm_put(Dst, 13788, LJ_TNIL); | 2727 | dasm_put(Dst, 14888, LJ_TNIL); |
2125 | } | 2728 | } |
2126 | dasm_put(Dst, 13795, -FRAME_VARG, FRAME_TYPEP); | 2729 | dasm_put(Dst, 14895, -FRAME_VARG, FRAME_TYPEP); |
2127 | if (op != BC_RET0) { | 2730 | if (op != BC_RET0) { |
2128 | dasm_put(Dst, 13819); | 2731 | dasm_put(Dst, 14919); |
2129 | } | 2732 | } |
2130 | dasm_put(Dst, 4555); | 2733 | dasm_put(Dst, 4646); |
2131 | break; | 2734 | break; |
2132 | 2735 | ||
2133 | /* -- Loops and branches ------------------------------------------------ */ | 2736 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2135,7 +2738,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2135 | 2738 | ||
2136 | case BC_FORL: | 2739 | case BC_FORL: |
2137 | #if LJ_HASJIT | 2740 | #if LJ_HASJIT |
2138 | dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2741 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2139 | #endif | 2742 | #endif |
2140 | break; | 2743 | break; |
2141 | 2744 | ||
@@ -2147,57 +2750,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2147 | case BC_FORI: | 2750 | case BC_FORI: |
2148 | case BC_IFORL: | 2751 | case BC_IFORL: |
2149 | vk = (op == BC_IFORL || op == BC_JFORL); | 2752 | vk = (op == BC_IFORL || op == BC_JFORL); |
2150 | dasm_put(Dst, 13844); | 2753 | dasm_put(Dst, 14944); |
2754 | if (LJ_DUALNUM) { | ||
2755 | dasm_put(Dst, 14948, LJ_TISNUM); | ||
2756 | if (!vk) { | ||
2757 | dasm_put(Dst, 14958, LJ_TISNUM, LJ_TISNUM); | ||
2758 | } else { | ||
2759 | dasm_put(Dst, 14987); | ||
2760 | } | ||
2761 | dasm_put(Dst, 15006, LJ_TISNUM); | ||
2762 | if (op == BC_FORI) { | ||
2763 | dasm_put(Dst, 15017, -BCBIAS_J*4); | ||
2764 | } else if (op == BC_JFORI) { | ||
2765 | dasm_put(Dst, 15031, -BCBIAS_J*4, BC_JLOOP); | ||
2766 | } else if (op == BC_IFORL) { | ||
2767 | dasm_put(Dst, 15049, -BCBIAS_J*4); | ||
2768 | } else { | ||
2769 | dasm_put(Dst, 15041, BC_JLOOP); | ||
2770 | } | ||
2771 | dasm_put(Dst, 15063); | ||
2772 | if (vk) { | ||
2773 | dasm_put(Dst, 15087); | ||
2774 | } | ||
2775 | dasm_put(Dst, 15006, LJ_TISNUM); | ||
2776 | if (op == BC_FORI) { | ||
2777 | dasm_put(Dst, 15096); | ||
2778 | } else if (op == BC_JFORI) { | ||
2779 | dasm_put(Dst, 15101, -BCBIAS_J*4, BC_JLOOP); | ||
2780 | } else if (op == BC_IFORL) { | ||
2781 | dasm_put(Dst, 15115); | ||
2782 | } else { | ||
2783 | dasm_put(Dst, 15111, BC_JLOOP); | ||
2784 | } | ||
2785 | dasm_put(Dst, 15120); | ||
2786 | } else if (!vk) { | ||
2787 | dasm_put(Dst, 15127, LJ_TISNUM); | ||
2788 | } | ||
2151 | if (!vk) { | 2789 | if (!vk) { |
2152 | dasm_put(Dst, 13848, LJ_TISNUM, LJ_TISNUM); | 2790 | dasm_put(Dst, 15133, LJ_TISNUM); |
2153 | } | 2791 | } |
2154 | dasm_put(Dst, 13867); | 2792 | dasm_put(Dst, 15147); |
2155 | if (!vk) { | 2793 | if (!vk) { |
2156 | dasm_put(Dst, 13871, LJ_TISNUM); | 2794 | dasm_put(Dst, 15151, LJ_TISNUM); |
2157 | } | 2795 | } |
2158 | if (sse) { | 2796 | if (sse) { |
2159 | dasm_put(Dst, 13880); | 2797 | dasm_put(Dst, 15160); |
2160 | if (vk) { | 2798 | if (vk) { |
2161 | dasm_put(Dst, 13892); | 2799 | dasm_put(Dst, 15172); |
2162 | } else { | 2800 | } else { |
2163 | dasm_put(Dst, 13911); | 2801 | dasm_put(Dst, 15191); |
2164 | } | 2802 | } |
2165 | dasm_put(Dst, 13916); | 2803 | dasm_put(Dst, 15196); |
2166 | } else { | 2804 | } else { |
2167 | dasm_put(Dst, 13929); | 2805 | dasm_put(Dst, 15209); |
2168 | if (vk) { | 2806 | if (vk) { |
2169 | dasm_put(Dst, 13935); | 2807 | dasm_put(Dst, 15215); |
2170 | } else { | 2808 | } else { |
2171 | dasm_put(Dst, 13951); | 2809 | dasm_put(Dst, 15231); |
2172 | } | 2810 | } |
2173 | dasm_put(Dst, 13959); | 2811 | dasm_put(Dst, 15239); |
2174 | if (cmov) { | 2812 | if (cmov) { |
2175 | dasm_put(Dst, 9629); | 2813 | dasm_put(Dst, 10057); |
2176 | } else { | 2814 | } else { |
2177 | dasm_put(Dst, 9635); | 2815 | dasm_put(Dst, 10063); |
2178 | } | 2816 | } |
2179 | if (!cmov) { | 2817 | if (!cmov) { |
2180 | dasm_put(Dst, 13964); | 2818 | dasm_put(Dst, 15244); |
2181 | } | 2819 | } |
2182 | } | 2820 | } |
2183 | if (op == BC_FORI) { | 2821 | if (op == BC_FORI) { |
2184 | dasm_put(Dst, 13970, -BCBIAS_J*4); | 2822 | if (LJ_DUALNUM) { |
2823 | dasm_put(Dst, 15250); | ||
2824 | } else { | ||
2825 | dasm_put(Dst, 15255, -BCBIAS_J*4); | ||
2826 | } | ||
2185 | } else if (op == BC_JFORI) { | 2827 | } else if (op == BC_JFORI) { |
2186 | dasm_put(Dst, 13980, -BCBIAS_J*4, BC_JLOOP); | 2828 | dasm_put(Dst, 15265, -BCBIAS_J*4, BC_JLOOP); |
2187 | } else if (op == BC_IFORL) { | 2829 | } else if (op == BC_IFORL) { |
2188 | dasm_put(Dst, 13994, -BCBIAS_J*4); | 2830 | if (LJ_DUALNUM) { |
2831 | dasm_put(Dst, 15279); | ||
2832 | } else { | ||
2833 | dasm_put(Dst, 15284, -BCBIAS_J*4); | ||
2834 | } | ||
2835 | } else { | ||
2836 | dasm_put(Dst, 15275, BC_JLOOP); | ||
2837 | } | ||
2838 | if (LJ_DUALNUM) { | ||
2839 | dasm_put(Dst, 9986); | ||
2189 | } else { | 2840 | } else { |
2190 | dasm_put(Dst, 13990, BC_JLOOP); | 2841 | dasm_put(Dst, 10741); |
2191 | } | 2842 | } |
2192 | dasm_put(Dst, 9664); | ||
2193 | if (sse) { | 2843 | if (sse) { |
2194 | dasm_put(Dst, 14004); | 2844 | dasm_put(Dst, 15294); |
2195 | } | 2845 | } |
2196 | break; | 2846 | break; |
2197 | 2847 | ||
2198 | case BC_ITERL: | 2848 | case BC_ITERL: |
2199 | #if LJ_HASJIT | 2849 | #if LJ_HASJIT |
2200 | dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2850 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2201 | #endif | 2851 | #endif |
2202 | break; | 2852 | break; |
2203 | 2853 | ||
@@ -2206,33 +2856,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2206 | break; | 2856 | break; |
2207 | #endif | 2857 | #endif |
2208 | case BC_IITERL: | 2858 | case BC_IITERL: |
2209 | dasm_put(Dst, 14015, LJ_TNIL); | 2859 | dasm_put(Dst, 15305, LJ_TNIL); |
2210 | if (op == BC_JITERL) { | 2860 | if (op == BC_JITERL) { |
2211 | dasm_put(Dst, 14030, BC_JLOOP); | 2861 | dasm_put(Dst, 15320, BC_JLOOP); |
2212 | } else { | 2862 | } else { |
2213 | dasm_put(Dst, 14044, -BCBIAS_J*4); | 2863 | dasm_put(Dst, 15334, -BCBIAS_J*4); |
2214 | } | 2864 | } |
2215 | dasm_put(Dst, 10096); | 2865 | dasm_put(Dst, 10100); |
2216 | break; | 2866 | break; |
2217 | 2867 | ||
2218 | case BC_LOOP: | 2868 | case BC_LOOP: |
2219 | #if LJ_HASJIT | 2869 | #if LJ_HASJIT |
2220 | dasm_put(Dst, 13823, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2870 | dasm_put(Dst, 14923, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2221 | #endif | 2871 | #endif |
2222 | break; | 2872 | break; |
2223 | 2873 | ||
2224 | case BC_ILOOP: | 2874 | case BC_ILOOP: |
2225 | dasm_put(Dst, 9666); | 2875 | dasm_put(Dst, 10102); |
2226 | break; | 2876 | break; |
2227 | 2877 | ||
2228 | case BC_JLOOP: | 2878 | case BC_JLOOP: |
2229 | #if LJ_HASJIT | 2879 | #if LJ_HASJIT |
2230 | dasm_put(Dst, 14060, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); | 2880 | dasm_put(Dst, 15350, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16); |
2231 | #endif | 2881 | #endif |
2232 | break; | 2882 | break; |
2233 | 2883 | ||
2234 | case BC_JMP: | 2884 | case BC_JMP: |
2235 | dasm_put(Dst, 14169, -BCBIAS_J*4); | 2885 | dasm_put(Dst, 15459, -BCBIAS_J*4); |
2236 | break; | 2886 | break; |
2237 | 2887 | ||
2238 | /* -- Function headers -------------------------------------------------- */ | 2888 | /* -- Function headers -------------------------------------------------- */ |
@@ -2246,7 +2896,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2246 | 2896 | ||
2247 | case BC_FUNCF: | 2897 | case BC_FUNCF: |
2248 | #if LJ_HASJIT | 2898 | #if LJ_HASJIT |
2249 | dasm_put(Dst, 14194, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2899 | dasm_put(Dst, 15484, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2250 | #endif | 2900 | #endif |
2251 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2901 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2252 | break; | 2902 | break; |
@@ -2256,47 +2906,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2256 | break; | 2906 | break; |
2257 | #endif | 2907 | #endif |
2258 | case BC_IFUNCF: | 2908 | case BC_IFUNCF: |
2259 | dasm_put(Dst, 14215, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2909 | dasm_put(Dst, 15505, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2260 | if (op == BC_JFUNCF) { | 2910 | if (op == BC_JFUNCF) { |
2261 | dasm_put(Dst, 14245, BC_JLOOP); | 2911 | dasm_put(Dst, 15535, BC_JLOOP); |
2262 | } else { | 2912 | } else { |
2263 | dasm_put(Dst, 9666); | 2913 | dasm_put(Dst, 10102); |
2264 | } | 2914 | } |
2265 | dasm_put(Dst, 14254, LJ_TNIL); | 2915 | dasm_put(Dst, 15544, LJ_TNIL); |
2266 | break; | 2916 | break; |
2267 | 2917 | ||
2268 | case BC_JFUNCV: | 2918 | case BC_JFUNCV: |
2269 | #if !LJ_HASJIT | 2919 | #if !LJ_HASJIT |
2270 | break; | 2920 | break; |
2271 | #endif | 2921 | #endif |
2272 | dasm_put(Dst, 9020); | 2922 | dasm_put(Dst, 9250); |
2273 | break; /* NYI: compiled vararg functions. */ | 2923 | break; /* NYI: compiled vararg functions. */ |
2274 | 2924 | ||
2275 | case BC_IFUNCV: | 2925 | case BC_IFUNCV: |
2276 | dasm_put(Dst, 14276, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2926 | dasm_put(Dst, 15566, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2277 | if (op == BC_JFUNCV) { | 2927 | if (op == BC_JFUNCV) { |
2278 | dasm_put(Dst, 14245, BC_JLOOP); | 2928 | dasm_put(Dst, 15535, BC_JLOOP); |
2279 | } else { | 2929 | } else { |
2280 | dasm_put(Dst, 14367, -4+PC2PROTO(k)); | 2930 | dasm_put(Dst, 15657, -4+PC2PROTO(k)); |
2281 | } | 2931 | } |
2282 | dasm_put(Dst, 14390, LJ_TNIL); | 2932 | dasm_put(Dst, 15680, LJ_TNIL); |
2283 | break; | 2933 | break; |
2284 | 2934 | ||
2285 | case BC_FUNCC: | 2935 | case BC_FUNCC: |
2286 | case BC_FUNCCW: | 2936 | case BC_FUNCCW: |
2287 | dasm_put(Dst, 14412, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2937 | dasm_put(Dst, 15702, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2288 | if (op == BC_FUNCC) { | 2938 | if (op == BC_FUNCC) { |
2289 | dasm_put(Dst, 14442); | 2939 | dasm_put(Dst, 2310); |
2290 | } else { | 2940 | } else { |
2291 | dasm_put(Dst, 14446); | 2941 | dasm_put(Dst, 15732); |
2292 | } | 2942 | } |
2293 | dasm_put(Dst, 14454, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2943 | dasm_put(Dst, 15740, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2294 | if (op == BC_FUNCC) { | 2944 | if (op == BC_FUNCC) { |
2295 | dasm_put(Dst, 14463); | 2945 | dasm_put(Dst, 15749); |
2296 | } else { | 2946 | } else { |
2297 | dasm_put(Dst, 14467, DISPATCH_GL(wrapf)); | 2947 | dasm_put(Dst, 15753, DISPATCH_GL(wrapf)); |
2298 | } | 2948 | } |
2299 | dasm_put(Dst, 14472, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2949 | dasm_put(Dst, 15758, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2300 | break; | 2950 | break; |
2301 | 2951 | ||
2302 | /* ---------------------------------------------------------------------- */ | 2952 | /* ---------------------------------------------------------------------- */ |
@@ -2324,7 +2974,7 @@ static int build_backend(BuildCtx *ctx) | |||
2324 | 2974 | ||
2325 | build_subroutines(ctx, cmov, sse); | 2975 | build_subroutines(ctx, cmov, sse); |
2326 | 2976 | ||
2327 | dasm_put(Dst, 14497); | 2977 | dasm_put(Dst, 15783); |
2328 | for (op = 0; op < BC__MAX; op++) | 2978 | for (op = 0; op < BC__MAX; op++) |
2329 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2979 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2330 | 2980 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 4a0bbeab..4d96423c 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -306,7 +306,8 @@ | |||
306 | | | 306 | | |
307 | |// Macros to test operand types. | 307 | |// Macros to test operand types. |
308 | |.macro checktp, reg, tp; cmp dword [BASE+reg*8+4], tp; .endmacro | 308 | |.macro checktp, reg, tp; cmp dword [BASE+reg*8+4], tp; .endmacro |
309 | |.macro checknum, reg, target; checktp reg, LJ_TISNUM; ja target; .endmacro | 309 | |.macro checknum, reg, target; checktp reg, LJ_TISNUM; jae target; .endmacro |
310 | |.macro checkint, reg, target; checktp reg, LJ_TISNUM; jne target; .endmacro | ||
310 | |.macro checkstr, reg, target; checktp reg, LJ_TSTR; jne target; .endmacro | 311 | |.macro checkstr, reg, target; checktp reg, LJ_TSTR; jne target; .endmacro |
311 | |.macro checktab, reg, target; checktp reg, LJ_TTAB; jne target; .endmacro | 312 | |.macro checktab, reg, target; checktp reg, LJ_TTAB; jne target; .endmacro |
312 | | | 313 | | |
@@ -810,7 +811,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
810 | | | 811 | | |
811 | |->vmeta_tgetb: | 812 | |->vmeta_tgetb: |
812 | | movzx RC, PC_RC | 813 | | movzx RC, PC_RC |
813 | if (sse) { | 814 | if (LJ_DUALNUM) { |
815 | | mov TMP2, LJ_TISNUM | ||
816 | | mov TMP1, RC | ||
817 | } else if (sse) { | ||
814 | | cvtsi2sd xmm0, RC | 818 | | cvtsi2sd xmm0, RC |
815 | | movsd TMPQ, xmm0 | 819 | | movsd TMPQ, xmm0 |
816 | } else { | 820 | } else { |
@@ -888,7 +892,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
888 | | | 892 | | |
889 | |->vmeta_tsetb: | 893 | |->vmeta_tsetb: |
890 | | movzx RC, PC_RC | 894 | | movzx RC, PC_RC |
891 | if (sse) { | 895 | if (LJ_DUALNUM) { |
896 | | mov TMP2, LJ_TISNUM | ||
897 | | mov TMP1, RC | ||
898 | } else if (sse) { | ||
892 | | cvtsi2sd xmm0, RC | 899 | | cvtsi2sd xmm0, RC |
893 | | movsd TMPQ, xmm0 | 900 | | movsd TMPQ, xmm0 |
894 | } else { | 901 | } else { |
@@ -1051,17 +1058,25 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1051 | | mov FCARG1, L:RB | 1058 | | mov FCARG1, L:RB |
1052 | | mov FCARG2, dword [PC-4] | 1059 | | mov FCARG2, dword [PC-4] |
1053 | | mov SAVE_PC, PC | 1060 | | mov SAVE_PC, PC |
1054 | | call extern lj_meta_equal_cd@8 // (lua_State *L, BCIns op) | 1061 | | call extern lj_meta_equal_cd@8 // (lua_State *L, BCIns ins) |
1055 | | // 0/1 or TValue * (metamethod) returned in eax (RC). | 1062 | | // 0/1 or TValue * (metamethod) returned in eax (RC). |
1056 | | jmp <3 | 1063 | | jmp <3 |
1057 | #endif | 1064 | #endif |
1058 | | | 1065 | | |
1059 | |//-- Arithmetic metamethods --------------------------------------------- | 1066 | |//-- Arithmetic metamethods --------------------------------------------- |
1060 | | | 1067 | | |
1068 | |->vmeta_arith_vno: | ||
1069 | #if LJ_DUALNUM | ||
1070 | | movzx RB, PC_RB | ||
1071 | #endif | ||
1061 | |->vmeta_arith_vn: | 1072 | |->vmeta_arith_vn: |
1062 | | lea RC, [KBASE+RC*8] | 1073 | | lea RC, [KBASE+RC*8] |
1063 | | jmp >1 | 1074 | | jmp >1 |
1064 | | | 1075 | | |
1076 | |->vmeta_arith_nvo: | ||
1077 | #if LJ_DUALNUM | ||
1078 | | movzx RC, PC_RC | ||
1079 | #endif | ||
1065 | |->vmeta_arith_nv: | 1080 | |->vmeta_arith_nv: |
1066 | | lea RC, [KBASE+RC*8] | 1081 | | lea RC, [KBASE+RC*8] |
1067 | | lea RB, [BASE+RB*8] | 1082 | | lea RB, [BASE+RB*8] |
@@ -1073,6 +1088,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1073 | | mov RB, RC | 1088 | | mov RB, RC |
1074 | | jmp >2 | 1089 | | jmp >2 |
1075 | | | 1090 | | |
1091 | |->vmeta_arith_vvo: | ||
1092 | #if LJ_DUALNUM | ||
1093 | | movzx RB, PC_RB | ||
1094 | #endif | ||
1076 | |->vmeta_arith_vv: | 1095 | |->vmeta_arith_vv: |
1077 | | lea RC, [BASE+RC*8] | 1096 | | lea RC, [BASE+RC*8] |
1078 | |1: | 1097 | |1: |
@@ -1210,20 +1229,20 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1210 | | | 1229 | | |
1211 | |.macro .ffunc_n, name | 1230 | |.macro .ffunc_n, name |
1212 | | .ffunc_1 name | 1231 | | .ffunc_1 name |
1213 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1232 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1214 | | fld qword [BASE] | 1233 | | fld qword [BASE] |
1215 | |.endmacro | 1234 | |.endmacro |
1216 | | | 1235 | | |
1217 | |.macro .ffunc_n, name, op | 1236 | |.macro .ffunc_n, name, op |
1218 | | .ffunc_1 name | 1237 | | .ffunc_1 name |
1219 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1238 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1220 | | op | 1239 | | op |
1221 | | fld qword [BASE] | 1240 | | fld qword [BASE] |
1222 | |.endmacro | 1241 | |.endmacro |
1223 | | | 1242 | | |
1224 | |.macro .ffunc_nsse, name, op | 1243 | |.macro .ffunc_nsse, name, op |
1225 | | .ffunc_1 name | 1244 | | .ffunc_1 name |
1226 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1245 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1227 | | op xmm0, qword [BASE] | 1246 | | op xmm0, qword [BASE] |
1228 | |.endmacro | 1247 | |.endmacro |
1229 | | | 1248 | | |
@@ -1233,24 +1252,24 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1233 | | | 1252 | | |
1234 | |.macro .ffunc_nn, name | 1253 | |.macro .ffunc_nn, name |
1235 | | .ffunc_2 name | 1254 | | .ffunc_2 name |
1236 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1255 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1237 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 1256 | | cmp dword [BASE+12], LJ_TISNUM; jae ->fff_fallback |
1238 | | fld qword [BASE] | 1257 | | fld qword [BASE] |
1239 | | fld qword [BASE+8] | 1258 | | fld qword [BASE+8] |
1240 | |.endmacro | 1259 | |.endmacro |
1241 | | | 1260 | | |
1242 | |.macro .ffunc_nnsse, name | 1261 | |.macro .ffunc_nnsse, name |
1243 | | .ffunc_2 name | 1262 | | .ffunc_2 name |
1244 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1263 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1245 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 1264 | | cmp dword [BASE+12], LJ_TISNUM; jae ->fff_fallback |
1246 | | movsd xmm0, qword [BASE] | 1265 | | movsd xmm0, qword [BASE] |
1247 | | movsd xmm1, qword [BASE+8] | 1266 | | movsd xmm1, qword [BASE+8] |
1248 | |.endmacro | 1267 | |.endmacro |
1249 | | | 1268 | | |
1250 | |.macro .ffunc_nnr, name | 1269 | |.macro .ffunc_nnr, name |
1251 | | .ffunc_2 name | 1270 | | .ffunc_2 name |
1252 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1271 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback |
1253 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 1272 | | cmp dword [BASE+12], LJ_TISNUM; jae ->fff_fallback |
1254 | | fld qword [BASE+8] | 1273 | | fld qword [BASE+8] |
1255 | | fld qword [BASE] | 1274 | | fld qword [BASE] |
1256 | |.endmacro | 1275 | |.endmacro |
@@ -1431,7 +1450,15 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1431 | |.ffunc tonumber | 1450 | |.ffunc tonumber |
1432 | | // Only handles the number case inline (without a base argument). | 1451 | | // Only handles the number case inline (without a base argument). |
1433 | | cmp NARGS:RD, 1+1; jne ->fff_fallback // Exactly one argument. | 1452 | | cmp NARGS:RD, 1+1; jne ->fff_fallback // Exactly one argument. |
1434 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 1453 | | cmp dword [BASE+4], LJ_TISNUM |
1454 | if (LJ_DUALNUM) { | ||
1455 | | jne >1 | ||
1456 | | mov RB, dword [BASE]; jmp ->fff_resi | ||
1457 | |1: | ||
1458 | | ja ->fff_fallback | ||
1459 | } else { | ||
1460 | | jae ->fff_fallback | ||
1461 | } | ||
1435 | if (sse) { | 1462 | if (sse) { |
1436 | | movsd xmm0, qword [BASE]; jmp ->fff_resxmm0 | 1463 | | movsd xmm0, qword [BASE]; jmp ->fff_resxmm0 |
1437 | } else { | 1464 | } else { |
@@ -1460,7 +1487,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1460 | | mov FCARG2, BASE // Otherwise: FCARG2 == BASE | 1487 | | mov FCARG2, BASE // Otherwise: FCARG2 == BASE |
1461 | |.endif | 1488 | |.endif |
1462 | | mov L:FCARG1, L:RB | 1489 | | mov L:FCARG1, L:RB |
1463 | | call extern lj_str_fromnum@8 // (lua_State *L, lua_Number *np) | 1490 | if (LJ_DUALNUM) { |
1491 | | call extern lj_str_fromnumber@8 // (lua_State *L, cTValue *o) | ||
1492 | } else { | ||
1493 | | call extern lj_str_fromnum@8 // (lua_State *L, lua_Number *np) | ||
1494 | } | ||
1464 | | // GCstr returned in eax (RD). | 1495 | | // GCstr returned in eax (RD). |
1465 | | mov BASE, L:RB->base | 1496 | | mov BASE, L:RB->base |
1466 | | jmp <2 | 1497 | | jmp <2 |
@@ -1538,9 +1569,19 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1538 | | | 1569 | | |
1539 | |.ffunc_1 ipairs_aux | 1570 | |.ffunc_1 ipairs_aux |
1540 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback | 1571 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback |
1541 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 1572 | | cmp dword [BASE+12], LJ_TISNUM |
1573 | if (LJ_DUALNUM) { | ||
1574 | | jne ->fff_fallback | ||
1575 | } else { | ||
1576 | | jae ->fff_fallback | ||
1577 | } | ||
1542 | | mov PC, [BASE-4] | 1578 | | mov PC, [BASE-4] |
1543 | if (sse) { | 1579 | if (LJ_DUALNUM) { |
1580 | | mov RD, dword [BASE+8] | ||
1581 | | add RD, 1 | ||
1582 | | mov dword [BASE-4], LJ_TISNUM | ||
1583 | | mov dword [BASE-8], RD | ||
1584 | } else if (sse) { | ||
1544 | | movsd xmm0, qword [BASE+8] | 1585 | | movsd xmm0, qword [BASE+8] |
1545 | | sseconst_1 xmm1, RBa | 1586 | | sseconst_1 xmm1, RBa |
1546 | | addsd xmm0, xmm1 | 1587 | | addsd xmm0, xmm1 |
@@ -1598,7 +1639,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1598 | | mov PC, [BASE-4] | 1639 | | mov PC, [BASE-4] |
1599 | | mov dword [BASE-4], LJ_TFUNC | 1640 | | mov dword [BASE-4], LJ_TFUNC |
1600 | | mov [BASE-8], CFUNC:RD | 1641 | | mov [BASE-8], CFUNC:RD |
1601 | if (sse) { | 1642 | if (LJ_DUALNUM) { |
1643 | | mov dword [BASE+12], LJ_TISNUM | ||
1644 | | mov dword [BASE+8], 0 | ||
1645 | } else if (sse) { | ||
1602 | | xorps xmm0, xmm0 | 1646 | | xorps xmm0, xmm0 |
1603 | | movsd qword [BASE+8], xmm0 | 1647 | | movsd qword [BASE+8], xmm0 |
1604 | } else { | 1648 | } else { |
@@ -1829,13 +1873,39 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1829 | | | 1873 | | |
1830 | |//-- Math library ------------------------------------------------------- | 1874 | |//-- Math library ------------------------------------------------------- |
1831 | | | 1875 | | |
1876 | if (!LJ_DUALNUM) { | ||
1877 | |->fff_resi: // Dummy. | ||
1878 | } | ||
1832 | if (sse) { | 1879 | if (sse) { |
1833 | |->fff_resn: | 1880 | |->fff_resn: |
1834 | | mov PC, [BASE-4] | 1881 | | mov PC, [BASE-4] |
1835 | | fstp qword [BASE-8] | 1882 | | fstp qword [BASE-8] |
1836 | | jmp ->fff_res1 | 1883 | | jmp ->fff_res1 |
1837 | | | 1884 | } |
1838 | |.ffunc_nsse math_abs | 1885 | | .ffunc_1 math_abs |
1886 | if (LJ_DUALNUM) { | ||
1887 | | cmp dword [BASE+4], LJ_TISNUM; jne >2 | ||
1888 | | mov RB, dword [BASE] | ||
1889 | | cmp RB, 0; jns ->fff_resi | ||
1890 | | neg RB; js >1 | ||
1891 | |->fff_resbit: | ||
1892 | |->fff_resi: | ||
1893 | | mov PC, [BASE-4] | ||
1894 | | mov dword [BASE-4], LJ_TISNUM | ||
1895 | | mov dword [BASE-8], RB | ||
1896 | | jmp ->fff_res1 | ||
1897 | |1: | ||
1898 | | mov PC, [BASE-4] | ||
1899 | | mov dword [BASE-4], 0x41e00000 // 2^31. | ||
1900 | | mov dword [BASE-8], 0 | ||
1901 | | jmp ->fff_res1 | ||
1902 | |2: | ||
1903 | | ja ->fff_fallback | ||
1904 | } else { | ||
1905 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback | ||
1906 | } | ||
1907 | if (sse) { | ||
1908 | | movsd xmm0, qword [BASE] | ||
1839 | | sseconst_abs xmm1, RDa | 1909 | | sseconst_abs xmm1, RDa |
1840 | | andps xmm0, xmm1 | 1910 | | andps xmm0, xmm1 |
1841 | |->fff_resxmm0: | 1911 | |->fff_resxmm0: |
@@ -1843,7 +1913,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1843 | | movsd qword [BASE-8], xmm0 | 1913 | | movsd qword [BASE-8], xmm0 |
1844 | | // fallthrough | 1914 | | // fallthrough |
1845 | } else { | 1915 | } else { |
1846 | |.ffunc_n math_abs | 1916 | | fld qword [BASE] |
1847 | | fabs | 1917 | | fabs |
1848 | | // fallthrough | 1918 | | // fallthrough |
1849 | |->fff_resxmm0: // Dummy. | 1919 | |->fff_resxmm0: // Dummy. |
@@ -1876,16 +1946,60 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1876 | | mov RAa, -8 // Results start at BASE+RA = BASE-8. | 1946 | | mov RAa, -8 // Results start at BASE+RA = BASE-8. |
1877 | | jmp ->vm_return | 1947 | | jmp ->vm_return |
1878 | | | 1948 | | |
1949 | |.macro math_round, func | ||
1950 | | .ffunc math_ .. func | ||
1951 | ||if (LJ_DUALNUM) { | ||
1952 | | cmp dword [BASE+4], LJ_TISNUM; jne >1 | ||
1953 | | mov RB, dword [BASE]; jmp ->fff_resi | ||
1954 | |1: | ||
1955 | | ja ->fff_fallback | ||
1956 | ||} else { | ||
1957 | | cmp dword [BASE+4], LJ_TISNUM; jae ->fff_fallback | ||
1958 | ||} | ||
1959 | ||if (sse) { | ||
1960 | | movsd xmm0, qword [BASE] | ||
1961 | | call ->vm_ .. func | ||
1962 | || if (LJ_DUALNUM) { | ||
1963 | | cvtsd2si RB, xmm0 | ||
1964 | | cmp RB, 0x80000000 | ||
1965 | | jne ->fff_resi | ||
1966 | | cvtsi2sd xmm1, RB | ||
1967 | | ucomisd xmm0, xmm1 | ||
1968 | | jp ->fff_resxmm0 | ||
1969 | | je ->fff_resi | ||
1970 | || } | ||
1971 | | jmp ->fff_resxmm0 | ||
1972 | ||} else { | ||
1973 | | fld qword [BASE] | ||
1974 | | call ->vm_ .. func | ||
1975 | || if (LJ_DUALNUM) { | ||
1976 | |.if not X64 | ||
1977 | | fist ARG1 | ||
1978 | | mov RB, ARG1 | ||
1979 | | cmp RB, 0x80000000; jne >2 | ||
1980 | | fdup | ||
1981 | | fild ARG1 | ||
1982 | | fcomparepp | ||
1983 | | jp ->fff_resn | ||
1984 | | jne ->fff_resn | ||
1985 | |2: | ||
1986 | | fpop | ||
1987 | | jmp ->fff_resi | ||
1988 | |.endif | ||
1989 | || } else { | ||
1990 | | jmp ->fff_resn | ||
1991 | || } | ||
1992 | ||} | ||
1993 | |.endmacro | ||
1994 | | | ||
1995 | | math_round floor | ||
1996 | | math_round ceil | ||
1997 | | | ||
1879 | if (sse) { | 1998 | if (sse) { |
1880 | |.ffunc_nsse math_sqrt, sqrtsd; jmp ->fff_resxmm0 | 1999 | |.ffunc_nsse math_sqrt, sqrtsd; jmp ->fff_resxmm0 |
1881 | |.ffunc_nsse math_floor; call ->vm_floor; jmp ->fff_resxmm0 | ||
1882 | |.ffunc_nsse math_ceil; call ->vm_ceil; jmp ->fff_resxmm0 | ||
1883 | } else { | 2000 | } else { |
1884 | |.ffunc_n math_sqrt; fsqrt; jmp ->fff_resn | 2001 | |.ffunc_n math_sqrt; fsqrt; jmp ->fff_resn |
1885 | |.ffunc_n math_floor; call ->vm_floor; jmp ->fff_resn | ||
1886 | |.ffunc_n math_ceil; call ->vm_ceil; jmp ->fff_resn | ||
1887 | } | 2002 | } |
1888 | | | ||
1889 | |.ffunc_n math_log, fldln2; fyl2x; jmp ->fff_resn | 2003 | |.ffunc_n math_log, fldln2; fyl2x; jmp ->fff_resn |
1890 | |.ffunc_n math_log10, fldlg2; fyl2x; jmp ->fff_resn | 2004 | |.ffunc_n math_log10, fldlg2; fyl2x; jmp ->fff_resn |
1891 | |.ffunc_n math_exp; call ->vm_exp; jmp ->fff_resn | 2005 | |.ffunc_n math_exp; call ->vm_exp; jmp ->fff_resn |
@@ -1946,7 +2060,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1946 | | | 2060 | | |
1947 | |.ffunc_1 math_frexp | 2061 | |.ffunc_1 math_frexp |
1948 | | mov RB, [BASE+4] | 2062 | | mov RB, [BASE+4] |
1949 | | cmp RB, LJ_TISNUM; ja ->fff_fallback | 2063 | | cmp RB, LJ_TISNUM; jae ->fff_fallback |
1950 | | mov PC, [BASE-4] | 2064 | | mov PC, [BASE-4] |
1951 | | mov RC, [BASE] | 2065 | | mov RC, [BASE] |
1952 | | mov [BASE-4], RB; mov [BASE-8], RC | 2066 | | mov [BASE-4], RB; mov [BASE-8], RC |
@@ -2041,44 +2155,91 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2041 | |.ffunc_nn math_pow; call ->vm_pow; jmp ->fff_resn | 2155 | |.ffunc_nn math_pow; call ->vm_pow; jmp ->fff_resn |
2042 | } | 2156 | } |
2043 | | | 2157 | | |
2044 | |.macro math_minmax, name, cmovop, nocmovop, sseop | 2158 | |.macro math_minmax, name, cmovop, fcmovop, nofcmovop, sseop |
2159 | | .ffunc name | ||
2160 | | mov RA, 2 | ||
2161 | | cmp dword [BASE+4], LJ_TISNUM | ||
2162 | ||if (LJ_DUALNUM) { | ||
2163 | | jne >4 | ||
2164 | | mov RB, dword [BASE] | ||
2165 | |1: // Handle integers. | ||
2166 | | cmp RA, RD; jae ->fff_resi | ||
2167 | | cmp dword [BASE+RA*8-4], LJ_TISNUM; jne >3 | ||
2168 | | cmp RB, dword [BASE+RA*8-8] | ||
2169 | | cmovop RB, dword [BASE+RA*8-8] | ||
2170 | | add RA, 1 | ||
2171 | | jmp <1 | ||
2172 | |3: | ||
2173 | | ja ->fff_fallback | ||
2174 | | // Convert intermediate result to number and continue below. | ||
2045 | ||if (sse) { | 2175 | ||if (sse) { |
2046 | |.ffunc_nsse name | 2176 | | cvtsi2sd xmm0, RB |
2047 | | mov RB, 2 | 2177 | ||} else { |
2048 | |1: | 2178 | |.if not X64 |
2049 | | cmp RB, RD | 2179 | | mov TMP1, RB |
2050 | | jae ->fff_resxmm0 | 2180 | | fild TMP1 |
2051 | | cmp dword [BASE+RB*8-4], LJ_TISNUM; ja ->fff_fallback | 2181 | |.endif |
2052 | | movsd xmm1, qword [BASE+RB*8-8] | 2182 | ||} |
2183 | | jmp >6 | ||
2184 | |4: | ||
2185 | | ja ->fff_fallback | ||
2186 | ||} else { | ||
2187 | | jae ->fff_fallback | ||
2188 | ||} | ||
2189 | | | ||
2190 | ||if (sse) { | ||
2191 | | movsd xmm0, qword [BASE] | ||
2192 | |5: // Handle numbers or integers. | ||
2193 | | cmp RA, RD; jae ->fff_resxmm0 | ||
2194 | | cmp dword [BASE+RA*8-4], LJ_TISNUM | ||
2195 | ||if (LJ_DUALNUM) { | ||
2196 | | jb >6 | ||
2197 | | ja ->fff_fallback | ||
2198 | | cvtsi2sd xmm1, dword [BASE+RA*8-8] | ||
2199 | | jmp >7 | ||
2200 | ||} else { | ||
2201 | | jae ->fff_fallback | ||
2202 | ||} | ||
2203 | |6: | ||
2204 | | movsd xmm1, qword [BASE+RA*8-8] | ||
2205 | |7: | ||
2053 | | sseop xmm0, xmm1 | 2206 | | sseop xmm0, xmm1 |
2054 | | add RB, 1 | 2207 | | add RA, 1 |
2055 | | jmp <1 | 2208 | | jmp <5 |
2056 | ||} else { | 2209 | ||} else { |
2057 | |.if not X64 | 2210 | |.if not X64 |
2058 | |.ffunc_n name | 2211 | | fld qword [BASE] |
2059 | | mov RB, 2 | 2212 | |5: // Handle numbers or integers. |
2060 | |1: | 2213 | | cmp RA, RD; jae ->fff_resn |
2061 | | cmp RB, RD | 2214 | | cmp dword [BASE+RA*8-4], LJ_TISNUM |
2062 | | jae ->fff_resn | 2215 | ||if (LJ_DUALNUM) { |
2063 | | cmp dword [BASE+RB*8-4], LJ_TISNUM; ja >5 | 2216 | | jb >6 |
2064 | | fld qword [BASE+RB*8-8] | 2217 | | ja >9 |
2218 | | fild dword [BASE+RA*8-8] | ||
2219 | | jmp >7 | ||
2220 | ||} else { | ||
2221 | | jae >9 | ||
2222 | ||} | ||
2223 | |6: | ||
2224 | | fld qword [BASE+RA*8-8] | ||
2225 | |7: | ||
2065 | ||if (cmov) { | 2226 | ||if (cmov) { |
2066 | | fucomi st1; cmovop st1; fpop1 | 2227 | | fucomi st1; fcmovop st1; fpop1 |
2067 | ||} else { | 2228 | ||} else { |
2068 | | push eax | 2229 | | push eax |
2069 | | fucom st1; fnstsw ax; test ah, 1; nocmovop >2; fxch; 2: ; fpop | 2230 | | fucom st1; fnstsw ax; test ah, 1; nofcmovop >2; fxch; 2: ; fpop |
2070 | | pop eax | 2231 | | pop eax |
2071 | ||} | 2232 | ||} |
2072 | | add RB, 1 | 2233 | | add RA, 1 |
2073 | | jmp <1 | 2234 | | jmp <5 |
2074 | |.endif | 2235 | |.endif |
2075 | ||} | 2236 | ||} |
2076 | |.endmacro | 2237 | |.endmacro |
2077 | | | 2238 | | |
2078 | | math_minmax math_min, fcmovnbe, jz, minsd | 2239 | | math_minmax math_min, cmovg, fcmovnbe, jz, minsd |
2079 | | math_minmax math_max, fcmovbe, jnz, maxsd | 2240 | | math_minmax math_max, cmovl, fcmovbe, jnz, maxsd |
2080 | if (!sse) { | 2241 | if (!sse) { |
2081 | |5: | 2242 | |9: |
2082 | | fpop; jmp ->fff_fallback | 2243 | | fpop; jmp ->fff_fallback |
2083 | } | 2244 | } |
2084 | | | 2245 | | |
@@ -2087,7 +2248,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2087 | |.ffunc_1 string_len | 2248 | |.ffunc_1 string_len |
2088 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback | 2249 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback |
2089 | | mov STR:RB, [BASE] | 2250 | | mov STR:RB, [BASE] |
2090 | if (sse) { | 2251 | if (LJ_DUALNUM) { |
2252 | | mov RB, dword STR:RB->len; jmp ->fff_resi | ||
2253 | } else if (sse) { | ||
2091 | | cvtsi2sd xmm0, dword STR:RB->len; jmp ->fff_resxmm0 | 2254 | | cvtsi2sd xmm0, dword STR:RB->len; jmp ->fff_resxmm0 |
2092 | } else { | 2255 | } else { |
2093 | | fild dword STR:RB->len; jmp ->fff_resn | 2256 | | fild dword STR:RB->len; jmp ->fff_resn |
@@ -2101,7 +2264,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2101 | | cmp dword STR:RB->len, 1 | 2264 | | cmp dword STR:RB->len, 1 |
2102 | | jb ->fff_res0 // Return no results for empty string. | 2265 | | jb ->fff_res0 // Return no results for empty string. |
2103 | | movzx RB, byte STR:RB[1] | 2266 | | movzx RB, byte STR:RB[1] |
2104 | if (sse) { | 2267 | if (LJ_DUALNUM) { |
2268 | | jmp ->fff_resi | ||
2269 | } else if (sse) { | ||
2105 | | cvtsi2sd xmm0, RB; jmp ->fff_resxmm0 | 2270 | | cvtsi2sd xmm0, RB; jmp ->fff_resxmm0 |
2106 | } else { | 2271 | } else { |
2107 | | mov TMP1, RB; fild TMP1; jmp ->fff_resn | 2272 | | mov TMP1, RB; fild TMP1; jmp ->fff_resn |
@@ -2110,12 +2275,19 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2110 | |.ffunc string_char // Only handle the 1-arg case here. | 2275 | |.ffunc string_char // Only handle the 1-arg case here. |
2111 | | ffgccheck | 2276 | | ffgccheck |
2112 | | cmp NARGS:RD, 1+1; jne ->fff_fallback // *Exactly* 1 arg. | 2277 | | cmp NARGS:RD, 1+1; jne ->fff_fallback // *Exactly* 1 arg. |
2113 | | cmp dword [BASE+4], LJ_TISNUM; ja ->fff_fallback | 2278 | | cmp dword [BASE+4], LJ_TISNUM |
2114 | if (sse) { | 2279 | if (LJ_DUALNUM) { |
2280 | | jne ->fff_fallback | ||
2281 | | mov RB, dword [BASE] | ||
2282 | | cmp RB, 255; ja ->fff_fallback | ||
2283 | | mov TMP2, RB | ||
2284 | } else if (sse) { | ||
2285 | | jae ->fff_fallback | ||
2115 | | cvttsd2si RB, qword [BASE] | 2286 | | cvttsd2si RB, qword [BASE] |
2116 | | cmp RB, 255; ja ->fff_fallback | 2287 | | cmp RB, 255; ja ->fff_fallback |
2117 | | mov TMP2, RB | 2288 | | mov TMP2, RB |
2118 | } else { | 2289 | } else { |
2290 | | jae ->fff_fallback | ||
2119 | | fld qword [BASE] | 2291 | | fld qword [BASE] |
2120 | | fistp TMP2 | 2292 | | fistp TMP2 |
2121 | | cmp TMP2, 255; ja ->fff_fallback | 2293 | | cmp TMP2, 255; ja ->fff_fallback |
@@ -2151,21 +2323,34 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2151 | | mov TMP2, -1 | 2323 | | mov TMP2, -1 |
2152 | | cmp NARGS:RD, 1+2; jb ->fff_fallback | 2324 | | cmp NARGS:RD, 1+2; jb ->fff_fallback |
2153 | | jna >1 | 2325 | | jna >1 |
2154 | | cmp dword [BASE+20], LJ_TISNUM; ja ->fff_fallback | 2326 | | cmp dword [BASE+20], LJ_TISNUM |
2155 | if (sse) { | 2327 | if (LJ_DUALNUM) { |
2328 | | jne ->fff_fallback | ||
2329 | | mov RB, dword [BASE+16] | ||
2330 | | mov TMP2, RB | ||
2331 | } else if (sse) { | ||
2332 | | jae ->fff_fallback | ||
2156 | | cvttsd2si RB, qword [BASE+16] | 2333 | | cvttsd2si RB, qword [BASE+16] |
2157 | | mov TMP2, RB | 2334 | | mov TMP2, RB |
2158 | } else { | 2335 | } else { |
2336 | | jae ->fff_fallback | ||
2159 | | fld qword [BASE+16] | 2337 | | fld qword [BASE+16] |
2160 | | fistp TMP2 | 2338 | | fistp TMP2 |
2161 | } | 2339 | } |
2162 | |1: | 2340 | |1: |
2163 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback | 2341 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback |
2164 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 2342 | | cmp dword [BASE+12], LJ_TISNUM |
2343 | if (LJ_DUALNUM) { | ||
2344 | | jne ->fff_fallback | ||
2345 | } else { | ||
2346 | | jae ->fff_fallback | ||
2347 | } | ||
2165 | | mov STR:RB, [BASE] | 2348 | | mov STR:RB, [BASE] |
2166 | | mov TMP3, STR:RB | 2349 | | mov TMP3, STR:RB |
2167 | | mov RB, STR:RB->len | 2350 | | mov RB, STR:RB->len |
2168 | if (sse) { | 2351 | if (LJ_DUALNUM) { |
2352 | | mov RA, dword [BASE+8] | ||
2353 | } else if (sse) { | ||
2169 | | cvttsd2si RA, qword [BASE+8] | 2354 | | cvttsd2si RA, qword [BASE+8] |
2170 | } else { | 2355 | } else { |
2171 | |.if not X64 | 2356 | |.if not X64 |
@@ -2219,11 +2404,16 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2219 | |.ffunc_2 string_rep // Only handle the 1-char case inline. | 2404 | |.ffunc_2 string_rep // Only handle the 1-char case inline. |
2220 | | ffgccheck | 2405 | | ffgccheck |
2221 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback | 2406 | | cmp dword [BASE+4], LJ_TSTR; jne ->fff_fallback |
2222 | | cmp dword [BASE+12], LJ_TISNUM; ja ->fff_fallback | 2407 | | cmp dword [BASE+12], LJ_TISNUM |
2223 | | mov STR:RB, [BASE] | 2408 | | mov STR:RB, [BASE] |
2224 | if (sse) { | 2409 | if (LJ_DUALNUM) { |
2410 | | jne ->fff_fallback | ||
2411 | | mov RC, dword [BASE+8] | ||
2412 | } else if (sse) { | ||
2413 | | jae ->fff_fallback | ||
2225 | | cvttsd2si RC, qword [BASE+8] | 2414 | | cvttsd2si RC, qword [BASE+8] |
2226 | } else { | 2415 | } else { |
2416 | | jae ->fff_fallback | ||
2227 | | fld qword [BASE+8] | 2417 | | fld qword [BASE+8] |
2228 | | fistp TMP2 | 2418 | | fistp TMP2 |
2229 | | mov RC, TMP2 | 2419 | | mov RC, TMP2 |
@@ -2320,7 +2510,9 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2320 | | call extern lj_tab_len@4 // LJ_FASTCALL (GCtab *t) | 2510 | | call extern lj_tab_len@4 // LJ_FASTCALL (GCtab *t) |
2321 | | // Length of table returned in eax (RD). | 2511 | | // Length of table returned in eax (RD). |
2322 | | mov BASE, RB // Restore BASE. | 2512 | | mov BASE, RB // Restore BASE. |
2323 | if (sse) { | 2513 | if (LJ_DUALNUM) { |
2514 | | mov RB, RD; jmp ->fff_resi | ||
2515 | } else if (sse) { | ||
2324 | | cvtsi2sd xmm0, RD; jmp ->fff_resxmm0 | 2516 | | cvtsi2sd xmm0, RD; jmp ->fff_resxmm0 |
2325 | } else { | 2517 | } else { |
2326 | |.if not X64 | 2518 | |.if not X64 |
@@ -2332,49 +2524,85 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2332 | | | 2524 | | |
2333 | |.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!). | 2525 | |.define TOBIT_BIAS, 0x59c00000 // 2^52 + 2^51 (float, not double!). |
2334 | | | 2526 | | |
2335 | if (sse) { | 2527 | |.macro .ffunc_bit, name, kind |
2336 | |.ffunc_nsse bit_tobit | 2528 | | .ffunc name |
2337 | | sseconst_tobit xmm1, RBa | 2529 | |.if kind == 2 |
2338 | | addsd xmm0, xmm1 | 2530 | ||if (sse) { |
2339 | | movd RB, xmm0 | 2531 | | sseconst_tobit xmm1, RBa |
2340 | | cvtsi2sd xmm0, RB | 2532 | ||} else { |
2341 | | jmp ->fff_resxmm0 | 2533 | | mov TMP1, TOBIT_BIAS |
2342 | } else { | 2534 | ||} |
2343 | |.if not X64 | 2535 | |.endif |
2344 | |.ffunc_n bit_tobit | 2536 | | cmp dword [BASE+4], LJ_TISNUM |
2345 | | mov TMP1, TOBIT_BIAS | 2537 | ||if (LJ_DUALNUM) { |
2346 | | fadd TMP1 | 2538 | | jne >1 |
2347 | | fstp FPARG1 // 64 bit FP store. | 2539 | | mov RB, dword [BASE] |
2348 | | fild ARG1 // 32 bit integer load (s2lfwd ok). | 2540 | |.if kind > 0 |
2349 | | jmp ->fff_resn | 2541 | | jmp >2 |
2350 | |.endif | 2542 | |.else |
2351 | } | 2543 | | jmp ->fff_resbit |
2352 | | | 2544 | |.endif |
2353 | |.macro .ffunc_bit, name | 2545 | |1: |
2546 | | ja ->fff_fallback | ||
2547 | ||} else { | ||
2548 | | jae ->fff_fallback | ||
2549 | ||} | ||
2354 | ||if (sse) { | 2550 | ||if (sse) { |
2355 | | .ffunc_nsse name | 2551 | | movsd xmm0, qword [BASE] |
2552 | |.if kind < 2 | ||
2356 | | sseconst_tobit xmm1, RBa | 2553 | | sseconst_tobit xmm1, RBa |
2554 | |.endif | ||
2357 | | addsd xmm0, xmm1 | 2555 | | addsd xmm0, xmm1 |
2358 | | movd RB, xmm0 | 2556 | | movd RB, xmm0 |
2359 | ||} else { | 2557 | ||} else { |
2360 | |.if not X64 | 2558 | |.if not X64 |
2361 | | .ffunc_n name | 2559 | | fld qword [BASE] |
2560 | |.if kind < 2 | ||
2362 | | mov TMP1, TOBIT_BIAS | 2561 | | mov TMP1, TOBIT_BIAS |
2562 | |.endif | ||
2363 | | fadd TMP1 | 2563 | | fadd TMP1 |
2364 | | fstp FPARG1 | 2564 | | fstp FPARG1 |
2565 | |.if kind > 0 | ||
2365 | | mov RB, ARG1 | 2566 | | mov RB, ARG1 |
2366 | |.endif | 2567 | |.endif |
2568 | |.endif | ||
2367 | ||} | 2569 | ||} |
2570 | |2: | ||
2368 | |.endmacro | 2571 | |.endmacro |
2369 | | | 2572 | | |
2573 | |.ffunc_bit bit_tobit, 0 | ||
2574 | if (LJ_DUALNUM || sse) { | ||
2575 | if (!sse) { | ||
2576 | |.if not X64 | ||
2577 | | mov RB, ARG1 | ||
2578 | |.endif | ||
2579 | } | ||
2580 | | jmp ->fff_resbit | ||
2581 | } else { | ||
2582 | |.if not X64 | ||
2583 | | fild ARG1 | ||
2584 | | jmp ->fff_resn | ||
2585 | |.endif | ||
2586 | } | ||
2587 | | | ||
2370 | |.macro .ffunc_bit_op, name, ins | 2588 | |.macro .ffunc_bit_op, name, ins |
2371 | | .ffunc_bit name | 2589 | | .ffunc_bit name, 2 |
2372 | | mov TMP2, NARGS:RD // Save for fallback. | 2590 | | mov TMP2, NARGS:RD // Save for fallback. |
2373 | | lea RD, [BASE+NARGS:RD*8-16] | 2591 | | lea RD, [BASE+NARGS:RD*8-16] |
2374 | |1: | 2592 | |1: |
2375 | | cmp RD, BASE | 2593 | | cmp RD, BASE |
2376 | | jbe ->fff_resbit | 2594 | | jbe ->fff_resbit |
2377 | | cmp dword [RD+4], LJ_TISNUM; ja ->fff_fallback_bit_op | 2595 | | cmp dword [RD+4], LJ_TISNUM |
2596 | ||if (LJ_DUALNUM) { | ||
2597 | | jne >2 | ||
2598 | | ins RB, dword [RD] | ||
2599 | | sub RD, 8 | ||
2600 | | jmp <1 | ||
2601 | |2: | ||
2602 | | ja ->fff_fallback_bit_op | ||
2603 | ||} else { | ||
2604 | | jae ->fff_fallback_bit_op | ||
2605 | ||} | ||
2378 | ||if (sse) { | 2606 | ||if (sse) { |
2379 | | movsd xmm0, qword [RD] | 2607 | | movsd xmm0, qword [RD] |
2380 | | addsd xmm0, xmm1 | 2608 | | addsd xmm0, xmm1 |
@@ -2396,13 +2624,15 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2396 | |.ffunc_bit_op bit_bor, or | 2624 | |.ffunc_bit_op bit_bor, or |
2397 | |.ffunc_bit_op bit_bxor, xor | 2625 | |.ffunc_bit_op bit_bxor, xor |
2398 | | | 2626 | | |
2399 | |.ffunc_bit bit_bswap | 2627 | |.ffunc_bit bit_bswap, 1 |
2400 | | bswap RB | 2628 | | bswap RB |
2401 | | jmp ->fff_resbit | 2629 | | jmp ->fff_resbit |
2402 | | | 2630 | | |
2403 | |.ffunc_bit bit_bnot | 2631 | |.ffunc_bit bit_bnot, 1 |
2404 | | not RB | 2632 | | not RB |
2405 | if (sse) { | 2633 | if (LJ_DUALNUM) { |
2634 | | jmp ->fff_resbit | ||
2635 | } else if (sse) { | ||
2406 | |->fff_resbit: | 2636 | |->fff_resbit: |
2407 | | cvtsi2sd xmm0, RB | 2637 | | cvtsi2sd xmm0, RB |
2408 | | jmp ->fff_resxmm0 | 2638 | | jmp ->fff_resxmm0 |
@@ -2420,12 +2650,16 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2420 | | jmp ->fff_fallback | 2650 | | jmp ->fff_fallback |
2421 | | | 2651 | | |
2422 | |.macro .ffunc_bit_sh, name, ins | 2652 | |.macro .ffunc_bit_sh, name, ins |
2423 | ||if (sse) { | 2653 | ||if (LJ_DUALNUM) { |
2654 | | .ffunc_bit name, 1 | ||
2655 | | // Note: no inline conversion from number for 2nd argument! | ||
2656 | | cmp dword [BASE+12], LJ_TISNUM; jne ->fff_fallback | ||
2657 | | mov RA, dword [BASE+8] | ||
2658 | ||} else if (sse) { | ||
2424 | | .ffunc_nnsse name | 2659 | | .ffunc_nnsse name |
2425 | | sseconst_tobit xmm2, RBa | 2660 | | sseconst_tobit xmm2, RBa |
2426 | | addsd xmm0, xmm2 | 2661 | | addsd xmm0, xmm2 |
2427 | | addsd xmm1, xmm2 | 2662 | | addsd xmm1, xmm2 |
2428 | | mov RC, RA // Assumes RA is ecx. | ||
2429 | | movd RB, xmm0 | 2663 | | movd RB, xmm0 |
2430 | | movd RA, xmm1 | 2664 | | movd RA, xmm1 |
2431 | ||} else { | 2665 | ||} else { |
@@ -2436,13 +2670,11 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2436 | | fstp FPARG3 | 2670 | | fstp FPARG3 |
2437 | | fadd TMP1 | 2671 | | fadd TMP1 |
2438 | | fstp FPARG1 | 2672 | | fstp FPARG1 |
2439 | | mov RC, RA // Assumes RA is ecx. | ||
2440 | | mov RA, ARG3 | 2673 | | mov RA, ARG3 |
2441 | | mov RB, ARG1 | 2674 | | mov RB, ARG1 |
2442 | |.endif | 2675 | |.endif |
2443 | ||} | 2676 | ||} |
2444 | | ins RB, cl | 2677 | | ins RB, cl // Assumes RA is ecx. |
2445 | | mov RA, RC | ||
2446 | | jmp ->fff_resbit | 2678 | | jmp ->fff_resbit |
2447 | |.endmacro | 2679 | |.endmacro |
2448 | | | 2680 | | |
@@ -3073,7 +3305,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
3073 | | ret | 3305 | | ret |
3074 | |6: | 3306 | |6: |
3075 | | je <5 // x^1 ==> x | 3307 | | je <5 // x^1 ==> x |
3076 | | jb >7 | 3308 | | jb >7 // x^0 ==> 1 |
3077 | | neg eax | 3309 | | neg eax |
3078 | | call <1 | 3310 | | call <1 |
3079 | | sseconst_1 xmm1, RDa | 3311 | | sseconst_1 xmm1, RDa |
@@ -3536,43 +3768,100 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3536 | 3768 | ||
3537 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 3769 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
3538 | 3770 | ||
3771 | |.macro jmp_comp, lt, ge, le, gt, target | ||
3772 | ||switch (op) { | ||
3773 | ||case BC_ISLT: | ||
3774 | | lt target | ||
3775 | ||break; | ||
3776 | ||case BC_ISGE: | ||
3777 | | ge target | ||
3778 | ||break; | ||
3779 | ||case BC_ISLE: | ||
3780 | | le target | ||
3781 | ||break; | ||
3782 | ||case BC_ISGT: | ||
3783 | | gt target | ||
3784 | ||break; | ||
3785 | ||default: break; /* Shut up GCC. */ | ||
3786 | ||} | ||
3787 | |.endmacro | ||
3788 | |||
3539 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 3789 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
3540 | | // RA = src1, RD = src2, JMP with RD = target | 3790 | | // RA = src1, RD = src2, JMP with RD = target |
3541 | | ins_AD | 3791 | | ins_AD |
3542 | | checknum RA, ->vmeta_comp | 3792 | if (LJ_DUALNUM) { |
3543 | | checknum RD, ->vmeta_comp | 3793 | | checkint RA, >7 |
3794 | | checkint RD, >8 | ||
3795 | | mov RB, dword [BASE+RA*8] | ||
3796 | | add PC, 4 | ||
3797 | | cmp RB, dword [BASE+RD*8] | ||
3798 | | jmp_comp jge, jl, jg, jle, >9 | ||
3799 | |6: | ||
3800 | | movzx RD, PC_RD | ||
3801 | | branchPC RD | ||
3802 | |9: | ||
3803 | | ins_next | ||
3804 | | | ||
3805 | |7: // RA is not an integer. | ||
3806 | | ja ->vmeta_comp | ||
3807 | | // RA is a number. | ||
3808 | | cmp dword [BASE+RD*8+4], LJ_TISNUM; jb >1; jne ->vmeta_comp | ||
3809 | | // RA is a number, RD is an integer. | ||
3810 | if (sse) { | ||
3811 | | cvtsi2sd xmm0, dword [BASE+RD*8] | ||
3812 | | jmp >2 | ||
3813 | } else { | ||
3814 | | fld qword [BASE+RA*8] | ||
3815 | | fild dword [BASE+RD*8] | ||
3816 | | jmp >3 | ||
3817 | } | ||
3818 | | | ||
3819 | |8: // RA is an integer, RD is not an integer. | ||
3820 | | ja ->vmeta_comp | ||
3821 | | // RA is an integer, RD is a number. | ||
3822 | if (sse) { | ||
3823 | | cvtsi2sd xmm1, dword [BASE+RA*8] | ||
3824 | | movsd xmm0, qword [BASE+RD*8] | ||
3825 | | add PC, 4 | ||
3826 | | ucomisd xmm0, xmm1 | ||
3827 | | jmp_comp jbe, ja, jb, jae, <9 | ||
3828 | | jmp <6 | ||
3829 | } else { | ||
3830 | | fild dword [BASE+RA*8] | ||
3831 | | jmp >2 | ||
3832 | } | ||
3833 | } else { | ||
3834 | | checknum RA, ->vmeta_comp | ||
3835 | | checknum RD, ->vmeta_comp | ||
3836 | } | ||
3544 | if (sse) { | 3837 | if (sse) { |
3838 | |1: | ||
3545 | | movsd xmm0, qword [BASE+RD*8] | 3839 | | movsd xmm0, qword [BASE+RD*8] |
3840 | |2: | ||
3546 | | add PC, 4 | 3841 | | add PC, 4 |
3547 | | ucomisd xmm0, qword [BASE+RA*8] | 3842 | | ucomisd xmm0, qword [BASE+RA*8] |
3843 | |3: | ||
3548 | } else { | 3844 | } else { |
3845 | |1: | ||
3549 | | fld qword [BASE+RA*8] // Reverse order, i.e like cmp D, A. | 3846 | | fld qword [BASE+RA*8] // Reverse order, i.e like cmp D, A. |
3847 | |2: | ||
3550 | | fld qword [BASE+RD*8] | 3848 | | fld qword [BASE+RD*8] |
3849 | |3: | ||
3551 | | add PC, 4 | 3850 | | add PC, 4 |
3552 | | fcomparepp // eax (RD) modified! | 3851 | | fcomparepp // eax (RD) modified! |
3553 | } | 3852 | } |
3554 | | // Unordered: all of ZF CF PF set, ordered: PF clear. | 3853 | | // Unordered: all of ZF CF PF set, ordered: PF clear. |
3555 | | // To preserve NaN semantics GE/GT branch on unordered, but LT/LE don't. | 3854 | | // To preserve NaN semantics GE/GT branch on unordered, but LT/LE don't. |
3556 | switch (op) { | 3855 | if (LJ_DUALNUM) { |
3557 | case BC_ISLT: | 3856 | | jmp_comp jbe, ja, jb, jae, <9 |
3558 | | jbe >2 | 3857 | | jmp <6 |
3559 | break; | 3858 | } else { |
3560 | case BC_ISGE: | 3859 | | jmp_comp jbe, ja, jb, jae, >1 |
3561 | | ja >2 | 3860 | | movzx RD, PC_RD |
3562 | break; | 3861 | | branchPC RD |
3563 | case BC_ISLE: | 3862 | |1: |
3564 | | jb >2 | 3863 | | ins_next |
3565 | break; | ||
3566 | case BC_ISGT: | ||
3567 | | jae >2 | ||
3568 | break; | ||
3569 | default: break; /* Shut up GCC. */ | ||
3570 | } | 3864 | } |
3571 | |1: | ||
3572 | | movzx RD, PC_RD | ||
3573 | | branchPC RD | ||
3574 | |2: | ||
3575 | | ins_next | ||
3576 | break; | 3865 | break; |
3577 | 3866 | ||
3578 | case BC_ISEQV: case BC_ISNEV: | 3867 | case BC_ISEQV: case BC_ISNEV: |
@@ -3580,14 +3869,61 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3580 | | ins_AD // RA = src1, RD = src2, JMP with RD = target | 3869 | | ins_AD // RA = src1, RD = src2, JMP with RD = target |
3581 | | mov RB, [BASE+RD*8+4] | 3870 | | mov RB, [BASE+RD*8+4] |
3582 | | add PC, 4 | 3871 | | add PC, 4 |
3583 | | cmp RB, LJ_TISNUM; ja >5 | 3872 | if (LJ_DUALNUM) { |
3584 | | checknum RA, >5 | 3873 | | cmp RB, LJ_TISNUM; jne >7 |
3874 | | checkint RA, >8 | ||
3875 | | mov RB, dword [BASE+RD*8] | ||
3876 | | cmp RB, dword [BASE+RA*8] | ||
3877 | if (vk) { | ||
3878 | | jne >9 | ||
3879 | } else { | ||
3880 | | je >9 | ||
3881 | } | ||
3882 | | movzx RD, PC_RD | ||
3883 | | branchPC RD | ||
3884 | |9: | ||
3885 | | ins_next | ||
3886 | | | ||
3887 | |7: // RD is not an integer. | ||
3888 | | ja >5 | ||
3889 | | // RD is a number. | ||
3890 | | cmp dword [BASE+RA*8+4], LJ_TISNUM; jb >1; jne >5 | ||
3891 | | // RD is a number, RA is an integer. | ||
3892 | if (sse) { | ||
3893 | | cvtsi2sd xmm0, dword [BASE+RA*8] | ||
3894 | } else { | ||
3895 | | fild dword [BASE+RA*8] | ||
3896 | } | ||
3897 | | jmp >2 | ||
3898 | | | ||
3899 | |8: // RD is an integer, RA is not an integer. | ||
3900 | | ja >5 | ||
3901 | | // RD is an integer, RA is a number. | ||
3902 | if (sse) { | ||
3903 | | cvtsi2sd xmm0, dword [BASE+RD*8] | ||
3904 | | ucomisd xmm0, qword [BASE+RA*8] | ||
3905 | } else { | ||
3906 | | fild dword [BASE+RD*8] | ||
3907 | | fld qword [BASE+RA*8] | ||
3908 | } | ||
3909 | | jmp >4 | ||
3910 | | | ||
3911 | } else { | ||
3912 | | cmp RB, LJ_TISNUM; jae >5 | ||
3913 | | checknum RA, >5 | ||
3914 | } | ||
3585 | if (sse) { | 3915 | if (sse) { |
3586 | | movsd xmm0, qword [BASE+RD*8] | 3916 | |1: |
3587 | | ucomisd xmm0, qword [BASE+RA*8] | 3917 | | movsd xmm0, qword [BASE+RA*8] |
3918 | |2: | ||
3919 | | ucomisd xmm0, qword [BASE+RD*8] | ||
3920 | |4: | ||
3588 | } else { | 3921 | } else { |
3922 | |1: | ||
3589 | | fld qword [BASE+RA*8] | 3923 | | fld qword [BASE+RA*8] |
3924 | |2: | ||
3590 | | fld qword [BASE+RD*8] | 3925 | | fld qword [BASE+RD*8] |
3926 | |4: | ||
3591 | | fcomparepp // eax (RD) modified! | 3927 | | fcomparepp // eax (RD) modified! |
3592 | } | 3928 | } |
3593 | iseqne_fp: | 3929 | iseqne_fp: |
@@ -3616,7 +3952,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3616 | | branchPC RD | 3952 | | branchPC RD |
3617 | |1: // EQ: Fallthrough to next instruction. | 3953 | |1: // EQ: Fallthrough to next instruction. |
3618 | } | 3954 | } |
3619 | | ins_next | 3955 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || |
3956 | op == BC_ISEQN || op == BC_ISNEN)) { | ||
3957 | | jmp <9 | ||
3958 | } else { | ||
3959 | | ins_next | ||
3960 | } | ||
3620 | | | 3961 | | |
3621 | if (op == BC_ISEQV || op == BC_ISNEV) { | 3962 | if (op == BC_ISEQV || op == BC_ISNEV) { |
3622 | |5: // Either or both types are not numbers. | 3963 | |5: // Either or both types are not numbers. |
@@ -3652,7 +3993,12 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3652 | | jmp ->vmeta_equal // Handle __eq metamethod. | 3993 | | jmp ->vmeta_equal // Handle __eq metamethod. |
3653 | } else if (LJ_HASFFI) { | 3994 | } else if (LJ_HASFFI) { |
3654 | |3: | 3995 | |3: |
3655 | | cmp RB, LJ_TCDATA; jne <2 | 3996 | | cmp RB, LJ_TCDATA |
3997 | if (LJ_DUALNUM && vk) { | ||
3998 | | jne <9 | ||
3999 | } else { | ||
4000 | | jne <2 | ||
4001 | } | ||
3656 | | jmp ->vmeta_equal_cd | 4002 | | jmp ->vmeta_equal_cd |
3657 | } | 4003 | } |
3658 | break; | 4004 | break; |
@@ -3676,14 +4022,59 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3676 | | ins_AD // RA = src, RD = num const, JMP with RD = target | 4022 | | ins_AD // RA = src, RD = num const, JMP with RD = target |
3677 | | mov RB, [BASE+RA*8+4] | 4023 | | mov RB, [BASE+RA*8+4] |
3678 | | add PC, 4 | 4024 | | add PC, 4 |
3679 | | cmp RB, LJ_TISNUM; ja >3 | 4025 | if (LJ_DUALNUM) { |
4026 | | cmp RB, LJ_TISNUM; jne >7 | ||
4027 | | cmp dword [KBASE+RD*8+4], LJ_TISNUM; jne >8 | ||
4028 | | mov RB, dword [KBASE+RD*8] | ||
4029 | | cmp RB, dword [BASE+RA*8] | ||
4030 | if (vk) { | ||
4031 | | jne >9 | ||
4032 | } else { | ||
4033 | | je >9 | ||
4034 | } | ||
4035 | | movzx RD, PC_RD | ||
4036 | | branchPC RD | ||
4037 | |9: | ||
4038 | | ins_next | ||
4039 | | | ||
4040 | |7: // RA is not an integer. | ||
4041 | | ja >3 | ||
4042 | | // RA is a number. | ||
4043 | | cmp dword [KBASE+RD*8+4], LJ_TISNUM; jb >1 | ||
4044 | | // RA is a number, RD is an integer. | ||
4045 | if (sse) { | ||
4046 | | cvtsi2sd xmm0, dword [KBASE+RD*8] | ||
4047 | } else { | ||
4048 | | fild dword [KBASE+RD*8] | ||
4049 | } | ||
4050 | | jmp >2 | ||
4051 | | | ||
4052 | |8: // RA is an integer, RD is a number. | ||
4053 | if (sse) { | ||
4054 | | cvtsi2sd xmm0, dword [BASE+RA*8] | ||
4055 | | ucomisd xmm0, qword [KBASE+RD*8] | ||
4056 | } else { | ||
4057 | | fild dword [BASE+RA*8] | ||
4058 | | fld qword [BASE+RD*8] | ||
4059 | } | ||
4060 | | jmp >4 | ||
4061 | | | ||
4062 | } else { | ||
4063 | | cmp RB, LJ_TISNUM; jae >3 | ||
4064 | } | ||
3680 | if (sse) { | 4065 | if (sse) { |
4066 | |1: | ||
3681 | | movsd xmm0, qword [KBASE+RD*8] | 4067 | | movsd xmm0, qword [KBASE+RD*8] |
4068 | |2: | ||
3682 | | ucomisd xmm0, qword [BASE+RA*8] | 4069 | | ucomisd xmm0, qword [BASE+RA*8] |
4070 | |4: | ||
3683 | } else { | 4071 | } else { |
3684 | | fld qword [BASE+RA*8] | 4072 | |1: |
3685 | | fld qword [KBASE+RD*8] | 4073 | | fld qword [KBASE+RD*8] |
4074 | |2: | ||
4075 | | fld qword [BASE+RA*8] | ||
3686 | | fcomparepp // eax (RD) modified! | 4076 | | fcomparepp // eax (RD) modified! |
4077 | |4: | ||
3687 | } | 4078 | } |
3688 | goto iseqne_fp; | 4079 | goto iseqne_fp; |
3689 | case BC_ISEQP: case BC_ISNEP: | 4080 | case BC_ISEQP: case BC_ISNEP: |
@@ -3760,7 +4151,24 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3760 | break; | 4151 | break; |
3761 | case BC_UNM: | 4152 | case BC_UNM: |
3762 | | ins_AD // RA = dst, RD = src | 4153 | | ins_AD // RA = dst, RD = src |
3763 | | checknum RD, ->vmeta_unm | 4154 | if (LJ_DUALNUM) { |
4155 | | checkint RD, >5 | ||
4156 | | mov RB, [BASE+RD*8] | ||
4157 | | neg RB | ||
4158 | | jo >4 | ||
4159 | | mov dword [BASE+RA*8+4], LJ_TISNUM | ||
4160 | | mov dword [BASE+RA*8], RB | ||
4161 | |9: | ||
4162 | | ins_next | ||
4163 | |4: | ||
4164 | | mov dword [BASE+RA*8+4], 0x41e00000 // 2^31. | ||
4165 | | mov dword [BASE+RA*8], 0 | ||
4166 | | jmp <9 | ||
4167 | |5: | ||
4168 | | ja ->vmeta_unm | ||
4169 | } else { | ||
4170 | | checknum RD, ->vmeta_unm | ||
4171 | } | ||
3764 | if (sse) { | 4172 | if (sse) { |
3765 | | movsd xmm0, qword [BASE+RD*8] | 4173 | | movsd xmm0, qword [BASE+RD*8] |
3766 | | sseconst_sign xmm1, RDa | 4174 | | sseconst_sign xmm1, RDa |
@@ -3771,13 +4179,22 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3771 | | fchs | 4179 | | fchs |
3772 | | fstp qword [BASE+RA*8] | 4180 | | fstp qword [BASE+RA*8] |
3773 | } | 4181 | } |
3774 | | ins_next | 4182 | if (LJ_DUALNUM) { |
4183 | | jmp <9 | ||
4184 | } else { | ||
4185 | | ins_next | ||
4186 | } | ||
3775 | break; | 4187 | break; |
3776 | case BC_LEN: | 4188 | case BC_LEN: |
3777 | | ins_AD // RA = dst, RD = src | 4189 | | ins_AD // RA = dst, RD = src |
3778 | | checkstr RD, >2 | 4190 | | checkstr RD, >2 |
3779 | | mov STR:RD, [BASE+RD*8] | 4191 | | mov STR:RD, [BASE+RD*8] |
3780 | if (sse) { | 4192 | if (LJ_DUALNUM) { |
4193 | | mov RD, dword STR:RD->len | ||
4194 | |1: | ||
4195 | | mov dword [BASE+RA*8+4], LJ_TISNUM | ||
4196 | | mov dword [BASE+RA*8], RD | ||
4197 | } else if (sse) { | ||
3781 | | xorps xmm0, xmm0 | 4198 | | xorps xmm0, xmm0 |
3782 | | cvtsi2sd xmm0, dword STR:RD->len | 4199 | | cvtsi2sd xmm0, dword STR:RD->len |
3783 | |1: | 4200 | |1: |
@@ -3793,45 +4210,52 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3793 | | mov TAB:FCARG1, [BASE+RD*8] | 4210 | | mov TAB:FCARG1, [BASE+RD*8] |
3794 | | mov RB, BASE // Save BASE. | 4211 | | mov RB, BASE // Save BASE. |
3795 | | call extern lj_tab_len@4 // (GCtab *t) | 4212 | | call extern lj_tab_len@4 // (GCtab *t) |
3796 | | // Length of table returned in eax (RC). | 4213 | | // Length of table returned in eax (RD). |
3797 | if (sse) { | 4214 | if (LJ_DUALNUM) { |
3798 | | cvtsi2sd xmm0, RC | 4215 | | // Nothing to do. |
3799 | | mov BASE, RB // Restore BASE. | 4216 | } else if (sse) { |
4217 | | cvtsi2sd xmm0, RD | ||
3800 | } else { | 4218 | } else { |
3801 | |.if not X64 | 4219 | |.if not X64 |
3802 | | mov ARG1, RC | 4220 | | mov ARG1, RD |
3803 | | mov BASE, RB // Restore BASE. | ||
3804 | | fild ARG1 | 4221 | | fild ARG1 |
3805 | |.endif | 4222 | |.endif |
3806 | } | 4223 | } |
4224 | | mov BASE, RB // Restore BASE. | ||
3807 | | movzx RA, PC_RA | 4225 | | movzx RA, PC_RA |
3808 | | jmp <1 | 4226 | | jmp <1 |
3809 | break; | 4227 | break; |
3810 | 4228 | ||
3811 | /* -- Binary ops -------------------------------------------------------- */ | 4229 | /* -- Binary ops -------------------------------------------------------- */ |
3812 | 4230 | ||
3813 | |.macro ins_arithpre, ins, sseins, ssereg | 4231 | |.macro ins_arithpre, x87ins, sseins, ssereg |
3814 | | ins_ABC | 4232 | | ins_ABC |
3815 | ||vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 4233 | ||vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
3816 | ||switch (vk) { | 4234 | ||switch (vk) { |
3817 | ||case 0: | 4235 | ||case 0: |
3818 | | checknum RB, ->vmeta_arith_vn | 4236 | | checknum RB, ->vmeta_arith_vn |
4237 | ||if (LJ_DUALNUM) { | ||
4238 | | cmp dword [KBASE+RC*8+4], LJ_TISNUM; jae ->vmeta_arith_vn | ||
4239 | ||} | ||
3819 | ||if (sse) { | 4240 | ||if (sse) { |
3820 | | movsd xmm0, qword [BASE+RB*8] | 4241 | | movsd xmm0, qword [BASE+RB*8] |
3821 | | sseins ssereg, qword [KBASE+RC*8] | 4242 | | sseins ssereg, qword [KBASE+RC*8] |
3822 | ||} else { | 4243 | ||} else { |
3823 | | fld qword [BASE+RB*8] | 4244 | | fld qword [BASE+RB*8] |
3824 | | ins qword [KBASE+RC*8] | 4245 | | x87ins qword [KBASE+RC*8] |
3825 | ||} | 4246 | ||} |
3826 | || break; | 4247 | || break; |
3827 | ||case 1: | 4248 | ||case 1: |
3828 | | checknum RB, ->vmeta_arith_nv | 4249 | | checknum RB, ->vmeta_arith_nv |
4250 | ||if (LJ_DUALNUM) { | ||
4251 | | cmp dword [KBASE+RC*8+4], LJ_TISNUM; jae ->vmeta_arith_nv | ||
4252 | ||} | ||
3829 | ||if (sse) { | 4253 | ||if (sse) { |
3830 | | movsd xmm0, qword [KBASE+RC*8] | 4254 | | movsd xmm0, qword [KBASE+RC*8] |
3831 | | sseins ssereg, qword [BASE+RB*8] | 4255 | | sseins ssereg, qword [BASE+RB*8] |
3832 | ||} else { | 4256 | ||} else { |
3833 | | fld qword [KBASE+RC*8] | 4257 | | fld qword [KBASE+RC*8] |
3834 | | ins qword [BASE+RB*8] | 4258 | | x87ins qword [BASE+RB*8] |
3835 | ||} | 4259 | ||} |
3836 | || break; | 4260 | || break; |
3837 | ||default: | 4261 | ||default: |
@@ -3842,12 +4266,44 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3842 | | sseins ssereg, qword [BASE+RC*8] | 4266 | | sseins ssereg, qword [BASE+RC*8] |
3843 | ||} else { | 4267 | ||} else { |
3844 | | fld qword [BASE+RB*8] | 4268 | | fld qword [BASE+RB*8] |
3845 | | ins qword [BASE+RC*8] | 4269 | | x87ins qword [BASE+RC*8] |
3846 | ||} | 4270 | ||} |
3847 | || break; | 4271 | || break; |
3848 | ||} | 4272 | ||} |
3849 | |.endmacro | 4273 | |.endmacro |
3850 | | | 4274 | | |
4275 | |.macro ins_arithdn, intins | ||
4276 | | ins_ABC | ||
4277 | ||vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
4278 | ||switch (vk) { | ||
4279 | ||case 0: | ||
4280 | | checkint RB, ->vmeta_arith_vn | ||
4281 | | cmp dword [KBASE+RC*8+4], LJ_TISNUM; jne ->vmeta_arith_vn | ||
4282 | | mov RB, [BASE+RB*8] | ||
4283 | | intins RB, [KBASE+RC*8]; jo ->vmeta_arith_vno | ||
4284 | || break; | ||
4285 | ||case 1: | ||
4286 | | checkint RB, ->vmeta_arith_nv | ||
4287 | | cmp dword [KBASE+RC*8+4], LJ_TISNUM; jne ->vmeta_arith_nv | ||
4288 | | mov RC, [KBASE+RC*8] | ||
4289 | | intins RC, [BASE+RB*8]; jo ->vmeta_arith_nvo | ||
4290 | || break; | ||
4291 | ||default: | ||
4292 | | checkint RB, ->vmeta_arith_vv | ||
4293 | | checkint RC, ->vmeta_arith_vv | ||
4294 | | mov RB, [BASE+RB*8] | ||
4295 | | intins RB, [BASE+RC*8]; jo ->vmeta_arith_vvo | ||
4296 | || break; | ||
4297 | ||} | ||
4298 | | mov dword [BASE+RA*8+4], LJ_TISNUM | ||
4299 | ||if (vk == 1) { | ||
4300 | | mov dword [BASE+RA*8], RC | ||
4301 | ||} else { | ||
4302 | | mov dword [BASE+RA*8], RB | ||
4303 | ||} | ||
4304 | | ins_next | ||
4305 | |.endmacro | ||
4306 | | | ||
3851 | |.macro ins_arithpost | 4307 | |.macro ins_arithpost |
3852 | ||if (sse) { | 4308 | ||if (sse) { |
3853 | | movsd qword [BASE+RA*8], xmm0 | 4309 | | movsd qword [BASE+RA*8], xmm0 |
@@ -3856,21 +4312,29 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3856 | ||} | 4312 | ||} |
3857 | |.endmacro | 4313 | |.endmacro |
3858 | | | 4314 | | |
3859 | |.macro ins_arith, ins, sseins | 4315 | |.macro ins_arith, x87ins, sseins |
3860 | | ins_arithpre ins, sseins, xmm0 | 4316 | | ins_arithpre x87ins, sseins, xmm0 |
3861 | | ins_arithpost | 4317 | | ins_arithpost |
3862 | | ins_next | 4318 | | ins_next |
3863 | |.endmacro | 4319 | |.endmacro |
4320 | | | ||
4321 | |.macro ins_arith, intins, x87ins, sseins | ||
4322 | ||if (LJ_DUALNUM) { | ||
4323 | | ins_arithdn intins | ||
4324 | ||} else { | ||
4325 | | ins_arith, x87ins, sseins | ||
4326 | ||} | ||
4327 | |.endmacro | ||
3864 | 4328 | ||
3865 | | // RA = dst, RB = src1 or num const, RC = src2 or num const | 4329 | | // RA = dst, RB = src1 or num const, RC = src2 or num const |
3866 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 4330 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
3867 | | ins_arith fadd, addsd | 4331 | | ins_arith add, fadd, addsd |
3868 | break; | 4332 | break; |
3869 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 4333 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
3870 | | ins_arith fsub, subsd | 4334 | | ins_arith sub, fsub, subsd |
3871 | break; | 4335 | break; |
3872 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 4336 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
3873 | | ins_arith fmul, mulsd | 4337 | | ins_arith imul, fmul, mulsd |
3874 | break; | 4338 | break; |
3875 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 4339 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
3876 | | ins_arith fdiv, divsd | 4340 | | ins_arith fdiv, divsd |
@@ -3953,7 +4417,11 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
3953 | break; | 4417 | break; |
3954 | case BC_KSHORT: | 4418 | case BC_KSHORT: |
3955 | | ins_AD // RA = dst, RD = signed int16 literal | 4419 | | ins_AD // RA = dst, RD = signed int16 literal |
3956 | if (sse) { | 4420 | if (LJ_DUALNUM) { |
4421 | | movsx RD, RDW | ||
4422 | | mov dword [BASE+RA*8+4], LJ_TISNUM | ||
4423 | | mov dword [BASE+RA*8], RD | ||
4424 | } else if (sse) { | ||
3957 | | movsx RD, RDW // Sign-extend literal. | 4425 | | movsx RD, RDW // Sign-extend literal. |
3958 | | cvtsi2sd xmm0, RD | 4426 | | cvtsi2sd xmm0, RD |
3959 | | movsd qword [BASE+RA*8], xmm0 | 4427 | | movsd qword [BASE+RA*8], xmm0 |
@@ -4236,23 +4704,29 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4236 | | checktab RB, ->vmeta_tgetv | 4704 | | checktab RB, ->vmeta_tgetv |
4237 | | mov TAB:RB, [BASE+RB*8] | 4705 | | mov TAB:RB, [BASE+RB*8] |
4238 | | | 4706 | | |
4239 | | // Integer key? Convert number to int and back and compare. | 4707 | | // Integer key? |
4240 | | checknum RC, >5 | 4708 | if (LJ_DUALNUM) { |
4241 | if (sse) { | 4709 | | checkint RC, >5 |
4242 | | movsd xmm0, qword [BASE+RC*8] | 4710 | | mov RC, dword [BASE+RC*8] |
4243 | | cvtsd2si RC, xmm0 | ||
4244 | | cvtsi2sd xmm1, RC | ||
4245 | | ucomisd xmm0, xmm1 | ||
4246 | } else { | 4711 | } else { |
4247 | |.if not X64 | 4712 | | // Convert number to int and back and compare. |
4248 | | fld qword [BASE+RC*8] | 4713 | | checknum RC, >5 |
4249 | | fist ARG1 | 4714 | if (sse) { |
4250 | | fild ARG1 | 4715 | | movsd xmm0, qword [BASE+RC*8] |
4251 | | fcomparepp // eax (RC) modified! | 4716 | | cvtsd2si RC, xmm0 |
4252 | | mov RC, ARG1 | 4717 | | cvtsi2sd xmm1, RC |
4253 | |.endif | 4718 | | ucomisd xmm0, xmm1 |
4719 | } else { | ||
4720 | |.if not X64 | ||
4721 | | fld qword [BASE+RC*8] | ||
4722 | | fist ARG1 | ||
4723 | | fild ARG1 | ||
4724 | | fcomparepp // eax (RC) modified! | ||
4725 | | mov RC, ARG1 | ||
4726 | |.endif | ||
4727 | } | ||
4728 | | jne ->vmeta_tgetv // Generic numeric key? Use fallback. | ||
4254 | } | 4729 | } |
4255 | | jne ->vmeta_tgetv // Generic numeric key? Use fallback. | ||
4256 | | cmp RC, TAB:RB->asize // Takes care of unordered, too. | 4730 | | cmp RC, TAB:RB->asize // Takes care of unordered, too. |
4257 | | jae ->vmeta_tgetv // Not in array part? Use fallback. | 4731 | | jae ->vmeta_tgetv // Not in array part? Use fallback. |
4258 | | shl RC, 3 | 4732 | | shl RC, 3 |
@@ -4380,23 +4854,29 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4380 | | checktab RB, ->vmeta_tsetv | 4854 | | checktab RB, ->vmeta_tsetv |
4381 | | mov TAB:RB, [BASE+RB*8] | 4855 | | mov TAB:RB, [BASE+RB*8] |
4382 | | | 4856 | | |
4383 | | // Integer key? Convert number to int and back and compare. | 4857 | | // Integer key? |
4384 | | checknum RC, >5 | 4858 | if (LJ_DUALNUM) { |
4385 | if (sse) { | 4859 | | checkint RC, >5 |
4386 | | movsd xmm0, qword [BASE+RC*8] | 4860 | | mov RC, dword [BASE+RC*8] |
4387 | | cvtsd2si RC, xmm0 | ||
4388 | | cvtsi2sd xmm1, RC | ||
4389 | | ucomisd xmm0, xmm1 | ||
4390 | } else { | 4861 | } else { |
4391 | |.if not X64 | 4862 | | // Convert number to int and back and compare. |
4392 | | fld qword [BASE+RC*8] | 4863 | | checknum RC, >5 |
4393 | | fist ARG1 | 4864 | if (sse) { |
4394 | | fild ARG1 | 4865 | | movsd xmm0, qword [BASE+RC*8] |
4395 | | fcomparepp // eax (RC) modified! | 4866 | | cvtsd2si RC, xmm0 |
4396 | | mov RC, ARG1 | 4867 | | cvtsi2sd xmm1, RC |
4397 | |.endif | 4868 | | ucomisd xmm0, xmm1 |
4869 | } else { | ||
4870 | |.if not X64 | ||
4871 | | fld qword [BASE+RC*8] | ||
4872 | | fist ARG1 | ||
4873 | | fild ARG1 | ||
4874 | | fcomparepp // eax (RC) modified! | ||
4875 | | mov RC, ARG1 | ||
4876 | |.endif | ||
4877 | } | ||
4878 | | jne ->vmeta_tsetv // Generic numeric key? Use fallback. | ||
4398 | } | 4879 | } |
4399 | | jne ->vmeta_tsetv // Generic numeric key? Use fallback. | ||
4400 | | cmp RC, TAB:RB->asize // Takes care of unordered, too. | 4880 | | cmp RC, TAB:RB->asize // Takes care of unordered, too. |
4401 | | jae ->vmeta_tsetv | 4881 | | jae ->vmeta_tsetv |
4402 | | shl RC, 3 | 4882 | | shl RC, 3 |
@@ -4755,7 +5235,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4755 | |1: // Traverse array part. | 5235 | |1: // Traverse array part. |
4756 | | cmp RC, DISPATCH; jae >5 // Index points after array part? | 5236 | | cmp RC, DISPATCH; jae >5 // Index points after array part? |
4757 | | cmp dword [KBASE+RC*8+4], LJ_TNIL; je >4 | 5237 | | cmp dword [KBASE+RC*8+4], LJ_TNIL; je >4 |
4758 | if (sse) { | 5238 | if (LJ_DUALNUM) { |
5239 | | mov dword [BASE+RA*8+4], LJ_TISNUM | ||
5240 | | mov dword [BASE+RA*8], RC | ||
5241 | } else if (sse) { | ||
4759 | | cvtsi2sd xmm0, RC | 5242 | | cvtsi2sd xmm0, RC |
4760 | } else { | 5243 | } else { |
4761 | | fild dword [BASE+RA*8-8] | 5244 | | fild dword [BASE+RA*8-8] |
@@ -4772,7 +5255,9 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4772 | |.endif | 5255 | |.endif |
4773 | | add RC, 1 | 5256 | | add RC, 1 |
4774 | | // Return array index as a numeric key. | 5257 | | // Return array index as a numeric key. |
4775 | if (sse) { | 5258 | if (LJ_DUALNUM) { |
5259 | | // See above. | ||
5260 | } else if (sse) { | ||
4776 | | movsd qword [BASE+RA*8], xmm0 | 5261 | | movsd qword [BASE+RA*8], xmm0 |
4777 | } else { | 5262 | } else { |
4778 | | fstp qword [BASE+RA*8] | 5263 | | fstp qword [BASE+RA*8] |
@@ -4788,7 +5273,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4788 | | | 5273 | | |
4789 | |4: // Skip holes in array part. | 5274 | |4: // Skip holes in array part. |
4790 | | add RC, 1 | 5275 | | add RC, 1 |
4791 | if (!sse) { | 5276 | if (!LJ_DUALNUM && !sse) { |
4792 | | mov [BASE+RA*8-8], RC | 5277 | | mov [BASE+RA*8-8], RC |
4793 | } | 5278 | } |
4794 | | jmp <1 | 5279 | | jmp <1 |
@@ -5020,10 +5505,10 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
5020 | 5505 | ||
5021 | /* -- Loops and branches ------------------------------------------------ */ | 5506 | /* -- Loops and branches ------------------------------------------------ */ |
5022 | 5507 | ||
5023 | |.define FOR_IDX, qword [RA]; .define FOR_TIDX, dword [RA+4] | 5508 | |.define FOR_IDX, [RA]; .define FOR_TIDX, dword [RA+4] |
5024 | |.define FOR_STOP, qword [RA+8]; .define FOR_TSTOP, dword [RA+12] | 5509 | |.define FOR_STOP, [RA+8]; .define FOR_TSTOP, dword [RA+12] |
5025 | |.define FOR_STEP, qword [RA+16]; .define FOR_TSTEP, dword [RA+20] | 5510 | |.define FOR_STEP, [RA+16]; .define FOR_TSTEP, dword [RA+20] |
5026 | |.define FOR_EXT, qword [RA+24]; .define FOR_TEXT, dword [RA+28] | 5511 | |.define FOR_EXT, [RA+24]; .define FOR_TEXT, dword [RA+28] |
5027 | 5512 | ||
5028 | case BC_FORL: | 5513 | case BC_FORL: |
5029 | #if LJ_HASJIT | 5514 | #if LJ_HASJIT |
@@ -5042,37 +5527,101 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
5042 | vk = (op == BC_IFORL || op == BC_JFORL); | 5527 | vk = (op == BC_IFORL || op == BC_JFORL); |
5043 | | ins_AJ // RA = base, RD = target (after end of loop or start of loop) | 5528 | | ins_AJ // RA = base, RD = target (after end of loop or start of loop) |
5044 | | lea RA, [BASE+RA*8] | 5529 | | lea RA, [BASE+RA*8] |
5530 | if (LJ_DUALNUM) { | ||
5531 | | cmp FOR_TIDX, LJ_TISNUM; jne >9 | ||
5532 | if (!vk) { | ||
5533 | | cmp FOR_TSTOP, LJ_TISNUM; jne ->vmeta_for | ||
5534 | | cmp FOR_TSTEP, LJ_TISNUM; jne ->vmeta_for | ||
5535 | | mov RB, dword FOR_IDX | ||
5536 | | cmp dword FOR_STEP, 0; jl >5 | ||
5537 | } else { | ||
5538 | | mov RB, dword FOR_STEP | ||
5539 | | test RB, RB; js >5 | ||
5540 | | add RB, dword FOR_IDX; jo >1 | ||
5541 | | mov dword FOR_IDX, RB | ||
5542 | } | ||
5543 | | cmp RB, dword FOR_STOP | ||
5544 | | mov FOR_TEXT, LJ_TISNUM | ||
5545 | | mov dword FOR_EXT, RB | ||
5546 | if (op == BC_FORI) { | ||
5547 | | jle >7 | ||
5548 | |1: | ||
5549 | |6: | ||
5550 | | branchPC RD | ||
5551 | } else if (op == BC_JFORI) { | ||
5552 | | branchPC RD | ||
5553 | | movzx RD, PC_RD | ||
5554 | | jle =>BC_JLOOP | ||
5555 | |1: | ||
5556 | |6: | ||
5557 | } else if (op == BC_IFORL) { | ||
5558 | | jg >7 | ||
5559 | |6: | ||
5560 | | branchPC RD | ||
5561 | |1: | ||
5562 | } else { | ||
5563 | | jle =>BC_JLOOP | ||
5564 | |1: | ||
5565 | |6: | ||
5566 | } | ||
5567 | |7: | ||
5568 | | ins_next | ||
5569 | | | ||
5570 | |5: // Invert check for negative step. | ||
5571 | if (vk) { | ||
5572 | | add RB, dword FOR_IDX; jo <1 | ||
5573 | | mov dword FOR_IDX, RB | ||
5574 | } | ||
5575 | | cmp RB, dword FOR_STOP | ||
5576 | | mov FOR_TEXT, LJ_TISNUM | ||
5577 | | mov dword FOR_EXT, RB | ||
5578 | if (op == BC_FORI) { | ||
5579 | | jge <7 | ||
5580 | } else if (op == BC_JFORI) { | ||
5581 | | branchPC RD | ||
5582 | | movzx RD, PC_RD | ||
5583 | | jge =>BC_JLOOP | ||
5584 | } else if (op == BC_IFORL) { | ||
5585 | | jl <7 | ||
5586 | } else { | ||
5587 | | jge =>BC_JLOOP | ||
5588 | } | ||
5589 | | jmp <6 | ||
5590 | |9: // Fallback to FP variant. | ||
5591 | } else if (!vk) { | ||
5592 | | cmp FOR_TIDX, LJ_TISNUM | ||
5593 | } | ||
5045 | if (!vk) { | 5594 | if (!vk) { |
5046 | | cmp FOR_TIDX, LJ_TISNUM; ja ->vmeta_for // Type checks | 5595 | | jae ->vmeta_for |
5047 | | cmp FOR_TSTOP, LJ_TISNUM; ja ->vmeta_for | 5596 | | cmp FOR_TSTOP, LJ_TISNUM; jae ->vmeta_for |
5048 | } | 5597 | } |
5049 | | mov RB, FOR_TSTEP // Load type/hiword of for step. | 5598 | | mov RB, FOR_TSTEP // Load type/hiword of for step. |
5050 | if (!vk) { | 5599 | if (!vk) { |
5051 | | cmp RB, LJ_TISNUM; ja ->vmeta_for | 5600 | | cmp RB, LJ_TISNUM; jae ->vmeta_for |
5052 | } | 5601 | } |
5053 | if (sse) { | 5602 | if (sse) { |
5054 | | movsd xmm0, FOR_IDX | 5603 | | movsd xmm0, qword FOR_IDX |
5055 | | movsd xmm1, FOR_STOP | 5604 | | movsd xmm1, qword FOR_STOP |
5056 | if (vk) { | 5605 | if (vk) { |
5057 | | addsd xmm0, FOR_STEP | 5606 | | addsd xmm0, qword FOR_STEP |
5058 | | movsd FOR_IDX, xmm0 | 5607 | | movsd qword FOR_IDX, xmm0 |
5059 | | test RB, RB; js >3 | 5608 | | test RB, RB; js >3 |
5060 | } else { | 5609 | } else { |
5061 | | jl >3 | 5610 | | jl >3 |
5062 | } | 5611 | } |
5063 | | ucomisd xmm1, xmm0 | 5612 | | ucomisd xmm1, xmm0 |
5064 | |1: | 5613 | |1: |
5065 | | movsd FOR_EXT, xmm0 | 5614 | | movsd qword FOR_EXT, xmm0 |
5066 | } else { | 5615 | } else { |
5067 | | fld FOR_STOP | 5616 | | fld qword FOR_STOP |
5068 | | fld FOR_IDX | 5617 | | fld qword FOR_IDX |
5069 | if (vk) { | 5618 | if (vk) { |
5070 | | fadd FOR_STEP // nidx = idx + step | 5619 | | fadd qword FOR_STEP // nidx = idx + step |
5071 | | fst FOR_IDX | 5620 | | fst qword FOR_IDX |
5072 | | fst FOR_EXT | 5621 | | fst qword FOR_EXT |
5073 | | test RB, RB; js >1 | 5622 | | test RB, RB; js >1 |
5074 | } else { | 5623 | } else { |
5075 | | fst FOR_EXT | 5624 | | fst qword FOR_EXT |
5076 | | jl >1 | 5625 | | jl >1 |
5077 | } | 5626 | } |
5078 | | fxch // Swap lim/(n)idx if step non-negative. | 5627 | | fxch // Swap lim/(n)idx if step non-negative. |
@@ -5083,20 +5632,32 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
5083 | } | 5632 | } |
5084 | } | 5633 | } |
5085 | if (op == BC_FORI) { | 5634 | if (op == BC_FORI) { |
5086 | | jnb >2 | 5635 | if (LJ_DUALNUM) { |
5087 | | branchPC RD | 5636 | | jnb <7 |
5637 | } else { | ||
5638 | | jnb >2 | ||
5639 | | branchPC RD | ||
5640 | } | ||
5088 | } else if (op == BC_JFORI) { | 5641 | } else if (op == BC_JFORI) { |
5089 | | branchPC RD | 5642 | | branchPC RD |
5090 | | movzx RD, PC_RD | 5643 | | movzx RD, PC_RD |
5091 | | jnb =>BC_JLOOP | 5644 | | jnb =>BC_JLOOP |
5092 | } else if (op == BC_IFORL) { | 5645 | } else if (op == BC_IFORL) { |
5093 | | jb >2 | 5646 | if (LJ_DUALNUM) { |
5094 | | branchPC RD | 5647 | | jb <7 |
5648 | } else { | ||
5649 | | jb >2 | ||
5650 | | branchPC RD | ||
5651 | } | ||
5095 | } else { | 5652 | } else { |
5096 | | jnb =>BC_JLOOP | 5653 | | jnb =>BC_JLOOP |
5097 | } | 5654 | } |
5098 | |2: | 5655 | if (LJ_DUALNUM) { |
5099 | | ins_next | 5656 | | jmp <6 |
5657 | } else { | ||
5658 | |2: | ||
5659 | | ins_next | ||
5660 | } | ||
5100 | if (sse) { | 5661 | if (sse) { |
5101 | |3: // Invert comparison if step is negative. | 5662 | |3: // Invert comparison if step is negative. |
5102 | | ucomisd xmm0, xmm1 | 5663 | | ucomisd xmm0, xmm1 |
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 4e687076..75627697 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 |
15 | static const unsigned char build_actionlist[15851] = { | 15 | static const unsigned char build_actionlist[16902] = { |
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, |
@@ -54,601 +54,643 @@ static const unsigned char build_actionlist[15851] = { | |||
54 | 132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4, | 54 | 132,244,32,252,247,217,193,252,233,3,137,76,36,8,139,72,4,139,0,137,77,4, |
55 | 137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20,237, | 55 | 137,69,0,137,108,36,4,252,233,244,33,248,34,137,68,36,16,199,68,36,20,237, |
56 | 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65, | 56 | 141,68,36,16,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65, |
57 | 4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,252,242,15,42, | 57 | 4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255,199,68,36,20,237, |
58 | 192,252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255, | 58 | 137,68,36,16,255,252,242,15,42,192,252,242,15,17,68,36,16,255,137,68,36,12, |
59 | 141,68,36,16,252,233,244,247,248,36,15,182,70,252,254,141,4,194,248,1,15, | 59 | 219,68,36,12,221,92,36,16,255,141,68,36,16,252,233,244,247,248,36,15,182, |
60 | 182,110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36, | 60 | 70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108, |
61 | 8,137,44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15, | 61 | 36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251, |
62 | 132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4, | 62 | 1,1,139,149,233,133,192,15,132,244,249,248,32,15,182,78,252,253,139,104,4, |
63 | 202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3, | 63 | 139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232, |
64 | 139,141,233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252, | 64 | 16,252,255,36,171,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139, |
65 | 233,244,29,248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252, | 65 | 105,252,248,184,237,252,233,244,29,248,37,137,68,36,16,199,68,36,20,237,141, |
66 | 252,235,15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233, | 66 | 68,36,16,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65, |
67 | 244,248,248,38,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,39, | 67 | 4,237,137,205,252,233,244,248,248,38,15,182,70,252,254,255,141,68,36,16,252, |
68 | 15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2, | 68 | 233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141, |
69 | 137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24, | 69 | 44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149, |
70 | 232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108, | 70 | 233,137,116,36,24,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182,78, |
71 | 202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204,15,182,232,131,198, | 71 | 252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204, |
72 | 4,193,232,16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252, | 72 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,233,137,113, |
73 | 253,139,108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105, | 73 | 252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16,141, |
74 | 252,248,184,237,252,233,244,29,248,41,15,182,110,252,252,141,4,194,141,12, | 74 | 177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,41,15,182,110,252, |
75 | 202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149, | 75 | 252,141,4,194,141,12,202,137,108,36,12,139,108,36,48,137,68,36,8,137,76,36, |
76 | 233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135, | 76 | 4,137,44,36,137,149,233,137,116,36,24,232,251,1,3,248,3,139,149,233,255,131, |
77 | 244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253, | 77 | 252,248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252, |
78 | 134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 78 | 254,141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232, |
79 | 171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44, | 79 | 16,252,255,36,171,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, |
80 | 129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108,36,12,139,108, | 80 | 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,137,108, |
81 | 36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232, | 81 | 36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,255,137, |
82 | 251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36,48,137,149,233, | 82 | 116,36,24,232,251,1,4,252,233,244,3,248,46,255,131,252,238,4,139,108,36,48, |
83 | 137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233,244,3,255,248, | 83 | 137,149,233,137,252,233,139,86,252,252,137,116,36,24,232,251,1,5,252,233, |
84 | 47,141,4,199,252,233,244,247,248,48,141,4,199,141,44,252,234,149,252,233, | 84 | 244,3,255,248,47,255,15,182,110,252,255,255,248,48,141,4,199,252,233,244, |
85 | 244,248,248,49,141,4,194,137,197,252,233,244,248,248,50,141,4,194,248,1,141, | 85 | 247,248,49,255,248,50,141,4,199,141,44,252,234,149,252,233,244,248,248,51, |
86 | 44,252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182, | 86 | 141,4,194,137,197,252,233,244,248,248,52,255,248,53,141,4,194,248,1,141,44, |
87 | 70,252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232, | 87 | 252,234,248,2,141,12,202,137,108,36,8,139,108,36,48,137,68,36,12,15,182,70, |
88 | 252,252,137,76,36,4,137,68,36,16,137,44,36,137,149,233,137,116,36,24,232, | ||
88 | 251,1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252, | 89 | 251,1,6,139,149,233,133,192,15,132,244,40,248,42,137,193,41,208,137,113,252, |
89 | 244,141,176,233,184,237,252,233,244,27,248,51,255,139,108,36,48,137,149,233, | 90 | 244,141,176,233,184,237,252,233,244,27,248,54,139,108,36,48,137,149,233,141, |
90 | 141,20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244, | 91 | 20,194,137,252,233,137,116,36,24,232,251,1,7,139,149,233,252,233,244,42,248, |
91 | 42,248,52,141,76,202,8,248,28,137,76,36,20,137,68,36,16,131,252,233,8,141, | 92 | 55,141,76,202,8,248,28,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193, |
92 | 4,193,139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,137,116, | 93 | 139,108,36,48,137,76,36,4,137,68,36,8,137,44,36,137,149,233,255,137,116,36, |
93 | 36,24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131, | 94 | 24,232,251,1,8,139,149,233,139,76,36,20,139,68,36,16,139,105,252,248,131, |
94 | 192,1,57,215,15,132,244,53,137,202,137,114,252,252,139,181,233,139,14,15, | 95 | 192,1,57,215,15,132,244,56,137,202,137,114,252,252,139,181,233,139,14,15, |
95 | 182,252,233,15,182,205,131,198,4,252,255,36,171,248,54,139,108,36,48,137, | 96 | 182,252,233,15,182,205,131,198,4,252,255,36,171,248,57,139,108,36,48,137, |
96 | 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70, | 97 | 149,233,137,202,137,252,233,137,116,36,24,232,251,1,9,139,149,233,139,70, |
97 | 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,55,129, | 98 | 252,252,15,182,204,15,182,232,193,232,16,252,255,164,253,171,233,248,58,129, |
98 | 252,248,239,15,130,244,56,139,106,4,129,252,253,239,255,15,131,244,56,139, | 99 | 252,248,239,15,130,244,59,139,106,4,129,252,253,239,15,131,244,59,139,114, |
99 | 114,252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2, | 100 | 252,252,137,68,36,20,137,106,252,252,139,42,137,106,252,248,131,232,2,15, |
100 | 15,132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137, | 101 | 132,244,248,137,209,248,1,131,193,8,139,105,4,137,105,252,252,139,41,137, |
101 | 105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,20,252,233,244,57,248, | 102 | 105,252,248,131,232,1,15,133,244,1,248,2,255,139,68,36,20,252,233,244,60, |
102 | 58,129,252,248,239,15,130,244,56,139,106,4,184,237,252,247,213,57,232,255, | 103 | 248,61,129,252,248,239,15,130,244,59,139,106,4,184,237,252,247,213,57,232, |
103 | 15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248,139, | 104 | 255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,248, |
104 | 132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252,233, | 105 | 139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,252, |
105 | 244,59,248,60,129,252,248,239,15,130,244,56,139,106,4,139,114,252,252,129, | 106 | 233,244,62,248,63,129,252,248,239,15,130,244,59,139,106,4,139,114,252,252, |
106 | 252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199, | 107 | 129,252,253,239,15,133,244,252,248,1,139,42,139,173,233,248,2,133,252,237, |
107 | 66,252,252,237,15,132,244,59,139,131,233,199,66,252,252,237,255,137,106,252, | 108 | 199,66,252,252,237,15,132,244,62,139,131,233,199,66,252,252,237,255,137,106, |
108 | 248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15, | 109 | 252,248,139,141,233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239, |
109 | 133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244, | 110 | 15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133, |
110 | 3,252,233,244,59,248,5,139,105,4,129,252,253,239,255,15,132,244,59,139,1, | 111 | 244,3,252,233,244,62,248,5,139,105,4,129,252,253,239,255,15,132,244,62,139, |
111 | 137,106,252,252,137,66,252,248,252,233,244,59,248,6,129,252,253,239,15,132, | 112 | 1,137,106,252,252,137,66,252,248,252,233,244,62,248,6,129,252,253,239,15, |
112 | 244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253, | 113 | 132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172, |
113 | 171,233,252,233,244,2,248,61,129,252,248,239,15,130,244,56,255,129,122,253, | 114 | 253,171,233,252,233,244,2,248,64,129,252,248,239,15,130,244,59,255,129,122, |
114 | 4,239,15,133,244,56,139,42,131,189,233,0,15,133,244,56,129,122,253,12,239, | 115 | 253,4,239,15,133,244,59,139,42,131,189,233,0,15,133,244,59,129,122,253,12, |
115 | 15,133,244,56,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137, | 116 | 239,15,133,244,59,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237, |
116 | 106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131,233, | 117 | 137,106,252,248,252,246,133,233,235,15,132,244,247,128,165,233,235,139,131, |
117 | 137,171,233,137,133,233,248,1,255,252,233,244,59,248,62,129,252,248,239,15, | 118 | 233,137,171,233,137,133,233,248,1,255,252,233,244,62,248,65,129,252,248,239, |
118 | 130,244,56,129,122,253,4,239,15,133,244,56,139,2,139,108,36,48,137,68,36, | 119 | 15,130,244,59,129,122,253,4,239,15,133,244,59,139,2,139,108,36,48,137,68, |
119 | 4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139,40, | 120 | 36,4,137,44,36,137,213,131,194,8,137,84,36,8,232,251,1,10,137,252,234,139, |
120 | 139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,59,248, | 121 | 40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252,233,244,62, |
121 | 63,129,252,248,239,15,133,244,56,129,122,253,4,239,15,135,244,56,255,252, | 122 | 248,66,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133,244,247, |
122 | 242,15,16,2,252,233,244,64,255,221,2,252,233,244,65,255,248,66,129,252,248, | 123 | 139,42,252,233,244,67,248,1,15,135,244,59,255,15,131,244,59,255,252,242,15, |
123 | 239,15,130,244,56,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2, | 124 | 16,2,252,233,244,68,255,221,2,252,233,244,69,255,248,70,129,252,248,239,15, |
124 | 248,2,199,66,252,252,237,137,66,252,248,252,233,244,59,248,3,129,122,253, | 125 | 130,244,59,139,114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199, |
125 | 4,239,15,135,244,56,131,187,233,0,15,133,244,56,139,171,233,59,171,233,255, | 126 | 66,252,252,237,137,66,252,248,252,233,244,62,248,3,129,122,253,4,239,15,135, |
126 | 15,130,244,247,232,244,67,248,1,139,108,36,48,137,149,233,137,116,36,24,137, | 127 | 244,59,131,187,233,0,15,133,244,59,139,171,233,59,171,233,255,15,130,244, |
127 | 252,233,232,251,1,11,139,149,233,252,233,244,2,248,68,129,252,248,239,15, | 128 | 247,232,244,71,248,1,139,108,36,48,137,149,233,137,116,36,24,137,252,233, |
128 | 130,244,56,15,132,244,248,248,1,129,122,253,4,239,15,133,244,56,139,108,36, | 129 | 255,232,251,1,11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,72,129, |
129 | 48,137,149,233,255,137,149,233,139,114,252,252,139,2,137,68,36,4,137,44,36, | 130 | 252,248,239,15,130,244,59,15,132,244,248,248,1,129,122,253,4,239,15,133,244, |
130 | 131,194,8,137,84,36,8,137,116,36,24,232,251,1,12,139,149,233,133,192,15,132, | 131 | 59,139,108,36,48,137,149,233,137,149,233,139,114,252,252,139,2,137,68,36, |
131 | 244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106,16,139, | 132 | 4,137,44,36,131,194,8,137,84,36,8,137,116,36,24,232,251,1,13,139,149,233, |
132 | 66,20,137,42,137,66,4,248,69,184,237,252,233,244,70,248,2,199,66,12,237,252, | 133 | 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252, |
133 | 233,244,1,248,3,199,66,252,252,237,252,233,244,59,248,71,129,252,248,239, | 134 | 139,106,16,139,66,20,137,42,137,66,4,248,73,184,237,255,252,233,244,74,248, |
134 | 15,130,244,56,255,139,42,129,122,253,4,239,15,133,244,56,255,131,189,233, | 135 | 2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,62,248, |
135 | 0,15,133,244,56,255,139,106,252,248,139,133,233,139,114,252,252,199,66,252, | 136 | 75,129,252,248,239,15,130,244,59,139,42,129,122,253,4,239,15,133,244,59,255, |
136 | 252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,70,248,72,129,252, | 137 | 131,189,233,0,15,133,244,59,255,139,106,252,248,139,133,233,139,114,252,252, |
137 | 248,239,15,130,244,56,129,122,253,4,239,15,133,244,56,129,122,253,12,239, | 138 | 199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,244,74,248, |
138 | 15,135,244,56,139,114,252,252,255,252,242,15,16,66,8,189,0,0,252,240,63,102, | 139 | 76,129,252,248,239,15,130,244,59,129,122,253,4,239,15,133,244,59,129,122, |
139 | 15,110,205,102,15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242, | 140 | 253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,252,237, |
140 | 15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139, | 141 | 137,66,252,248,255,252,242,15,16,66,8,189,0,0,252,240,63,102,15,110,205,102, |
141 | 4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120, | 142 | 15,112,201,81,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248, |
142 | 253,4,239,15,132,244,73,139,40,139,64,4,137,42,137,66,4,252,233,244,69,248, | 143 | 255,221,66,8,217,232,222,193,219,20,36,221,90,252,248,139,4,36,255,139,42, |
143 | 2,131,189,233,0,15,132,244,73,137,252,233,137,213,137,194,232,251,1,13,137, | 144 | 59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15, |
144 | 252,234,133,192,15,133,244,1,248,73,184,237,252,233,244,70,248,74,255,129, | 145 | 132,244,77,139,40,139,64,4,137,42,137,66,4,252,233,244,73,248,2,131,189,233, |
145 | 252,248,239,15,130,244,56,139,42,129,122,253,4,239,15,133,244,56,255,139, | 146 | 0,15,132,244,77,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133, |
146 | 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248, | 147 | 192,15,133,244,1,248,77,184,237,252,233,244,74,248,78,255,139,106,252,248, |
147 | 255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252, | 148 | 139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66, |
148 | 233,244,70,248,75,129,252,248,239,15,130,244,56,141,74,8,131,232,1,190,237, | 149 | 12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238, |
149 | 248,1,15,182,171,233,193,252,237,235,131,229,1,1,252,238,252,233,244,27,248, | 150 | 221,90,8,255,184,237,252,233,244,74,248,79,129,252,248,239,15,130,244,59, |
150 | 76,129,252,248,239,15,130,244,56,129,122,253,12,239,15,133,244,56,255,139, | 151 | 141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1, |
151 | 106,4,137,106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16, | 152 | 1,252,238,252,233,244,27,248,80,129,252,248,239,15,130,244,59,129,122,253, |
152 | 131,232,2,190,237,252,233,244,1,248,77,129,252,248,239,15,130,244,56,139, | 153 | 12,239,15,133,244,59,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, |
153 | 42,139,114,252,252,137,116,36,24,137,44,36,129,122,253,4,239,15,133,244,56, | 154 | 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,81,129,252, |
154 | 131,189,233,0,15,133,244,56,128,189,233,235,15,135,244,56,139,141,233,15, | 155 | 248,239,15,130,244,59,139,42,139,114,252,252,137,116,36,24,137,44,36,129, |
155 | 132,244,247,255,59,141,233,15,132,244,56,248,1,141,116,193,252,240,59,181, | 156 | 122,253,4,239,15,133,244,59,131,189,233,0,15,133,244,59,128,189,233,235,15, |
156 | 233,15,135,244,56,137,181,233,139,108,36,48,137,149,233,131,194,8,137,149, | 157 | 135,244,59,139,141,233,15,132,244,247,255,59,141,233,15,132,244,59,248,1, |
157 | 233,141,108,194,232,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137, | 158 | 141,116,193,252,240,59,181,233,15,135,244,59,137,181,233,139,108,36,48,137, |
158 | 70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248, | 159 | 149,233,131,194,8,137,149,233,141,108,194,232,41,252,245,57,206,15,132,244, |
159 | 3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,24,199,131,233,237, | 160 | 249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238, |
160 | 255,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248, | 161 | 8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232, |
161 | 4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141, | 162 | 244,24,199,131,233,237,255,139,108,36,48,139,52,36,139,149,233,129,252,248, |
162 | 4,50,193,252,238,3,59,133,233,15,135,244,255,137,213,41,205,248,5,139,1,137, | 163 | 239,15,135,244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254, |
163 | 4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70, | 164 | 41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,15,135,244,255,137, |
164 | 2,199,66,252,252,237,248,7,139,116,36,24,137,68,36,20,185,252,248,252,255, | 165 | 213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249, |
165 | 252,255,252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199, | 166 | 15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,24,137,68, |
166 | 66,252,252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,2,139,65,4, | 167 | 36,20,185,252,248,252,255,252,255,252,255,252,247,198,237,255,15,132,244, |
167 | 137,66,4,184,237,252,233,244,7,248,9,139,12,36,137,185,233,137,252,242,137, | 168 | 13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,252,233,8,137, |
168 | 252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,78,139,106,252, | 169 | 142,233,139,1,137,2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12, |
169 | 248,139,173,233,139,114,252,252,137,116,36,24,137,44,36,131,189,233,0,15, | 170 | 36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, |
170 | 133,244,56,255,128,189,233,235,15,135,244,56,139,141,233,15,132,244,247,59, | 171 | 252,233,244,4,248,82,139,106,252,248,139,173,233,139,114,252,252,137,116, |
171 | 141,233,15,132,244,56,248,1,141,116,193,252,248,59,181,233,15,135,244,56, | 172 | 36,24,137,44,36,131,189,233,0,15,133,244,59,255,128,189,233,235,15,135,244, |
172 | 137,181,233,139,108,36,48,137,149,233,137,149,233,141,108,194,252,240,41, | 173 | 59,139,141,233,15,132,244,247,59,141,233,15,132,244,59,248,1,141,116,193, |
173 | 252,245,57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252,252,139,4, | 174 | 252,248,59,181,233,15,135,244,59,137,181,233,139,108,36,48,137,149,233,137, |
174 | 46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49, | 175 | 149,233,141,108,194,252,240,41,252,245,57,206,15,132,244,249,248,2,255,139, |
175 | 201,137,76,36,12,137,76,36,8,232,244,24,199,131,233,237,139,108,36,48,139, | 176 | 68,46,4,137,70,252,252,139,4,46,137,70,252,248,131,252,238,8,57,206,15,133, |
176 | 52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190, | 177 | 244,2,248,3,137,76,36,4,49,201,137,76,36,12,137,76,36,8,232,244,24,199,131, |
177 | 233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3, | 178 | 233,237,139,108,36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254, |
178 | 59,133,233,15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139,65, | 179 | 248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252, |
179 | 4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139, | 180 | 141,4,50,193,252,238,3,59,133,233,15,135,244,255,255,137,213,41,205,248,5, |
180 | 116,36,24,137,68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14, | 181 | 139,1,137,4,41,139,65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248, |
181 | 248,8,137,252,242,137,252,233,232,251,1,14,248,9,139,12,36,137,185,233,137, | 182 | 6,141,70,1,248,7,139,116,36,24,137,68,36,20,49,201,252,247,198,237,15,132, |
182 | 252,242,137,252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,79, | 183 | 244,13,252,233,244,14,248,8,137,252,242,137,252,233,232,251,1,15,248,9,139, |
183 | 139,108,36,48,252,247,133,233,237,15,132,244,56,255,137,149,233,141,68,194, | 184 | 12,36,137,185,233,137,252,242,137,252,233,232,251,1,0,139,52,36,139,149,233, |
184 | 252,248,137,133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16, | 185 | 252,233,244,4,248,83,139,108,36,48,252,247,133,233,237,15,132,244,59,255, |
185 | 255,248,65,139,114,252,252,221,90,252,248,252,233,244,59,248,80,129,252,248, | 186 | 137,149,233,141,68,194,252,248,137,133,233,49,192,137,133,233,176,235,136, |
186 | 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,102,15, | 187 | 133,233,252,233,244,16,255,248,67,255,248,69,139,114,252,252,221,90,252,248, |
187 | 252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,64,139,114,252, | 188 | 252,233,244,62,255,248,84,129,252,248,239,15,130,244,59,255,129,122,253,4, |
188 | 252,252,242,15,17,66,252,248,255,248,80,129,252,248,239,15,130,244,56,129, | 189 | 239,15,133,244,248,139,42,131,252,253,0,15,137,244,67,252,247,221,15,136, |
189 | 122,253,4,239,15,135,244,56,221,2,217,225,248,64,248,65,139,114,252,252,221, | 190 | 244,247,248,85,248,67,139,114,252,252,199,66,252,252,237,137,106,252,248, |
190 | 90,252,248,255,248,59,184,237,248,70,137,68,36,20,248,57,252,247,198,237, | 191 | 252,233,244,62,248,1,139,114,252,252,199,66,252,252,0,0,224,65,199,66,252, |
191 | 15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,252,247, | 192 | 248,0,0,0,0,252,233,244,62,248,2,15,135,244,59,255,129,122,253,4,239,15,131, |
192 | 209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 193 | 244,59,255,252,242,15,16,2,102,15,252,239,201,102,15,118,201,102,15,115,209, |
193 | 171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,252,248, | 194 | 1,15,84,193,248,68,139,114,252,252,252,242,15,17,66,252,248,255,221,2,217, |
194 | 252,255,252,255,252,255,252,233,244,14,255,248,81,129,252,248,239,15,130, | 195 | 225,248,68,248,69,139,114,252,252,221,90,252,248,255,248,62,184,237,248,74, |
195 | 244,56,129,122,253,4,239,15,135,244,56,252,242,15,81,2,252,233,244,64,248, | 196 | 137,68,36,20,248,60,252,247,198,237,15,133,244,253,248,5,56,70,252,255,15, |
196 | 82,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242, | 197 | 135,244,252,15,182,78,252,253,252,247,209,141,20,202,139,6,15,182,204,15, |
197 | 15,16,2,232,244,83,252,233,244,64,248,84,255,129,252,248,239,15,130,244,56, | 198 | 182,232,131,198,4,193,232,16,252,255,36,171,248,6,199,68,194,252,244,237, |
198 | 129,122,253,4,239,15,135,244,56,252,242,15,16,2,232,244,85,252,233,244,64, | 199 | 131,192,1,252,233,244,5,248,7,185,252,248,252,255,252,255,252,255,252,233, |
199 | 255,248,81,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, | 200 | 244,14,248,86,255,129,122,253,4,239,15,133,244,247,139,42,252,233,244,67, |
200 | 221,2,217,252,250,252,233,244,65,248,82,129,252,248,239,15,130,244,56,129, | 201 | 248,1,15,135,244,59,255,252,242,15,16,2,232,244,87,255,252,242,15,45,232, |
201 | 122,253,4,239,15,135,244,56,221,2,232,244,83,252,233,244,65,248,84,255,129, | 202 | 129,252,253,0,0,0,128,15,133,244,67,252,242,15,42,205,102,15,46,193,15,138, |
202 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,232,244,85, | 203 | 244,68,15,132,244,67,255,221,2,232,244,87,255,219,20,36,139,44,36,129,252, |
203 | 252,233,244,65,255,248,86,129,252,248,239,15,130,244,56,129,122,253,4,239, | 204 | 253,0,0,0,128,15,133,244,248,217,192,219,4,36,255,223,252,233,221,216,255, |
204 | 15,135,244,56,217,252,237,221,2,217,252,241,252,233,244,65,248,87,129,252, | 205 | 218,252,233,223,224,158,255,15,138,244,69,15,133,244,69,248,2,221,216,252, |
205 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,217,252,236,221,2,217, | 206 | 233,244,67,255,248,88,255,252,242,15,16,2,232,244,89,255,221,2,232,244,89, |
206 | 252,241,252,233,244,65,248,88,129,252,248,239,255,15,130,244,56,129,122,253, | 207 | 255,248,90,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
207 | 4,239,15,135,244,56,221,2,232,244,89,252,233,244,65,248,90,129,252,248,239, | 208 | 252,242,15,81,2,252,233,244,68,255,248,90,129,252,248,239,15,130,244,59,129, |
208 | 15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,217,252,254,252,233,244, | 209 | 122,253,4,239,15,131,244,59,221,2,217,252,250,252,233,244,69,255,248,91,129, |
209 | 65,248,91,129,252,248,239,255,15,130,244,56,129,122,253,4,239,15,135,244, | 210 | 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,217,252,237,221, |
210 | 56,221,2,217,252,255,252,233,244,65,248,92,129,252,248,239,15,130,244,56, | 211 | 2,217,252,241,252,233,244,69,248,92,129,252,248,239,15,130,244,59,129,122, |
211 | 129,122,253,4,239,15,135,244,56,221,2,217,252,242,221,216,252,233,244,65, | 212 | 253,4,239,15,131,244,59,217,252,236,221,2,217,252,241,252,233,244,69,248, |
212 | 248,93,129,252,248,239,15,130,244,56,255,129,122,253,4,239,15,135,244,56, | 213 | 93,129,252,248,239,255,15,130,244,59,129,122,253,4,239,15,131,244,59,221, |
213 | 221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,233,244, | 214 | 2,232,244,94,252,233,244,69,248,95,129,252,248,239,15,130,244,59,129,122, |
214 | 65,248,94,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 215 | 253,4,239,15,131,244,59,221,2,217,252,254,252,233,244,69,248,96,129,252,248, |
215 | 2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,243,252,233, | 216 | 239,255,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,252,255,252, |
216 | 244,65,248,95,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 217 | 233,244,69,248,97,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, |
217 | 56,255,221,2,217,232,217,252,243,252,233,244,65,255,248,96,129,252,248,239, | 218 | 244,59,221,2,217,252,242,221,216,252,233,244,69,248,98,129,252,248,239,15, |
218 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,252,242,15, | 219 | 130,244,59,255,129,122,253,4,239,15,131,244,59,221,2,217,192,216,200,217, |
219 | 17,4,36,255,248,96,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135, | 220 | 232,222,225,217,252,250,217,252,243,252,233,244,69,248,99,129,252,248,239, |
220 | 244,56,221,2,221,28,36,255,137,213,232,251,1,15,137,252,234,252,233,244,65, | 221 | 15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,217,192,216,200,217,232, |
221 | 255,248,97,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, | 222 | 222,225,217,252,250,217,201,217,252,243,252,233,244,69,248,100,129,252,248, |
222 | 252,242,15,16,2,252,242,15,17,4,36,255,248,97,129,252,248,239,15,130,244, | 223 | 239,15,130,244,59,129,122,253,4,239,15,131,244,59,255,221,2,217,232,217,252, |
223 | 56,129,122,253,4,239,15,135,244,56,221,2,221,28,36,255,137,213,232,251,1, | 224 | 243,252,233,244,69,255,248,101,129,252,248,239,15,130,244,59,129,122,253, |
224 | 16,137,252,234,252,233,244,65,255,248,98,129,252,248,239,15,130,244,56,129, | 225 | 4,239,15,131,244,59,252,242,15,16,2,252,242,15,17,4,36,255,248,101,129,252, |
225 | 122,253,4,239,15,135,244,56,252,242,15,16,2,252,242,15,17,4,36,255,248,98, | 226 | 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,221,2,221,28,36,255, |
226 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,221,28, | 227 | 137,213,232,251,1,16,137,252,234,252,233,244,69,255,248,102,129,252,248,239, |
227 | 36,255,137,213,232,251,1,17,137,252,234,252,233,244,65,248,99,255,248,100, | 228 | 15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,252,242,15, |
228 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15, | 229 | 17,4,36,255,248,102,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, |
229 | 16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,64,255,248,100,129, | 230 | 244,59,221,2,221,28,36,255,137,213,232,251,1,17,137,252,234,252,233,244,69, |
230 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,139,106,252, | 231 | 255,248,103,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
231 | 248,220,141,233,252,233,244,65,255,248,101,129,252,248,239,15,130,244,56, | 232 | 252,242,15,16,2,252,242,15,17,4,36,255,248,103,129,252,248,239,15,130,244, |
232 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,221,2,221, | 233 | 59,129,122,253,4,239,15,131,244,59,221,2,221,28,36,255,137,213,232,251,1, |
233 | 66,8,217,252,243,252,233,244,65,248,102,129,252,248,239,15,130,244,56,129, | 234 | 18,137,252,234,252,233,244,69,248,104,255,248,105,129,252,248,239,15,130, |
234 | 122,253,4,239,15,135,244,56,129,122,253,12,239,255,15,135,244,56,221,66,8, | 235 | 244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2,139,106,252,248,252, |
235 | 221,2,217,252,253,221,217,252,233,244,65,248,103,129,252,248,239,15,130,244, | 236 | 242,15,89,133,233,252,233,244,68,255,248,105,129,252,248,239,15,130,244,59, |
236 | 56,139,106,4,129,252,253,239,15,135,244,56,139,114,252,252,139,2,137,106, | 237 | 129,122,253,4,239,15,131,244,59,221,2,139,106,252,248,220,141,233,252,233, |
237 | 252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,249, | 238 | 244,69,255,248,106,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131, |
238 | 9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,250, | 239 | 244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,217,252,243,252,233, |
239 | 248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,108,36,16,219,68, | 240 | 244,69,248,107,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, |
240 | 36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224, | 241 | 59,129,122,253,12,239,255,15,131,244,59,221,66,8,221,2,217,252,253,221,217, |
241 | 63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233, | 242 | 252,233,244,69,248,108,129,252,248,239,15,130,244,59,139,106,4,129,252,253, |
242 | 244,70,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255, | 243 | 239,15,131,244,59,139,114,252,252,139,2,137,106,252,252,137,66,252,248,209, |
243 | 248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,102,15,112,201,81, | 244 | 229,129,252,253,0,0,224,252,255,15,131,244,249,9,232,15,132,244,249,184,252, |
244 | 252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,68,36,16,0,0,128, | 245 | 254,3,0,0,129,252,253,0,0,32,0,15,130,244,250,248,1,193,252,237,21,41,197, |
245 | 90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252, | 246 | 255,252,242,15,42,197,255,137,108,36,16,219,68,36,16,255,139,106,252,252, |
246 | 233,244,1,255,248,104,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 247 | 129,229,252,255,252,255,15,128,129,205,0,0,224,63,137,106,252,252,248,2,255, |
247 | 135,244,56,252,242,15,16,2,255,248,104,129,252,248,239,15,130,244,56,129, | 248 | 252,242,15,17,2,255,221,26,255,184,237,252,233,244,74,248,3,255,15,87,192, |
248 | 122,253,4,239,15,135,244,56,221,2,255,139,106,4,139,114,252,252,209,229,129, | 249 | 252,233,244,2,255,217,252,238,252,233,244,2,255,248,4,255,252,242,15,16,2, |
249 | 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,105,252,242, | 250 | 189,0,0,80,67,102,15,110,205,102,15,112,201,81,252,242,15,89,193,252,242, |
250 | 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232, | 251 | 15,17,66,252,248,255,221,2,199,68,36,16,0,0,128,90,216,76,36,16,221,90,252, |
251 | 244,105,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106, | 252 | 248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,109,129, |
252 | 4,49,232,15,136,244,249,248,2,184,237,252,233,244,70,248,3,129,252,245,0, | 253 | 252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,252,242,15,16,2, |
253 | 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217, | 254 | 255,248,109,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
254 | 252,238,217,201,252,233,244,1,255,248,106,129,252,248,239,15,130,244,56,129, | 255 | 221,2,255,139,106,4,139,114,252,252,209,229,129,252,253,0,0,224,252,255,15, |
255 | 122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,221,66,8,221, | 256 | 132,244,250,255,15,40,224,232,244,110,252,242,15,92,224,248,1,252,242,15, |
256 | 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,65,255,248, | 257 | 17,66,252,248,252,242,15,17,34,255,217,192,232,244,110,220,252,233,248,1, |
257 | 107,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122, | 258 | 221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,249, |
258 | 253,12,239,15,135,244,56,252,242,15,16,2,252,242,15,16,74,8,232,244,108,252, | 259 | 248,2,184,237,252,233,244,74,248,3,129,252,245,0,0,0,128,137,106,4,252,233, |
259 | 233,244,64,255,248,107,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 260 | 244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,244, |
260 | 135,244,56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,232,244,108,252, | 261 | 1,255,248,111,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, |
261 | 233,244,65,255,248,109,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 262 | 59,129,122,253,12,239,15,131,244,59,221,66,8,221,2,248,1,217,252,248,223, |
262 | 135,244,56,252,242,15,16,2,189,2,0,0,0,248,1,57,197,15,131,244,64,129,124, | 263 | 224,158,15,138,244,1,221,217,252,233,244,69,255,248,112,129,252,248,239,15, |
263 | 253,252,234,252,252,239,15,135,244,56,252,242,15,16,76,252,234,252,248,252, | 264 | 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, |
264 | 242,15,93,193,131,197,1,252,233,244,1,255,248,109,129,252,248,239,15,130, | 265 | 59,252,242,15,16,2,252,242,15,16,74,8,232,244,113,252,233,244,68,255,248, |
265 | 244,56,129,122,253,4,239,15,135,244,56,221,2,189,2,0,0,0,248,1,57,197,15, | 266 | 112,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, |
266 | 131,244,65,129,124,253,252,234,252,252,239,15,135,244,251,221,68,252,234, | 267 | 253,12,239,15,131,244,59,221,2,221,66,8,232,244,113,252,233,244,69,255,248, |
267 | 252,248,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252,246,196, | 268 | 114,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193, |
268 | 1,15,132,244,248,217,201,248,2,221,216,88,255,248,110,129,252,248,239,15, | 269 | 15,131,244,67,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248, |
269 | 130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,2,0,0,0,248, | 270 | 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,252, |
270 | 1,57,197,15,131,244,64,129,124,253,252,234,252,252,239,15,135,244,56,252, | 271 | 233,244,252,248,4,15,135,244,59,255,252,242,15,16,2,248,5,57,193,15,131,244, |
271 | 242,15,16,76,252,234,252,248,252,242,15,95,193,131,197,1,252,233,244,1,255, | 272 | 68,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,59,252,242,15, |
272 | 248,110,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 273 | 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248, |
273 | 2,189,2,0,0,0,248,1,57,197,15,131,244,65,129,124,253,252,234,252,252,239, | 274 | 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,221,2,248,5,57,193,15, |
274 | 15,135,244,251,221,68,252,234,252,248,255,219,252,233,218,209,221,217,255, | 275 | 131,244,69,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,255, |
275 | 80,221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88, | 276 | 219,68,202,252,248,252,233,244,253,255,15,131,244,255,255,248,6,221,68,202, |
276 | 255,248,5,221,216,252,233,244,56,255,248,111,129,252,248,239,15,130,244,56, | 277 | 252,248,248,7,255,219,252,233,219,209,221,217,255,80,221,225,223,224,252, |
277 | 129,122,253,4,239,15,133,244,56,139,42,255,252,242,15,42,133,233,252,233, | 278 | 246,196,1,15,132,244,248,217,201,248,2,221,216,88,255,248,115,185,2,0,0,0, |
278 | 244,64,255,219,133,233,252,233,244,65,255,248,112,129,252,248,239,15,133, | 279 | 129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,67,129, |
279 | 244,56,129,122,253,4,239,15,133,244,56,139,42,139,114,252,252,131,189,233, | 280 | 124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252, |
280 | 1,15,130,244,73,15,182,173,233,255,252,242,15,42,197,252,233,244,64,255,137, | 281 | 248,131,193,1,252,233,244,1,248,3,15,135,244,59,255,248,6,252,242,15,16,76, |
281 | 108,36,16,219,68,36,16,252,233,244,65,255,248,113,139,171,233,59,171,233, | 282 | 202,252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,219,252,233, |
282 | 15,130,244,247,232,244,67,248,1,129,252,248,239,15,133,244,56,129,122,253, | 283 | 218,209,221,217,255,80,221,225,223,224,252,246,196,1,15,133,244,248,217,201, |
283 | 4,239,15,135,244,56,255,252,242,15,44,42,129,252,253,252,255,0,0,0,15,135, | 284 | 248,2,221,216,88,255,248,9,221,216,252,233,244,59,255,248,116,129,252,248, |
284 | 244,56,137,108,36,20,255,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15, | 285 | 239,15,130,244,59,129,122,253,4,239,15,133,244,59,139,42,255,139,173,233, |
285 | 135,244,56,255,199,68,36,8,1,0,0,0,141,68,36,20,248,114,139,108,36,48,137, | 286 | 252,233,244,67,255,252,242,15,42,133,233,252,233,244,68,255,219,133,233,252, |
286 | 149,233,137,68,36,4,137,44,36,137,116,36,24,232,251,1,18,139,149,233,139, | 287 | 233,244,69,255,248,117,129,252,248,239,15,133,244,59,129,122,253,4,239,15, |
287 | 114,252,252,199,66,252,252,237,137,66,252,248,252,233,244,59,248,115,139, | 288 | 133,244,59,139,42,139,114,252,252,131,189,233,1,15,130,244,77,15,182,173, |
288 | 171,233,59,171,233,15,130,244,247,232,244,67,248,1,199,68,36,20,252,255,252, | 289 | 233,255,252,242,15,42,197,252,233,244,68,255,137,108,36,16,219,68,36,16,252, |
289 | 255,252,255,252,255,129,252,248,239,15,130,244,56,15,134,244,247,129,122, | 290 | 233,244,69,255,248,118,139,171,233,59,171,233,15,130,244,247,232,244,71,248, |
290 | 253,20,239,255,252,242,15,44,106,16,137,108,36,20,255,221,66,16,219,92,36, | 291 | 1,129,252,248,239,15,133,244,59,129,122,253,4,239,255,15,133,244,59,139,42, |
291 | 20,255,248,1,129,122,253,4,239,15,133,244,56,129,122,253,12,239,15,135,244, | 292 | 129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,20,255,15,131,244,59,252, |
292 | 56,139,42,137,108,36,12,139,173,233,255,252,242,15,44,74,8,255,221,66,8,219, | 293 | 242,15,44,42,129,252,253,252,255,0,0,0,15,135,244,59,137,108,36,20,255,15, |
293 | 92,36,8,139,76,36,8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201, | 294 | 131,244,59,221,2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,59,255, |
294 | 15,142,244,253,248,3,139,108,36,12,41,200,15,140,244,116,141,172,253,13,233, | 295 | 199,68,36,8,1,0,0,0,141,68,36,20,248,119,139,108,36,48,137,149,233,137,68, |
295 | 131,192,1,248,4,137,68,36,8,137,232,252,233,244,114,248,5,15,140,244,252, | 296 | 36,4,137,44,36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199, |
296 | 141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244, | 297 | 66,252,252,237,137,66,252,248,252,233,244,62,248,120,139,171,233,59,171,233, |
297 | 254,1,252,233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248, | 298 | 15,130,244,247,232,244,71,248,1,199,68,36,20,252,255,252,255,252,255,252, |
298 | 116,49,192,252,233,244,4,248,117,129,252,248,239,15,130,244,56,139,171,233, | 299 | 255,129,252,248,239,15,130,244,59,15,134,244,247,129,122,253,20,239,255,15, |
299 | 59,171,233,15,130,244,247,232,244,67,248,1,255,129,122,253,4,239,15,133,244, | 300 | 133,244,59,139,106,16,137,108,36,20,255,15,131,244,59,252,242,15,44,106,16, |
300 | 56,129,122,253,12,239,15,135,244,56,139,42,255,252,242,15,44,66,8,255,221, | 301 | 137,108,36,20,255,15,131,244,59,221,66,16,219,92,36,20,255,248,1,129,122, |
301 | 66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,116,131,189,233,1,15, | 302 | 253,4,239,15,133,244,59,129,122,253,12,239,255,139,42,137,108,36,12,139,173, |
302 | 130,244,116,15,133,244,118,57,131,233,15,130,244,118,15,182,141,233,139,171, | 303 | 233,255,139,74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36, |
303 | 233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,233, | 304 | 8,255,139,68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248, |
304 | 252,233,244,114,248,119,129,252,248,239,255,15,130,244,56,139,171,233,59, | 305 | 3,139,108,36,12,41,200,15,140,244,121,141,172,253,13,233,131,192,1,248,4, |
305 | 171,233,15,130,244,247,232,244,67,248,1,129,122,253,4,239,15,133,244,56,139, | 306 | 137,68,36,8,137,232,252,233,244,119,248,5,15,140,244,252,141,68,40,1,252, |
306 | 42,139,133,233,133,192,15,132,244,116,57,131,233,15,130,244,120,129,197,239, | 307 | 233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233, |
307 | 137,116,36,20,137,68,36,8,139,179,233,248,1,255,15,182,77,0,131,197,1,131, | 308 | 131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,121,49,192,252, |
308 | 232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,20,252,233,244,114,248, | 309 | 233,244,4,248,122,129,252,248,239,15,130,244,59,139,171,233,59,171,233,15, |
309 | 121,129,252,248,239,15,130,244,56,139,171,233,59,171,233,15,130,244,247,232, | 310 | 130,244,247,232,244,71,248,1,255,129,122,253,4,239,15,133,244,59,129,122, |
310 | 244,67,248,1,129,122,253,4,239,15,133,244,56,139,42,139,133,233,57,131,233, | 311 | 253,12,239,139,42,255,15,133,244,59,139,66,8,255,15,131,244,59,252,242,15, |
311 | 255,15,130,244,120,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252, | 312 | 44,66,8,255,15,131,244,59,221,66,8,219,92,36,20,139,68,36,20,255,133,192, |
312 | 233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249, | 313 | 15,142,244,121,131,189,233,1,15,130,244,121,15,133,244,123,57,131,233,15, |
313 | 90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244, | 314 | 130,244,123,15,182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197, |
314 | 1,137,252,240,139,116,36,20,252,233,244,114,248,122,129,252,248,239,15,130, | 315 | 1,131,232,1,15,133,244,1,139,131,233,252,233,244,119,248,124,129,252,248, |
315 | 244,56,255,139,171,233,59,171,233,15,130,244,247,232,244,67,248,1,129,122, | 316 | 239,255,15,130,244,59,139,171,233,59,171,233,15,130,244,247,232,244,71,248, |
316 | 253,4,239,15,133,244,56,139,42,139,133,233,57,131,233,15,130,244,120,129, | 317 | 1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,133,192,15,132,244,121, |
317 | 197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182, | 318 | 57,131,233,15,130,244,125,129,197,239,137,116,36,20,137,68,36,8,139,179,233, |
318 | 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131, | 319 | 248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240, |
319 | 252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116, | 320 | 139,116,36,20,252,233,244,119,248,126,129,252,248,239,15,130,244,59,139,171, |
320 | 36,20,252,233,244,114,248,123,129,252,248,239,15,130,244,56,129,122,253,4, | 321 | 233,59,171,233,15,130,244,247,232,244,71,248,1,129,122,253,4,239,15,133,244, |
321 | 239,15,133,244,56,137,213,139,10,232,251,1,19,137,252,234,255,252,242,15, | 322 | 59,139,42,139,133,233,57,131,233,255,15,130,244,125,129,197,239,137,116,36, |
322 | 42,192,252,233,244,64,255,137,4,36,219,4,36,252,233,244,65,255,248,124,129, | 323 | 20,137,68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249, |
323 | 252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2, | 324 | 65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136, |
324 | 189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126, | 325 | 12,6,248,3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,119, |
325 | 197,252,242,15,42,197,252,233,244,64,255,248,124,129,252,248,239,15,130,244, | 326 | 248,127,129,252,248,239,15,130,244,59,255,139,171,233,59,171,233,15,130,244, |
326 | 56,129,122,253,4,239,15,135,244,56,221,2,199,68,36,16,0,0,192,89,216,68,36, | 327 | 247,232,244,71,248,1,129,122,253,4,239,15,133,244,59,139,42,139,133,233,57, |
327 | 16,221,28,36,219,4,36,252,233,244,65,255,248,125,129,252,248,239,15,130,244, | 328 | 131,233,15,130,244,125,129,197,239,137,116,36,20,137,68,36,8,139,179,233, |
328 | 56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,0,0,56,67,102,15,110, | 329 | 252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131, |
329 | 205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,255,248,125,129,252, | 330 | 252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1, |
330 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221,2,199,68,36,16, | 331 | 15,137,244,1,137,252,240,139,116,36,20,252,233,244,119,248,128,129,252,248, |
331 | 0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,137,68,36,20,141,68,194,252, | 332 | 239,15,130,244,59,129,122,253,4,239,15,133,244,59,137,213,139,10,232,251, |
332 | 240,248,1,57,208,15,134,244,126,129,120,253,4,239,15,135,244,127,255,252, | 333 | 1,20,137,252,234,255,137,197,252,233,244,67,255,252,242,15,42,192,252,233, |
333 | 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16, | 334 | 244,68,255,137,4,36,219,4,36,252,233,244,69,255,248,129,129,122,253,4,239, |
334 | 221,28,36,35,44,36,255,131,232,8,252,233,244,1,255,248,128,129,252,248,239, | 335 | 255,15,133,244,247,139,42,252,233,244,85,248,1,15,135,244,59,255,252,242, |
335 | 15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,0,0,56, | 336 | 15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193, |
336 | 67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,255, | 337 | 102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,255, |
337 | 248,128,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 338 | 139,44,36,255,252,233,244,85,255,248,130,255,189,0,0,56,67,102,15,110,205, |
338 | 2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,252,242,15, | 339 | 102,15,112,201,81,255,199,68,36,16,0,0,192,89,255,15,133,244,247,139,42,252, |
339 | 16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,221,28, | 340 | 233,244,248,248,1,15,135,244,59,255,252,242,15,16,2,252,242,15,88,193,102, |
340 | 36,11,44,36,255,248,129,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 341 | 15,126,197,255,221,2,216,68,36,16,221,28,36,139,44,36,255,248,2,137,68,36, |
341 | 135,244,56,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81, | 342 | 20,141,68,194,252,240,248,1,57,208,15,134,244,85,129,120,253,4,239,255,15, |
342 | 252,242,15,88,193,102,15,126,197,255,248,129,129,252,248,239,15,130,244,56, | 343 | 133,244,248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,15,131, |
343 | 129,122,253,4,239,15,135,244,56,221,2,199,68,36,16,0,0,192,89,216,68,36,16, | 344 | 244,131,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,221, |
344 | 221,28,36,139,44,36,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193, | 345 | 0,216,68,36,16,221,28,36,35,44,36,255,131,232,8,252,233,244,1,248,132,255, |
345 | 49,205,255,221,0,216,68,36,16,221,28,36,51,44,36,255,248,130,129,252,248, | 346 | 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252, |
346 | 239,15,130,244,56,129,122,253,4,239,15,135,244,56,252,242,15,16,2,189,0,0, | 347 | 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16, |
347 | 56,67,102,15,110,205,102,15,112,201,81,252,242,15,88,193,102,15,126,197,255, | 348 | 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,133,255,15,133,244,248, |
348 | 248,130,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,221, | 349 | 51,40,131,232,8,252,233,244,1,248,2,15,135,244,131,255,252,242,15,16,0,252, |
349 | 2,199,68,36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,15,205,252, | 350 | 242,15,88,193,102,15,126,193,49,205,255,221,0,216,68,36,16,221,28,36,51,44, |
350 | 233,244,126,255,248,131,129,252,248,239,15,130,244,56,129,122,253,4,239,15, | 351 | 36,255,131,232,8,252,233,244,1,248,134,129,122,253,4,239,255,221,2,199,68, |
351 | 135,244,56,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81, | 352 | 36,16,0,0,192,89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233, |
352 | 252,242,15,88,193,102,15,126,197,255,248,131,129,252,248,239,15,130,244,56, | 353 | 244,85,248,135,129,122,253,4,239,255,248,2,252,247,213,255,248,85,252,242, |
353 | 129,122,253,4,239,15,135,244,56,221,2,199,68,36,16,0,0,192,89,216,68,36,16, | 354 | 15,42,197,252,233,244,68,255,248,85,137,44,36,219,4,36,252,233,244,69,255, |
354 | 221,28,36,139,44,36,255,252,247,213,255,248,126,252,242,15,42,197,252,233, | 355 | 248,131,139,68,36,20,252,233,244,59,255,248,136,129,122,253,4,239,255,248, |
355 | 244,64,255,248,126,137,44,36,219,4,36,252,233,244,65,255,248,127,139,68,36, | 356 | 2,129,122,253,12,239,15,133,244,59,139,74,8,255,248,136,129,252,248,239,15, |
356 | 20,252,233,244,56,255,248,132,129,252,248,239,15,130,244,56,129,122,253,4, | 357 | 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, |
357 | 239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252,242, | 358 | 59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15, |
358 | 15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194, | 359 | 112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126, |
359 | 252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,132,129,252, | 360 | 201,255,248,136,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244, |
360 | 248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239, | 361 | 59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199,68,36,16,0,0,192,89, |
361 | 15,135,244,56,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92, | 362 | 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255, |
362 | 36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211,229,137, | 363 | 211,229,252,233,244,85,255,248,137,129,122,253,4,239,255,248,137,129,252, |
363 | 193,252,233,244,126,255,248,133,129,252,248,239,15,130,244,56,129,122,253, | 364 | 248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239, |
364 | 4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242,15,16,2,252, | 365 | 15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110, |
365 | 242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15, | 366 | 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197, |
366 | 88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201,255,248,133, | 367 | 102,15,126,201,255,248,137,129,252,248,239,15,130,244,59,129,122,253,4,239, |
367 | 129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56,129,122,253, | 368 | 15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199,68,36,16, |
368 | 12,239,15,135,244,56,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16, | 369 | 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139, |
369 | 221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36,255,211, | 370 | 44,36,255,211,252,237,252,233,244,85,255,248,138,129,122,253,4,239,255,248, |
370 | 252,237,137,193,252,233,244,126,255,248,134,129,252,248,239,15,130,244,56, | 371 | 138,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59,129,122, |
371 | 129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252,242, | 372 | 253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67, |
372 | 15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81, | 373 | 102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102, |
373 | 252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126,201, | 374 | 15,126,197,102,15,126,201,255,248,138,129,252,248,239,15,130,244,59,129,122, |
374 | 255,248,134,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244,56, | 375 | 253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2,221,66,8,199, |
375 | 129,122,253,12,239,15,135,244,56,221,2,221,66,8,199,68,36,16,0,0,192,89,216, | 376 | 68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76, |
376 | 68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44,36, | 377 | 36,8,139,44,36,255,211,252,253,252,233,244,85,255,248,139,129,122,253,4,239, |
377 | 255,211,252,253,137,193,252,233,244,126,255,248,135,129,252,248,239,15,130, | 378 | 255,248,139,129,252,248,239,15,130,244,59,129,122,253,4,239,15,131,244,59, |
378 | 244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252, | 379 | 129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16,74,8,189,0, |
379 | 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210, | 380 | 0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,242,15,88, |
380 | 81,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126, | 381 | 202,102,15,126,197,102,15,126,201,255,248,139,129,252,248,239,15,130,244, |
381 | 201,255,248,135,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 382 | 59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244,59,221,2, |
382 | 56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,199,68,36,16,0,0,192,89, | 383 | 221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221, |
383 | 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44, | 384 | 28,36,139,76,36,8,139,44,36,255,211,197,252,233,244,85,255,248,140,129,122, |
384 | 36,255,211,197,137,193,252,233,244,126,255,248,136,129,252,248,239,15,130, | 385 | 253,4,239,255,248,140,129,252,248,239,15,130,244,59,129,122,253,4,239,15, |
385 | 244,56,129,122,253,4,239,15,135,244,56,129,122,253,12,239,15,135,244,56,252, | 386 | 131,244,59,129,122,253,12,239,15,131,244,59,252,242,15,16,2,252,242,15,16, |
386 | 242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210, | 387 | 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252, |
387 | 81,252,242,15,88,194,252,242,15,88,202,137,200,102,15,126,197,102,15,126, | 388 | 242,15,88,202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15, |
388 | 201,255,248,136,129,252,248,239,15,130,244,56,129,122,253,4,239,15,135,244, | 389 | 130,244,59,129,122,253,4,239,15,131,244,59,129,122,253,12,239,15,131,244, |
389 | 56,129,122,253,12,239,15,135,244,56,221,2,221,66,8,199,68,36,16,0,0,192,89, | 390 | 59,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68, |
390 | 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,137,200,139,76,36,8,139,44, | 391 | 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,85,248,123, |
391 | 36,255,211,205,137,193,252,233,244,126,248,118,184,237,252,233,244,56,248, | 392 | 184,237,252,233,244,59,248,125,184,237,248,59,139,108,36,48,139,114,252,252, |
392 | 120,184,237,248,56,139,108,36,48,139,114,252,252,137,116,36,24,137,149,233, | 393 | 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139, |
393 | 141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,15,135, | 394 | 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233, |
394 | 244,251,137,44,36,252,255,144,233,139,149,233,133,192,15,143,244,70,248,1, | 395 | 133,192,15,143,244,74,248,1,255,139,141,233,41,209,193,252,233,3,133,192, |
395 | 255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,248,15, | 396 | 141,65,1,139,106,252,248,15,133,244,248,139,181,233,139,14,15,182,252,233, |
396 | 133,244,248,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255, | 397 | 15,182,205,131,198,4,252,255,36,171,248,2,137,209,252,247,198,237,15,133, |
397 | 36,171,248,2,137,209,252,247,198,237,15,133,244,249,15,182,110,252,253,252, | 398 | 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,27,248, |
398 | 247,213,141,20,252,234,252,233,244,27,248,3,137,252,245,131,229,252,248,41, | 399 | 3,137,252,245,131,229,252,248,41,252,234,252,233,244,27,248,5,186,237,137, |
399 | 252,234,252,233,244,27,248,5,186,237,137,252,233,232,251,1,0,139,149,233, | 400 | 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,71,93,137,108,36, |
400 | 49,192,252,233,244,1,248,67,93,137,108,36,16,139,108,36,48,137,116,36,24, | 401 | 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252, |
401 | 137,149,233,255,141,68,194,252,248,137,252,233,137,133,233,232,251,1,20,139, | 402 | 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131, |
402 | 149,233,139,133,233,41,208,193,232,3,131,192,1,139,108,36,16,85,195,248,137, | 403 | 192,1,139,108,36,16,85,195,248,141,255,15,182,131,233,168,235,15,133,244, |
403 | 255,15,182,131,233,168,235,15,133,244,251,168,235,15,133,244,247,168,235, | 404 | 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233, |
404 | 15,132,244,247,252,255,139,233,252,233,244,247,255,248,138,15,182,131,233, | 405 | 244,247,255,248,142,15,182,131,233,168,235,15,133,244,251,252,233,244,247, |
405 | 168,235,15,133,244,251,252,233,244,247,248,139,15,182,131,233,168,235,15, | 406 | 248,143,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252, |
406 | 133,244,251,168,235,15,132,244,251,252,255,139,233,15,132,244,247,168,235, | 407 | 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48, |
407 | 15,132,244,251,248,1,255,139,108,36,48,137,149,233,137,252,242,137,252,233, | 408 | 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4, |
408 | 232,251,1,21,248,3,139,149,233,248,4,15,182,78,252,253,248,5,15,182,110,252, | 409 | 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164, |
409 | 252,15,183,70,252,254,252,255,164,253,171,233,248,140,131,198,4,139,77,232, | 410 | 253,171,233,248,144,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,145, |
410 | 137,76,36,20,252,233,244,4,248,141,255,139,106,252,248,139,173,233,15,182, | 411 | 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137, |
411 | 133,233,141,4,194,139,108,36,48,137,149,233,137,133,233,137,252,242,141,139, | 412 | 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232, |
412 | 233,137,171,233,137,116,36,24,232,251,1,22,252,233,244,3,255,248,142,137, | 413 | 251,1,23,252,233,244,3,255,248,146,137,116,36,24,255,248,147,255,137,116, |
413 | 116,36,24,255,248,143,255,137,116,36,24,131,206,1,248,1,255,141,68,194,252, | 414 | 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137, |
414 | 248,139,108,36,48,137,149,233,137,133,233,137,252,242,137,252,233,232,251, | 415 | 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131, |
415 | 1,23,199,68,36,24,0,0,0,0,255,131,230,252,254,255,139,149,233,137,193,139, | 416 | 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78, |
416 | 133,233,41,208,137,205,15,182,78,252,253,193,232,3,131,192,1,252,255,229, | 417 | 252,253,193,232,3,131,192,1,252,255,229,248,148,255,85,141,108,36,12,85,83, |
417 | 248,144,255,85,141,108,36,12,85,83,82,81,80,15,182,69,252,252,138,101,252, | 418 | 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248, |
418 | 248,137,125,252,252,137,117,252,248,139,93,0,139,139,233,199,131,233,237, | 419 | 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236, |
419 | 137,131,233,137,139,233,129,252,236,239,252,242,15,17,125,216,252,242,15, | 420 | 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252, |
420 | 17,117,208,252,242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184, | 421 | 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17, |
421 | 252,242,15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233, | 422 | 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233, |
422 | 139,147,233,137,171,233,199,131,233,0,0,0,0,137,149,233,141,84,36,16,141, | 423 | 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129, |
423 | 139,233,232,251,1,24,139,141,233,129,225,239,137,204,137,169,233,139,149, | 424 | 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,149,255,133,192, |
424 | 233,139,177,233,255,248,145,255,133,192,15,136,244,249,137,68,36,20,139,122, | 425 | 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131, |
425 | 252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6, | 426 | 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232, |
426 | 15,182,204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248, | 427 | 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3, |
427 | 139,68,36,20,248,2,252,255,36,171,248,3,252,247,216,137,252,233,137,194,232, | 428 | 252,247,216,137,252,233,137,194,232,251,1,26,255,248,87,255,217,124,36,4, |
428 | 251,1,25,255,248,83,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36, | 429 | 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68, |
429 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 430 | 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,150,102, |
430 | 36,4,139,68,36,8,195,255,248,146,102,15,252,239,210,102,15,118,210,102,15, | 431 | 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, |
431 | 115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15, | 432 | 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, |
432 | 84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242, | 433 | 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, |
433 | 15,92,203,102,15,86,202,184,0,0,252,240,63,102,15,110,208,102,15,112,210, | 434 | 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252, |
434 | 81,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195, | 435 | 242,15,92,200,15,40,193,248,1,195,248,89,255,217,124,36,4,137,68,36,8,102, |
435 | 248,85,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252, | 436 | 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, |
436 | 255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, | 437 | 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,151,102,15,252,239,210, |
437 | 36,8,195,255,248,147,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184, | 438 | 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219, |
438 | 0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15, | 439 | 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252, |
439 | 46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102, | 440 | 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15, |
440 | 15,86,202,184,0,0,252,240,191,102,15,110,208,102,15,112,210,81,252,242,15, | 441 | 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92, |
441 | 194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,105,255, | 442 | 200,15,40,193,248,1,195,248,110,255,217,124,36,4,137,68,36,8,102,184,0,12, |
442 | 217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217, | 443 | 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, |
443 | 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,148,102,15,252, | 444 | 68,36,8,195,255,248,152,102,15,252,239,210,102,15,118,210,102,15,115,210, |
444 | 239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102, | 445 | 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202, |
445 | 15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, | 446 | 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252, |
446 | 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,184,0,0,252,240,63,102, | 447 | 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242, |
447 | 15,110,216,102,15,112,219,81,252,242,15,194,193,1,102,15,84,195,252,242,15, | 448 | 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248, |
448 | 92,200,102,15,86,202,15,40,193,248,1,195,248,149,255,15,40,232,252,242,15, | 449 | 1,195,248,153,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118, |
449 | 94,193,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, | 450 | 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40, |
450 | 15,110,216,102,15,112,219,81,15,40,224,102,15,84,226,102,15,46,220,15,134, | 451 | 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88, |
451 | 244,247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,184, | 452 | 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102, |
452 | 0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,196,1,102, | 453 | 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40, |
453 | 15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,92,193, | 454 | 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40, |
454 | 195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,193,216, | 455 | 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0, |
455 | 252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, | 456 | 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217, |
456 | 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,233,195, | 457 | 252,252,217,108,36,4,222,201,222,252,233,195,255,248,94,217,252,234,222,201, |
457 | 255,248,89,217,252,234,222,201,248,150,217,84,36,4,129,124,36,4,0,0,128,127, | 458 | 248,154,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4, |
458 | 15,132,244,247,129,124,36,4,0,0,128,252,255,15,132,244,248,248,151,217,192, | 459 | 0,0,128,252,255,15,132,244,248,248,155,217,192,217,252,252,220,252,233,217, |
459 | 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, | 460 | 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216, |
460 | 217,248,1,195,248,2,221,216,217,252,238,195,255,248,108,219,84,36,4,219,68, | 461 | 217,252,238,195,255,248,113,219,84,36,4,219,68,36,4,255,223,252,233,255,221, |
461 | 36,4,255,223,252,233,255,221,252,233,223,224,158,255,15,133,244,254,15,138, | 462 | 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4, |
462 | 244,255,221,216,139,68,36,4,131,252,248,1,15,142,244,252,248,1,169,1,0,0, | 463 | 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209, |
463 | 0,15,133,244,248,216,200,209,232,252,233,244,1,248,2,209,232,15,132,244,251, | 464 | 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209, |
464 | 217,192,248,3,216,200,209,232,15,132,244,250,15,131,244,3,220,201,252,233, | 465 | 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248, |
465 | 244,3,248,4,255,222,201,248,5,195,248,6,15,132,244,5,15,130,244,253,217,232, | 466 | 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131, |
466 | 222,252,241,252,247,216,131,252,248,1,15,132,244,5,252,233,244,1,248,7,221, | 467 | 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217, |
467 | 216,217,232,195,248,8,217,84,36,4,217,201,217,84,36,8,139,68,36,4,209,224, | 468 | 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244, |
468 | 61,0,0,0,252,255,15,132,244,248,139,68,36,8,209,224,15,132,244,250,61,0,0, | 469 | 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217, |
469 | 0,252,255,15,132,244,250,217,252,241,252,233,244,151,248,9,255,217,232,255, | 470 | 252,241,252,233,244,155,248,9,255,217,232,255,223,252,234,255,221,252,234, |
470 | 223,252,234,255,221,252,234,223,224,158,255,15,132,244,247,217,201,248,1, | 471 | 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217, |
471 | 221,216,195,248,2,217,225,217,232,255,15,132,244,249,221,216,217,225,217, | 472 | 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208, |
472 | 252,238,184,0,0,0,0,15,146,208,209,200,51,68,36,4,15,137,244,249,217,201, | 473 | 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4, |
473 | 248,3,221,217,217,225,195,248,4,131,124,36,4,0,15,141,244,3,221,216,221,216, | 474 | 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252, |
474 | 133,192,15,132,244,251,217,252,238,195,248,5,199,68,36,4,0,0,128,127,217, | 475 | 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,113,255,248, |
475 | 68,36,4,195,255,248,108,255,248,152,252,242,15,45,193,252,242,15,42,208,102, | 476 | 156,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138, |
476 | 15,46,202,15,133,244,254,15,138,244,255,248,153,131,252,248,1,15,142,244, | 477 | 244,255,248,157,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244, |
477 | 252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244, | 478 | 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251, |
478 | 1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232, | 479 | 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255, |
479 | 15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252, | 480 | 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15, |
480 | 242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232, | 481 | 132,244,5,15,130,244,253,252,247,216,232,244,1,184,0,0,252,240,63,102,15, |
481 | 244,1,184,0,0,252,240,63,102,15,110,200,102,15,112,201,81,252,242,15,94,200, | 482 | 110,200,102,15,112,201,81,252,242,15,94,200,15,40,193,195,248,7,184,0,0,252, |
482 | 15,40,193,195,248,7,184,0,0,252,240,63,102,15,110,192,102,15,112,192,81,195, | 483 | 240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12, |
483 | 248,8,252,242,15,17,76,36,12,252,242,15,17,68,36,4,131,124,36,12,0,15,133, | 484 | 252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224, |
484 | 244,247,139,68,36,16,209,224,61,0,0,224,252,255,15,132,244,248,248,1,131, | 485 | 61,0,0,224,252,255,15,132,244,248,248,1,131,124,36,4,0,15,133,244,247,255, |
485 | 124,36,4,0,15,133,244,247,255,139,68,36,8,209,224,15,132,244,250,61,0,0,224, | 486 | 139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248, |
486 | 252,255,15,132,244,251,248,1,221,68,36,12,221,68,36,4,217,252,241,217,192, | 487 | 1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217, |
487 | 217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221, | 488 | 201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15, |
488 | 217,221,92,36,4,252,242,15,16,68,36,4,195,248,9,184,0,0,252,240,63,102,15, | 489 | 16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81, |
489 | 110,208,102,15,112,210,81,102,15,46,194,15,132,244,247,15,40,193,248,1,195, | 490 | 102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210, |
490 | 248,2,102,15,252,239,210,102,15,118,210,102,15,115,210,1,102,15,84,194,184, | 491 | 102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110, |
491 | 0,0,252,240,63,102,15,110,208,102,15,112,210,81,102,15,46,194,15,132,244, | 492 | 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192, |
492 | 1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,184, | 493 | 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110, |
493 | 0,0,252,240,127,102,15,110,192,102,15,112,192,81,195,248,4,102,15,80,193, | 494 | 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, |
494 | 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244, | 495 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,158, |
495 | 3,255,15,87,192,195,248,154,255,139,68,36,12,252,242,15,16,68,36,4,131,252, | 496 | 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135, |
496 | 248,1,15,132,244,247,15,135,244,248,232,244,83,252,233,244,253,248,1,232, | 497 | 244,248,232,244,87,252,233,244,253,248,1,232,244,89,252,233,244,253,248,2, |
497 | 244,85,252,233,244,253,248,2,131,252,248,3,15,132,244,247,15,135,244,248, | 498 | 131,252,248,3,15,132,244,247,15,135,244,248,232,244,110,255,252,233,244,253, |
498 | 232,244,105,255,252,233,244,253,248,1,252,242,15,81,192,248,7,252,242,15, | 499 | 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2, |
499 | 17,68,36,4,221,68,36,4,195,248,2,221,68,36,4,131,252,248,5,15,130,244,89, | 500 | 221,68,36,4,131,252,248,5,15,130,244,94,15,132,244,154,248,2,131,252,248, |
500 | 15,132,244,150,248,2,131,252,248,7,15,132,244,247,15,135,244,248,217,252, | 501 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, |
501 | 237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248,2,131, | 502 | 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135, |
502 | 252,248,9,15,132,244,247,15,135,244,248,255,217,252,236,217,201,217,252,241, | 503 | 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, |
503 | 195,248,1,217,252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244, | 504 | 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, |
504 | 255,217,252,255,195,248,1,217,252,242,221,216,195,255,139,68,36,12,221,68, | 505 | 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244, |
505 | 36,4,131,252,248,1,15,130,244,83,15,132,244,85,131,252,248,3,15,130,244,105, | 506 | 87,15,132,244,89,131,252,248,3,15,130,244,110,15,135,244,248,217,252,250, |
506 | 15,135,244,248,217,252,250,195,248,2,131,252,248,5,15,130,244,89,15,132,244, | 507 | 195,248,2,131,252,248,5,15,130,244,94,15,132,244,154,131,252,248,7,15,132, |
507 | 150,131,252,248,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, | 508 | 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232, |
508 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132, | 509 | 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244, |
509 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, | 510 | 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252, |
510 | 252,254,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255, | 511 | 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221, |
511 | 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,155,255,139,68,36, | 512 | 216,195,255,248,9,204,255,248,159,255,139,68,36,20,252,242,15,16,68,36,4, |
512 | 20,252,242,15,16,68,36,4,252,242,15,16,76,36,12,131,252,248,1,15,132,244, | 513 | 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242, |
513 | 247,15,135,244,248,252,242,15,88,193,248,7,252,242,15,17,68,36,4,221,68,36, | 514 | 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92, |
514 | 4,195,248,1,252,242,15,92,193,252,233,244,7,248,2,131,252,248,3,15,132,244, | 515 | 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242, |
515 | 247,15,135,244,248,252,242,15,89,193,252,233,244,7,248,1,252,242,15,94,193, | 516 | 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252, |
516 | 252,233,244,7,248,2,131,252,248,5,15,132,244,247,255,15,135,244,248,232,244, | 517 | 248,5,15,132,244,247,255,15,135,244,248,232,244,153,252,233,244,7,248,1,90, |
517 | 149,252,233,244,7,248,1,90,232,244,108,82,252,233,244,7,248,2,131,252,248, | 518 | 232,244,113,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244, |
518 | 7,15,132,244,247,15,135,244,248,184,0,0,0,128,102,15,110,200,102,15,112,201, | 519 | 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244, |
519 | 81,15,87,193,252,233,244,7,248,1,102,15,252,239,201,102,15,118,201,102,15, | 520 | 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252, |
520 | 115,209,1,15,84,193,252,233,244,7,248,2,255,131,252,248,9,15,135,244,248, | 521 | 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12, |
521 | 221,68,36,4,221,68,36,12,15,132,244,247,217,252,243,195,248,1,217,201,217, | 522 | 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248, |
522 | 252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,252, | 523 | 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233, |
523 | 242,15,93,193,252,233,244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204, | 524 | 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221, |
524 | 255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15, | 525 | 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193, |
525 | 135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132, | 526 | 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248, |
526 | 244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248, | 527 | 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,153,15,132, |
527 | 5,15,130,244,149,15,132,244,108,131,252,248,7,15,132,244,247,15,135,244,248, | 528 | 244,113,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195, |
528 | 255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15, | 529 | 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248, |
529 | 132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221, | 530 | 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11, |
530 | 217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233, | 531 | 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, |
531 | 219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223, | 532 | 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, |
532 | 224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225, | 533 | 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, |
533 | 223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,156, | 534 | 244,248,217,201,248,2,221,216,195,255,248,160,156,90,137,209,129,252,242, |
534 | 156,90,137,209,129,252,242,0,0,32,0,82,157,156,90,49,192,57,209,15,132,244, | 535 | 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15, |
535 | 247,139,68,36,4,87,83,15,162,139,124,36,16,137,7,137,95,4,137,79,8,137,87, | 536 | 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,161, |
536 | 12,91,95,248,1,195,248,157,255,85,137,229,83,137,203,43,163,233,255,137,163, | 537 | 255,85,137,229,83,137,203,43,163,233,255,137,163,233,255,15,182,139,233,131, |
537 | 233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,139, | 538 | 252,233,1,15,136,244,248,248,1,139,132,253,139,233,137,4,140,131,252,233, |
538 | 233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,252, | 539 | 1,15,137,244,1,248,2,139,139,233,139,147,233,252,255,147,233,137,131,233, |
539 | 255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,244, | 540 | 137,147,233,128,187,233,1,15,130,244,253,15,132,244,252,221,155,233,252,233, |
540 | 252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,233, | 541 | 244,253,248,6,255,217,155,233,248,7,255,41,163,233,255,139,93,252,252,201, |
541 | 255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,135,244,41, | 542 | 195,255,249,255,129,124,253,202,4,239,15,133,244,253,129,124,253,194,4,239, |
542 | 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102, | 543 | 15,133,244,254,139,44,202,131,198,4,59,44,194,255,15,141,244,255,255,15,140, |
543 | 15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255, | 544 | 244,255,255,15,143,244,255,255,15,142,244,255,255,248,6,15,183,70,252,254, |
544 | 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15, | 545 | 141,180,253,134,233,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
545 | 183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131, | 546 | 252,255,36,171,248,7,15,135,244,41,129,124,253,194,4,239,15,130,244,247,15, |
546 | 198,4,193,232,16,252,255,36,171,255,139,108,194,4,131,198,4,129,252,253,239, | 547 | 133,244,41,255,252,242,15,42,4,194,252,233,244,248,255,221,4,202,219,4,194, |
547 | 15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194, | 548 | 252,233,244,249,255,248,8,15,135,244,41,255,252,242,15,42,12,202,252,242, |
548 | 102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248, | 549 | 15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,255,15,135,244,9,255, |
549 | 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, | 550 | 15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,219,4,202,252,233,244, |
550 | 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248, | 551 | 248,255,129,124,253,202,4,239,15,131,244,41,129,124,253,194,4,239,15,131, |
551 | 5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132,244,46,255, | 552 | 244,41,255,248,1,252,242,15,16,4,194,248,2,131,198,4,102,15,46,4,202,248, |
552 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, | 553 | 3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,255,15,134,244,247, |
553 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, | 554 | 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252, |
554 | 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, | 555 | 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232, |
555 | 0,0,255,252,233,244,45,255,248,3,129,252,253,239,15,133,244,2,252,233,244, | 556 | 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133, |
556 | 46,255,252,247,208,139,108,202,4,131,198,4,129,252,253,239,15,133,244,249, | 557 | 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15, |
557 | 139,12,202,59,12,135,255,139,108,202,4,131,198,4,129,252,253,239,15,135,244, | 558 | 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233, |
558 | 249,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199,255,252, | 559 | 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, |
559 | 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254, | 560 | 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255, |
560 | 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 561 | 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251, |
561 | 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132, | 562 | 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233, |
562 | 244,248,129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233, | 563 | 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244, |
563 | 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255, | 564 | 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221, |
564 | 139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244, | 565 | 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138, |
565 | 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180, | 566 | 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248, |
566 | 253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 567 | 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9, |
567 | 36,171,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204, | 568 | 255,248,5,255,129,252,253,239,15,132,244,46,129,124,253,202,4,239,15,132, |
568 | 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253, | 569 | 244,46,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12, |
569 | 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4, | 570 | 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233, |
570 | 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,135,244,49,255,252, | 571 | 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237, |
571 | 242,15,16,4,194,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193, | 572 | 255,189,1,0,0,0,255,252,233,244,45,255,248,3,129,252,253,239,255,15,133,244, |
572 | 252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194, | 573 | 9,255,252,233,244,46,255,252,247,208,139,108,202,4,131,198,4,129,252,253, |
573 | 4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1, | 574 | 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129, |
574 | 252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, | 575 | 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199, |
575 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239, | 576 | 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204, |
576 | 15,133,244,51,139,12,194,137,213,232,251,1,19,255,252,242,15,42,192,137,252, | 577 | 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124, |
577 | 234,255,137,4,36,137,252,234,219,4,36,255,15,182,78,252,253,252,233,244,1, | 578 | 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252, |
578 | 255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15,135,244,47, | 579 | 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221, |
579 | 255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,234,220,4,199, | 580 | 4,194,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248, |
580 | 255,129,124,253,252,234,4,239,15,135,244,48,255,252,242,15,16,4,199,252,242, | 581 | 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,255,252,247,208, |
582 | 139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,141,180, | ||
583 | 253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | ||
584 | 36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,46,255,15,132,244,248, | ||
585 | 129,252,253,239,15,132,244,46,15,183,70,252,254,141,180,253,134,233,248,2, | ||
586 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108, | ||
587 | 194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,44,202,255, | ||
588 | 139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232, | ||
589 | 131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,194,4,239, | ||
590 | 129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | ||
591 | 252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,194,252,247, | ||
592 | 221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,182,204,15, | ||
593 | 182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,0,0,224,65, | ||
594 | 199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,51,255,129,124,253,194,4, | ||
595 | 239,15,131,244,51,255,252,242,15,16,4,194,184,0,0,0,128,102,15,110,200,102, | ||
596 | 15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,28, | ||
597 | 202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,248, | ||
598 | 1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,1,252, | ||
599 | 242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15, | ||
600 | 182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,194,4,239,15, | ||
601 | 133,244,54,139,12,194,137,213,232,251,1,20,255,252,242,15,42,192,255,137, | ||
602 | 4,36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,15,182, | ||
603 | 252,236,15,182,192,255,129,124,253,252,234,4,239,15,133,244,48,129,124,253, | ||
604 | 199,4,239,15,133,244,48,139,44,252,234,3,44,199,15,128,244,47,255,129,124, | ||
605 | 253,252,234,4,239,15,133,244,50,129,124,253,199,4,239,15,133,244,50,139,4, | ||
606 | 199,3,4,252,234,15,128,244,49,255,129,124,253,252,234,4,239,15,133,244,53, | ||
607 | 129,124,253,194,4,239,15,133,244,53,139,44,252,234,3,44,194,15,128,244,52, | ||
608 | 255,199,68,202,4,237,255,129,124,253,252,234,4,239,15,131,244,48,255,129, | ||
609 | 124,253,199,4,239,15,131,244,48,255,252,242,15,16,4,252,234,252,242,15,88, | ||
610 | 4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,131,244, | ||
611 | 50,255,129,124,253,199,4,239,15,131,244,50,255,252,242,15,16,4,199,252,242, | ||
581 | 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239, | 612 | 15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239, |
582 | 15,135,244,50,129,124,253,194,4,239,15,135,244,50,255,252,242,15,16,4,252, | 613 | 15,131,244,53,129,124,253,194,4,239,15,131,244,53,255,252,242,15,16,4,252, |
583 | 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252,242,15,16,4,252, | 614 | 234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234, |
584 | 234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4, | 615 | 4,239,15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,43, |
585 | 199,252,242,15,92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16, | 616 | 44,199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124, |
586 | 4,252,234,252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15, | 617 | 253,199,4,239,15,133,244,50,139,4,199,43,4,252,234,15,128,244,49,255,129, |
587 | 16,4,252,234,252,242,15,89,4,199,255,221,4,252,234,220,12,199,255,252,242, | 618 | 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, |
588 | 15,16,4,199,252,242,15,89,4,252,234,255,221,4,199,220,12,252,234,255,252, | 619 | 44,252,234,43,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242,15, |
589 | 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, | 620 | 92,4,199,255,221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15, |
590 | 252,242,15,16,4,252,234,252,242,15,94,4,199,255,221,4,252,234,220,52,199, | 621 | 92,4,252,234,255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, |
591 | 255,252,242,15,16,4,199,252,242,15,94,4,252,234,255,221,4,199,220,52,252, | 622 | 242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,4,239, |
592 | 234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220, | 623 | 15,133,244,48,129,124,253,199,4,239,15,133,244,48,139,44,252,234,15,175,44, |
593 | 52,194,255,252,242,15,16,4,252,234,252,242,15,16,12,199,255,221,4,252,234, | 624 | 199,15,128,244,47,255,129,124,253,252,234,4,239,15,133,244,50,129,124,253, |
594 | 221,4,199,255,252,242,15,16,4,199,252,242,15,16,12,252,234,255,221,4,199, | 625 | 199,4,239,15,133,244,50,139,4,199,15,175,4,252,234,15,128,244,49,255,129, |
595 | 221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255,221,4, | 626 | 124,253,252,234,4,239,15,133,244,53,129,124,253,194,4,239,15,133,244,53,139, |
596 | 252,234,221,4,194,255,248,158,232,244,149,255,252,233,244,158,255,232,244, | 627 | 44,252,234,15,175,44,194,15,128,244,52,255,252,242,15,16,4,252,234,252,242, |
597 | 108,255,15,182,252,236,15,182,192,141,12,194,41,232,137,76,36,4,137,68,36, | 628 | 15,89,4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242, |
598 | 8,248,33,139,108,36,48,137,44,36,137,149,233,137,116,36,24,232,251,1,26,139, | 629 | 15,89,4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234, |
599 | 149,233,133,192,15,133,244,42,15,182,110,252,255,15,182,78,252,253,139,68, | 630 | 252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252, |
600 | 252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,6,15,182,204,15,182, | 631 | 234,252,242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4, |
601 | 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,4,135,199,68, | 632 | 199,252,242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16, |
602 | 202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 633 | 4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15, |
603 | 255,36,171,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,70, | 634 | 16,4,252,234,252,242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242, |
604 | 252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,221,4, | 635 | 15,16,4,199,252,242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252, |
605 | 199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,232,131, | 636 | 242,15,16,4,252,234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255, |
606 | 198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,237,137, | 637 | 248,162,232,244,153,255,252,233,244,162,255,232,244,113,255,15,182,252,236, |
607 | 105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15, | 638 | 15,182,192,141,12,194,41,232,137,76,36,4,137,68,36,8,248,33,139,108,36,48, |
608 | 182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,172,253, | 639 | 137,44,36,137,149,233,137,116,36,24,232,251,1,27,139,149,233,133,192,15,133, |
609 | 133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,6,15,182, | 640 | 244,42,15,182,110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234, |
610 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139, | 641 | 137,68,202,4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
611 | 172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77, | 642 | 252,255,36,171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6, |
612 | 0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,6, | 643 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192, |
613 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,232,239, | 644 | 199,68,202,4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17, |
614 | 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,213,141, | 645 | 4,202,255,223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17, |
615 | 139,233,255,232,251,1,27,137,252,234,252,233,244,1,255,252,247,208,139,106, | 646 | 4,202,255,221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182, |
616 | 252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,237,252, | 647 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141, |
617 | 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198, | 648 | 68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244, |
618 | 4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,1,128,189, | 649 | 1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139, |
619 | 233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,27,137,252,234,252, | 650 | 106,252,248,139,172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202, |
620 | 233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141, | 651 | 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
621 | 233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,139,106,252, | 652 | 171,255,139,106,252,248,139,172,253,141,233,128,189,233,0,139,173,233,139, |
622 | 248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232, | 653 | 12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,246,133,233,235, |
623 | 131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,108,36,48, | 654 | 15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
624 | 131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1, | 655 | 255,36,171,248,2,129,232,239,129,252,248,239,15,134,244,1,252,246,129,233, |
625 | 28,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 656 | 235,15,132,244,1,135,213,141,139,233,255,232,251,1,28,137,252,234,252,233, |
626 | 255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,48,137,76, | 657 | 244,1,255,252,247,208,139,106,252,248,139,172,253,141,233,139,12,135,139, |
627 | 36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,29,139,149, | 658 | 133,233,137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,6, |
628 | 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182, | 659 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,252,246,129, |
629 | 232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,149,233,139, | 660 | 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233, |
630 | 139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,37,252,255, | 661 | 232,251,1,28,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,15, |
631 | 7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,248,2,137, | 662 | 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, |
632 | 44,36,137,68,36,4,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199, | 663 | 25,255,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65, |
664 | 4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,141, | ||
665 | 180,253,134,233,139,108,36,48,131,189,233,0,15,132,244,247,137,149,233,141, | ||
666 | 20,202,137,252,233,232,251,1,29,139,149,233,248,1,139,6,15,182,204,15,182, | ||
667 | 232,131,198,4,193,232,16,252,255,36,171,255,252,247,208,139,74,252,248,139, | ||
668 | 4,135,139,108,36,48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116, | ||
669 | 36,24,232,251,1,30,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237, | ||
670 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108, | ||
671 | 36,48,137,149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248, | ||
672 | 1,137,193,37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15, | ||
673 | 132,244,249,248,2,137,44,36,137,68,36,4,232,251,1,31,139,149,233,15,182,78, | ||
674 | 252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4, | ||
675 | 193,232,16,252,255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233, | ||
676 | 232,251,1,32,15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48, | ||
677 | 139,139,233,137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139, | ||
678 | 20,135,137,252,233,232,251,1,33,139,149,233,15,182,78,252,253,137,4,202,199, | ||
633 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 679 | 68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, |
634 | 171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,31,15,183, | 680 | 171,248,3,137,252,233,232,251,1,32,15,183,70,252,254,252,247,208,252,233, |
635 | 70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,137,116, | 681 | 244,2,255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,163, |
636 | 36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,252,233, | 682 | 255,252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,164,255, |
637 | 232,251,1,32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139, | 683 | 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44, |
638 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,137,252, | 684 | 252,234,255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253, |
639 | 233,232,251,1,31,15,183,70,252,254,252,247,208,252,233,244,2,255,252,247, | 685 | 194,4,239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242, |
640 | 208,139,106,252,248,139,173,233,139,4,135,252,233,244,159,255,252,247,208, | 686 | 15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,36, |
641 | 139,106,252,248,139,173,233,139,4,135,252,233,244,160,255,15,182,252,236, | 687 | 255,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132, |
642 | 15,182,192,129,124,253,252,234,4,239,15,133,244,36,139,44,252,234,129,124, | ||
643 | 253,194,4,239,15,135,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252, | ||
644 | 242,15,42,200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244, | ||
645 | 36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4,239,15,132, | ||
646 | 244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15, | 688 | 244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15, |
647 | 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244, | 689 | 182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244, |
648 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, | 690 | 249,139,141,233,252,246,129,233,235,15,132,244,36,15,182,78,252,253,248,3, |
649 | 255,199,68,202,4,237,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244, | 691 | 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, |
650 | 36,139,4,194,252,233,244,159,255,15,182,252,236,15,182,192,252,247,208,139, | 692 | 36,139,4,194,252,233,244,163,255,15,182,252,236,15,182,192,252,247,208,139, |
651 | 4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,159,139, | 693 | 4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,163,139, |
652 | 141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244, | 694 | 141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244, |
653 | 250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70, | 695 | 250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70, |
654 | 252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204, | 696 | 252,253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204, |
@@ -661,123 +703,131 @@ static const unsigned char build_actionlist[15851] = { | |||
661 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, | 703 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233, |
662 | 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182, | 704 | 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182, |
663 | 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182, | 705 | 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182, |
664 | 192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129,124,253,194, | 706 | 192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,15,133,244, |
665 | 4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244,39,193,224,3, | 707 | 39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15, |
666 | 3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133, | 708 | 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4, |
667 | 244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,6,15,182,204,15, | 709 | 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232, |
668 | 182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,233,0,15,132,244, | 710 | 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129, |
669 | 1,139,141,233,255,252,246,129,233,235,15,132,244,39,15,182,78,252,253,252, | 711 | 233,235,255,15,132,244,39,15,182,78,252,253,252,233,244,1,248,5,129,124,253, |
670 | 233,244,1,248,5,129,124,253,194,4,239,15,133,244,39,139,4,194,252,233,244, | 712 | 194,4,239,15,133,244,39,139,4,194,252,233,244,164,248,7,128,165,233,235,139, |
671 | 160,248,7,128,165,233,235,139,139,233,137,171,233,137,141,233,15,182,78,252, | 713 | 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182, |
672 | 253,252,233,244,2,255,15,182,252,236,15,182,192,252,247,208,139,4,135,129, | 714 | 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133, |
673 | 124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,160,139,141,233,35, | 715 | 244,37,139,44,252,234,248,164,139,141,233,35,136,233,105,201,239,198,133, |
674 | 136,233,105,201,239,198,133,233,0,3,141,233,248,1,129,185,233,239,15,133, | 716 | 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244, |
675 | 244,251,57,129,233,15,133,244,251,129,121,253,4,239,15,132,244,250,248,2, | 717 | 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133, |
676 | 255,252,246,133,233,235,15,133,244,253,248,3,15,182,70,252,253,139,108,194, | 718 | 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139, |
677 | 4,139,4,194,137,105,4,137,1,139,6,15,182,204,15,182,232,131,198,4,193,232, | 719 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189, |
678 | 16,252,255,36,171,248,4,131,189,233,0,15,132,244,2,137,76,36,16,139,141,233, | 720 | 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244, |
679 | 252,246,129,233,235,15,132,244,37,139,76,36,16,252,233,244,2,248,5,139,137, | 721 | 37,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255, |
680 | 233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,252,252,246,129, | 722 | 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248, |
681 | 233,235,15,132,244,37,248,6,137,68,36,16,199,68,36,20,237,137,108,36,12,141, | 723 | 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139, |
682 | 68,36,16,137,108,36,4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137, | 724 | 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,34,139, |
683 | 116,36,24,232,251,1,33,139,149,233,139,108,36,12,137,193,252,233,244,2,248, | 725 | 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131, |
684 | 7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,255,15, | 726 | 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129, |
685 | 182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,44,252, | 727 | 124,253,252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244, |
686 | 234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,15,132, | 728 | 38,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, |
687 | 244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139, | 729 | 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, |
688 | 12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 730 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189, |
689 | 255,36,171,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233, | 731 | 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182, |
690 | 235,15,132,244,38,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139, | 732 | 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137, |
691 | 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124, | 733 | 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248, |
692 | 36,16,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15, | 734 | 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139, |
693 | 133,244,253,248,2,139,68,36,20,131,232,1,15,132,244,250,1,252,248,59,133, | 735 | 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41, |
694 | 233,15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,139,41,137,47,139, | 736 | 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111, |
695 | 105,4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,3,248,4,139,124, | 737 | 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15, |
696 | 36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 738 | 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36, |
697 | 5,137,108,36,4,139,108,36,48,137,149,233,137,68,36,8,137,44,36,137,116,36, | 739 | 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,35,139,149,233, |
698 | 24,232,251,1,34,139,149,233,15,182,78,252,253,252,233,244,1,248,7,255,128, | 740 | 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137, |
699 | 165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,2,255,3,68,36, | 741 | 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239, |
700 | 20,255,129,124,253,202,4,239,139,44,202,15,133,244,52,141,84,202,8,137,114, | 742 | 139,44,202,15,133,244,55,141,84,202,8,137,114,252,252,139,181,233,139,14, |
701 | 252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36, | 743 | 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215, |
702 | 171,255,141,76,202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133, | 744 | 139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,56,139,114,252, |
703 | 244,28,248,53,139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106, | 745 | 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131, |
704 | 252,248,137,68,36,20,131,232,1,15,132,244,249,248,2,139,41,137,47,139,105, | 746 | 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131, |
705 | 4,131,193,8,137,111,4,131,199,8,131,232,1,15,133,244,2,139,106,252,248,248, | 747 | 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233, |
706 | 3,139,68,36,20,128,189,233,1,15,135,244,251,248,4,139,181,233,139,14,15,182, | 748 | 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198, |
707 | 252,233,15,182,205,131,198,4,252,255,36,171,248,5,255,252,247,198,237,15, | 749 | 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253, |
708 | 133,244,4,15,182,78,252,253,252,247,209,141,12,202,139,121,252,248,139,191, | 750 | 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244, |
709 | 233,139,191,233,252,233,244,4,248,7,129,252,238,239,252,247,198,237,15,133, | 751 | 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215, |
710 | 244,254,41,252,242,137,215,139,114,252,252,252,233,244,1,248,8,129,198,239, | 752 | 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76, |
711 | 252,233,244,1,255,141,76,202,8,139,105,232,139,65,252,236,137,41,137,65,4, | 753 | 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252, |
712 | 139,105,252,240,139,65,252,244,137,105,8,137,65,12,139,105,224,139,65,228, | 754 | 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252, |
713 | 137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,133,244,28,137, | 755 | 252,129,252,248,239,184,237,15,133,244,28,137,202,137,114,252,252,139,181, |
714 | 202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198, | 756 | 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124, |
715 | 4,252,255,36,171,255,137,124,36,16,137,92,36,20,139,108,202,252,240,139,68, | 757 | 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131, |
716 | 202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,15,131,244,251, | 758 | 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132, |
717 | 129,124,253,199,4,239,15,132,244,250,255,252,242,15,42,192,255,219,68,202, | 759 | 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199, |
718 | 252,248,255,139,108,199,4,137,108,202,12,139,44,199,137,108,202,8,131,192, | 760 | 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141, |
719 | 1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,180,253,134,233,248, | 761 | 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182, |
720 | 3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232, | 762 | 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252, |
721 | 16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,248,255,252,233,244, | 763 | 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252, |
722 | 1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,248,239,3,189,233,129, | 764 | 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233, |
723 | 191,233,239,15,132,244,253,141,92,24,1,139,175,233,139,135,233,137,44,202, | 765 | 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8, |
724 | 137,68,202,4,139,175,233,139,135,233,137,108,202,8,137,68,202,12,137,92,202, | 766 | 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233, |
725 | 252,248,252,233,244,2,248,7,255,131,192,1,252,233,244,6,255,129,124,253,202, | 767 | 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129, |
726 | 252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,15, | 768 | 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133, |
727 | 133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,15, | 769 | 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252, |
728 | 133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,15, | 770 | 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
729 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,198,70,252,252, | 771 | 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244, |
730 | 235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,15,182, | 772 | 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12, |
731 | 192,137,124,36,16,141,188,253,194,233,141,12,202,43,122,252,252,133,252,237, | 773 | 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57, |
732 | 15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,1,139,71, | 774 | 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137, |
733 | 252,248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,252,233,15,131, | 775 | 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65, |
734 | 244,249,57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130, | 776 | 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182, |
735 | 244,2,248,3,139,124,36,16,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 777 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0, |
736 | 252,255,36,171,248,5,199,68,36,20,1,0,0,0,137,208,41,252,248,15,134,244,3, | 778 | 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108, |
737 | 137,197,193,252,237,3,131,197,1,137,108,36,20,139,108,36,48,1,200,59,133, | 779 | 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252, |
738 | 233,15,135,244,253,248,6,255,139,71,252,248,137,1,139,71,252,252,131,199, | 780 | 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6, |
739 | 8,137,65,4,131,193,8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233, | 781 | 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36, |
740 | 137,141,233,137,116,36,24,41,215,139,84,36,20,131,252,234,1,137,252,233,232, | 782 | 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252, |
741 | 251,1,0,139,149,233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248, | 783 | 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198, |
742 | 1,139,114,252,252,137,68,36,20,252,247,198,237,15,133,244,253,255,248,13, | 784 | 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139, |
743 | 137,215,131,232,1,15,132,244,249,248,2,139,44,15,137,111,252,248,139,108, | 785 | 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15, |
744 | 15,4,137,111,252,252,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,20, | 786 | 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252, |
745 | 15,182,110,252,255,248,5,57,197,15,135,244,252,255,139,108,10,4,137,106,252, | 787 | 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70, |
746 | 252,139,44,10,137,106,252,248,255,248,5,56,70,252,255,15,135,244,252,255, | 788 | 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122, |
747 | 15,182,78,252,253,252,247,209,141,20,202,139,122,252,248,139,191,233,139, | 789 | 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193, |
748 | 191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248, | 790 | 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194, |
749 | 6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,237,255,131,192, | 791 | 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237, |
750 | 1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,244,14,41,252,234, | 792 | 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229, |
751 | 255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43, | 793 | 239,102,131,172,253,43,233,1,15,132,244,145,255,141,12,202,255,129,121,253, |
752 | 233,1,15,132,244,141,255,141,12,202,255,129,121,253,4,239,15,135,244,54,129, | 794 | 4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,57,129,121,253,20, |
753 | 121,253,12,239,15,135,244,54,255,139,105,20,255,129,252,253,239,15,135,244, | 795 | 239,15,133,244,57,139,41,131,121,16,0,15,140,244,251,255,139,105,16,133,252, |
754 | 54,255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242, | 796 | 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237, |
755 | 15,17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, | 797 | 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180, |
798 | 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248, | ||
799 | 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198, | ||
800 | 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141, | ||
801 | 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244, | ||
802 | 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,57,129,121, | ||
803 | 253,12,239,15,131,244,57,255,139,105,20,255,129,252,253,239,15,131,244,57, | ||
804 | 255,252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15, | ||
805 | 17,1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248, | ||
756 | 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133, | 806 | 1,252,242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133, |
757 | 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255, | 807 | 252,237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255, |
758 | 15,183,70,252,254,255,15,131,244,248,141,180,253,134,233,255,141,180,253, | 808 | 15,183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233, |
759 | 134,233,15,183,70,252,254,15,131,245,255,15,130,244,248,141,180,253,134,233, | 809 | 255,141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255, |
760 | 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253, | 810 | 15,130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1, |
761 | 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245, | 811 | 255,141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252, |
762 | 255,141,180,253,134,233,139,1,137,105,252,252,137,65,252,248,255,139,139, | 812 | 139,41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105, |
763 | 233,139,4,129,139,128,233,139,108,36,48,137,147,233,137,171,233,252,255,224, | 813 | 252,252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48, |
764 | 255,141,180,253,134,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 814 | 137,147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182, |
765 | 252,255,36,171,255,137,252,245,209,252,237,129,229,239,102,131,172,253,43, | 815 | 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252, |
766 | 233,1,15,132,244,143,255,139,190,233,139,108,36,48,141,12,202,59,141,233, | 816 | 237,129,229,239,102,131,172,253,43,233,1,15,132,244,147,255,139,190,233,139, |
767 | 15,135,244,23,15,182,142,233,57,200,15,134,244,249,248,2,255,15,183,70,252, | 817 | 108,36,48,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134, |
768 | 254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134, | 818 | 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252, |
769 | 244,3,252,233,244,2,255,141,44,197,237,141,4,194,139,122,252,248,137,104, | 819 | 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141, |
770 | 252,252,137,120,252,248,139,108,36,48,141,12,200,59,141,233,15,135,244,22, | 820 | 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12, |
771 | 137,209,137,194,15,182,174,233,133,252,237,15,132,244,248,248,1,131,193,8, | 821 | 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15, |
772 | 57,209,15,131,244,249,139,121,252,248,137,56,139,121,252,252,137,120,4,131, | 822 | 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56, |
773 | 192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,139,190,233, | 823 | 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, |
774 | 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,248,3, | 824 | 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232, |
775 | 199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244,2,255,139,106, | 825 | 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244, |
776 | 252,248,139,189,233,139,108,36,48,141,68,194,252,248,137,149,233,141,136, | 826 | 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194, |
777 | 233,59,141,233,137,133,233,255,137,44,36,255,137,124,36,4,137,44,36,255,15, | 827 | 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255, |
778 | 135,244,21,199,131,233,237,255,252,255,215,255,252,255,147,233,255,199,131, | 828 | 137,124,36,4,137,44,36,255,15,135,244,21,199,131,233,237,255,252,255,215, |
779 | 233,237,139,149,233,141,12,194,252,247,217,3,141,233,139,114,252,252,252, | 829 | 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217, |
780 | 233,244,12,255,254,0 | 830 | 3,141,233,139,114,252,252,252,233,244,12,255,254,0 |
781 | }; | 831 | }; |
782 | 832 | ||
783 | enum { | 833 | enum { |
@@ -818,9 +868,12 @@ enum { | |||
818 | GLOB_cont_condf, | 868 | GLOB_cont_condf, |
819 | GLOB_vmeta_equal, | 869 | GLOB_vmeta_equal, |
820 | GLOB_vmeta_equal_cd, | 870 | GLOB_vmeta_equal_cd, |
871 | GLOB_vmeta_arith_vno, | ||
821 | GLOB_vmeta_arith_vn, | 872 | GLOB_vmeta_arith_vn, |
873 | GLOB_vmeta_arith_nvo, | ||
822 | GLOB_vmeta_arith_nv, | 874 | GLOB_vmeta_arith_nv, |
823 | GLOB_vmeta_unm, | 875 | GLOB_vmeta_unm, |
876 | GLOB_vmeta_arith_vvo, | ||
824 | GLOB_vmeta_arith_vv, | 877 | GLOB_vmeta_arith_vv, |
825 | GLOB_vmeta_len, | 878 | GLOB_vmeta_len, |
826 | GLOB_vmeta_call_ra, | 879 | GLOB_vmeta_call_ra, |
@@ -835,6 +888,7 @@ enum { | |||
835 | GLOB_ff_setmetatable, | 888 | GLOB_ff_setmetatable, |
836 | GLOB_ff_rawget, | 889 | GLOB_ff_rawget, |
837 | GLOB_ff_tonumber, | 890 | GLOB_ff_tonumber, |
891 | GLOB_fff_resi, | ||
838 | GLOB_fff_resxmm0, | 892 | GLOB_fff_resxmm0, |
839 | GLOB_fff_resn, | 893 | GLOB_fff_resn, |
840 | GLOB_ff_tostring, | 894 | GLOB_ff_tostring, |
@@ -852,11 +906,12 @@ enum { | |||
852 | GLOB_ff_coroutine_wrap_aux, | 906 | GLOB_ff_coroutine_wrap_aux, |
853 | GLOB_ff_coroutine_yield, | 907 | GLOB_ff_coroutine_yield, |
854 | GLOB_ff_math_abs, | 908 | GLOB_ff_math_abs, |
855 | GLOB_ff_math_sqrt, | 909 | GLOB_fff_resbit, |
856 | GLOB_ff_math_floor, | 910 | GLOB_ff_math_floor, |
857 | GLOB_vm_floor, | 911 | GLOB_vm_floor, |
858 | GLOB_ff_math_ceil, | 912 | GLOB_ff_math_ceil, |
859 | GLOB_vm_ceil, | 913 | GLOB_vm_ceil, |
914 | GLOB_ff_math_sqrt, | ||
860 | GLOB_ff_math_log, | 915 | GLOB_ff_math_log, |
861 | GLOB_ff_math_log10, | 916 | GLOB_ff_math_log10, |
862 | GLOB_ff_math_exp, | 917 | GLOB_ff_math_exp, |
@@ -897,7 +952,6 @@ enum { | |||
897 | GLOB_ff_table_getn, | 952 | GLOB_ff_table_getn, |
898 | GLOB_ff_bit_tobit, | 953 | GLOB_ff_bit_tobit, |
899 | GLOB_ff_bit_band, | 954 | GLOB_ff_bit_band, |
900 | GLOB_fff_resbit, | ||
901 | GLOB_fff_fallback_bit_op, | 955 | GLOB_fff_fallback_bit_op, |
902 | GLOB_ff_bit_bor, | 956 | GLOB_ff_bit_bor, |
903 | GLOB_ff_bit_bxor, | 957 | GLOB_ff_bit_bxor, |
@@ -972,9 +1026,12 @@ static const char *const globnames[] = { | |||
972 | "cont_condf", | 1026 | "cont_condf", |
973 | "vmeta_equal", | 1027 | "vmeta_equal", |
974 | "vmeta_equal_cd", | 1028 | "vmeta_equal_cd", |
1029 | "vmeta_arith_vno", | ||
975 | "vmeta_arith_vn", | 1030 | "vmeta_arith_vn", |
1031 | "vmeta_arith_nvo", | ||
976 | "vmeta_arith_nv", | 1032 | "vmeta_arith_nv", |
977 | "vmeta_unm", | 1033 | "vmeta_unm", |
1034 | "vmeta_arith_vvo", | ||
978 | "vmeta_arith_vv", | 1035 | "vmeta_arith_vv", |
979 | "vmeta_len", | 1036 | "vmeta_len", |
980 | "vmeta_call_ra", | 1037 | "vmeta_call_ra", |
@@ -989,6 +1046,7 @@ static const char *const globnames[] = { | |||
989 | "ff_setmetatable", | 1046 | "ff_setmetatable", |
990 | "ff_rawget", | 1047 | "ff_rawget", |
991 | "ff_tonumber", | 1048 | "ff_tonumber", |
1049 | "fff_resi", | ||
992 | "fff_resxmm0", | 1050 | "fff_resxmm0", |
993 | "fff_resn", | 1051 | "fff_resn", |
994 | "ff_tostring", | 1052 | "ff_tostring", |
@@ -1006,11 +1064,12 @@ static const char *const globnames[] = { | |||
1006 | "ff_coroutine_wrap_aux", | 1064 | "ff_coroutine_wrap_aux", |
1007 | "ff_coroutine_yield", | 1065 | "ff_coroutine_yield", |
1008 | "ff_math_abs", | 1066 | "ff_math_abs", |
1009 | "ff_math_sqrt", | 1067 | "fff_resbit", |
1010 | "ff_math_floor", | 1068 | "ff_math_floor", |
1011 | "vm_floor", | 1069 | "vm_floor", |
1012 | "ff_math_ceil", | 1070 | "ff_math_ceil", |
1013 | "vm_ceil", | 1071 | "vm_ceil", |
1072 | "ff_math_sqrt", | ||
1014 | "ff_math_log", | 1073 | "ff_math_log", |
1015 | "ff_math_log10", | 1074 | "ff_math_log10", |
1016 | "ff_math_exp", | 1075 | "ff_math_exp", |
@@ -1051,7 +1110,6 @@ static const char *const globnames[] = { | |||
1051 | "ff_table_getn", | 1110 | "ff_table_getn", |
1052 | "ff_bit_tobit", | 1111 | "ff_bit_tobit", |
1053 | "ff_bit_band", | 1112 | "ff_bit_band", |
1054 | "fff_resbit", | ||
1055 | "fff_fallback_bit_op", | 1113 | "fff_fallback_bit_op", |
1056 | "ff_bit_bor", | 1114 | "ff_bit_bor", |
1057 | "ff_bit_bxor", | 1115 | "ff_bit_bxor", |
@@ -1100,6 +1158,7 @@ static const char *const extnames[] = { | |||
1100 | "lj_meta_call", | 1158 | "lj_meta_call", |
1101 | "lj_meta_for@8", | 1159 | "lj_meta_for@8", |
1102 | "lj_tab_get", | 1160 | "lj_tab_get", |
1161 | "lj_str_fromnumber@8", | ||
1103 | "lj_str_fromnum@8", | 1162 | "lj_str_fromnum@8", |
1104 | "lj_tab_next", | 1163 | "lj_tab_next", |
1105 | "lj_tab_getinth@8", | 1164 | "lj_tab_getinth@8", |
@@ -1156,446 +1215,751 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1156 | 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)); | 1215 | 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)); |
1157 | dasm_put(Dst, 588, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc), PC2PROTO(k)); | 1216 | dasm_put(Dst, 588, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, Dt7(->pc), PC2PROTO(k)); |
1158 | dasm_put(Dst, 760, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1217 | dasm_put(Dst, 760, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); |
1159 | if (sse) { | 1218 | if (LJ_DUALNUM) { |
1160 | dasm_put(Dst, 856); | 1219 | dasm_put(Dst, 856, LJ_TISNUM); |
1220 | } else if (sse) { | ||
1221 | dasm_put(Dst, 866); | ||
1161 | } else { | 1222 | } else { |
1162 | dasm_put(Dst, 869); | 1223 | dasm_put(Dst, 879); |
1163 | } | 1224 | } |
1164 | dasm_put(Dst, 882, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1225 | dasm_put(Dst, 892, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1165 | dasm_put(Dst, 1034, DISPATCH_GL(tmptv), LJ_TTAB); | 1226 | dasm_put(Dst, 1044, DISPATCH_GL(tmptv), LJ_TTAB); |
1166 | if (sse) { | 1227 | if (LJ_DUALNUM) { |
1167 | dasm_put(Dst, 856); | 1228 | dasm_put(Dst, 856, LJ_TISNUM); |
1229 | } else if (sse) { | ||
1230 | dasm_put(Dst, 866); | ||
1168 | } else { | 1231 | } else { |
1169 | dasm_put(Dst, 869); | 1232 | dasm_put(Dst, 879); |
1170 | } | 1233 | } |
1171 | dasm_put(Dst, 1057, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1234 | dasm_put(Dst, 1067, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1172 | dasm_put(Dst, 1251, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1235 | dasm_put(Dst, 1261, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1173 | dasm_put(Dst, 1358); | 1236 | dasm_put(Dst, 1368); |
1174 | #if LJ_HASFFI | 1237 | #if LJ_HASFFI |
1175 | dasm_put(Dst, 1373, Dt1(->base)); | 1238 | dasm_put(Dst, 1383, Dt1(->base)); |
1239 | #endif | ||
1240 | dasm_put(Dst, 1414); | ||
1241 | #if LJ_DUALNUM | ||
1242 | dasm_put(Dst, 1417); | ||
1243 | #endif | ||
1244 | dasm_put(Dst, 1423); | ||
1245 | #if LJ_DUALNUM | ||
1246 | dasm_put(Dst, 850); | ||
1247 | #endif | ||
1248 | dasm_put(Dst, 1435); | ||
1249 | #if LJ_DUALNUM | ||
1250 | dasm_put(Dst, 1417); | ||
1176 | #endif | 1251 | #endif |
1177 | dasm_put(Dst, 1404, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1); | 1252 | dasm_put(Dst, 1463, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base), Dt1(->base)); |
1178 | dasm_put(Dst, 1524, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); | 1253 | dasm_put(Dst, 1618, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND); |
1179 | dasm_put(Dst, 1712, 1+1, ~LJ_TNUMX); | 1254 | dasm_put(Dst, 1795, 1+1, ~LJ_TNUMX); |
1180 | if (cmov) { | 1255 | if (cmov) { |
1181 | dasm_put(Dst, 1799); | 1256 | dasm_put(Dst, 1824); |
1182 | } else { | 1257 | } else { |
1183 | dasm_put(Dst, 1803); | 1258 | dasm_put(Dst, 1828); |
1259 | } | ||
1260 | dasm_put(Dst, 1837, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); | ||
1261 | dasm_put(Dst, 1920, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); | ||
1262 | dasm_put(Dst, 1978, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); | ||
1263 | dasm_put(Dst, 2041, 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)); | ||
1264 | dasm_put(Dst, 2113, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1265 | if (LJ_DUALNUM) { | ||
1266 | dasm_put(Dst, 2202); | ||
1267 | } else { | ||
1268 | dasm_put(Dst, 2219); | ||
1184 | } | 1269 | } |
1185 | dasm_put(Dst, 1812, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB); | ||
1186 | dasm_put(Dst, 1895, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL); | ||
1187 | dasm_put(Dst, 1953, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1); | ||
1188 | dasm_put(Dst, 2016, 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)); | ||
1189 | dasm_put(Dst, 2088, 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | ||
1190 | if (sse) { | 1270 | if (sse) { |
1191 | dasm_put(Dst, 2181); | 1271 | dasm_put(Dst, 2224); |
1272 | } else { | ||
1273 | dasm_put(Dst, 2234); | ||
1274 | } | ||
1275 | dasm_put(Dst, 2241, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1276 | dasm_put(Dst, 2307, Dt1(->base)); | ||
1277 | if (LJ_DUALNUM) { | ||
1278 | dasm_put(Dst, 2331); | ||
1192 | } else { | 1279 | } else { |
1193 | dasm_put(Dst, 2191); | 1280 | dasm_put(Dst, 2336); |
1194 | } | 1281 | } |
1195 | dasm_put(Dst, 2198, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1282 | dasm_put(Dst, 2341, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2); |
1196 | dasm_put(Dst, 2264, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); | 1283 | dasm_put(Dst, 2450, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB); |
1197 | dasm_put(Dst, 2331, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); | ||
1198 | dasm_put(Dst, 2436, LJ_TTAB); | ||
1199 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1284 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1200 | dasm_put(Dst, 2448, Dt6(->metatable)); | 1285 | dasm_put(Dst, 2497, Dt6(->metatable)); |
1201 | #endif | 1286 | #endif |
1202 | dasm_put(Dst, 2457, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1287 | dasm_put(Dst, 2506, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1203 | if (sse) { | 1288 | if (LJ_DUALNUM) { |
1204 | dasm_put(Dst, 2520); | 1289 | dasm_put(Dst, 2492); |
1290 | } else { | ||
1291 | dasm_put(Dst, 2219); | ||
1292 | } | ||
1293 | dasm_put(Dst, 2561); | ||
1294 | if (LJ_DUALNUM) { | ||
1295 | dasm_put(Dst, 2566, LJ_TISNUM); | ||
1296 | } else if (sse) { | ||
1297 | dasm_put(Dst, 2582); | ||
1205 | } else { | 1298 | } else { |
1206 | dasm_put(Dst, 2559); | 1299 | dasm_put(Dst, 2621); |
1207 | } | 1300 | } |
1208 | dasm_put(Dst, 2577, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1301 | dasm_put(Dst, 2639, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1209 | dasm_put(Dst, 2658, 1+1, LJ_TTAB); | 1302 | dasm_put(Dst, 2477, 1+1, LJ_TTAB); |
1210 | #ifdef LUAJIT_ENABLE_LUA52COMPAT | 1303 | #ifdef LUAJIT_ENABLE_LUA52COMPAT |
1211 | dasm_put(Dst, 2448, Dt6(->metatable)); | 1304 | dasm_put(Dst, 2497, Dt6(->metatable)); |
1212 | #endif | 1305 | #endif |
1213 | dasm_put(Dst, 2678, Dt8(->upvalue[0]), LJ_TFUNC); | 1306 | dasm_put(Dst, 2720, Dt8(->upvalue[0]), LJ_TFUNC); |
1307 | if (LJ_DUALNUM) { | ||
1308 | dasm_put(Dst, 2741, LJ_TISNUM); | ||
1309 | } else if (sse) { | ||
1310 | dasm_put(Dst, 2753); | ||
1311 | } else { | ||
1312 | dasm_put(Dst, 2763); | ||
1313 | } | ||
1314 | dasm_put(Dst, 2770, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | ||
1315 | dasm_put(Dst, 2834, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | ||
1316 | dasm_put(Dst, 2922, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | ||
1317 | dasm_put(Dst, 3023, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | ||
1318 | dasm_put(Dst, 3137, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1319 | dasm_put(Dst, 3235, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1320 | dasm_put(Dst, 3301, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1321 | dasm_put(Dst, 3402, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1322 | dasm_put(Dst, 3515, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1323 | if (!LJ_DUALNUM) { | ||
1324 | dasm_put(Dst, 3541); | ||
1325 | } | ||
1214 | if (sse) { | 1326 | if (sse) { |
1215 | dasm_put(Dst, 2699); | 1327 | dasm_put(Dst, 3544); |
1216 | } else { | 1328 | } |
1217 | dasm_put(Dst, 2709); | 1329 | dasm_put(Dst, 3559, 1+1); |
1218 | } | 1330 | if (LJ_DUALNUM) { |
1219 | dasm_put(Dst, 2716, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1331 | dasm_put(Dst, 3570, LJ_TISNUM, LJ_TISNUM); |
1220 | dasm_put(Dst, 2780, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1332 | } else { |
1221 | dasm_put(Dst, 2868, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1333 | dasm_put(Dst, 3650, LJ_TISNUM); |
1222 | dasm_put(Dst, 2969, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1334 | } |
1223 | dasm_put(Dst, 3083, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | ||
1224 | dasm_put(Dst, 3181, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | ||
1225 | dasm_put(Dst, 3247, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | ||
1226 | dasm_put(Dst, 3348, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | ||
1227 | dasm_put(Dst, 3461, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | ||
1228 | if (sse) { | 1335 | if (sse) { |
1229 | dasm_put(Dst, 3487, 1+1, LJ_TISNUM); | 1336 | dasm_put(Dst, 3660); |
1230 | } else { | 1337 | } else { |
1231 | dasm_put(Dst, 3556, 1+1, LJ_TISNUM); | 1338 | dasm_put(Dst, 3696); |
1339 | } | ||
1340 | dasm_put(Dst, 3713, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1341 | if (LJ_DUALNUM) { | ||
1342 | dasm_put(Dst, 3805, LJ_TISNUM); | ||
1343 | } else { | ||
1344 | dasm_put(Dst, 3650, LJ_TISNUM); | ||
1232 | } | 1345 | } |
1233 | dasm_put(Dst, 3592, 1+1, FRAME_TYPE, LJ_TNIL); | ||
1234 | if (sse) { | 1346 | if (sse) { |
1235 | dasm_put(Dst, 3682, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1347 | dasm_put(Dst, 3827); |
1236 | dasm_put(Dst, 3744, 1+1, LJ_TISNUM); | 1348 | if (LJ_DUALNUM) { |
1349 | dasm_put(Dst, 3836); | ||
1350 | } | ||
1351 | dasm_put(Dst, 2229); | ||
1352 | } else { | ||
1353 | dasm_put(Dst, 3870); | ||
1354 | if (LJ_DUALNUM) { | ||
1355 | dasm_put(Dst, 3876); | ||
1356 | if (cmov) { | ||
1357 | dasm_put(Dst, 3899); | ||
1237 | } else { | 1358 | } else { |
1238 | dasm_put(Dst, 3774, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1359 | dasm_put(Dst, 3905); |
1239 | dasm_put(Dst, 3833, 1+1, LJ_TISNUM); | 1360 | } |
1361 | dasm_put(Dst, 3912); | ||
1362 | } else { | ||
1363 | dasm_put(Dst, 2236); | ||
1364 | } | ||
1365 | } | ||
1366 | dasm_put(Dst, 3929); | ||
1367 | if (LJ_DUALNUM) { | ||
1368 | dasm_put(Dst, 3805, LJ_TISNUM); | ||
1369 | } else { | ||
1370 | dasm_put(Dst, 3650, LJ_TISNUM); | ||
1240 | } | 1371 | } |
1241 | dasm_put(Dst, 3860, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1242 | dasm_put(Dst, 3929, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1243 | dasm_put(Dst, 3986, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1244 | dasm_put(Dst, 4049, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1245 | dasm_put(Dst, 4139); | ||
1246 | if (sse) { | 1372 | if (sse) { |
1247 | dasm_put(Dst, 4151, 1+1, LJ_TISNUM); | 1373 | dasm_put(Dst, 3932); |
1374 | if (LJ_DUALNUM) { | ||
1375 | dasm_put(Dst, 3836); | ||
1376 | } | ||
1377 | dasm_put(Dst, 2229); | ||
1378 | } else { | ||
1379 | dasm_put(Dst, 3941); | ||
1380 | if (LJ_DUALNUM) { | ||
1381 | dasm_put(Dst, 3876); | ||
1382 | if (cmov) { | ||
1383 | dasm_put(Dst, 3899); | ||
1248 | } else { | 1384 | } else { |
1249 | dasm_put(Dst, 4182, 1+1, LJ_TISNUM); | 1385 | dasm_put(Dst, 3905); |
1386 | } | ||
1387 | dasm_put(Dst, 3912); | ||
1388 | } else { | ||
1389 | dasm_put(Dst, 2236); | ||
1390 | } | ||
1250 | } | 1391 | } |
1251 | dasm_put(Dst, 4207); | ||
1252 | if (sse) { | 1392 | if (sse) { |
1253 | dasm_put(Dst, 4221, 1+1, LJ_TISNUM); | 1393 | dasm_put(Dst, 3947, 1+1, LJ_TISNUM); |
1254 | } else { | 1394 | } else { |
1255 | dasm_put(Dst, 4252, 1+1, LJ_TISNUM); | 1395 | dasm_put(Dst, 3976, 1+1, LJ_TISNUM); |
1256 | } | 1396 | } |
1257 | dasm_put(Dst, 4277); | 1397 | dasm_put(Dst, 4005, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1398 | dasm_put(Dst, 4074, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1399 | dasm_put(Dst, 4131, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | ||
1400 | dasm_put(Dst, 4194, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | ||
1401 | dasm_put(Dst, 4284); | ||
1258 | if (sse) { | 1402 | if (sse) { |
1259 | dasm_put(Dst, 4291, 1+1, LJ_TISNUM); | 1403 | dasm_put(Dst, 4296, 1+1, LJ_TISNUM); |
1260 | } else { | 1404 | } else { |
1261 | dasm_put(Dst, 4322, 1+1, LJ_TISNUM); | 1405 | dasm_put(Dst, 4327, 1+1, LJ_TISNUM); |
1262 | } | 1406 | } |
1263 | dasm_put(Dst, 4347); | 1407 | dasm_put(Dst, 4352); |
1264 | if (sse) { | 1408 | if (sse) { |
1265 | dasm_put(Dst, 4363, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1409 | dasm_put(Dst, 4366, 1+1, LJ_TISNUM); |
1266 | } else { | 1410 | } else { |
1267 | dasm_put(Dst, 4402, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1411 | dasm_put(Dst, 4397, 1+1, LJ_TISNUM); |
1268 | } | 1412 | } |
1269 | dasm_put(Dst, 4435, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1413 | dasm_put(Dst, 4422); |
1270 | dasm_put(Dst, 4500, 1+1, LJ_TISNUM); | ||
1271 | if (sse) { | 1414 | if (sse) { |
1272 | dasm_put(Dst, 4599); | 1415 | dasm_put(Dst, 4436, 1+1, LJ_TISNUM); |
1273 | } else { | 1416 | } else { |
1274 | dasm_put(Dst, 4605); | 1417 | dasm_put(Dst, 4467, 1+1, LJ_TISNUM); |
1275 | } | 1418 | } |
1276 | dasm_put(Dst, 4614); | 1419 | dasm_put(Dst, 4492); |
1277 | if (sse) { | 1420 | if (sse) { |
1278 | dasm_put(Dst, 4639); | 1421 | dasm_put(Dst, 4508, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1279 | } else { | 1422 | } else { |
1280 | dasm_put(Dst, 4645); | 1423 | dasm_put(Dst, 4547, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1281 | } | 1424 | } |
1282 | dasm_put(Dst, 4648, 1+2); | 1425 | dasm_put(Dst, 4580, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1426 | dasm_put(Dst, 4645, 1+1, LJ_TISNUM); | ||
1283 | if (sse) { | 1427 | if (sse) { |
1284 | dasm_put(Dst, 4657); | 1428 | dasm_put(Dst, 4744); |
1285 | } else { | 1429 | } else { |
1286 | dasm_put(Dst, 4665); | 1430 | dasm_put(Dst, 4750); |
1287 | } | 1431 | } |
1288 | dasm_put(Dst, 4673); | 1432 | dasm_put(Dst, 4759); |
1289 | if (sse) { | 1433 | if (sse) { |
1290 | dasm_put(Dst, 4676); | 1434 | dasm_put(Dst, 4784); |
1291 | } else { | 1435 | } else { |
1292 | dasm_put(Dst, 4708); | 1436 | dasm_put(Dst, 4790); |
1293 | } | 1437 | } |
1294 | dasm_put(Dst, 4727); | 1438 | dasm_put(Dst, 4793, 1+2); |
1295 | if (sse) { | 1439 | if (sse) { |
1296 | dasm_put(Dst, 4743, 1+1, LJ_TISNUM); | 1440 | dasm_put(Dst, 4802); |
1297 | } else { | 1441 | } else { |
1298 | dasm_put(Dst, 4768, 1+1, LJ_TISNUM); | 1442 | dasm_put(Dst, 4810); |
1299 | } | 1443 | } |
1300 | dasm_put(Dst, 4790); | 1444 | dasm_put(Dst, 4818); |
1301 | if (sse) { | 1445 | if (sse) { |
1302 | dasm_put(Dst, 4812); | 1446 | dasm_put(Dst, 4821); |
1303 | } else { | 1447 | } else { |
1304 | dasm_put(Dst, 4838); | 1448 | dasm_put(Dst, 4853); |
1305 | } | 1449 | } |
1306 | dasm_put(Dst, 4855, 1+2); | 1450 | dasm_put(Dst, 4872); |
1307 | if (sse) { | 1451 | if (sse) { |
1308 | dasm_put(Dst, 4895); | 1452 | dasm_put(Dst, 4888, 1+1, LJ_TISNUM); |
1309 | } else { | 1453 | } else { |
1310 | dasm_put(Dst, 4903); | 1454 | dasm_put(Dst, 4913, 1+1, LJ_TISNUM); |
1311 | } | 1455 | } |
1312 | dasm_put(Dst, 4913, 2+1, LJ_TISNUM, LJ_TISNUM); | 1456 | dasm_put(Dst, 4935); |
1313 | if (sse) { | 1457 | if (sse) { |
1314 | dasm_put(Dst, 4965, 2+1, LJ_TISNUM, LJ_TISNUM); | 1458 | dasm_put(Dst, 4957); |
1315 | } else { | 1459 | } else { |
1316 | dasm_put(Dst, 5012, 2+1, LJ_TISNUM, LJ_TISNUM); | 1460 | dasm_put(Dst, 4983); |
1317 | } | 1461 | } |
1462 | dasm_put(Dst, 5000, 1+2); | ||
1318 | if (sse) { | 1463 | if (sse) { |
1319 | dasm_put(Dst, 5053, 1+1, LJ_TISNUM, LJ_TISNUM); | 1464 | dasm_put(Dst, 5040); |
1320 | } else { | 1465 | } else { |
1321 | dasm_put(Dst, 5124, 1+1, LJ_TISNUM, LJ_TISNUM); | 1466 | dasm_put(Dst, 5048); |
1467 | } | ||
1468 | dasm_put(Dst, 5058, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1469 | if (sse) { | ||
1470 | dasm_put(Dst, 5110, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1471 | } else { | ||
1472 | dasm_put(Dst, 5157, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1473 | } | ||
1474 | dasm_put(Dst, 5198, LJ_TISNUM); | ||
1475 | if (LJ_DUALNUM) { | ||
1476 | dasm_put(Dst, 5211, LJ_TISNUM); | ||
1477 | if (sse) { | ||
1478 | dasm_put(Dst, 4744); | ||
1479 | } else { | ||
1480 | dasm_put(Dst, 4750); | ||
1481 | } | ||
1482 | dasm_put(Dst, 5261); | ||
1483 | } else { | ||
1484 | dasm_put(Dst, 2219); | ||
1485 | } | ||
1486 | if (sse) { | ||
1487 | dasm_put(Dst, 5272, LJ_TISNUM); | ||
1488 | if (LJ_DUALNUM) { | ||
1489 | dasm_put(Dst, 5293); | ||
1490 | } else { | ||
1491 | dasm_put(Dst, 2219); | ||
1492 | } | ||
1493 | dasm_put(Dst, 5314); | ||
1494 | } else { | ||
1495 | dasm_put(Dst, 5339, LJ_TISNUM); | ||
1496 | if (LJ_DUALNUM) { | ||
1497 | dasm_put(Dst, 5357); | ||
1498 | } else { | ||
1499 | dasm_put(Dst, 5375); | ||
1500 | } | ||
1501 | dasm_put(Dst, 5380); | ||
1322 | if (cmov) { | 1502 | if (cmov) { |
1323 | dasm_put(Dst, 5177); | 1503 | dasm_put(Dst, 5390); |
1504 | } else { | ||
1505 | dasm_put(Dst, 5398); | ||
1506 | } | ||
1507 | dasm_put(Dst, 5331); | ||
1508 | } | ||
1509 | dasm_put(Dst, 5419, LJ_TISNUM); | ||
1510 | if (LJ_DUALNUM) { | ||
1511 | dasm_put(Dst, 5432, LJ_TISNUM); | ||
1512 | if (sse) { | ||
1513 | dasm_put(Dst, 4744); | ||
1324 | } else { | 1514 | } else { |
1325 | dasm_put(Dst, 5185); | 1515 | dasm_put(Dst, 4750); |
1326 | } | 1516 | } |
1327 | dasm_put(Dst, 5116); | 1517 | dasm_put(Dst, 5261); |
1518 | } else { | ||
1519 | dasm_put(Dst, 2219); | ||
1328 | } | 1520 | } |
1329 | if (sse) { | 1521 | if (sse) { |
1330 | dasm_put(Dst, 5206, 1+1, LJ_TISNUM, LJ_TISNUM); | 1522 | dasm_put(Dst, 5272, LJ_TISNUM); |
1523 | if (LJ_DUALNUM) { | ||
1524 | dasm_put(Dst, 5293); | ||
1525 | } else { | ||
1526 | dasm_put(Dst, 2219); | ||
1527 | } | ||
1528 | dasm_put(Dst, 5482); | ||
1529 | } else { | ||
1530 | dasm_put(Dst, 5339, LJ_TISNUM); | ||
1531 | if (LJ_DUALNUM) { | ||
1532 | dasm_put(Dst, 5357); | ||
1331 | } else { | 1533 | } else { |
1332 | dasm_put(Dst, 5277, 1+1, LJ_TISNUM, LJ_TISNUM); | 1534 | dasm_put(Dst, 5375); |
1535 | } | ||
1536 | dasm_put(Dst, 5380); | ||
1333 | if (cmov) { | 1537 | if (cmov) { |
1334 | dasm_put(Dst, 5330); | 1538 | dasm_put(Dst, 5507); |
1335 | } else { | 1539 | } else { |
1336 | dasm_put(Dst, 5338); | 1540 | dasm_put(Dst, 5515); |
1337 | } | 1541 | } |
1338 | dasm_put(Dst, 5116); | 1542 | dasm_put(Dst, 5331); |
1339 | } | 1543 | } |
1340 | if (!sse) { | 1544 | if (!sse) { |
1341 | dasm_put(Dst, 5359); | 1545 | dasm_put(Dst, 5536); |
1342 | } | 1546 | } |
1343 | dasm_put(Dst, 5368, 1+1, LJ_TSTR); | 1547 | dasm_put(Dst, 5545, 1+1, LJ_TSTR); |
1344 | if (sse) { | 1548 | if (LJ_DUALNUM) { |
1345 | dasm_put(Dst, 5390, Dt5(->len)); | 1549 | dasm_put(Dst, 5567, Dt5(->len)); |
1550 | } else if (sse) { | ||
1551 | dasm_put(Dst, 5575, Dt5(->len)); | ||
1346 | } else { | 1552 | } else { |
1347 | dasm_put(Dst, 5401, Dt5(->len)); | 1553 | dasm_put(Dst, 5586, Dt5(->len)); |
1348 | } | 1554 | } |
1349 | dasm_put(Dst, 5409, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1555 | dasm_put(Dst, 5594, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1350 | if (sse) { | 1556 | if (LJ_DUALNUM) { |
1351 | dasm_put(Dst, 5447); | 1557 | dasm_put(Dst, 3924); |
1558 | } else if (sse) { | ||
1559 | dasm_put(Dst, 5632); | ||
1352 | } else { | 1560 | } else { |
1353 | dasm_put(Dst, 5457); | 1561 | dasm_put(Dst, 5642); |
1354 | } | 1562 | } |
1355 | dasm_put(Dst, 5470, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1563 | dasm_put(Dst, 5655, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1356 | if (sse) { | 1564 | if (LJ_DUALNUM) { |
1357 | dasm_put(Dst, 5505); | 1565 | dasm_put(Dst, 5686); |
1566 | } else if (sse) { | ||
1567 | dasm_put(Dst, 5709); | ||
1358 | } else { | 1568 | } else { |
1359 | dasm_put(Dst, 5527); | 1569 | dasm_put(Dst, 5735); |
1360 | } | 1570 | } |
1361 | dasm_put(Dst, 5547, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1571 | dasm_put(Dst, 5759, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1362 | dasm_put(Dst, 2176); | 1572 | if (LJ_DUALNUM) { |
1363 | if (sse) { | 1573 | dasm_put(Dst, 5862); |
1364 | dasm_put(Dst, 5650); | 1574 | } else if (sse) { |
1575 | dasm_put(Dst, 5874); | ||
1365 | } else { | 1576 | } else { |
1366 | dasm_put(Dst, 5661); | 1577 | dasm_put(Dst, 5889); |
1367 | } | 1578 | } |
1368 | dasm_put(Dst, 5669, LJ_TSTR, LJ_TISNUM, Dt5(->len)); | 1579 | dasm_put(Dst, 5901, LJ_TSTR, LJ_TISNUM); |
1369 | if (sse) { | 1580 | if (LJ_DUALNUM) { |
1370 | dasm_put(Dst, 5699); | 1581 | dasm_put(Dst, 2492); |
1371 | } else { | 1582 | } else { |
1372 | dasm_put(Dst, 5706); | 1583 | dasm_put(Dst, 2219); |
1584 | } | ||
1585 | dasm_put(Dst, 5918, Dt5(->len)); | ||
1586 | if (LJ_DUALNUM) { | ||
1587 | dasm_put(Dst, 5928); | ||
1588 | } else if (sse) { | ||
1589 | dasm_put(Dst, 5932); | ||
1590 | } else { | ||
1591 | dasm_put(Dst, 5939); | ||
1592 | } | ||
1593 | dasm_put(Dst, 5951, sizeof(GCstr)-1); | ||
1594 | dasm_put(Dst, 6026, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1595 | dasm_put(Dst, 6085, LJ_TSTR, LJ_TISNUM); | ||
1596 | if (LJ_DUALNUM) { | ||
1597 | dasm_put(Dst, 6102); | ||
1598 | } else if (sse) { | ||
1599 | dasm_put(Dst, 6110); | ||
1600 | } else { | ||
1601 | dasm_put(Dst, 6121); | ||
1602 | } | ||
1603 | dasm_put(Dst, 6137, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1604 | dasm_put(Dst, 6202, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1605 | dasm_put(Dst, 6265, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | ||
1606 | dasm_put(Dst, 6336, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1607 | dasm_put(Dst, 6421, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1608 | dasm_put(Dst, 6491, 1+1, LJ_TTAB); | ||
1609 | if (LJ_DUALNUM) { | ||
1610 | dasm_put(Dst, 6559); | ||
1611 | } else if (sse) { | ||
1612 | dasm_put(Dst, 6566); | ||
1613 | } else { | ||
1614 | dasm_put(Dst, 6576); | ||
1615 | } | ||
1616 | dasm_put(Dst, 6587, LJ_TISNUM); | ||
1617 | if (LJ_DUALNUM) { | ||
1618 | dasm_put(Dst, 6595); | ||
1619 | } else { | ||
1620 | dasm_put(Dst, 2219); | ||
1373 | } | 1621 | } |
1374 | dasm_put(Dst, 5718, sizeof(GCstr)-1); | ||
1375 | dasm_put(Dst, 5793, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | ||
1376 | dasm_put(Dst, 5852, LJ_TSTR, LJ_TISNUM); | ||
1377 | if (sse) { | 1622 | if (sse) { |
1378 | dasm_put(Dst, 5873); | 1623 | dasm_put(Dst, 6612); |
1624 | } else { | ||
1625 | dasm_put(Dst, 6641); | ||
1626 | } | ||
1627 | dasm_put(Dst, 111); | ||
1628 | if (LJ_DUALNUM || sse) { | ||
1629 | if (!sse) { | ||
1630 | dasm_put(Dst, 6659); | ||
1631 | } | ||
1632 | dasm_put(Dst, 6663); | ||
1379 | } else { | 1633 | } else { |
1380 | dasm_put(Dst, 5880); | 1634 | dasm_put(Dst, 6579); |
1381 | } | 1635 | } |
1382 | dasm_put(Dst, 5892, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1636 | dasm_put(Dst, 6668); |
1383 | dasm_put(Dst, 5957, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1384 | dasm_put(Dst, 6020, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | ||
1385 | dasm_put(Dst, 6091, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | ||
1386 | dasm_put(Dst, 6176, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | ||
1387 | dasm_put(Dst, 6246, 1+1, LJ_TTAB); | ||
1388 | if (sse) { | 1637 | if (sse) { |
1389 | dasm_put(Dst, 6314); | 1638 | dasm_put(Dst, 6671); |
1639 | } else { | ||
1640 | dasm_put(Dst, 6686); | ||
1641 | } | ||
1642 | dasm_put(Dst, 2196, LJ_TISNUM); | ||
1643 | if (LJ_DUALNUM) { | ||
1644 | dasm_put(Dst, 6695); | ||
1390 | } else { | 1645 | } else { |
1391 | dasm_put(Dst, 6324); | 1646 | dasm_put(Dst, 2219); |
1392 | } | 1647 | } |
1393 | if (sse) { | 1648 | if (sse) { |
1394 | dasm_put(Dst, 6335, 1+1, LJ_TISNUM); | 1649 | dasm_put(Dst, 6712); |
1650 | } else { | ||
1651 | dasm_put(Dst, 6727); | ||
1652 | } | ||
1653 | dasm_put(Dst, 6740, LJ_TISNUM); | ||
1654 | if (LJ_DUALNUM) { | ||
1655 | dasm_put(Dst, 6765); | ||
1395 | } else { | 1656 | } else { |
1396 | dasm_put(Dst, 6392, 1+1, LJ_TISNUM); | 1657 | dasm_put(Dst, 6785); |
1397 | } | 1658 | } |
1398 | if (sse) { | 1659 | if (sse) { |
1399 | dasm_put(Dst, 6436, 1+1, LJ_TISNUM); | 1660 | dasm_put(Dst, 6790); |
1400 | } else { | 1661 | } else { |
1401 | dasm_put(Dst, 6484, 1+1, LJ_TISNUM); | 1662 | dasm_put(Dst, 6807); |
1402 | } | 1663 | } |
1403 | dasm_put(Dst, 6524, LJ_TISNUM); | 1664 | dasm_put(Dst, 6820); |
1404 | if (sse) { | 1665 | if (sse) { |
1405 | dasm_put(Dst, 6551); | 1666 | dasm_put(Dst, 6671); |
1667 | } else { | ||
1668 | dasm_put(Dst, 6686); | ||
1669 | } | ||
1670 | dasm_put(Dst, 2196, LJ_TISNUM); | ||
1671 | if (LJ_DUALNUM) { | ||
1672 | dasm_put(Dst, 6695); | ||
1406 | } else { | 1673 | } else { |
1407 | dasm_put(Dst, 6568); | 1674 | dasm_put(Dst, 2219); |
1408 | } | 1675 | } |
1409 | dasm_put(Dst, 6581); | ||
1410 | if (sse) { | 1676 | if (sse) { |
1411 | dasm_put(Dst, 6589, 1+1, LJ_TISNUM); | 1677 | dasm_put(Dst, 6712); |
1412 | } else { | 1678 | } else { |
1413 | dasm_put(Dst, 6637, 1+1, LJ_TISNUM); | 1679 | dasm_put(Dst, 6727); |
1680 | } | ||
1681 | dasm_put(Dst, 6740, LJ_TISNUM); | ||
1682 | if (LJ_DUALNUM) { | ||
1683 | dasm_put(Dst, 6830); | ||
1684 | } else { | ||
1685 | dasm_put(Dst, 6785); | ||
1414 | } | 1686 | } |
1415 | dasm_put(Dst, 6524, LJ_TISNUM); | ||
1416 | if (sse) { | 1687 | if (sse) { |
1417 | dasm_put(Dst, 6677); | 1688 | dasm_put(Dst, 6850); |
1418 | } else { | 1689 | } else { |
1419 | dasm_put(Dst, 6694); | 1690 | dasm_put(Dst, 6867); |
1420 | } | 1691 | } |
1421 | dasm_put(Dst, 6581); | 1692 | dasm_put(Dst, 6880); |
1422 | if (sse) { | 1693 | if (sse) { |
1423 | dasm_put(Dst, 6707, 1+1, LJ_TISNUM); | 1694 | dasm_put(Dst, 6671); |
1695 | } else { | ||
1696 | dasm_put(Dst, 6686); | ||
1697 | } | ||
1698 | dasm_put(Dst, 2196, LJ_TISNUM); | ||
1699 | if (LJ_DUALNUM) { | ||
1700 | dasm_put(Dst, 6695); | ||
1424 | } else { | 1701 | } else { |
1425 | dasm_put(Dst, 6755, 1+1, LJ_TISNUM); | 1702 | dasm_put(Dst, 2219); |
1426 | } | 1703 | } |
1427 | dasm_put(Dst, 6524, LJ_TISNUM); | ||
1428 | if (sse) { | 1704 | if (sse) { |
1429 | dasm_put(Dst, 6795); | 1705 | dasm_put(Dst, 6712); |
1430 | } else { | 1706 | } else { |
1431 | dasm_put(Dst, 6812); | 1707 | dasm_put(Dst, 6727); |
1708 | } | ||
1709 | dasm_put(Dst, 6740, LJ_TISNUM); | ||
1710 | if (LJ_DUALNUM) { | ||
1711 | dasm_put(Dst, 6890); | ||
1712 | } else { | ||
1713 | dasm_put(Dst, 6785); | ||
1432 | } | 1714 | } |
1433 | dasm_put(Dst, 6581); | ||
1434 | if (sse) { | 1715 | if (sse) { |
1435 | dasm_put(Dst, 6825, 1+1, LJ_TISNUM); | 1716 | dasm_put(Dst, 6910); |
1717 | } else { | ||
1718 | dasm_put(Dst, 6927); | ||
1719 | } | ||
1720 | dasm_put(Dst, 6940, LJ_TISNUM); | ||
1721 | if (LJ_DUALNUM) { | ||
1722 | dasm_put(Dst, 6695); | ||
1436 | } else { | 1723 | } else { |
1437 | dasm_put(Dst, 6873, 1+1, LJ_TISNUM); | 1724 | dasm_put(Dst, 2219); |
1438 | } | 1725 | } |
1439 | dasm_put(Dst, 6913); | ||
1440 | if (sse) { | 1726 | if (sse) { |
1441 | dasm_put(Dst, 6920, 1+1, LJ_TISNUM); | 1727 | dasm_put(Dst, 6612); |
1442 | } else { | 1728 | } else { |
1443 | dasm_put(Dst, 6968, 1+1, LJ_TISNUM); | 1729 | dasm_put(Dst, 6955); |
1730 | } | ||
1731 | dasm_put(Dst, 6976, LJ_TISNUM); | ||
1732 | if (LJ_DUALNUM) { | ||
1733 | dasm_put(Dst, 6695); | ||
1734 | } else { | ||
1735 | dasm_put(Dst, 2219); | ||
1444 | } | 1736 | } |
1445 | dasm_put(Dst, 7008); | ||
1446 | if (sse) { | 1737 | if (sse) { |
1447 | dasm_put(Dst, 7012); | 1738 | dasm_put(Dst, 6612); |
1739 | } else { | ||
1740 | dasm_put(Dst, 6955); | ||
1741 | } | ||
1742 | dasm_put(Dst, 6992); | ||
1743 | if (LJ_DUALNUM) { | ||
1744 | dasm_put(Dst, 6663); | ||
1745 | } else if (sse) { | ||
1746 | dasm_put(Dst, 6998); | ||
1448 | } else { | 1747 | } else { |
1449 | dasm_put(Dst, 7024); | 1748 | dasm_put(Dst, 7010); |
1749 | } | ||
1750 | dasm_put(Dst, 7023); | ||
1751 | if (LJ_DUALNUM) { | ||
1752 | dasm_put(Dst, 7034, LJ_TISNUM); | ||
1753 | if (LJ_DUALNUM) { | ||
1754 | dasm_put(Dst, 6695); | ||
1755 | } else { | ||
1756 | dasm_put(Dst, 2219); | ||
1450 | } | 1757 | } |
1451 | dasm_put(Dst, 7037); | ||
1452 | if (sse) { | 1758 | if (sse) { |
1453 | dasm_put(Dst, 7048, 2+1, LJ_TISNUM, LJ_TISNUM); | 1759 | dasm_put(Dst, 6612); |
1454 | } else { | 1760 | } else { |
1455 | dasm_put(Dst, 7122, 2+1, LJ_TISNUM, LJ_TISNUM); | 1761 | dasm_put(Dst, 6955); |
1762 | } | ||
1763 | dasm_put(Dst, 7042, LJ_TISNUM); | ||
1764 | } else if (sse) { | ||
1765 | dasm_put(Dst, 7057, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1766 | } else { | ||
1767 | dasm_put(Dst, 7129, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1768 | } | ||
1769 | dasm_put(Dst, 7193); | ||
1770 | if (LJ_DUALNUM) { | ||
1771 | dasm_put(Dst, 7200, LJ_TISNUM); | ||
1772 | if (LJ_DUALNUM) { | ||
1773 | dasm_put(Dst, 6695); | ||
1774 | } else { | ||
1775 | dasm_put(Dst, 2219); | ||
1456 | } | 1776 | } |
1457 | dasm_put(Dst, 7188); | ||
1458 | if (sse) { | 1777 | if (sse) { |
1459 | dasm_put(Dst, 7197, 2+1, LJ_TISNUM, LJ_TISNUM); | 1778 | dasm_put(Dst, 6612); |
1779 | } else { | ||
1780 | dasm_put(Dst, 6955); | ||
1781 | } | ||
1782 | dasm_put(Dst, 7042, LJ_TISNUM); | ||
1783 | } else if (sse) { | ||
1784 | dasm_put(Dst, 7208, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1460 | } else { | 1785 | } else { |
1461 | dasm_put(Dst, 7271, 2+1, LJ_TISNUM, LJ_TISNUM); | 1786 | dasm_put(Dst, 7280, 2+1, LJ_TISNUM, LJ_TISNUM); |
1787 | } | ||
1788 | dasm_put(Dst, 7344); | ||
1789 | if (LJ_DUALNUM) { | ||
1790 | dasm_put(Dst, 7352, LJ_TISNUM); | ||
1791 | if (LJ_DUALNUM) { | ||
1792 | dasm_put(Dst, 6695); | ||
1793 | } else { | ||
1794 | dasm_put(Dst, 2219); | ||
1462 | } | 1795 | } |
1463 | dasm_put(Dst, 7337); | ||
1464 | if (sse) { | 1796 | if (sse) { |
1465 | dasm_put(Dst, 7347, 2+1, LJ_TISNUM, LJ_TISNUM); | 1797 | dasm_put(Dst, 6612); |
1798 | } else { | ||
1799 | dasm_put(Dst, 6955); | ||
1800 | } | ||
1801 | dasm_put(Dst, 7042, LJ_TISNUM); | ||
1802 | } else if (sse) { | ||
1803 | dasm_put(Dst, 7360, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1804 | } else { | ||
1805 | dasm_put(Dst, 7432, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1806 | } | ||
1807 | dasm_put(Dst, 7496); | ||
1808 | if (LJ_DUALNUM) { | ||
1809 | dasm_put(Dst, 7504, LJ_TISNUM); | ||
1810 | if (LJ_DUALNUM) { | ||
1811 | dasm_put(Dst, 6695); | ||
1466 | } else { | 1812 | } else { |
1467 | dasm_put(Dst, 7421, 2+1, LJ_TISNUM, LJ_TISNUM); | 1813 | dasm_put(Dst, 2219); |
1468 | } | 1814 | } |
1469 | dasm_put(Dst, 7487); | ||
1470 | if (sse) { | 1815 | if (sse) { |
1471 | dasm_put(Dst, 7497, 2+1, LJ_TISNUM, LJ_TISNUM); | 1816 | dasm_put(Dst, 6612); |
1817 | } else { | ||
1818 | dasm_put(Dst, 6955); | ||
1819 | } | ||
1820 | dasm_put(Dst, 7042, LJ_TISNUM); | ||
1821 | } else if (sse) { | ||
1822 | dasm_put(Dst, 7512, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1472 | } else { | 1823 | } else { |
1473 | dasm_put(Dst, 7571, 2+1, LJ_TISNUM, LJ_TISNUM); | 1824 | dasm_put(Dst, 7584, 2+1, LJ_TISNUM, LJ_TISNUM); |
1825 | } | ||
1826 | dasm_put(Dst, 7648); | ||
1827 | if (LJ_DUALNUM) { | ||
1828 | dasm_put(Dst, 7655, LJ_TISNUM); | ||
1829 | if (LJ_DUALNUM) { | ||
1830 | dasm_put(Dst, 6695); | ||
1831 | } else { | ||
1832 | dasm_put(Dst, 2219); | ||
1474 | } | 1833 | } |
1475 | dasm_put(Dst, 7637); | ||
1476 | if (sse) { | 1834 | if (sse) { |
1477 | dasm_put(Dst, 7646, 2+1, LJ_TISNUM, LJ_TISNUM); | 1835 | dasm_put(Dst, 6612); |
1836 | } else { | ||
1837 | dasm_put(Dst, 6955); | ||
1838 | } | ||
1839 | dasm_put(Dst, 7042, LJ_TISNUM); | ||
1840 | } else if (sse) { | ||
1841 | dasm_put(Dst, 7663, 2+1, LJ_TISNUM, LJ_TISNUM); | ||
1478 | } else { | 1842 | } else { |
1479 | dasm_put(Dst, 7720, 2+1, LJ_TISNUM, LJ_TISNUM); | 1843 | dasm_put(Dst, 7735, 2+1, LJ_TISNUM, LJ_TISNUM); |
1480 | } | 1844 | } |
1481 | dasm_put(Dst, 7786, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1845 | dasm_put(Dst, 7799, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1482 | dasm_put(Dst, 7864, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1846 | dasm_put(Dst, 7875, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1483 | dasm_put(Dst, 7988, Dt1(->top), Dt1(->base), Dt1(->top)); | 1847 | dasm_put(Dst, 7999, Dt1(->top), Dt1(->base), Dt1(->top)); |
1484 | #if LJ_HASJIT | 1848 | #if LJ_HASJIT |
1485 | dasm_put(Dst, 8026, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1849 | dasm_put(Dst, 8037, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1486 | #endif | 1850 | #endif |
1487 | dasm_put(Dst, 8057, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1851 | dasm_put(Dst, 8068, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1488 | dasm_put(Dst, 8108, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1852 | dasm_put(Dst, 8119, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1489 | #if LJ_HASJIT | 1853 | #if LJ_HASJIT |
1490 | dasm_put(Dst, 8174, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1854 | dasm_put(Dst, 8185, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1491 | #endif | 1855 | #endif |
1492 | dasm_put(Dst, 8220); | 1856 | dasm_put(Dst, 8231); |
1493 | #if LJ_HASJIT | 1857 | #if LJ_HASJIT |
1494 | dasm_put(Dst, 8052); | 1858 | dasm_put(Dst, 8063); |
1495 | #endif | 1859 | #endif |
1496 | dasm_put(Dst, 8227); | 1860 | dasm_put(Dst, 8238); |
1497 | #if LJ_HASJIT | 1861 | #if LJ_HASJIT |
1498 | dasm_put(Dst, 8230); | 1862 | dasm_put(Dst, 8241); |
1499 | #endif | 1863 | #endif |
1500 | dasm_put(Dst, 8240, Dt1(->base), Dt1(->top)); | 1864 | dasm_put(Dst, 8251, Dt1(->base), Dt1(->top)); |
1501 | #if LJ_HASJIT | 1865 | #if LJ_HASJIT |
1502 | dasm_put(Dst, 8274); | 1866 | dasm_put(Dst, 8285); |
1503 | #endif | 1867 | #endif |
1504 | dasm_put(Dst, 8279, Dt1(->base), Dt1(->top)); | 1868 | dasm_put(Dst, 8290, Dt1(->base), Dt1(->top)); |
1505 | #if LJ_HASJIT | 1869 | #if LJ_HASJIT |
1506 | dasm_put(Dst, 8308, 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); | 1870 | dasm_put(Dst, 8319, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1507 | #endif | 1871 | #endif |
1508 | dasm_put(Dst, 8451); | 1872 | dasm_put(Dst, 8462); |
1509 | #if LJ_HASJIT | 1873 | #if LJ_HASJIT |
1510 | dasm_put(Dst, 8454, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1874 | dasm_put(Dst, 8465, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1511 | #endif | 1875 | #endif |
1512 | dasm_put(Dst, 8532); | 1876 | dasm_put(Dst, 8543); |
1513 | if (!sse) { | 1877 | if (!sse) { |
1514 | dasm_put(Dst, 8535); | 1878 | dasm_put(Dst, 8546); |
1515 | } | 1879 | } |
1516 | dasm_put(Dst, 8580); | 1880 | dasm_put(Dst, 8591); |
1517 | if (!sse) { | 1881 | if (!sse) { |
1518 | dasm_put(Dst, 8682); | 1882 | dasm_put(Dst, 8693); |
1519 | } | 1883 | } |
1520 | dasm_put(Dst, 8727); | 1884 | dasm_put(Dst, 8738); |
1521 | if (!sse) { | 1885 | if (!sse) { |
1522 | dasm_put(Dst, 8829); | 1886 | dasm_put(Dst, 8840); |
1523 | } | 1887 | } |
1524 | dasm_put(Dst, 8868); | 1888 | dasm_put(Dst, 8879); |
1525 | if (sse) { | 1889 | if (sse) { |
1526 | dasm_put(Dst, 8973); | 1890 | dasm_put(Dst, 8984); |
1527 | } else { | 1891 | } else { |
1528 | dasm_put(Dst, 9103); | 1892 | dasm_put(Dst, 9114); |
1529 | } | 1893 | } |
1530 | dasm_put(Dst, 9150); | 1894 | dasm_put(Dst, 9161); |
1531 | if (!sse) { | 1895 | if (!sse) { |
1532 | dasm_put(Dst, 9224); | ||
1533 | if (cmov) { | ||
1534 | dasm_put(Dst, 9235); | 1896 | dasm_put(Dst, 9235); |
1897 | if (cmov) { | ||
1898 | dasm_put(Dst, 9246); | ||
1535 | } else { | 1899 | } else { |
1536 | dasm_put(Dst, 9239); | 1900 | dasm_put(Dst, 9250); |
1537 | } | 1901 | } |
1538 | dasm_put(Dst, 9246); | 1902 | dasm_put(Dst, 9257); |
1539 | dasm_put(Dst, 9320); | 1903 | dasm_put(Dst, 9331); |
1540 | dasm_put(Dst, 9420); | 1904 | dasm_put(Dst, 9431); |
1541 | if (cmov) { | 1905 | if (cmov) { |
1542 | dasm_put(Dst, 9423); | 1906 | dasm_put(Dst, 9434); |
1543 | } else { | 1907 | } else { |
1544 | dasm_put(Dst, 9427); | 1908 | dasm_put(Dst, 9438); |
1545 | } | 1909 | } |
1546 | dasm_put(Dst, 9434); | 1910 | dasm_put(Dst, 9445); |
1547 | if (cmov) { | 1911 | if (cmov) { |
1548 | dasm_put(Dst, 9235); | 1912 | dasm_put(Dst, 9246); |
1549 | } else { | 1913 | } else { |
1550 | dasm_put(Dst, 9239); | 1914 | dasm_put(Dst, 9250); |
1551 | } | 1915 | } |
1552 | dasm_put(Dst, 9452); | 1916 | dasm_put(Dst, 9463); |
1553 | } else { | 1917 | } else { |
1554 | dasm_put(Dst, 9531); | 1918 | dasm_put(Dst, 9542); |
1555 | } | 1919 | } |
1556 | dasm_put(Dst, 9534); | 1920 | dasm_put(Dst, 9545); |
1557 | dasm_put(Dst, 9619); | 1921 | dasm_put(Dst, 9630); |
1558 | dasm_put(Dst, 9749); | 1922 | dasm_put(Dst, 9760); |
1559 | dasm_put(Dst, 9955); | 1923 | dasm_put(Dst, 9966); |
1560 | #if LJ_HASJIT | 1924 | #if LJ_HASJIT |
1561 | if (sse) { | 1925 | if (sse) { |
1562 | dasm_put(Dst, 9962); | 1926 | dasm_put(Dst, 9973); |
1563 | dasm_put(Dst, 10019); | 1927 | dasm_put(Dst, 10030); |
1564 | dasm_put(Dst, 10110); | 1928 | dasm_put(Dst, 10121); |
1565 | } else { | 1929 | } else { |
1566 | dasm_put(Dst, 10152); | 1930 | dasm_put(Dst, 10163); |
1567 | dasm_put(Dst, 10244); | 1931 | dasm_put(Dst, 10255); |
1568 | } | 1932 | } |
1569 | dasm_put(Dst, 10290); | 1933 | dasm_put(Dst, 10301); |
1570 | #endif | 1934 | #endif |
1571 | dasm_put(Dst, 10294); | 1935 | dasm_put(Dst, 10305); |
1572 | if (sse) { | 1936 | if (sse) { |
1573 | dasm_put(Dst, 10297); | 1937 | dasm_put(Dst, 10308); |
1574 | dasm_put(Dst, 10402); | 1938 | dasm_put(Dst, 10413); |
1575 | dasm_put(Dst, 10485); | 1939 | dasm_put(Dst, 10496); |
1576 | } else { | 1940 | } else { |
1577 | dasm_put(Dst, 10557); | 1941 | dasm_put(Dst, 10568); |
1578 | dasm_put(Dst, 10640); | 1942 | dasm_put(Dst, 10651); |
1579 | if (cmov) { | 1943 | if (cmov) { |
1580 | dasm_put(Dst, 10695); | 1944 | dasm_put(Dst, 10706); |
1581 | } else { | 1945 | } else { |
1582 | dasm_put(Dst, 10714); | 1946 | dasm_put(Dst, 10725); |
1583 | } | 1947 | } |
1584 | dasm_put(Dst, 10290); | 1948 | dasm_put(Dst, 10301); |
1585 | } | 1949 | } |
1586 | dasm_put(Dst, 10755); | 1950 | dasm_put(Dst, 10766); |
1587 | #if LJ_HASFFI | 1951 | #if LJ_HASFFI |
1588 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 1952 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
1589 | dasm_put(Dst, 10811, DtE(->spadj)); | 1953 | dasm_put(Dst, 10822, DtE(->spadj)); |
1590 | #if LJ_TARGET_WINDOWS | 1954 | #if LJ_TARGET_WINDOWS |
1591 | dasm_put(Dst, 10821, DtE(->spadj)); | 1955 | dasm_put(Dst, 10832, DtE(->spadj)); |
1592 | #endif | 1956 | #endif |
1593 | dasm_put(Dst, 10825, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); | 1957 | dasm_put(Dst, 10836, DtE(->nsp), offsetof(CCallState, stack), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->resx87), DtE(->fpr[0].d[0])); |
1594 | dasm_put(Dst, 10895, DtE(->fpr[0].f[0])); | 1958 | dasm_put(Dst, 10906, DtE(->fpr[0].f[0])); |
1595 | #if LJ_TARGET_WINDOWS | 1959 | #if LJ_TARGET_WINDOWS |
1596 | dasm_put(Dst, 10901, DtE(->spadj)); | 1960 | dasm_put(Dst, 10912, DtE(->spadj)); |
1597 | #endif | 1961 | #endif |
1598 | dasm_put(Dst, 10905); | 1962 | dasm_put(Dst, 10916); |
1599 | #endif | 1963 | #endif |
1600 | } | 1964 | } |
1601 | 1965 | ||
@@ -1603,7 +1967,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1603 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1967 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1604 | { | 1968 | { |
1605 | int vk = 0; | 1969 | int vk = 0; |
1606 | dasm_put(Dst, 10912, defop); | 1970 | dasm_put(Dst, 10923, defop); |
1607 | 1971 | ||
1608 | switch (op) { | 1972 | switch (op) { |
1609 | 1973 | ||
@@ -1611,658 +1975,922 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1611 | 1975 | ||
1612 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1976 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1613 | 1977 | ||
1978 | |||
1614 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1979 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1615 | dasm_put(Dst, 10914, LJ_TISNUM, LJ_TISNUM); | 1980 | if (LJ_DUALNUM) { |
1981 | dasm_put(Dst, 10925, LJ_TISNUM, LJ_TISNUM); | ||
1982 | switch (op) { | ||
1983 | case BC_ISLT: | ||
1984 | dasm_put(Dst, 10955); | ||
1985 | break; | ||
1986 | case BC_ISGE: | ||
1987 | dasm_put(Dst, 10960); | ||
1988 | break; | ||
1989 | case BC_ISLE: | ||
1990 | dasm_put(Dst, 10965); | ||
1991 | break; | ||
1992 | case BC_ISGT: | ||
1993 | dasm_put(Dst, 10970); | ||
1994 | break; | ||
1995 | default: break; /* Shut up GCC. */ | ||
1996 | } | ||
1997 | dasm_put(Dst, 10975, -BCBIAS_J*4, LJ_TISNUM); | ||
1998 | if (sse) { | ||
1999 | dasm_put(Dst, 11028); | ||
2000 | } else { | ||
2001 | dasm_put(Dst, 11039); | ||
2002 | } | ||
2003 | dasm_put(Dst, 11050); | ||
2004 | if (sse) { | ||
2005 | dasm_put(Dst, 11057); | ||
2006 | switch (op) { | ||
2007 | case BC_ISLT: | ||
2008 | dasm_put(Dst, 11077); | ||
2009 | break; | ||
2010 | case BC_ISGE: | ||
2011 | dasm_put(Dst, 11082); | ||
2012 | break; | ||
2013 | case BC_ISLE: | ||
2014 | dasm_put(Dst, 11087); | ||
2015 | break; | ||
2016 | case BC_ISGT: | ||
2017 | dasm_put(Dst, 11092); | ||
2018 | break; | ||
2019 | default: break; /* Shut up GCC. */ | ||
2020 | } | ||
2021 | dasm_put(Dst, 11097); | ||
2022 | } else { | ||
2023 | dasm_put(Dst, 11102); | ||
2024 | } | ||
2025 | } else { | ||
2026 | dasm_put(Dst, 11110, LJ_TISNUM, LJ_TISNUM); | ||
2027 | } | ||
1616 | if (sse) { | 2028 | if (sse) { |
1617 | dasm_put(Dst, 10935); | 2029 | dasm_put(Dst, 11131); |
1618 | } else { | 2030 | } else { |
1619 | dasm_put(Dst, 10950); | 2031 | dasm_put(Dst, 11152); |
1620 | if (cmov) { | 2032 | if (cmov) { |
1621 | dasm_put(Dst, 10960); | 2033 | dasm_put(Dst, 3899); |
1622 | } else { | 2034 | } else { |
1623 | dasm_put(Dst, 10966); | 2035 | dasm_put(Dst, 3905); |
1624 | } | 2036 | } |
1625 | } | 2037 | } |
1626 | switch (op) { | 2038 | if (LJ_DUALNUM) { |
1627 | case BC_ISLT: | 2039 | switch (op) { |
1628 | dasm_put(Dst, 10973); | 2040 | case BC_ISLT: |
2041 | dasm_put(Dst, 11077); | ||
2042 | break; | ||
2043 | case BC_ISGE: | ||
2044 | dasm_put(Dst, 11082); | ||
2045 | break; | ||
2046 | case BC_ISLE: | ||
2047 | dasm_put(Dst, 11087); | ||
2048 | break; | ||
2049 | case BC_ISGT: | ||
2050 | dasm_put(Dst, 11092); | ||
1629 | break; | 2051 | break; |
1630 | case BC_ISGE: | 2052 | default: break; /* Shut up GCC. */ |
1631 | dasm_put(Dst, 10105); | 2053 | } |
2054 | dasm_put(Dst, 11097); | ||
2055 | } else { | ||
2056 | switch (op) { | ||
2057 | case BC_ISLT: | ||
2058 | dasm_put(Dst, 11168); | ||
1632 | break; | 2059 | break; |
1633 | case BC_ISLE: | 2060 | case BC_ISGE: |
1634 | dasm_put(Dst, 6241); | 2061 | dasm_put(Dst, 11173); |
1635 | break; | 2062 | break; |
1636 | case BC_ISGT: | 2063 | case BC_ISLE: |
1637 | dasm_put(Dst, 10978); | 2064 | dasm_put(Dst, 11178); |
1638 | break; | 2065 | break; |
1639 | default: break; /* Shut up GCC. */ | 2066 | case BC_ISGT: |
2067 | dasm_put(Dst, 11183); | ||
2068 | break; | ||
2069 | default: break; /* Shut up GCC. */ | ||
2070 | } | ||
2071 | dasm_put(Dst, 11188, -BCBIAS_J*4); | ||
1640 | } | 2072 | } |
1641 | dasm_put(Dst, 10983, -BCBIAS_J*4); | ||
1642 | break; | 2073 | break; |
1643 | 2074 | ||
1644 | case BC_ISEQV: case BC_ISNEV: | 2075 | case BC_ISEQV: case BC_ISNEV: |
1645 | vk = op == BC_ISEQV; | 2076 | vk = op == BC_ISEQV; |
1646 | dasm_put(Dst, 11016, LJ_TISNUM, LJ_TISNUM); | 2077 | dasm_put(Dst, 11219); |
2078 | if (LJ_DUALNUM) { | ||
2079 | dasm_put(Dst, 11227, LJ_TISNUM, LJ_TISNUM); | ||
2080 | if (vk) { | ||
2081 | dasm_put(Dst, 11252); | ||
2082 | } else { | ||
2083 | dasm_put(Dst, 11257); | ||
2084 | } | ||
2085 | dasm_put(Dst, 11262, -BCBIAS_J*4, LJ_TISNUM); | ||
2086 | if (sse) { | ||
2087 | dasm_put(Dst, 11313); | ||
2088 | } else { | ||
2089 | dasm_put(Dst, 11320); | ||
2090 | } | ||
2091 | dasm_put(Dst, 11324); | ||
2092 | if (sse) { | ||
2093 | dasm_put(Dst, 11335); | ||
2094 | } else { | ||
2095 | dasm_put(Dst, 11347); | ||
2096 | } | ||
2097 | dasm_put(Dst, 11354); | ||
2098 | } else { | ||
2099 | dasm_put(Dst, 11359, LJ_TISNUM, LJ_TISNUM); | ||
2100 | } | ||
1647 | if (sse) { | 2101 | if (sse) { |
1648 | dasm_put(Dst, 11042); | 2102 | dasm_put(Dst, 11378); |
1649 | } else { | 2103 | } else { |
1650 | dasm_put(Dst, 11054); | 2104 | dasm_put(Dst, 11396); |
1651 | if (cmov) { | 2105 | if (cmov) { |
1652 | dasm_put(Dst, 10960); | 2106 | dasm_put(Dst, 3899); |
1653 | } else { | 2107 | } else { |
1654 | dasm_put(Dst, 10966); | 2108 | dasm_put(Dst, 3905); |
1655 | } | 2109 | } |
1656 | } | 2110 | } |
1657 | iseqne_fp: | 2111 | iseqne_fp: |
1658 | if (vk) { | 2112 | if (vk) { |
1659 | dasm_put(Dst, 11061); | 2113 | dasm_put(Dst, 11409); |
1660 | } else { | 2114 | } else { |
1661 | dasm_put(Dst, 11070); | 2115 | dasm_put(Dst, 11418); |
1662 | } | 2116 | } |
1663 | iseqne_end: | 2117 | iseqne_end: |
1664 | if (vk) { | 2118 | if (vk) { |
1665 | dasm_put(Dst, 11079, -BCBIAS_J*4); | 2119 | dasm_put(Dst, 11427, -BCBIAS_J*4); |
1666 | if (!LJ_HASFFI) { | 2120 | if (!LJ_HASFFI) { |
1667 | dasm_put(Dst, 4654); | 2121 | dasm_put(Dst, 4799); |
1668 | } | 2122 | } |
1669 | } else { | 2123 | } else { |
1670 | if (!LJ_HASFFI) { | 2124 | if (!LJ_HASFFI) { |
1671 | dasm_put(Dst, 4654); | 2125 | dasm_put(Dst, 4799); |
1672 | } | 2126 | } |
1673 | dasm_put(Dst, 11094, -BCBIAS_J*4); | 2127 | dasm_put(Dst, 11442, -BCBIAS_J*4); |
2128 | } | ||
2129 | if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV || | ||
2130 | op == BC_ISEQN || op == BC_ISNEN)) { | ||
2131 | dasm_put(Dst, 11457); | ||
2132 | } else { | ||
2133 | dasm_put(Dst, 11200); | ||
1674 | } | 2134 | } |
1675 | dasm_put(Dst, 10997); | ||
1676 | if (op == BC_ISEQV || op == BC_ISNEV) { | 2135 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1677 | dasm_put(Dst, 11109); | 2136 | dasm_put(Dst, 11462); |
1678 | if (LJ_HASFFI) { | 2137 | if (LJ_HASFFI) { |
1679 | dasm_put(Dst, 11112, LJ_TCDATA, LJ_TCDATA); | 2138 | dasm_put(Dst, 11465, LJ_TCDATA, LJ_TCDATA); |
1680 | } | 2139 | } |
1681 | dasm_put(Dst, 11131, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 2140 | dasm_put(Dst, 11484, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1682 | if (vk) { | 2141 | if (vk) { |
1683 | dasm_put(Dst, 11187); | 2142 | dasm_put(Dst, 11540); |
1684 | } else { | 2143 | } else { |
1685 | dasm_put(Dst, 11191); | 2144 | dasm_put(Dst, 11544); |
1686 | } | 2145 | } |
1687 | dasm_put(Dst, 11197); | 2146 | dasm_put(Dst, 11550); |
1688 | } else if (LJ_HASFFI) { | 2147 | } else if (LJ_HASFFI) { |
1689 | dasm_put(Dst, 11202, LJ_TCDATA); | 2148 | dasm_put(Dst, 11555, LJ_TCDATA); |
2149 | if (LJ_DUALNUM && vk) { | ||
2150 | dasm_put(Dst, 11562); | ||
2151 | } else { | ||
2152 | dasm_put(Dst, 11535); | ||
2153 | } | ||
2154 | dasm_put(Dst, 11567); | ||
1690 | } | 2155 | } |
1691 | break; | 2156 | break; |
1692 | case BC_ISEQS: case BC_ISNES: | 2157 | case BC_ISEQS: case BC_ISNES: |
1693 | vk = op == BC_ISEQS; | 2158 | vk = op == BC_ISEQS; |
1694 | dasm_put(Dst, 11217, LJ_TSTR); | 2159 | dasm_put(Dst, 11572, LJ_TSTR); |
1695 | iseqne_test: | 2160 | iseqne_test: |
1696 | if (vk) { | 2161 | if (vk) { |
1697 | dasm_put(Dst, 11065); | 2162 | dasm_put(Dst, 11413); |
1698 | } else { | 2163 | } else { |
1699 | dasm_put(Dst, 2863); | 2164 | dasm_put(Dst, 2917); |
1700 | } | 2165 | } |
1701 | goto iseqne_end; | 2166 | goto iseqne_end; |
1702 | case BC_ISEQN: case BC_ISNEN: | 2167 | case BC_ISEQN: case BC_ISNEN: |
1703 | vk = op == BC_ISEQN; | 2168 | vk = op == BC_ISEQN; |
1704 | dasm_put(Dst, 11242, LJ_TISNUM); | 2169 | dasm_put(Dst, 11597); |
2170 | if (LJ_DUALNUM) { | ||
2171 | dasm_put(Dst, 11605, LJ_TISNUM, LJ_TISNUM); | ||
2172 | if (vk) { | ||
2173 | dasm_put(Dst, 11252); | ||
2174 | } else { | ||
2175 | dasm_put(Dst, 11257); | ||
2176 | } | ||
2177 | dasm_put(Dst, 11630, -BCBIAS_J*4, LJ_TISNUM); | ||
2178 | if (sse) { | ||
2179 | dasm_put(Dst, 11677); | ||
2180 | } else { | ||
2181 | dasm_put(Dst, 11684); | ||
2182 | } | ||
2183 | dasm_put(Dst, 11688); | ||
2184 | if (sse) { | ||
2185 | dasm_put(Dst, 11695); | ||
2186 | } else { | ||
2187 | dasm_put(Dst, 11707); | ||
2188 | } | ||
2189 | dasm_put(Dst, 11354); | ||
2190 | } else { | ||
2191 | dasm_put(Dst, 11714, LJ_TISNUM); | ||
2192 | } | ||
1705 | if (sse) { | 2193 | if (sse) { |
1706 | dasm_put(Dst, 11258); | 2194 | dasm_put(Dst, 11723); |
1707 | } else { | 2195 | } else { |
1708 | dasm_put(Dst, 11270); | 2196 | dasm_put(Dst, 11741); |
1709 | if (cmov) { | 2197 | if (cmov) { |
1710 | dasm_put(Dst, 10960); | 2198 | dasm_put(Dst, 3899); |
1711 | } else { | 2199 | } else { |
1712 | dasm_put(Dst, 10966); | 2200 | dasm_put(Dst, 3905); |
1713 | } | 2201 | } |
2202 | dasm_put(Dst, 4818); | ||
1714 | } | 2203 | } |
1715 | goto iseqne_fp; | 2204 | goto iseqne_fp; |
1716 | case BC_ISEQP: case BC_ISNEP: | 2205 | case BC_ISEQP: case BC_ISNEP: |
1717 | vk = op == BC_ISEQP; | 2206 | vk = op == BC_ISEQP; |
1718 | dasm_put(Dst, 11277); | 2207 | dasm_put(Dst, 11752); |
1719 | if (!LJ_HASFFI) goto iseqne_test; | 2208 | if (!LJ_HASFFI) goto iseqne_test; |
1720 | if (vk) { | 2209 | if (vk) { |
1721 | dasm_put(Dst, 11290, -BCBIAS_J*4, LJ_TCDATA); | 2210 | dasm_put(Dst, 11765, -BCBIAS_J*4, LJ_TCDATA); |
1722 | } else { | 2211 | } else { |
1723 | dasm_put(Dst, 11339, LJ_TCDATA, -BCBIAS_J*4); | 2212 | dasm_put(Dst, 11814, LJ_TCDATA, -BCBIAS_J*4); |
1724 | } | 2213 | } |
1725 | break; | 2214 | break; |
1726 | 2215 | ||
1727 | /* -- Unary test and copy ops ------------------------------------------- */ | 2216 | /* -- Unary test and copy ops ------------------------------------------- */ |
1728 | 2217 | ||
1729 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 2218 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1730 | dasm_put(Dst, 11382, LJ_TISTRUECOND); | 2219 | dasm_put(Dst, 11857, LJ_TISTRUECOND); |
1731 | if (op == BC_IST || op == BC_ISTC) { | 2220 | if (op == BC_IST || op == BC_ISTC) { |
1732 | dasm_put(Dst, 11394); | 2221 | dasm_put(Dst, 11183); |
1733 | } else { | 2222 | } else { |
1734 | dasm_put(Dst, 11399); | 2223 | dasm_put(Dst, 11178); |
1735 | } | 2224 | } |
1736 | if (op == BC_ISTC || op == BC_ISFC) { | 2225 | if (op == BC_ISTC || op == BC_ISFC) { |
1737 | dasm_put(Dst, 11404); | 2226 | dasm_put(Dst, 11869); |
1738 | } | 2227 | } |
1739 | dasm_put(Dst, 11415, -BCBIAS_J*4); | 2228 | dasm_put(Dst, 11188, -BCBIAS_J*4); |
1740 | break; | 2229 | break; |
1741 | 2230 | ||
1742 | /* -- Unary ops --------------------------------------------------------- */ | 2231 | /* -- Unary ops --------------------------------------------------------- */ |
1743 | 2232 | ||
1744 | case BC_MOV: | 2233 | case BC_MOV: |
1745 | dasm_put(Dst, 11446); | 2234 | dasm_put(Dst, 11880); |
1746 | break; | 2235 | break; |
1747 | case BC_NOT: | 2236 | case BC_NOT: |
1748 | dasm_put(Dst, 11479, LJ_TISTRUECOND, LJ_TTRUE); | 2237 | dasm_put(Dst, 11913, LJ_TISTRUECOND, LJ_TTRUE); |
1749 | break; | 2238 | break; |
1750 | case BC_UNM: | 2239 | case BC_UNM: |
1751 | dasm_put(Dst, 11514, LJ_TISNUM); | 2240 | if (LJ_DUALNUM) { |
2241 | dasm_put(Dst, 11948, LJ_TISNUM, LJ_TISNUM); | ||
2242 | } else { | ||
2243 | dasm_put(Dst, 12024, LJ_TISNUM); | ||
2244 | } | ||
1752 | if (sse) { | 2245 | if (sse) { |
1753 | dasm_put(Dst, 11525); | 2246 | dasm_put(Dst, 12035); |
1754 | } else { | 2247 | } else { |
1755 | dasm_put(Dst, 11555); | 2248 | dasm_put(Dst, 12065); |
2249 | } | ||
2250 | if (LJ_DUALNUM) { | ||
2251 | dasm_put(Dst, 11457); | ||
2252 | } else { | ||
2253 | dasm_put(Dst, 11200); | ||
1756 | } | 2254 | } |
1757 | dasm_put(Dst, 10997); | ||
1758 | break; | 2255 | break; |
1759 | case BC_LEN: | 2256 | case BC_LEN: |
1760 | dasm_put(Dst, 11564, LJ_TSTR); | 2257 | dasm_put(Dst, 12074, LJ_TSTR); |
1761 | if (sse) { | 2258 | if (LJ_DUALNUM) { |
1762 | dasm_put(Dst, 11578, Dt5(->len)); | 2259 | dasm_put(Dst, 12088, Dt5(->len), LJ_TISNUM); |
2260 | } else if (sse) { | ||
2261 | dasm_put(Dst, 12102, Dt5(->len)); | ||
1763 | } else { | 2262 | } else { |
1764 | dasm_put(Dst, 11596, Dt5(->len)); | 2263 | dasm_put(Dst, 12120, Dt5(->len)); |
1765 | } | 2264 | } |
1766 | dasm_put(Dst, 11605, LJ_TTAB); | 2265 | dasm_put(Dst, 12129, LJ_TTAB); |
1767 | if (sse) { | 2266 | if (LJ_DUALNUM) { |
1768 | dasm_put(Dst, 11645); | 2267 | } else if (sse) { |
2268 | dasm_put(Dst, 12169); | ||
1769 | } else { | 2269 | } else { |
1770 | dasm_put(Dst, 11654); | 2270 | dasm_put(Dst, 12175); |
1771 | } | 2271 | } |
1772 | dasm_put(Dst, 11664); | 2272 | dasm_put(Dst, 12182); |
1773 | break; | 2273 | break; |
1774 | 2274 | ||
1775 | /* -- Binary ops -------------------------------------------------------- */ | 2275 | /* -- Binary ops -------------------------------------------------------- */ |
1776 | 2276 | ||
1777 | 2277 | ||
1778 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 2278 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1779 | dasm_put(Dst, 11674); | 2279 | if (LJ_DUALNUM) { |
2280 | dasm_put(Dst, 12195); | ||
1780 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2281 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1781 | switch (vk) { | 2282 | switch (vk) { |
1782 | case 0: | 2283 | case 0: |
1783 | dasm_put(Dst, 11682, LJ_TISNUM); | 2284 | dasm_put(Dst, 12203, LJ_TISNUM, LJ_TISNUM); |
2285 | break; | ||
2286 | case 1: | ||
2287 | dasm_put(Dst, 12236, LJ_TISNUM, LJ_TISNUM); | ||
2288 | break; | ||
2289 | default: | ||
2290 | dasm_put(Dst, 12269, LJ_TISNUM, LJ_TISNUM); | ||
2291 | break; | ||
2292 | } | ||
2293 | dasm_put(Dst, 12302, LJ_TISNUM); | ||
2294 | if (vk == 1) { | ||
2295 | dasm_put(Dst, 12098); | ||
2296 | } else { | ||
2297 | dasm_put(Dst, 11876); | ||
2298 | } | ||
2299 | dasm_put(Dst, 11200); | ||
2300 | } else { | ||
2301 | dasm_put(Dst, 12195); | ||
2302 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2303 | switch (vk) { | ||
2304 | case 0: | ||
2305 | dasm_put(Dst, 12308, LJ_TISNUM); | ||
2306 | if (LJ_DUALNUM) { | ||
2307 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2308 | } | ||
1784 | if (sse) { | 2309 | if (sse) { |
1785 | dasm_put(Dst, 11694); | 2310 | dasm_put(Dst, 12331); |
1786 | } else { | 2311 | } else { |
1787 | dasm_put(Dst, 11708); | 2312 | dasm_put(Dst, 12345); |
1788 | } | 2313 | } |
1789 | break; | 2314 | break; |
1790 | case 1: | 2315 | case 1: |
1791 | dasm_put(Dst, 11716, LJ_TISNUM); | 2316 | dasm_put(Dst, 12353, LJ_TISNUM); |
2317 | if (LJ_DUALNUM) { | ||
2318 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2319 | } | ||
1792 | if (sse) { | 2320 | if (sse) { |
1793 | dasm_put(Dst, 11728); | 2321 | dasm_put(Dst, 12376); |
1794 | } else { | 2322 | } else { |
1795 | dasm_put(Dst, 11742); | 2323 | dasm_put(Dst, 12390); |
1796 | } | 2324 | } |
1797 | break; | 2325 | break; |
1798 | default: | 2326 | default: |
1799 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2327 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1800 | if (sse) { | 2328 | if (sse) { |
1801 | dasm_put(Dst, 11772); | 2329 | dasm_put(Dst, 12420); |
1802 | } else { | 2330 | } else { |
1803 | dasm_put(Dst, 11786); | 2331 | dasm_put(Dst, 12434); |
1804 | } | 2332 | } |
1805 | break; | 2333 | break; |
1806 | } | 2334 | } |
1807 | if (sse) { | 2335 | if (sse) { |
1808 | dasm_put(Dst, 11548); | 2336 | dasm_put(Dst, 12058); |
1809 | } else { | 2337 | } else { |
1810 | dasm_put(Dst, 11560); | 2338 | dasm_put(Dst, 12070); |
2339 | } | ||
2340 | dasm_put(Dst, 11200); | ||
1811 | } | 2341 | } |
1812 | dasm_put(Dst, 10997); | ||
1813 | break; | 2342 | break; |
1814 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 2343 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1815 | dasm_put(Dst, 11674); | 2344 | if (LJ_DUALNUM) { |
2345 | dasm_put(Dst, 12195); | ||
1816 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2346 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1817 | switch (vk) { | 2347 | switch (vk) { |
1818 | case 0: | 2348 | case 0: |
1819 | dasm_put(Dst, 11682, LJ_TISNUM); | 2349 | dasm_put(Dst, 12442, LJ_TISNUM, LJ_TISNUM); |
2350 | break; | ||
2351 | case 1: | ||
2352 | dasm_put(Dst, 12475, LJ_TISNUM, LJ_TISNUM); | ||
2353 | break; | ||
2354 | default: | ||
2355 | dasm_put(Dst, 12508, LJ_TISNUM, LJ_TISNUM); | ||
2356 | break; | ||
2357 | } | ||
2358 | dasm_put(Dst, 12302, LJ_TISNUM); | ||
2359 | if (vk == 1) { | ||
2360 | dasm_put(Dst, 12098); | ||
2361 | } else { | ||
2362 | dasm_put(Dst, 11876); | ||
2363 | } | ||
2364 | dasm_put(Dst, 11200); | ||
2365 | } else { | ||
2366 | dasm_put(Dst, 12195); | ||
2367 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2368 | switch (vk) { | ||
2369 | case 0: | ||
2370 | dasm_put(Dst, 12308, LJ_TISNUM); | ||
2371 | if (LJ_DUALNUM) { | ||
2372 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2373 | } | ||
1820 | if (sse) { | 2374 | if (sse) { |
1821 | dasm_put(Dst, 11794); | 2375 | dasm_put(Dst, 12541); |
1822 | } else { | 2376 | } else { |
1823 | dasm_put(Dst, 11808); | 2377 | dasm_put(Dst, 12555); |
1824 | } | 2378 | } |
1825 | break; | 2379 | break; |
1826 | case 1: | 2380 | case 1: |
1827 | dasm_put(Dst, 11716, LJ_TISNUM); | 2381 | dasm_put(Dst, 12353, LJ_TISNUM); |
2382 | if (LJ_DUALNUM) { | ||
2383 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2384 | } | ||
1828 | if (sse) { | 2385 | if (sse) { |
1829 | dasm_put(Dst, 11816); | 2386 | dasm_put(Dst, 12563); |
1830 | } else { | 2387 | } else { |
1831 | dasm_put(Dst, 11830); | 2388 | dasm_put(Dst, 12577); |
1832 | } | 2389 | } |
1833 | break; | 2390 | break; |
1834 | default: | 2391 | default: |
1835 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2392 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1836 | if (sse) { | 2393 | if (sse) { |
1837 | dasm_put(Dst, 11838); | 2394 | dasm_put(Dst, 12585); |
1838 | } else { | 2395 | } else { |
1839 | dasm_put(Dst, 11852); | 2396 | dasm_put(Dst, 12599); |
1840 | } | 2397 | } |
1841 | break; | 2398 | break; |
1842 | } | 2399 | } |
1843 | if (sse) { | 2400 | if (sse) { |
1844 | dasm_put(Dst, 11548); | 2401 | dasm_put(Dst, 12058); |
1845 | } else { | 2402 | } else { |
1846 | dasm_put(Dst, 11560); | 2403 | dasm_put(Dst, 12070); |
2404 | } | ||
2405 | dasm_put(Dst, 11200); | ||
1847 | } | 2406 | } |
1848 | dasm_put(Dst, 10997); | ||
1849 | break; | 2407 | break; |
1850 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 2408 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1851 | dasm_put(Dst, 11674); | 2409 | if (LJ_DUALNUM) { |
2410 | dasm_put(Dst, 12195); | ||
1852 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2411 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1853 | switch (vk) { | 2412 | switch (vk) { |
1854 | case 0: | 2413 | case 0: |
1855 | dasm_put(Dst, 11682, LJ_TISNUM); | 2414 | dasm_put(Dst, 12607, LJ_TISNUM, LJ_TISNUM); |
2415 | break; | ||
2416 | case 1: | ||
2417 | dasm_put(Dst, 12641, LJ_TISNUM, LJ_TISNUM); | ||
2418 | break; | ||
2419 | default: | ||
2420 | dasm_put(Dst, 12675, LJ_TISNUM, LJ_TISNUM); | ||
2421 | break; | ||
2422 | } | ||
2423 | dasm_put(Dst, 12302, LJ_TISNUM); | ||
2424 | if (vk == 1) { | ||
2425 | dasm_put(Dst, 12098); | ||
2426 | } else { | ||
2427 | dasm_put(Dst, 11876); | ||
2428 | } | ||
2429 | dasm_put(Dst, 11200); | ||
2430 | } else { | ||
2431 | dasm_put(Dst, 12195); | ||
2432 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | ||
2433 | switch (vk) { | ||
2434 | case 0: | ||
2435 | dasm_put(Dst, 12308, LJ_TISNUM); | ||
2436 | if (LJ_DUALNUM) { | ||
2437 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2438 | } | ||
1856 | if (sse) { | 2439 | if (sse) { |
1857 | dasm_put(Dst, 11860); | 2440 | dasm_put(Dst, 12709); |
1858 | } else { | 2441 | } else { |
1859 | dasm_put(Dst, 11874); | 2442 | dasm_put(Dst, 12723); |
1860 | } | 2443 | } |
1861 | break; | 2444 | break; |
1862 | case 1: | 2445 | case 1: |
1863 | dasm_put(Dst, 11716, LJ_TISNUM); | 2446 | dasm_put(Dst, 12353, LJ_TISNUM); |
2447 | if (LJ_DUALNUM) { | ||
2448 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2449 | } | ||
1864 | if (sse) { | 2450 | if (sse) { |
1865 | dasm_put(Dst, 11882); | 2451 | dasm_put(Dst, 12731); |
1866 | } else { | 2452 | } else { |
1867 | dasm_put(Dst, 11896); | 2453 | dasm_put(Dst, 12745); |
1868 | } | 2454 | } |
1869 | break; | 2455 | break; |
1870 | default: | 2456 | default: |
1871 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2457 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1872 | if (sse) { | 2458 | if (sse) { |
1873 | dasm_put(Dst, 11904); | 2459 | dasm_put(Dst, 12753); |
1874 | } else { | 2460 | } else { |
1875 | dasm_put(Dst, 11918); | 2461 | dasm_put(Dst, 12767); |
1876 | } | 2462 | } |
1877 | break; | 2463 | break; |
1878 | } | 2464 | } |
1879 | if (sse) { | 2465 | if (sse) { |
1880 | dasm_put(Dst, 11548); | 2466 | dasm_put(Dst, 12058); |
1881 | } else { | 2467 | } else { |
1882 | dasm_put(Dst, 11560); | 2468 | dasm_put(Dst, 12070); |
2469 | } | ||
2470 | dasm_put(Dst, 11200); | ||
1883 | } | 2471 | } |
1884 | dasm_put(Dst, 10997); | ||
1885 | break; | 2472 | break; |
1886 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 2473 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1887 | dasm_put(Dst, 11674); | 2474 | dasm_put(Dst, 12195); |
1888 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2475 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1889 | switch (vk) { | 2476 | switch (vk) { |
1890 | case 0: | 2477 | case 0: |
1891 | dasm_put(Dst, 11682, LJ_TISNUM); | 2478 | dasm_put(Dst, 12308, LJ_TISNUM); |
2479 | if (LJ_DUALNUM) { | ||
2480 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2481 | } | ||
1892 | if (sse) { | 2482 | if (sse) { |
1893 | dasm_put(Dst, 11926); | 2483 | dasm_put(Dst, 12775); |
1894 | } else { | 2484 | } else { |
1895 | dasm_put(Dst, 11940); | 2485 | dasm_put(Dst, 12789); |
1896 | } | 2486 | } |
1897 | break; | 2487 | break; |
1898 | case 1: | 2488 | case 1: |
1899 | dasm_put(Dst, 11716, LJ_TISNUM); | 2489 | dasm_put(Dst, 12353, LJ_TISNUM); |
2490 | if (LJ_DUALNUM) { | ||
2491 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2492 | } | ||
1900 | if (sse) { | 2493 | if (sse) { |
1901 | dasm_put(Dst, 11948); | 2494 | dasm_put(Dst, 12797); |
1902 | } else { | 2495 | } else { |
1903 | dasm_put(Dst, 11962); | 2496 | dasm_put(Dst, 12811); |
1904 | } | 2497 | } |
1905 | break; | 2498 | break; |
1906 | default: | 2499 | default: |
1907 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2500 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1908 | if (sse) { | 2501 | if (sse) { |
1909 | dasm_put(Dst, 11970); | 2502 | dasm_put(Dst, 12819); |
1910 | } else { | 2503 | } else { |
1911 | dasm_put(Dst, 11984); | 2504 | dasm_put(Dst, 12833); |
1912 | } | 2505 | } |
1913 | break; | 2506 | break; |
1914 | } | 2507 | } |
1915 | if (sse) { | 2508 | if (sse) { |
1916 | dasm_put(Dst, 11548); | 2509 | dasm_put(Dst, 12058); |
1917 | } else { | 2510 | } else { |
1918 | dasm_put(Dst, 11560); | 2511 | dasm_put(Dst, 12070); |
1919 | } | 2512 | } |
1920 | dasm_put(Dst, 10997); | 2513 | dasm_put(Dst, 11200); |
1921 | break; | 2514 | break; |
1922 | case BC_MODVN: | 2515 | case BC_MODVN: |
1923 | dasm_put(Dst, 11674); | 2516 | dasm_put(Dst, 12195); |
1924 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2517 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1925 | switch (vk) { | 2518 | switch (vk) { |
1926 | case 0: | 2519 | case 0: |
1927 | dasm_put(Dst, 11682, LJ_TISNUM); | 2520 | dasm_put(Dst, 12308, LJ_TISNUM); |
2521 | if (LJ_DUALNUM) { | ||
2522 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2523 | } | ||
1928 | if (sse) { | 2524 | if (sse) { |
1929 | dasm_put(Dst, 11992); | 2525 | dasm_put(Dst, 12841); |
1930 | } else { | 2526 | } else { |
1931 | dasm_put(Dst, 12006); | 2527 | dasm_put(Dst, 12855); |
1932 | } | 2528 | } |
1933 | break; | 2529 | break; |
1934 | case 1: | 2530 | case 1: |
1935 | dasm_put(Dst, 11716, LJ_TISNUM); | 2531 | dasm_put(Dst, 12353, LJ_TISNUM); |
2532 | if (LJ_DUALNUM) { | ||
2533 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2534 | } | ||
1936 | if (sse) { | 2535 | if (sse) { |
1937 | dasm_put(Dst, 12014); | 2536 | dasm_put(Dst, 12863); |
1938 | } else { | 2537 | } else { |
1939 | dasm_put(Dst, 12028); | 2538 | dasm_put(Dst, 12877); |
1940 | } | 2539 | } |
1941 | break; | 2540 | break; |
1942 | default: | 2541 | default: |
1943 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2542 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1944 | if (sse) { | 2543 | if (sse) { |
1945 | dasm_put(Dst, 12036); | 2544 | dasm_put(Dst, 12885); |
1946 | } else { | 2545 | } else { |
1947 | dasm_put(Dst, 12050); | 2546 | dasm_put(Dst, 12899); |
1948 | } | 2547 | } |
1949 | break; | 2548 | break; |
1950 | } | 2549 | } |
1951 | dasm_put(Dst, 12058); | 2550 | dasm_put(Dst, 12907); |
1952 | if (sse) { | 2551 | if (sse) { |
1953 | dasm_put(Dst, 11548); | 2552 | dasm_put(Dst, 12058); |
1954 | } else { | 2553 | } else { |
1955 | dasm_put(Dst, 11560); | 2554 | dasm_put(Dst, 12070); |
1956 | } | 2555 | } |
1957 | dasm_put(Dst, 10997); | 2556 | dasm_put(Dst, 11200); |
1958 | break; | 2557 | break; |
1959 | case BC_MODNV: case BC_MODVV: | 2558 | case BC_MODNV: case BC_MODVV: |
1960 | dasm_put(Dst, 11674); | 2559 | dasm_put(Dst, 12195); |
1961 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2560 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1962 | switch (vk) { | 2561 | switch (vk) { |
1963 | case 0: | 2562 | case 0: |
1964 | dasm_put(Dst, 11682, LJ_TISNUM); | 2563 | dasm_put(Dst, 12308, LJ_TISNUM); |
2564 | if (LJ_DUALNUM) { | ||
2565 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2566 | } | ||
1965 | if (sse) { | 2567 | if (sse) { |
1966 | dasm_put(Dst, 11992); | 2568 | dasm_put(Dst, 12841); |
1967 | } else { | 2569 | } else { |
1968 | dasm_put(Dst, 12006); | 2570 | dasm_put(Dst, 12855); |
1969 | } | 2571 | } |
1970 | break; | 2572 | break; |
1971 | case 1: | 2573 | case 1: |
1972 | dasm_put(Dst, 11716, LJ_TISNUM); | 2574 | dasm_put(Dst, 12353, LJ_TISNUM); |
2575 | if (LJ_DUALNUM) { | ||
2576 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2577 | } | ||
1973 | if (sse) { | 2578 | if (sse) { |
1974 | dasm_put(Dst, 12014); | 2579 | dasm_put(Dst, 12863); |
1975 | } else { | 2580 | } else { |
1976 | dasm_put(Dst, 12028); | 2581 | dasm_put(Dst, 12877); |
1977 | } | 2582 | } |
1978 | break; | 2583 | break; |
1979 | default: | 2584 | default: |
1980 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2585 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
1981 | if (sse) { | 2586 | if (sse) { |
1982 | dasm_put(Dst, 12036); | 2587 | dasm_put(Dst, 12885); |
1983 | } else { | 2588 | } else { |
1984 | dasm_put(Dst, 12050); | 2589 | dasm_put(Dst, 12899); |
1985 | } | 2590 | } |
1986 | break; | 2591 | break; |
1987 | } | 2592 | } |
1988 | dasm_put(Dst, 12064); | 2593 | dasm_put(Dst, 12913); |
1989 | break; | 2594 | break; |
1990 | case BC_POW: | 2595 | case BC_POW: |
1991 | dasm_put(Dst, 11674); | 2596 | dasm_put(Dst, 12195); |
1992 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 2597 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1993 | switch (vk) { | 2598 | switch (vk) { |
1994 | case 0: | 2599 | case 0: |
1995 | dasm_put(Dst, 11682, LJ_TISNUM); | 2600 | dasm_put(Dst, 12308, LJ_TISNUM); |
2601 | if (LJ_DUALNUM) { | ||
2602 | dasm_put(Dst, 12320, LJ_TISNUM); | ||
2603 | } | ||
1996 | if (sse) { | 2604 | if (sse) { |
1997 | dasm_put(Dst, 11992); | 2605 | dasm_put(Dst, 12841); |
1998 | } else { | 2606 | } else { |
1999 | dasm_put(Dst, 12006); | 2607 | dasm_put(Dst, 12855); |
2000 | } | 2608 | } |
2001 | break; | 2609 | break; |
2002 | case 1: | 2610 | case 1: |
2003 | dasm_put(Dst, 11716, LJ_TISNUM); | 2611 | dasm_put(Dst, 12353, LJ_TISNUM); |
2612 | if (LJ_DUALNUM) { | ||
2613 | dasm_put(Dst, 12365, LJ_TISNUM); | ||
2614 | } | ||
2004 | if (sse) { | 2615 | if (sse) { |
2005 | dasm_put(Dst, 12014); | 2616 | dasm_put(Dst, 12863); |
2006 | } else { | 2617 | } else { |
2007 | dasm_put(Dst, 12028); | 2618 | dasm_put(Dst, 12877); |
2008 | } | 2619 | } |
2009 | break; | 2620 | break; |
2010 | default: | 2621 | default: |
2011 | dasm_put(Dst, 11750, LJ_TISNUM, LJ_TISNUM); | 2622 | dasm_put(Dst, 12398, LJ_TISNUM, LJ_TISNUM); |
2012 | if (sse) { | 2623 | if (sse) { |
2013 | dasm_put(Dst, 12036); | 2624 | dasm_put(Dst, 12885); |
2014 | } else { | 2625 | } else { |
2015 | dasm_put(Dst, 12050); | 2626 | dasm_put(Dst, 12899); |
2016 | } | 2627 | } |
2017 | break; | 2628 | break; |
2018 | } | 2629 | } |
2019 | dasm_put(Dst, 12069); | 2630 | dasm_put(Dst, 12918); |
2020 | if (sse) { | 2631 | if (sse) { |
2021 | dasm_put(Dst, 11548); | 2632 | dasm_put(Dst, 12058); |
2022 | } else { | 2633 | } else { |
2023 | dasm_put(Dst, 11560); | 2634 | dasm_put(Dst, 12070); |
2024 | } | 2635 | } |
2025 | dasm_put(Dst, 10997); | 2636 | dasm_put(Dst, 11200); |
2026 | break; | 2637 | break; |
2027 | 2638 | ||
2028 | case BC_CAT: | 2639 | case BC_CAT: |
2029 | dasm_put(Dst, 12073, Dt1(->base), Dt1(->base)); | 2640 | dasm_put(Dst, 12922, Dt1(->base), Dt1(->base)); |
2030 | break; | 2641 | break; |
2031 | 2642 | ||
2032 | /* -- Constant ops ------------------------------------------------------ */ | 2643 | /* -- Constant ops ------------------------------------------------------ */ |
2033 | 2644 | ||
2034 | case BC_KSTR: | 2645 | case BC_KSTR: |
2035 | dasm_put(Dst, 12167, LJ_TSTR); | 2646 | dasm_put(Dst, 13016, LJ_TSTR); |
2036 | break; | 2647 | break; |
2037 | case BC_KCDATA: | 2648 | case BC_KCDATA: |
2038 | #if LJ_HASFFI | 2649 | #if LJ_HASFFI |
2039 | dasm_put(Dst, 12167, LJ_TCDATA); | 2650 | dasm_put(Dst, 13016, LJ_TCDATA); |
2040 | #endif | 2651 | #endif |
2041 | break; | 2652 | break; |
2042 | case BC_KSHORT: | 2653 | case BC_KSHORT: |
2043 | if (sse) { | 2654 | if (LJ_DUALNUM) { |
2044 | dasm_put(Dst, 12200); | 2655 | dasm_put(Dst, 13049, LJ_TISNUM); |
2656 | } else if (sse) { | ||
2657 | dasm_put(Dst, 13061); | ||
2045 | } else { | 2658 | } else { |
2046 | dasm_put(Dst, 12215); | 2659 | dasm_put(Dst, 13076); |
2047 | } | 2660 | } |
2048 | dasm_put(Dst, 10997); | 2661 | dasm_put(Dst, 11200); |
2049 | break; | 2662 | break; |
2050 | case BC_KNUM: | 2663 | case BC_KNUM: |
2051 | if (sse) { | 2664 | if (sse) { |
2052 | dasm_put(Dst, 12223); | 2665 | dasm_put(Dst, 13084); |
2053 | } else { | 2666 | } else { |
2054 | dasm_put(Dst, 12236); | 2667 | dasm_put(Dst, 13097); |
2055 | } | 2668 | } |
2056 | dasm_put(Dst, 10997); | 2669 | dasm_put(Dst, 11200); |
2057 | break; | 2670 | break; |
2058 | case BC_KPRI: | 2671 | case BC_KPRI: |
2059 | dasm_put(Dst, 12243); | 2672 | dasm_put(Dst, 13104); |
2060 | break; | 2673 | break; |
2061 | case BC_KNIL: | 2674 | case BC_KNIL: |
2062 | dasm_put(Dst, 12269, LJ_TNIL); | 2675 | dasm_put(Dst, 13130, LJ_TNIL); |
2063 | break; | 2676 | break; |
2064 | 2677 | ||
2065 | /* -- Upvalue and function ops ------------------------------------------ */ | 2678 | /* -- Upvalue and function ops ------------------------------------------ */ |
2066 | 2679 | ||
2067 | case BC_UGET: | 2680 | case BC_UGET: |
2068 | dasm_put(Dst, 12315, offsetof(GCfuncL, uvptr), DtA(->v)); | 2681 | dasm_put(Dst, 13176, offsetof(GCfuncL, uvptr), DtA(->v)); |
2069 | break; | 2682 | break; |
2070 | case BC_USETV: | 2683 | case BC_USETV: |
2071 | #define TV2MARKOFS \ | 2684 | #define TV2MARKOFS \ |
2072 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 2685 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
2073 | dasm_put(Dst, 12359, 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); | 2686 | dasm_put(Dst, 13220, 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); |
2074 | dasm_put(Dst, 12449); | 2687 | dasm_put(Dst, 13310); |
2075 | break; | 2688 | break; |
2076 | #undef TV2MARKOFS | 2689 | #undef TV2MARKOFS |
2077 | case BC_USETS: | 2690 | case BC_USETS: |
2078 | dasm_put(Dst, 12461, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 2691 | dasm_put(Dst, 13322, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
2079 | break; | 2692 | break; |
2080 | case BC_USETN: | 2693 | case BC_USETN: |
2081 | dasm_put(Dst, 12552); | 2694 | dasm_put(Dst, 13413); |
2082 | if (sse) { | 2695 | if (sse) { |
2083 | dasm_put(Dst, 12557); | 2696 | dasm_put(Dst, 13418); |
2084 | } else { | 2697 | } else { |
2085 | dasm_put(Dst, 11273); | 2698 | dasm_put(Dst, 12859); |
2086 | } | 2699 | } |
2087 | dasm_put(Dst, 12564, offsetof(GCfuncL, uvptr), DtA(->v)); | 2700 | dasm_put(Dst, 13425, offsetof(GCfuncL, uvptr), DtA(->v)); |
2088 | if (sse) { | 2701 | if (sse) { |
2089 | dasm_put(Dst, 12573); | 2702 | dasm_put(Dst, 13434); |
2090 | } else { | 2703 | } else { |
2091 | dasm_put(Dst, 12579); | 2704 | dasm_put(Dst, 13440); |
2092 | } | 2705 | } |
2093 | dasm_put(Dst, 10997); | 2706 | dasm_put(Dst, 11200); |
2094 | break; | 2707 | break; |
2095 | case BC_USETP: | 2708 | case BC_USETP: |
2096 | dasm_put(Dst, 12582, offsetof(GCfuncL, uvptr), DtA(->v)); | 2709 | dasm_put(Dst, 13443, offsetof(GCfuncL, uvptr), DtA(->v)); |
2097 | break; | 2710 | break; |
2098 | case BC_UCLO: | 2711 | case BC_UCLO: |
2099 | dasm_put(Dst, 12619, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2712 | dasm_put(Dst, 13480, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2100 | break; | 2713 | break; |
2101 | 2714 | ||
2102 | case BC_FNEW: | 2715 | case BC_FNEW: |
2103 | dasm_put(Dst, 12673, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2716 | dasm_put(Dst, 13534, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2104 | break; | 2717 | break; |
2105 | 2718 | ||
2106 | /* -- Table ops --------------------------------------------------------- */ | 2719 | /* -- Table ops --------------------------------------------------------- */ |
2107 | 2720 | ||
2108 | case BC_TNEW: | 2721 | case BC_TNEW: |
2109 | dasm_put(Dst, 12744, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 2722 | dasm_put(Dst, 13605, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
2110 | break; | 2723 | break; |
2111 | case BC_TDUP: | 2724 | case BC_TDUP: |
2112 | dasm_put(Dst, 12870, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2725 | dasm_put(Dst, 13731, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2113 | break; | 2726 | break; |
2114 | 2727 | ||
2115 | case BC_GGET: | 2728 | case BC_GGET: |
2116 | dasm_put(Dst, 12962, Dt7(->env)); | 2729 | dasm_put(Dst, 13823, Dt7(->env)); |
2117 | break; | 2730 | break; |
2118 | case BC_GSET: | 2731 | case BC_GSET: |
2119 | dasm_put(Dst, 12980, Dt7(->env)); | 2732 | dasm_put(Dst, 13841, Dt7(->env)); |
2120 | break; | 2733 | break; |
2121 | 2734 | ||
2122 | case BC_TGETV: | 2735 | case BC_TGETV: |
2123 | dasm_put(Dst, 12998, LJ_TTAB, LJ_TISNUM); | 2736 | dasm_put(Dst, 13859, LJ_TTAB); |
2124 | if (sse) { | 2737 | if (LJ_DUALNUM) { |
2125 | dasm_put(Dst, 13031); | 2738 | dasm_put(Dst, 13882, LJ_TISNUM); |
2126 | } else { | 2739 | } else { |
2127 | dasm_put(Dst, 13052); | 2740 | dasm_put(Dst, 13896, LJ_TISNUM); |
2128 | if (cmov) { | 2741 | if (sse) { |
2129 | dasm_put(Dst, 10960); | 2742 | dasm_put(Dst, 13907); |
2130 | } else { | 2743 | } else { |
2131 | dasm_put(Dst, 10966); | 2744 | dasm_put(Dst, 13928); |
2745 | if (cmov) { | ||
2746 | dasm_put(Dst, 3899); | ||
2747 | } else { | ||
2748 | dasm_put(Dst, 3905); | ||
2749 | } | ||
2750 | dasm_put(Dst, 2635); | ||
2132 | } | 2751 | } |
2133 | dasm_put(Dst, 2573); | 2752 | dasm_put(Dst, 13938); |
2134 | } | 2753 | } |
2135 | dasm_put(Dst, 13062, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2754 | dasm_put(Dst, 13943, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL); |
2136 | dasm_put(Dst, 13150, LJ_TNIL, LJ_TSTR); | 2755 | dasm_put(Dst, 14038, LJ_TSTR); |
2137 | break; | 2756 | break; |
2138 | case BC_TGETS: | 2757 | case BC_TGETS: |
2139 | dasm_put(Dst, 13179, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2758 | dasm_put(Dst, 14056, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2140 | dasm_put(Dst, 13267, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2759 | dasm_put(Dst, 14144, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2141 | break; | 2760 | break; |
2142 | case BC_TGETB: | 2761 | case BC_TGETB: |
2143 | dasm_put(Dst, 13337, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2762 | dasm_put(Dst, 14214, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2144 | dasm_put(Dst, 13436, LJ_TNIL); | 2763 | dasm_put(Dst, 14313, LJ_TNIL); |
2145 | break; | 2764 | break; |
2146 | 2765 | ||
2147 | case BC_TSETV: | 2766 | case BC_TSETV: |
2148 | dasm_put(Dst, 13453, LJ_TTAB, LJ_TISNUM); | 2767 | dasm_put(Dst, 14330, LJ_TTAB); |
2149 | if (sse) { | 2768 | if (LJ_DUALNUM) { |
2150 | dasm_put(Dst, 13031); | 2769 | dasm_put(Dst, 13882, LJ_TISNUM); |
2151 | } else { | 2770 | } else { |
2152 | dasm_put(Dst, 13052); | 2771 | dasm_put(Dst, 13896, LJ_TISNUM); |
2153 | if (cmov) { | 2772 | if (sse) { |
2154 | dasm_put(Dst, 10960); | 2773 | dasm_put(Dst, 13907); |
2155 | } else { | 2774 | } else { |
2156 | dasm_put(Dst, 10966); | 2775 | dasm_put(Dst, 13928); |
2776 | if (cmov) { | ||
2777 | dasm_put(Dst, 3899); | ||
2778 | } else { | ||
2779 | dasm_put(Dst, 3905); | ||
2780 | } | ||
2781 | dasm_put(Dst, 2635); | ||
2157 | } | 2782 | } |
2158 | dasm_put(Dst, 2573); | 2783 | dasm_put(Dst, 14353); |
2159 | } | 2784 | } |
2160 | dasm_put(Dst, 13486, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 2785 | dasm_put(Dst, 14358, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
2161 | dasm_put(Dst, 13569, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2786 | dasm_put(Dst, 14442, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2162 | break; | 2787 | break; |
2163 | case BC_TSETS: | 2788 | case BC_TSETS: |
2164 | dasm_put(Dst, 13631, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2789 | dasm_put(Dst, 14499, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2165 | dasm_put(Dst, 13706, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2790 | dasm_put(Dst, 14574, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2166 | dasm_put(Dst, 13798, 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)); | 2791 | dasm_put(Dst, 14666, 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)); |
2167 | break; | 2792 | break; |
2168 | case BC_TSETB: | 2793 | case BC_TSETB: |
2169 | dasm_put(Dst, 13894, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2794 | dasm_put(Dst, 14762, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2170 | dasm_put(Dst, 13992, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2795 | dasm_put(Dst, 14860, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2171 | break; | 2796 | break; |
2172 | 2797 | ||
2173 | case BC_TSETM: | 2798 | case BC_TSETM: |
2174 | dasm_put(Dst, 14038, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 2799 | dasm_put(Dst, 14906, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
2175 | dasm_put(Dst, 14187, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2800 | dasm_put(Dst, 15055, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2176 | break; | 2801 | break; |
2177 | 2802 | ||
2178 | /* -- Calls and vararg handling ----------------------------------------- */ | 2803 | /* -- Calls and vararg handling ----------------------------------------- */ |
2179 | 2804 | ||
2180 | case BC_CALL: case BC_CALLM: | 2805 | case BC_CALL: case BC_CALLM: |
2181 | dasm_put(Dst, 11678); | 2806 | dasm_put(Dst, 12199); |
2182 | if (op == BC_CALLM) { | 2807 | if (op == BC_CALLM) { |
2183 | dasm_put(Dst, 14205); | 2808 | dasm_put(Dst, 15073); |
2184 | } | 2809 | } |
2185 | dasm_put(Dst, 14210, LJ_TFUNC, Dt7(->pc)); | 2810 | dasm_put(Dst, 15078, LJ_TFUNC, Dt7(->pc)); |
2186 | break; | 2811 | break; |
2187 | 2812 | ||
2188 | case BC_CALLMT: | 2813 | case BC_CALLMT: |
2189 | dasm_put(Dst, 14205); | 2814 | dasm_put(Dst, 15073); |
2190 | break; | 2815 | break; |
2191 | case BC_CALLT: | 2816 | case BC_CALLT: |
2192 | dasm_put(Dst, 14251, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2817 | dasm_put(Dst, 15119, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2193 | dasm_put(Dst, 14369, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 2818 | dasm_put(Dst, 15237, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
2194 | break; | 2819 | break; |
2195 | 2820 | ||
2196 | case BC_ITERC: | 2821 | case BC_ITERC: |
2197 | dasm_put(Dst, 14439, LJ_TFUNC, 2+1, Dt7(->pc)); | 2822 | dasm_put(Dst, 15307, LJ_TFUNC, 2+1, Dt7(->pc)); |
2198 | break; | 2823 | break; |
2199 | 2824 | ||
2200 | case BC_ITERN: | 2825 | case BC_ITERN: |
2201 | #if LJ_HASJIT | 2826 | #if LJ_HASJIT |
2202 | #endif | 2827 | #endif |
2203 | dasm_put(Dst, 14519, Dt6(->asize), Dt6(->array), LJ_TNIL); | 2828 | dasm_put(Dst, 15387, Dt6(->asize), Dt6(->array), LJ_TNIL); |
2204 | if (sse) { | 2829 | if (LJ_DUALNUM) { |
2205 | dasm_put(Dst, 14565); | 2830 | dasm_put(Dst, 12093, LJ_TISNUM); |
2831 | } else if (sse) { | ||
2832 | dasm_put(Dst, 12169); | ||
2206 | } else { | 2833 | } else { |
2207 | dasm_put(Dst, 14571); | 2834 | dasm_put(Dst, 15433); |
2208 | } | 2835 | } |
2209 | dasm_put(Dst, 14577); | 2836 | dasm_put(Dst, 15439); |
2210 | if (sse) { | 2837 | if (LJ_DUALNUM) { |
2211 | dasm_put(Dst, 11548); | 2838 | } else if (sse) { |
2839 | dasm_put(Dst, 12058); | ||
2212 | } else { | 2840 | } else { |
2213 | dasm_put(Dst, 11560); | 2841 | dasm_put(Dst, 12070); |
2214 | } | 2842 | } |
2215 | dasm_put(Dst, 14596, -BCBIAS_J*4); | 2843 | dasm_put(Dst, 15458, -BCBIAS_J*4); |
2216 | if (!sse) { | 2844 | if (!LJ_DUALNUM && !sse) { |
2217 | dasm_put(Dst, 14647); | 2845 | dasm_put(Dst, 15509); |
2218 | } | 2846 | } |
2219 | dasm_put(Dst, 14653, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); | 2847 | dasm_put(Dst, 15515, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it)); |
2220 | dasm_put(Dst, 14728); | 2848 | dasm_put(Dst, 15590); |
2221 | break; | 2849 | break; |
2222 | 2850 | ||
2223 | case BC_ISNEXT: | 2851 | case BC_ISNEXT: |
2224 | dasm_put(Dst, 14736, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); | 2852 | dasm_put(Dst, 15598, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC); |
2225 | break; | 2853 | break; |
2226 | 2854 | ||
2227 | case BC_VARG: | 2855 | case BC_VARG: |
2228 | dasm_put(Dst, 14835, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); | 2856 | dasm_put(Dst, 15697, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack)); |
2229 | dasm_put(Dst, 14999, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2857 | dasm_put(Dst, 15861, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2230 | break; | 2858 | break; |
2231 | 2859 | ||
2232 | /* -- Returns ----------------------------------------------------------- */ | 2860 | /* -- Returns ----------------------------------------------------------- */ |
2233 | 2861 | ||
2234 | case BC_RETM: | 2862 | case BC_RETM: |
2235 | dasm_put(Dst, 14205); | 2863 | dasm_put(Dst, 15073); |
2236 | break; | 2864 | break; |
2237 | 2865 | ||
2238 | case BC_RET: case BC_RET0: case BC_RET1: | 2866 | case BC_RET: case BC_RET0: case BC_RET1: |
2239 | if (op != BC_RET0) { | 2867 | if (op != BC_RET0) { |
2240 | dasm_put(Dst, 15070); | 2868 | dasm_put(Dst, 15932); |
2241 | } | 2869 | } |
2242 | dasm_put(Dst, 15074, FRAME_TYPE); | 2870 | dasm_put(Dst, 15936, FRAME_TYPE); |
2243 | switch (op) { | 2871 | switch (op) { |
2244 | case BC_RET: | 2872 | case BC_RET: |
2245 | dasm_put(Dst, 15093); | 2873 | dasm_put(Dst, 15955); |
2246 | break; | 2874 | break; |
2247 | case BC_RET1: | 2875 | case BC_RET1: |
2248 | dasm_put(Dst, 15151); | 2876 | dasm_put(Dst, 16013); |
2249 | /* fallthrough */ | 2877 | /* fallthrough */ |
2250 | case BC_RET0: | 2878 | case BC_RET0: |
2251 | dasm_put(Dst, 15167); | 2879 | dasm_put(Dst, 16029); |
2252 | default: | 2880 | default: |
2253 | break; | 2881 | break; |
2254 | } | 2882 | } |
2255 | dasm_put(Dst, 15178, Dt7(->pc), PC2PROTO(k)); | 2883 | dasm_put(Dst, 16040, Dt7(->pc), PC2PROTO(k)); |
2256 | if (op == BC_RET) { | 2884 | if (op == BC_RET) { |
2257 | dasm_put(Dst, 15220, LJ_TNIL); | 2885 | dasm_put(Dst, 16082, LJ_TNIL); |
2258 | } else { | 2886 | } else { |
2259 | dasm_put(Dst, 15229, LJ_TNIL); | 2887 | dasm_put(Dst, 16091, LJ_TNIL); |
2260 | } | 2888 | } |
2261 | dasm_put(Dst, 15236, -FRAME_VARG, FRAME_TYPEP); | 2889 | dasm_put(Dst, 16098, -FRAME_VARG, FRAME_TYPEP); |
2262 | if (op != BC_RET0) { | 2890 | if (op != BC_RET0) { |
2263 | dasm_put(Dst, 15260); | 2891 | dasm_put(Dst, 16122); |
2264 | } | 2892 | } |
2265 | dasm_put(Dst, 4738); | 2893 | dasm_put(Dst, 4883); |
2266 | break; | 2894 | break; |
2267 | 2895 | ||
2268 | /* -- Loops and branches ------------------------------------------------ */ | 2896 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2270,7 +2898,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2270 | 2898 | ||
2271 | case BC_FORL: | 2899 | case BC_FORL: |
2272 | #if LJ_HASJIT | 2900 | #if LJ_HASJIT |
2273 | dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2901 | dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2274 | #endif | 2902 | #endif |
2275 | break; | 2903 | break; |
2276 | 2904 | ||
@@ -2282,57 +2910,104 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2282 | case BC_FORI: | 2910 | case BC_FORI: |
2283 | case BC_IFORL: | 2911 | case BC_IFORL: |
2284 | vk = (op == BC_IFORL || op == BC_JFORL); | 2912 | vk = (op == BC_IFORL || op == BC_JFORL); |
2285 | dasm_put(Dst, 15285); | 2913 | dasm_put(Dst, 16147); |
2914 | if (LJ_DUALNUM) { | ||
2915 | dasm_put(Dst, 16151, LJ_TISNUM); | ||
2916 | if (!vk) { | ||
2917 | dasm_put(Dst, 16161, LJ_TISNUM, LJ_TISNUM); | ||
2918 | } else { | ||
2919 | dasm_put(Dst, 16190); | ||
2920 | } | ||
2921 | dasm_put(Dst, 16209, LJ_TISNUM); | ||
2922 | if (op == BC_FORI) { | ||
2923 | dasm_put(Dst, 16220, -BCBIAS_J*4); | ||
2924 | } else if (op == BC_JFORI) { | ||
2925 | dasm_put(Dst, 16234, -BCBIAS_J*4, BC_JLOOP); | ||
2926 | } else if (op == BC_IFORL) { | ||
2927 | dasm_put(Dst, 16252, -BCBIAS_J*4); | ||
2928 | } else { | ||
2929 | dasm_put(Dst, 16244, BC_JLOOP); | ||
2930 | } | ||
2931 | dasm_put(Dst, 16266); | ||
2932 | if (vk) { | ||
2933 | dasm_put(Dst, 16289); | ||
2934 | } | ||
2935 | dasm_put(Dst, 16209, LJ_TISNUM); | ||
2936 | if (op == BC_FORI) { | ||
2937 | dasm_put(Dst, 16298); | ||
2938 | } else if (op == BC_JFORI) { | ||
2939 | dasm_put(Dst, 16303, -BCBIAS_J*4, BC_JLOOP); | ||
2940 | } else if (op == BC_IFORL) { | ||
2941 | dasm_put(Dst, 16317); | ||
2942 | } else { | ||
2943 | dasm_put(Dst, 16313, BC_JLOOP); | ||
2944 | } | ||
2945 | dasm_put(Dst, 16322); | ||
2946 | } else if (!vk) { | ||
2947 | dasm_put(Dst, 16329, LJ_TISNUM); | ||
2948 | } | ||
2286 | if (!vk) { | 2949 | if (!vk) { |
2287 | dasm_put(Dst, 15289, LJ_TISNUM, LJ_TISNUM); | 2950 | dasm_put(Dst, 16335, LJ_TISNUM); |
2288 | } | 2951 | } |
2289 | dasm_put(Dst, 15308); | 2952 | dasm_put(Dst, 16349); |
2290 | if (!vk) { | 2953 | if (!vk) { |
2291 | dasm_put(Dst, 15312, LJ_TISNUM); | 2954 | dasm_put(Dst, 16353, LJ_TISNUM); |
2292 | } | 2955 | } |
2293 | if (sse) { | 2956 | if (sse) { |
2294 | dasm_put(Dst, 15321); | 2957 | dasm_put(Dst, 16362); |
2295 | if (vk) { | 2958 | if (vk) { |
2296 | dasm_put(Dst, 15333); | 2959 | dasm_put(Dst, 16374); |
2297 | } else { | 2960 | } else { |
2298 | dasm_put(Dst, 15352); | 2961 | dasm_put(Dst, 16393); |
2299 | } | 2962 | } |
2300 | dasm_put(Dst, 15357); | 2963 | dasm_put(Dst, 16398); |
2301 | } else { | 2964 | } else { |
2302 | dasm_put(Dst, 15370); | 2965 | dasm_put(Dst, 16411); |
2303 | if (vk) { | 2966 | if (vk) { |
2304 | dasm_put(Dst, 15376); | 2967 | dasm_put(Dst, 16417); |
2305 | } else { | 2968 | } else { |
2306 | dasm_put(Dst, 15392); | 2969 | dasm_put(Dst, 16433); |
2307 | } | 2970 | } |
2308 | dasm_put(Dst, 15400); | 2971 | dasm_put(Dst, 16441); |
2309 | if (cmov) { | 2972 | if (cmov) { |
2310 | dasm_put(Dst, 10960); | 2973 | dasm_put(Dst, 3899); |
2311 | } else { | 2974 | } else { |
2312 | dasm_put(Dst, 10966); | 2975 | dasm_put(Dst, 3905); |
2313 | } | 2976 | } |
2314 | if (!cmov) { | 2977 | if (!cmov) { |
2315 | dasm_put(Dst, 15405); | 2978 | dasm_put(Dst, 16446); |
2316 | } | 2979 | } |
2317 | } | 2980 | } |
2318 | if (op == BC_FORI) { | 2981 | if (op == BC_FORI) { |
2319 | dasm_put(Dst, 15411, -BCBIAS_J*4); | 2982 | if (LJ_DUALNUM) { |
2983 | dasm_put(Dst, 16452); | ||
2984 | } else { | ||
2985 | dasm_put(Dst, 16457, -BCBIAS_J*4); | ||
2986 | } | ||
2320 | } else if (op == BC_JFORI) { | 2987 | } else if (op == BC_JFORI) { |
2321 | dasm_put(Dst, 15421, -BCBIAS_J*4, BC_JLOOP); | 2988 | dasm_put(Dst, 16467, -BCBIAS_J*4, BC_JLOOP); |
2322 | } else if (op == BC_IFORL) { | 2989 | } else if (op == BC_IFORL) { |
2323 | dasm_put(Dst, 15435, -BCBIAS_J*4); | 2990 | if (LJ_DUALNUM) { |
2991 | dasm_put(Dst, 16481); | ||
2992 | } else { | ||
2993 | dasm_put(Dst, 16486, -BCBIAS_J*4); | ||
2994 | } | ||
2995 | } else { | ||
2996 | dasm_put(Dst, 16477, BC_JLOOP); | ||
2997 | } | ||
2998 | if (LJ_DUALNUM) { | ||
2999 | dasm_put(Dst, 11097); | ||
2324 | } else { | 3000 | } else { |
2325 | dasm_put(Dst, 15431, BC_JLOOP); | 3001 | dasm_put(Dst, 11836); |
2326 | } | 3002 | } |
2327 | dasm_put(Dst, 10995); | ||
2328 | if (sse) { | 3003 | if (sse) { |
2329 | dasm_put(Dst, 15445); | 3004 | dasm_put(Dst, 16496); |
2330 | } | 3005 | } |
2331 | break; | 3006 | break; |
2332 | 3007 | ||
2333 | case BC_ITERL: | 3008 | case BC_ITERL: |
2334 | #if LJ_HASJIT | 3009 | #if LJ_HASJIT |
2335 | dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3010 | dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2336 | #endif | 3011 | #endif |
2337 | break; | 3012 | break; |
2338 | 3013 | ||
@@ -2341,33 +3016,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2341 | break; | 3016 | break; |
2342 | #endif | 3017 | #endif |
2343 | case BC_IITERL: | 3018 | case BC_IITERL: |
2344 | dasm_put(Dst, 15456, LJ_TNIL); | 3019 | dasm_put(Dst, 16507, LJ_TNIL); |
2345 | if (op == BC_JITERL) { | 3020 | if (op == BC_JITERL) { |
2346 | dasm_put(Dst, 15471, BC_JLOOP); | 3021 | dasm_put(Dst, 16522, BC_JLOOP); |
2347 | } else { | 3022 | } else { |
2348 | dasm_put(Dst, 15485, -BCBIAS_J*4); | 3023 | dasm_put(Dst, 16536, -BCBIAS_J*4); |
2349 | } | 3024 | } |
2350 | dasm_put(Dst, 11425); | 3025 | dasm_put(Dst, 11198); |
2351 | break; | 3026 | break; |
2352 | 3027 | ||
2353 | case BC_LOOP: | 3028 | case BC_LOOP: |
2354 | #if LJ_HASJIT | 3029 | #if LJ_HASJIT |
2355 | dasm_put(Dst, 15264, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3030 | dasm_put(Dst, 16126, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2356 | #endif | 3031 | #endif |
2357 | break; | 3032 | break; |
2358 | 3033 | ||
2359 | case BC_ILOOP: | 3034 | case BC_ILOOP: |
2360 | dasm_put(Dst, 10997); | 3035 | dasm_put(Dst, 11200); |
2361 | break; | 3036 | break; |
2362 | 3037 | ||
2363 | case BC_JLOOP: | 3038 | case BC_JLOOP: |
2364 | #if LJ_HASJIT | 3039 | #if LJ_HASJIT |
2365 | dasm_put(Dst, 15501, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 3040 | dasm_put(Dst, 16552, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2366 | #endif | 3041 | #endif |
2367 | break; | 3042 | break; |
2368 | 3043 | ||
2369 | case BC_JMP: | 3044 | case BC_JMP: |
2370 | dasm_put(Dst, 15524, -BCBIAS_J*4); | 3045 | dasm_put(Dst, 16575, -BCBIAS_J*4); |
2371 | break; | 3046 | break; |
2372 | 3047 | ||
2373 | /* -- Function headers -------------------------------------------------- */ | 3048 | /* -- Function headers -------------------------------------------------- */ |
@@ -2381,7 +3056,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2381 | 3056 | ||
2382 | case BC_FUNCF: | 3057 | case BC_FUNCF: |
2383 | #if LJ_HASJIT | 3058 | #if LJ_HASJIT |
2384 | dasm_put(Dst, 15548, HOTCOUNT_PCMASK, GG_DISP2HOT); | 3059 | dasm_put(Dst, 16599, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2385 | #endif | 3060 | #endif |
2386 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 3061 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2387 | break; | 3062 | break; |
@@ -2391,47 +3066,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2391 | break; | 3066 | break; |
2392 | #endif | 3067 | #endif |
2393 | case BC_IFUNCF: | 3068 | case BC_IFUNCF: |
2394 | dasm_put(Dst, 15569, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 3069 | dasm_put(Dst, 16620, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2395 | if (op == BC_JFUNCF) { | 3070 | if (op == BC_JFUNCF) { |
2396 | dasm_put(Dst, 15599, BC_JLOOP); | 3071 | dasm_put(Dst, 16650, BC_JLOOP); |
2397 | } else { | 3072 | } else { |
2398 | dasm_put(Dst, 10997); | 3073 | dasm_put(Dst, 11200); |
2399 | } | 3074 | } |
2400 | dasm_put(Dst, 15608, LJ_TNIL); | 3075 | dasm_put(Dst, 16659, LJ_TNIL); |
2401 | break; | 3076 | break; |
2402 | 3077 | ||
2403 | case BC_JFUNCV: | 3078 | case BC_JFUNCV: |
2404 | #if !LJ_HASJIT | 3079 | #if !LJ_HASJIT |
2405 | break; | 3080 | break; |
2406 | #endif | 3081 | #endif |
2407 | dasm_put(Dst, 10292); | 3082 | dasm_put(Dst, 10303); |
2408 | break; /* NYI: compiled vararg functions. */ | 3083 | break; /* NYI: compiled vararg functions. */ |
2409 | 3084 | ||
2410 | case BC_IFUNCV: | 3085 | case BC_IFUNCV: |
2411 | dasm_put(Dst, 15630, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 3086 | dasm_put(Dst, 16681, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2412 | if (op == BC_JFUNCV) { | 3087 | if (op == BC_JFUNCV) { |
2413 | dasm_put(Dst, 15599, BC_JLOOP); | 3088 | dasm_put(Dst, 16650, BC_JLOOP); |
2414 | } else { | 3089 | } else { |
2415 | dasm_put(Dst, 15721, -4+PC2PROTO(k)); | 3090 | dasm_put(Dst, 16772, -4+PC2PROTO(k)); |
2416 | } | 3091 | } |
2417 | dasm_put(Dst, 15743, LJ_TNIL); | 3092 | dasm_put(Dst, 16794, LJ_TNIL); |
2418 | break; | 3093 | break; |
2419 | 3094 | ||
2420 | case BC_FUNCC: | 3095 | case BC_FUNCC: |
2421 | case BC_FUNCCW: | 3096 | case BC_FUNCCW: |
2422 | dasm_put(Dst, 15765, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 3097 | dasm_put(Dst, 16816, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2423 | if (op == BC_FUNCC) { | 3098 | if (op == BC_FUNCC) { |
2424 | dasm_put(Dst, 15794); | 3099 | dasm_put(Dst, 16845); |
2425 | } else { | 3100 | } else { |
2426 | dasm_put(Dst, 15798); | 3101 | dasm_put(Dst, 16849); |
2427 | } | 3102 | } |
2428 | dasm_put(Dst, 15806, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 3103 | dasm_put(Dst, 16857, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2429 | if (op == BC_FUNCC) { | 3104 | if (op == BC_FUNCC) { |
2430 | dasm_put(Dst, 15815); | 3105 | dasm_put(Dst, 16866); |
2431 | } else { | 3106 | } else { |
2432 | dasm_put(Dst, 15819, DISPATCH_GL(wrapf)); | 3107 | dasm_put(Dst, 16870, DISPATCH_GL(wrapf)); |
2433 | } | 3108 | } |
2434 | dasm_put(Dst, 15824, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 3109 | dasm_put(Dst, 16875, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2435 | break; | 3110 | break; |
2436 | 3111 | ||
2437 | /* ---------------------------------------------------------------------- */ | 3112 | /* ---------------------------------------------------------------------- */ |
@@ -2459,7 +3134,7 @@ static int build_backend(BuildCtx *ctx) | |||
2459 | 3134 | ||
2460 | build_subroutines(ctx, cmov, sse); | 3135 | build_subroutines(ctx, cmov, sse); |
2461 | 3136 | ||
2462 | dasm_put(Dst, 15849); | 3137 | dasm_put(Dst, 16900); |
2463 | for (op = 0; op < BC__MAX; op++) | 3138 | for (op = 0; op < BC__MAX; op++) |
2464 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 3139 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2465 | 3140 | ||
diff --git a/src/lib_base.c b/src/lib_base.c index 2672a076..fd7279af 100644 --- a/src/lib_base.c +++ b/src/lib_base.c | |||
@@ -197,6 +197,18 @@ LJLIB_ASM(tonumber) LJLIB_REC(.) | |||
197 | #if LJ_HASFFI | 197 | #if LJ_HASFFI |
198 | if (tviscdata(o)) { | 198 | if (tviscdata(o)) { |
199 | CTState *cts = ctype_cts(L); | 199 | CTState *cts = ctype_cts(L); |
200 | if (LJ_DUALNUM) { | ||
201 | CType *ct = ctype_raw(cts, cdataV(o)->typeid); | ||
202 | if (ctype_isinteger_or_bool(ct->info)) { | ||
203 | int64_t i; | ||
204 | lj_cconv_ct_tv(cts, ctype_get(cts, CTID_INT64), (uint8_t *)&i, o, 0); | ||
205 | if ((ct->size == 8 && (ct->info & CTF_UNSIGNED)) ? | ||
206 | (uint64_t)i <= 0x7fffffffu : checki32(i)) { | ||
207 | setintV(L->base-1, (int32_t)i); | ||
208 | return FFH_RES(1); | ||
209 | } /* else: retry and convert to double. */ | ||
210 | } | ||
211 | } | ||
200 | lj_cconv_ct_tv(cts, ctype_get(cts, CTID_DOUBLE), | 212 | lj_cconv_ct_tv(cts, ctype_get(cts, CTID_DOUBLE), |
201 | (uint8_t *)&(L->base-1)->n, o, 0); | 213 | (uint8_t *)&(L->base-1)->n, o, 0); |
202 | return FFH_RES(1); | 214 | return FFH_RES(1); |
@@ -294,7 +306,7 @@ LJLIB_ASM(pairs) | |||
294 | LJLIB_NOREGUV LJLIB_ASM(ipairs_aux) LJLIB_REC(.) | 306 | LJLIB_NOREGUV LJLIB_ASM(ipairs_aux) LJLIB_REC(.) |
295 | { | 307 | { |
296 | lj_lib_checktab(L, 1); | 308 | lj_lib_checktab(L, 1); |
297 | lj_lib_checknum(L, 2); | 309 | lj_lib_checkint(L, 2); |
298 | return FFH_UNREACHABLE; | 310 | return FFH_UNREACHABLE; |
299 | } | 311 | } |
300 | 312 | ||
diff --git a/src/lib_bit.c b/src/lib_bit.c index c200404b..c6c5c6fe 100644 --- a/src/lib_bit.c +++ b/src/lib_bit.c | |||
@@ -21,7 +21,7 @@ | |||
21 | 21 | ||
22 | LJLIB_ASM(bit_tobit) LJLIB_REC(bit_unary IR_TOBIT) | 22 | LJLIB_ASM(bit_tobit) LJLIB_REC(bit_unary IR_TOBIT) |
23 | { | 23 | { |
24 | lj_lib_checknum(L, 1); | 24 | lj_lib_checknumber(L, 1); |
25 | return FFH_RETRY; | 25 | return FFH_RETRY; |
26 | } | 26 | } |
27 | LJLIB_ASM_(bit_bnot) LJLIB_REC(bit_unary IR_BNOT) | 27 | LJLIB_ASM_(bit_bnot) LJLIB_REC(bit_unary IR_BNOT) |
@@ -29,8 +29,8 @@ LJLIB_ASM_(bit_bswap) LJLIB_REC(bit_unary IR_BSWAP) | |||
29 | 29 | ||
30 | LJLIB_ASM(bit_lshift) LJLIB_REC(bit_shift IR_BSHL) | 30 | LJLIB_ASM(bit_lshift) LJLIB_REC(bit_shift IR_BSHL) |
31 | { | 31 | { |
32 | lj_lib_checknum(L, 1); | 32 | lj_lib_checknumber(L, 1); |
33 | lj_lib_checknum(L, 2); | 33 | lj_lib_checkbit(L, 2); |
34 | return FFH_RETRY; | 34 | return FFH_RETRY; |
35 | } | 35 | } |
36 | LJLIB_ASM_(bit_rshift) LJLIB_REC(bit_shift IR_BSHR) | 36 | LJLIB_ASM_(bit_rshift) LJLIB_REC(bit_shift IR_BSHR) |
@@ -41,7 +41,7 @@ LJLIB_ASM_(bit_ror) LJLIB_REC(bit_shift IR_BROR) | |||
41 | LJLIB_ASM(bit_band) LJLIB_REC(bit_nary IR_BAND) | 41 | LJLIB_ASM(bit_band) LJLIB_REC(bit_nary IR_BAND) |
42 | { | 42 | { |
43 | int i = 0; | 43 | int i = 0; |
44 | do { lj_lib_checknum(L, ++i); } while (L->base+i < L->top); | 44 | do { lj_lib_checknumber(L, ++i); } while (L->base+i < L->top); |
45 | return FFH_RETRY; | 45 | return FFH_RETRY; |
46 | } | 46 | } |
47 | LJLIB_ASM_(bit_bor) LJLIB_REC(bit_nary IR_BOR) | 47 | LJLIB_ASM_(bit_bor) LJLIB_REC(bit_nary IR_BOR) |
@@ -51,8 +51,8 @@ LJLIB_ASM_(bit_bxor) LJLIB_REC(bit_nary IR_BXOR) | |||
51 | 51 | ||
52 | LJLIB_CF(bit_tohex) | 52 | LJLIB_CF(bit_tohex) |
53 | { | 53 | { |
54 | uint32_t b = (uint32_t)lj_num2bit(lj_lib_checknum(L, 1)); | 54 | uint32_t b = (uint32_t)lj_lib_checkbit(L, 1); |
55 | int32_t i, n = L->base+1 >= L->top ? 8 : lj_num2bit(lj_lib_checknum(L, 2)); | 55 | int32_t i, n = L->base+1 >= L->top ? 8 : lj_lib_checkbit(L, 2); |
56 | const char *hexdigits = "0123456789abcdef"; | 56 | const char *hexdigits = "0123456789abcdef"; |
57 | char buf[8]; | 57 | char buf[8]; |
58 | if (n < 0) { n = -n; hexdigits = "0123456789ABCDEF"; } | 58 | if (n < 0) { n = -n; hexdigits = "0123456789ABCDEF"; } |
diff --git a/src/lib_io.c b/src/lib_io.c index d3dac7a0..f4888c1c 100644 --- a/src/lib_io.c +++ b/src/lib_io.c | |||
@@ -137,6 +137,13 @@ static int io_file_readnum(lua_State *L, FILE *fp) | |||
137 | { | 137 | { |
138 | lua_Number d; | 138 | lua_Number d; |
139 | if (fscanf(fp, LUA_NUMBER_SCAN, &d) == 1) { | 139 | if (fscanf(fp, LUA_NUMBER_SCAN, &d) == 1) { |
140 | if (LJ_DUALNUM) { | ||
141 | int32_t i = lj_num2int(d); | ||
142 | if (d == (lua_Number)i && !tvismzero((cTValue *)&d)) { | ||
143 | setintV(L->top++, i); | ||
144 | return 1; | ||
145 | } | ||
146 | } | ||
140 | setnumV(L->top++, d); | 147 | setnumV(L->top++, d); |
141 | return 1; | 148 | return 1; |
142 | } else { | 149 | } else { |
@@ -217,7 +224,7 @@ static int io_file_read(lua_State *L, FILE *fp, int start) | |||
217 | io_file_readchars(L, fp, ~((size_t)0)); | 224 | io_file_readchars(L, fp, ~((size_t)0)); |
218 | else | 225 | else |
219 | lj_err_arg(L, n+1, LJ_ERR_INVFMT); | 226 | lj_err_arg(L, n+1, LJ_ERR_INVFMT); |
220 | } else if (tvisnum(L->base+n)) { | 227 | } else if (tvisnumber(L->base+n)) { |
221 | size_t len = (size_t)lj_lib_checkint(L, n+1); | 228 | size_t len = (size_t)lj_lib_checkint(L, n+1); |
222 | ok = len ? io_file_readchars(L, fp, len) : io_file_testeof(L, fp); | 229 | ok = len ? io_file_readchars(L, fp, len) : io_file_testeof(L, fp); |
223 | } else { | 230 | } else { |
diff --git a/src/lib_math.c b/src/lib_math.c index 46841e08..5843e2f5 100644 --- a/src/lib_math.c +++ b/src/lib_math.c | |||
@@ -21,12 +21,17 @@ | |||
21 | 21 | ||
22 | LJLIB_ASM(math_abs) LJLIB_REC(.) | 22 | LJLIB_ASM(math_abs) LJLIB_REC(.) |
23 | { | 23 | { |
24 | lj_lib_checknum(L, 1); | 24 | lj_lib_checknumber(L, 1); |
25 | return FFH_RETRY; | 25 | return FFH_RETRY; |
26 | } | 26 | } |
27 | LJLIB_ASM_(math_floor) LJLIB_REC(math_round IRFPM_FLOOR) | 27 | LJLIB_ASM_(math_floor) LJLIB_REC(math_round IRFPM_FLOOR) |
28 | LJLIB_ASM_(math_ceil) LJLIB_REC(math_round IRFPM_CEIL) | 28 | LJLIB_ASM_(math_ceil) LJLIB_REC(math_round IRFPM_CEIL) |
29 | LJLIB_ASM_(math_sqrt) LJLIB_REC(math_unary IRFPM_SQRT) | 29 | |
30 | LJLIB_ASM(math_sqrt) LJLIB_REC(math_unary IRFPM_SQRT) | ||
31 | { | ||
32 | lj_lib_checknum(L, 1); | ||
33 | return FFH_RETRY; | ||
34 | } | ||
30 | LJLIB_ASM_(math_log) LJLIB_REC(math_unary IRFPM_LOG) | 35 | LJLIB_ASM_(math_log) LJLIB_REC(math_unary IRFPM_LOG) |
31 | LJLIB_ASM_(math_log10) LJLIB_REC(math_unary IRFPM_LOG10) | 36 | LJLIB_ASM_(math_log10) LJLIB_REC(math_unary IRFPM_LOG10) |
32 | LJLIB_ASM_(math_exp) LJLIB_REC(math_unary IRFPM_EXP) | 37 | LJLIB_ASM_(math_exp) LJLIB_REC(math_unary IRFPM_EXP) |
@@ -61,7 +66,7 @@ LJLIB_ASM_(math_fmod) | |||
61 | LJLIB_ASM(math_min) LJLIB_REC(math_minmax IR_MIN) | 66 | LJLIB_ASM(math_min) LJLIB_REC(math_minmax IR_MIN) |
62 | { | 67 | { |
63 | int i = 0; | 68 | int i = 0; |
64 | do { lj_lib_checknum(L, ++i); } while (L->base+i < L->top); | 69 | do { lj_lib_checknumber(L, ++i); } while (L->base+i < L->top); |
65 | return FFH_RETRY; | 70 | return FFH_RETRY; |
66 | } | 71 | } |
67 | LJLIB_ASM_(math_max) LJLIB_REC(math_minmax IR_MAX) | 72 | LJLIB_ASM_(math_max) LJLIB_REC(math_minmax IR_MAX) |
@@ -137,13 +142,42 @@ LJLIB_CF(math_random) LJLIB_REC(.) | |||
137 | u.u64 = lj_math_random_step(rs); | 142 | u.u64 = lj_math_random_step(rs); |
138 | d = u.d - 1.0; | 143 | d = u.d - 1.0; |
139 | if (n > 0) { | 144 | if (n > 0) { |
145 | #if LJ_DUALNUM | ||
146 | int isint = 1; | ||
147 | double r1; | ||
148 | lj_lib_checknumber(L, 1); | ||
149 | if (tvisint(L->base)) { | ||
150 | r1 = (lua_Number)intV(L->base); | ||
151 | } else { | ||
152 | isint = 0; | ||
153 | r1 = numV(L->base); | ||
154 | } | ||
155 | #else | ||
140 | double r1 = lj_lib_checknum(L, 1); | 156 | double r1 = lj_lib_checknum(L, 1); |
157 | #endif | ||
141 | if (n == 1) { | 158 | if (n == 1) { |
142 | d = floor(d*r1) + 1.0; /* d is an int in range [1, r1] */ | 159 | d = floor(d*r1) + 1.0; /* d is an int in range [1, r1] */ |
143 | } else { | 160 | } else { |
161 | #if LJ_DUALNUM | ||
162 | double r2; | ||
163 | lj_lib_checknumber(L, 2); | ||
164 | if (tvisint(L->base+1)) { | ||
165 | r2 = (lua_Number)intV(L->base+1); | ||
166 | } else { | ||
167 | isint = 0; | ||
168 | r2 = numV(L->base+1); | ||
169 | } | ||
170 | #else | ||
144 | double r2 = lj_lib_checknum(L, 2); | 171 | double r2 = lj_lib_checknum(L, 2); |
172 | #endif | ||
145 | d = floor(d*(r2-r1+1.0)) + r1; /* d is an int in range [r1, r2] */ | 173 | d = floor(d*(r2-r1+1.0)) + r1; /* d is an int in range [r1, r2] */ |
146 | } | 174 | } |
175 | #if LJ_DUALNUM | ||
176 | if (isint) { | ||
177 | setintV(L->top-1, lj_num2int(d)); | ||
178 | return 1; | ||
179 | } | ||
180 | #endif | ||
147 | } /* else: d is a double in range [0, 1] */ | 181 | } /* else: d is a double in range [0, 1] */ |
148 | setnumV(L->top++, d); | 182 | setnumV(L->top++, d); |
149 | return 1; | 183 | return 1; |
diff --git a/src/lib_package.c b/src/lib_package.c index 48d4b140..71e0826b 100644 --- a/src/lib_package.c +++ b/src/lib_package.c | |||
@@ -217,7 +217,7 @@ static const char *searchpath (lua_State *L, const char *name, | |||
217 | lua_pushliteral(L, ""); /* error accumulator */ | 217 | lua_pushliteral(L, ""); /* error accumulator */ |
218 | while ((path = pushnexttemplate(L, path)) != NULL) { | 218 | while ((path = pushnexttemplate(L, path)) != NULL) { |
219 | const char *filename = luaL_gsub(L, lua_tostring(L, -1), | 219 | const char *filename = luaL_gsub(L, lua_tostring(L, -1), |
220 | LUA_PATH_MARK, name); | 220 | LUA_PATH_MARK, name); |
221 | lua_remove(L, -2); /* remove path template */ | 221 | lua_remove(L, -2); /* remove path template */ |
222 | if (readable(filename)) /* does file exist and is readable? */ | 222 | if (readable(filename)) /* does file exist and is readable? */ |
223 | return filename; /* return that file name */ | 223 | return filename; /* return that file name */ |
diff --git a/src/lib_string.c b/src/lib_string.c index 61f73060..e2396abb 100644 --- a/src/lib_string.c +++ b/src/lib_string.c | |||
@@ -702,6 +702,38 @@ static void addintlen(char *form) | |||
702 | form[l + sizeof(LUA_INTFRMLEN) - 1] = '\0'; | 702 | form[l + sizeof(LUA_INTFRMLEN) - 1] = '\0'; |
703 | } | 703 | } |
704 | 704 | ||
705 | static unsigned LUA_INTFRM_T num2intfrm(lua_State *L, int arg) | ||
706 | { | ||
707 | if (sizeof(LUA_INTFRM_T) == 4) { | ||
708 | return (LUA_INTFRM_T)lj_lib_checkbit(L, arg); | ||
709 | } else { | ||
710 | cTValue *o; | ||
711 | lj_lib_checknumber(L, arg); | ||
712 | o = L->base+arg-1; | ||
713 | if (tvisint(o)) | ||
714 | return (LUA_INTFRM_T)intV(o); | ||
715 | else | ||
716 | return (LUA_INTFRM_T)numV(o); | ||
717 | } | ||
718 | } | ||
719 | |||
720 | static unsigned LUA_INTFRM_T num2uintfrm(lua_State *L, int arg) | ||
721 | { | ||
722 | if (sizeof(LUA_INTFRM_T) == 4) { | ||
723 | return (unsigned LUA_INTFRM_T)lj_lib_checkbit(L, arg); | ||
724 | } else { | ||
725 | cTValue *o; | ||
726 | lj_lib_checknumber(L, arg); | ||
727 | o = L->base+arg-1; | ||
728 | if (tvisint(o)) | ||
729 | return (unsigned LUA_INTFRM_T)intV(o); | ||
730 | else if ((int32_t)o->u32.hi < 0) | ||
731 | return (unsigned LUA_INTFRM_T)(LUA_INTFRM_T)numV(o); | ||
732 | else | ||
733 | return (unsigned LUA_INTFRM_T)numV(o); | ||
734 | } | ||
735 | } | ||
736 | |||
705 | LJLIB_CF(string_format) | 737 | LJLIB_CF(string_format) |
706 | { | 738 | { |
707 | int arg = 1; | 739 | int arg = 1; |
@@ -726,11 +758,11 @@ LJLIB_CF(string_format) | |||
726 | break; | 758 | break; |
727 | case 'd': case 'i': | 759 | case 'd': case 'i': |
728 | addintlen(form); | 760 | addintlen(form); |
729 | sprintf(buff, form, (LUA_INTFRM_T)lj_lib_checknum(L, arg)); | 761 | sprintf(buff, form, num2intfrm(L, arg)); |
730 | break; | 762 | break; |
731 | case 'o': case 'u': case 'x': case 'X': | 763 | case 'o': case 'u': case 'x': case 'X': |
732 | addintlen(form); | 764 | addintlen(form); |
733 | sprintf(buff, form, (unsigned LUA_INTFRM_T)lj_lib_checknum(L, arg)); | 765 | sprintf(buff, form, num2uintfrm(L, arg)); |
734 | break; | 766 | break; |
735 | case 'e': case 'E': case 'f': case 'g': case 'G': { | 767 | case 'e': case 'E': case 'f': case 'g': case 'G': { |
736 | TValue tv; | 768 | TValue tv; |
diff --git a/src/lj_lib.c b/src/lj_lib.c index 930e59a0..655ad085 100644 --- a/src/lj_lib.c +++ b/src/lj_lib.c | |||
@@ -151,13 +151,29 @@ GCstr *lj_lib_optstr(lua_State *L, int narg) | |||
151 | return (o < L->top && !tvisnil(o)) ? lj_lib_checkstr(L, narg) : NULL; | 151 | return (o < L->top && !tvisnil(o)) ? lj_lib_checkstr(L, narg) : NULL; |
152 | } | 152 | } |
153 | 153 | ||
154 | #if LJ_DUALNUM | ||
155 | void lj_lib_checknumber(lua_State *L, int narg) | ||
156 | { | ||
157 | TValue *o = L->base + narg-1; | ||
158 | if (!(o < L->top && | ||
159 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) | ||
160 | lj_err_argt(L, narg, LUA_TNUMBER); | ||
161 | } | ||
162 | #endif | ||
163 | |||
154 | lua_Number lj_lib_checknum(lua_State *L, int narg) | 164 | lua_Number lj_lib_checknum(lua_State *L, int narg) |
155 | { | 165 | { |
156 | TValue *o = L->base + narg-1; | 166 | TValue *o = L->base + narg-1; |
157 | if (!(o < L->top && | 167 | if (!(o < L->top && |
158 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) | 168 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) |
159 | lj_err_argt(L, narg, LUA_TNUMBER); | 169 | lj_err_argt(L, narg, LUA_TNUMBER); |
160 | return numberVnum(o); | 170 | if (LJ_UNLIKELY(tvisint(o))) { |
171 | lua_Number n = (lua_Number)intV(o); | ||
172 | setnumV(o, n); | ||
173 | return n; | ||
174 | } else { | ||
175 | return numV(o); | ||
176 | } | ||
161 | } | 177 | } |
162 | 178 | ||
163 | int32_t lj_lib_checkint(lua_State *L, int narg) | 179 | int32_t lj_lib_checkint(lua_State *L, int narg) |
@@ -166,7 +182,13 @@ int32_t lj_lib_checkint(lua_State *L, int narg) | |||
166 | if (!(o < L->top && | 182 | if (!(o < L->top && |
167 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) | 183 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) |
168 | lj_err_argt(L, narg, LUA_TNUMBER); | 184 | lj_err_argt(L, narg, LUA_TNUMBER); |
169 | return numberVint(o); | 185 | if (LJ_LIKELY(tvisint(o))) { |
186 | return intV(o); | ||
187 | } else { | ||
188 | int32_t i = lj_num2int(numV(o)); | ||
189 | if (LJ_DUALNUM) setintV(o, i); | ||
190 | return i; | ||
191 | } | ||
170 | } | 192 | } |
171 | 193 | ||
172 | int32_t lj_lib_optint(lua_State *L, int narg, int32_t def) | 194 | int32_t lj_lib_optint(lua_State *L, int narg, int32_t def) |
@@ -175,6 +197,21 @@ int32_t lj_lib_optint(lua_State *L, int narg, int32_t def) | |||
175 | return (o < L->top && !tvisnil(o)) ? lj_lib_checkint(L, narg) : def; | 197 | return (o < L->top && !tvisnil(o)) ? lj_lib_checkint(L, narg) : def; |
176 | } | 198 | } |
177 | 199 | ||
200 | int32_t lj_lib_checkbit(lua_State *L, int narg) | ||
201 | { | ||
202 | TValue *o = L->base + narg-1; | ||
203 | if (!(o < L->top && | ||
204 | (tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o))))) | ||
205 | lj_err_argt(L, narg, LUA_TNUMBER); | ||
206 | if (LJ_LIKELY(tvisint(o))) { | ||
207 | return intV(o); | ||
208 | } else { | ||
209 | int32_t i = lj_num2bit(numV(o)); | ||
210 | if (LJ_DUALNUM) setintV(o, i); | ||
211 | return i; | ||
212 | } | ||
213 | } | ||
214 | |||
178 | GCfunc *lj_lib_checkfunc(lua_State *L, int narg) | 215 | GCfunc *lj_lib_checkfunc(lua_State *L, int narg) |
179 | { | 216 | { |
180 | TValue *o = L->base + narg-1; | 217 | TValue *o = L->base + narg-1; |
diff --git a/src/lj_lib.h b/src/lj_lib.h index ae4be384..2c30b68d 100644 --- a/src/lj_lib.h +++ b/src/lj_lib.h | |||
@@ -33,9 +33,15 @@ | |||
33 | LJ_FUNC TValue *lj_lib_checkany(lua_State *L, int narg); | 33 | LJ_FUNC TValue *lj_lib_checkany(lua_State *L, int narg); |
34 | LJ_FUNC GCstr *lj_lib_checkstr(lua_State *L, int narg); | 34 | LJ_FUNC GCstr *lj_lib_checkstr(lua_State *L, int narg); |
35 | LJ_FUNC GCstr *lj_lib_optstr(lua_State *L, int narg); | 35 | LJ_FUNC GCstr *lj_lib_optstr(lua_State *L, int narg); |
36 | #if LJ_DUALNUM | ||
37 | LJ_FUNC void lj_lib_checknumber(lua_State *L, int narg); | ||
38 | #else | ||
39 | #define lj_lib_checknumber(L, narg) lj_lib_checknum((L), (narg)) | ||
40 | #endif | ||
36 | LJ_FUNC lua_Number lj_lib_checknum(lua_State *L, int narg); | 41 | LJ_FUNC lua_Number lj_lib_checknum(lua_State *L, int narg); |
37 | LJ_FUNC int32_t lj_lib_checkint(lua_State *L, int narg); | 42 | LJ_FUNC int32_t lj_lib_checkint(lua_State *L, int narg); |
38 | LJ_FUNC int32_t lj_lib_optint(lua_State *L, int narg, int32_t def); | 43 | LJ_FUNC int32_t lj_lib_optint(lua_State *L, int narg, int32_t def); |
44 | LJ_FUNC int32_t lj_lib_checkbit(lua_State *L, int narg); | ||
39 | LJ_FUNC GCfunc *lj_lib_checkfunc(lua_State *L, int narg); | 45 | LJ_FUNC GCfunc *lj_lib_checkfunc(lua_State *L, int narg); |
40 | LJ_FUNC GCtab *lj_lib_checktab(lua_State *L, int narg); | 46 | LJ_FUNC GCtab *lj_lib_checktab(lua_State *L, int narg); |
41 | LJ_FUNC GCtab *lj_lib_checktabornil(lua_State *L, int narg); | 47 | LJ_FUNC GCtab *lj_lib_checktabornil(lua_State *L, int narg); |
diff --git a/src/lj_meta.c b/src/lj_meta.c index 32024e85..23f11f58 100644 --- a/src/lj_meta.c +++ b/src/lj_meta.c | |||
@@ -385,10 +385,21 @@ void lj_meta_call(lua_State *L, TValue *func, TValue *top) | |||
385 | } | 385 | } |
386 | 386 | ||
387 | /* Helper for FORI. Coercion. */ | 387 | /* Helper for FORI. Coercion. */ |
388 | void LJ_FASTCALL lj_meta_for(lua_State *L, TValue *base) | 388 | void LJ_FASTCALL lj_meta_for(lua_State *L, TValue *o) |
389 | { | 389 | { |
390 | if (!str2num(base, base)) lj_err_msg(L, LJ_ERR_FORINIT); | 390 | if (!(tvisnumber(o) || (tvisstr(o) && lj_str_tonumber(strV(o), o)))) |
391 | if (!str2num(base+1, base+1)) lj_err_msg(L, LJ_ERR_FORLIM); | 391 | lj_err_msg(L, LJ_ERR_FORINIT); |
392 | if (!str2num(base+2, base+2)) lj_err_msg(L, LJ_ERR_FORSTEP); | 392 | if (!(tvisnumber(o+1) || (tvisstr(o+1) && lj_str_tonumber(strV(o+1), o+1)))) |
393 | lj_err_msg(L, LJ_ERR_FORLIM); | ||
394 | if (!(tvisnumber(o+2) || (tvisstr(o+2) && lj_str_tonumber(strV(o+2), o+2)))) | ||
395 | lj_err_msg(L, LJ_ERR_FORSTEP); | ||
396 | #if LJ_DUALNUM | ||
397 | /* Ensure all slots are integers or all slots are numbers. */ | ||
398 | if (!(tvisint(o) && tvisint(o+1) && tvisint(o+2))) { | ||
399 | if (tvisint(o)) setnumV(o, (lua_Number)intV(o)); | ||
400 | if (tvisint(o+1)) setnumV(o+1, (lua_Number)intV(o+1)); | ||
401 | if (tvisint(o+2)) setnumV(o+2, (lua_Number)intV(o+2)); | ||
402 | } | ||
403 | #endif | ||
393 | } | 404 | } |
394 | 405 | ||
diff --git a/src/lj_parse.c b/src/lj_parse.c index cfc1a261..81c7c96e 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c | |||
@@ -935,6 +935,7 @@ static void bcemit_unop(FuncState *fs, BCOp op, ExpDesc *e) | |||
935 | setnumV(o, -(lua_Number)k); | 935 | setnumV(o, -(lua_Number)k); |
936 | else | 936 | else |
937 | setintV(o, -k); | 937 | setintV(o, -k); |
938 | return; | ||
938 | } else { | 939 | } else { |
939 | o->u64 ^= U64x(80000000,00000000); | 940 | o->u64 ^= U64x(80000000,00000000); |
940 | return; | 941 | return; |
diff --git a/src/lj_str.c b/src/lj_str.c index dea02858..febe6fbf 100644 --- a/src/lj_str.c +++ b/src/lj_str.c | |||
@@ -187,7 +187,7 @@ int LJ_FASTCALL lj_str_tonumber(GCstr *str, TValue *n) | |||
187 | int LJ_FASTCALL lj_str_numconv(const char *s, TValue *n) | 187 | int LJ_FASTCALL lj_str_numconv(const char *s, TValue *n) |
188 | { | 188 | { |
189 | #if LJ_DUALNUM | 189 | #if LJ_DUALNUM |
190 | int sign = 0; | 190 | int sign = 1; |
191 | #else | 191 | #else |
192 | lua_Number sign = 1; | 192 | lua_Number sign = 1; |
193 | #endif | 193 | #endif |
@@ -216,7 +216,7 @@ int LJ_FASTCALL lj_str_numconv(const char *s, TValue *n) | |||
216 | while (LJ_UNLIKELY(lj_char_isspace(*p))) p++; | 216 | while (LJ_UNLIKELY(lj_char_isspace(*p))) p++; |
217 | if (LJ_LIKELY(*p == '\0')) { | 217 | if (LJ_LIKELY(*p == '\0')) { |
218 | #if LJ_DUALNUM | 218 | #if LJ_DUALNUM |
219 | if (!sign) { | 219 | if (sign == 1) { |
220 | if (k < 0x80000000u) { | 220 | if (k < 0x80000000u) { |
221 | setintV(n, (int32_t)k); | 221 | setintV(n, (int32_t)k); |
222 | return 1; | 222 | return 1; |
@@ -225,10 +225,9 @@ int LJ_FASTCALL lj_str_numconv(const char *s, TValue *n) | |||
225 | setintV(n, -(int32_t)k); | 225 | setintV(n, -(int32_t)k); |
226 | return 1; | 226 | return 1; |
227 | } | 227 | } |
228 | #else | 228 | #endif |
229 | setnumV(n, sign * (lua_Number)k); | 229 | setnumV(n, sign * (lua_Number)k); |
230 | return 1; | 230 | return 1; |
231 | #endif | ||
232 | } | 231 | } |
233 | } | 232 | } |
234 | parsedbl: | 233 | parsedbl: |
diff --git a/src/lj_str.h b/src/lj_str.h index 406e2522..fc3d57f5 100644 --- a/src/lj_str.h +++ b/src/lj_str.h | |||
@@ -27,7 +27,7 @@ LJ_FUNC size_t LJ_FASTCALL lj_str_bufnum(char *s, cTValue *o); | |||
27 | LJ_FUNC char * LJ_FASTCALL lj_str_bufint(char *p, int32_t k); | 27 | LJ_FUNC char * LJ_FASTCALL lj_str_bufint(char *p, int32_t k); |
28 | LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnum(lua_State *L, const lua_Number *np); | 28 | LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnum(lua_State *L, const lua_Number *np); |
29 | LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromint(lua_State *L, int32_t k); | 29 | LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromint(lua_State *L, int32_t k); |
30 | LJ_FUNC GCstr * LJ_FASTCALL lj_str_fromnumber(lua_State *L, cTValue *o); | 30 | LJ_FUNCA GCstr * LJ_FASTCALL lj_str_fromnumber(lua_State *L, cTValue *o); |
31 | 31 | ||
32 | #define LJ_STR_INTBUF (1+10) | 32 | #define LJ_STR_INTBUF (1+10) |
33 | #define LJ_STR_NUMBUF LUAI_MAXNUMBER2STR | 33 | #define LJ_STR_NUMBUF LUAI_MAXNUMBER2STR |