diff options
author | Mike Pall <mike> | 2010-02-27 21:40:40 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-02-27 21:40:40 +0100 |
commit | 2144d55eb83f8b92732c3e5aa51ece61071a7b8f (patch) | |
tree | cffae5fd4a9843d6fd697596ef89046ac36f6488 /src | |
parent | ec78d3177e1b24c24a89f0e83c19eb3e3e0f8023 (diff) | |
download | luajit-2144d55eb83f8b92732c3e5aa51ece61071a7b8f.tar.gz luajit-2144d55eb83f8b92732c3e5aa51ece61071a7b8f.tar.bz2 luajit-2144d55eb83f8b92732c3e5aa51ece61071a7b8f.zip |
Save/restore remaining callee-save regs on trace<->interp transitions.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildvm_x64.h | 1327 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 884 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 79 | ||||
-rw-r--r-- | src/buildvm_x86.h | 656 | ||||
-rw-r--r-- | src/lj_frame.h | 8 | ||||
-rw-r--r-- | src/lj_target_x86.h | 4 |
6 files changed, 1511 insertions, 1447 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h index 485613e0..c394624d 100644 --- a/src/buildvm_x64.h +++ b/src/buildvm_x64.h | |||
@@ -12,87 +12,87 @@ | |||
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[13995] = { | 15 | static const unsigned char build_actionlist[14028] = { |
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,252,247,195,237,15,132,244,10,65,199, | 18 | 252,247,195,237,15,132,244,13,248,14,252,247,195,237,15,132,244,10,65,199, |
19 | 134,233,237,131,227,252,248,41,211,252,247,219,131,232,1,15,132,244,248,248, | 19 | 134,233,237,131,227,252,248,41,211,252,247,219,131,232,1,15,132,244,248,248, |
20 | 1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,131,194,8,131,232, | 20 | 1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,131,194,8,131,232, |
21 | 1,15,133,244,1,248,2,255,139,108,36,16,137,157,233,248,3,139,68,36,4,139, | 21 | 1,15,133,244,1,248,2,255,139,108,36,24,137,157,233,248,3,139,68,36,4,139, |
22 | 76,36,8,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,15, | 22 | 76,36,16,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248, |
23 | 72,139,76,36,32,72,137,141,233,49,192,248,16,72,131,196,40,65,94,65,95,91, | 23 | 15,72,139,76,36,32,72,137,141,233,49,192,248,16,72,131,196,40,65,94,65,95, |
24 | 93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237, | 24 | 91,93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237, |
25 | 131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141, | 25 | 131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141, |
26 | 20,202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232, | 26 | 20,202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232, |
27 | 251,1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18, | 27 | 251,1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18, |
28 | 139,108,36,16,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,231, | 28 | 139,108,36,24,139,173,233,199,133,233,237,252,233,244,16,248,19,72,129,231, |
29 | 239,72,137,252,252,248,20,139,108,36,16,72,199,193,252,248,252,255,252,255, | 29 | 239,72,137,252,252,248,20,139,108,36,24,72,199,193,252,248,252,255,252,255, |
30 | 252,255,184,237,255,139,149,233,68,139,181,233,65,129,198,239,139,90,252, | 30 | 252,255,184,237,255,139,149,233,68,139,181,233,65,129,198,239,139,90,252, |
31 | 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,21,190,237,252, | 31 | 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,21,190,237,252, |
32 | 233,244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252,248,248, | 32 | 233,244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252,248,248, |
33 | 1,15,182,139,233,131,195,4,137,149,233,137,133,233,255,137,92,36,20,137,206, | 33 | 1,15,182,139,233,131,195,4,137,149,233,137,133,233,255,137,92,36,28,137,206, |
34 | 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,139, | 34 | 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,139, |
35 | 90,252,252,41,208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15, | 35 | 90,252,252,41,208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15, |
36 | 182,205,131,195,4,65,252,255,36,252,238,248,24,85,83,65,87,65,86,72,131,252, | 36 | 182,205,131,195,4,65,252,255,36,252,238,248,24,85,83,65,87,65,86,72,131,252, |
37 | 236,40,137,252,253,137,124,36,16,137,252,241,187,237,49,192,76,141,188,253, | 37 | 236,40,137,252,253,137,124,36,24,137,252,241,187,237,49,192,76,141,188,253, |
38 | 36,233,68,139,181,233,65,129,198,239,76,137,189,233,137,68,36,20,72,137,68, | 38 | 36,233,68,139,181,233,65,129,198,239,76,137,189,233,137,68,36,28,72,137,68, |
39 | 36,32,137,68,36,8,137,68,36,12,56,133,233,15,132,244,249,65,199,134,233,237, | 39 | 36,32,137,68,36,16,137,68,36,20,56,133,233,15,132,244,249,65,199,134,233, |
40 | 136,133,233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139, | 40 | 237,136,133,233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209, |
41 | 90,252,252,137,68,36,4,252,247,195,237,15,132,244,13,255,252,233,244,14,248, | 41 | 139,90,252,252,137,68,36,4,252,247,195,237,15,132,244,13,255,252,233,244, |
42 | 25,85,83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,12,252,233,244,247, | 42 | 14,248,25,85,83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,20,252,233, |
43 | 248,26,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,8,137, | 43 | 244,247,248,26,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36, |
44 | 252,253,137,124,36,16,137,252,241,248,2,76,139,189,233,76,137,124,36,32,137, | 44 | 16,137,252,253,137,124,36,24,137,252,241,248,2,76,139,189,233,76,137,124, |
45 | 108,36,20,72,137,165,233,68,139,181,233,65,129,198,239,248,3,65,199,134,233, | 45 | 36,32,137,108,36,28,72,137,165,233,68,139,181,233,65,129,198,239,248,3,65, |
46 | 237,139,149,233,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,27, | 46 | 199,134,233,237,139,149,233,1,203,41,211,139,133,233,41,200,193,232,3,131, |
47 | 255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248,29,137,202, | 47 | 192,1,248,27,255,139,105,252,248,129,121,253,252,252,239,15,133,244,28,248, |
48 | 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65, | 48 | 29,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131, |
49 | 252,255,36,252,238,248,30,85,83,65,87,65,86,72,131,252,236,40,137,252,253, | 49 | 195,4,65,252,255,36,252,238,248,30,85,83,65,87,65,86,72,131,252,236,40,137, |
50 | 137,124,36,16,137,108,36,20,68,139,189,233,68,43,189,233,199,68,36,12,0,0, | 50 | 252,253,137,124,36,24,137,108,36,28,68,139,189,233,68,43,189,233,199,68,36, |
51 | 0,0,68,137,124,36,8,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255, | 51 | 20,0,0,0,0,68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233, |
52 | 209,133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131, | 52 | 252,255,209,133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1, |
53 | 227,252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244, | 53 | 209,131,227,252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93, |
54 | 72,99,77,252,240,76,141,61,245,76,1,252,249,68,139,122,252,248,69,139,191, | 54 | 252,244,72,99,77,252,240,76,141,61,245,76,1,252,249,68,139,122,252,248,69, |
55 | 233,255,69,139,191,233,252,255,225,248,31,15,182,75,252,255,131,252,237,16, | 55 | 139,191,233,255,69,139,191,233,252,255,225,248,31,15,182,75,252,255,131,252, |
56 | 141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233,3,139,124,36, | 56 | 237,16,141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233,3,139, |
57 | 16,137,151,233,137,202,139,72,4,139,0,137,77,4,137,69,0,137,252,238,252,233, | 57 | 124,36,24,137,151,233,137,202,139,72,4,139,0,137,77,4,137,69,0,137,252,238, |
58 | 244,33,248,34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15, | 58 | 252,233,244,33,248,34,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252, |
59 | 133,244,247,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248, | 59 | 235,15,133,244,247,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244, |
60 | 35,15,182,67,252,254,255,252,242,15,42,192,252,242,15,17,4,36,255,72,141, | 60 | 248,248,35,15,182,67,252,254,255,252,242,15,42,192,252,242,15,17,4,36,255, |
61 | 4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194,248,1,15,182,107, | 61 | 72,141,4,36,252,233,244,247,248,36,15,182,67,252,254,141,4,194,248,1,15,182, |
62 | 252,255,141,44,252,234,248,2,139,124,36,16,137,151,233,137,252,238,72,137, | 62 | 107,252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72, |
63 | 194,137,252,253,137,92,36,20,232,251,1,1,139,149,233,133,192,15,132,244,249, | 63 | 137,194,137,252,253,137,92,36,28,232,251,1,1,139,149,233,133,192,15,132,244, |
64 | 248,32,15,182,75,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139,3,15, | 64 | 249,248,32,15,182,75,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139, |
65 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141, | 65 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3, |
66 | 233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252,233,244, | 66 | 139,141,233,137,89,252,244,141,153,233,41,211,139,105,252,248,184,237,252, |
67 | 29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235,15,133, | 67 | 233,244,29,248,37,137,4,36,199,68,36,4,237,72,141,4,36,128,123,252,252,235, |
68 | 244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244,248,248, | 68 | 15,133,244,247,255,65,141,142,233,137,41,199,65,4,237,137,205,252,233,244, |
69 | 38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182,67,252, | 69 | 248,248,38,15,182,67,252,254,255,72,141,4,36,252,233,244,247,248,39,15,182, |
70 | 254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124,36,16, | 70 | 67,252,254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,248,2,139,124, |
71 | 137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,20,232,251,1,2,139, | 71 | 36,24,137,151,233,137,252,238,72,137,194,137,252,253,137,92,36,28,232,251, |
72 | 149,233,133,192,15,132,244,249,15,182,75,252,253,139,108,202,4,139,12,202, | 72 | 1,2,139,149,233,133,192,15,132,244,249,15,182,75,252,253,139,108,202,4,139, |
73 | 137,104,4,137,8,248,40,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, | 73 | 12,202,137,104,4,137,8,248,40,139,3,15,182,204,15,182,232,131,195,4,193,232, |
74 | 252,255,36,252,238,248,3,139,141,233,137,89,252,244,15,182,67,252,253,139, | 74 | 16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,15,182,67,252,253, |
75 | 108,194,4,139,4,194,137,105,20,137,65,16,141,153,233,41,211,139,105,252,248, | 75 | 139,108,194,4,139,4,194,137,105,20,137,65,16,141,153,233,41,211,139,105,252, |
76 | 184,237,252,233,244,29,248,41,139,108,36,16,137,149,233,141,52,202,141,20, | 76 | 248,184,237,252,233,244,29,248,41,139,108,36,24,137,149,233,141,52,202,141, |
77 | 194,137,252,239,15,182,75,252,252,137,92,36,20,232,251,1,3,248,3,139,149, | 77 | 20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,3,248,3,139,149, |
78 | 233,255,131,252,248,1,15,135,244,42,248,4,141,91,4,15,130,244,252,248,5,15, | 78 | 233,255,131,252,248,1,15,135,244,42,248,4,141,91,4,15,130,244,252,248,5,15, |
79 | 183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182,232,131, | 79 | 183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182,232,131, |
80 | 195,4,193,232,16,65,252,255,36,252,238,248,43,131,195,4,129,120,253,4,239, | 80 | 195,4,193,232,16,65,252,255,36,252,238,248,43,131,195,4,129,120,253,4,239, |
81 | 15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,233,244,4,248,45, | 81 | 15,130,244,5,252,233,244,6,248,44,129,120,253,4,239,252,233,244,4,248,45, |
82 | 131,252,235,4,137,206,137,252,233,139,108,36,16,137,149,233,255,137,194,137, | 82 | 131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255,137,194,137, |
83 | 252,239,137,92,36,20,232,251,1,4,252,233,244,3,248,46,65,141,4,199,252,233, | 83 | 252,239,137,92,36,28,232,251,1,4,252,233,244,3,248,46,65,141,4,199,252,233, |
84 | 244,247,248,47,65,141,4,199,141,44,252,234,149,252,233,244,248,248,48,141, | 84 | 244,247,248,47,65,141,4,199,141,44,252,234,149,252,233,244,248,248,48,141, |
85 | 4,194,137,197,252,233,244,248,248,49,141,4,194,248,1,141,44,252,234,248,2, | 85 | 4,194,137,197,252,233,244,248,248,49,141,4,194,248,1,141,44,252,234,248,2, |
86 | 141,12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,16,137,151,233, | 86 | 141,12,202,68,15,182,67,252,252,137,206,137,193,139,124,36,24,137,151,233, |
87 | 137,252,234,137,252,253,137,92,36,20,232,251,1,5,139,149,233,133,192,15,132, | 87 | 137,252,234,137,252,253,137,92,36,28,232,251,1,5,139,149,233,133,192,15,132, |
88 | 244,40,248,42,137,193,41,208,137,89,252,244,141,152,233,255,184,237,252,233, | 88 | 244,40,248,42,137,193,41,208,137,89,252,244,141,152,233,255,184,237,252,233, |
89 | 244,27,248,50,139,108,36,16,137,149,233,141,52,194,137,252,239,137,92,36, | 89 | 244,27,248,50,139,108,36,24,137,149,233,141,52,194,137,252,239,137,92,36, |
90 | 20,232,251,1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137, | 90 | 28,232,251,1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137, |
91 | 76,36,4,137,4,36,131,252,233,8,139,108,36,16,137,149,233,137,206,141,20,193, | 91 | 76,36,4,137,4,36,131,252,233,8,139,108,36,24,137,149,233,137,206,141,20,193, |
92 | 137,252,239,137,92,36,20,232,251,1,7,139,149,233,139,76,36,4,139,4,36,139, | 92 | 137,252,239,137,92,36,28,232,251,1,7,139,149,233,139,76,36,4,139,4,36,139, |
93 | 105,252,248,131,192,1,65,57,215,15,132,244,52,137,202,137,90,252,252,139, | 93 | 105,252,248,131,192,1,65,57,215,15,132,244,52,137,202,137,90,252,252,139, |
94 | 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, | 94 | 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238, |
95 | 248,53,139,108,36,16,137,149,233,137,206,137,252,239,137,92,36,20,232,251, | 95 | 248,53,139,108,36,24,137,149,233,137,206,137,252,239,137,92,36,28,232,251, |
96 | 1,8,139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255, | 96 | 1,8,139,149,233,139,67,252,252,15,182,204,15,182,232,193,232,16,65,252,255, |
97 | 164,253,252,238,233,248,54,255,129,252,248,239,15,130,244,55,139,106,4,129, | 97 | 164,253,252,238,233,248,54,255,129,252,248,239,15,130,244,55,139,106,4,129, |
98 | 252,253,239,15,131,244,55,139,90,252,252,137,68,36,4,137,106,252,252,139, | 98 | 252,253,239,15,131,244,55,139,90,252,252,137,68,36,4,137,106,252,252,139, |
@@ -116,7 +116,7 @@ static const unsigned char build_actionlist[13995] = { | |||
116 | 8,137,133,233,139,90,252,252,199,66,252,252,237,137,106,252,248,252,246,133, | 116 | 8,137,133,233,139,90,252,252,199,66,252,252,237,137,106,252,248,252,246,133, |
117 | 233,235,15,132,244,247,128,165,233,235,255,65,139,134,233,65,137,174,233, | 117 | 233,235,15,132,244,247,128,165,233,235,255,65,139,134,233,65,137,174,233, |
118 | 137,133,233,248,1,252,233,244,58,248,61,129,252,248,239,15,130,244,55,129, | 118 | 137,133,233,248,1,252,233,244,58,248,61,129,252,248,239,15,130,244,55,129, |
119 | 122,253,4,239,15,133,244,55,137,213,139,50,141,82,8,139,124,36,16,232,251, | 119 | 122,253,4,239,15,133,244,55,137,213,139,50,141,82,8,139,124,36,24,232,251, |
120 | 1,9,137,252,234,139,40,139,64,4,139,90,252,252,137,106,252,248,137,66,252, | 120 | 1,9,137,252,234,139,40,139,64,4,139,90,252,252,137,106,252,248,137,66,252, |
121 | 252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239, | 121 | 252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239, |
122 | 255,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244, | 122 | 255,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244, |
@@ -124,10 +124,10 @@ static const unsigned char build_actionlist[13995] = { | |||
124 | 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233, | 124 | 239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233, |
125 | 244,58,248,3,129,122,253,4,239,15,135,244,55,65,131,190,233,0,15,133,244, | 125 | 244,58,248,3,129,122,253,4,239,15,135,244,55,65,131,190,233,0,15,133,244, |
126 | 55,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,66,248,1,139,108, | 126 | 55,65,139,174,233,65,59,174,233,255,15,130,244,247,232,244,66,248,1,139,108, |
127 | 36,16,137,149,233,137,92,36,20,137,214,137,252,239,232,251,1,10,139,149,233, | 127 | 36,24,137,149,233,137,92,36,28,137,214,137,252,239,232,251,1,10,139,149,233, |
128 | 252,233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129, | 128 | 252,233,244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129, |
129 | 122,253,4,239,15,133,244,55,139,108,36,16,137,149,233,255,139,90,252,252, | 129 | 122,253,4,239,15,133,244,55,139,108,36,24,137,149,233,255,139,90,252,252, |
130 | 139,50,141,82,8,137,252,239,137,92,36,20,232,251,1,11,139,149,233,133,192, | 130 | 139,50,141,82,8,137,252,239,137,92,36,28,232,251,1,11,139,149,233,133,192, |
131 | 15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106, | 131 | 15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106, |
132 | 16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,66,12, | 132 | 16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,66,12, |
133 | 237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,252, | 133 | 237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,252, |
@@ -148,36 +148,36 @@ static const unsigned char build_actionlist[13995] = { | |||
148 | 235,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239, | 148 | 235,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239, |
149 | 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106, | 149 | 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,90,8,137,106, |
150 | 8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,76,129,252,248,239, | 150 | 8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,76,129,252,248,239, |
151 | 15,130,244,55,139,42,139,90,252,252,137,92,36,20,137,44,36,129,122,253,4, | 151 | 15,130,244,55,139,42,139,90,252,252,137,92,36,28,137,44,36,129,122,253,4, |
152 | 239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235,15,135,244, | 152 | 239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235,15,135,244, |
153 | 55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,1,141,92,193, | 153 | 55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248,1,141,92,193, |
154 | 252,240,59,157,233,15,135,244,55,137,157,233,139,108,36,16,137,149,233,131, | 154 | 252,240,59,157,233,15,135,244,55,137,157,233,139,108,36,24,137,149,233,131, |
155 | 194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,139, | 155 | 194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244,249,248,2,139, |
156 | 68,43,4,137,67,252,252,139,4,43,137,67,252,248,131,252,235,8,57,203,15,133, | 156 | 68,43,4,137,67,252,252,139,4,43,137,67,252,248,131,252,235,8,57,203,15,133, |
157 | 244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,255,139,108,36, | 157 | 244,2,248,3,137,206,139,60,36,232,244,24,65,199,134,233,237,255,139,108,36, |
158 | 16,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233, | 158 | 24,139,28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233, |
159 | 68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26, | 159 | 68,139,187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26, |
160 | 193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,139,1,137, | 160 | 193,252,235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,139,1,137, |
161 | 4,41,139,65,4,137,68,41,4,131,193,8,68,57,252,249,15,133,244,5,248,6,141, | 161 | 4,41,139,65,4,137,68,41,4,131,193,8,68,57,252,249,15,133,244,5,248,6,141, |
162 | 67,2,199,66,252,252,237,248,7,139,92,36,20,137,68,36,4,72,199,193,252,248, | 162 | 67,2,199,66,252,252,237,248,7,139,92,36,28,137,68,36,4,72,199,193,252,248, |
163 | 252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,14, | 163 | 252,255,252,255,252,255,252,247,195,237,255,15,132,244,13,252,233,244,14, |
164 | 248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,139,1,137, | 164 | 248,8,199,66,252,252,237,139,139,233,131,252,233,8,137,139,233,139,1,137, |
165 | 2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233, | 165 | 2,139,65,4,137,66,4,184,237,252,233,244,7,248,9,139,12,36,68,137,185,233, |
166 | 137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4,248,77,139,106, | 166 | 137,222,137,252,239,232,251,1,0,139,149,233,252,233,244,4,248,77,139,106, |
167 | 252,248,139,173,233,139,90,252,252,137,92,36,20,137,44,36,72,131,189,233, | 167 | 252,248,139,173,233,139,90,252,252,137,92,36,28,137,44,36,72,131,189,233, |
168 | 0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,233,15,132,244, | 168 | 0,15,133,244,55,255,128,189,233,235,15,135,244,55,139,141,233,15,132,244, |
169 | 247,59,141,233,15,132,244,55,248,1,141,92,193,252,248,59,157,233,15,135,244, | 169 | 247,59,141,233,15,132,244,55,248,1,141,92,193,252,248,59,157,233,15,135,244, |
170 | 55,137,157,233,139,108,36,16,137,149,233,137,149,233,141,108,194,252,240, | 170 | 55,137,157,233,139,108,36,24,137,149,233,137,149,233,141,108,194,252,240, |
171 | 72,41,221,57,203,15,132,244,249,248,2,255,139,68,43,4,137,67,252,252,139, | 171 | 72,41,221,57,203,15,132,244,249,248,2,255,139,68,43,4,137,67,252,252,139, |
172 | 4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60, | 172 | 4,43,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,137,206,139,60, |
173 | 36,232,244,24,65,199,134,233,237,139,108,36,16,139,28,36,139,149,233,129, | 173 | 36,232,244,24,65,199,134,233,237,139,108,36,24,139,28,36,139,149,233,129, |
174 | 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, | 174 | 252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,139,233,68, |
175 | 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, | 175 | 137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,233,15,135, |
176 | 244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131, | 176 | 244,255,255,137,213,72,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,4,131, |
177 | 193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,20,137,68, | 177 | 193,8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68, |
178 | 36,4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137, | 178 | 36,4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137, |
179 | 252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232, | 179 | 252,239,232,251,1,13,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232, |
180 | 251,1,0,139,149,233,252,233,244,4,248,78,139,108,36,16,72,252,247,133,233, | 180 | 251,1,0,139,149,233,252,233,244,4,248,78,139,108,36,24,72,252,247,133,233, |
181 | 237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, | 181 | 237,15,132,244,55,255,137,149,233,141,68,194,252,248,137,133,233,49,192,72, |
182 | 137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,90,252,252, | 182 | 137,133,233,176,235,136,133,233,252,233,244,16,255,248,64,139,90,252,252, |
183 | 221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122, | 183 | 221,90,252,248,252,233,244,58,248,79,129,252,248,239,15,130,244,55,129,122, |
@@ -266,42 +266,42 @@ static const unsigned char build_actionlist[13995] = { | |||
266 | 252,233,244,64,255,248,112,65,139,174,233,65,59,174,233,15,130,244,247,232, | 266 | 252,233,244,64,255,248,112,65,139,174,233,65,59,174,233,15,130,244,247,232, |
267 | 244,66,248,1,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55, | 267 | 244,66,248,1,129,252,248,239,15,133,244,55,129,122,253,4,239,15,135,244,55, |
268 | 255,252,242,15,45,2,61,252,255,0,0,0,15,135,244,55,137,68,36,4,255,221,2, | 268 | 255,252,242,15,45,2,61,252,255,0,0,0,15,135,244,55,137,68,36,4,255,221,2, |
269 | 219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,244,55,255,199,68,36,24,1,0, | 269 | 219,92,36,4,129,124,36,4,252,255,0,0,0,15,135,244,55,255,199,68,36,8,1,0, |
270 | 0,0,72,141,68,36,4,248,113,139,108,36,16,137,149,233,139,84,36,24,72,137, | 270 | 0,0,72,141,68,36,4,248,113,139,108,36,24,137,149,233,139,84,36,8,72,137,198, |
271 | 198,137,252,239,137,92,36,20,232,251,1,17,139,149,233,139,90,252,252,199, | 271 | 137,252,239,137,92,36,28,232,251,1,17,139,149,233,139,90,252,252,199,66,252, |
272 | 66,252,252,237,137,66,252,248,252,233,244,58,248,114,65,139,174,233,65,59, | 272 | 252,237,137,66,252,248,252,233,244,58,248,114,65,139,174,233,65,59,174,233, |
273 | 174,233,15,130,244,247,232,244,66,248,1,199,68,36,4,252,255,252,255,252,255, | 273 | 15,130,244,247,232,244,66,248,1,199,68,36,4,252,255,252,255,252,255,252,255, |
274 | 252,255,129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255, | 274 | 129,252,248,239,15,130,244,55,15,134,244,247,129,122,253,20,239,255,252,242, |
275 | 252,242,15,45,106,16,137,108,36,4,255,221,66,16,219,92,36,4,255,248,1,129, | 275 | 15,45,106,16,137,108,36,4,255,221,66,16,219,92,36,4,255,248,1,129,122,253, |
276 | 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108, | 276 | 4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,137,108,36,8, |
277 | 36,24,139,173,233,255,252,242,15,45,74,8,255,139,68,36,4,57,197,15,130,244, | 277 | 139,173,233,255,252,242,15,45,74,8,255,139,68,36,4,57,197,15,130,244,251, |
278 | 251,248,2,133,201,15,142,244,253,248,3,139,108,36,24,41,200,15,140,244,115, | 278 | 248,2,133,201,15,142,244,253,248,3,139,108,36,8,41,200,15,140,244,115,141, |
279 | 141,172,253,13,233,131,192,1,248,4,137,68,36,24,137,232,252,233,244,113,248, | 279 | 172,253,13,233,131,192,1,248,4,137,68,36,8,137,232,252,233,244,113,248,5, |
280 | 5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, | 280 | 15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,252,233,244,2,248, |
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, | 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, |
282 | 233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244, | 282 | 233,244,3,248,115,49,192,252,233,244,4,248,116,129,252,248,239,15,130,244, |
283 | 55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,255,129,122, | 283 | 55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,255,129,122, |
284 | 253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,255,252,242, | 284 | 253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,42,255,252,242, |
285 | 15,45,66,8,255,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,115, | 285 | 15,45,66,8,255,221,66,8,219,92,36,4,139,68,36,4,255,133,192,15,142,244,115, |
286 | 131,189,233,1,15,130,244,115,15,133,244,117,65,57,134,233,15,130,244,117, | 286 | 131,189,233,1,15,130,244,115,15,133,244,117,65,57,134,233,15,130,244,117, |
287 | 15,182,141,233,65,139,174,233,137,68,36,24,248,1,136,77,0,131,197,1,131,232, | 287 | 15,182,141,233,65,139,174,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232, |
288 | 1,15,133,244,1,65,139,134,233,252,233,244,113,248,118,129,252,248,239,255, | 288 | 1,15,133,244,1,65,139,134,233,252,233,244,113,248,118,129,252,248,239,255, |
289 | 15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248, | 289 | 15,130,244,55,65,139,174,233,65,59,174,233,15,130,244,247,232,244,66,248, |
290 | 1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,133,192,15,132,244,115, | 290 | 1,129,122,253,4,239,15,133,244,55,139,42,139,133,233,133,192,15,132,244,115, |
291 | 65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,36,24,65,139, | 291 | 65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,36,8,65,139,158, |
292 | 158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137, | 292 | 233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,12,3,15,133,244,1,137,216, |
293 | 216,139,92,36,4,252,233,244,113,248,120,129,252,248,239,15,130,244,55,65, | 293 | 139,92,36,4,252,233,244,113,248,120,129,252,248,239,15,130,244,55,65,139, |
294 | 139,174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239, | 294 | 174,233,65,59,174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15, |
295 | 15,133,244,55,139,42,139,133,233,65,57,134,233,255,15,130,244,119,129,197, | 295 | 133,244,55,139,42,139,133,233,65,57,134,233,255,15,130,244,119,129,197,239, |
296 | 239,137,92,36,4,137,68,36,24,65,139,158,233,252,233,244,249,248,1,15,182, | 296 | 137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,76,5, |
297 | 76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252, | 297 | 0,131,252,249,65,15,130,244,248,131,252,249,90,15,135,244,248,131,252,241, |
298 | 241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252, | 298 | 32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233, |
299 | 233,244,113,248,121,129,252,248,239,15,130,244,55,255,65,139,174,233,65,59, | 299 | 244,113,248,121,129,252,248,239,15,130,244,55,255,65,139,174,233,65,59,174, |
300 | 174,233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139, | 300 | 233,15,130,244,247,232,244,66,248,1,129,122,253,4,239,15,133,244,55,139,42, |
301 | 42,139,133,233,65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68, | 301 | 139,133,233,65,57,134,233,15,130,244,119,129,197,239,137,92,36,4,137,68,36, |
302 | 36,24,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15, | 302 | 8,65,139,158,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,97,15,130, |
303 | 130,244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12, | 303 | 244,248,255,131,252,249,122,15,135,244,248,131,252,241,32,248,2,136,12,3, |
304 | 3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,113,248,122, | 304 | 248,3,131,232,1,15,137,244,1,137,216,139,92,36,4,252,233,244,113,248,122, |
305 | 129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,137,213,139, | 305 | 129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,137,213,139, |
306 | 58,232,251,1,18,137,252,234,255,252,242,15,42,192,252,233,244,63,255,248, | 306 | 58,232,251,1,18,137,252,234,255,252,242,15,42,192,252,233,244,63,255,248, |
307 | 123,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, | 307 | 123,129,252,248,239,15,130,244,55,129,122,253,4,239,15,135,244,55,252,242, |
@@ -342,8 +342,8 @@ static const unsigned char build_actionlist[13995] = { | |||
342 | 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16, | 342 | 135,244,55,129,122,253,12,239,15,135,244,55,252,242,15,16,2,252,242,15,16, |
343 | 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, | 343 | 74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202, |
344 | 137,200,102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,125, | 344 | 137,200,102,15,126,197,102,15,126,201,255,211,205,137,193,252,233,244,125, |
345 | 248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36,16,139,90, | 345 | 248,117,184,237,252,233,244,55,248,119,184,237,248,55,139,108,36,24,139,90, |
346 | 252,252,137,92,36,20,137,149,233,141,68,194,252,248,141,136,233,137,133,233, | 346 | 252,252,137,92,36,28,137,149,233,141,68,194,252,248,141,136,233,137,133,233, |
347 | 139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139, | 347 | 139,66,252,248,59,141,233,15,135,244,251,137,252,239,252,255,144,233,139, |
348 | 149,233,133,192,15,133,244,69,248,1,255,139,133,233,41,208,193,232,3,131, | 348 | 149,233,133,192,15,133,244,69,248,1,255,139,133,233,41,208,193,232,3,131, |
349 | 192,1,139,106,252,248,57,90,252,252,15,133,244,248,139,157,233,139,11,15, | 349 | 192,1,139,106,252,248,57,90,252,252,15,133,244,248,139,157,233,139,11,15, |
@@ -351,21 +351,21 @@ static const unsigned char build_actionlist[13995] = { | |||
351 | 247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234, | 351 | 247,195,237,15,133,244,249,15,182,107,252,253,72,252,247,213,141,20,252,234, |
352 | 252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,248, | 352 | 252,233,244,27,248,3,137,221,131,229,252,248,41,252,234,252,233,244,27,248, |
353 | 5,190,237,137,252,239,232,251,1,0,139,149,233,252,233,244,1,248,66,93,72, | 353 | 5,190,237,137,252,239,232,251,1,0,139,149,233,252,233,244,1,248,66,93,72, |
354 | 137,108,36,24,139,108,36,16,137,92,36,20,137,149,233,255,141,68,194,252,248, | 354 | 137,108,36,8,139,108,36,24,137,92,36,28,137,149,233,255,141,68,194,252,248, |
355 | 137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208,193,232, | 355 | 137,252,239,137,133,233,232,251,1,19,139,149,233,139,133,233,41,208,193,232, |
356 | 3,131,192,1,72,139,108,36,24,85,195,248,136,255,65,15,182,134,233,168,235, | 356 | 3,131,192,1,72,139,108,36,8,85,195,248,136,255,65,15,182,134,233,168,235, |
357 | 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, | 357 | 15,133,244,251,168,235,15,133,244,247,168,235,15,132,244,247,65,252,255,142, |
358 | 233,252,233,244,247,255,248,137,65,15,182,134,233,168,235,15,133,244,251, | 358 | 233,252,233,244,247,255,248,137,65,15,182,134,233,168,235,15,133,244,251, |
359 | 252,233,244,247,248,138,65,15,182,134,233,168,235,15,133,244,251,168,235, | 359 | 252,233,244,247,248,138,65,15,182,134,233,168,235,15,133,244,251,168,235, |
360 | 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, | 360 | 15,132,244,251,65,252,255,142,233,15,132,244,247,168,235,15,132,244,251,248, |
361 | 1,255,139,108,36,16,137,149,233,137,222,137,252,239,232,251,1,20,248,3,139, | 361 | 1,255,139,108,36,24,137,149,233,137,222,137,252,239,232,251,1,20,248,3,139, |
362 | 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, | 362 | 149,233,248,4,15,182,75,252,253,248,5,15,182,107,252,252,15,183,67,252,254, |
363 | 65,252,255,164,253,252,238,233,248,139,131,195,4,139,77,232,137,76,36,4,252, | 363 | 65,252,255,164,253,252,238,233,248,139,131,195,4,139,77,232,137,76,36,4,252, |
364 | 233,244,4,248,140,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, | 364 | 233,244,4,248,140,255,139,106,252,248,139,173,233,15,182,133,233,141,4,194, |
365 | 139,108,36,16,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, | 365 | 139,108,36,24,137,149,233,137,133,233,137,222,65,141,190,233,73,137,174,233, |
366 | 137,92,36,20,232,251,1,21,252,233,244,3,255,248,141,137,92,36,20,255,248, | 366 | 137,92,36,28,232,251,1,21,252,233,244,3,255,248,141,137,92,36,28,255,248, |
367 | 142,255,137,92,36,20,131,203,1,248,1,255,141,68,194,252,248,139,108,36,16, | 367 | 142,255,137,92,36,28,131,203,1,248,1,255,141,68,194,252,248,139,108,36,24, |
368 | 137,149,233,137,133,233,137,222,137,252,239,232,251,1,22,199,68,36,20,0,0, | 368 | 137,149,233,137,133,233,137,222,137,252,239,232,251,1,22,199,68,36,28,0,0, |
369 | 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, | 369 | 0,0,255,131,227,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72, |
370 | 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,143,255,65, | 370 | 137,205,15,182,75,252,253,193,232,3,131,192,1,252,255,229,248,143,255,65, |
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, | 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, |
@@ -378,253 +378,254 @@ static const unsigned char build_actionlist[13995] = { | |||
378 | 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, | 378 | 168,252,242,15,17,101,160,252,242,15,17,93,152,252,242,15,17,85,144,252,242, |
379 | 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, | 379 | 15,17,77,136,252,242,15,17,69,128,65,139,174,233,65,139,150,233,73,137,174, |
380 | 233,137,149,233,72,137,230,65,141,190,233,232,251,1,23,72,139,141,233,72, | 380 | 233,137,149,233,72,137,230,65,141,190,233,232,251,1,23,72,139,141,233,72, |
381 | 129,225,239,72,137,204,137,108,36,16,133,192,15,133,244,247,139,149,233,139, | 381 | 129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,247, |
382 | 92,36,20,255,248,144,255,68,139,122,252,248,69,139,191,233,69,139,191,233, | 382 | 255,248,144,255,49,192,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133, |
383 | 65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,131, | 383 | 192,15,133,244,248,68,139,122,252,248,69,139,191,233,69,139,191,233,65,199, |
384 | 195,4,193,232,16,65,252,255,36,252,238,248,1,137,252,239,137,198,232,251, | 384 | 134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,131,195,4, |
385 | 1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102, | 385 | 193,232,16,65,252,255,36,252,238,248,2,137,252,239,137,198,232,251,1,24,255, |
386 | 37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, | 386 | 248,82,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252, |
387 | 139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237, | 387 | 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68, |
388 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | 388 | 36,8,195,255,248,145,72,184,237,237,102,72,15,110,208,72,184,237,237,102, |
389 | 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237, | 389 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, |
390 | 102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15, | 390 | 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102, |
391 | 40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68, | 391 | 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40, |
392 | 36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217, | 392 | 193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36, |
393 | 108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72, | 393 | 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108, |
394 | 184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134, | 394 | 36,4,139,68,36,8,195,255,248,146,72,184,237,237,102,72,15,110,208,72,184, |
395 | 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72, | 395 | 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244, |
396 | 184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242, | 396 | 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184, |
397 | 15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184, | 397 | 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92, |
398 | 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4, | 398 | 200,15,40,193,248,1,195,248,104,255,217,124,36,4,137,68,36,8,102,184,0,12, |
399 | 139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237, | 399 | 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139, |
400 | 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | 400 | 68,36,8,195,255,248,147,72,184,237,237,102,72,15,110,208,72,184,237,237,102, |
401 | 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102, | 401 | 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15, |
402 | 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15, | 402 | 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72, |
403 | 86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184, | 403 | 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86, |
404 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102, | 404 | 202,15,40,193,248,1,195,248,148,255,15,40,232,252,242,15,94,193,72,184,237, |
405 | 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252, | 405 | 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84, |
406 | 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194, | 406 | 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242, |
407 | 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242, | 407 | 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196, |
408 | 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255, | 408 | 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15, |
409 | 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255, | 409 | 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217, |
410 | 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222, | 410 | 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252, |
411 | 252,233,195,255,248,88,217,252,234,222,201,248,149,217,84,36,252,248,129, | 411 | 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252, |
412 | 124,36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252, | 412 | 233,195,255,248,88,217,252,234,222,201,248,149,217,84,36,252,248,129,124, |
413 | 255,15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252, | 413 | 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255, |
414 | 240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238, | 414 | 15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,240, |
415 | 195,255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46, | 415 | 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, |
416 | 202,15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248, | 416 | 255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202, |
417 | 1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248, | 417 | 15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1, |
418 | 2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132, | 418 | 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, |
419 | 244,250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15, | 419 | 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, |
420 | 89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102, | 420 | 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, |
421 | 72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15, | 421 | 193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72, |
422 | 132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8, | 422 | 15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132, |
423 | 102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244, | 423 | 244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102, |
424 | 248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252, | 424 | 72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248, |
425 | 254,15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,17,68,36, | 425 | 255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,254, |
426 | 252,248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,217,252,252, | 426 | 15,0,0,15,132,244,251,252,242,15,17,76,36,252,240,252,242,15,17,68,36,252, |
427 | 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92, | 427 | 248,221,68,36,252,240,221,68,36,252,248,217,252,241,217,192,217,252,252,220, |
428 | 36,252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15, | 428 | 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36, |
429 | 110,208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237, | 429 | 252,248,252,242,15,16,68,36,252,248,195,248,9,72,184,237,237,102,72,15,110, |
430 | 237,102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102, | 430 | 208,102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237, |
431 | 15,46,194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224, | 431 | 102,72,15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46, |
432 | 15,133,244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15, | 432 | 194,15,132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133, |
433 | 80,193,133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15, | 433 | 244,1,248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193, |
434 | 132,244,3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15,132,244, | 434 | 133,192,15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244, |
435 | 84,131,252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248, | 435 | 3,15,87,192,195,248,153,255,131,252,255,1,15,130,244,82,15,132,244,84,131, |
436 | 2,252,242,15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15,135,244, | 436 | 252,255,3,15,130,244,104,15,135,244,248,252,242,15,81,192,195,248,2,252,242, |
437 | 248,15,132,244,247,232,244,88,252,233,244,253,248,1,232,244,149,255,252,233, | 437 | 15,17,68,36,252,248,221,68,36,252,248,131,252,255,5,15,135,244,248,15,132, |
438 | 244,253,248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217, | 438 | 244,247,232,244,88,252,233,244,253,248,1,232,244,149,255,252,233,244,253, |
439 | 201,217,252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233, | 439 | 248,2,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217, |
440 | 244,253,248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252,236,217, | 440 | 252,241,252,233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253, |
441 | 201,217,252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248, | 441 | 248,2,131,252,255,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217, |
442 | 2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253, | 442 | 252,241,252,233,244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252, |
443 | 248,1,217,252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68,36,252, | 443 | 255,11,15,132,244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217, |
444 | 248,195,255,139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82,15,132, | 444 | 252,242,221,216,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,255, |
445 | 244,84,131,252,255,3,15,130,244,104,15,135,244,248,217,252,250,195,248,2, | 445 | 139,124,36,12,221,68,36,4,131,252,255,1,15,130,244,82,15,132,244,84,131,252, |
446 | 131,252,255,5,15,130,244,88,15,132,244,149,131,252,255,7,15,132,244,247,15, | 446 | 255,3,15,130,244,104,15,135,244,248,217,252,250,195,248,2,131,252,255,5,15, |
447 | 135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,217,201,217, | 447 | 130,244,88,15,132,244,149,131,252,255,7,15,132,244,247,15,135,244,248,217, |
448 | 252,241,195,248,2,131,252,255,9,15,132,244,247,255,15,135,244,248,217,252, | 448 | 252,237,217,201,217,252,241,195,248,1,217,232,217,201,217,252,241,195,248, |
449 | 236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,255,11,15, | 449 | 2,131,252,255,9,15,132,244,247,255,15,135,244,248,217,252,236,217,201,217, |
450 | 132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195, | 450 | 252,241,195,248,1,217,252,254,195,248,2,131,252,255,11,15,132,244,247,15, |
451 | 255,248,9,204,248,154,255,131,252,255,1,15,132,244,247,15,135,244,248,252, | 451 | 135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248,9,204,248, |
452 | 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,131,252,255,3,15,132, | 452 | 154,255,131,252,255,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195, |
453 | 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, | 453 | 248,1,252,242,15,92,193,195,248,2,131,252,255,3,15,132,244,247,15,135,244, |
454 | 248,2,131,252,255,5,15,130,244,148,15,132,244,107,131,252,255,7,15,132,244, | 454 | 248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248,2,131,252,255,5, |
455 | 247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195,248, | 455 | 15,130,244,148,15,132,244,107,131,252,255,7,15,132,244,247,15,135,244,248, |
456 | 1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,131,252,255,9,15,135, | 456 | 72,184,237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102, |
457 | 244,248,252,242,15,17,68,36,252,248,252,242,15,17,76,36,252,240,221,68,36, | 457 | 72,15,110,200,15,84,193,195,248,2,131,252,255,9,15,135,244,248,252,242,15, |
458 | 252,248,221,68,36,252,240,15,132,244,247,217,252,243,248,7,221,92,36,252, | 458 | 17,68,36,252,248,252,242,15,17,76,36,252,240,221,68,36,252,248,221,68,36, |
459 | 248,252,242,15,16,68,36,252,248,195,248,1,217,201,217,252,253,221,217,252, | 459 | 252,240,15,132,244,247,217,252,243,248,7,221,92,36,252,248,252,242,15,16, |
460 | 233,244,7,248,2,131,252,255,11,15,132,244,247,15,135,244,255,252,242,15,93, | 460 | 68,36,252,248,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,131, |
461 | 193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36, | 461 | 252,255,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252, |
462 | 4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195,248, | 462 | 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, |
463 | 1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201, | 463 | 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, |
464 | 195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107, | 464 | 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, |
465 | 131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248,1, | 465 | 249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15, |
466 | 221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217, | 466 | 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, |
467 | 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15, | 467 | 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, |
468 | 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, | 468 | 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, |
469 | 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, | 469 | 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, |
470 | 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, | 470 | 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, |
471 | 244,248,217,201,248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6, | 471 | 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, |
472 | 137,94,4,137,78,8,137,86,12,91,195,255,129,124,253,202,4,239,15,135,244,41, | 472 | 248,2,221,216,195,255,248,155,137,252,248,83,15,162,137,6,137,94,4,137,78, |
473 | 129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102, | 473 | 8,137,86,12,91,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253,194, |
474 | 15,46,4,202,255,221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255, | 474 | 4,239,15,135,244,41,255,252,242,15,16,4,194,131,195,4,102,15,46,4,202,255, |
475 | 218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15, | 475 | 221,4,202,221,4,194,131,195,4,255,223,252,233,221,216,255,218,252,233,223, |
476 | 183,67,252,254,141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131, | 476 | 224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,67,252,254, |
477 | 195,4,193,232,16,65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252, | 477 | 141,156,253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16, |
478 | 253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15, | 478 | 65,252,255,36,252,238,255,139,108,194,4,131,195,4,129,252,253,239,15,135, |
479 | 16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133, | 479 | 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102, |
480 | 244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141, | 480 | 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255, |
481 | 156,253,131,233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248, | 481 | 15,138,244,248,15,132,244,247,255,248,1,15,183,67,252,254,141,156,253,131, |
482 | 1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12, | 482 | 233,248,2,255,248,2,15,183,67,252,254,141,156,253,131,233,248,1,255,248,5, |
483 | 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233, | 483 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, |
484 | 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237, | 484 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, |
485 | 255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253, | 485 | 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, |
486 | 202,4,239,15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253, | 486 | 0,0,255,252,233,244,45,255,72,252,247,208,131,195,4,129,124,253,202,4,239, |
487 | 202,4,239,15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221, | 487 | 15,133,244,248,139,12,202,65,59,12,135,255,131,195,4,129,124,253,202,4,239, |
488 | 4,202,65,221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194, | 488 | 15,135,244,248,255,252,242,65,15,16,4,199,102,15,46,4,202,255,221,4,202,65, |
489 | 4,131,195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137, | 489 | 221,4,199,255,72,252,247,208,131,195,4,57,68,202,4,255,139,108,194,4,131, |
490 | 108,202,4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233, | 490 | 195,4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202, |
491 | 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 491 | 4,139,44,194,137,44,202,255,15,183,67,252,254,141,156,253,131,233,248,1,139, |
492 | 238,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204, | 492 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139, |
493 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129, | 493 | 108,194,4,139,4,194,137,108,202,4,137,4,202,139,3,15,182,204,15,182,232,131, |
494 | 124,253,194,4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131, | 494 | 195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,4,239, |
495 | 195,4,193,232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244, | 495 | 129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16, |
496 | 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252, | 496 | 65,252,255,36,252,238,255,129,124,253,194,4,239,15,135,244,48,255,252,242, |
497 | 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239, | 497 | 15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202, |
498 | 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242, | 498 | 255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248, |
499 | 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182, | 499 | 139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255, |
500 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239, | 500 | 219,128,233,248,1,221,28,202,255,139,3,15,182,204,15,182,232,131,195,4,193, |
501 | 15,133,244,50,139,60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, | 501 | 232,16,65,252,255,36,252,238,248,2,129,124,253,194,4,239,15,133,244,50,139, |
502 | 234,255,15,182,75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, | 502 | 60,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182, |
503 | 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242, | 503 | 75,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252, |
504 | 65,15,88,4,199,255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239, | 504 | 234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,65,15,88,4,199, |
505 | 15,135,244,47,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221, | 505 | 255,221,4,252,234,65,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47, |
506 | 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253, | 506 | 255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,65,221,4,199,220,4, |
507 | 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, | 507 | 252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194,4,239, |
508 | 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199, | 508 | 15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252, |
509 | 255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92, | 509 | 234,220,4,194,255,252,242,15,16,4,252,234,252,242,65,15,92,4,199,255,221, |
510 | 4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252, | 510 | 4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,15,92,4,252,234, |
511 | 242,15,92,4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234, | 511 | 255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92, |
512 | 252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15, | 512 | 4,194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,65, |
513 | 16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252, | 513 | 15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,242,65,15,16,4,199,252, |
514 | 242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255, | 514 | 242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,255,252,242,15,16,4,252, |
515 | 252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52, | 515 | 234,252,242,15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4, |
516 | 199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220, | 516 | 252,234,252,242,65,15,94,4,199,255,221,4,252,234,65,220,52,199,255,252,242, |
517 | 52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252, | 517 | 65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,4,199,220,52,252,234,255, |
518 | 234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221, | 518 | 252,242,15,16,4,252,234,252,242,15,94,4,194,255,221,4,252,234,220,52,194, |
519 | 4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234, | 519 | 255,252,242,15,16,4,252,234,252,242,65,15,16,12,199,255,221,4,252,234,65, |
520 | 255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16, | 520 | 221,4,199,255,252,242,65,15,16,4,199,252,242,15,16,12,252,234,255,65,221, |
521 | 12,194,255,221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244, | 521 | 4,199,221,4,252,234,255,252,242,15,16,4,252,234,252,242,15,16,12,194,255, |
522 | 156,255,232,244,107,255,15,182,252,236,15,182,192,139,124,36,16,137,151,233, | 522 | 221,4,252,234,221,4,194,255,248,156,232,244,148,255,252,233,244,156,255,232, |
523 | 141,52,194,137,194,41,252,234,248,33,137,252,253,137,92,36,20,232,251,1,25, | 523 | 244,107,255,15,182,252,236,15,182,192,139,124,36,24,137,151,233,141,52,194, |
524 | 139,149,233,133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139, | 524 | 137,194,41,252,234,248,33,137,252,253,137,92,36,28,232,251,1,25,139,149,233, |
525 | 68,252,234,4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182, | 525 | 133,192,15,133,244,42,15,182,107,252,255,15,182,75,252,253,139,68,252,234, |
526 | 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139, | 526 | 4,139,44,252,234,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131, |
527 | 4,135,199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193, | 527 | 195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,199, |
528 | 232,16,65,252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15, | 528 | 68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
529 | 17,4,202,255,223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242, | 529 | 252,255,36,252,238,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255, |
530 | 15,17,4,202,255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139, | 530 | 223,67,252,254,221,28,202,255,252,242,65,15,16,4,199,252,242,15,17,4,202, |
531 | 255,65,221,4,199,221,28,202,255,72,252,247,208,137,68,202,4,139,3,15,182, | ||
532 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141,76,202, | ||
533 | 12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57,193,15, | ||
534 | 134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36, | ||
535 | 252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69,4,139, | ||
536 | 109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232, | ||
537 | 16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233,128,189, | ||
538 | 233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247, | ||
539 | 252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232,131, | ||
540 | 195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252,248,239, | ||
541 | 15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213,65,141, | ||
542 | 190,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247,208,139, | ||
543 | 106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199,64,4, | ||
544 | 237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182,232, | ||
545 | 131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235,15,132, | ||
546 | 244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232,251,1, | ||
547 | 26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15,16,4,199, | ||
548 | 255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,72, | ||
549 | 252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139, | ||
531 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141, | 550 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,141, |
532 | 76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,41,131,193,8,57, | 551 | 156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,149,233,141, |
533 | 193,15,134,244,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252, | 552 | 52,202,137,252,239,232,251,1,27,139,149,233,248,1,139,3,15,182,204,15,182, |
534 | 255,36,252,238,255,139,106,252,248,139,172,253,133,233,139,173,233,139,69, | 553 | 232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,139,108, |
535 | 4,139,109,0,137,68,202,4,137,44,202,139,3,15,182,204,15,182,232,131,195,4, | 554 | 36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92,36,28,232, |
536 | 193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,253,141,233, | 555 | 251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237,139,3,15, |
537 | 128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132, | 556 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,124, |
538 | 244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, | 557 | 36,24,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255, |
539 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,129,252, | 558 | 7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65,59,134,233, |
540 | 248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,137,213, | 559 | 137,92,36,28,15,131,244,251,232,251,1,29,139,149,233,15,182,75,252,253,137, |
541 | 65,141,190,233,255,232,251,1,26,137,252,234,252,233,244,1,255,72,252,247, | 560 | 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
542 | 208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,137,8,199, | 561 | 252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232,251,1,30,15, |
543 | 64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,204,15,182, | 562 | 183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139,108,36,24, |
544 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,233,235, | 563 | 65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,131,244,249,248, |
545 | 15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,233,232, | 564 | 2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252,253,137, |
546 | 251,1,26,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,65,15, | 565 | 4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
547 | 16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,221, | 566 | 252,255,36,252,238,248,3,137,252,239,232,251,1,30,15,183,67,252,254,72,252, |
548 | 25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,137, | 567 | 247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173,233,65,139, |
549 | 65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 568 | 4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173,233,65,139, |
550 | 255,141,156,253,131,233,139,108,36,16,131,189,233,0,15,132,244,247,137,149, | 569 | 4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253,252,234,4, |
551 | 233,141,52,202,137,252,239,232,251,1,27,139,149,233,248,1,139,3,15,182,204, | 570 | 239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244,251,255, |
552 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208, | 571 | 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255, |
553 | 139,108,36,16,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,92, | 572 | 15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120,253,4, |
554 | 36,20,232,251,1,28,139,149,233,15,182,75,252,253,137,4,202,199,68,202,4,237, | 573 | 239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15, |
555 | 139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255, | 574 | 182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189, |
556 | 139,124,36,16,137,151,233,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61, | 575 | 233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36,15,182,75, |
557 | 252,255,7,0,0,15,132,244,249,248,2,137,198,65,139,134,233,137,252,253,65, | 576 | 252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,36,139,4, |
558 | 59,134,233,137,92,36,20,15,131,244,251,232,251,1,29,139,149,233,15,182,75, | 577 | 194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208,65,139,4, |
559 | 252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4, | 578 | 135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157,139,141, |
560 | 193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,5,232, | 579 | 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250, |
561 | 251,1,30,15,183,67,252,254,137,252,239,252,233,244,1,255,72,252,247,208,139, | 580 | 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,67,252, |
562 | 108,36,16,65,139,142,233,137,92,36,20,65,59,142,233,137,149,233,15,131,244, | 581 | 253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182,204,15, |
563 | 249,248,2,65,139,52,135,137,252,239,232,251,1,31,139,149,233,15,182,75,252, | 582 | 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253, |
564 | 253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,4,193, | 583 | 185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141, |
565 | 232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,30,15,183,67,252, | 584 | 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,34, |
566 | 254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,139,173, | 585 | 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,35,139, |
567 | 233,65,139,4,135,252,233,244,157,255,72,252,247,208,139,106,252,248,139,173, | 586 | 44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253,4,239, |
568 | 233,65,139,4,135,252,233,244,158,255,15,182,252,236,15,182,192,129,124,253, | 587 | 15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3,15,182, |
569 | 252,234,4,239,15,133,244,36,139,44,252,234,129,124,253,194,4,239,15,135,244, | 588 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233, |
570 | 251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46, | 589 | 0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255,15,182,252, |
571 | 193,255,15,133,244,36,59,133,233,15,131,244,36,193,224,3,3,133,233,129,120, | 590 | 236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,129, |
572 | 253,4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139, | 591 | 124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233,15,131,244, |
573 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2, | 592 | 39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133, |
574 | 131,189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,36, | 593 | 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139, |
575 | 15,182,75,252,253,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244, | 594 | 3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3, |
576 | 36,139,4,194,252,233,244,157,255,15,182,252,236,15,182,192,72,252,247,208, | 595 | 131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235,15,132,244, |
577 | 65,139,4,135,129,124,253,252,234,4,239,15,133,244,34,139,44,252,234,248,157, | 596 | 39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244, |
578 | 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133, | 597 | 39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142,233,65,137, |
579 | 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182, | 598 | 174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15, |
580 | 67,252,253,139,41,139,73,4,137,44,194,248,2,255,137,76,194,4,139,3,15,182, | 599 | 182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244, |
581 | 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67, | 600 | 37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198,133,233, |
582 | 252,253,185,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248, | 601 | 0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251, |
583 | 5,139,141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233, | 602 | 129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244, |
584 | 244,34,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244, | 603 | 253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,3, |
585 | 35,139,44,252,234,59,133,233,15,131,244,35,193,224,3,3,133,233,129,120,253, | 604 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131, |
586 | 4,239,15,132,244,248,248,1,139,40,139,64,4,137,44,202,137,68,202,4,139,3, | 605 | 189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235,15,132,244, |
587 | 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131, | 606 | 37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,139, |
588 | 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,15,132,244,35,255, | 607 | 141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37,248,6,137, |
589 | 15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44, | 608 | 4,36,199,68,36,4,237,137,108,36,8,139,124,36,24,137,151,233,72,141,20,36, |
590 | 252,234,129,124,253,194,4,239,15,135,244,251,255,15,133,244,39,59,133,233, | 609 | 137,252,238,137,252,253,137,92,36,28,232,251,1,32,139,149,233,139,108,36, |
591 | 15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1, | 610 | 8,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137,174,233, |
592 | 252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104, | 611 | 137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253,252,234, |
593 | 4,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, | 612 | 4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133, |
594 | 238,248,3,131,189,233,0,15,132,244,1,139,141,233,255,252,246,129,233,235, | 613 | 233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15,133,244, |
595 | 15,132,244,39,15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239, | 614 | 253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204,15,182, |
596 | 15,133,244,39,139,4,194,252,233,244,158,248,7,128,165,233,235,65,139,142, | 615 | 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0,15,132, |
597 | 233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182, | 616 | 244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75,252,253, |
598 | 252,236,15,182,192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239, | 617 | 252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233,137,141, |
599 | 15,133,244,37,139,44,252,234,248,158,139,141,233,35,136,233,105,201,239,198, | 618 | 233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141,12,202, |
600 | 133,233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133, | 619 | 139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36,4,255, |
601 | 244,251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15, | 620 | 252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248,59,133, |
602 | 133,244,253,248,3,15,182,67,252,253,139,108,194,4,139,4,194,137,105,4,137, | 621 | 233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139,41,65, |
603 | 1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238, | 622 | 137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133,244, |
604 | 248,4,131,189,233,0,15,132,244,2,137,12,36,139,141,233,252,246,129,233,235, | 623 | 3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65, |
605 | 15,132,244,37,139,12,36,252,233,244,2,248,5,139,137,233,133,201,15,133,244, | 624 | 252,255,36,252,238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137, |
606 | 1,255,139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,37, | 625 | 252,253,137,92,36,28,232,251,1,33,139,149,233,15,182,75,252,253,252,233,244, |
607 | 248,6,137,4,36,199,68,36,4,237,137,108,36,24,139,124,36,16,137,151,233,72, | 626 | 1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233,252, |
608 | 141,20,36,137,252,238,137,252,253,137,92,36,20,232,251,1,32,139,149,233,139, | 627 | 233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,51, |
609 | 108,36,24,137,193,252,233,244,2,248,7,128,165,233,235,65,139,134,233,65,137, | 628 | 141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205, |
610 | 174,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,124,253, | ||
611 | 252,234,4,239,15,133,244,38,139,44,252,234,59,133,233,15,131,244,38,193,224, | ||
612 | 3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,233,235,15, | ||
613 | 133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,3,15,182,204, | ||
614 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,189,233,0, | ||
615 | 15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,38,15,182,75, | ||
616 | 252,253,252,233,244,1,248,7,128,165,233,235,65,139,142,233,65,137,174,233, | ||
617 | 137,141,233,15,182,75,252,253,252,233,244,2,255,68,137,60,36,255,248,1,141, | ||
618 | 12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,68,36, | ||
619 | 4,255,252,242,68,15,45,252,248,255,131,232,1,15,132,244,250,68,1,252,248, | ||
620 | 59,133,233,15,131,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,139, | ||
621 | 41,65,137,47,139,105,4,131,193,8,65,137,111,4,65,131,199,8,131,232,1,15,133, | ||
622 | 244,3,248,4,68,139,60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16, | ||
623 | 65,252,255,36,252,238,248,5,139,124,36,16,137,151,233,137,252,238,137,194, | ||
624 | 137,252,253,137,92,36,20,232,251,1,33,139,149,233,15,182,75,252,253,252,233, | ||
625 | 244,1,248,7,128,165,233,235,65,139,134,233,65,137,174,233,255,137,133,233, | ||
626 | 252,233,244,2,255,3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244, | ||
627 | 51,141,84,202,8,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205, | ||
628 | 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248, | 629 | 131,195,4,65,252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248, |
629 | 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237, | 630 | 129,121,253,252,252,239,15,133,244,28,248,52,139,90,252,252,252,247,195,237, |
630 | 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249, | 631 | 15,133,244,253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249, |
@@ -646,9 +647,9 @@ static const unsigned char build_actionlist[13995] = { | |||
646 | 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204, | 647 | 237,131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204, |
647 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1, | 648 | 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1, |
648 | 0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197, | 649 | 0,0,0,137,208,68,41,252,248,15,134,244,3,255,137,197,193,252,237,3,131,197, |
649 | 1,137,108,36,4,139,108,36,16,1,200,59,133,233,15,135,244,253,248,6,65,139, | 650 | 1,137,108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,65,139, |
650 | 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57, | 651 | 71,252,248,137,1,65,139,71,252,252,65,131,199,8,137,65,4,131,193,8,65,57, |
651 | 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,20, | 652 | 215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,92,36,28, |
652 | 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233, | 653 | 65,41,215,139,116,36,4,131,252,238,1,137,252,239,232,251,1,0,139,149,233, |
653 | 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252, | 654 | 139,141,233,65,1,215,252,233,244,6,255,193,225,3,255,248,1,139,90,252,252, |
654 | 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232, | 655 | 137,68,36,4,252,247,195,237,15,133,244,253,255,248,13,65,137,215,131,232, |
@@ -672,24 +673,24 @@ static const unsigned char build_actionlist[13995] = { | |||
672 | 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253, | 673 | 255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,253, |
673 | 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245, | 674 | 239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,245, |
674 | 255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142, | 675 | 255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,142, |
675 | 233,139,4,193,72,139,128,233,139,108,36,16,65,137,150,233,65,137,174,233, | 676 | 233,139,4,193,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,233, |
676 | 252,255,224,255,141,156,253,131,233,139,3,15,182,204,15,182,232,131,195,4, | 677 | 76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,253, |
677 | 193,232,16,65,252,255,36,252,238,255,68,139,187,233,139,108,36,16,141,12, | 678 | 131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
678 | 202,59,141,233,15,135,244,23,15,182,139,233,57,200,15,134,244,249,248,2,255, | 679 | 238,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,135,244,23, |
679 | 15,183,67,252,254,252,233,245,255,248,3,199,68,194,252,252,237,131,192,1, | 680 | 15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,252,233, |
680 | 57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122, | 681 | 245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233, |
681 | 252,248,137,104,252,252,68,137,120,252,248,139,108,36,16,141,12,200,59,141, | 682 | 244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,252,68, |
682 | 233,15,135,244,22,137,209,137,194,15,182,171,233,133,252,237,15,132,244,248, | 683 | 137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,22,137,209, |
683 | 248,1,131,193,8,57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139, | 684 | 137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,57,209, |
684 | 121,252,252,68,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, | 685 | 15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,137,120, |
685 | 244,1,248,2,255,68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193, | 686 | 4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,68,139, |
686 | 232,16,65,252,255,36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237, | 687 | 187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252, |
687 | 1,15,133,244,3,252,233,244,2,255,139,106,252,248,76,139,189,233,139,108,36, | 688 | 238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,233,244, |
688 | 16,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255, | 689 | 2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,248,137, |
689 | 137,252,239,255,76,137,252,254,137,252,239,255,15,135,244,21,65,199,134,233, | 690 | 149,233,141,136,233,59,141,233,137,133,233,255,137,252,239,255,76,137,252, |
690 | 237,255,65,252,255,215,255,65,252,255,150,233,255,65,199,134,233,237,139, | 691 | 254,137,252,239,255,15,135,244,21,65,199,134,233,237,255,65,252,255,215,255, |
691 | 149,233,141,12,194,252,247,217,3,141,233,139,90,252,252,252,233,244,12,255, | 692 | 65,252,255,150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247, |
692 | 254,0 | 693 | 217,3,141,233,139,90,252,252,252,233,244,12,255,254,0 |
693 | }; | 694 | }; |
694 | 695 | ||
695 | enum { | 696 | enum { |
@@ -1364,62 +1365,62 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1364 | #endif | 1365 | #endif |
1365 | dasm_put(Dst, 7296, Dt1(->base), Dt1(->top)); | 1366 | dasm_put(Dst, 7296, Dt1(->base), Dt1(->top)); |
1366 | #if LJ_HASJIT | 1367 | #if LJ_HASJIT |
1367 | dasm_put(Dst, 7327, 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), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base)); | 1368 | dasm_put(Dst, 7327, 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), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1368 | #endif | 1369 | #endif |
1369 | dasm_put(Dst, 7562); | 1370 | dasm_put(Dst, 7558); |
1370 | #if LJ_HASJIT | 1371 | #if LJ_HASJIT |
1371 | dasm_put(Dst, 7565, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1372 | dasm_put(Dst, 7561, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1372 | #endif | 1373 | #endif |
1373 | dasm_put(Dst, 7623); | 1374 | dasm_put(Dst, 7642); |
1374 | if (!sse) { | 1375 | if (!sse) { |
1375 | dasm_put(Dst, 7626); | 1376 | dasm_put(Dst, 7645); |
1376 | } | 1377 | } |
1377 | dasm_put(Dst, 7671, (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)); | 1378 | dasm_put(Dst, 7690, (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)); |
1378 | if (!sse) { | 1379 | if (!sse) { |
1379 | dasm_put(Dst, 7757); | 1380 | dasm_put(Dst, 7776); |
1380 | } | 1381 | } |
1381 | dasm_put(Dst, 7802, (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)); | 1382 | dasm_put(Dst, 7821, (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)); |
1382 | if (!sse) { | 1383 | if (!sse) { |
1383 | dasm_put(Dst, 7888); | 1384 | dasm_put(Dst, 7907); |
1384 | } | 1385 | } |
1385 | dasm_put(Dst, 7927, (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)); | 1386 | dasm_put(Dst, 7946, (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)); |
1386 | if (sse) { | 1387 | if (sse) { |
1387 | dasm_put(Dst, 8016, (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)); | 1388 | dasm_put(Dst, 8035, (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)); |
1388 | } else { | 1389 | } else { |
1389 | dasm_put(Dst, 8130); | 1390 | dasm_put(Dst, 8149); |
1390 | } | 1391 | } |
1391 | dasm_put(Dst, 8177); | 1392 | dasm_put(Dst, 8196); |
1392 | if (!sse) { | 1393 | if (!sse) { |
1393 | } else { | 1394 | } else { |
1394 | dasm_put(Dst, 8254); | 1395 | dasm_put(Dst, 8273); |
1395 | } | 1396 | } |
1396 | dasm_put(Dst, 8257); | 1397 | dasm_put(Dst, 8276); |
1397 | dasm_put(Dst, 8342, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1398 | dasm_put(Dst, 8361, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1398 | dasm_put(Dst, 8443, (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)); | 1399 | dasm_put(Dst, 8462, (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)); |
1399 | dasm_put(Dst, 8617); | 1400 | dasm_put(Dst, 8636); |
1400 | if (sse) { | 1401 | if (sse) { |
1401 | dasm_put(Dst, 8658); | 1402 | dasm_put(Dst, 8677); |
1402 | dasm_put(Dst, 8728); | 1403 | dasm_put(Dst, 8747); |
1403 | dasm_put(Dst, 8800); | 1404 | dasm_put(Dst, 8819); |
1404 | } else { | 1405 | } else { |
1405 | dasm_put(Dst, 8852); | 1406 | dasm_put(Dst, 8871); |
1406 | dasm_put(Dst, 8944); | 1407 | dasm_put(Dst, 8963); |
1407 | } | 1408 | } |
1408 | dasm_put(Dst, 8990); | 1409 | dasm_put(Dst, 9009); |
1409 | if (sse) { | 1410 | if (sse) { |
1410 | dasm_put(Dst, 8996, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1411 | dasm_put(Dst, 9015, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1411 | dasm_put(Dst, 9081, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1412 | dasm_put(Dst, 9100, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1412 | } else { | 1413 | } else { |
1413 | dasm_put(Dst, 9209); | 1414 | dasm_put(Dst, 9228); |
1414 | dasm_put(Dst, 9292); | 1415 | dasm_put(Dst, 9311); |
1415 | if (cmov) { | 1416 | if (cmov) { |
1416 | dasm_put(Dst, 9347); | ||
1417 | } else { | ||
1418 | dasm_put(Dst, 9366); | 1417 | dasm_put(Dst, 9366); |
1418 | } else { | ||
1419 | dasm_put(Dst, 9385); | ||
1419 | } | 1420 | } |
1420 | dasm_put(Dst, 9205); | 1421 | dasm_put(Dst, 9224); |
1421 | } | 1422 | } |
1422 | dasm_put(Dst, 9407); | 1423 | dasm_put(Dst, 9426); |
1423 | } | 1424 | } |
1424 | 1425 | ||
1425 | /* Generate the code for a single instruction. */ | 1426 | /* Generate the code for a single instruction. */ |
@@ -1435,600 +1436,600 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1435 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1436 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1436 | 1437 | ||
1437 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1438 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1438 | dasm_put(Dst, 9429, LJ_TISNUM, LJ_TISNUM); | 1439 | dasm_put(Dst, 9448, LJ_TISNUM, LJ_TISNUM); |
1439 | if (sse) { | 1440 | if (sse) { |
1440 | dasm_put(Dst, 9450); | 1441 | dasm_put(Dst, 9469); |
1441 | } else { | 1442 | } else { |
1442 | dasm_put(Dst, 9465); | 1443 | dasm_put(Dst, 9484); |
1443 | if (cmov) { | 1444 | if (cmov) { |
1444 | dasm_put(Dst, 9475); | 1445 | dasm_put(Dst, 9494); |
1445 | } else { | 1446 | } else { |
1446 | dasm_put(Dst, 9481); | 1447 | dasm_put(Dst, 9500); |
1447 | } | 1448 | } |
1448 | } | 1449 | } |
1449 | switch (op) { | 1450 | switch (op) { |
1450 | case BC_ISLT: | 1451 | case BC_ISLT: |
1451 | dasm_put(Dst, 9488); | 1452 | dasm_put(Dst, 9507); |
1452 | break; | 1453 | break; |
1453 | case BC_ISGE: | 1454 | case BC_ISGE: |
1454 | dasm_put(Dst, 9287); | 1455 | dasm_put(Dst, 9306); |
1455 | break; | 1456 | break; |
1456 | case BC_ISLE: | 1457 | case BC_ISLE: |
1457 | dasm_put(Dst, 5942); | 1458 | dasm_put(Dst, 5942); |
1458 | break; | 1459 | break; |
1459 | case BC_ISGT: | 1460 | case BC_ISGT: |
1460 | dasm_put(Dst, 9493); | 1461 | dasm_put(Dst, 9512); |
1461 | break; | 1462 | break; |
1462 | default: break; /* Shut up GCC. */ | 1463 | default: break; /* Shut up GCC. */ |
1463 | } | 1464 | } |
1464 | dasm_put(Dst, 9498, -BCBIAS_J*4); | 1465 | dasm_put(Dst, 9517, -BCBIAS_J*4); |
1465 | break; | 1466 | break; |
1466 | 1467 | ||
1467 | case BC_ISEQV: case BC_ISNEV: | 1468 | case BC_ISEQV: case BC_ISNEV: |
1468 | vk = op == BC_ISEQV; | 1469 | vk = op == BC_ISEQV; |
1469 | dasm_put(Dst, 9533, LJ_TISNUM, LJ_TISNUM); | 1470 | dasm_put(Dst, 9552, LJ_TISNUM, LJ_TISNUM); |
1470 | if (sse) { | 1471 | if (sse) { |
1471 | dasm_put(Dst, 9559); | 1472 | dasm_put(Dst, 9578); |
1472 | } else { | 1473 | } else { |
1473 | dasm_put(Dst, 9571); | 1474 | dasm_put(Dst, 9590); |
1474 | if (cmov) { | 1475 | if (cmov) { |
1475 | dasm_put(Dst, 9475); | 1476 | dasm_put(Dst, 9494); |
1476 | } else { | 1477 | } else { |
1477 | dasm_put(Dst, 9481); | 1478 | dasm_put(Dst, 9500); |
1478 | } | 1479 | } |
1479 | } | 1480 | } |
1480 | iseqne_fp: | 1481 | iseqne_fp: |
1481 | if (vk) { | 1482 | if (vk) { |
1482 | dasm_put(Dst, 9578); | 1483 | dasm_put(Dst, 9597); |
1483 | } else { | 1484 | } else { |
1484 | dasm_put(Dst, 9587); | 1485 | dasm_put(Dst, 9606); |
1485 | } | 1486 | } |
1486 | iseqne_end: | 1487 | iseqne_end: |
1487 | if (vk) { | 1488 | if (vk) { |
1488 | dasm_put(Dst, 9596, -BCBIAS_J*4); | 1489 | dasm_put(Dst, 9615, -BCBIAS_J*4); |
1489 | } else { | 1490 | } else { |
1490 | dasm_put(Dst, 9611, -BCBIAS_J*4); | 1491 | dasm_put(Dst, 9630, -BCBIAS_J*4); |
1491 | } | 1492 | } |
1492 | dasm_put(Dst, 9512); | 1493 | dasm_put(Dst, 9531); |
1493 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1494 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1494 | dasm_put(Dst, 9626, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1495 | dasm_put(Dst, 9645, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1495 | if (vk) { | 1496 | if (vk) { |
1496 | dasm_put(Dst, 9684); | 1497 | dasm_put(Dst, 9703); |
1497 | } else { | 1498 | } else { |
1498 | dasm_put(Dst, 9688); | 1499 | dasm_put(Dst, 9707); |
1499 | } | 1500 | } |
1500 | dasm_put(Dst, 9694); | 1501 | dasm_put(Dst, 9713); |
1501 | } | 1502 | } |
1502 | break; | 1503 | break; |
1503 | case BC_ISEQS: case BC_ISNES: | 1504 | case BC_ISEQS: case BC_ISNES: |
1504 | vk = op == BC_ISEQS; | 1505 | vk = op == BC_ISEQS; |
1505 | dasm_put(Dst, 9699, LJ_TSTR); | 1506 | dasm_put(Dst, 9718, LJ_TSTR); |
1506 | iseqne_test: | 1507 | iseqne_test: |
1507 | if (vk) { | 1508 | if (vk) { |
1508 | dasm_put(Dst, 9582); | 1509 | dasm_put(Dst, 9601); |
1509 | } else { | 1510 | } else { |
1510 | dasm_put(Dst, 2833); | 1511 | dasm_put(Dst, 2833); |
1511 | } | 1512 | } |
1512 | goto iseqne_end; | 1513 | goto iseqne_end; |
1513 | case BC_ISEQN: case BC_ISNEN: | 1514 | case BC_ISEQN: case BC_ISNEN: |
1514 | vk = op == BC_ISEQN; | 1515 | vk = op == BC_ISEQN; |
1515 | dasm_put(Dst, 9724, LJ_TISNUM); | 1516 | dasm_put(Dst, 9743, LJ_TISNUM); |
1516 | if (sse) { | 1517 | if (sse) { |
1517 | dasm_put(Dst, 9738); | 1518 | dasm_put(Dst, 9757); |
1518 | } else { | 1519 | } else { |
1519 | dasm_put(Dst, 9751); | 1520 | dasm_put(Dst, 9770); |
1520 | if (cmov) { | 1521 | if (cmov) { |
1521 | dasm_put(Dst, 9475); | 1522 | dasm_put(Dst, 9494); |
1522 | } else { | 1523 | } else { |
1523 | dasm_put(Dst, 9481); | 1524 | dasm_put(Dst, 9500); |
1524 | } | 1525 | } |
1525 | } | 1526 | } |
1526 | goto iseqne_fp; | 1527 | goto iseqne_fp; |
1527 | case BC_ISEQP: case BC_ISNEP: | 1528 | case BC_ISEQP: case BC_ISNEP: |
1528 | vk = op == BC_ISEQP; | 1529 | vk = op == BC_ISEQP; |
1529 | dasm_put(Dst, 9759); | 1530 | dasm_put(Dst, 9778); |
1530 | goto iseqne_test; | 1531 | goto iseqne_test; |
1531 | 1532 | ||
1532 | /* -- Unary test and copy ops ------------------------------------------- */ | 1533 | /* -- Unary test and copy ops ------------------------------------------- */ |
1533 | 1534 | ||
1534 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 1535 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1535 | dasm_put(Dst, 9771, LJ_TISTRUECOND); | 1536 | dasm_put(Dst, 9790, LJ_TISTRUECOND); |
1536 | if (op == BC_IST || op == BC_ISTC) { | 1537 | if (op == BC_IST || op == BC_ISTC) { |
1537 | dasm_put(Dst, 9783); | 1538 | dasm_put(Dst, 9802); |
1538 | } else { | 1539 | } else { |
1539 | dasm_put(Dst, 9788); | 1540 | dasm_put(Dst, 9807); |
1540 | } | 1541 | } |
1541 | if (op == BC_ISTC || op == BC_ISFC) { | 1542 | if (op == BC_ISTC || op == BC_ISFC) { |
1542 | dasm_put(Dst, 9793); | 1543 | dasm_put(Dst, 9812); |
1543 | } | 1544 | } |
1544 | dasm_put(Dst, 9804, -BCBIAS_J*4); | 1545 | dasm_put(Dst, 9823, -BCBIAS_J*4); |
1545 | break; | 1546 | break; |
1546 | 1547 | ||
1547 | /* -- Unary ops --------------------------------------------------------- */ | 1548 | /* -- Unary ops --------------------------------------------------------- */ |
1548 | 1549 | ||
1549 | case BC_MOV: | 1550 | case BC_MOV: |
1550 | dasm_put(Dst, 9837); | 1551 | dasm_put(Dst, 9856); |
1551 | break; | 1552 | break; |
1552 | case BC_NOT: | 1553 | case BC_NOT: |
1553 | dasm_put(Dst, 9872, LJ_TISTRUECOND, LJ_TTRUE); | 1554 | dasm_put(Dst, 9891, LJ_TISTRUECOND, LJ_TTRUE); |
1554 | break; | 1555 | break; |
1555 | case BC_UNM: | 1556 | case BC_UNM: |
1556 | dasm_put(Dst, 9909, LJ_TISNUM); | 1557 | dasm_put(Dst, 9928, LJ_TISNUM); |
1557 | if (sse) { | 1558 | if (sse) { |
1558 | dasm_put(Dst, 9920, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1559 | dasm_put(Dst, 9939, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1559 | } else { | 1560 | } else { |
1560 | dasm_put(Dst, 9945); | 1561 | dasm_put(Dst, 9964); |
1561 | } | 1562 | } |
1562 | dasm_put(Dst, 9512); | 1563 | dasm_put(Dst, 9531); |
1563 | break; | 1564 | break; |
1564 | case BC_LEN: | 1565 | case BC_LEN: |
1565 | dasm_put(Dst, 9954, LJ_TSTR); | 1566 | dasm_put(Dst, 9973, LJ_TSTR); |
1566 | if (sse) { | 1567 | if (sse) { |
1567 | dasm_put(Dst, 9968, Dt5(->len)); | 1568 | dasm_put(Dst, 9987, Dt5(->len)); |
1568 | } else { | 1569 | } else { |
1569 | dasm_put(Dst, 9986, Dt5(->len)); | 1570 | dasm_put(Dst, 10005, Dt5(->len)); |
1570 | } | 1571 | } |
1571 | dasm_put(Dst, 9995, LJ_TTAB); | 1572 | dasm_put(Dst, 10014, LJ_TTAB); |
1572 | if (sse) { | 1573 | if (sse) { |
1573 | dasm_put(Dst, 10037); | 1574 | dasm_put(Dst, 10056); |
1574 | } else { | 1575 | } else { |
1575 | } | 1576 | } |
1576 | dasm_put(Dst, 10046); | 1577 | dasm_put(Dst, 10065); |
1577 | break; | 1578 | break; |
1578 | 1579 | ||
1579 | /* -- Binary ops -------------------------------------------------------- */ | 1580 | /* -- Binary ops -------------------------------------------------------- */ |
1580 | 1581 | ||
1581 | 1582 | ||
1582 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 1583 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1583 | dasm_put(Dst, 10056); | 1584 | dasm_put(Dst, 10075); |
1584 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1585 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1585 | switch (vk) { | 1586 | switch (vk) { |
1586 | case 0: | 1587 | case 0: |
1587 | dasm_put(Dst, 10064, LJ_TISNUM); | 1588 | dasm_put(Dst, 10083, LJ_TISNUM); |
1588 | if (sse) { | 1589 | if (sse) { |
1589 | dasm_put(Dst, 10076); | 1590 | dasm_put(Dst, 10095); |
1590 | } else { | 1591 | } else { |
1591 | dasm_put(Dst, 10091); | 1592 | dasm_put(Dst, 10110); |
1592 | } | 1593 | } |
1593 | break; | 1594 | break; |
1594 | case 1: | 1595 | case 1: |
1595 | dasm_put(Dst, 10100, LJ_TISNUM); | 1596 | dasm_put(Dst, 10119, LJ_TISNUM); |
1596 | if (sse) { | 1597 | if (sse) { |
1597 | dasm_put(Dst, 10112); | 1598 | dasm_put(Dst, 10131); |
1598 | } else { | 1599 | } else { |
1599 | dasm_put(Dst, 10127); | 1600 | dasm_put(Dst, 10146); |
1600 | } | 1601 | } |
1601 | break; | 1602 | break; |
1602 | default: | 1603 | default: |
1603 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1604 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1604 | if (sse) { | 1605 | if (sse) { |
1605 | dasm_put(Dst, 10158); | 1606 | dasm_put(Dst, 10177); |
1606 | } else { | 1607 | } else { |
1607 | dasm_put(Dst, 10172); | 1608 | dasm_put(Dst, 10191); |
1608 | } | 1609 | } |
1609 | break; | 1610 | break; |
1610 | } | 1611 | } |
1611 | if (sse) { | 1612 | if (sse) { |
1612 | dasm_put(Dst, 9938); | 1613 | dasm_put(Dst, 9957); |
1613 | } else { | 1614 | } else { |
1614 | dasm_put(Dst, 9950); | 1615 | dasm_put(Dst, 9969); |
1615 | } | 1616 | } |
1616 | dasm_put(Dst, 9512); | 1617 | dasm_put(Dst, 9531); |
1617 | break; | 1618 | break; |
1618 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 1619 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1619 | dasm_put(Dst, 10056); | 1620 | dasm_put(Dst, 10075); |
1620 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1621 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1621 | switch (vk) { | 1622 | switch (vk) { |
1622 | case 0: | 1623 | case 0: |
1623 | dasm_put(Dst, 10064, LJ_TISNUM); | 1624 | dasm_put(Dst, 10083, LJ_TISNUM); |
1624 | if (sse) { | 1625 | if (sse) { |
1625 | dasm_put(Dst, 10180); | 1626 | dasm_put(Dst, 10199); |
1626 | } else { | 1627 | } else { |
1627 | dasm_put(Dst, 10195); | 1628 | dasm_put(Dst, 10214); |
1628 | } | 1629 | } |
1629 | break; | 1630 | break; |
1630 | case 1: | 1631 | case 1: |
1631 | dasm_put(Dst, 10100, LJ_TISNUM); | 1632 | dasm_put(Dst, 10119, LJ_TISNUM); |
1632 | if (sse) { | 1633 | if (sse) { |
1633 | dasm_put(Dst, 10204); | 1634 | dasm_put(Dst, 10223); |
1634 | } else { | 1635 | } else { |
1635 | dasm_put(Dst, 10219); | 1636 | dasm_put(Dst, 10238); |
1636 | } | 1637 | } |
1637 | break; | 1638 | break; |
1638 | default: | 1639 | default: |
1639 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1640 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1640 | if (sse) { | 1641 | if (sse) { |
1641 | dasm_put(Dst, 10228); | 1642 | dasm_put(Dst, 10247); |
1642 | } else { | 1643 | } else { |
1643 | dasm_put(Dst, 10242); | 1644 | dasm_put(Dst, 10261); |
1644 | } | 1645 | } |
1645 | break; | 1646 | break; |
1646 | } | 1647 | } |
1647 | if (sse) { | 1648 | if (sse) { |
1648 | dasm_put(Dst, 9938); | 1649 | dasm_put(Dst, 9957); |
1649 | } else { | 1650 | } else { |
1650 | dasm_put(Dst, 9950); | 1651 | dasm_put(Dst, 9969); |
1651 | } | 1652 | } |
1652 | dasm_put(Dst, 9512); | 1653 | dasm_put(Dst, 9531); |
1653 | break; | 1654 | break; |
1654 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 1655 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1655 | dasm_put(Dst, 10056); | 1656 | dasm_put(Dst, 10075); |
1656 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1657 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1657 | switch (vk) { | 1658 | switch (vk) { |
1658 | case 0: | 1659 | case 0: |
1659 | dasm_put(Dst, 10064, LJ_TISNUM); | 1660 | dasm_put(Dst, 10083, LJ_TISNUM); |
1660 | if (sse) { | 1661 | if (sse) { |
1661 | dasm_put(Dst, 10250); | 1662 | dasm_put(Dst, 10269); |
1662 | } else { | 1663 | } else { |
1663 | dasm_put(Dst, 10265); | 1664 | dasm_put(Dst, 10284); |
1664 | } | 1665 | } |
1665 | break; | 1666 | break; |
1666 | case 1: | 1667 | case 1: |
1667 | dasm_put(Dst, 10100, LJ_TISNUM); | 1668 | dasm_put(Dst, 10119, LJ_TISNUM); |
1668 | if (sse) { | 1669 | if (sse) { |
1669 | dasm_put(Dst, 10274); | 1670 | dasm_put(Dst, 10293); |
1670 | } else { | 1671 | } else { |
1671 | dasm_put(Dst, 10289); | 1672 | dasm_put(Dst, 10308); |
1672 | } | 1673 | } |
1673 | break; | 1674 | break; |
1674 | default: | 1675 | default: |
1675 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1676 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1676 | if (sse) { | 1677 | if (sse) { |
1677 | dasm_put(Dst, 10298); | 1678 | dasm_put(Dst, 10317); |
1678 | } else { | 1679 | } else { |
1679 | dasm_put(Dst, 10312); | 1680 | dasm_put(Dst, 10331); |
1680 | } | 1681 | } |
1681 | break; | 1682 | break; |
1682 | } | 1683 | } |
1683 | if (sse) { | 1684 | if (sse) { |
1684 | dasm_put(Dst, 9938); | 1685 | dasm_put(Dst, 9957); |
1685 | } else { | 1686 | } else { |
1686 | dasm_put(Dst, 9950); | 1687 | dasm_put(Dst, 9969); |
1687 | } | 1688 | } |
1688 | dasm_put(Dst, 9512); | 1689 | dasm_put(Dst, 9531); |
1689 | break; | 1690 | break; |
1690 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 1691 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1691 | dasm_put(Dst, 10056); | 1692 | dasm_put(Dst, 10075); |
1692 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1693 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1693 | switch (vk) { | 1694 | switch (vk) { |
1694 | case 0: | 1695 | case 0: |
1695 | dasm_put(Dst, 10064, LJ_TISNUM); | 1696 | dasm_put(Dst, 10083, LJ_TISNUM); |
1696 | if (sse) { | 1697 | if (sse) { |
1697 | dasm_put(Dst, 10320); | 1698 | dasm_put(Dst, 10339); |
1698 | } else { | 1699 | } else { |
1699 | dasm_put(Dst, 10335); | 1700 | dasm_put(Dst, 10354); |
1700 | } | 1701 | } |
1701 | break; | 1702 | break; |
1702 | case 1: | 1703 | case 1: |
1703 | dasm_put(Dst, 10100, LJ_TISNUM); | 1704 | dasm_put(Dst, 10119, LJ_TISNUM); |
1704 | if (sse) { | 1705 | if (sse) { |
1705 | dasm_put(Dst, 10344); | 1706 | dasm_put(Dst, 10363); |
1706 | } else { | 1707 | } else { |
1707 | dasm_put(Dst, 10359); | 1708 | dasm_put(Dst, 10378); |
1708 | } | 1709 | } |
1709 | break; | 1710 | break; |
1710 | default: | 1711 | default: |
1711 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1712 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1712 | if (sse) { | 1713 | if (sse) { |
1713 | dasm_put(Dst, 10368); | 1714 | dasm_put(Dst, 10387); |
1714 | } else { | 1715 | } else { |
1715 | dasm_put(Dst, 10382); | 1716 | dasm_put(Dst, 10401); |
1716 | } | 1717 | } |
1717 | break; | 1718 | break; |
1718 | } | 1719 | } |
1719 | if (sse) { | 1720 | if (sse) { |
1720 | dasm_put(Dst, 9938); | 1721 | dasm_put(Dst, 9957); |
1721 | } else { | 1722 | } else { |
1722 | dasm_put(Dst, 9950); | 1723 | dasm_put(Dst, 9969); |
1723 | } | 1724 | } |
1724 | dasm_put(Dst, 9512); | 1725 | dasm_put(Dst, 9531); |
1725 | break; | 1726 | break; |
1726 | case BC_MODVN: | 1727 | case BC_MODVN: |
1727 | dasm_put(Dst, 10056); | 1728 | dasm_put(Dst, 10075); |
1728 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1729 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1729 | switch (vk) { | 1730 | switch (vk) { |
1730 | case 0: | 1731 | case 0: |
1731 | dasm_put(Dst, 10064, LJ_TISNUM); | 1732 | dasm_put(Dst, 10083, LJ_TISNUM); |
1732 | if (sse) { | 1733 | if (sse) { |
1733 | dasm_put(Dst, 10390); | 1734 | dasm_put(Dst, 10409); |
1734 | } else { | 1735 | } else { |
1735 | dasm_put(Dst, 10405); | 1736 | dasm_put(Dst, 10424); |
1736 | } | 1737 | } |
1737 | break; | 1738 | break; |
1738 | case 1: | 1739 | case 1: |
1739 | dasm_put(Dst, 10100, LJ_TISNUM); | 1740 | dasm_put(Dst, 10119, LJ_TISNUM); |
1740 | if (sse) { | 1741 | if (sse) { |
1741 | dasm_put(Dst, 10414); | 1742 | dasm_put(Dst, 10433); |
1742 | } else { | 1743 | } else { |
1743 | dasm_put(Dst, 10429); | 1744 | dasm_put(Dst, 10448); |
1744 | } | 1745 | } |
1745 | break; | 1746 | break; |
1746 | default: | 1747 | default: |
1747 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1748 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1748 | if (sse) { | 1749 | if (sse) { |
1749 | dasm_put(Dst, 10438); | 1750 | dasm_put(Dst, 10457); |
1750 | } else { | 1751 | } else { |
1751 | dasm_put(Dst, 10452); | 1752 | dasm_put(Dst, 10471); |
1752 | } | 1753 | } |
1753 | break; | 1754 | break; |
1754 | } | 1755 | } |
1755 | dasm_put(Dst, 10460); | 1756 | dasm_put(Dst, 10479); |
1756 | if (sse) { | 1757 | if (sse) { |
1757 | dasm_put(Dst, 9938); | 1758 | dasm_put(Dst, 9957); |
1758 | } else { | 1759 | } else { |
1759 | dasm_put(Dst, 9950); | 1760 | dasm_put(Dst, 9969); |
1760 | } | 1761 | } |
1761 | dasm_put(Dst, 9512); | 1762 | dasm_put(Dst, 9531); |
1762 | break; | 1763 | break; |
1763 | case BC_MODNV: case BC_MODVV: | 1764 | case BC_MODNV: case BC_MODVV: |
1764 | dasm_put(Dst, 10056); | 1765 | dasm_put(Dst, 10075); |
1765 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1766 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1766 | switch (vk) { | 1767 | switch (vk) { |
1767 | case 0: | 1768 | case 0: |
1768 | dasm_put(Dst, 10064, LJ_TISNUM); | 1769 | dasm_put(Dst, 10083, LJ_TISNUM); |
1769 | if (sse) { | 1770 | if (sse) { |
1770 | dasm_put(Dst, 10390); | 1771 | dasm_put(Dst, 10409); |
1771 | } else { | 1772 | } else { |
1772 | dasm_put(Dst, 10405); | 1773 | dasm_put(Dst, 10424); |
1773 | } | 1774 | } |
1774 | break; | 1775 | break; |
1775 | case 1: | 1776 | case 1: |
1776 | dasm_put(Dst, 10100, LJ_TISNUM); | 1777 | dasm_put(Dst, 10119, LJ_TISNUM); |
1777 | if (sse) { | 1778 | if (sse) { |
1778 | dasm_put(Dst, 10414); | 1779 | dasm_put(Dst, 10433); |
1779 | } else { | 1780 | } else { |
1780 | dasm_put(Dst, 10429); | 1781 | dasm_put(Dst, 10448); |
1781 | } | 1782 | } |
1782 | break; | 1783 | break; |
1783 | default: | 1784 | default: |
1784 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1785 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1785 | if (sse) { | 1786 | if (sse) { |
1786 | dasm_put(Dst, 10438); | 1787 | dasm_put(Dst, 10457); |
1787 | } else { | 1788 | } else { |
1788 | dasm_put(Dst, 10452); | 1789 | dasm_put(Dst, 10471); |
1789 | } | 1790 | } |
1790 | break; | 1791 | break; |
1791 | } | 1792 | } |
1792 | dasm_put(Dst, 10466); | 1793 | dasm_put(Dst, 10485); |
1793 | break; | 1794 | break; |
1794 | case BC_POW: | 1795 | case BC_POW: |
1795 | dasm_put(Dst, 10056); | 1796 | dasm_put(Dst, 10075); |
1796 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1797 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1797 | switch (vk) { | 1798 | switch (vk) { |
1798 | case 0: | 1799 | case 0: |
1799 | dasm_put(Dst, 10064, LJ_TISNUM); | 1800 | dasm_put(Dst, 10083, LJ_TISNUM); |
1800 | if (sse) { | 1801 | if (sse) { |
1801 | dasm_put(Dst, 10390); | 1802 | dasm_put(Dst, 10409); |
1802 | } else { | 1803 | } else { |
1803 | dasm_put(Dst, 10405); | 1804 | dasm_put(Dst, 10424); |
1804 | } | 1805 | } |
1805 | break; | 1806 | break; |
1806 | case 1: | 1807 | case 1: |
1807 | dasm_put(Dst, 10100, LJ_TISNUM); | 1808 | dasm_put(Dst, 10119, LJ_TISNUM); |
1808 | if (sse) { | 1809 | if (sse) { |
1809 | dasm_put(Dst, 10414); | 1810 | dasm_put(Dst, 10433); |
1810 | } else { | 1811 | } else { |
1811 | dasm_put(Dst, 10429); | 1812 | dasm_put(Dst, 10448); |
1812 | } | 1813 | } |
1813 | break; | 1814 | break; |
1814 | default: | 1815 | default: |
1815 | dasm_put(Dst, 10136, LJ_TISNUM, LJ_TISNUM); | 1816 | dasm_put(Dst, 10155, LJ_TISNUM, LJ_TISNUM); |
1816 | if (sse) { | 1817 | if (sse) { |
1817 | dasm_put(Dst, 10438); | 1818 | dasm_put(Dst, 10457); |
1818 | } else { | 1819 | } else { |
1819 | dasm_put(Dst, 10452); | 1820 | dasm_put(Dst, 10471); |
1820 | } | 1821 | } |
1821 | break; | 1822 | break; |
1822 | } | 1823 | } |
1823 | dasm_put(Dst, 10471); | 1824 | dasm_put(Dst, 10490); |
1824 | if (sse) { | 1825 | if (sse) { |
1825 | dasm_put(Dst, 9938); | 1826 | dasm_put(Dst, 9957); |
1826 | } else { | 1827 | } else { |
1827 | dasm_put(Dst, 9950); | 1828 | dasm_put(Dst, 9969); |
1828 | } | 1829 | } |
1829 | dasm_put(Dst, 9512); | 1830 | dasm_put(Dst, 9531); |
1830 | break; | 1831 | break; |
1831 | 1832 | ||
1832 | case BC_CAT: | 1833 | case BC_CAT: |
1833 | dasm_put(Dst, 10475, Dt1(->base), Dt1(->base)); | 1834 | dasm_put(Dst, 10494, Dt1(->base), Dt1(->base)); |
1834 | break; | 1835 | break; |
1835 | 1836 | ||
1836 | /* -- Constant ops ------------------------------------------------------ */ | 1837 | /* -- Constant ops ------------------------------------------------------ */ |
1837 | 1838 | ||
1838 | case BC_KSTR: | 1839 | case BC_KSTR: |
1839 | dasm_put(Dst, 10566, LJ_TSTR); | 1840 | dasm_put(Dst, 10585, LJ_TSTR); |
1840 | break; | 1841 | break; |
1841 | case BC_KSHORT: | 1842 | case BC_KSHORT: |
1842 | if (sse) { | 1843 | if (sse) { |
1843 | dasm_put(Dst, 10603); | 1844 | dasm_put(Dst, 10622); |
1844 | } else { | 1845 | } else { |
1845 | dasm_put(Dst, 10618); | 1846 | dasm_put(Dst, 10637); |
1846 | } | 1847 | } |
1847 | dasm_put(Dst, 9512); | 1848 | dasm_put(Dst, 9531); |
1848 | break; | 1849 | break; |
1849 | case BC_KNUM: | 1850 | case BC_KNUM: |
1850 | if (sse) { | 1851 | if (sse) { |
1851 | dasm_put(Dst, 10626); | 1852 | dasm_put(Dst, 10645); |
1852 | } else { | 1853 | } else { |
1853 | dasm_put(Dst, 10640); | 1854 | dasm_put(Dst, 10659); |
1854 | } | 1855 | } |
1855 | dasm_put(Dst, 9512); | 1856 | dasm_put(Dst, 9531); |
1856 | break; | 1857 | break; |
1857 | case BC_KPRI: | 1858 | case BC_KPRI: |
1858 | dasm_put(Dst, 10648); | 1859 | dasm_put(Dst, 10667); |
1859 | break; | 1860 | break; |
1860 | case BC_KNIL: | 1861 | case BC_KNIL: |
1861 | dasm_put(Dst, 10677, LJ_TNIL); | 1862 | dasm_put(Dst, 10696, LJ_TNIL); |
1862 | break; | 1863 | break; |
1863 | 1864 | ||
1864 | /* -- Upvalue and function ops ------------------------------------------ */ | 1865 | /* -- Upvalue and function ops ------------------------------------------ */ |
1865 | 1866 | ||
1866 | case BC_UGET: | 1867 | case BC_UGET: |
1867 | dasm_put(Dst, 10725, offsetof(GCfuncL, uvptr), DtA(->v)); | 1868 | dasm_put(Dst, 10744, offsetof(GCfuncL, uvptr), DtA(->v)); |
1868 | break; | 1869 | break; |
1869 | case BC_USETV: | 1870 | case BC_USETV: |
1870 | #define TV2MARKOFS \ | 1871 | #define TV2MARKOFS \ |
1871 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 1872 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1872 | dasm_put(Dst, 10771, 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); | 1873 | dasm_put(Dst, 10790, 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); |
1873 | dasm_put(Dst, 10867); | 1874 | dasm_put(Dst, 10886); |
1874 | break; | 1875 | break; |
1875 | #undef TV2MARKOFS | 1876 | #undef TV2MARKOFS |
1876 | case BC_USETS: | 1877 | case BC_USETS: |
1877 | dasm_put(Dst, 10879, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 1878 | dasm_put(Dst, 10898, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1878 | break; | 1879 | break; |
1879 | case BC_USETN: | 1880 | case BC_USETN: |
1880 | dasm_put(Dst, 10975); | 1881 | dasm_put(Dst, 10994); |
1881 | if (sse) { | 1882 | if (sse) { |
1882 | dasm_put(Dst, 10980); | 1883 | dasm_put(Dst, 10999); |
1883 | } else { | 1884 | } else { |
1884 | dasm_put(Dst, 9754); | 1885 | dasm_put(Dst, 9773); |
1885 | } | 1886 | } |
1886 | dasm_put(Dst, 10988, offsetof(GCfuncL, uvptr), DtA(->v)); | 1887 | dasm_put(Dst, 11007, offsetof(GCfuncL, uvptr), DtA(->v)); |
1887 | if (sse) { | 1888 | if (sse) { |
1888 | dasm_put(Dst, 10997); | 1889 | dasm_put(Dst, 11016); |
1889 | } else { | 1890 | } else { |
1890 | dasm_put(Dst, 11003); | 1891 | dasm_put(Dst, 11022); |
1891 | } | 1892 | } |
1892 | dasm_put(Dst, 9512); | 1893 | dasm_put(Dst, 9531); |
1893 | break; | 1894 | break; |
1894 | case BC_USETP: | 1895 | case BC_USETP: |
1895 | dasm_put(Dst, 11006, offsetof(GCfuncL, uvptr), DtA(->v)); | 1896 | dasm_put(Dst, 11025, offsetof(GCfuncL, uvptr), DtA(->v)); |
1896 | break; | 1897 | break; |
1897 | case BC_UCLO: | 1898 | case BC_UCLO: |
1898 | dasm_put(Dst, 11046, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 1899 | dasm_put(Dst, 11065, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1899 | break; | 1900 | break; |
1900 | 1901 | ||
1901 | case BC_FNEW: | 1902 | case BC_FNEW: |
1902 | dasm_put(Dst, 11102, Dt1(->base), Dt1(->base), LJ_TFUNC); | 1903 | dasm_put(Dst, 11121, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1903 | break; | 1904 | break; |
1904 | 1905 | ||
1905 | /* -- Table ops --------------------------------------------------------- */ | 1906 | /* -- Table ops --------------------------------------------------------- */ |
1906 | 1907 | ||
1907 | case BC_TNEW: | 1908 | case BC_TNEW: |
1908 | dasm_put(Dst, 11169, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 1909 | dasm_put(Dst, 11188, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1909 | break; | 1910 | break; |
1910 | case BC_TDUP: | 1911 | case BC_TDUP: |
1911 | dasm_put(Dst, 11293, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 1912 | dasm_put(Dst, 11312, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1912 | break; | 1913 | break; |
1913 | 1914 | ||
1914 | case BC_GGET: | 1915 | case BC_GGET: |
1915 | dasm_put(Dst, 11392, Dt7(->env)); | 1916 | dasm_put(Dst, 11411, Dt7(->env)); |
1916 | break; | 1917 | break; |
1917 | case BC_GSET: | 1918 | case BC_GSET: |
1918 | dasm_put(Dst, 11412, Dt7(->env)); | 1919 | dasm_put(Dst, 11431, Dt7(->env)); |
1919 | break; | 1920 | break; |
1920 | 1921 | ||
1921 | case BC_TGETV: | 1922 | case BC_TGETV: |
1922 | dasm_put(Dst, 11432, LJ_TTAB, LJ_TISNUM); | 1923 | dasm_put(Dst, 11451, LJ_TTAB, LJ_TISNUM); |
1923 | if (sse) { | 1924 | if (sse) { |
1924 | dasm_put(Dst, 11465); | 1925 | dasm_put(Dst, 11484); |
1925 | } else { | 1926 | } else { |
1926 | } | 1927 | } |
1927 | dasm_put(Dst, 11486, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1928 | dasm_put(Dst, 11505, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1928 | dasm_put(Dst, 11580, LJ_TSTR); | 1929 | dasm_put(Dst, 11599, LJ_TSTR); |
1929 | break; | 1930 | break; |
1930 | case BC_TGETS: | 1931 | case BC_TGETS: |
1931 | dasm_put(Dst, 11598, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1932 | dasm_put(Dst, 11617, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1932 | dasm_put(Dst, 11684, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1933 | dasm_put(Dst, 11703, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1933 | break; | 1934 | break; |
1934 | case BC_TGETB: | 1935 | case BC_TGETB: |
1935 | dasm_put(Dst, 11757, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1936 | dasm_put(Dst, 11776, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1936 | dasm_put(Dst, 10046); | 1937 | dasm_put(Dst, 10065); |
1937 | break; | 1938 | break; |
1938 | 1939 | ||
1939 | case BC_TSETV: | 1940 | case BC_TSETV: |
1940 | dasm_put(Dst, 11858, LJ_TTAB, LJ_TISNUM); | 1941 | dasm_put(Dst, 11877, LJ_TTAB, LJ_TISNUM); |
1941 | if (sse) { | 1942 | if (sse) { |
1942 | dasm_put(Dst, 11465); | 1943 | dasm_put(Dst, 11484); |
1943 | } else { | 1944 | } else { |
1944 | } | 1945 | } |
1945 | dasm_put(Dst, 11891, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 1946 | dasm_put(Dst, 11910, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
1946 | dasm_put(Dst, 11976, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1947 | dasm_put(Dst, 11995, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1947 | break; | 1948 | break; |
1948 | case BC_TSETS: | 1949 | case BC_TSETS: |
1949 | dasm_put(Dst, 12040, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1950 | dasm_put(Dst, 12059, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1950 | dasm_put(Dst, 12117, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 1951 | dasm_put(Dst, 12136, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
1951 | dasm_put(Dst, 12209, 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)); | 1952 | dasm_put(Dst, 12228, 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)); |
1952 | break; | 1953 | break; |
1953 | case BC_TSETB: | 1954 | case BC_TSETB: |
1954 | dasm_put(Dst, 12301, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 1955 | dasm_put(Dst, 12320, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
1955 | dasm_put(Dst, 12401, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1956 | dasm_put(Dst, 12420, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1956 | break; | 1957 | break; |
1957 | 1958 | ||
1958 | case BC_TSETM: | 1959 | case BC_TSETM: |
1959 | dasm_put(Dst, 12449); | 1960 | dasm_put(Dst, 12468); |
1960 | if (sse) { | 1961 | if (sse) { |
1961 | dasm_put(Dst, 10980); | 1962 | dasm_put(Dst, 10999); |
1962 | } else { | 1963 | } else { |
1963 | } | 1964 | } |
1964 | dasm_put(Dst, 12454, Dt6(->marked), LJ_GC_BLACK); | 1965 | dasm_put(Dst, 12473, Dt6(->marked), LJ_GC_BLACK); |
1965 | if (sse) { | 1966 | if (sse) { |
1966 | dasm_put(Dst, 12479); | 1967 | dasm_put(Dst, 12498); |
1967 | } else { | 1968 | } else { |
1968 | } | 1969 | } |
1969 | dasm_put(Dst, 12487, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); | 1970 | dasm_put(Dst, 12506, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); |
1970 | dasm_put(Dst, 12623, Dt6(->gclist)); | 1971 | dasm_put(Dst, 12642, Dt6(->gclist)); |
1971 | break; | 1972 | break; |
1972 | 1973 | ||
1973 | /* -- Calls and vararg handling ----------------------------------------- */ | 1974 | /* -- Calls and vararg handling ----------------------------------------- */ |
1974 | 1975 | ||
1975 | case BC_CALL: case BC_CALLM: | 1976 | case BC_CALL: case BC_CALLM: |
1976 | dasm_put(Dst, 10060); | 1977 | dasm_put(Dst, 10079); |
1977 | if (op == BC_CALLM) { | 1978 | if (op == BC_CALLM) { |
1978 | dasm_put(Dst, 12631); | 1979 | dasm_put(Dst, 12650); |
1979 | } | 1980 | } |
1980 | dasm_put(Dst, 12636, LJ_TFUNC, Dt7(->pc)); | 1981 | dasm_put(Dst, 12655, LJ_TFUNC, Dt7(->pc)); |
1981 | break; | 1982 | break; |
1982 | 1983 | ||
1983 | case BC_CALLMT: | 1984 | case BC_CALLMT: |
1984 | dasm_put(Dst, 12631); | 1985 | dasm_put(Dst, 12650); |
1985 | break; | 1986 | break; |
1986 | case BC_CALLT: | 1987 | case BC_CALLT: |
1987 | dasm_put(Dst, 12679, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 1988 | dasm_put(Dst, 12698, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
1988 | dasm_put(Dst, 12803, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); | 1989 | dasm_put(Dst, 12822, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); |
1989 | break; | 1990 | break; |
1990 | 1991 | ||
1991 | case BC_ITERC: | 1992 | case BC_ITERC: |
1992 | dasm_put(Dst, 12864, LJ_TFUNC, 2+1, Dt7(->pc)); | 1993 | dasm_put(Dst, 12883, LJ_TFUNC, 2+1, Dt7(->pc)); |
1993 | break; | 1994 | break; |
1994 | 1995 | ||
1995 | case BC_VARG: | 1996 | case BC_VARG: |
1996 | dasm_put(Dst, 12946, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 1997 | dasm_put(Dst, 12965, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
1997 | dasm_put(Dst, 13100, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 1998 | dasm_put(Dst, 13119, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
1998 | break; | 1999 | break; |
1999 | 2000 | ||
2000 | /* -- Returns ----------------------------------------------------------- */ | 2001 | /* -- Returns ----------------------------------------------------------- */ |
2001 | 2002 | ||
2002 | case BC_RETM: | 2003 | case BC_RETM: |
2003 | dasm_put(Dst, 12631); | 2004 | dasm_put(Dst, 12650); |
2004 | break; | 2005 | break; |
2005 | 2006 | ||
2006 | case BC_RET: case BC_RET0: case BC_RET1: | 2007 | case BC_RET: case BC_RET0: case BC_RET1: |
2007 | if (op != BC_RET0) { | 2008 | if (op != BC_RET0) { |
2008 | dasm_put(Dst, 13205); | 2009 | dasm_put(Dst, 13224); |
2009 | } | 2010 | } |
2010 | dasm_put(Dst, 13209, FRAME_TYPE); | 2011 | dasm_put(Dst, 13228, FRAME_TYPE); |
2011 | switch (op) { | 2012 | switch (op) { |
2012 | case BC_RET: | 2013 | case BC_RET: |
2013 | dasm_put(Dst, 13228); | 2014 | dasm_put(Dst, 13247); |
2014 | break; | 2015 | break; |
2015 | case BC_RET1: | 2016 | case BC_RET1: |
2016 | dasm_put(Dst, 13292); | 2017 | dasm_put(Dst, 13311); |
2017 | /* fallthrough */ | 2018 | /* fallthrough */ |
2018 | case BC_RET0: | 2019 | case BC_RET0: |
2019 | dasm_put(Dst, 13308); | 2020 | dasm_put(Dst, 13327); |
2020 | default: | 2021 | default: |
2021 | break; | 2022 | break; |
2022 | } | 2023 | } |
2023 | dasm_put(Dst, 13319, Dt7(->pc), PC2PROTO(k)); | 2024 | dasm_put(Dst, 13338, Dt7(->pc), PC2PROTO(k)); |
2024 | if (op == BC_RET) { | 2025 | if (op == BC_RET) { |
2025 | dasm_put(Dst, 13367, LJ_TNIL); | 2026 | dasm_put(Dst, 13386, LJ_TNIL); |
2026 | } else { | 2027 | } else { |
2027 | dasm_put(Dst, 13378, LJ_TNIL); | 2028 | dasm_put(Dst, 13397, LJ_TNIL); |
2028 | } | 2029 | } |
2029 | dasm_put(Dst, 13385); | 2030 | dasm_put(Dst, 13404); |
2030 | if (op != BC_RET0) { | 2031 | if (op != BC_RET0) { |
2031 | dasm_put(Dst, 13405); | 2032 | dasm_put(Dst, 13424); |
2032 | } | 2033 | } |
2033 | dasm_put(Dst, 4596); | 2034 | dasm_put(Dst, 4596); |
2034 | break; | 2035 | break; |
@@ -2038,7 +2039,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2038 | 2039 | ||
2039 | case BC_FORL: | 2040 | case BC_FORL: |
2040 | #if LJ_HASJIT | 2041 | #if LJ_HASJIT |
2041 | dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2042 | dasm_put(Dst, 13427, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2042 | #endif | 2043 | #endif |
2043 | break; | 2044 | break; |
2044 | 2045 | ||
@@ -2050,57 +2051,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2050 | case BC_FORI: | 2051 | case BC_FORI: |
2051 | case BC_IFORL: | 2052 | case BC_IFORL: |
2052 | vk = (op == BC_IFORL || op == BC_JFORL); | 2053 | vk = (op == BC_IFORL || op == BC_JFORL); |
2053 | dasm_put(Dst, 13429); | 2054 | dasm_put(Dst, 13448); |
2054 | if (!vk) { | 2055 | if (!vk) { |
2055 | dasm_put(Dst, 13433, LJ_TISNUM, LJ_TISNUM); | 2056 | dasm_put(Dst, 13452, LJ_TISNUM, LJ_TISNUM); |
2056 | } | 2057 | } |
2057 | dasm_put(Dst, 13452); | 2058 | dasm_put(Dst, 13471); |
2058 | if (!vk) { | 2059 | if (!vk) { |
2059 | dasm_put(Dst, 13456, LJ_TISNUM); | 2060 | dasm_put(Dst, 13475, LJ_TISNUM); |
2060 | } | 2061 | } |
2061 | if (sse) { | 2062 | if (sse) { |
2062 | dasm_put(Dst, 13465); | 2063 | dasm_put(Dst, 13484); |
2063 | if (vk) { | 2064 | if (vk) { |
2064 | dasm_put(Dst, 13477); | ||
2065 | } else { | ||
2066 | dasm_put(Dst, 13496); | 2065 | dasm_put(Dst, 13496); |
2066 | } else { | ||
2067 | dasm_put(Dst, 13515); | ||
2067 | } | 2068 | } |
2068 | dasm_put(Dst, 13501); | 2069 | dasm_put(Dst, 13520); |
2069 | } else { | 2070 | } else { |
2070 | dasm_put(Dst, 13514); | 2071 | dasm_put(Dst, 13533); |
2071 | if (vk) { | 2072 | if (vk) { |
2072 | dasm_put(Dst, 13520); | 2073 | dasm_put(Dst, 13539); |
2073 | } else { | 2074 | } else { |
2074 | dasm_put(Dst, 13536); | 2075 | dasm_put(Dst, 13555); |
2075 | } | 2076 | } |
2076 | dasm_put(Dst, 13544); | 2077 | dasm_put(Dst, 13563); |
2077 | if (cmov) { | 2078 | if (cmov) { |
2078 | dasm_put(Dst, 9475); | 2079 | dasm_put(Dst, 9494); |
2079 | } else { | 2080 | } else { |
2080 | dasm_put(Dst, 9481); | 2081 | dasm_put(Dst, 9500); |
2081 | } | 2082 | } |
2082 | if (!cmov) { | 2083 | if (!cmov) { |
2083 | dasm_put(Dst, 13549); | 2084 | dasm_put(Dst, 13568); |
2084 | } | 2085 | } |
2085 | } | 2086 | } |
2086 | if (op == BC_FORI) { | 2087 | if (op == BC_FORI) { |
2087 | dasm_put(Dst, 13555, -BCBIAS_J*4); | 2088 | dasm_put(Dst, 13574, -BCBIAS_J*4); |
2088 | } else if (op == BC_JFORI) { | 2089 | } else if (op == BC_JFORI) { |
2089 | dasm_put(Dst, 13565, -BCBIAS_J*4, BC_JLOOP); | 2090 | dasm_put(Dst, 13584, -BCBIAS_J*4, BC_JLOOP); |
2090 | } else if (op == BC_IFORL) { | 2091 | } else if (op == BC_IFORL) { |
2091 | dasm_put(Dst, 13579, -BCBIAS_J*4); | 2092 | dasm_put(Dst, 13598, -BCBIAS_J*4); |
2092 | } else { | 2093 | } else { |
2093 | dasm_put(Dst, 13575, BC_JLOOP); | 2094 | dasm_put(Dst, 13594, BC_JLOOP); |
2094 | } | 2095 | } |
2095 | dasm_put(Dst, 9510); | 2096 | dasm_put(Dst, 9529); |
2096 | if (sse) { | 2097 | if (sse) { |
2097 | dasm_put(Dst, 13589); | 2098 | dasm_put(Dst, 13608); |
2098 | } | 2099 | } |
2099 | break; | 2100 | break; |
2100 | 2101 | ||
2101 | case BC_ITERL: | 2102 | case BC_ITERL: |
2102 | #if LJ_HASJIT | 2103 | #if LJ_HASJIT |
2103 | dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2104 | dasm_put(Dst, 13427, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2104 | #endif | 2105 | #endif |
2105 | break; | 2106 | break; |
2106 | 2107 | ||
@@ -2109,33 +2110,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2109 | break; | 2110 | break; |
2110 | #endif | 2111 | #endif |
2111 | case BC_IITERL: | 2112 | case BC_IITERL: |
2112 | dasm_put(Dst, 13600, LJ_TNIL); | 2113 | dasm_put(Dst, 13619, LJ_TNIL); |
2113 | if (op == BC_JITERL) { | 2114 | if (op == BC_JITERL) { |
2114 | dasm_put(Dst, 13615, BC_JLOOP); | 2115 | dasm_put(Dst, 13634, BC_JLOOP); |
2115 | } else { | 2116 | } else { |
2116 | dasm_put(Dst, 13629, -BCBIAS_J*4); | 2117 | dasm_put(Dst, 13648, -BCBIAS_J*4); |
2117 | } | 2118 | } |
2118 | dasm_put(Dst, 9814); | 2119 | dasm_put(Dst, 9833); |
2119 | break; | 2120 | break; |
2120 | 2121 | ||
2121 | case BC_LOOP: | 2122 | case BC_LOOP: |
2122 | #if LJ_HASJIT | 2123 | #if LJ_HASJIT |
2123 | dasm_put(Dst, 13408, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2124 | dasm_put(Dst, 13427, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2124 | #endif | 2125 | #endif |
2125 | break; | 2126 | break; |
2126 | 2127 | ||
2127 | case BC_ILOOP: | 2128 | case BC_ILOOP: |
2128 | dasm_put(Dst, 9512); | 2129 | dasm_put(Dst, 9531); |
2129 | break; | 2130 | break; |
2130 | 2131 | ||
2131 | case BC_JLOOP: | 2132 | case BC_JLOOP: |
2132 | #if LJ_HASJIT | 2133 | #if LJ_HASJIT |
2133 | dasm_put(Dst, 13645, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2134 | dasm_put(Dst, 13664, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2134 | #endif | 2135 | #endif |
2135 | break; | 2136 | break; |
2136 | 2137 | ||
2137 | case BC_JMP: | 2138 | case BC_JMP: |
2138 | dasm_put(Dst, 13672, -BCBIAS_J*4); | 2139 | dasm_put(Dst, 13705, -BCBIAS_J*4); |
2139 | break; | 2140 | break; |
2140 | 2141 | ||
2141 | /* -- Function headers -------------------------------------------------- */ | 2142 | /* -- Function headers -------------------------------------------------- */ |
@@ -2158,47 +2159,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2158 | break; | 2159 | break; |
2159 | #endif | 2160 | #endif |
2160 | case BC_IFUNCF: | 2161 | case BC_IFUNCF: |
2161 | dasm_put(Dst, 13698, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2162 | dasm_put(Dst, 13731, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2162 | if (op == BC_JFUNCF) { | 2163 | if (op == BC_JFUNCF) { |
2163 | dasm_put(Dst, 13729, BC_JLOOP); | 2164 | dasm_put(Dst, 13762, BC_JLOOP); |
2164 | } else { | 2165 | } else { |
2165 | dasm_put(Dst, 9512); | 2166 | dasm_put(Dst, 9531); |
2166 | } | 2167 | } |
2167 | dasm_put(Dst, 13738, LJ_TNIL); | 2168 | dasm_put(Dst, 13771, LJ_TNIL); |
2168 | break; | 2169 | break; |
2169 | 2170 | ||
2170 | case BC_JFUNCV: | 2171 | case BC_JFUNCV: |
2171 | #if !LJ_HASJIT | 2172 | #if !LJ_HASJIT |
2172 | break; | 2173 | break; |
2173 | #endif | 2174 | #endif |
2174 | dasm_put(Dst, 9207); | 2175 | dasm_put(Dst, 9226); |
2175 | break; /* NYI: compiled vararg functions. */ | 2176 | break; /* NYI: compiled vararg functions. */ |
2176 | 2177 | ||
2177 | case BC_IFUNCV: | 2178 | case BC_IFUNCV: |
2178 | dasm_put(Dst, 13760, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2179 | dasm_put(Dst, 13793, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2179 | if (op == BC_JFUNCV) { | 2180 | if (op == BC_JFUNCV) { |
2180 | dasm_put(Dst, 13729, BC_JLOOP); | 2181 | dasm_put(Dst, 13762, BC_JLOOP); |
2181 | } else { | 2182 | } else { |
2182 | dasm_put(Dst, 13857, -4+PC2PROTO(k)); | 2183 | dasm_put(Dst, 13890, -4+PC2PROTO(k)); |
2183 | } | 2184 | } |
2184 | dasm_put(Dst, 13882, LJ_TNIL); | 2185 | dasm_put(Dst, 13915, LJ_TNIL); |
2185 | break; | 2186 | break; |
2186 | 2187 | ||
2187 | case BC_FUNCC: | 2188 | case BC_FUNCC: |
2188 | case BC_FUNCCW: | 2189 | case BC_FUNCCW: |
2189 | dasm_put(Dst, 13904, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2190 | dasm_put(Dst, 13937, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2190 | if (op == BC_FUNCC) { | 2191 | if (op == BC_FUNCC) { |
2191 | dasm_put(Dst, 13934); | 2192 | dasm_put(Dst, 13967); |
2192 | } else { | 2193 | } else { |
2193 | dasm_put(Dst, 13938); | 2194 | dasm_put(Dst, 13971); |
2194 | } | 2195 | } |
2195 | dasm_put(Dst, 13946, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2196 | dasm_put(Dst, 13979, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2196 | if (op == BC_FUNCC) { | 2197 | if (op == BC_FUNCC) { |
2197 | dasm_put(Dst, 13956); | 2198 | dasm_put(Dst, 13989); |
2198 | } else { | 2199 | } else { |
2199 | dasm_put(Dst, 13961, DISPATCH_GL(wrapf)); | 2200 | dasm_put(Dst, 13994, DISPATCH_GL(wrapf)); |
2200 | } | 2201 | } |
2201 | dasm_put(Dst, 13967, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2202 | dasm_put(Dst, 14000, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2202 | break; | 2203 | break; |
2203 | 2204 | ||
2204 | /* ---------------------------------------------------------------------- */ | 2205 | /* ---------------------------------------------------------------------- */ |
@@ -2226,7 +2227,7 @@ static int build_backend(BuildCtx *ctx) | |||
2226 | 2227 | ||
2227 | build_subroutines(ctx, cmov, sse); | 2228 | build_subroutines(ctx, cmov, sse); |
2228 | 2229 | ||
2229 | dasm_put(Dst, 13993); | 2230 | dasm_put(Dst, 14026); |
2230 | for (op = 0; op < BC__MAX; op++) | 2231 | for (op = 0; op < BC__MAX; op++) |
2231 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2232 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2232 | 2233 | ||
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index b0c90b81..de65f400 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[13802] = { | 15 | static const unsigned char build_actionlist[13976] = { |
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,252,247,198,237,15,132,244,10, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10, |
@@ -377,138 +377,142 @@ static const unsigned char build_actionlist[13802] = { | |||
377 | 117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152, | 377 | 117,176,252,242,15,17,109,168,252,242,15,17,101,160,252,242,15,17,93,152, |
378 | 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,233, | 378 | 252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,17,69,128,139,171,233, |
379 | 139,147,233,72,137,171,233,137,149,233,72,141,148,253,36,233,141,139,233, | 379 | 139,147,233,72,137,171,233,137,149,233,72,141,148,253,36,233,141,139,233, |
380 | 232,251,1,23,72,139,141,233,72,129,225,239,72,137,204,137,108,36,96,133,192, | 380 | 232,251,1,23,72,139,141,233,72,129,225,239,137,169,233,139,149,233,139,177, |
381 | 15,133,244,247,139,149,233,139,116,36,100,255,248,144,255,139,122,252,248, | 381 | 233,252,233,244,247,255,248,144,255,49,192,72,141,140,253,36,233,248,1,102, |
382 | 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182, | 382 | 68,15,111,185,233,102,68,15,111,177,233,102,68,15,111,169,233,102,68,15,111, |
383 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,1,137,252,233, | 383 | 161,233,102,68,15,111,153,233,102,68,15,111,145,233,102,68,15,111,137,233, |
384 | 137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68,36,8,102,184,0,4, | 384 | 102,68,15,111,129,233,102,15,111,185,233,72,137,204,102,15,111,49,76,139, |
385 | 102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252, | 385 | 124,36,16,76,139,116,36,24,76,139,108,36,32,76,139,100,36,80,133,192,15,133, |
386 | 252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237,237,102,72,15,110, | 386 | 244,248,139,122,252,248,139,191,233,139,191,233,199,131,233,0,0,0,0,199,131, |
387 | 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217, | 387 | 233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, |
388 | 15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86, | 388 | 248,2,137,252,233,137,194,232,251,1,24,255,248,82,255,217,124,36,4,137,68, |
389 | 202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252, | 389 | 36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217, |
390 | 242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137,68,36,8,102, | 390 | 108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,145,72,184,237, |
391 | 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36, | 391 | 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84, |
392 | 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,72,184,237,237,102, | 392 | 202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242, |
393 | 72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102, | 393 | 15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193, |
394 | 15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203, | 394 | 1,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124, |
395 | 102,15,86,202,72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15, | 395 | 36,4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137, |
396 | 84,194,252,242,15,92,200,15,40,193,248,1,195,248,104,255,217,124,36,4,137, | 396 | 68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146, |
397 | 68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252, | 397 | 72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200, |
398 | 252,217,108,36,4,139,68,36,8,195,255,248,147,72,184,237,237,102,72,15,110, | 398 | 102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,242,15,88,203, |
399 | 208,72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217, | 399 | 252,242,15,92,203,102,15,86,202,72,184,237,237,102,72,15,110,208,252,242, |
400 | 15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203, | 400 | 15,194,193,6,102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,104, |
401 | 72,184,237,237,102,72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242, | 401 | 255,217,124,36,4,137,68,36,8,102,184,0,12,102,11,68,36,4,102,137,68,36,6, |
402 | 15,92,200,102,15,86,202,15,40,193,248,1,195,248,148,255,15,40,232,252,242, | 402 | 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,147,72,184, |
403 | 15,94,193,72,184,237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216, | 403 | 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,200,102, |
404 | 15,40,224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242, | 404 | 15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15, |
405 | 15,88,227,252,242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208, | 405 | 88,203,252,242,15,92,203,72,184,237,237,102,72,15,110,216,252,242,15,194, |
406 | 252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15, | 406 | 193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,1,195,248, |
407 | 89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15, | 407 | 148,255,15,40,232,252,242,15,94,193,72,184,237,237,102,72,15,110,208,72,184, |
408 | 92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36, | 408 | 237,237,102,72,15,110,216,15,40,224,102,15,84,226,102,15,46,220,15,134,244, |
409 | 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108, | 409 | 247,102,15,85,208,252,242,15,88,227,252,242,15,92,227,102,15,86,226,72,184, |
410 | 36,4,222,201,222,252,233,195,255,248,88,217,252,234,222,201,248,149,217,84, | 410 | 237,237,102,72,15,110,208,252,242,15,194,196,1,102,15,84,194,252,242,15,92, |
411 | 36,8,129,124,36,8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255, | 411 | 224,15,40,197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89, |
412 | 15,132,244,248,248,150,217,192,217,252,252,220,252,233,217,201,217,252,240, | 412 | 200,15,40,197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4, |
413 | 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195, | 413 | 102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108, |
414 | 255,248,107,255,248,151,252,242,15,45,193,252,242,15,42,208,102,15,46,202, | 414 | 36,6,217,252,252,217,108,36,4,222,201,222,252,233,195,255,248,88,217,252, |
415 | 15,133,244,254,15,138,244,255,248,152,131,252,248,1,15,142,244,252,248,1, | 415 | 234,222,201,248,149,217,84,36,8,129,124,36,8,0,0,128,127,15,132,244,247,129, |
416 | 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2, | 416 | 124,36,8,0,0,128,252,255,15,132,244,248,248,150,217,192,217,252,252,220,252, |
417 | 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244, | 417 | 233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248, |
418 | 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89, | 418 | 2,221,216,217,252,238,195,255,248,107,255,248,151,252,242,15,45,193,252,242, |
419 | 193,248,5,195,248,6,15,132,244,5,15,130,244,253,80,72,184,237,237,102,72, | 419 | 15,42,208,102,15,46,202,15,133,244,254,15,138,244,255,248,152,131,252,248, |
420 | 15,110,200,252,242,15,94,200,88,15,40,193,252,247,216,131,252,248,1,15,132, | 420 | 1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232, |
421 | 244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110,192,195,248,8,102, | 421 | 252,233,244,1,248,2,209,232,15,132,244,251,15,40,200,248,3,252,242,15,89, |
422 | 72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15,0,0,15,132,244,248, | 422 | 192,209,232,15,132,244,250,15,131,244,3,255,252,242,15,89,200,252,233,244, |
423 | 255,102,72,15,126,192,72,209,224,15,132,244,250,72,193,192,12,72,61,252,254, | 423 | 3,248,4,252,242,15,89,193,248,5,195,248,6,15,132,244,5,15,130,244,253,80, |
424 | 15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242,15,17,68,36,8,221,68, | 424 | 72,184,237,237,102,72,15,110,200,252,242,15,94,200,88,15,40,193,252,247,216, |
425 | 36,16,221,68,36,8,217,252,241,217,192,217,252,252,220,252,233,217,201,217, | 425 | 131,252,248,1,15,132,244,5,252,233,244,1,248,7,72,184,237,237,102,72,15,110, |
426 | 252,240,217,232,222,193,217,252,253,221,217,221,92,36,8,252,242,15,16,68, | 426 | 192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,15, |
427 | 36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244, | 427 | 0,0,15,132,244,248,255,102,72,15,126,192,72,209,224,15,132,244,250,72,193, |
428 | 247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84, | 428 | 192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,242, |
429 | 194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80, | 429 | 15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,220, |
430 | 193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237, | 430 | 252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36, |
431 | 255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87, | 431 | 8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,15, |
432 | 192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,153,255, | 432 | 46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,15, |
433 | 110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132, | ||
434 | 244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,248, | ||
435 | 3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,15, | ||
436 | 133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192, | ||
437 | 195,248,153,255,131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15, | ||
438 | 130,244,104,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36, | ||
439 | 8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80, | ||
440 | 252,233,244,253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250, | ||
441 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244, | ||
442 | 253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9, | ||
443 | 15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244, | ||
444 | 253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244, | ||
445 | 247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216, | ||
446 | 248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4, | ||
433 | 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15, | 447 | 131,252,250,1,15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15, |
434 | 135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,8,221,68,36,8, | 448 | 135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244, |
435 | 131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,88,80,252,233,244, | 449 | 149,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252, |
436 | 253,248,1,232,244,149,255,80,252,233,244,253,248,2,131,252,250,7,15,132,244, | 450 | 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132, |
437 | 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1, | 451 | 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217, |
438 | 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,250,9,15,132,244, | 452 | 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255, |
439 | 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1, | 453 | 195,248,1,217,252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248, |
440 | 255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,244,247,15,135, | 454 | 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92, |
441 | 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92, | 455 | 193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89, |
442 | 36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,4,131,252,250,1, | 456 | 193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148, |
443 | 15,130,244,82,15,132,244,84,131,252,250,3,15,130,244,104,15,135,244,248,217, | 457 | 15,132,244,107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237, |
444 | 252,250,195,248,2,131,252,250,5,15,130,244,88,15,132,244,149,131,252,250, | 458 | 237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110, |
445 | 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1, | 459 | 200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68, |
446 | 217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,244,247,255,15, | 460 | 36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252, |
447 | 135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248, | 461 | 243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253, |
448 | 2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217, | 462 | 221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255, |
449 | 252,242,221,216,195,255,248,9,204,248,154,255,65,131,252,248,1,15,132,244, | 463 | 252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36, |
450 | 247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,193,195,248, | 464 | 20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222, |
451 | 2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,89,193,195,248, | 465 | 193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244, |
452 | 1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,148,15,132,244, | 466 | 248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148, |
453 | 107,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102, | 467 | 15,132,244,107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217, |
454 | 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84, | 468 | 224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135, |
455 | 193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,68,36,8,252,242, | 469 | 244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252, |
456 | 15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,252,243,248,7, | 470 | 248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195, |
457 | 221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,253,221,217,252, | 471 | 248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15, |
458 | 233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15, | 472 | 132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1, |
459 | 93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,36,20,221,68, | 473 | 15,133,244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214, |
460 | 36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,195, | 474 | 83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202, |
461 | 248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,222, | 475 | 4,239,15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16, |
462 | 201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,148,15,132,244, | 476 | 4,194,131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223, |
463 | 107,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,248, | 477 | 252,233,221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131, |
464 | 1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217, | 478 | 244,248,255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182, |
465 | 252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15, | 479 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4, |
466 | 132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219, | 480 | 131,198,4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244, |
467 | 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244, | 481 | 251,255,252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15, |
468 | 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133, | 482 | 138,244,248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15, |
469 | 244,248,217,201,248,2,221,216,195,255,248,155,137,200,86,72,137,214,83,15, | 483 | 183,70,252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141, |
470 | 162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,4,239, | 484 | 180,253,134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239, |
471 | 15,135,244,41,129,124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194, | 485 | 15,131,244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15, |
472 | 131,198,4,102,15,46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233, | 486 | 135,244,2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133, |
473 | 221,216,255,218,252,233,223,224,158,255,15,134,244,248,255,15,131,244,248, | 487 | 244,2,255,49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208, |
474 | 255,248,1,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15, | 488 | 131,198,4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131, |
475 | 182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198, | 489 | 198,4,129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15, |
476 | 4,129,252,253,239,15,135,244,251,129,124,253,202,4,239,15,135,244,251,255, | 490 | 46,4,202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4, |
477 | 252,242,15,16,4,194,102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244, | 491 | 255,139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130, |
478 | 248,15,133,244,248,255,15,138,244,248,15,132,244,247,255,248,1,15,183,70, | 492 | 244,247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141, |
479 | 252,254,141,180,253,134,233,248,2,255,248,2,15,183,70,252,254,141,180,253, | 493 | 180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
480 | 134,233,248,1,255,248,5,57,108,202,4,15,133,244,2,129,252,253,239,15,131, | 494 | 255,36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6, |
481 | 244,1,139,12,202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244, | 495 | 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252, |
482 | 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255, | 496 | 237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182, |
483 | 49,252,237,255,189,1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,198, | 497 | 232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15, |
484 | 4,129,124,253,202,4,239,15,133,244,248,139,12,202,59,12,135,255,131,198,4, | 498 | 135,244,48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87, |
485 | 129,124,253,202,4,239,15,135,244,248,255,252,242,15,16,4,199,102,15,46,4, | 499 | 193,252,242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253, |
486 | 202,255,221,4,202,221,4,199,255,72,252,247,208,131,198,4,57,68,202,4,255, | 500 | 194,4,239,15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248, |
487 | 139,108,194,4,131,198,4,129,252,253,239,255,15,131,244,247,255,15,130,244, | 501 | 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204, |
488 | 247,255,137,108,202,4,139,44,194,137,44,202,255,15,183,70,252,254,141,180, | 502 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194, |
489 | 253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, | 503 | 4,239,15,133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192, |
490 | 36,252,235,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182, | 504 | 137,252,234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182, |
491 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,49,252,237,129, | 505 | 192,255,129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234, |
492 | 124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131, | 506 | 252,242,15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4, |
493 | 198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,4,239,15,135,244, | 507 | 239,15,135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221, |
494 | 48,255,252,242,15,16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252, | 508 | 4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253, |
495 | 242,15,17,4,202,255,221,4,194,217,224,221,28,202,255,129,124,253,194,4,239, | 509 | 194,4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255, |
496 | 15,133,244,248,139,4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242, | 510 | 221,4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255, |
497 | 15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,15,182,204,15,182, | 511 | 221,4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234, |
498 | 232,131,198,4,193,232,16,252,255,36,252,235,248,2,129,124,253,194,4,239,15, | 512 | 255,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4, |
499 | 133,244,50,139,12,194,137,213,232,251,1,18,255,252,242,15,42,192,137,252, | 513 | 194,255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89, |
500 | 234,255,15,182,78,252,253,252,233,244,1,255,15,182,252,236,15,182,192,255, | 514 | 4,199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89, |
501 | 129,124,253,252,234,4,239,15,135,244,46,255,252,242,15,16,4,252,234,252,242, | 515 | 4,252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242, |
502 | 15,88,4,199,255,221,4,252,234,220,4,199,255,129,124,253,252,234,4,239,15, | ||
503 | 135,244,47,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,221,4,199, | ||
504 | 220,4,252,234,255,129,124,253,252,234,4,239,15,135,244,49,129,124,253,194, | ||
505 | 4,239,15,135,244,49,255,252,242,15,16,4,252,234,252,242,15,88,4,194,255,221, | ||
506 | 4,252,234,220,4,194,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221, | ||
507 | 4,252,234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255, | ||
508 | 221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194, | ||
509 | 255,221,4,252,234,220,36,194,255,252,242,15,16,4,252,234,252,242,15,89,4, | ||
510 | 199,255,221,4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4, | ||
511 | 252,234,255,221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242, | ||
512 | 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252, | 516 | 15,89,4,194,255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252, |
513 | 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252, | 517 | 242,15,94,4,199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252, |
514 | 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252, | 518 | 242,15,94,4,252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252, |
@@ -667,22 +671,26 @@ static const unsigned char build_actionlist[13802] = { | |||
667 | 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41, | 671 | 12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41, |
668 | 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252, | 672 | 137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252, |
669 | 137,65,252,248,255,139,139,233,139,4,193,72,139,128,233,139,108,36,96,137, | 673 | 137,65,252,248,255,139,139,233,139,4,193,72,139,128,233,139,108,36,96,137, |
670 | 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204, | 674 | 147,233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76, |
671 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233,139,108, | 675 | 137,124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185, |
672 | 36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15,134,244, | 676 | 233,102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102, |
673 | 249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,252, | 677 | 68,15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127, |
674 | 237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,4, | 678 | 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15, |
675 | 194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141,12, | 679 | 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,190,233, |
676 | 200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237,15, | 680 | 139,108,36,96,141,12,202,59,141,233,15,135,244,23,15,182,142,233,57,200,15, |
677 | 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56, | 681 | 134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194, |
678 | 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133, | 682 | 252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237, |
679 | 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232, | 683 | 141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,96,141, |
680 | 16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133, | 684 | 12,200,59,141,233,15,135,244,22,137,209,137,194,15,182,174,233,133,252,237, |
681 | 244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36,96,141, | 685 | 15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137, |
682 | 68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,252, | 686 | 56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15, |
683 | 233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233,237,255, | 687 | 133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193, |
684 | 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194, | 688 | 232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,131,252,237,1, |
685 | 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | 689 | 15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,139,108,36, |
690 | 96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,233,255, | ||
691 | 137,252,233,255,72,137,252,250,137,252,233,255,15,135,244,21,199,131,233, | ||
692 | 237,255,252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141, | ||
693 | 12,194,252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0 | ||
686 | }; | 694 | }; |
687 | 695 | ||
688 | enum { | 696 | enum { |
@@ -1357,62 +1365,62 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1357 | #endif | 1365 | #endif |
1358 | dasm_put(Dst, 7251, Dt1(->base), Dt1(->top)); | 1366 | dasm_put(Dst, 7251, Dt1(->base), Dt1(->top)); |
1359 | #if LJ_HASJIT | 1367 | #if LJ_HASJIT |
1360 | dasm_put(Dst, 7282, 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), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base)); | 1368 | dasm_put(Dst, 7282, 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), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1361 | #endif | 1369 | #endif |
1362 | dasm_put(Dst, 7512); | 1370 | dasm_put(Dst, 7505); |
1363 | #if LJ_HASJIT | 1371 | #if LJ_HASJIT |
1364 | dasm_put(Dst, 7515, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1372 | dasm_put(Dst, 7508, 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); |
1365 | #endif | 1373 | #endif |
1366 | dasm_put(Dst, 7567); | 1374 | dasm_put(Dst, 7656); |
1367 | if (!sse) { | 1375 | if (!sse) { |
1368 | dasm_put(Dst, 7570); | 1376 | dasm_put(Dst, 7659); |
1369 | } | 1377 | } |
1370 | dasm_put(Dst, 7615, (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)); | 1378 | dasm_put(Dst, 7704, (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)); |
1371 | if (!sse) { | 1379 | if (!sse) { |
1372 | dasm_put(Dst, 7701); | 1380 | dasm_put(Dst, 7790); |
1373 | } | 1381 | } |
1374 | dasm_put(Dst, 7746, (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)); | 1382 | dasm_put(Dst, 7835, (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)); |
1375 | if (!sse) { | 1383 | if (!sse) { |
1376 | dasm_put(Dst, 7832); | 1384 | dasm_put(Dst, 7921); |
1377 | } | 1385 | } |
1378 | dasm_put(Dst, 7871, (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)); | 1386 | dasm_put(Dst, 7960, (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)); |
1379 | if (sse) { | 1387 | if (sse) { |
1380 | dasm_put(Dst, 7960, (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)); | 1388 | dasm_put(Dst, 8049, (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)); |
1381 | } else { | 1389 | } else { |
1382 | dasm_put(Dst, 8074); | 1390 | dasm_put(Dst, 8163); |
1383 | } | 1391 | } |
1384 | dasm_put(Dst, 8121); | 1392 | dasm_put(Dst, 8210); |
1385 | if (!sse) { | 1393 | if (!sse) { |
1386 | } else { | 1394 | } else { |
1387 | dasm_put(Dst, 8195); | 1395 | dasm_put(Dst, 8284); |
1388 | } | 1396 | } |
1389 | dasm_put(Dst, 8198); | 1397 | dasm_put(Dst, 8287); |
1390 | dasm_put(Dst, 8283, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1398 | dasm_put(Dst, 8372, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1391 | dasm_put(Dst, 8384, (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)); | 1399 | dasm_put(Dst, 8473, (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)); |
1392 | dasm_put(Dst, 8552); | 1400 | dasm_put(Dst, 8641); |
1393 | if (sse) { | 1401 | if (sse) { |
1394 | dasm_put(Dst, 8593); | 1402 | dasm_put(Dst, 8682); |
1395 | dasm_put(Dst, 8663); | 1403 | dasm_put(Dst, 8752); |
1396 | dasm_put(Dst, 8736); | 1404 | dasm_put(Dst, 8825); |
1397 | } else { | 1405 | } else { |
1398 | dasm_put(Dst, 8786); | 1406 | dasm_put(Dst, 8875); |
1399 | dasm_put(Dst, 8878); | 1407 | dasm_put(Dst, 8967); |
1400 | } | 1408 | } |
1401 | dasm_put(Dst, 8924); | 1409 | dasm_put(Dst, 9013); |
1402 | if (sse) { | 1410 | if (sse) { |
1403 | dasm_put(Dst, 8930, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1411 | dasm_put(Dst, 9019, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1404 | dasm_put(Dst, 9019, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1412 | dasm_put(Dst, 9108, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1405 | } else { | 1413 | } else { |
1406 | dasm_put(Dst, 9143); | 1414 | dasm_put(Dst, 9232); |
1407 | dasm_put(Dst, 9226); | 1415 | dasm_put(Dst, 9315); |
1408 | if (cmov) { | 1416 | if (cmov) { |
1409 | dasm_put(Dst, 9281); | 1417 | dasm_put(Dst, 9370); |
1410 | } else { | 1418 | } else { |
1411 | dasm_put(Dst, 9300); | 1419 | dasm_put(Dst, 9389); |
1412 | } | 1420 | } |
1413 | dasm_put(Dst, 9139); | 1421 | dasm_put(Dst, 9228); |
1414 | } | 1422 | } |
1415 | dasm_put(Dst, 9341); | 1423 | dasm_put(Dst, 9430); |
1416 | } | 1424 | } |
1417 | 1425 | ||
1418 | /* Generate the code for a single instruction. */ | 1426 | /* Generate the code for a single instruction. */ |
@@ -1428,600 +1436,600 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1428 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1436 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1429 | 1437 | ||
1430 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1438 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1431 | dasm_put(Dst, 9367, LJ_TISNUM, LJ_TISNUM); | 1439 | dasm_put(Dst, 9456, LJ_TISNUM, LJ_TISNUM); |
1432 | if (sse) { | 1440 | if (sse) { |
1433 | dasm_put(Dst, 9388); | 1441 | dasm_put(Dst, 9477); |
1434 | } else { | 1442 | } else { |
1435 | dasm_put(Dst, 9403); | 1443 | dasm_put(Dst, 9492); |
1436 | if (cmov) { | 1444 | if (cmov) { |
1437 | dasm_put(Dst, 9413); | 1445 | dasm_put(Dst, 9502); |
1438 | } else { | 1446 | } else { |
1439 | dasm_put(Dst, 9419); | 1447 | dasm_put(Dst, 9508); |
1440 | } | 1448 | } |
1441 | } | 1449 | } |
1442 | switch (op) { | 1450 | switch (op) { |
1443 | case BC_ISLT: | 1451 | case BC_ISLT: |
1444 | dasm_put(Dst, 9426); | 1452 | dasm_put(Dst, 9515); |
1445 | break; | 1453 | break; |
1446 | case BC_ISGE: | 1454 | case BC_ISGE: |
1447 | dasm_put(Dst, 9221); | 1455 | dasm_put(Dst, 9310); |
1448 | break; | 1456 | break; |
1449 | case BC_ISLE: | 1457 | case BC_ISLE: |
1450 | dasm_put(Dst, 5900); | 1458 | dasm_put(Dst, 5900); |
1451 | break; | 1459 | break; |
1452 | case BC_ISGT: | 1460 | case BC_ISGT: |
1453 | dasm_put(Dst, 9431); | 1461 | dasm_put(Dst, 9520); |
1454 | break; | 1462 | break; |
1455 | default: break; /* Shut up GCC. */ | 1463 | default: break; /* Shut up GCC. */ |
1456 | } | 1464 | } |
1457 | dasm_put(Dst, 9436, -BCBIAS_J*4); | 1465 | dasm_put(Dst, 9525, -BCBIAS_J*4); |
1458 | break; | 1466 | break; |
1459 | 1467 | ||
1460 | case BC_ISEQV: case BC_ISNEV: | 1468 | case BC_ISEQV: case BC_ISNEV: |
1461 | vk = op == BC_ISEQV; | 1469 | vk = op == BC_ISEQV; |
1462 | dasm_put(Dst, 9470, LJ_TISNUM, LJ_TISNUM); | 1470 | dasm_put(Dst, 9559, LJ_TISNUM, LJ_TISNUM); |
1463 | if (sse) { | 1471 | if (sse) { |
1464 | dasm_put(Dst, 9496); | 1472 | dasm_put(Dst, 9585); |
1465 | } else { | 1473 | } else { |
1466 | dasm_put(Dst, 9508); | 1474 | dasm_put(Dst, 9597); |
1467 | if (cmov) { | 1475 | if (cmov) { |
1468 | dasm_put(Dst, 9413); | 1476 | dasm_put(Dst, 9502); |
1469 | } else { | 1477 | } else { |
1470 | dasm_put(Dst, 9419); | 1478 | dasm_put(Dst, 9508); |
1471 | } | 1479 | } |
1472 | } | 1480 | } |
1473 | iseqne_fp: | 1481 | iseqne_fp: |
1474 | if (vk) { | 1482 | if (vk) { |
1475 | dasm_put(Dst, 9515); | 1483 | dasm_put(Dst, 9604); |
1476 | } else { | 1484 | } else { |
1477 | dasm_put(Dst, 9524); | 1485 | dasm_put(Dst, 9613); |
1478 | } | 1486 | } |
1479 | iseqne_end: | 1487 | iseqne_end: |
1480 | if (vk) { | 1488 | if (vk) { |
1481 | dasm_put(Dst, 9533, -BCBIAS_J*4); | 1489 | dasm_put(Dst, 9622, -BCBIAS_J*4); |
1482 | } else { | 1490 | } else { |
1483 | dasm_put(Dst, 9548, -BCBIAS_J*4); | 1491 | dasm_put(Dst, 9637, -BCBIAS_J*4); |
1484 | } | 1492 | } |
1485 | dasm_put(Dst, 9450); | 1493 | dasm_put(Dst, 9539); |
1486 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1494 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1487 | dasm_put(Dst, 9563, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1495 | dasm_put(Dst, 9652, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1488 | if (vk) { | 1496 | if (vk) { |
1489 | dasm_put(Dst, 9621); | 1497 | dasm_put(Dst, 9710); |
1490 | } else { | 1498 | } else { |
1491 | dasm_put(Dst, 9625); | 1499 | dasm_put(Dst, 9714); |
1492 | } | 1500 | } |
1493 | dasm_put(Dst, 9631); | 1501 | dasm_put(Dst, 9720); |
1494 | } | 1502 | } |
1495 | break; | 1503 | break; |
1496 | case BC_ISEQS: case BC_ISNES: | 1504 | case BC_ISEQS: case BC_ISNES: |
1497 | vk = op == BC_ISEQS; | 1505 | vk = op == BC_ISEQS; |
1498 | dasm_put(Dst, 9636, LJ_TSTR); | 1506 | dasm_put(Dst, 9725, LJ_TSTR); |
1499 | iseqne_test: | 1507 | iseqne_test: |
1500 | if (vk) { | 1508 | if (vk) { |
1501 | dasm_put(Dst, 9519); | 1509 | dasm_put(Dst, 9608); |
1502 | } else { | 1510 | } else { |
1503 | dasm_put(Dst, 2802); | 1511 | dasm_put(Dst, 2802); |
1504 | } | 1512 | } |
1505 | goto iseqne_end; | 1513 | goto iseqne_end; |
1506 | case BC_ISEQN: case BC_ISNEN: | 1514 | case BC_ISEQN: case BC_ISNEN: |
1507 | vk = op == BC_ISEQN; | 1515 | vk = op == BC_ISEQN; |
1508 | dasm_put(Dst, 9660, LJ_TISNUM); | 1516 | dasm_put(Dst, 9749, LJ_TISNUM); |
1509 | if (sse) { | 1517 | if (sse) { |
1510 | dasm_put(Dst, 9674); | 1518 | dasm_put(Dst, 9763); |
1511 | } else { | 1519 | } else { |
1512 | dasm_put(Dst, 9686); | 1520 | dasm_put(Dst, 9775); |
1513 | if (cmov) { | 1521 | if (cmov) { |
1514 | dasm_put(Dst, 9413); | 1522 | dasm_put(Dst, 9502); |
1515 | } else { | 1523 | } else { |
1516 | dasm_put(Dst, 9419); | 1524 | dasm_put(Dst, 9508); |
1517 | } | 1525 | } |
1518 | } | 1526 | } |
1519 | goto iseqne_fp; | 1527 | goto iseqne_fp; |
1520 | case BC_ISEQP: case BC_ISNEP: | 1528 | case BC_ISEQP: case BC_ISNEP: |
1521 | vk = op == BC_ISEQP; | 1529 | vk = op == BC_ISEQP; |
1522 | dasm_put(Dst, 9693); | 1530 | dasm_put(Dst, 9782); |
1523 | goto iseqne_test; | 1531 | goto iseqne_test; |
1524 | 1532 | ||
1525 | /* -- Unary test and copy ops ------------------------------------------- */ | 1533 | /* -- Unary test and copy ops ------------------------------------------- */ |
1526 | 1534 | ||
1527 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 1535 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1528 | dasm_put(Dst, 9705, LJ_TISTRUECOND); | 1536 | dasm_put(Dst, 9794, LJ_TISTRUECOND); |
1529 | if (op == BC_IST || op == BC_ISTC) { | 1537 | if (op == BC_IST || op == BC_ISTC) { |
1530 | dasm_put(Dst, 9717); | 1538 | dasm_put(Dst, 9806); |
1531 | } else { | 1539 | } else { |
1532 | dasm_put(Dst, 9722); | 1540 | dasm_put(Dst, 9811); |
1533 | } | 1541 | } |
1534 | if (op == BC_ISTC || op == BC_ISFC) { | 1542 | if (op == BC_ISTC || op == BC_ISFC) { |
1535 | dasm_put(Dst, 9727); | 1543 | dasm_put(Dst, 9816); |
1536 | } | 1544 | } |
1537 | dasm_put(Dst, 9738, -BCBIAS_J*4); | 1545 | dasm_put(Dst, 9827, -BCBIAS_J*4); |
1538 | break; | 1546 | break; |
1539 | 1547 | ||
1540 | /* -- Unary ops --------------------------------------------------------- */ | 1548 | /* -- Unary ops --------------------------------------------------------- */ |
1541 | 1549 | ||
1542 | case BC_MOV: | 1550 | case BC_MOV: |
1543 | dasm_put(Dst, 9770); | 1551 | dasm_put(Dst, 9859); |
1544 | break; | 1552 | break; |
1545 | case BC_NOT: | 1553 | case BC_NOT: |
1546 | dasm_put(Dst, 9804, LJ_TISTRUECOND, LJ_TTRUE); | 1554 | dasm_put(Dst, 9893, LJ_TISTRUECOND, LJ_TTRUE); |
1547 | break; | 1555 | break; |
1548 | case BC_UNM: | 1556 | case BC_UNM: |
1549 | dasm_put(Dst, 9840, LJ_TISNUM); | 1557 | dasm_put(Dst, 9929, LJ_TISNUM); |
1550 | if (sse) { | 1558 | if (sse) { |
1551 | dasm_put(Dst, 9851, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1559 | dasm_put(Dst, 9940, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1552 | } else { | 1560 | } else { |
1553 | dasm_put(Dst, 9876); | 1561 | dasm_put(Dst, 9965); |
1554 | } | 1562 | } |
1555 | dasm_put(Dst, 9450); | 1563 | dasm_put(Dst, 9539); |
1556 | break; | 1564 | break; |
1557 | case BC_LEN: | 1565 | case BC_LEN: |
1558 | dasm_put(Dst, 9885, LJ_TSTR); | 1566 | dasm_put(Dst, 9974, LJ_TSTR); |
1559 | if (sse) { | 1567 | if (sse) { |
1560 | dasm_put(Dst, 9899, Dt5(->len)); | 1568 | dasm_put(Dst, 9988, Dt5(->len)); |
1561 | } else { | 1569 | } else { |
1562 | dasm_put(Dst, 9917, Dt5(->len)); | 1570 | dasm_put(Dst, 10006, Dt5(->len)); |
1563 | } | 1571 | } |
1564 | dasm_put(Dst, 9926, LJ_TTAB); | 1572 | dasm_put(Dst, 10015, LJ_TTAB); |
1565 | if (sse) { | 1573 | if (sse) { |
1566 | dasm_put(Dst, 9967); | 1574 | dasm_put(Dst, 10056); |
1567 | } else { | 1575 | } else { |
1568 | } | 1576 | } |
1569 | dasm_put(Dst, 9976); | 1577 | dasm_put(Dst, 10065); |
1570 | break; | 1578 | break; |
1571 | 1579 | ||
1572 | /* -- Binary ops -------------------------------------------------------- */ | 1580 | /* -- Binary ops -------------------------------------------------------- */ |
1573 | 1581 | ||
1574 | 1582 | ||
1575 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 1583 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1576 | dasm_put(Dst, 9986); | 1584 | dasm_put(Dst, 10075); |
1577 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1585 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1578 | switch (vk) { | 1586 | switch (vk) { |
1579 | case 0: | 1587 | case 0: |
1580 | dasm_put(Dst, 9994, LJ_TISNUM); | 1588 | dasm_put(Dst, 10083, LJ_TISNUM); |
1581 | if (sse) { | 1589 | if (sse) { |
1582 | dasm_put(Dst, 10006); | 1590 | dasm_put(Dst, 10095); |
1583 | } else { | 1591 | } else { |
1584 | dasm_put(Dst, 10020); | 1592 | dasm_put(Dst, 10109); |
1585 | } | 1593 | } |
1586 | break; | 1594 | break; |
1587 | case 1: | 1595 | case 1: |
1588 | dasm_put(Dst, 10028, LJ_TISNUM); | 1596 | dasm_put(Dst, 10117, LJ_TISNUM); |
1589 | if (sse) { | 1597 | if (sse) { |
1590 | dasm_put(Dst, 10040); | 1598 | dasm_put(Dst, 10129); |
1591 | } else { | 1599 | } else { |
1592 | dasm_put(Dst, 10054); | 1600 | dasm_put(Dst, 10143); |
1593 | } | 1601 | } |
1594 | break; | 1602 | break; |
1595 | default: | 1603 | default: |
1596 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1604 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1597 | if (sse) { | 1605 | if (sse) { |
1598 | dasm_put(Dst, 10084); | 1606 | dasm_put(Dst, 10173); |
1599 | } else { | 1607 | } else { |
1600 | dasm_put(Dst, 10098); | 1608 | dasm_put(Dst, 10187); |
1601 | } | 1609 | } |
1602 | break; | 1610 | break; |
1603 | } | 1611 | } |
1604 | if (sse) { | 1612 | if (sse) { |
1605 | dasm_put(Dst, 9869); | 1613 | dasm_put(Dst, 9958); |
1606 | } else { | 1614 | } else { |
1607 | dasm_put(Dst, 9881); | 1615 | dasm_put(Dst, 9970); |
1608 | } | 1616 | } |
1609 | dasm_put(Dst, 9450); | 1617 | dasm_put(Dst, 9539); |
1610 | break; | 1618 | break; |
1611 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 1619 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1612 | dasm_put(Dst, 9986); | 1620 | dasm_put(Dst, 10075); |
1613 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1621 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1614 | switch (vk) { | 1622 | switch (vk) { |
1615 | case 0: | 1623 | case 0: |
1616 | dasm_put(Dst, 9994, LJ_TISNUM); | 1624 | dasm_put(Dst, 10083, LJ_TISNUM); |
1617 | if (sse) { | 1625 | if (sse) { |
1618 | dasm_put(Dst, 10106); | 1626 | dasm_put(Dst, 10195); |
1619 | } else { | 1627 | } else { |
1620 | dasm_put(Dst, 10120); | 1628 | dasm_put(Dst, 10209); |
1621 | } | 1629 | } |
1622 | break; | 1630 | break; |
1623 | case 1: | 1631 | case 1: |
1624 | dasm_put(Dst, 10028, LJ_TISNUM); | 1632 | dasm_put(Dst, 10117, LJ_TISNUM); |
1625 | if (sse) { | 1633 | if (sse) { |
1626 | dasm_put(Dst, 10128); | 1634 | dasm_put(Dst, 10217); |
1627 | } else { | 1635 | } else { |
1628 | dasm_put(Dst, 10142); | 1636 | dasm_put(Dst, 10231); |
1629 | } | 1637 | } |
1630 | break; | 1638 | break; |
1631 | default: | 1639 | default: |
1632 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1640 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1633 | if (sse) { | 1641 | if (sse) { |
1634 | dasm_put(Dst, 10150); | 1642 | dasm_put(Dst, 10239); |
1635 | } else { | 1643 | } else { |
1636 | dasm_put(Dst, 10164); | 1644 | dasm_put(Dst, 10253); |
1637 | } | 1645 | } |
1638 | break; | 1646 | break; |
1639 | } | 1647 | } |
1640 | if (sse) { | 1648 | if (sse) { |
1641 | dasm_put(Dst, 9869); | 1649 | dasm_put(Dst, 9958); |
1642 | } else { | 1650 | } else { |
1643 | dasm_put(Dst, 9881); | 1651 | dasm_put(Dst, 9970); |
1644 | } | 1652 | } |
1645 | dasm_put(Dst, 9450); | 1653 | dasm_put(Dst, 9539); |
1646 | break; | 1654 | break; |
1647 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 1655 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1648 | dasm_put(Dst, 9986); | 1656 | dasm_put(Dst, 10075); |
1649 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1657 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1650 | switch (vk) { | 1658 | switch (vk) { |
1651 | case 0: | 1659 | case 0: |
1652 | dasm_put(Dst, 9994, LJ_TISNUM); | 1660 | dasm_put(Dst, 10083, LJ_TISNUM); |
1653 | if (sse) { | 1661 | if (sse) { |
1654 | dasm_put(Dst, 10172); | 1662 | dasm_put(Dst, 10261); |
1655 | } else { | 1663 | } else { |
1656 | dasm_put(Dst, 10186); | 1664 | dasm_put(Dst, 10275); |
1657 | } | 1665 | } |
1658 | break; | 1666 | break; |
1659 | case 1: | 1667 | case 1: |
1660 | dasm_put(Dst, 10028, LJ_TISNUM); | 1668 | dasm_put(Dst, 10117, LJ_TISNUM); |
1661 | if (sse) { | 1669 | if (sse) { |
1662 | dasm_put(Dst, 10194); | 1670 | dasm_put(Dst, 10283); |
1663 | } else { | 1671 | } else { |
1664 | dasm_put(Dst, 10208); | 1672 | dasm_put(Dst, 10297); |
1665 | } | 1673 | } |
1666 | break; | 1674 | break; |
1667 | default: | 1675 | default: |
1668 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1676 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1669 | if (sse) { | 1677 | if (sse) { |
1670 | dasm_put(Dst, 10216); | 1678 | dasm_put(Dst, 10305); |
1671 | } else { | 1679 | } else { |
1672 | dasm_put(Dst, 10230); | 1680 | dasm_put(Dst, 10319); |
1673 | } | 1681 | } |
1674 | break; | 1682 | break; |
1675 | } | 1683 | } |
1676 | if (sse) { | 1684 | if (sse) { |
1677 | dasm_put(Dst, 9869); | 1685 | dasm_put(Dst, 9958); |
1678 | } else { | 1686 | } else { |
1679 | dasm_put(Dst, 9881); | 1687 | dasm_put(Dst, 9970); |
1680 | } | 1688 | } |
1681 | dasm_put(Dst, 9450); | 1689 | dasm_put(Dst, 9539); |
1682 | break; | 1690 | break; |
1683 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 1691 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1684 | dasm_put(Dst, 9986); | 1692 | dasm_put(Dst, 10075); |
1685 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1693 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1686 | switch (vk) { | 1694 | switch (vk) { |
1687 | case 0: | 1695 | case 0: |
1688 | dasm_put(Dst, 9994, LJ_TISNUM); | 1696 | dasm_put(Dst, 10083, LJ_TISNUM); |
1689 | if (sse) { | 1697 | if (sse) { |
1690 | dasm_put(Dst, 10238); | 1698 | dasm_put(Dst, 10327); |
1691 | } else { | 1699 | } else { |
1692 | dasm_put(Dst, 10252); | 1700 | dasm_put(Dst, 10341); |
1693 | } | 1701 | } |
1694 | break; | 1702 | break; |
1695 | case 1: | 1703 | case 1: |
1696 | dasm_put(Dst, 10028, LJ_TISNUM); | 1704 | dasm_put(Dst, 10117, LJ_TISNUM); |
1697 | if (sse) { | 1705 | if (sse) { |
1698 | dasm_put(Dst, 10260); | 1706 | dasm_put(Dst, 10349); |
1699 | } else { | 1707 | } else { |
1700 | dasm_put(Dst, 10274); | 1708 | dasm_put(Dst, 10363); |
1701 | } | 1709 | } |
1702 | break; | 1710 | break; |
1703 | default: | 1711 | default: |
1704 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1712 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1705 | if (sse) { | 1713 | if (sse) { |
1706 | dasm_put(Dst, 10282); | 1714 | dasm_put(Dst, 10371); |
1707 | } else { | 1715 | } else { |
1708 | dasm_put(Dst, 10296); | 1716 | dasm_put(Dst, 10385); |
1709 | } | 1717 | } |
1710 | break; | 1718 | break; |
1711 | } | 1719 | } |
1712 | if (sse) { | 1720 | if (sse) { |
1713 | dasm_put(Dst, 9869); | 1721 | dasm_put(Dst, 9958); |
1714 | } else { | 1722 | } else { |
1715 | dasm_put(Dst, 9881); | 1723 | dasm_put(Dst, 9970); |
1716 | } | 1724 | } |
1717 | dasm_put(Dst, 9450); | 1725 | dasm_put(Dst, 9539); |
1718 | break; | 1726 | break; |
1719 | case BC_MODVN: | 1727 | case BC_MODVN: |
1720 | dasm_put(Dst, 9986); | 1728 | dasm_put(Dst, 10075); |
1721 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1729 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1722 | switch (vk) { | 1730 | switch (vk) { |
1723 | case 0: | 1731 | case 0: |
1724 | dasm_put(Dst, 9994, LJ_TISNUM); | 1732 | dasm_put(Dst, 10083, LJ_TISNUM); |
1725 | if (sse) { | 1733 | if (sse) { |
1726 | dasm_put(Dst, 10304); | 1734 | dasm_put(Dst, 10393); |
1727 | } else { | 1735 | } else { |
1728 | dasm_put(Dst, 10318); | 1736 | dasm_put(Dst, 10407); |
1729 | } | 1737 | } |
1730 | break; | 1738 | break; |
1731 | case 1: | 1739 | case 1: |
1732 | dasm_put(Dst, 10028, LJ_TISNUM); | 1740 | dasm_put(Dst, 10117, LJ_TISNUM); |
1733 | if (sse) { | 1741 | if (sse) { |
1734 | dasm_put(Dst, 10326); | 1742 | dasm_put(Dst, 10415); |
1735 | } else { | 1743 | } else { |
1736 | dasm_put(Dst, 10340); | 1744 | dasm_put(Dst, 10429); |
1737 | } | 1745 | } |
1738 | break; | 1746 | break; |
1739 | default: | 1747 | default: |
1740 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1748 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1741 | if (sse) { | 1749 | if (sse) { |
1742 | dasm_put(Dst, 10348); | 1750 | dasm_put(Dst, 10437); |
1743 | } else { | 1751 | } else { |
1744 | dasm_put(Dst, 10362); | 1752 | dasm_put(Dst, 10451); |
1745 | } | 1753 | } |
1746 | break; | 1754 | break; |
1747 | } | 1755 | } |
1748 | dasm_put(Dst, 10370); | 1756 | dasm_put(Dst, 10459); |
1749 | if (sse) { | 1757 | if (sse) { |
1750 | dasm_put(Dst, 9869); | 1758 | dasm_put(Dst, 9958); |
1751 | } else { | 1759 | } else { |
1752 | dasm_put(Dst, 9881); | 1760 | dasm_put(Dst, 9970); |
1753 | } | 1761 | } |
1754 | dasm_put(Dst, 9450); | 1762 | dasm_put(Dst, 9539); |
1755 | break; | 1763 | break; |
1756 | case BC_MODNV: case BC_MODVV: | 1764 | case BC_MODNV: case BC_MODVV: |
1757 | dasm_put(Dst, 9986); | 1765 | dasm_put(Dst, 10075); |
1758 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1766 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1759 | switch (vk) { | 1767 | switch (vk) { |
1760 | case 0: | 1768 | case 0: |
1761 | dasm_put(Dst, 9994, LJ_TISNUM); | 1769 | dasm_put(Dst, 10083, LJ_TISNUM); |
1762 | if (sse) { | 1770 | if (sse) { |
1763 | dasm_put(Dst, 10304); | 1771 | dasm_put(Dst, 10393); |
1764 | } else { | 1772 | } else { |
1765 | dasm_put(Dst, 10318); | 1773 | dasm_put(Dst, 10407); |
1766 | } | 1774 | } |
1767 | break; | 1775 | break; |
1768 | case 1: | 1776 | case 1: |
1769 | dasm_put(Dst, 10028, LJ_TISNUM); | 1777 | dasm_put(Dst, 10117, LJ_TISNUM); |
1770 | if (sse) { | 1778 | if (sse) { |
1771 | dasm_put(Dst, 10326); | 1779 | dasm_put(Dst, 10415); |
1772 | } else { | 1780 | } else { |
1773 | dasm_put(Dst, 10340); | 1781 | dasm_put(Dst, 10429); |
1774 | } | 1782 | } |
1775 | break; | 1783 | break; |
1776 | default: | 1784 | default: |
1777 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1785 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1778 | if (sse) { | 1786 | if (sse) { |
1779 | dasm_put(Dst, 10348); | 1787 | dasm_put(Dst, 10437); |
1780 | } else { | 1788 | } else { |
1781 | dasm_put(Dst, 10362); | 1789 | dasm_put(Dst, 10451); |
1782 | } | 1790 | } |
1783 | break; | 1791 | break; |
1784 | } | 1792 | } |
1785 | dasm_put(Dst, 10376); | 1793 | dasm_put(Dst, 10465); |
1786 | break; | 1794 | break; |
1787 | case BC_POW: | 1795 | case BC_POW: |
1788 | dasm_put(Dst, 9986); | 1796 | dasm_put(Dst, 10075); |
1789 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1797 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1790 | switch (vk) { | 1798 | switch (vk) { |
1791 | case 0: | 1799 | case 0: |
1792 | dasm_put(Dst, 9994, LJ_TISNUM); | 1800 | dasm_put(Dst, 10083, LJ_TISNUM); |
1793 | if (sse) { | 1801 | if (sse) { |
1794 | dasm_put(Dst, 10304); | 1802 | dasm_put(Dst, 10393); |
1795 | } else { | 1803 | } else { |
1796 | dasm_put(Dst, 10318); | 1804 | dasm_put(Dst, 10407); |
1797 | } | 1805 | } |
1798 | break; | 1806 | break; |
1799 | case 1: | 1807 | case 1: |
1800 | dasm_put(Dst, 10028, LJ_TISNUM); | 1808 | dasm_put(Dst, 10117, LJ_TISNUM); |
1801 | if (sse) { | 1809 | if (sse) { |
1802 | dasm_put(Dst, 10326); | 1810 | dasm_put(Dst, 10415); |
1803 | } else { | 1811 | } else { |
1804 | dasm_put(Dst, 10340); | 1812 | dasm_put(Dst, 10429); |
1805 | } | 1813 | } |
1806 | break; | 1814 | break; |
1807 | default: | 1815 | default: |
1808 | dasm_put(Dst, 10062, LJ_TISNUM, LJ_TISNUM); | 1816 | dasm_put(Dst, 10151, LJ_TISNUM, LJ_TISNUM); |
1809 | if (sse) { | 1817 | if (sse) { |
1810 | dasm_put(Dst, 10348); | 1818 | dasm_put(Dst, 10437); |
1811 | } else { | 1819 | } else { |
1812 | dasm_put(Dst, 10362); | 1820 | dasm_put(Dst, 10451); |
1813 | } | 1821 | } |
1814 | break; | 1822 | break; |
1815 | } | 1823 | } |
1816 | dasm_put(Dst, 10381); | 1824 | dasm_put(Dst, 10470); |
1817 | if (sse) { | 1825 | if (sse) { |
1818 | dasm_put(Dst, 9869); | 1826 | dasm_put(Dst, 9958); |
1819 | } else { | 1827 | } else { |
1820 | dasm_put(Dst, 9881); | 1828 | dasm_put(Dst, 9970); |
1821 | } | 1829 | } |
1822 | dasm_put(Dst, 9450); | 1830 | dasm_put(Dst, 9539); |
1823 | break; | 1831 | break; |
1824 | 1832 | ||
1825 | case BC_CAT: | 1833 | case BC_CAT: |
1826 | dasm_put(Dst, 10385, Dt1(->base), Dt1(->base)); | 1834 | dasm_put(Dst, 10474, Dt1(->base), Dt1(->base)); |
1827 | break; | 1835 | break; |
1828 | 1836 | ||
1829 | /* -- Constant ops ------------------------------------------------------ */ | 1837 | /* -- Constant ops ------------------------------------------------------ */ |
1830 | 1838 | ||
1831 | case BC_KSTR: | 1839 | case BC_KSTR: |
1832 | dasm_put(Dst, 10475, LJ_TSTR); | 1840 | dasm_put(Dst, 10564, LJ_TSTR); |
1833 | break; | 1841 | break; |
1834 | case BC_KSHORT: | 1842 | case BC_KSHORT: |
1835 | if (sse) { | 1843 | if (sse) { |
1836 | dasm_put(Dst, 10510); | 1844 | dasm_put(Dst, 10599); |
1837 | } else { | 1845 | } else { |
1838 | dasm_put(Dst, 10525); | 1846 | dasm_put(Dst, 10614); |
1839 | } | 1847 | } |
1840 | dasm_put(Dst, 9450); | 1848 | dasm_put(Dst, 9539); |
1841 | break; | 1849 | break; |
1842 | case BC_KNUM: | 1850 | case BC_KNUM: |
1843 | if (sse) { | 1851 | if (sse) { |
1844 | dasm_put(Dst, 10533); | 1852 | dasm_put(Dst, 10622); |
1845 | } else { | 1853 | } else { |
1846 | dasm_put(Dst, 10546); | 1854 | dasm_put(Dst, 10635); |
1847 | } | 1855 | } |
1848 | dasm_put(Dst, 9450); | 1856 | dasm_put(Dst, 9539); |
1849 | break; | 1857 | break; |
1850 | case BC_KPRI: | 1858 | case BC_KPRI: |
1851 | dasm_put(Dst, 10553); | 1859 | dasm_put(Dst, 10642); |
1852 | break; | 1860 | break; |
1853 | case BC_KNIL: | 1861 | case BC_KNIL: |
1854 | dasm_put(Dst, 10581, LJ_TNIL); | 1862 | dasm_put(Dst, 10670, LJ_TNIL); |
1855 | break; | 1863 | break; |
1856 | 1864 | ||
1857 | /* -- Upvalue and function ops ------------------------------------------ */ | 1865 | /* -- Upvalue and function ops ------------------------------------------ */ |
1858 | 1866 | ||
1859 | case BC_UGET: | 1867 | case BC_UGET: |
1860 | dasm_put(Dst, 10628, offsetof(GCfuncL, uvptr), DtA(->v)); | 1868 | dasm_put(Dst, 10717, offsetof(GCfuncL, uvptr), DtA(->v)); |
1861 | break; | 1869 | break; |
1862 | case BC_USETV: | 1870 | case BC_USETV: |
1863 | #define TV2MARKOFS \ | 1871 | #define TV2MARKOFS \ |
1864 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 1872 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1865 | dasm_put(Dst, 10673, 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); | 1873 | dasm_put(Dst, 10762, 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); |
1866 | dasm_put(Dst, 10764); | 1874 | dasm_put(Dst, 10853); |
1867 | break; | 1875 | break; |
1868 | #undef TV2MARKOFS | 1876 | #undef TV2MARKOFS |
1869 | case BC_USETS: | 1877 | case BC_USETS: |
1870 | dasm_put(Dst, 10776, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 1878 | dasm_put(Dst, 10865, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1871 | break; | 1879 | break; |
1872 | case BC_USETN: | 1880 | case BC_USETN: |
1873 | dasm_put(Dst, 10869); | 1881 | dasm_put(Dst, 10958); |
1874 | if (sse) { | 1882 | if (sse) { |
1875 | dasm_put(Dst, 10874); | 1883 | dasm_put(Dst, 10963); |
1876 | } else { | 1884 | } else { |
1877 | dasm_put(Dst, 9689); | 1885 | dasm_put(Dst, 9778); |
1878 | } | 1886 | } |
1879 | dasm_put(Dst, 10881, offsetof(GCfuncL, uvptr), DtA(->v)); | 1887 | dasm_put(Dst, 10970, offsetof(GCfuncL, uvptr), DtA(->v)); |
1880 | if (sse) { | 1888 | if (sse) { |
1881 | dasm_put(Dst, 10890); | 1889 | dasm_put(Dst, 10979); |
1882 | } else { | 1890 | } else { |
1883 | dasm_put(Dst, 10896); | 1891 | dasm_put(Dst, 10985); |
1884 | } | 1892 | } |
1885 | dasm_put(Dst, 9450); | 1893 | dasm_put(Dst, 9539); |
1886 | break; | 1894 | break; |
1887 | case BC_USETP: | 1895 | case BC_USETP: |
1888 | dasm_put(Dst, 10899, offsetof(GCfuncL, uvptr), DtA(->v)); | 1896 | dasm_put(Dst, 10988, offsetof(GCfuncL, uvptr), DtA(->v)); |
1889 | break; | 1897 | break; |
1890 | case BC_UCLO: | 1898 | case BC_UCLO: |
1891 | dasm_put(Dst, 10938, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 1899 | dasm_put(Dst, 11027, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1892 | break; | 1900 | break; |
1893 | 1901 | ||
1894 | case BC_FNEW: | 1902 | case BC_FNEW: |
1895 | dasm_put(Dst, 10993, Dt1(->base), Dt1(->base), LJ_TFUNC); | 1903 | dasm_put(Dst, 11082, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1896 | break; | 1904 | break; |
1897 | 1905 | ||
1898 | /* -- Table ops --------------------------------------------------------- */ | 1906 | /* -- Table ops --------------------------------------------------------- */ |
1899 | 1907 | ||
1900 | case BC_TNEW: | 1908 | case BC_TNEW: |
1901 | dasm_put(Dst, 11059, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 1909 | dasm_put(Dst, 11148, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1902 | break; | 1910 | break; |
1903 | case BC_TDUP: | 1911 | case BC_TDUP: |
1904 | dasm_put(Dst, 11180, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 1912 | dasm_put(Dst, 11269, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1905 | break; | 1913 | break; |
1906 | 1914 | ||
1907 | case BC_GGET: | 1915 | case BC_GGET: |
1908 | dasm_put(Dst, 11275, Dt7(->env)); | 1916 | dasm_put(Dst, 11364, Dt7(->env)); |
1909 | break; | 1917 | break; |
1910 | case BC_GSET: | 1918 | case BC_GSET: |
1911 | dasm_put(Dst, 11294, Dt7(->env)); | 1919 | dasm_put(Dst, 11383, Dt7(->env)); |
1912 | break; | 1920 | break; |
1913 | 1921 | ||
1914 | case BC_TGETV: | 1922 | case BC_TGETV: |
1915 | dasm_put(Dst, 11313, LJ_TTAB, LJ_TISNUM); | 1923 | dasm_put(Dst, 11402, LJ_TTAB, LJ_TISNUM); |
1916 | if (sse) { | 1924 | if (sse) { |
1917 | dasm_put(Dst, 11346); | 1925 | dasm_put(Dst, 11435); |
1918 | } else { | 1926 | } else { |
1919 | } | 1927 | } |
1920 | dasm_put(Dst, 11367, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1928 | dasm_put(Dst, 11456, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1921 | dasm_put(Dst, 11460, LJ_TSTR); | 1929 | dasm_put(Dst, 11549, LJ_TSTR); |
1922 | break; | 1930 | break; |
1923 | case BC_TGETS: | 1931 | case BC_TGETS: |
1924 | dasm_put(Dst, 11478, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1932 | dasm_put(Dst, 11567, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1925 | dasm_put(Dst, 11563, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1933 | dasm_put(Dst, 11652, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1926 | break; | 1934 | break; |
1927 | case BC_TGETB: | 1935 | case BC_TGETB: |
1928 | dasm_put(Dst, 11635, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1936 | dasm_put(Dst, 11724, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1929 | dasm_put(Dst, 9976); | 1937 | dasm_put(Dst, 10065); |
1930 | break; | 1938 | break; |
1931 | 1939 | ||
1932 | case BC_TSETV: | 1940 | case BC_TSETV: |
1933 | dasm_put(Dst, 11735, LJ_TTAB, LJ_TISNUM); | 1941 | dasm_put(Dst, 11824, LJ_TTAB, LJ_TISNUM); |
1934 | if (sse) { | 1942 | if (sse) { |
1935 | dasm_put(Dst, 11346); | 1943 | dasm_put(Dst, 11435); |
1936 | } else { | 1944 | } else { |
1937 | } | 1945 | } |
1938 | dasm_put(Dst, 11768, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 1946 | dasm_put(Dst, 11857, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
1939 | dasm_put(Dst, 11852, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1947 | dasm_put(Dst, 11941, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1940 | break; | 1948 | break; |
1941 | case BC_TSETS: | 1949 | case BC_TSETS: |
1942 | dasm_put(Dst, 11914, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1950 | dasm_put(Dst, 12003, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1943 | dasm_put(Dst, 11990, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 1951 | dasm_put(Dst, 12079, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
1944 | dasm_put(Dst, 12083, 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)); | 1952 | dasm_put(Dst, 12172, 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)); |
1945 | break; | 1953 | break; |
1946 | case BC_TSETB: | 1954 | case BC_TSETB: |
1947 | dasm_put(Dst, 12174, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 1955 | dasm_put(Dst, 12263, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
1948 | dasm_put(Dst, 12273, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1956 | dasm_put(Dst, 12362, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1949 | break; | 1957 | break; |
1950 | 1958 | ||
1951 | case BC_TSETM: | 1959 | case BC_TSETM: |
1952 | dasm_put(Dst, 12319); | 1960 | dasm_put(Dst, 12408); |
1953 | if (sse) { | 1961 | if (sse) { |
1954 | dasm_put(Dst, 10874); | 1962 | dasm_put(Dst, 10963); |
1955 | } else { | 1963 | } else { |
1956 | } | 1964 | } |
1957 | dasm_put(Dst, 12324, Dt6(->marked), LJ_GC_BLACK); | 1965 | dasm_put(Dst, 12413, Dt6(->marked), LJ_GC_BLACK); |
1958 | if (sse) { | 1966 | if (sse) { |
1959 | dasm_put(Dst, 12349); | 1967 | dasm_put(Dst, 12438); |
1960 | } else { | 1968 | } else { |
1961 | } | 1969 | } |
1962 | dasm_put(Dst, 12356, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); | 1970 | dasm_put(Dst, 12445, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); |
1963 | dasm_put(Dst, 12482, Dt6(->gclist)); | 1971 | dasm_put(Dst, 12571, Dt6(->gclist)); |
1964 | break; | 1972 | break; |
1965 | 1973 | ||
1966 | /* -- Calls and vararg handling ----------------------------------------- */ | 1974 | /* -- Calls and vararg handling ----------------------------------------- */ |
1967 | 1975 | ||
1968 | case BC_CALL: case BC_CALLM: | 1976 | case BC_CALL: case BC_CALLM: |
1969 | dasm_put(Dst, 9990); | 1977 | dasm_put(Dst, 10079); |
1970 | if (op == BC_CALLM) { | 1978 | if (op == BC_CALLM) { |
1971 | dasm_put(Dst, 12490); | 1979 | dasm_put(Dst, 12579); |
1972 | } | 1980 | } |
1973 | dasm_put(Dst, 12495, LJ_TFUNC, Dt7(->pc)); | 1981 | dasm_put(Dst, 12584, LJ_TFUNC, Dt7(->pc)); |
1974 | break; | 1982 | break; |
1975 | 1983 | ||
1976 | case BC_CALLMT: | 1984 | case BC_CALLMT: |
1977 | dasm_put(Dst, 12490); | 1985 | dasm_put(Dst, 12579); |
1978 | break; | 1986 | break; |
1979 | case BC_CALLT: | 1987 | case BC_CALLT: |
1980 | dasm_put(Dst, 12537, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 1988 | dasm_put(Dst, 12626, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
1981 | dasm_put(Dst, 12656, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); | 1989 | dasm_put(Dst, 12745, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); |
1982 | break; | 1990 | break; |
1983 | 1991 | ||
1984 | case BC_ITERC: | 1992 | case BC_ITERC: |
1985 | dasm_put(Dst, 12714, LJ_TFUNC, 2+1, Dt7(->pc)); | 1993 | dasm_put(Dst, 12803, LJ_TFUNC, 2+1, Dt7(->pc)); |
1986 | break; | 1994 | break; |
1987 | 1995 | ||
1988 | case BC_VARG: | 1996 | case BC_VARG: |
1989 | dasm_put(Dst, 12795, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 1997 | dasm_put(Dst, 12884, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
1990 | dasm_put(Dst, 12940, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 1998 | dasm_put(Dst, 13029, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
1991 | break; | 1999 | break; |
1992 | 2000 | ||
1993 | /* -- Returns ----------------------------------------------------------- */ | 2001 | /* -- Returns ----------------------------------------------------------- */ |
1994 | 2002 | ||
1995 | case BC_RETM: | 2003 | case BC_RETM: |
1996 | dasm_put(Dst, 12490); | 2004 | dasm_put(Dst, 12579); |
1997 | break; | 2005 | break; |
1998 | 2006 | ||
1999 | case BC_RET: case BC_RET0: case BC_RET1: | 2007 | case BC_RET: case BC_RET0: case BC_RET1: |
2000 | if (op != BC_RET0) { | 2008 | if (op != BC_RET0) { |
2001 | dasm_put(Dst, 13039); | 2009 | dasm_put(Dst, 13128); |
2002 | } | 2010 | } |
2003 | dasm_put(Dst, 13043, FRAME_TYPE); | 2011 | dasm_put(Dst, 13132, FRAME_TYPE); |
2004 | switch (op) { | 2012 | switch (op) { |
2005 | case BC_RET: | 2013 | case BC_RET: |
2006 | dasm_put(Dst, 13062); | 2014 | dasm_put(Dst, 13151); |
2007 | break; | 2015 | break; |
2008 | case BC_RET1: | 2016 | case BC_RET1: |
2009 | dasm_put(Dst, 13120); | 2017 | dasm_put(Dst, 13209); |
2010 | /* fallthrough */ | 2018 | /* fallthrough */ |
2011 | case BC_RET0: | 2019 | case BC_RET0: |
2012 | dasm_put(Dst, 13136); | 2020 | dasm_put(Dst, 13225); |
2013 | default: | 2021 | default: |
2014 | break; | 2022 | break; |
2015 | } | 2023 | } |
2016 | dasm_put(Dst, 13147, Dt7(->pc), PC2PROTO(k)); | 2024 | dasm_put(Dst, 13236, Dt7(->pc), PC2PROTO(k)); |
2017 | if (op == BC_RET) { | 2025 | if (op == BC_RET) { |
2018 | dasm_put(Dst, 13191, LJ_TNIL); | 2026 | dasm_put(Dst, 13280, LJ_TNIL); |
2019 | } else { | 2027 | } else { |
2020 | dasm_put(Dst, 13200, LJ_TNIL); | 2028 | dasm_put(Dst, 13289, LJ_TNIL); |
2021 | } | 2029 | } |
2022 | dasm_put(Dst, 13207); | 2030 | dasm_put(Dst, 13296); |
2023 | if (op != BC_RET0) { | 2031 | if (op != BC_RET0) { |
2024 | dasm_put(Dst, 13228); | 2032 | dasm_put(Dst, 13317); |
2025 | } | 2033 | } |
2026 | dasm_put(Dst, 4570); | 2034 | dasm_put(Dst, 4570); |
2027 | break; | 2035 | break; |
@@ -2031,7 +2039,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2031 | 2039 | ||
2032 | case BC_FORL: | 2040 | case BC_FORL: |
2033 | #if LJ_HASJIT | 2041 | #if LJ_HASJIT |
2034 | dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2042 | dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2035 | #endif | 2043 | #endif |
2036 | break; | 2044 | break; |
2037 | 2045 | ||
@@ -2043,57 +2051,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2043 | case BC_FORI: | 2051 | case BC_FORI: |
2044 | case BC_IFORL: | 2052 | case BC_IFORL: |
2045 | vk = (op == BC_IFORL || op == BC_JFORL); | 2053 | vk = (op == BC_IFORL || op == BC_JFORL); |
2046 | dasm_put(Dst, 13253); | 2054 | dasm_put(Dst, 13342); |
2047 | if (!vk) { | 2055 | if (!vk) { |
2048 | dasm_put(Dst, 13257, LJ_TISNUM, LJ_TISNUM); | 2056 | dasm_put(Dst, 13346, LJ_TISNUM, LJ_TISNUM); |
2049 | } | 2057 | } |
2050 | dasm_put(Dst, 13276); | 2058 | dasm_put(Dst, 13365); |
2051 | if (!vk) { | 2059 | if (!vk) { |
2052 | dasm_put(Dst, 13280, LJ_TISNUM); | 2060 | dasm_put(Dst, 13369, LJ_TISNUM); |
2053 | } | 2061 | } |
2054 | if (sse) { | 2062 | if (sse) { |
2055 | dasm_put(Dst, 13289); | 2063 | dasm_put(Dst, 13378); |
2056 | if (vk) { | 2064 | if (vk) { |
2057 | dasm_put(Dst, 13301); | 2065 | dasm_put(Dst, 13390); |
2058 | } else { | 2066 | } else { |
2059 | dasm_put(Dst, 13320); | 2067 | dasm_put(Dst, 13409); |
2060 | } | 2068 | } |
2061 | dasm_put(Dst, 13325); | 2069 | dasm_put(Dst, 13414); |
2062 | } else { | 2070 | } else { |
2063 | dasm_put(Dst, 13338); | 2071 | dasm_put(Dst, 13427); |
2064 | if (vk) { | 2072 | if (vk) { |
2065 | dasm_put(Dst, 13344); | 2073 | dasm_put(Dst, 13433); |
2066 | } else { | 2074 | } else { |
2067 | dasm_put(Dst, 13360); | 2075 | dasm_put(Dst, 13449); |
2068 | } | 2076 | } |
2069 | dasm_put(Dst, 13368); | 2077 | dasm_put(Dst, 13457); |
2070 | if (cmov) { | 2078 | if (cmov) { |
2071 | dasm_put(Dst, 9413); | 2079 | dasm_put(Dst, 9502); |
2072 | } else { | 2080 | } else { |
2073 | dasm_put(Dst, 9419); | 2081 | dasm_put(Dst, 9508); |
2074 | } | 2082 | } |
2075 | if (!cmov) { | 2083 | if (!cmov) { |
2076 | dasm_put(Dst, 13373); | 2084 | dasm_put(Dst, 13462); |
2077 | } | 2085 | } |
2078 | } | 2086 | } |
2079 | if (op == BC_FORI) { | 2087 | if (op == BC_FORI) { |
2080 | dasm_put(Dst, 13379, -BCBIAS_J*4); | 2088 | dasm_put(Dst, 13468, -BCBIAS_J*4); |
2081 | } else if (op == BC_JFORI) { | 2089 | } else if (op == BC_JFORI) { |
2082 | dasm_put(Dst, 13389, -BCBIAS_J*4, BC_JLOOP); | 2090 | dasm_put(Dst, 13478, -BCBIAS_J*4, BC_JLOOP); |
2083 | } else if (op == BC_IFORL) { | 2091 | } else if (op == BC_IFORL) { |
2084 | dasm_put(Dst, 13403, -BCBIAS_J*4); | 2092 | dasm_put(Dst, 13492, -BCBIAS_J*4); |
2085 | } else { | 2093 | } else { |
2086 | dasm_put(Dst, 13399, BC_JLOOP); | 2094 | dasm_put(Dst, 13488, BC_JLOOP); |
2087 | } | 2095 | } |
2088 | dasm_put(Dst, 9448); | 2096 | dasm_put(Dst, 9537); |
2089 | if (sse) { | 2097 | if (sse) { |
2090 | dasm_put(Dst, 13413); | 2098 | dasm_put(Dst, 13502); |
2091 | } | 2099 | } |
2092 | break; | 2100 | break; |
2093 | 2101 | ||
2094 | case BC_ITERL: | 2102 | case BC_ITERL: |
2095 | #if LJ_HASJIT | 2103 | #if LJ_HASJIT |
2096 | dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2104 | dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2097 | #endif | 2105 | #endif |
2098 | break; | 2106 | break; |
2099 | 2107 | ||
@@ -2102,33 +2110,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2102 | break; | 2110 | break; |
2103 | #endif | 2111 | #endif |
2104 | case BC_IITERL: | 2112 | case BC_IITERL: |
2105 | dasm_put(Dst, 13424, LJ_TNIL); | 2113 | dasm_put(Dst, 13513, LJ_TNIL); |
2106 | if (op == BC_JITERL) { | 2114 | if (op == BC_JITERL) { |
2107 | dasm_put(Dst, 13439, BC_JLOOP); | 2115 | dasm_put(Dst, 13528, BC_JLOOP); |
2108 | } else { | 2116 | } else { |
2109 | dasm_put(Dst, 13453, -BCBIAS_J*4); | 2117 | dasm_put(Dst, 13542, -BCBIAS_J*4); |
2110 | } | 2118 | } |
2111 | dasm_put(Dst, 9748); | 2119 | dasm_put(Dst, 9837); |
2112 | break; | 2120 | break; |
2113 | 2121 | ||
2114 | case BC_LOOP: | 2122 | case BC_LOOP: |
2115 | #if LJ_HASJIT | 2123 | #if LJ_HASJIT |
2116 | dasm_put(Dst, 13232, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2124 | dasm_put(Dst, 13321, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2117 | #endif | 2125 | #endif |
2118 | break; | 2126 | break; |
2119 | 2127 | ||
2120 | case BC_ILOOP: | 2128 | case BC_ILOOP: |
2121 | dasm_put(Dst, 9450); | 2129 | dasm_put(Dst, 9539); |
2122 | break; | 2130 | break; |
2123 | 2131 | ||
2124 | case BC_JLOOP: | 2132 | case BC_JLOOP: |
2125 | #if LJ_HASJIT | 2133 | #if LJ_HASJIT |
2126 | dasm_put(Dst, 13469, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2134 | dasm_put(Dst, 13558, 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); |
2127 | #endif | 2135 | #endif |
2128 | break; | 2136 | break; |
2129 | 2137 | ||
2130 | case BC_JMP: | 2138 | case BC_JMP: |
2131 | dasm_put(Dst, 13493, -BCBIAS_J*4); | 2139 | dasm_put(Dst, 13667, -BCBIAS_J*4); |
2132 | break; | 2140 | break; |
2133 | 2141 | ||
2134 | /* -- Function headers -------------------------------------------------- */ | 2142 | /* -- Function headers -------------------------------------------------- */ |
@@ -2151,47 +2159,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2151 | break; | 2159 | break; |
2152 | #endif | 2160 | #endif |
2153 | case BC_IFUNCF: | 2161 | case BC_IFUNCF: |
2154 | dasm_put(Dst, 13518, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2162 | dasm_put(Dst, 13692, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2155 | if (op == BC_JFUNCF) { | 2163 | if (op == BC_JFUNCF) { |
2156 | dasm_put(Dst, 13548, BC_JLOOP); | 2164 | dasm_put(Dst, 13722, BC_JLOOP); |
2157 | } else { | 2165 | } else { |
2158 | dasm_put(Dst, 9450); | 2166 | dasm_put(Dst, 9539); |
2159 | } | 2167 | } |
2160 | dasm_put(Dst, 13557, LJ_TNIL); | 2168 | dasm_put(Dst, 13731, LJ_TNIL); |
2161 | break; | 2169 | break; |
2162 | 2170 | ||
2163 | case BC_JFUNCV: | 2171 | case BC_JFUNCV: |
2164 | #if !LJ_HASJIT | 2172 | #if !LJ_HASJIT |
2165 | break; | 2173 | break; |
2166 | #endif | 2174 | #endif |
2167 | dasm_put(Dst, 9141); | 2175 | dasm_put(Dst, 9230); |
2168 | break; /* NYI: compiled vararg functions. */ | 2176 | break; /* NYI: compiled vararg functions. */ |
2169 | 2177 | ||
2170 | case BC_IFUNCV: | 2178 | case BC_IFUNCV: |
2171 | dasm_put(Dst, 13579, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2179 | dasm_put(Dst, 13753, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2172 | if (op == BC_JFUNCV) { | 2180 | if (op == BC_JFUNCV) { |
2173 | dasm_put(Dst, 13548, BC_JLOOP); | 2181 | dasm_put(Dst, 13722, BC_JLOOP); |
2174 | } else { | 2182 | } else { |
2175 | dasm_put(Dst, 13670, -4+PC2PROTO(k)); | 2183 | dasm_put(Dst, 13844, -4+PC2PROTO(k)); |
2176 | } | 2184 | } |
2177 | dasm_put(Dst, 13693, LJ_TNIL); | 2185 | dasm_put(Dst, 13867, LJ_TNIL); |
2178 | break; | 2186 | break; |
2179 | 2187 | ||
2180 | case BC_FUNCC: | 2188 | case BC_FUNCC: |
2181 | case BC_FUNCCW: | 2189 | case BC_FUNCCW: |
2182 | dasm_put(Dst, 13715, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2190 | dasm_put(Dst, 13889, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2183 | if (op == BC_FUNCC) { | 2191 | if (op == BC_FUNCC) { |
2184 | dasm_put(Dst, 13745); | 2192 | dasm_put(Dst, 13919); |
2185 | } else { | 2193 | } else { |
2186 | dasm_put(Dst, 13749); | 2194 | dasm_put(Dst, 13923); |
2187 | } | 2195 | } |
2188 | dasm_put(Dst, 13757, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2196 | dasm_put(Dst, 13931, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2189 | if (op == BC_FUNCC) { | 2197 | if (op == BC_FUNCC) { |
2190 | dasm_put(Dst, 13766); | 2198 | dasm_put(Dst, 13940); |
2191 | } else { | 2199 | } else { |
2192 | dasm_put(Dst, 13770, DISPATCH_GL(wrapf)); | 2200 | dasm_put(Dst, 13944, DISPATCH_GL(wrapf)); |
2193 | } | 2201 | } |
2194 | dasm_put(Dst, 13775, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2202 | dasm_put(Dst, 13949, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2195 | break; | 2203 | break; |
2196 | 2204 | ||
2197 | /* ---------------------------------------------------------------------- */ | 2205 | /* ---------------------------------------------------------------------- */ |
@@ -2219,7 +2227,7 @@ static int build_backend(BuildCtx *ctx) | |||
2219 | 2227 | ||
2220 | build_subroutines(ctx, cmov, sse); | 2228 | build_subroutines(ctx, cmov, sse); |
2221 | 2229 | ||
2222 | dasm_put(Dst, 13800); | 2230 | dasm_put(Dst, 13974); |
2223 | for (op = 0; op < BC__MAX; op++) | 2231 | for (op = 0; op < BC__MAX; op++) |
2224 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2232 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2225 | 2233 | ||
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index 7758cd15..a3e65174 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -223,19 +223,18 @@ | |||
223 | |.define SAVE_R2, aword [rsp+aword*6] | 223 | |.define SAVE_R2, aword [rsp+aword*6] |
224 | |.define SAVE_R1, aword [rsp+aword*5] //<-- rsp after register saves. | 224 | |.define SAVE_R1, aword [rsp+aword*5] //<-- rsp after register saves. |
225 | |.define SAVE_CFRAME, aword [rsp+aword*4] | 225 | |.define SAVE_CFRAME, aword [rsp+aword*4] |
226 | |.define TMPa, aword [rsp+aword*3] | 226 | |.define SAVE_PC, dword [rsp+dword*7] |
227 | |//----- ^^^ awords above, vvv dwords below | 227 | |.define SAVE_L, dword [rsp+dword*6] |
228 | |.define SAVE_PC, dword [rsp+dword*5] | 228 | |.define SAVE_ERRF, dword [rsp+dword*5] |
229 | |.define SAVE_L, dword [rsp+dword*4] | 229 | |.define SAVE_NRES, dword [rsp+dword*4] |
230 | |.define SAVE_ERRF, dword [rsp+dword*3] | 230 | |.define TMPa, aword [rsp+aword*1] |
231 | |.define SAVE_NRES, dword [rsp+dword*2] | ||
232 | |.define TMP2, dword [rsp+dword*1] | 231 | |.define TMP2, dword [rsp+dword*1] |
233 | |.define TMP1, dword [rsp] //<-- rsp while in interpreter. | 232 | |.define TMP1, dword [rsp] //<-- rsp while in interpreter. |
234 | |//----- 16 byte aligned | 233 | |//----- 16 byte aligned |
235 | | | 234 | | |
236 | |// TMPQ overlaps TMP1/TMP2. MULTRES overlaps TMP2 (and TMPQ). | 235 | |// TMPQ overlaps TMP1/TMP2. MULTRES overlaps TMP2 (and TMPQ). |
237 | |.define TMPQ, qword [rsp] | 236 | |.define TMPQ, qword [rsp] |
238 | |.define TMP3, dword [rsp+aword*3] | 237 | |.define TMP3, dword [rsp+aword*1] |
239 | |.define MULTRES, TMP2 | 238 | |.define MULTRES, TMP2 |
240 | | | 239 | | |
241 | |.endif | 240 | |.endif |
@@ -2627,18 +2626,51 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2627 | | // Error code returned in eax (RD). | 2626 | | // Error code returned in eax (RD). |
2628 | | mov RAa, L:RB->cframe | 2627 | | mov RAa, L:RB->cframe |
2629 | | and RAa, CFRAME_RAWMASK | 2628 | | and RAa, CFRAME_RAWMASK |
2630 | |.if X64 | 2629 | |.if X64WIN |
2630 | | // Reposition stack later. | ||
2631 | |.elif X64 | ||
2631 | | mov rsp, RAa // Reposition stack to C frame. | 2632 | | mov rsp, RAa // Reposition stack to C frame. |
2632 | |.else | 2633 | |.else |
2633 | | mov esp, RAa // Reposition stack to C frame. | 2634 | | mov esp, RAa // Reposition stack to C frame. |
2634 | |.endif | 2635 | |.endif |
2635 | | mov SAVE_L, L:RB // Needed for on-trace resume/yield. | 2636 | | mov [RAa+CFRAME_OFS_L], L:RB // Set SAVE_L (on-trace resume/yield). |
2636 | | test RD, RD; jnz >1 // Check for error from exit. | ||
2637 | | mov BASE, L:RB->base | 2637 | | mov BASE, L:RB->base |
2638 | | mov PC, SAVE_PC | 2638 | | mov PC, [RAa+CFRAME_OFS_PC] // Get SAVE_PC. |
2639 | |.if X64 | ||
2640 | | jmp >1 | ||
2641 | |.else | ||
2642 | | test RD, RD; jnz >2 // Check for error from exit. | ||
2643 | |.endif | ||
2639 | #endif | 2644 | #endif |
2640 | |->vm_exit_interp: | 2645 | |->vm_exit_interp: |
2641 | #if LJ_HASJIT | 2646 | #if LJ_HASJIT |
2647 | |.if X64 | ||
2648 | | xor RD, RD | ||
2649 | | // Restore additional callee-save registers only used in compiled code. | ||
2650 | |.if X64WIN | ||
2651 | | lea RAa, [rsp+9*16+4*8] | ||
2652 | |1: | ||
2653 | | movdqa xmm15, [RAa-9*16] | ||
2654 | | movdqa xmm14, [RAa-8*16] | ||
2655 | | movdqa xmm13, [RAa-7*16] | ||
2656 | | movdqa xmm12, [RAa-6*16] | ||
2657 | | movdqa xmm11, [RAa-5*16] | ||
2658 | | movdqa xmm10, [RAa-4*16] | ||
2659 | | movdqa xmm9, [RAa-3*16] | ||
2660 | | movdqa xmm8, [RAa-2*16] | ||
2661 | | movdqa xmm7, [RAa-1*16] | ||
2662 | | mov rsp, RAa // Reposition stack to C frame. | ||
2663 | | movdqa xmm6, [RAa] | ||
2664 | | mov r15, CSAVE_3 | ||
2665 | | mov r14, CSAVE_4 | ||
2666 | |.else | ||
2667 | | add rsp, 16 // Reposition stack to C frame. | ||
2668 | |1: | ||
2669 | |.endif | ||
2670 | | mov r13, TMPa | ||
2671 | | mov r12, TMPQ | ||
2672 | | test RD, RD; jnz >2 // Check for error from exit. | ||
2673 | |.endif | ||
2642 | | mov LFUNC:KBASE, [BASE-8] | 2674 | | mov LFUNC:KBASE, [BASE-8] |
2643 | | mov KBASE, LFUNC:KBASE->pc | 2675 | | mov KBASE, LFUNC:KBASE->pc |
2644 | | mov KBASE, [KBASE+PC2PROTO(k)] | 2676 | | mov KBASE, [KBASE+PC2PROTO(k)] |
@@ -2646,7 +2678,7 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
2646 | | set_vmstate INTERP | 2678 | | set_vmstate INTERP |
2647 | | ins_next | 2679 | | ins_next |
2648 | | | 2680 | | |
2649 | |1: // Rethrow error from the right C frame. | 2681 | |2: // Rethrow error from the right C frame. |
2650 | | mov FCARG1, L:RB | 2682 | | mov FCARG1, L:RB |
2651 | | mov FCARG2, RD | 2683 | | mov FCARG2, RD |
2652 | | call extern lj_err_throw@8 // (lua_State *L, int errcode) | 2684 | | call extern lj_err_throw@8 // (lua_State *L, int errcode) |
@@ -4714,6 +4746,29 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
4714 | | mov L:RB, SAVE_L | 4746 | | mov L:RB, SAVE_L |
4715 | | mov [DISPATCH+DISPATCH_GL(jit_base)], BASE | 4747 | | mov [DISPATCH+DISPATCH_GL(jit_base)], BASE |
4716 | | mov [DISPATCH+DISPATCH_GL(jit_L)], L:RB | 4748 | | mov [DISPATCH+DISPATCH_GL(jit_L)], L:RB |
4749 | | // Save additional callee-save registers only used in compiled code. | ||
4750 | |.if X64WIN | ||
4751 | | mov TMPQ, r12 | ||
4752 | | mov TMPa, r13 | ||
4753 | | mov CSAVE_4, r14 | ||
4754 | | mov CSAVE_3, r15 | ||
4755 | | mov RAa, rsp | ||
4756 | | sub rsp, 9*16+4*8 | ||
4757 | | movdqa [RAa], xmm6 | ||
4758 | | movdqa [RAa-1*16], xmm7 | ||
4759 | | movdqa [RAa-2*16], xmm8 | ||
4760 | | movdqa [RAa-3*16], xmm9 | ||
4761 | | movdqa [RAa-4*16], xmm10 | ||
4762 | | movdqa [RAa-5*16], xmm11 | ||
4763 | | movdqa [RAa-6*16], xmm12 | ||
4764 | | movdqa [RAa-7*16], xmm13 | ||
4765 | | movdqa [RAa-8*16], xmm14 | ||
4766 | | movdqa [RAa-9*16], xmm15 | ||
4767 | |.elif X64 | ||
4768 | | mov TMPQ, r12 | ||
4769 | | mov TMPa, r13 | ||
4770 | | sub rsp, 16 | ||
4771 | |.endif | ||
4717 | | jmp RDa | 4772 | | jmp RDa |
4718 | #endif | 4773 | #endif |
4719 | break; | 4774 | break; |
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 0cbf9c68..5bf7e60c 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[15179] = { | 15 | static const unsigned char build_actionlist[15177] = { |
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,252,247,198,237,15,132,244,10,199, | 18 | 20,252,247,198,237,15,132,244,13,248,14,252,247,198,237,15,132,244,10,199, |
@@ -417,20 +417,20 @@ static const unsigned char build_actionlist[15179] = { | |||
417 | 252,242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242, | 417 | 252,242,15,17,109,200,252,242,15,17,101,192,252,242,15,17,93,184,252,242, |
418 | 15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147, | 418 | 15,17,85,176,252,242,15,17,77,168,252,242,15,17,69,160,139,171,233,139,147, |
419 | 233,137,171,233,137,149,233,141,84,36,16,141,139,233,232,251,1,23,139,141, | 419 | 233,137,171,233,137,149,233,141,84,36,16,141,139,233,232,251,1,23,139,141, |
420 | 233,129,225,239,137,204,137,108,36,48,133,192,15,133,244,247,139,149,233, | 420 | 233,129,225,239,137,204,137,169,233,139,149,233,139,177,233,133,192,15,133, |
421 | 139,116,36,24,255,248,144,255,139,122,252,248,139,191,233,139,191,233,199, | 421 | 244,248,255,248,144,255,139,122,252,248,139,191,233,139,191,233,199,131,233, |
422 | 131,233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193, | 422 | 0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16, |
423 | 232,16,252,255,36,171,248,1,137,252,233,137,194,232,251,1,24,255,248,82,255, | 423 | 252,255,36,171,248,2,137,252,233,137,194,232,251,1,24,255,248,82,255,217, |
424 | 217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247, | 424 | 124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102, |
425 | 102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255, | 425 | 137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248, |
426 | 248,145,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67, | 426 | 145,102,15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102, |
427 | 102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15, | 427 | 15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134, |
428 | 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202, | 428 | 244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184, |
429 | 184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1, | 429 | 0,0,252,240,63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102, |
430 | 102,15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36, | 430 | 15,84,194,252,242,15,92,200,15,40,193,248,1,195,248,84,255,217,124,36,4,137, |
431 | 4,137,68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68, | 431 | 68,36,8,102,184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6, |
432 | 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,102, | 432 | 217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,146,102,15, |
433 | 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, | 433 | 252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216, |
434 | 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, | 434 | 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102, |
435 | 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, | 435 | 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240, |
436 | 191,102,15,110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252, | 436 | 191,102,15,110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252, |
@@ -1454,91 +1454,91 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1454 | #endif | 1454 | #endif |
1455 | dasm_put(Dst, 8218, Dt1(->base), Dt1(->top)); | 1455 | dasm_put(Dst, 8218, Dt1(->base), Dt1(->top)); |
1456 | #if LJ_HASJIT | 1456 | #if LJ_HASJIT |
1457 | dasm_put(Dst, 8247, 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), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, Dt1(->base)); | 1457 | dasm_put(Dst, 8247, 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), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1458 | #endif | 1458 | #endif |
1459 | dasm_put(Dst, 8391); | 1459 | dasm_put(Dst, 8389); |
1460 | #if LJ_HASJIT | 1460 | #if LJ_HASJIT |
1461 | dasm_put(Dst, 8394, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1461 | dasm_put(Dst, 8392, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1462 | #endif | 1462 | #endif |
1463 | dasm_put(Dst, 8445); | 1463 | dasm_put(Dst, 8443); |
1464 | if (!sse) { | 1464 | if (!sse) { |
1465 | dasm_put(Dst, 8448); | 1465 | dasm_put(Dst, 8446); |
1466 | } | 1466 | } |
1467 | dasm_put(Dst, 8493); | 1467 | dasm_put(Dst, 8491); |
1468 | if (!sse) { | 1468 | if (!sse) { |
1469 | dasm_put(Dst, 8595); | 1469 | dasm_put(Dst, 8593); |
1470 | } | 1470 | } |
1471 | dasm_put(Dst, 8640); | 1471 | dasm_put(Dst, 8638); |
1472 | if (!sse) { | 1472 | if (!sse) { |
1473 | dasm_put(Dst, 8742); | 1473 | dasm_put(Dst, 8740); |
1474 | } | 1474 | } |
1475 | dasm_put(Dst, 8781); | 1475 | dasm_put(Dst, 8779); |
1476 | if (sse) { | 1476 | if (sse) { |
1477 | dasm_put(Dst, 8886); | 1477 | dasm_put(Dst, 8884); |
1478 | } else { | 1478 | } else { |
1479 | dasm_put(Dst, 9016); | 1479 | dasm_put(Dst, 9014); |
1480 | } | 1480 | } |
1481 | dasm_put(Dst, 9063); | 1481 | dasm_put(Dst, 9061); |
1482 | if (!sse) { | 1482 | if (!sse) { |
1483 | dasm_put(Dst, 9137); | 1483 | dasm_put(Dst, 9135); |
1484 | if (cmov) { | 1484 | if (cmov) { |
1485 | dasm_put(Dst, 9148); | 1485 | dasm_put(Dst, 9146); |
1486 | } else { | 1486 | } else { |
1487 | dasm_put(Dst, 9152); | 1487 | dasm_put(Dst, 9150); |
1488 | } | 1488 | } |
1489 | dasm_put(Dst, 9159); | 1489 | dasm_put(Dst, 9157); |
1490 | dasm_put(Dst, 9233); | 1490 | dasm_put(Dst, 9231); |
1491 | dasm_put(Dst, 9333); | 1491 | dasm_put(Dst, 9331); |
1492 | if (cmov) { | 1492 | if (cmov) { |
1493 | dasm_put(Dst, 9336); | 1493 | dasm_put(Dst, 9334); |
1494 | } else { | 1494 | } else { |
1495 | dasm_put(Dst, 9340); | 1495 | dasm_put(Dst, 9338); |
1496 | } | 1496 | } |
1497 | dasm_put(Dst, 9347); | 1497 | dasm_put(Dst, 9345); |
1498 | if (cmov) { | 1498 | if (cmov) { |
1499 | dasm_put(Dst, 9148); | 1499 | dasm_put(Dst, 9146); |
1500 | } else { | 1500 | } else { |
1501 | dasm_put(Dst, 9152); | 1501 | dasm_put(Dst, 9150); |
1502 | } | 1502 | } |
1503 | dasm_put(Dst, 9365); | 1503 | dasm_put(Dst, 9363); |
1504 | } else { | 1504 | } else { |
1505 | dasm_put(Dst, 9444); | 1505 | dasm_put(Dst, 9442); |
1506 | } | 1506 | } |
1507 | dasm_put(Dst, 9447); | 1507 | dasm_put(Dst, 9445); |
1508 | dasm_put(Dst, 9532); | 1508 | dasm_put(Dst, 9530); |
1509 | dasm_put(Dst, 9663); | 1509 | dasm_put(Dst, 9661); |
1510 | dasm_put(Dst, 9862); | 1510 | dasm_put(Dst, 9860); |
1511 | if (sse) { | 1511 | if (sse) { |
1512 | dasm_put(Dst, 9885); | 1512 | dasm_put(Dst, 9883); |
1513 | dasm_put(Dst, 9942); | 1513 | dasm_put(Dst, 9940); |
1514 | dasm_put(Dst, 10033); | 1514 | dasm_put(Dst, 10031); |
1515 | } else { | 1515 | } else { |
1516 | dasm_put(Dst, 10075); | 1516 | dasm_put(Dst, 10073); |
1517 | dasm_put(Dst, 10167); | 1517 | dasm_put(Dst, 10165); |
1518 | } | 1518 | } |
1519 | dasm_put(Dst, 10213); | 1519 | dasm_put(Dst, 10211); |
1520 | if (sse) { | 1520 | if (sse) { |
1521 | dasm_put(Dst, 10219); | 1521 | dasm_put(Dst, 10217); |
1522 | dasm_put(Dst, 10324); | 1522 | dasm_put(Dst, 10322); |
1523 | dasm_put(Dst, 10407); | 1523 | dasm_put(Dst, 10405); |
1524 | } else { | 1524 | } else { |
1525 | dasm_put(Dst, 10479); | 1525 | dasm_put(Dst, 10477); |
1526 | dasm_put(Dst, 10562); | 1526 | dasm_put(Dst, 10560); |
1527 | if (cmov) { | 1527 | if (cmov) { |
1528 | dasm_put(Dst, 10617); | 1528 | dasm_put(Dst, 10615); |
1529 | } else { | 1529 | } else { |
1530 | dasm_put(Dst, 10636); | 1530 | dasm_put(Dst, 10634); |
1531 | } | 1531 | } |
1532 | dasm_put(Dst, 10475); | 1532 | dasm_put(Dst, 10473); |
1533 | } | 1533 | } |
1534 | dasm_put(Dst, 10677); | 1534 | dasm_put(Dst, 10675); |
1535 | } | 1535 | } |
1536 | 1536 | ||
1537 | /* Generate the code for a single instruction. */ | 1537 | /* Generate the code for a single instruction. */ |
1538 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1538 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1539 | { | 1539 | { |
1540 | int vk = 0; | 1540 | int vk = 0; |
1541 | dasm_put(Dst, 10731, defop); | 1541 | dasm_put(Dst, 10729, defop); |
1542 | 1542 | ||
1543 | switch (op) { | 1543 | switch (op) { |
1544 | 1544 | ||
@@ -1547,617 +1547,617 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1547 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1547 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1548 | 1548 | ||
1549 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1549 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1550 | dasm_put(Dst, 10733, LJ_TISNUM, LJ_TISNUM); | 1550 | dasm_put(Dst, 10731, LJ_TISNUM, LJ_TISNUM); |
1551 | if (sse) { | 1551 | if (sse) { |
1552 | dasm_put(Dst, 10754); | 1552 | dasm_put(Dst, 10752); |
1553 | } else { | 1553 | } else { |
1554 | dasm_put(Dst, 10769); | 1554 | dasm_put(Dst, 10767); |
1555 | if (cmov) { | 1555 | if (cmov) { |
1556 | dasm_put(Dst, 10779); | 1556 | dasm_put(Dst, 10777); |
1557 | } else { | 1557 | } else { |
1558 | dasm_put(Dst, 10785); | 1558 | dasm_put(Dst, 10783); |
1559 | } | 1559 | } |
1560 | } | 1560 | } |
1561 | switch (op) { | 1561 | switch (op) { |
1562 | case BC_ISLT: | 1562 | case BC_ISLT: |
1563 | dasm_put(Dst, 10792); | 1563 | dasm_put(Dst, 10790); |
1564 | break; | 1564 | break; |
1565 | case BC_ISGE: | 1565 | case BC_ISGE: |
1566 | dasm_put(Dst, 10028); | 1566 | dasm_put(Dst, 10026); |
1567 | break; | 1567 | break; |
1568 | case BC_ISLE: | 1568 | case BC_ISLE: |
1569 | dasm_put(Dst, 6181); | 1569 | dasm_put(Dst, 6181); |
1570 | break; | 1570 | break; |
1571 | case BC_ISGT: | 1571 | case BC_ISGT: |
1572 | dasm_put(Dst, 10797); | 1572 | dasm_put(Dst, 10795); |
1573 | break; | 1573 | break; |
1574 | default: break; /* Shut up GCC. */ | 1574 | default: break; /* Shut up GCC. */ |
1575 | } | 1575 | } |
1576 | dasm_put(Dst, 10802, -BCBIAS_J*4); | 1576 | dasm_put(Dst, 10800, -BCBIAS_J*4); |
1577 | break; | 1577 | break; |
1578 | 1578 | ||
1579 | case BC_ISEQV: case BC_ISNEV: | 1579 | case BC_ISEQV: case BC_ISNEV: |
1580 | vk = op == BC_ISEQV; | 1580 | vk = op == BC_ISEQV; |
1581 | dasm_put(Dst, 10835, LJ_TISNUM, LJ_TISNUM); | 1581 | dasm_put(Dst, 10833, LJ_TISNUM, LJ_TISNUM); |
1582 | if (sse) { | 1582 | if (sse) { |
1583 | dasm_put(Dst, 10861); | 1583 | dasm_put(Dst, 10859); |
1584 | } else { | 1584 | } else { |
1585 | dasm_put(Dst, 10873); | 1585 | dasm_put(Dst, 10871); |
1586 | if (cmov) { | 1586 | if (cmov) { |
1587 | dasm_put(Dst, 10779); | 1587 | dasm_put(Dst, 10777); |
1588 | } else { | 1588 | } else { |
1589 | dasm_put(Dst, 10785); | 1589 | dasm_put(Dst, 10783); |
1590 | } | 1590 | } |
1591 | } | 1591 | } |
1592 | iseqne_fp: | 1592 | iseqne_fp: |
1593 | if (vk) { | 1593 | if (vk) { |
1594 | dasm_put(Dst, 10880); | 1594 | dasm_put(Dst, 10878); |
1595 | } else { | 1595 | } else { |
1596 | dasm_put(Dst, 10889); | 1596 | dasm_put(Dst, 10887); |
1597 | } | 1597 | } |
1598 | iseqne_end: | 1598 | iseqne_end: |
1599 | if (vk) { | 1599 | if (vk) { |
1600 | dasm_put(Dst, 10898, -BCBIAS_J*4); | 1600 | dasm_put(Dst, 10896, -BCBIAS_J*4); |
1601 | } else { | 1601 | } else { |
1602 | dasm_put(Dst, 10913, -BCBIAS_J*4); | 1602 | dasm_put(Dst, 10911, -BCBIAS_J*4); |
1603 | } | 1603 | } |
1604 | dasm_put(Dst, 10816); | 1604 | dasm_put(Dst, 10814); |
1605 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1605 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1606 | dasm_put(Dst, 10928, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1606 | dasm_put(Dst, 10926, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1607 | if (vk) { | 1607 | if (vk) { |
1608 | dasm_put(Dst, 10986); | 1608 | dasm_put(Dst, 10984); |
1609 | } else { | 1609 | } else { |
1610 | dasm_put(Dst, 10990); | 1610 | dasm_put(Dst, 10988); |
1611 | } | 1611 | } |
1612 | dasm_put(Dst, 10996); | 1612 | dasm_put(Dst, 10994); |
1613 | } | 1613 | } |
1614 | break; | 1614 | break; |
1615 | case BC_ISEQS: case BC_ISNES: | 1615 | case BC_ISEQS: case BC_ISNES: |
1616 | vk = op == BC_ISEQS; | 1616 | vk = op == BC_ISEQS; |
1617 | dasm_put(Dst, 11001, LJ_TSTR); | 1617 | dasm_put(Dst, 10999, LJ_TSTR); |
1618 | iseqne_test: | 1618 | iseqne_test: |
1619 | if (vk) { | 1619 | if (vk) { |
1620 | dasm_put(Dst, 10884); | 1620 | dasm_put(Dst, 8384); |
1621 | } else { | 1621 | } else { |
1622 | dasm_put(Dst, 2811); | 1622 | dasm_put(Dst, 2811); |
1623 | } | 1623 | } |
1624 | goto iseqne_end; | 1624 | goto iseqne_end; |
1625 | case BC_ISEQN: case BC_ISNEN: | 1625 | case BC_ISEQN: case BC_ISNEN: |
1626 | vk = op == BC_ISEQN; | 1626 | vk = op == BC_ISEQN; |
1627 | dasm_put(Dst, 11024, LJ_TISNUM); | 1627 | dasm_put(Dst, 11022, LJ_TISNUM); |
1628 | if (sse) { | 1628 | if (sse) { |
1629 | dasm_put(Dst, 11038); | 1629 | dasm_put(Dst, 11036); |
1630 | } else { | 1630 | } else { |
1631 | dasm_put(Dst, 11050); | 1631 | dasm_put(Dst, 11048); |
1632 | if (cmov) { | 1632 | if (cmov) { |
1633 | dasm_put(Dst, 10779); | 1633 | dasm_put(Dst, 10777); |
1634 | } else { | 1634 | } else { |
1635 | dasm_put(Dst, 10785); | 1635 | dasm_put(Dst, 10783); |
1636 | } | 1636 | } |
1637 | } | 1637 | } |
1638 | goto iseqne_fp; | 1638 | goto iseqne_fp; |
1639 | case BC_ISEQP: case BC_ISNEP: | 1639 | case BC_ISEQP: case BC_ISNEP: |
1640 | vk = op == BC_ISEQP; | 1640 | vk = op == BC_ISEQP; |
1641 | dasm_put(Dst, 11057); | 1641 | dasm_put(Dst, 11055); |
1642 | goto iseqne_test; | 1642 | goto iseqne_test; |
1643 | 1643 | ||
1644 | /* -- Unary test and copy ops ------------------------------------------- */ | 1644 | /* -- Unary test and copy ops ------------------------------------------- */ |
1645 | 1645 | ||
1646 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 1646 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1647 | dasm_put(Dst, 11068, LJ_TISTRUECOND); | 1647 | dasm_put(Dst, 11066, LJ_TISTRUECOND); |
1648 | if (op == BC_IST || op == BC_ISTC) { | 1648 | if (op == BC_IST || op == BC_ISTC) { |
1649 | dasm_put(Dst, 11080); | 1649 | dasm_put(Dst, 11078); |
1650 | } else { | 1650 | } else { |
1651 | dasm_put(Dst, 11085); | 1651 | dasm_put(Dst, 11083); |
1652 | } | 1652 | } |
1653 | if (op == BC_ISTC || op == BC_ISFC) { | 1653 | if (op == BC_ISTC || op == BC_ISFC) { |
1654 | dasm_put(Dst, 11090); | 1654 | dasm_put(Dst, 11088); |
1655 | } | 1655 | } |
1656 | dasm_put(Dst, 11101, -BCBIAS_J*4); | 1656 | dasm_put(Dst, 11099, -BCBIAS_J*4); |
1657 | break; | 1657 | break; |
1658 | 1658 | ||
1659 | /* -- Unary ops --------------------------------------------------------- */ | 1659 | /* -- Unary ops --------------------------------------------------------- */ |
1660 | 1660 | ||
1661 | case BC_MOV: | 1661 | case BC_MOV: |
1662 | dasm_put(Dst, 11132); | 1662 | dasm_put(Dst, 11130); |
1663 | break; | 1663 | break; |
1664 | case BC_NOT: | 1664 | case BC_NOT: |
1665 | dasm_put(Dst, 11165, LJ_TISTRUECOND, LJ_TTRUE); | 1665 | dasm_put(Dst, 11163, LJ_TISTRUECOND, LJ_TTRUE); |
1666 | break; | 1666 | break; |
1667 | case BC_UNM: | 1667 | case BC_UNM: |
1668 | dasm_put(Dst, 11200, LJ_TISNUM); | 1668 | dasm_put(Dst, 11198, LJ_TISNUM); |
1669 | if (sse) { | 1669 | if (sse) { |
1670 | dasm_put(Dst, 11211); | 1670 | dasm_put(Dst, 11209); |
1671 | } else { | 1671 | } else { |
1672 | dasm_put(Dst, 11241); | 1672 | dasm_put(Dst, 11239); |
1673 | } | 1673 | } |
1674 | dasm_put(Dst, 10816); | 1674 | dasm_put(Dst, 10814); |
1675 | break; | 1675 | break; |
1676 | case BC_LEN: | 1676 | case BC_LEN: |
1677 | dasm_put(Dst, 11250, LJ_TSTR); | 1677 | dasm_put(Dst, 11248, LJ_TSTR); |
1678 | if (sse) { | 1678 | if (sse) { |
1679 | dasm_put(Dst, 11264, Dt5(->len)); | 1679 | dasm_put(Dst, 11262, Dt5(->len)); |
1680 | } else { | 1680 | } else { |
1681 | dasm_put(Dst, 11282, Dt5(->len)); | 1681 | dasm_put(Dst, 11280, Dt5(->len)); |
1682 | } | 1682 | } |
1683 | dasm_put(Dst, 11291, LJ_TTAB); | 1683 | dasm_put(Dst, 11289, LJ_TTAB); |
1684 | if (sse) { | 1684 | if (sse) { |
1685 | dasm_put(Dst, 11331); | 1685 | dasm_put(Dst, 11329); |
1686 | } else { | 1686 | } else { |
1687 | dasm_put(Dst, 11340); | 1687 | dasm_put(Dst, 11338); |
1688 | } | 1688 | } |
1689 | dasm_put(Dst, 11350); | 1689 | dasm_put(Dst, 11348); |
1690 | break; | 1690 | break; |
1691 | 1691 | ||
1692 | /* -- Binary ops -------------------------------------------------------- */ | 1692 | /* -- Binary ops -------------------------------------------------------- */ |
1693 | 1693 | ||
1694 | 1694 | ||
1695 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 1695 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1696 | dasm_put(Dst, 11360); | 1696 | dasm_put(Dst, 11358); |
1697 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1697 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1698 | switch (vk) { | 1698 | switch (vk) { |
1699 | case 0: | 1699 | case 0: |
1700 | dasm_put(Dst, 11368, LJ_TISNUM); | 1700 | dasm_put(Dst, 11366, LJ_TISNUM); |
1701 | if (sse) { | 1701 | if (sse) { |
1702 | dasm_put(Dst, 11380); | 1702 | dasm_put(Dst, 11378); |
1703 | } else { | 1703 | } else { |
1704 | dasm_put(Dst, 11394); | 1704 | dasm_put(Dst, 11392); |
1705 | } | 1705 | } |
1706 | break; | 1706 | break; |
1707 | case 1: | 1707 | case 1: |
1708 | dasm_put(Dst, 11402, LJ_TISNUM); | 1708 | dasm_put(Dst, 11400, LJ_TISNUM); |
1709 | if (sse) { | 1709 | if (sse) { |
1710 | dasm_put(Dst, 11414); | 1710 | dasm_put(Dst, 11412); |
1711 | } else { | 1711 | } else { |
1712 | dasm_put(Dst, 11428); | 1712 | dasm_put(Dst, 11426); |
1713 | } | 1713 | } |
1714 | break; | 1714 | break; |
1715 | default: | 1715 | default: |
1716 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1716 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1717 | if (sse) { | 1717 | if (sse) { |
1718 | dasm_put(Dst, 11458); | 1718 | dasm_put(Dst, 11456); |
1719 | } else { | 1719 | } else { |
1720 | dasm_put(Dst, 11472); | 1720 | dasm_put(Dst, 11470); |
1721 | } | 1721 | } |
1722 | break; | 1722 | break; |
1723 | } | 1723 | } |
1724 | if (sse) { | 1724 | if (sse) { |
1725 | dasm_put(Dst, 11234); | 1725 | dasm_put(Dst, 11232); |
1726 | } else { | 1726 | } else { |
1727 | dasm_put(Dst, 11246); | 1727 | dasm_put(Dst, 11244); |
1728 | } | 1728 | } |
1729 | dasm_put(Dst, 10816); | 1729 | dasm_put(Dst, 10814); |
1730 | break; | 1730 | break; |
1731 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 1731 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1732 | dasm_put(Dst, 11360); | 1732 | dasm_put(Dst, 11358); |
1733 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1733 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1734 | switch (vk) { | 1734 | switch (vk) { |
1735 | case 0: | 1735 | case 0: |
1736 | dasm_put(Dst, 11368, LJ_TISNUM); | 1736 | dasm_put(Dst, 11366, LJ_TISNUM); |
1737 | if (sse) { | 1737 | if (sse) { |
1738 | dasm_put(Dst, 11480); | 1738 | dasm_put(Dst, 11478); |
1739 | } else { | 1739 | } else { |
1740 | dasm_put(Dst, 11494); | 1740 | dasm_put(Dst, 11492); |
1741 | } | 1741 | } |
1742 | break; | 1742 | break; |
1743 | case 1: | 1743 | case 1: |
1744 | dasm_put(Dst, 11402, LJ_TISNUM); | 1744 | dasm_put(Dst, 11400, LJ_TISNUM); |
1745 | if (sse) { | 1745 | if (sse) { |
1746 | dasm_put(Dst, 11502); | 1746 | dasm_put(Dst, 11500); |
1747 | } else { | 1747 | } else { |
1748 | dasm_put(Dst, 11516); | 1748 | dasm_put(Dst, 11514); |
1749 | } | 1749 | } |
1750 | break; | 1750 | break; |
1751 | default: | 1751 | default: |
1752 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1752 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1753 | if (sse) { | 1753 | if (sse) { |
1754 | dasm_put(Dst, 11524); | 1754 | dasm_put(Dst, 11522); |
1755 | } else { | 1755 | } else { |
1756 | dasm_put(Dst, 11538); | 1756 | dasm_put(Dst, 11536); |
1757 | } | 1757 | } |
1758 | break; | 1758 | break; |
1759 | } | 1759 | } |
1760 | if (sse) { | 1760 | if (sse) { |
1761 | dasm_put(Dst, 11234); | 1761 | dasm_put(Dst, 11232); |
1762 | } else { | 1762 | } else { |
1763 | dasm_put(Dst, 11246); | 1763 | dasm_put(Dst, 11244); |
1764 | } | 1764 | } |
1765 | dasm_put(Dst, 10816); | 1765 | dasm_put(Dst, 10814); |
1766 | break; | 1766 | break; |
1767 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 1767 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1768 | dasm_put(Dst, 11360); | 1768 | dasm_put(Dst, 11358); |
1769 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1769 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1770 | switch (vk) { | 1770 | switch (vk) { |
1771 | case 0: | 1771 | case 0: |
1772 | dasm_put(Dst, 11368, LJ_TISNUM); | 1772 | dasm_put(Dst, 11366, LJ_TISNUM); |
1773 | if (sse) { | 1773 | if (sse) { |
1774 | dasm_put(Dst, 11546); | 1774 | dasm_put(Dst, 11544); |
1775 | } else { | 1775 | } else { |
1776 | dasm_put(Dst, 11560); | 1776 | dasm_put(Dst, 11558); |
1777 | } | 1777 | } |
1778 | break; | 1778 | break; |
1779 | case 1: | 1779 | case 1: |
1780 | dasm_put(Dst, 11402, LJ_TISNUM); | 1780 | dasm_put(Dst, 11400, LJ_TISNUM); |
1781 | if (sse) { | 1781 | if (sse) { |
1782 | dasm_put(Dst, 11568); | 1782 | dasm_put(Dst, 11566); |
1783 | } else { | 1783 | } else { |
1784 | dasm_put(Dst, 11582); | 1784 | dasm_put(Dst, 11580); |
1785 | } | 1785 | } |
1786 | break; | 1786 | break; |
1787 | default: | 1787 | default: |
1788 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1788 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1789 | if (sse) { | 1789 | if (sse) { |
1790 | dasm_put(Dst, 11590); | 1790 | dasm_put(Dst, 11588); |
1791 | } else { | 1791 | } else { |
1792 | dasm_put(Dst, 11604); | 1792 | dasm_put(Dst, 11602); |
1793 | } | 1793 | } |
1794 | break; | 1794 | break; |
1795 | } | 1795 | } |
1796 | if (sse) { | 1796 | if (sse) { |
1797 | dasm_put(Dst, 11234); | 1797 | dasm_put(Dst, 11232); |
1798 | } else { | 1798 | } else { |
1799 | dasm_put(Dst, 11246); | 1799 | dasm_put(Dst, 11244); |
1800 | } | 1800 | } |
1801 | dasm_put(Dst, 10816); | 1801 | dasm_put(Dst, 10814); |
1802 | break; | 1802 | break; |
1803 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 1803 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1804 | dasm_put(Dst, 11360); | 1804 | dasm_put(Dst, 11358); |
1805 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1805 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1806 | switch (vk) { | 1806 | switch (vk) { |
1807 | case 0: | 1807 | case 0: |
1808 | dasm_put(Dst, 11368, LJ_TISNUM); | 1808 | dasm_put(Dst, 11366, LJ_TISNUM); |
1809 | if (sse) { | 1809 | if (sse) { |
1810 | dasm_put(Dst, 11612); | 1810 | dasm_put(Dst, 11610); |
1811 | } else { | 1811 | } else { |
1812 | dasm_put(Dst, 11626); | 1812 | dasm_put(Dst, 11624); |
1813 | } | 1813 | } |
1814 | break; | 1814 | break; |
1815 | case 1: | 1815 | case 1: |
1816 | dasm_put(Dst, 11402, LJ_TISNUM); | 1816 | dasm_put(Dst, 11400, LJ_TISNUM); |
1817 | if (sse) { | 1817 | if (sse) { |
1818 | dasm_put(Dst, 11634); | 1818 | dasm_put(Dst, 11632); |
1819 | } else { | 1819 | } else { |
1820 | dasm_put(Dst, 11648); | 1820 | dasm_put(Dst, 11646); |
1821 | } | 1821 | } |
1822 | break; | 1822 | break; |
1823 | default: | 1823 | default: |
1824 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1824 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1825 | if (sse) { | 1825 | if (sse) { |
1826 | dasm_put(Dst, 11656); | 1826 | dasm_put(Dst, 11654); |
1827 | } else { | 1827 | } else { |
1828 | dasm_put(Dst, 11670); | 1828 | dasm_put(Dst, 11668); |
1829 | } | 1829 | } |
1830 | break; | 1830 | break; |
1831 | } | 1831 | } |
1832 | if (sse) { | 1832 | if (sse) { |
1833 | dasm_put(Dst, 11234); | 1833 | dasm_put(Dst, 11232); |
1834 | } else { | 1834 | } else { |
1835 | dasm_put(Dst, 11246); | 1835 | dasm_put(Dst, 11244); |
1836 | } | 1836 | } |
1837 | dasm_put(Dst, 10816); | 1837 | dasm_put(Dst, 10814); |
1838 | break; | 1838 | break; |
1839 | case BC_MODVN: | 1839 | case BC_MODVN: |
1840 | dasm_put(Dst, 11360); | 1840 | dasm_put(Dst, 11358); |
1841 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1841 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1842 | switch (vk) { | 1842 | switch (vk) { |
1843 | case 0: | 1843 | case 0: |
1844 | dasm_put(Dst, 11368, LJ_TISNUM); | 1844 | dasm_put(Dst, 11366, LJ_TISNUM); |
1845 | if (sse) { | 1845 | if (sse) { |
1846 | dasm_put(Dst, 11678); | 1846 | dasm_put(Dst, 11676); |
1847 | } else { | 1847 | } else { |
1848 | dasm_put(Dst, 11692); | 1848 | dasm_put(Dst, 11690); |
1849 | } | 1849 | } |
1850 | break; | 1850 | break; |
1851 | case 1: | 1851 | case 1: |
1852 | dasm_put(Dst, 11402, LJ_TISNUM); | 1852 | dasm_put(Dst, 11400, LJ_TISNUM); |
1853 | if (sse) { | 1853 | if (sse) { |
1854 | dasm_put(Dst, 11700); | 1854 | dasm_put(Dst, 11698); |
1855 | } else { | 1855 | } else { |
1856 | dasm_put(Dst, 11714); | 1856 | dasm_put(Dst, 11712); |
1857 | } | 1857 | } |
1858 | break; | 1858 | break; |
1859 | default: | 1859 | default: |
1860 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1860 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1861 | if (sse) { | 1861 | if (sse) { |
1862 | dasm_put(Dst, 11722); | 1862 | dasm_put(Dst, 11720); |
1863 | } else { | 1863 | } else { |
1864 | dasm_put(Dst, 11736); | 1864 | dasm_put(Dst, 11734); |
1865 | } | 1865 | } |
1866 | break; | 1866 | break; |
1867 | } | 1867 | } |
1868 | dasm_put(Dst, 11744); | 1868 | dasm_put(Dst, 11742); |
1869 | if (sse) { | 1869 | if (sse) { |
1870 | dasm_put(Dst, 11234); | 1870 | dasm_put(Dst, 11232); |
1871 | } else { | 1871 | } else { |
1872 | dasm_put(Dst, 11246); | 1872 | dasm_put(Dst, 11244); |
1873 | } | 1873 | } |
1874 | dasm_put(Dst, 10816); | 1874 | dasm_put(Dst, 10814); |
1875 | break; | 1875 | break; |
1876 | case BC_MODNV: case BC_MODVV: | 1876 | case BC_MODNV: case BC_MODVV: |
1877 | dasm_put(Dst, 11360); | 1877 | dasm_put(Dst, 11358); |
1878 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1878 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1879 | switch (vk) { | 1879 | switch (vk) { |
1880 | case 0: | 1880 | case 0: |
1881 | dasm_put(Dst, 11368, LJ_TISNUM); | 1881 | dasm_put(Dst, 11366, LJ_TISNUM); |
1882 | if (sse) { | 1882 | if (sse) { |
1883 | dasm_put(Dst, 11678); | 1883 | dasm_put(Dst, 11676); |
1884 | } else { | 1884 | } else { |
1885 | dasm_put(Dst, 11692); | 1885 | dasm_put(Dst, 11690); |
1886 | } | 1886 | } |
1887 | break; | 1887 | break; |
1888 | case 1: | 1888 | case 1: |
1889 | dasm_put(Dst, 11402, LJ_TISNUM); | 1889 | dasm_put(Dst, 11400, LJ_TISNUM); |
1890 | if (sse) { | 1890 | if (sse) { |
1891 | dasm_put(Dst, 11700); | 1891 | dasm_put(Dst, 11698); |
1892 | } else { | 1892 | } else { |
1893 | dasm_put(Dst, 11714); | 1893 | dasm_put(Dst, 11712); |
1894 | } | 1894 | } |
1895 | break; | 1895 | break; |
1896 | default: | 1896 | default: |
1897 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1897 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1898 | if (sse) { | 1898 | if (sse) { |
1899 | dasm_put(Dst, 11722); | 1899 | dasm_put(Dst, 11720); |
1900 | } else { | 1900 | } else { |
1901 | dasm_put(Dst, 11736); | 1901 | dasm_put(Dst, 11734); |
1902 | } | 1902 | } |
1903 | break; | 1903 | break; |
1904 | } | 1904 | } |
1905 | dasm_put(Dst, 11750); | 1905 | dasm_put(Dst, 11748); |
1906 | break; | 1906 | break; |
1907 | case BC_POW: | 1907 | case BC_POW: |
1908 | dasm_put(Dst, 11360); | 1908 | dasm_put(Dst, 11358); |
1909 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1909 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1910 | switch (vk) { | 1910 | switch (vk) { |
1911 | case 0: | 1911 | case 0: |
1912 | dasm_put(Dst, 11368, LJ_TISNUM); | 1912 | dasm_put(Dst, 11366, LJ_TISNUM); |
1913 | if (sse) { | 1913 | if (sse) { |
1914 | dasm_put(Dst, 11678); | 1914 | dasm_put(Dst, 11676); |
1915 | } else { | 1915 | } else { |
1916 | dasm_put(Dst, 11692); | 1916 | dasm_put(Dst, 11690); |
1917 | } | 1917 | } |
1918 | break; | 1918 | break; |
1919 | case 1: | 1919 | case 1: |
1920 | dasm_put(Dst, 11402, LJ_TISNUM); | 1920 | dasm_put(Dst, 11400, LJ_TISNUM); |
1921 | if (sse) { | 1921 | if (sse) { |
1922 | dasm_put(Dst, 11700); | 1922 | dasm_put(Dst, 11698); |
1923 | } else { | 1923 | } else { |
1924 | dasm_put(Dst, 11714); | 1924 | dasm_put(Dst, 11712); |
1925 | } | 1925 | } |
1926 | break; | 1926 | break; |
1927 | default: | 1927 | default: |
1928 | dasm_put(Dst, 11436, LJ_TISNUM, LJ_TISNUM); | 1928 | dasm_put(Dst, 11434, LJ_TISNUM, LJ_TISNUM); |
1929 | if (sse) { | 1929 | if (sse) { |
1930 | dasm_put(Dst, 11722); | 1930 | dasm_put(Dst, 11720); |
1931 | } else { | 1931 | } else { |
1932 | dasm_put(Dst, 11736); | 1932 | dasm_put(Dst, 11734); |
1933 | } | 1933 | } |
1934 | break; | 1934 | break; |
1935 | } | 1935 | } |
1936 | dasm_put(Dst, 11755); | 1936 | dasm_put(Dst, 11753); |
1937 | if (sse) { | 1937 | if (sse) { |
1938 | dasm_put(Dst, 11234); | 1938 | dasm_put(Dst, 11232); |
1939 | } else { | 1939 | } else { |
1940 | dasm_put(Dst, 11246); | 1940 | dasm_put(Dst, 11244); |
1941 | } | 1941 | } |
1942 | dasm_put(Dst, 10816); | 1942 | dasm_put(Dst, 10814); |
1943 | break; | 1943 | break; |
1944 | 1944 | ||
1945 | case BC_CAT: | 1945 | case BC_CAT: |
1946 | dasm_put(Dst, 11759, Dt1(->base), Dt1(->base)); | 1946 | dasm_put(Dst, 11757, Dt1(->base), Dt1(->base)); |
1947 | break; | 1947 | break; |
1948 | 1948 | ||
1949 | /* -- Constant ops ------------------------------------------------------ */ | 1949 | /* -- Constant ops ------------------------------------------------------ */ |
1950 | 1950 | ||
1951 | case BC_KSTR: | 1951 | case BC_KSTR: |
1952 | dasm_put(Dst, 11853, LJ_TSTR); | 1952 | dasm_put(Dst, 11851, LJ_TSTR); |
1953 | break; | 1953 | break; |
1954 | case BC_KSHORT: | 1954 | case BC_KSHORT: |
1955 | if (sse) { | 1955 | if (sse) { |
1956 | dasm_put(Dst, 11886); | 1956 | dasm_put(Dst, 11884); |
1957 | } else { | 1957 | } else { |
1958 | dasm_put(Dst, 11901); | 1958 | dasm_put(Dst, 11899); |
1959 | } | 1959 | } |
1960 | dasm_put(Dst, 10816); | 1960 | dasm_put(Dst, 10814); |
1961 | break; | 1961 | break; |
1962 | case BC_KNUM: | 1962 | case BC_KNUM: |
1963 | if (sse) { | 1963 | if (sse) { |
1964 | dasm_put(Dst, 11909); | 1964 | dasm_put(Dst, 11907); |
1965 | } else { | 1965 | } else { |
1966 | dasm_put(Dst, 11922); | 1966 | dasm_put(Dst, 11920); |
1967 | } | 1967 | } |
1968 | dasm_put(Dst, 10816); | 1968 | dasm_put(Dst, 10814); |
1969 | break; | 1969 | break; |
1970 | case BC_KPRI: | 1970 | case BC_KPRI: |
1971 | dasm_put(Dst, 11929); | 1971 | dasm_put(Dst, 11927); |
1972 | break; | 1972 | break; |
1973 | case BC_KNIL: | 1973 | case BC_KNIL: |
1974 | dasm_put(Dst, 11955, LJ_TNIL); | 1974 | dasm_put(Dst, 11953, LJ_TNIL); |
1975 | break; | 1975 | break; |
1976 | 1976 | ||
1977 | /* -- Upvalue and function ops ------------------------------------------ */ | 1977 | /* -- Upvalue and function ops ------------------------------------------ */ |
1978 | 1978 | ||
1979 | case BC_UGET: | 1979 | case BC_UGET: |
1980 | dasm_put(Dst, 12001, offsetof(GCfuncL, uvptr), DtA(->v)); | 1980 | dasm_put(Dst, 11999, offsetof(GCfuncL, uvptr), DtA(->v)); |
1981 | break; | 1981 | break; |
1982 | case BC_USETV: | 1982 | case BC_USETV: |
1983 | #define TV2MARKOFS \ | 1983 | #define TV2MARKOFS \ |
1984 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 1984 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1985 | dasm_put(Dst, 12045, 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); | 1985 | dasm_put(Dst, 12043, 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); |
1986 | dasm_put(Dst, 12135); | 1986 | dasm_put(Dst, 12133); |
1987 | break; | 1987 | break; |
1988 | #undef TV2MARKOFS | 1988 | #undef TV2MARKOFS |
1989 | case BC_USETS: | 1989 | case BC_USETS: |
1990 | dasm_put(Dst, 12147, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 1990 | dasm_put(Dst, 12145, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); |
1991 | break; | 1991 | break; |
1992 | case BC_USETN: | 1992 | case BC_USETN: |
1993 | dasm_put(Dst, 12238); | 1993 | dasm_put(Dst, 12236); |
1994 | if (sse) { | 1994 | if (sse) { |
1995 | dasm_put(Dst, 12243); | 1995 | dasm_put(Dst, 12241); |
1996 | } else { | 1996 | } else { |
1997 | dasm_put(Dst, 11053); | 1997 | dasm_put(Dst, 11051); |
1998 | } | 1998 | } |
1999 | dasm_put(Dst, 12250, offsetof(GCfuncL, uvptr), DtA(->v)); | 1999 | dasm_put(Dst, 12248, offsetof(GCfuncL, uvptr), DtA(->v)); |
2000 | if (sse) { | 2000 | if (sse) { |
2001 | dasm_put(Dst, 12259); | 2001 | dasm_put(Dst, 12257); |
2002 | } else { | 2002 | } else { |
2003 | dasm_put(Dst, 12265); | 2003 | dasm_put(Dst, 12263); |
2004 | } | 2004 | } |
2005 | dasm_put(Dst, 10816); | 2005 | dasm_put(Dst, 10814); |
2006 | break; | 2006 | break; |
2007 | case BC_USETP: | 2007 | case BC_USETP: |
2008 | dasm_put(Dst, 12268, offsetof(GCfuncL, uvptr), DtA(->v)); | 2008 | dasm_put(Dst, 12266, offsetof(GCfuncL, uvptr), DtA(->v)); |
2009 | break; | 2009 | break; |
2010 | case BC_UCLO: | 2010 | case BC_UCLO: |
2011 | dasm_put(Dst, 12305, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 2011 | dasm_put(Dst, 12303, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
2012 | break; | 2012 | break; |
2013 | 2013 | ||
2014 | case BC_FNEW: | 2014 | case BC_FNEW: |
2015 | dasm_put(Dst, 12359, Dt1(->base), Dt1(->base), LJ_TFUNC); | 2015 | dasm_put(Dst, 12357, Dt1(->base), Dt1(->base), LJ_TFUNC); |
2016 | break; | 2016 | break; |
2017 | 2017 | ||
2018 | /* -- Table ops --------------------------------------------------------- */ | 2018 | /* -- Table ops --------------------------------------------------------- */ |
2019 | 2019 | ||
2020 | case BC_TNEW: | 2020 | case BC_TNEW: |
2021 | dasm_put(Dst, 12430, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2021 | dasm_put(Dst, 12428, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2022 | break; | 2022 | break; |
2023 | case BC_TDUP: | 2023 | case BC_TDUP: |
2024 | dasm_put(Dst, 12551, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 2024 | dasm_put(Dst, 12549, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
2025 | break; | 2025 | break; |
2026 | 2026 | ||
2027 | case BC_GGET: | 2027 | case BC_GGET: |
2028 | dasm_put(Dst, 12643, Dt7(->env)); | 2028 | dasm_put(Dst, 12641, Dt7(->env)); |
2029 | break; | 2029 | break; |
2030 | case BC_GSET: | 2030 | case BC_GSET: |
2031 | dasm_put(Dst, 12661, Dt7(->env)); | 2031 | dasm_put(Dst, 12659, Dt7(->env)); |
2032 | break; | 2032 | break; |
2033 | 2033 | ||
2034 | case BC_TGETV: | 2034 | case BC_TGETV: |
2035 | dasm_put(Dst, 12679, LJ_TTAB, LJ_TISNUM); | 2035 | dasm_put(Dst, 12677, LJ_TTAB, LJ_TISNUM); |
2036 | if (sse) { | 2036 | if (sse) { |
2037 | dasm_put(Dst, 12712); | 2037 | dasm_put(Dst, 12710); |
2038 | } else { | 2038 | } else { |
2039 | dasm_put(Dst, 12733); | 2039 | dasm_put(Dst, 12731); |
2040 | if (cmov) { | 2040 | if (cmov) { |
2041 | dasm_put(Dst, 10779); | 2041 | dasm_put(Dst, 10777); |
2042 | } else { | 2042 | } else { |
2043 | dasm_put(Dst, 10785); | 2043 | dasm_put(Dst, 10783); |
2044 | } | 2044 | } |
2045 | dasm_put(Dst, 2524); | 2045 | dasm_put(Dst, 2524); |
2046 | } | 2046 | } |
2047 | dasm_put(Dst, 12743, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2047 | dasm_put(Dst, 12741, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2048 | dasm_put(Dst, 12835, LJ_TSTR); | 2048 | dasm_put(Dst, 12833, LJ_TSTR); |
2049 | break; | 2049 | break; |
2050 | case BC_TGETS: | 2050 | case BC_TGETS: |
2051 | dasm_put(Dst, 12853, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2051 | dasm_put(Dst, 12851, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2052 | dasm_put(Dst, 12937, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2052 | dasm_put(Dst, 12935, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2053 | break; | 2053 | break; |
2054 | case BC_TGETB: | 2054 | case BC_TGETB: |
2055 | dasm_put(Dst, 13008, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 2055 | dasm_put(Dst, 13006, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
2056 | dasm_put(Dst, 11350); | 2056 | dasm_put(Dst, 11348); |
2057 | break; | 2057 | break; |
2058 | 2058 | ||
2059 | case BC_TSETV: | 2059 | case BC_TSETV: |
2060 | dasm_put(Dst, 13107, LJ_TTAB, LJ_TISNUM); | 2060 | dasm_put(Dst, 13105, LJ_TTAB, LJ_TISNUM); |
2061 | if (sse) { | 2061 | if (sse) { |
2062 | dasm_put(Dst, 12712); | 2062 | dasm_put(Dst, 12710); |
2063 | } else { | 2063 | } else { |
2064 | dasm_put(Dst, 12733); | 2064 | dasm_put(Dst, 12731); |
2065 | if (cmov) { | 2065 | if (cmov) { |
2066 | dasm_put(Dst, 10779); | 2066 | dasm_put(Dst, 10777); |
2067 | } else { | 2067 | } else { |
2068 | dasm_put(Dst, 10785); | 2068 | dasm_put(Dst, 10783); |
2069 | } | 2069 | } |
2070 | dasm_put(Dst, 2524); | 2070 | dasm_put(Dst, 2524); |
2071 | } | 2071 | } |
2072 | dasm_put(Dst, 13140, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 2072 | dasm_put(Dst, 13138, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
2073 | dasm_put(Dst, 13223, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2073 | dasm_put(Dst, 13221, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2074 | break; | 2074 | break; |
2075 | case BC_TSETS: | 2075 | case BC_TSETS: |
2076 | dasm_put(Dst, 13285, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 2076 | dasm_put(Dst, 13283, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
2077 | dasm_put(Dst, 13360, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 2077 | dasm_put(Dst, 13358, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
2078 | dasm_put(Dst, 13452, 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)); | 2078 | dasm_put(Dst, 13450, 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)); |
2079 | break; | 2079 | break; |
2080 | case BC_TSETB: | 2080 | case BC_TSETB: |
2081 | dasm_put(Dst, 13548, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 2081 | dasm_put(Dst, 13546, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
2082 | dasm_put(Dst, 13646, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 2082 | dasm_put(Dst, 13644, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
2083 | break; | 2083 | break; |
2084 | 2084 | ||
2085 | case BC_TSETM: | 2085 | case BC_TSETM: |
2086 | dasm_put(Dst, 13692); | 2086 | dasm_put(Dst, 13690); |
2087 | if (sse) { | 2087 | if (sse) { |
2088 | dasm_put(Dst, 12243); | 2088 | dasm_put(Dst, 12241); |
2089 | } else { | 2089 | } else { |
2090 | dasm_put(Dst, 13697); | 2090 | dasm_put(Dst, 13695); |
2091 | } | 2091 | } |
2092 | dasm_put(Dst, 13705, Dt6(->marked), LJ_GC_BLACK); | 2092 | dasm_put(Dst, 13703, Dt6(->marked), LJ_GC_BLACK); |
2093 | if (sse) { | 2093 | if (sse) { |
2094 | dasm_put(Dst, 13730); | 2094 | dasm_put(Dst, 13728); |
2095 | } else { | 2095 | } else { |
2096 | dasm_put(Dst, 13737); | 2096 | dasm_put(Dst, 13735); |
2097 | } | 2097 | } |
2098 | dasm_put(Dst, 13742, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); | 2098 | dasm_put(Dst, 13740, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base), Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain)); |
2099 | dasm_put(Dst, 13870, Dt6(->gclist)); | 2099 | dasm_put(Dst, 13868, Dt6(->gclist)); |
2100 | break; | 2100 | break; |
2101 | 2101 | ||
2102 | /* -- Calls and vararg handling ----------------------------------------- */ | 2102 | /* -- Calls and vararg handling ----------------------------------------- */ |
2103 | 2103 | ||
2104 | case BC_CALL: case BC_CALLM: | 2104 | case BC_CALL: case BC_CALLM: |
2105 | dasm_put(Dst, 11364); | 2105 | dasm_put(Dst, 11362); |
2106 | if (op == BC_CALLM) { | 2106 | if (op == BC_CALLM) { |
2107 | dasm_put(Dst, 13878); | 2107 | dasm_put(Dst, 13876); |
2108 | } | 2108 | } |
2109 | dasm_put(Dst, 13883, LJ_TFUNC, Dt7(->pc)); | 2109 | dasm_put(Dst, 13881, LJ_TFUNC, Dt7(->pc)); |
2110 | break; | 2110 | break; |
2111 | 2111 | ||
2112 | case BC_CALLMT: | 2112 | case BC_CALLMT: |
2113 | dasm_put(Dst, 13878); | 2113 | dasm_put(Dst, 13876); |
2114 | break; | 2114 | break; |
2115 | case BC_CALLT: | 2115 | case BC_CALLT: |
2116 | dasm_put(Dst, 13924, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 2116 | dasm_put(Dst, 13922, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
2117 | dasm_put(Dst, 14042, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); | 2117 | dasm_put(Dst, 14040, FRAME_TYPE, Dt7(->pc), PC2PROTO(k)); |
2118 | break; | 2118 | break; |
2119 | 2119 | ||
2120 | case BC_ITERC: | 2120 | case BC_ITERC: |
2121 | dasm_put(Dst, 14099, LJ_TFUNC, 2+1, Dt7(->pc)); | 2121 | dasm_put(Dst, 14097, LJ_TFUNC, 2+1, Dt7(->pc)); |
2122 | break; | 2122 | break; |
2123 | 2123 | ||
2124 | case BC_VARG: | 2124 | case BC_VARG: |
2125 | dasm_put(Dst, 14179, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 2125 | dasm_put(Dst, 14177, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
2126 | dasm_put(Dst, 14323, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2126 | dasm_put(Dst, 14321, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
2127 | break; | 2127 | break; |
2128 | 2128 | ||
2129 | /* -- Returns ----------------------------------------------------------- */ | 2129 | /* -- Returns ----------------------------------------------------------- */ |
2130 | 2130 | ||
2131 | case BC_RETM: | 2131 | case BC_RETM: |
2132 | dasm_put(Dst, 13878); | 2132 | dasm_put(Dst, 13876); |
2133 | break; | 2133 | break; |
2134 | 2134 | ||
2135 | case BC_RET: case BC_RET0: case BC_RET1: | 2135 | case BC_RET: case BC_RET0: case BC_RET1: |
2136 | if (op != BC_RET0) { | 2136 | if (op != BC_RET0) { |
2137 | dasm_put(Dst, 14422); | 2137 | dasm_put(Dst, 14420); |
2138 | } | 2138 | } |
2139 | dasm_put(Dst, 14426, FRAME_TYPE); | 2139 | dasm_put(Dst, 14424, FRAME_TYPE); |
2140 | switch (op) { | 2140 | switch (op) { |
2141 | case BC_RET: | 2141 | case BC_RET: |
2142 | dasm_put(Dst, 14445); | 2142 | dasm_put(Dst, 14443); |
2143 | break; | 2143 | break; |
2144 | case BC_RET1: | 2144 | case BC_RET1: |
2145 | dasm_put(Dst, 14503); | 2145 | dasm_put(Dst, 14501); |
2146 | /* fallthrough */ | 2146 | /* fallthrough */ |
2147 | case BC_RET0: | 2147 | case BC_RET0: |
2148 | dasm_put(Dst, 14519); | 2148 | dasm_put(Dst, 14517); |
2149 | default: | 2149 | default: |
2150 | break; | 2150 | break; |
2151 | } | 2151 | } |
2152 | dasm_put(Dst, 14530, Dt7(->pc), PC2PROTO(k)); | 2152 | dasm_put(Dst, 14528, Dt7(->pc), PC2PROTO(k)); |
2153 | if (op == BC_RET) { | 2153 | if (op == BC_RET) { |
2154 | dasm_put(Dst, 14572, LJ_TNIL); | 2154 | dasm_put(Dst, 14570, LJ_TNIL); |
2155 | } else { | 2155 | } else { |
2156 | dasm_put(Dst, 14581, LJ_TNIL); | 2156 | dasm_put(Dst, 14579, LJ_TNIL); |
2157 | } | 2157 | } |
2158 | dasm_put(Dst, 14588); | 2158 | dasm_put(Dst, 14586); |
2159 | if (op != BC_RET0) { | 2159 | if (op != BC_RET0) { |
2160 | dasm_put(Dst, 14609); | 2160 | dasm_put(Dst, 14607); |
2161 | } | 2161 | } |
2162 | dasm_put(Dst, 4680); | 2162 | dasm_put(Dst, 4680); |
2163 | break; | 2163 | break; |
@@ -2167,7 +2167,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2167 | 2167 | ||
2168 | case BC_FORL: | 2168 | case BC_FORL: |
2169 | #if LJ_HASJIT | 2169 | #if LJ_HASJIT |
2170 | dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2170 | dasm_put(Dst, 14611, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2171 | #endif | 2171 | #endif |
2172 | break; | 2172 | break; |
2173 | 2173 | ||
@@ -2179,57 +2179,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2179 | case BC_FORI: | 2179 | case BC_FORI: |
2180 | case BC_IFORL: | 2180 | case BC_IFORL: |
2181 | vk = (op == BC_IFORL || op == BC_JFORL); | 2181 | vk = (op == BC_IFORL || op == BC_JFORL); |
2182 | dasm_put(Dst, 14634); | 2182 | dasm_put(Dst, 14632); |
2183 | if (!vk) { | 2183 | if (!vk) { |
2184 | dasm_put(Dst, 14638, LJ_TISNUM, LJ_TISNUM); | 2184 | dasm_put(Dst, 14636, LJ_TISNUM, LJ_TISNUM); |
2185 | } | 2185 | } |
2186 | dasm_put(Dst, 14657); | 2186 | dasm_put(Dst, 14655); |
2187 | if (!vk) { | 2187 | if (!vk) { |
2188 | dasm_put(Dst, 14661, LJ_TISNUM); | 2188 | dasm_put(Dst, 14659, LJ_TISNUM); |
2189 | } | 2189 | } |
2190 | if (sse) { | 2190 | if (sse) { |
2191 | dasm_put(Dst, 14670); | 2191 | dasm_put(Dst, 14668); |
2192 | if (vk) { | 2192 | if (vk) { |
2193 | dasm_put(Dst, 14682); | 2193 | dasm_put(Dst, 14680); |
2194 | } else { | 2194 | } else { |
2195 | dasm_put(Dst, 14701); | 2195 | dasm_put(Dst, 14699); |
2196 | } | 2196 | } |
2197 | dasm_put(Dst, 14706); | 2197 | dasm_put(Dst, 14704); |
2198 | } else { | 2198 | } else { |
2199 | dasm_put(Dst, 14719); | 2199 | dasm_put(Dst, 14717); |
2200 | if (vk) { | 2200 | if (vk) { |
2201 | dasm_put(Dst, 14725); | 2201 | dasm_put(Dst, 14723); |
2202 | } else { | 2202 | } else { |
2203 | dasm_put(Dst, 14741); | 2203 | dasm_put(Dst, 14739); |
2204 | } | 2204 | } |
2205 | dasm_put(Dst, 14749); | 2205 | dasm_put(Dst, 14747); |
2206 | if (cmov) { | 2206 | if (cmov) { |
2207 | dasm_put(Dst, 10779); | 2207 | dasm_put(Dst, 10777); |
2208 | } else { | 2208 | } else { |
2209 | dasm_put(Dst, 10785); | 2209 | dasm_put(Dst, 10783); |
2210 | } | 2210 | } |
2211 | if (!cmov) { | 2211 | if (!cmov) { |
2212 | dasm_put(Dst, 14754); | 2212 | dasm_put(Dst, 14752); |
2213 | } | 2213 | } |
2214 | } | 2214 | } |
2215 | if (op == BC_FORI) { | 2215 | if (op == BC_FORI) { |
2216 | dasm_put(Dst, 14760, -BCBIAS_J*4); | 2216 | dasm_put(Dst, 14758, -BCBIAS_J*4); |
2217 | } else if (op == BC_JFORI) { | 2217 | } else if (op == BC_JFORI) { |
2218 | dasm_put(Dst, 14770, -BCBIAS_J*4, BC_JLOOP); | 2218 | dasm_put(Dst, 14768, -BCBIAS_J*4, BC_JLOOP); |
2219 | } else if (op == BC_IFORL) { | 2219 | } else if (op == BC_IFORL) { |
2220 | dasm_put(Dst, 14784, -BCBIAS_J*4); | 2220 | dasm_put(Dst, 14782, -BCBIAS_J*4); |
2221 | } else { | 2221 | } else { |
2222 | dasm_put(Dst, 14780, BC_JLOOP); | 2222 | dasm_put(Dst, 14778, BC_JLOOP); |
2223 | } | 2223 | } |
2224 | dasm_put(Dst, 10814); | 2224 | dasm_put(Dst, 10812); |
2225 | if (sse) { | 2225 | if (sse) { |
2226 | dasm_put(Dst, 14794); | 2226 | dasm_put(Dst, 14792); |
2227 | } | 2227 | } |
2228 | break; | 2228 | break; |
2229 | 2229 | ||
2230 | case BC_ITERL: | 2230 | case BC_ITERL: |
2231 | #if LJ_HASJIT | 2231 | #if LJ_HASJIT |
2232 | dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2232 | dasm_put(Dst, 14611, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2233 | #endif | 2233 | #endif |
2234 | break; | 2234 | break; |
2235 | 2235 | ||
@@ -2238,33 +2238,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2238 | break; | 2238 | break; |
2239 | #endif | 2239 | #endif |
2240 | case BC_IITERL: | 2240 | case BC_IITERL: |
2241 | dasm_put(Dst, 14805, LJ_TNIL); | 2241 | dasm_put(Dst, 14803, LJ_TNIL); |
2242 | if (op == BC_JITERL) { | 2242 | if (op == BC_JITERL) { |
2243 | dasm_put(Dst, 14820, BC_JLOOP); | 2243 | dasm_put(Dst, 14818, BC_JLOOP); |
2244 | } else { | 2244 | } else { |
2245 | dasm_put(Dst, 14834, -BCBIAS_J*4); | 2245 | dasm_put(Dst, 14832, -BCBIAS_J*4); |
2246 | } | 2246 | } |
2247 | dasm_put(Dst, 11111); | 2247 | dasm_put(Dst, 11109); |
2248 | break; | 2248 | break; |
2249 | 2249 | ||
2250 | case BC_LOOP: | 2250 | case BC_LOOP: |
2251 | #if LJ_HASJIT | 2251 | #if LJ_HASJIT |
2252 | dasm_put(Dst, 14613, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2252 | dasm_put(Dst, 14611, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2253 | #endif | 2253 | #endif |
2254 | break; | 2254 | break; |
2255 | 2255 | ||
2256 | case BC_ILOOP: | 2256 | case BC_ILOOP: |
2257 | dasm_put(Dst, 10816); | 2257 | dasm_put(Dst, 10814); |
2258 | break; | 2258 | break; |
2259 | 2259 | ||
2260 | case BC_JLOOP: | 2260 | case BC_JLOOP: |
2261 | #if LJ_HASJIT | 2261 | #if LJ_HASJIT |
2262 | dasm_put(Dst, 14850, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 2262 | dasm_put(Dst, 14848, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
2263 | #endif | 2263 | #endif |
2264 | break; | 2264 | break; |
2265 | 2265 | ||
2266 | case BC_JMP: | 2266 | case BC_JMP: |
2267 | dasm_put(Dst, 14873, -BCBIAS_J*4); | 2267 | dasm_put(Dst, 14871, -BCBIAS_J*4); |
2268 | break; | 2268 | break; |
2269 | 2269 | ||
2270 | /* -- Function headers -------------------------------------------------- */ | 2270 | /* -- Function headers -------------------------------------------------- */ |
@@ -2287,47 +2287,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2287 | break; | 2287 | break; |
2288 | #endif | 2288 | #endif |
2289 | case BC_IFUNCF: | 2289 | case BC_IFUNCF: |
2290 | dasm_put(Dst, 14897, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2290 | dasm_put(Dst, 14895, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2291 | if (op == BC_JFUNCF) { | 2291 | if (op == BC_JFUNCF) { |
2292 | dasm_put(Dst, 14927, BC_JLOOP); | 2292 | dasm_put(Dst, 14925, BC_JLOOP); |
2293 | } else { | 2293 | } else { |
2294 | dasm_put(Dst, 10816); | 2294 | dasm_put(Dst, 10814); |
2295 | } | 2295 | } |
2296 | dasm_put(Dst, 14936, LJ_TNIL); | 2296 | dasm_put(Dst, 14934, LJ_TNIL); |
2297 | break; | 2297 | break; |
2298 | 2298 | ||
2299 | case BC_JFUNCV: | 2299 | case BC_JFUNCV: |
2300 | #if !LJ_HASJIT | 2300 | #if !LJ_HASJIT |
2301 | break; | 2301 | break; |
2302 | #endif | 2302 | #endif |
2303 | dasm_put(Dst, 10477); | 2303 | dasm_put(Dst, 10475); |
2304 | break; /* NYI: compiled vararg functions. */ | 2304 | break; /* NYI: compiled vararg functions. */ |
2305 | 2305 | ||
2306 | case BC_IFUNCV: | 2306 | case BC_IFUNCV: |
2307 | dasm_put(Dst, 14958, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2307 | dasm_put(Dst, 14956, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2308 | if (op == BC_JFUNCV) { | 2308 | if (op == BC_JFUNCV) { |
2309 | dasm_put(Dst, 14927, BC_JLOOP); | 2309 | dasm_put(Dst, 14925, BC_JLOOP); |
2310 | } else { | 2310 | } else { |
2311 | dasm_put(Dst, 15049, -4+PC2PROTO(k)); | 2311 | dasm_put(Dst, 15047, -4+PC2PROTO(k)); |
2312 | } | 2312 | } |
2313 | dasm_put(Dst, 15071, LJ_TNIL); | 2313 | dasm_put(Dst, 15069, LJ_TNIL); |
2314 | break; | 2314 | break; |
2315 | 2315 | ||
2316 | case BC_FUNCC: | 2316 | case BC_FUNCC: |
2317 | case BC_FUNCCW: | 2317 | case BC_FUNCCW: |
2318 | dasm_put(Dst, 15093, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2318 | dasm_put(Dst, 15091, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2319 | if (op == BC_FUNCC) { | 2319 | if (op == BC_FUNCC) { |
2320 | dasm_put(Dst, 15122); | 2320 | dasm_put(Dst, 15120); |
2321 | } else { | 2321 | } else { |
2322 | dasm_put(Dst, 15126); | 2322 | dasm_put(Dst, 15124); |
2323 | } | 2323 | } |
2324 | dasm_put(Dst, 15134, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2324 | dasm_put(Dst, 15132, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2325 | if (op == BC_FUNCC) { | 2325 | if (op == BC_FUNCC) { |
2326 | dasm_put(Dst, 15143); | 2326 | dasm_put(Dst, 15141); |
2327 | } else { | 2327 | } else { |
2328 | dasm_put(Dst, 15147, DISPATCH_GL(wrapf)); | 2328 | dasm_put(Dst, 15145, DISPATCH_GL(wrapf)); |
2329 | } | 2329 | } |
2330 | dasm_put(Dst, 15152, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2330 | dasm_put(Dst, 15150, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2331 | break; | 2331 | break; |
2332 | 2332 | ||
2333 | /* ---------------------------------------------------------------------- */ | 2333 | /* ---------------------------------------------------------------------- */ |
@@ -2355,7 +2355,7 @@ static int build_backend(BuildCtx *ctx) | |||
2355 | 2355 | ||
2356 | build_subroutines(ctx, cmov, sse); | 2356 | build_subroutines(ctx, cmov, sse); |
2357 | 2357 | ||
2358 | dasm_put(Dst, 15177); | 2358 | dasm_put(Dst, 15175); |
2359 | for (op = 0; op < BC__MAX; op++) | 2359 | for (op = 0; op < BC__MAX; op++) |
2360 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2360 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2361 | 2361 | ||
diff --git a/src/lj_frame.h b/src/lj_frame.h index 0d7b177b..089b24f6 100644 --- a/src/lj_frame.h +++ b/src/lj_frame.h | |||
@@ -77,10 +77,10 @@ enum { | |||
77 | #define CFRAME_SIZE (10*8) | 77 | #define CFRAME_SIZE (10*8) |
78 | #else | 78 | #else |
79 | #define CFRAME_OFS_PREV (4*8) | 79 | #define CFRAME_OFS_PREV (4*8) |
80 | #define CFRAME_OFS_PC (5*4) | 80 | #define CFRAME_OFS_PC (7*4) |
81 | #define CFRAME_OFS_L (4*4) | 81 | #define CFRAME_OFS_L (6*4) |
82 | #define CFRAME_OFS_ERRF (3*4) | 82 | #define CFRAME_OFS_ERRF (5*4) |
83 | #define CFRAME_OFS_NRES (2*4) | 83 | #define CFRAME_OFS_NRES (4*4) |
84 | #define CFRAME_OFS_MULTRES (1*4) | 84 | #define CFRAME_OFS_MULTRES (1*4) |
85 | #define CFRAME_SIZE (10*8) | 85 | #define CFRAME_SIZE (10*8) |
86 | #endif | 86 | #endif |
diff --git a/src/lj_target_x86.h b/src/lj_target_x86.h index 83eba0ec..65f829ac 100644 --- a/src/lj_target_x86.h +++ b/src/lj_target_x86.h | |||
@@ -118,10 +118,10 @@ enum { | |||
118 | */ | 118 | */ |
119 | #if LJ_64 | 119 | #if LJ_64 |
120 | #ifdef _WIN64 | 120 | #ifdef _WIN64 |
121 | #define SPS_FIXED (5*2) | 121 | #define SPS_FIXED (4*2) |
122 | #define SPS_FIRST (4*2) /* Don't use callee register save area. */ | 122 | #define SPS_FIRST (4*2) /* Don't use callee register save area. */ |
123 | #else | 123 | #else |
124 | #define SPS_FIXED 2 | 124 | #define SPS_FIXED 4 |
125 | #define SPS_FIRST 2 | 125 | #define SPS_FIRST 2 |
126 | #endif | 126 | #endif |
127 | #else | 127 | #else |