diff options
Diffstat (limited to 'src/buildvm_x64win.h')
-rw-r--r-- | src/buildvm_x64win.h | 1261 |
1 files changed, 632 insertions, 629 deletions
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h index 02423b7c..9198454a 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[14049] = { | 15 | static const unsigned char build_actionlist[14046] = { |
16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, | 16 | 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72, |
17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, | 17 | 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68, |
18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, | 18 | 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237, |
@@ -32,128 +32,128 @@ static const unsigned char build_actionlist[14049] = { | |||
32 | 237,252,233,244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252, | 32 | 237,252,233,244,248,248,22,131,232,8,252,233,244,247,248,23,141,68,194,252, |
33 | 248,248,1,15,182,142,233,131,198,4,137,149,233,137,133,233,255,137,116,36, | 33 | 248,248,1,15,182,142,233,131,198,4,137,149,233,137,133,233,255,137,116,36, |
34 | 100,137,202,248,2,137,252,233,232,251,1,0,139,149,233,139,133,233,139,106, | 34 | 100,137,202,248,2,137,252,233,232,251,1,0,139,149,233,139,133,233,139,106, |
35 | 252,248,139,114,252,252,41,208,193,232,3,131,192,1,139,181,233,139,14,15, | 35 | 252,248,41,208,193,232,3,131,192,1,139,181,233,139,14,15,182,252,233,15,182, |
36 | 182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,24,85,87,86,83,72, | 36 | 205,131,198,4,252,255,36,252,235,248,24,85,87,86,83,72,131,252,236,40,137, |
37 | 131,252,236,40,137,205,137,76,36,96,137,209,190,237,49,192,72,141,188,253, | 37 | 205,137,76,36,96,137,209,190,237,49,192,72,141,188,253,36,233,139,157,233, |
38 | 36,233,139,157,233,129,195,239,72,137,189,233,137,68,36,100,72,137,68,36, | 38 | 129,195,239,72,137,189,233,137,68,36,100,72,137,68,36,104,137,68,36,88,137, |
39 | 104,137,68,36,88,137,68,36,92,56,133,233,15,132,244,249,199,131,233,237,136, | 39 | 68,36,92,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233, |
40 | 133,233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,114, | 40 | 139,133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,84, |
41 | 252,252,137,68,36,84,252,247,198,237,15,132,244,13,255,252,233,244,14,248, | 41 | 252,247,198,237,15,132,244,13,255,252,233,244,14,248,25,85,87,86,83,72,131, |
42 | 25,85,87,86,83,72,131,252,236,40,190,237,68,137,76,36,92,252,233,244,247, | 42 | 252,236,40,190,237,68,137,76,36,92,252,233,244,247,248,26,85,87,86,83,72, |
43 | 248,26,85,87,86,83,72,131,252,236,40,190,237,248,1,68,137,68,36,88,137,205, | 43 | 131,252,236,40,190,237,248,1,68,137,68,36,88,137,205,137,76,36,96,137,209, |
44 | 137,76,36,96,137,209,72,139,189,233,72,137,124,36,104,137,108,36,100,72,137, | 44 | 72,139,189,233,72,137,124,36,104,137,108,36,100,72,137,165,233,248,2,139, |
45 | 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,1, | 45 | 157,233,129,195,239,248,3,199,131,233,237,139,149,233,1,206,41,214,139,133, |
46 | 206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,27,255,139,105,252, | 46 | 233,41,200,193,232,3,131,192,1,248,27,255,139,105,252,248,129,121,253,252, |
47 | 248,129,121,253,252,252,239,15,133,244,28,248,29,137,202,137,114,252,252, | 47 | 252,239,15,133,244,28,248,29,137,202,137,114,252,252,139,181,233,139,14,15, |
48 | 139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235, | 48 | 182,252,233,15,182,205,131,198,4,252,255,36,252,235,248,30,85,87,86,83,72, |
49 | 248,30,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137,108,36,100, | 49 | 131,252,236,40,137,205,137,76,36,96,137,108,36,100,139,189,233,43,189,233, |
50 | 139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,124,36,88,72,139,189,233, | 50 | 199,68,36,92,0,0,0,0,137,124,36,88,72,139,189,233,72,137,124,36,104,72,137, |
51 | 72,137,124,36,104,72,137,165,233,65,252,255,209,133,192,15,132,244,15,137, | 51 | 165,233,65,252,255,209,133,192,15,132,244,15,137,193,190,237,252,233,244, |
52 | 193,190,237,252,233,244,2,248,11,1,209,131,230,252,248,137,213,41,252,242, | 52 | 2,248,11,1,209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237, |
53 | 199,68,193,252,252,237,137,200,139,117,252,244,72,99,77,252,240,72,141,61, | 53 | 137,200,139,117,252,244,72,99,77,252,240,72,141,61,245,72,1,252,249,139,122, |
54 | 245,72,1,252,249,139,122,252,248,139,191,233,255,139,191,233,252,255,225, | 54 | 252,248,139,191,233,255,139,191,233,252,255,225,248,31,15,182,78,252,255, |
55 | 248,31,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244, | 55 | 131,252,237,16,141,12,202,41,252,233,15,132,244,32,252,247,217,193,252,233, |
56 | 32,252,247,217,193,252,233,3,65,137,200,139,76,36,96,137,145,233,139,80,4, | 56 | 3,65,137,200,139,76,36,96,137,145,233,139,80,4,139,0,137,85,4,137,69,0,137, |
57 | 139,0,137,85,4,137,69,0,137,252,234,252,233,244,33,248,34,137,68,36,80,199, | 57 | 252,234,252,233,244,33,248,34,137,68,36,80,199,68,36,84,237,72,141,68,36, |
58 | 68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,141,139,233, | 58 | 80,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,4,237,137, |
59 | 137,41,199,65,4,237,137,205,252,233,244,248,248,35,15,182,70,252,254,255, | 59 | 205,252,233,244,248,248,35,15,182,70,252,254,255,252,242,15,42,192,252,242, |
60 | 252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80,252,233,244, | 60 | 15,17,68,36,80,255,72,141,68,36,80,252,233,244,247,248,36,15,182,70,252,254, |
61 | 247,248,36,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,141,44,252, | 61 | 141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137, |
62 | 234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,205,137,116, | 62 | 145,233,137,252,234,73,137,192,137,205,137,116,36,100,232,251,1,1,139,149, |
63 | 36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,32,15,182,78,252, | 63 | 233,133,192,15,132,244,249,248,32,15,182,78,252,253,139,104,4,139,0,137,108, |
64 | 253,139,104,4,139,0,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131, | 64 | 202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255, |
65 | 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141, | 65 | 36,252,235,248,3,139,141,233,137,113,252,244,141,177,233,41,214,139,105,252, |
66 | 177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,37,137,68,36,80, | 66 | 248,184,237,252,233,244,29,248,37,137,68,36,80,199,68,36,84,237,72,141,68, |
67 | 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141, | 67 | 36,80,128,126,252,252,235,15,133,244,247,255,141,139,233,137,41,199,65,4, |
68 | 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,15,182,70,252, | 68 | 237,137,205,252,233,244,248,248,38,15,182,70,252,254,255,72,141,68,36,80, |
69 | 254,255,72,141,68,36,80,252,233,244,247,248,39,15,182,70,252,254,141,4,194, | 69 | 252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255, |
70 | 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137, | 70 | 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137, |
71 | 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192, | 71 | 205,137,116,36,100,232,251,1,2,139,149,233,133,192,15,132,244,249,15,182, |
72 | 15,132,244,249,15,182,78,252,253,139,108,202,4,139,12,202,137,104,4,137,8, | 72 | 78,252,253,139,108,202,4,139,12,202,137,104,4,137,8,248,40,139,6,15,182,204, |
73 | 248,40,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235, | 73 | 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137, |
74 | 248,3,139,141,233,137,113,252,244,15,182,70,252,253,139,108,194,4,139,4,194, | 74 | 113,252,244,15,182,70,252,253,139,108,194,4,139,4,194,137,105,20,137,65,16, |
75 | 137,105,20,137,65,16,141,177,233,41,214,139,105,252,248,184,237,252,233,244, | 75 | 141,177,233,41,214,139,105,252,248,184,237,252,233,244,29,248,41,139,108, |
76 | 29,248,41,139,108,36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68, | 76 | 36,96,137,149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252, |
77 | 15,182,78,252,252,137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252, | 77 | 137,116,36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244, |
78 | 248,1,15,135,244,42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254, | 78 | 42,248,4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134, |
79 | 141,180,253,134,233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16, | 79 | 233,248,6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252, |
80 | 252,255,36,252,235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233, | 80 | 235,248,43,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,44, |
81 | 244,6,248,44,129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,65,137, | 81 | 129,120,253,4,239,252,233,244,4,248,45,131,252,238,4,65,137,192,65,137,252, |
82 | 192,65,137,252,233,139,108,36,96,137,149,233,255,137,202,137,252,233,137, | 82 | 233,139,108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232, |
83 | 116,36,100,232,251,1,4,252,233,244,3,248,46,141,4,199,252,233,244,247,248, | 83 | 251,1,4,252,233,244,3,248,46,141,4,199,252,233,244,247,248,47,141,4,199,141, |
84 | 47,141,4,199,141,44,252,234,149,252,233,244,248,248,48,141,4,194,137,197, | 84 | 44,252,234,149,252,233,244,248,248,48,141,4,194,137,197,252,233,244,248,248, |
85 | 252,233,244,248,248,49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,65, | 85 | 49,141,4,194,248,1,141,44,252,234,248,2,141,12,202,65,137,232,65,137,193, |
86 | 137,232,65,137,193,15,182,70,252,252,137,68,36,32,139,108,36,96,137,149,233, | 86 | 15,182,70,252,252,137,68,36,32,139,108,36,96,137,149,233,137,202,137,252, |
87 | 137,202,137,252,233,137,116,36,100,232,251,1,5,139,149,233,133,192,15,132, | 87 | 233,137,116,36,100,232,251,1,5,139,149,233,133,192,15,132,244,40,248,42,137, |
88 | 244,40,248,42,137,193,41,208,137,113,252,244,141,176,233,255,184,237,252, | 88 | 193,41,208,137,113,252,244,141,176,233,255,184,237,252,233,244,27,248,50, |
89 | 233,244,27,248,50,139,108,36,96,137,149,233,141,20,194,137,252,233,137,116, | 89 | 139,108,36,96,137,149,233,141,20,194,137,252,233,137,116,36,100,232,251,1, |
90 | 36,100,232,251,1,6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28, | 90 | 6,139,149,233,252,233,244,42,248,51,141,76,202,8,248,28,137,76,36,84,137, |
91 | 137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,96,137,149,233,137,202, | 91 | 68,36,80,131,252,233,8,139,108,36,96,137,149,233,137,202,68,141,4,193,137, |
92 | 68,141,4,193,137,252,233,137,116,36,100,232,251,1,7,139,149,233,139,76,36, | 92 | 252,233,137,116,36,100,232,251,1,7,139,149,233,139,76,36,84,139,68,36,80, |
93 | 84,139,68,36,80,139,105,252,248,131,192,1,57,215,15,132,244,52,137,202,137, | 93 | 139,105,252,248,131,192,1,57,215,15,132,244,52,137,202,137,114,252,252,139, |
94 | 114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255, | 94 | 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,248, |
95 | 36,252,235,248,53,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36, | 95 | 53,139,108,36,96,137,149,233,137,202,137,252,233,137,116,36,100,232,251,1, |
96 | 100,232,251,1,8,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232, | 96 | 8,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,16,252,255,164, |
97 | 16,252,255,164,253,252,235,233,248,54,255,129,252,248,239,15,130,244,55,139, | 97 | 253,252,235,233,248,54,255,129,252,248,239,15,130,244,55,139,106,4,129,252, |
98 | 106,4,129,252,253,239,15,131,244,55,139,114,252,252,137,68,36,84,137,106, | 98 | 253,239,15,131,244,55,139,114,252,252,137,68,36,84,137,106,252,252,139,42, |
99 | 252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131, | 99 | 137,106,252,248,131,232,2,15,132,244,248,137,209,248,1,131,193,8,139,105, |
100 | 193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244, | 100 | 4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,244,1,248,2,139, |
101 | 1,248,2,139,68,36,84,252,233,244,56,248,57,129,252,248,239,15,130,244,55, | 101 | 68,36,84,252,233,244,56,248,57,129,252,248,239,15,130,244,55,139,106,4,137, |
102 | 139,106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,255, | 102 | 252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,255,184,237,252, |
103 | 184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1, | 103 | 247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139, |
104 | 255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,199,66,252, | 104 | 106,252,248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66, |
105 | 252,237,137,66,252,248,252,233,244,58,248,3,184,237,252,233,244,2,248,59, | 105 | 252,248,252,233,244,58,248,3,184,237,252,233,244,2,248,59,129,252,248,239, |
106 | 129,252,248,239,15,130,244,55,139,106,4,139,114,252,252,129,252,253,239,15, | 106 | 15,130,244,55,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248, |
107 | 133,244,252,248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237, | 107 | 1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,244, |
108 | 255,15,132,244,58,139,131,233,199,66,252,252,237,137,106,252,248,139,141, | 108 | 58,139,131,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,233, |
109 | 233,35,136,233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250, | 109 | 105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15, |
110 | 57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252, | 110 | 132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,58,248, |
111 | 233,244,58,248,5,139,105,4,129,252,253,239,15,132,244,58,139,1,137,106,252, | 111 | 5,139,105,4,129,252,253,239,15,132,244,58,139,1,137,106,252,252,137,66,252, |
112 | 252,137,66,252,248,252,233,244,58,248,6,129,252,253,239,15,132,244,1,129, | 112 | 248,252,233,244,58,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15, |
113 | 252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,253,171,233, | 113 | 135,244,253,189,237,248,7,252,247,213,139,172,253,171,233,252,233,244,2,248, |
114 | 252,233,244,2,248,60,255,129,252,248,239,15,130,244,55,129,122,253,4,239, | 114 | 60,255,129,252,248,239,15,130,244,55,129,122,253,4,239,15,133,244,55,139, |
115 | 15,133,244,55,139,42,131,189,233,0,15,133,244,55,129,122,253,12,239,15,133, | 115 | 42,131,189,233,0,15,133,244,55,129,122,253,12,239,15,133,244,55,139,66,8, |
116 | 244,55,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,137,106,252, | 116 | 137,133,233,139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133, |
117 | 248,252,246,133,233,235,15,132,244,247,128,165,233,235,255,139,131,233,137, | 117 | 233,235,15,132,244,247,128,165,233,235,255,139,131,233,137,171,233,137,133, |
118 | 171,233,137,133,233,248,1,252,233,244,58,248,61,129,252,248,239,15,130,244, | 118 | 233,248,1,252,233,244,58,248,61,129,252,248,239,15,130,244,55,129,122,253, |
119 | 55,129,122,253,4,239,15,133,244,55,137,213,68,141,66,8,139,18,139,76,36,96, | 119 | 4,239,15,133,244,55,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,9,137, |
120 | 232,251,1,9,137,252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137, | 120 | 252,234,139,40,139,64,4,139,114,252,252,137,106,252,248,137,66,252,252,252, |
121 | 66,252,252,252,233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253, | 121 | 233,244,58,248,62,129,252,248,239,15,133,244,55,129,122,253,4,239,255,15, |
122 | 4,239,255,15,135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252, | 122 | 135,244,55,255,252,242,15,16,2,252,233,244,63,255,221,2,252,233,244,64,255, |
123 | 233,244,64,255,248,65,129,252,248,239,15,130,244,55,139,114,252,252,129,122, | 123 | 248,65,129,252,248,239,15,130,244,55,139,114,252,252,129,122,253,4,239,15, |
124 | 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252, | 124 | 133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,233,244,58, |
125 | 233,244,58,248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,133,244, | 125 | 248,3,129,122,253,4,239,15,135,244,55,131,187,233,0,15,133,244,55,139,171, |
126 | 55,139,171,233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,108,36, | 126 | 233,59,171,233,255,15,130,244,247,232,244,66,248,1,139,108,36,96,137,149, |
127 | 96,137,149,233,137,116,36,100,137,252,233,232,251,1,10,139,149,233,252,233, | 127 | 233,137,116,36,100,137,252,233,232,251,1,10,139,149,233,252,233,244,2,248, |
128 | 244,2,248,67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,122,253, | 128 | 67,129,252,248,239,15,130,244,55,15,132,244,248,248,1,129,122,253,4,239,15, |
129 | 4,239,15,133,244,55,139,108,36,96,137,149,233,255,137,149,233,139,114,252, | 129 | 133,244,55,139,108,36,96,137,149,233,255,137,149,233,139,114,252,252,68,141, |
130 | 252,68,141,66,8,139,18,137,252,233,137,116,36,100,232,251,1,11,139,149,233, | 130 | 66,8,139,18,137,252,233,137,116,36,100,232,251,1,11,139,149,233,133,192,15, |
131 | 133,192,15,132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252, | 131 | 132,244,249,139,106,8,139,66,12,137,106,252,248,137,66,252,252,139,106,16, |
132 | 139,106,16,139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2, | 132 | 139,66,20,137,42,137,66,4,248,68,184,237,252,233,244,69,248,2,199,66,12,237, |
133 | 199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70, | 133 | 252,233,244,1,248,3,199,66,252,252,237,252,233,244,58,248,70,129,252,248, |
134 | 129,252,248,239,15,130,244,55,255,139,106,252,248,129,122,253,4,239,15,133, | 134 | 239,15,130,244,55,255,139,106,252,248,129,122,253,4,239,15,133,244,55,139, |
135 | 244,55,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199, | 135 | 133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184, |
136 | 66,12,237,184,237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129, | 136 | 237,252,233,244,69,248,71,129,252,248,239,15,130,244,55,129,122,253,4,239, |
137 | 122,253,4,239,15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,252, | 137 | 15,133,244,55,129,122,253,12,239,15,135,244,55,139,114,252,252,255,252,242, |
138 | 252,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88, | 138 | 15,16,66,8,72,189,237,237,102,72,15,110,205,252,242,15,88,193,252,242,15, |
139 | 193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131, | 139 | 45,192,252,242,15,17,66,252,248,255,139,42,59,133,233,15,131,244,248,193, |
140 | 244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40, | 140 | 224,3,3,133,233,248,1,129,120,253,4,239,15,132,244,72,139,40,139,64,4,137, |
141 | 139,64,4,137,42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72, | 141 | 42,137,66,4,252,233,244,68,248,2,131,189,233,0,15,132,244,72,137,252,233, |
142 | 137,252,233,137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,244,1, | 142 | 137,213,137,194,232,251,1,12,137,252,234,133,192,15,133,244,1,248,72,184, |
143 | 248,72,184,237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139, | 143 | 237,252,233,244,69,248,73,255,129,252,248,239,15,130,244,55,139,106,252,248, |
144 | 106,252,248,129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,252,199, | 144 | 129,122,253,4,239,15,133,244,55,139,133,233,139,114,252,252,199,66,252,252, |
145 | 66,252,252,237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252, | 145 | 237,137,66,252,248,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90, |
146 | 238,221,90,8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244, | 146 | 8,255,184,237,252,233,244,69,248,74,129,252,248,239,15,130,244,55,141,74, |
147 | 55,141,74,8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229, | 147 | 8,131,232,1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252, |
148 | 1,1,252,238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253, | 148 | 238,252,233,244,27,248,75,129,252,248,239,15,130,244,55,129,122,253,12,239, |
149 | 12,239,15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114, | 149 | 15,133,244,55,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137, |
150 | 8,137,106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252, | 150 | 106,8,137,50,141,74,16,131,232,2,190,237,252,233,244,1,248,76,129,252,248, |
151 | 248,239,15,130,244,55,139,42,139,114,252,252,137,116,36,100,137,108,36,80, | 151 | 239,15,130,244,55,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129, |
152 | 129,122,253,4,239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233, | 152 | 122,253,4,239,15,133,244,55,72,131,189,233,0,15,133,244,55,128,189,233,235, |
153 | 235,15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55, | 153 | 15,135,244,55,139,141,233,15,132,244,247,255,59,141,233,15,132,244,55,248, |
154 | 248,1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36, | 154 | 1,141,116,193,252,240,59,181,233,15,135,244,55,137,181,233,139,108,36,96, |
155 | 96,137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206, | 155 | 137,149,233,131,194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15, |
156 | 15,132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131, | 156 | 132,244,249,248,2,139,68,46,4,137,70,252,252,139,4,46,137,70,252,248,131, |
157 | 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, | 157 | 252,238,8,57,206,15,133,244,2,248,3,137,202,139,76,36,80,232,244,24,199,131, |
158 | 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, | 158 | 233,237,255,139,108,36,96,139,116,36,80,139,149,233,129,252,248,239,15,135, |
159 | 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, | 159 | 244,254,248,4,139,142,233,139,190,233,137,142,233,137,252,254,41,206,15,132, |
@@ -453,61 +453,61 @@ static const unsigned char build_actionlist[14049] = { | |||
453 | 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, | 453 | 195,248,2,131,252,250,9,15,132,244,247,255,15,135,244,248,217,252,236,217, |
454 | 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, | 454 | 201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,250,11,15,132,244, |
455 | 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, | 455 | 247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,216,195,255,248, |
456 | 9,204,248,154,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252,242, | 456 | 9,204,255,248,154,255,65,131,252,248,1,15,132,244,247,15,135,244,248,252, |
457 | 15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132,244, | 457 | 242,15,88,193,195,248,1,252,242,15,92,193,195,248,2,65,131,252,248,3,15,132, |
458 | 247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195,248, | 458 | 244,247,15,135,244,248,252,242,15,89,193,195,248,1,252,242,15,94,193,195, |
459 | 2,65,131,252,248,5,15,130,244,148,15,132,244,107,65,131,252,248,7,15,132, | 459 | 248,2,65,131,252,248,5,15,130,244,148,15,132,244,107,65,131,252,248,7,15, |
460 | 244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193,195, | 460 | 132,244,247,15,135,244,248,72,184,237,237,255,102,72,15,110,200,15,87,193, |
461 | 248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252,248, | 461 | 195,248,1,72,184,237,237,102,72,15,110,200,15,84,193,195,248,2,65,131,252, |
462 | 9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68,36,8, | 462 | 248,9,15,135,244,248,252,242,15,17,68,36,8,252,242,15,17,76,36,16,221,68, |
463 | 221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15,16,68, | 463 | 36,8,221,68,36,16,15,132,244,247,217,252,243,248,7,221,92,36,8,252,242,15, |
464 | 36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131,252, | 464 | 16,68,36,8,195,248,1,217,201,217,252,253,221,217,252,233,244,7,248,2,65,131, |
465 | 248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252,242, | 465 | 252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,195,248,1,252, |
466 | 15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252, | 466 | 242,15,95,193,195,248,9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131, |
467 | 248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195,248, | 467 | 252,248,1,15,132,244,247,15,135,244,248,222,193,195,248,1,222,252,233,195, |
468 | 2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249, | 468 | 248,2,131,252,248,3,15,132,244,247,15,135,244,248,222,201,195,248,1,222,252, |
469 | 195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15,132, | 469 | 249,195,248,2,131,252,248,5,15,130,244,148,15,132,244,107,131,252,248,7,15, |
470 | 244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225,195, | 470 | 132,244,247,15,135,244,248,255,221,216,217,224,195,248,1,221,216,217,225, |
471 | 248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217, | 471 | 195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,217,252,243,195,248, |
472 | 201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244, | 472 | 1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,15,132,244,247,15, |
473 | 255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209,221,217, | 473 | 135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,252,233,218,209, |
474 | 195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216, | 474 | 221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,248,217,201,248, |
475 | 195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221, | 475 | 2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,244,248,217,201, |
476 | 216,195,255,248,155,137,200,86,72,137,214,83,15,162,137,6,137,94,4,137,78, | 476 | 248,2,221,216,195,255,248,155,137,200,86,72,137,214,83,15,162,137,6,137,94, |
477 | 8,137,86,12,91,94,195,255,129,124,253,202,4,239,15,135,244,41,129,124,253, | 477 | 4,137,78,8,137,86,12,91,94,195,255,129,124,253,202,4,239,15,135,244,41,129, |
478 | 194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15,46,4,202, | 478 | 124,253,194,4,239,15,135,244,41,255,252,242,15,16,4,194,131,198,4,102,15, |
479 | 255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218,252,233, | 479 | 46,4,202,255,221,4,202,221,4,194,131,198,4,255,223,252,233,221,216,255,218, |
480 | 223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183,70,252, | 480 | 252,233,223,224,158,255,15,134,244,248,255,15,131,244,248,255,248,1,15,183, |
481 | 254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232, | 481 | 70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198, |
482 | 16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239,15,135, | 482 | 4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,253,239, |
483 | 244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194,102, | 483 | 15,135,244,251,129,124,253,202,4,239,15,135,244,251,255,252,242,15,16,4,194, |
484 | 15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248,255, | 484 | 102,15,46,4,202,255,221,4,202,221,4,194,255,15,138,244,248,15,133,244,248, |
485 | 15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134, | 485 | 255,15,138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253, |
486 | 233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248,5, | 486 | 134,233,248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,248, |
487 | 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194, | 487 | 5,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4, |
488 | 57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252,237, | 488 | 194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,133,252, |
489 | 15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189,1,0, | 489 | 237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,255,189, |
490 | 0,0,255,252,233,244,45,255,72,252,247,208,131,198,4,129,124,253,202,4,239, | 490 | 1,0,0,0,255,252,233,244,45,255,72,252,247,208,131,198,4,129,124,253,202,4, |
491 | 15,133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239,15, | 491 | 239,15,133,244,248,139,12,202,59,12,135,255,131,198,4,129,124,253,202,4,239, |
492 | 135,244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221,4,199, | 492 | 15,135,244,248,255,252,242,15,16,4,199,102,15,46,4,202,255,221,4,202,221, |
493 | 255,72,252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198,4,129, | 493 | 4,199,255,72,252,247,208,131,198,4,57,68,202,4,255,139,108,194,4,131,198, |
494 | 252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4,139,44, | 494 | 4,129,252,253,239,255,15,131,244,247,255,15,130,244,247,255,137,108,202,4, |
495 | 194,137,44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139,6,15,182, | 495 | 139,44,194,137,44,202,255,15,183,70,252,254,141,180,253,134,233,248,1,139, |
496 | 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4, | 496 | 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,139,108, |
497 | 139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193, | 497 | 194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,15,182,232,131,198, |
498 | 232,16,252,255,36,252,235,255,49,252,237,129,124,253,194,4,239,129,213,239, | 498 | 4,193,232,16,252,255,36,252,235,255,49,252,237,129,124,253,194,4,239,129, |
499 | 137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36, | 499 | 213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, |
500 | 252,235,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16,4,194,72, | 500 | 255,36,252,235,255,129,124,253,194,4,239,15,135,244,48,255,252,242,15,16, |
501 | 184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194, | 501 | 4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255, |
502 | 217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255, | 502 | 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139, |
503 | 15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233, | 503 | 4,194,255,15,87,192,252,242,15,42,128,233,248,1,252,242,15,17,4,202,255,219, |
504 | 248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252, | 504 | 128,233,248,1,221,28,202,255,139,6,15,182,204,15,182,232,131,198,4,193,232, |
505 | 255,36,252,235,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194,137,213, | 505 | 16,252,255,36,252,235,248,2,129,124,253,194,4,239,15,133,244,50,139,12,194, |
506 | 232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,78,252,253,252, | 506 | 137,213,232,251,1,18,255,252,242,15,42,192,137,252,234,255,15,182,78,252, |
507 | 233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,239,15, | 507 | 253,252,233,244,1,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4, |
508 | 135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252, | 508 | 239,15,135,244,46,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221, |
509 | 234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242,15, | 509 | 4,252,234,220,4,199,255,129,124,253,252,234,4,239,15,135,244,47,255,252,242, |
510 | 16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, | 510 | 15,16,4,199,252,242,15,88,4,252,234,255,221,4,199,220,4,252,234,255,129,124, |
511 | 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252, | 511 | 253,252,234,4,239,15,135,244,49,129,124,253,194,4,239,15,135,244,49,255,252, |
512 | 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252, | 512 | 242,15,16,4,252,234,252,242,15,88,4,194,255,221,4,252,234,220,4,194,255,252, |
513 | 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255, | 513 | 242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,234,220,36,199,255, |
@@ -1066,373 +1066,376 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1066 | dasm_put(Dst, 204, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); | 1066 | dasm_put(Dst, 204, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK, 1+1); |
1067 | dasm_put(Dst, 297, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); | 1067 | dasm_put(Dst, 297, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base), Dt1(->top)); |
1068 | dasm_put(Dst, 363, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); | 1068 | dasm_put(Dst, 363, Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE); |
1069 | dasm_put(Dst, 523, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 1069 | dasm_put(Dst, 519, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
1070 | dasm_put(Dst, 629, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); | 1070 | dasm_put(Dst, 625, LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL, 0, Dt7(->pc)); |
1071 | dasm_put(Dst, 787, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); | 1071 | dasm_put(Dst, 783, PC2PROTO(k), Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB); |
1072 | if (sse) { | 1072 | if (sse) { |
1073 | dasm_put(Dst, 897); | 1073 | dasm_put(Dst, 893); |
1074 | } else { | 1074 | } else { |
1075 | } | 1075 | } |
1076 | dasm_put(Dst, 910, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); | 1076 | dasm_put(Dst, 906, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET); |
1077 | dasm_put(Dst, 1062, DISPATCH_GL(tmptv), LJ_TTAB); | 1077 | dasm_put(Dst, 1058, DISPATCH_GL(tmptv), LJ_TTAB); |
1078 | if (sse) { | 1078 | if (sse) { |
1079 | dasm_put(Dst, 897); | 1079 | dasm_put(Dst, 893); |
1080 | } else { | 1080 | } else { |
1081 | } | 1081 | } |
1082 | dasm_put(Dst, 1085, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); | 1082 | dasm_put(Dst, 1081, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base)); |
1083 | dasm_put(Dst, 1268, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); | 1083 | dasm_put(Dst, 1264, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base)); |
1084 | dasm_put(Dst, 1368, Dt1(->base), Dt1(->base), FRAME_CONT); | 1084 | dasm_put(Dst, 1364, Dt1(->base), Dt1(->base), FRAME_CONT); |
1085 | dasm_put(Dst, 1493, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1085 | dasm_put(Dst, 1489, 2+1, Dt1(->base), Dt1(->base), Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1086 | dasm_put(Dst, 1671, 1+1, LJ_TISTRUECOND, 1+1); | 1086 | dasm_put(Dst, 1667, 1+1, LJ_TISTRUECOND, 1+1); |
1087 | dasm_put(Dst, 1782, ~LJ_TNUMX); | 1087 | dasm_put(Dst, 1778, ~LJ_TNUMX); |
1088 | if (cmov) { | 1088 | if (cmov) { |
1089 | dasm_put(Dst, 1790); | 1089 | dasm_put(Dst, 1786); |
1090 | } else { | 1090 | } else { |
1091 | dasm_put(Dst, 1794); | 1091 | dasm_put(Dst, 1790); |
1092 | } | 1092 | } |
1093 | dasm_put(Dst, 1803, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); | 1093 | dasm_put(Dst, 1799, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL); |
1094 | dasm_put(Dst, 1882, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); | 1094 | dasm_put(Dst, 1878, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next)); |
1095 | dasm_put(Dst, 1939, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); | 1095 | dasm_put(Dst, 1935, LJ_TNIL, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT])); |
1096 | dasm_put(Dst, 2007, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); | 1096 | dasm_put(Dst, 2003, 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), cast_byte(~LJ_GC_BLACK)); |
1097 | dasm_put(Dst, 2076, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); | 1097 | dasm_put(Dst, 2072, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB, 1+1, LJ_TISNUM); |
1098 | dasm_put(Dst, 2166); | 1098 | dasm_put(Dst, 2162); |
1099 | if (sse) { | 1099 | if (sse) { |
1100 | dasm_put(Dst, 2171); | 1100 | dasm_put(Dst, 2167); |
1101 | } else { | 1101 | } else { |
1102 | dasm_put(Dst, 2181); | 1102 | dasm_put(Dst, 2177); |
1103 | } | 1103 | } |
1104 | dasm_put(Dst, 2188, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1104 | dasm_put(Dst, 2184, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1105 | dasm_put(Dst, 2254, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); | 1105 | dasm_put(Dst, 2250, Dt1(->base), Dt1(->base), 1+1, LJ_TTAB, Dt1(->base)); |
1106 | dasm_put(Dst, 2321, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); | 1106 | dasm_put(Dst, 2317, Dt1(->top), Dt1(->base), 1+2, LJ_TNIL, LJ_TNIL, 1+1); |
1107 | dasm_put(Dst, 2419, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); | 1107 | dasm_put(Dst, 2415, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM); |
1108 | if (sse) { | 1108 | if (sse) { |
1109 | dasm_put(Dst, 2491, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1109 | dasm_put(Dst, 2487, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1110 | } else { | 1110 | } else { |
1111 | } | 1111 | } |
1112 | dasm_put(Dst, 2524, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); | 1112 | dasm_put(Dst, 2520, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0); |
1113 | dasm_put(Dst, 2605, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); | 1113 | dasm_put(Dst, 2601, 1+1, LJ_TTAB, Dt8(->upvalue[0]), LJ_TFUNC); |
1114 | if (sse) { | 1114 | if (sse) { |
1115 | dasm_put(Dst, 2643); | 1115 | dasm_put(Dst, 2639); |
1116 | } else { | 1116 | } else { |
1117 | dasm_put(Dst, 2653); | 1117 | dasm_put(Dst, 2649); |
1118 | } | 1118 | } |
1119 | dasm_put(Dst, 2660, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); | 1119 | dasm_put(Dst, 2656, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC); |
1120 | dasm_put(Dst, 2724, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); | 1120 | dasm_put(Dst, 2720, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top)); |
1121 | dasm_put(Dst, 2814, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); | 1121 | dasm_put(Dst, 2810, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP); |
1122 | dasm_put(Dst, 2908, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); | 1122 | dasm_put(Dst, 2904, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE); |
1123 | dasm_put(Dst, 3026, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); | 1123 | dasm_put(Dst, 3022, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe)); |
1124 | dasm_put(Dst, 3124, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); | 1124 | dasm_put(Dst, 3120, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top)); |
1125 | dasm_put(Dst, 3191, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); | 1125 | dasm_put(Dst, 3187, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack)); |
1126 | dasm_put(Dst, 3285, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); | 1126 | dasm_put(Dst, 3281, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME); |
1127 | dasm_put(Dst, 3398, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); | 1127 | dasm_put(Dst, 3394, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status)); |
1128 | if (sse) { | 1128 | if (sse) { |
1129 | dasm_put(Dst, 3425, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1129 | dasm_put(Dst, 3421, 1+1, LJ_TISNUM, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1130 | } else { | 1130 | } else { |
1131 | dasm_put(Dst, 3489, 1+1, LJ_TISNUM); | 1131 | dasm_put(Dst, 3485, 1+1, LJ_TISNUM); |
1132 | } | 1132 | } |
1133 | dasm_put(Dst, 3525, 1+1, FRAME_TYPE, LJ_TNIL); | 1133 | dasm_put(Dst, 3521, 1+1, FRAME_TYPE, LJ_TNIL); |
1134 | if (sse) { | 1134 | if (sse) { |
1135 | dasm_put(Dst, 3619, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1135 | dasm_put(Dst, 3615, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1136 | dasm_put(Dst, 3681, 1+1, LJ_TISNUM); | 1136 | dasm_put(Dst, 3677, 1+1, LJ_TISNUM); |
1137 | } else { | 1137 | } else { |
1138 | dasm_put(Dst, 3711, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1138 | dasm_put(Dst, 3707, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1139 | dasm_put(Dst, 3770, 1+1, LJ_TISNUM); | 1139 | dasm_put(Dst, 3766, 1+1, LJ_TISNUM); |
1140 | } | 1140 | } |
1141 | dasm_put(Dst, 3797, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1141 | dasm_put(Dst, 3793, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1142 | dasm_put(Dst, 3866, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1142 | dasm_put(Dst, 3862, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1143 | dasm_put(Dst, 3923, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); | 1143 | dasm_put(Dst, 3919, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1); |
1144 | dasm_put(Dst, 3986, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); | 1144 | dasm_put(Dst, 3982, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM); |
1145 | dasm_put(Dst, 4076); | 1145 | dasm_put(Dst, 4072); |
1146 | if (sse) { | 1146 | if (sse) { |
1147 | dasm_put(Dst, 4088, 1+1, LJ_TISNUM); | 1147 | dasm_put(Dst, 4084, 1+1, LJ_TISNUM); |
1148 | } else { | 1148 | } else { |
1149 | } | 1149 | } |
1150 | dasm_put(Dst, 4113); | 1150 | dasm_put(Dst, 4109); |
1151 | if (sse) { | 1151 | if (sse) { |
1152 | dasm_put(Dst, 4127, 1+1, LJ_TISNUM); | 1152 | dasm_put(Dst, 4123, 1+1, LJ_TISNUM); |
1153 | } else { | 1153 | } else { |
1154 | } | 1154 | } |
1155 | dasm_put(Dst, 4152); | 1155 | dasm_put(Dst, 4148); |
1156 | if (sse) { | 1156 | if (sse) { |
1157 | dasm_put(Dst, 4166, 1+1, LJ_TISNUM); | 1157 | dasm_put(Dst, 4162, 1+1, LJ_TISNUM); |
1158 | } else { | 1158 | } else { |
1159 | } | 1159 | } |
1160 | dasm_put(Dst, 4191); | 1160 | dasm_put(Dst, 4187); |
1161 | if (sse) { | 1161 | if (sse) { |
1162 | dasm_put(Dst, 4207, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1162 | dasm_put(Dst, 4203, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1163 | } else { | 1163 | } else { |
1164 | dasm_put(Dst, 4246, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); | 1164 | dasm_put(Dst, 4242, 1+1, LJ_TISNUM, Dt8(->upvalue[0])); |
1165 | } | 1165 | } |
1166 | dasm_put(Dst, 4279, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); | 1166 | dasm_put(Dst, 4275, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM); |
1167 | dasm_put(Dst, 4344, 1+1, LJ_TISNUM); | 1167 | dasm_put(Dst, 4340, 1+1, LJ_TISNUM); |
1168 | if (sse) { | 1168 | if (sse) { |
1169 | dasm_put(Dst, 4443); | 1169 | dasm_put(Dst, 4439); |
1170 | } else { | 1170 | } else { |
1171 | dasm_put(Dst, 4449); | 1171 | dasm_put(Dst, 4445); |
1172 | } | 1172 | } |
1173 | dasm_put(Dst, 4458); | 1173 | dasm_put(Dst, 4454); |
1174 | if (sse) { | 1174 | if (sse) { |
1175 | dasm_put(Dst, 4483); | 1175 | dasm_put(Dst, 4479); |
1176 | } else { | 1176 | } else { |
1177 | dasm_put(Dst, 4489); | 1177 | dasm_put(Dst, 4485); |
1178 | } | 1178 | } |
1179 | dasm_put(Dst, 4492, 1+2); | 1179 | dasm_put(Dst, 4488, 1+2); |
1180 | if (sse) { | 1180 | if (sse) { |
1181 | dasm_put(Dst, 4501); | 1181 | dasm_put(Dst, 4497); |
1182 | } else { | 1182 | } else { |
1183 | dasm_put(Dst, 4509); | 1183 | dasm_put(Dst, 4505); |
1184 | } | 1184 | } |
1185 | dasm_put(Dst, 4517); | 1185 | dasm_put(Dst, 4513); |
1186 | if (sse) { | 1186 | if (sse) { |
1187 | dasm_put(Dst, 4520, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); | 1187 | dasm_put(Dst, 4516, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32)); |
1188 | } else { | 1188 | } else { |
1189 | dasm_put(Dst, 4547); | 1189 | dasm_put(Dst, 4543); |
1190 | } | 1190 | } |
1191 | dasm_put(Dst, 4566); | 1191 | dasm_put(Dst, 4562); |
1192 | if (sse) { | 1192 | if (sse) { |
1193 | dasm_put(Dst, 4582, 1+1, LJ_TISNUM); | 1193 | dasm_put(Dst, 4578, 1+1, LJ_TISNUM); |
1194 | } else { | 1194 | } else { |
1195 | dasm_put(Dst, 4607, 1+1, LJ_TISNUM); | 1195 | dasm_put(Dst, 4603, 1+1, LJ_TISNUM); |
1196 | } | 1196 | } |
1197 | dasm_put(Dst, 4629); | 1197 | dasm_put(Dst, 4625); |
1198 | if (sse) { | 1198 | if (sse) { |
1199 | dasm_put(Dst, 4651); | 1199 | dasm_put(Dst, 4647); |
1200 | } else { | 1200 | } else { |
1201 | dasm_put(Dst, 4677); | 1201 | dasm_put(Dst, 4673); |
1202 | } | 1202 | } |
1203 | dasm_put(Dst, 4694, 1+2); | 1203 | dasm_put(Dst, 4690, 1+2); |
1204 | if (sse) { | 1204 | if (sse) { |
1205 | dasm_put(Dst, 4734); | 1205 | dasm_put(Dst, 4730); |
1206 | } else { | 1206 | } else { |
1207 | dasm_put(Dst, 4742); | 1207 | dasm_put(Dst, 4738); |
1208 | } | 1208 | } |
1209 | dasm_put(Dst, 4752, 2+1, LJ_TISNUM, LJ_TISNUM); | 1209 | dasm_put(Dst, 4748, 2+1, LJ_TISNUM, LJ_TISNUM); |
1210 | if (sse) { | 1210 | if (sse) { |
1211 | dasm_put(Dst, 4804, 2+1, LJ_TISNUM, LJ_TISNUM); | 1211 | dasm_put(Dst, 4800, 2+1, LJ_TISNUM, LJ_TISNUM); |
1212 | } else { | 1212 | } else { |
1213 | dasm_put(Dst, 4851, 2+1, LJ_TISNUM, LJ_TISNUM); | 1213 | dasm_put(Dst, 4847, 2+1, LJ_TISNUM, LJ_TISNUM); |
1214 | } | 1214 | } |
1215 | if (sse) { | 1215 | if (sse) { |
1216 | dasm_put(Dst, 4892, 1+1, LJ_TISNUM, LJ_TISNUM); | 1216 | dasm_put(Dst, 4888, 1+1, LJ_TISNUM, LJ_TISNUM); |
1217 | } else { | 1217 | } else { |
1218 | } | 1218 | } |
1219 | if (sse) { | 1219 | if (sse) { |
1220 | dasm_put(Dst, 4963, 1+1, LJ_TISNUM, LJ_TISNUM); | 1220 | dasm_put(Dst, 4959, 1+1, LJ_TISNUM, LJ_TISNUM); |
1221 | } else { | 1221 | } else { |
1222 | } | 1222 | } |
1223 | if (!sse) { | 1223 | if (!sse) { |
1224 | dasm_put(Dst, 5034); | 1224 | dasm_put(Dst, 5030); |
1225 | } | 1225 | } |
1226 | dasm_put(Dst, 5043, 1+1, LJ_TSTR); | 1226 | dasm_put(Dst, 5039, 1+1, LJ_TSTR); |
1227 | if (sse) { | 1227 | if (sse) { |
1228 | dasm_put(Dst, 5065, Dt5(->len)); | 1228 | dasm_put(Dst, 5061, Dt5(->len)); |
1229 | } else { | 1229 | } else { |
1230 | dasm_put(Dst, 5076, Dt5(->len)); | 1230 | dasm_put(Dst, 5072, Dt5(->len)); |
1231 | } | 1231 | } |
1232 | dasm_put(Dst, 5084, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); | 1232 | dasm_put(Dst, 5080, 1+1, LJ_TSTR, Dt5(->len), Dt5([1])); |
1233 | if (sse) { | 1233 | if (sse) { |
1234 | dasm_put(Dst, 5122); | 1234 | dasm_put(Dst, 5118); |
1235 | } else { | 1235 | } else { |
1236 | dasm_put(Dst, 5132); | 1236 | dasm_put(Dst, 5128); |
1237 | } | 1237 | } |
1238 | dasm_put(Dst, 5145, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); | 1238 | dasm_put(Dst, 5141, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM); |
1239 | if (sse) { | 1239 | if (sse) { |
1240 | dasm_put(Dst, 5180); | 1240 | dasm_put(Dst, 5176); |
1241 | } else { | 1241 | } else { |
1242 | dasm_put(Dst, 5202); | 1242 | dasm_put(Dst, 5198); |
1243 | } | 1243 | } |
1244 | dasm_put(Dst, 5222, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); | 1244 | dasm_put(Dst, 5218, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM); |
1245 | dasm_put(Dst, 2166); | 1245 | dasm_put(Dst, 2162); |
1246 | if (sse) { | 1246 | if (sse) { |
1247 | dasm_put(Dst, 5330); | 1247 | dasm_put(Dst, 5326); |
1248 | } else { | 1248 | } else { |
1249 | dasm_put(Dst, 5341); | 1249 | dasm_put(Dst, 5337); |
1250 | } | 1250 | } |
1251 | dasm_put(Dst, 5349, LJ_TSTR, LJ_TISNUM, Dt5(->len)); | 1251 | dasm_put(Dst, 5345, LJ_TSTR, LJ_TISNUM, Dt5(->len)); |
1252 | if (sse) { | 1252 | if (sse) { |
1253 | dasm_put(Dst, 5379); | 1253 | dasm_put(Dst, 5375); |
1254 | } else { | 1254 | } else { |
1255 | } | 1255 | } |
1256 | dasm_put(Dst, 5386, sizeof(GCstr)-1); | 1256 | dasm_put(Dst, 5382, sizeof(GCstr)-1); |
1257 | dasm_put(Dst, 5461, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 1257 | dasm_put(Dst, 5457, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
1258 | dasm_put(Dst, 5520, LJ_TSTR, LJ_TISNUM); | 1258 | dasm_put(Dst, 5516, LJ_TSTR, LJ_TISNUM); |
1259 | if (sse) { | 1259 | if (sse) { |
1260 | dasm_put(Dst, 5541); | 1260 | dasm_put(Dst, 5537); |
1261 | } else { | 1261 | } else { |
1262 | dasm_put(Dst, 5548); | 1262 | dasm_put(Dst, 5544); |
1263 | } | 1263 | } |
1264 | dasm_put(Dst, 5560, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); | 1264 | dasm_put(Dst, 5556, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1); |
1265 | dasm_put(Dst, 5625, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1265 | dasm_put(Dst, 5621, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1266 | dasm_put(Dst, 5688, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); | 1266 | dasm_put(Dst, 5684, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz)); |
1267 | dasm_put(Dst, 5759, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); | 1267 | dasm_put(Dst, 5755, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1); |
1268 | dasm_put(Dst, 5844, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); | 1268 | dasm_put(Dst, 5840, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf)); |
1269 | dasm_put(Dst, 5914, 1+1, LJ_TTAB); | 1269 | dasm_put(Dst, 5910, 1+1, LJ_TTAB); |
1270 | if (sse) { | 1270 | if (sse) { |
1271 | dasm_put(Dst, 5982); | 1271 | dasm_put(Dst, 5978); |
1272 | } else { | 1272 | } else { |
1273 | } | 1273 | } |
1274 | if (sse) { | 1274 | if (sse) { |
1275 | dasm_put(Dst, 5992, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1275 | dasm_put(Dst, 5988, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1276 | } else { | 1276 | } else { |
1277 | } | 1277 | } |
1278 | if (sse) { | 1278 | if (sse) { |
1279 | dasm_put(Dst, 6044, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1279 | dasm_put(Dst, 6040, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1280 | } else { | 1280 | } else { |
1281 | } | 1281 | } |
1282 | dasm_put(Dst, 6087, LJ_TISNUM); | 1282 | dasm_put(Dst, 6083, LJ_TISNUM); |
1283 | if (sse) { | 1283 | if (sse) { |
1284 | dasm_put(Dst, 6114); | 1284 | dasm_put(Dst, 6110); |
1285 | } else { | 1285 | } else { |
1286 | } | 1286 | } |
1287 | dasm_put(Dst, 6131); | 1287 | dasm_put(Dst, 6127); |
1288 | if (sse) { | 1288 | if (sse) { |
1289 | dasm_put(Dst, 6139, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1289 | dasm_put(Dst, 6135, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1290 | } else { | 1290 | } else { |
1291 | } | 1291 | } |
1292 | dasm_put(Dst, 6087, LJ_TISNUM); | 1292 | dasm_put(Dst, 6083, LJ_TISNUM); |
1293 | if (sse) { | 1293 | if (sse) { |
1294 | dasm_put(Dst, 6182); | 1294 | dasm_put(Dst, 6178); |
1295 | } else { | 1295 | } else { |
1296 | } | 1296 | } |
1297 | dasm_put(Dst, 6131); | 1297 | dasm_put(Dst, 6127); |
1298 | if (sse) { | 1298 | if (sse) { |
1299 | dasm_put(Dst, 6199, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1299 | dasm_put(Dst, 6195, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1300 | } else { | 1300 | } else { |
1301 | } | 1301 | } |
1302 | dasm_put(Dst, 6087, LJ_TISNUM); | 1302 | dasm_put(Dst, 6083, LJ_TISNUM); |
1303 | if (sse) { | 1303 | if (sse) { |
1304 | dasm_put(Dst, 6242); | 1304 | dasm_put(Dst, 6238); |
1305 | } else { | 1305 | } else { |
1306 | } | 1306 | } |
1307 | dasm_put(Dst, 6131); | 1307 | dasm_put(Dst, 6127); |
1308 | if (sse) { | 1308 | if (sse) { |
1309 | dasm_put(Dst, 6259, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1309 | dasm_put(Dst, 6255, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1310 | } else { | 1310 | } else { |
1311 | } | 1311 | } |
1312 | dasm_put(Dst, 6302); | 1312 | dasm_put(Dst, 6298); |
1313 | if (sse) { | 1313 | if (sse) { |
1314 | dasm_put(Dst, 6309, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1314 | dasm_put(Dst, 6305, 1+1, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1315 | } else { | 1315 | } else { |
1316 | } | 1316 | } |
1317 | dasm_put(Dst, 6352); | 1317 | dasm_put(Dst, 6348); |
1318 | if (sse) { | 1318 | if (sse) { |
1319 | dasm_put(Dst, 6356); | 1319 | dasm_put(Dst, 6352); |
1320 | } else { | 1320 | } else { |
1321 | } | 1321 | } |
1322 | dasm_put(Dst, 6368); | 1322 | dasm_put(Dst, 6364); |
1323 | if (sse) { | 1323 | if (sse) { |
1324 | dasm_put(Dst, 6379, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1324 | dasm_put(Dst, 6375, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1325 | } else { | 1325 | } else { |
1326 | } | 1326 | } |
1327 | dasm_put(Dst, 6448); | 1327 | dasm_put(Dst, 6444); |
1328 | if (sse) { | 1328 | if (sse) { |
1329 | dasm_put(Dst, 6457, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1329 | dasm_put(Dst, 6453, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1330 | } else { | 1330 | } else { |
1331 | } | 1331 | } |
1332 | dasm_put(Dst, 6526); | 1332 | dasm_put(Dst, 6522); |
1333 | if (sse) { | 1333 | if (sse) { |
1334 | dasm_put(Dst, 6536, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1334 | dasm_put(Dst, 6532, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1335 | } else { | 1335 | } else { |
1336 | } | 1336 | } |
1337 | dasm_put(Dst, 6605); | 1337 | dasm_put(Dst, 6601); |
1338 | if (sse) { | 1338 | if (sse) { |
1339 | dasm_put(Dst, 6615, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1339 | dasm_put(Dst, 6611, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1340 | } else { | 1340 | } else { |
1341 | } | 1341 | } |
1342 | dasm_put(Dst, 6684); | 1342 | dasm_put(Dst, 6680); |
1343 | if (sse) { | 1343 | if (sse) { |
1344 | dasm_put(Dst, 6693, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); | 1344 | dasm_put(Dst, 6689, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32)); |
1345 | } else { | 1345 | } else { |
1346 | } | 1346 | } |
1347 | dasm_put(Dst, 6762, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); | 1347 | dasm_put(Dst, 6758, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base)); |
1348 | dasm_put(Dst, 6840, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); | 1348 | dasm_put(Dst, 6836, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base)); |
1349 | dasm_put(Dst, 6966, Dt1(->top), Dt1(->base), Dt1(->top)); | 1349 | dasm_put(Dst, 6962, Dt1(->top), Dt1(->base), Dt1(->top)); |
1350 | #if LJ_HASJIT | 1350 | #if LJ_HASJIT |
1351 | dasm_put(Dst, 7005, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 1351 | dasm_put(Dst, 7001, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
1352 | #endif | 1352 | #endif |
1353 | dasm_put(Dst, 7036, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); | 1353 | dasm_put(Dst, 7032, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE); |
1354 | dasm_put(Dst, 7087, Dt1(->base), Dt1(->base), GG_DISP2STATIC); | 1354 | dasm_put(Dst, 7083, Dt1(->base), Dt1(->base), GG_DISP2STATIC); |
1355 | #if LJ_HASJIT | 1355 | #if LJ_HASJIT |
1356 | dasm_put(Dst, 7154, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); | 1356 | dasm_put(Dst, 7150, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L)); |
1357 | #endif | 1357 | #endif |
1358 | dasm_put(Dst, 7201); | 1358 | dasm_put(Dst, 7197); |
1359 | #if LJ_HASJIT | 1359 | #if LJ_HASJIT |
1360 | dasm_put(Dst, 7031); | 1360 | dasm_put(Dst, 7027); |
1361 | #endif | 1361 | #endif |
1362 | dasm_put(Dst, 7208); | 1362 | dasm_put(Dst, 7204); |
1363 | #if LJ_HASJIT | 1363 | #if LJ_HASJIT |
1364 | dasm_put(Dst, 7211); | 1364 | dasm_put(Dst, 7207); |
1365 | #endif | 1365 | #endif |
1366 | dasm_put(Dst, 7221, Dt1(->base), Dt1(->top)); | 1366 | dasm_put(Dst, 7217, Dt1(->base), Dt1(->top)); |
1367 | #if LJ_HASJIT | 1367 | #if LJ_HASJIT |
1368 | dasm_put(Dst, 7255); | 1368 | dasm_put(Dst, 7251); |
1369 | #endif | 1369 | #endif |
1370 | dasm_put(Dst, 7260, Dt1(->base), Dt1(->top)); | 1370 | dasm_put(Dst, 7256, Dt1(->base), Dt1(->top)); |
1371 | #if LJ_HASJIT | 1371 | #if LJ_HASJIT |
1372 | dasm_put(Dst, 7291, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); | 1372 | dasm_put(Dst, 7287, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC); |
1373 | #endif | 1373 | #endif |
1374 | dasm_put(Dst, 7521); | 1374 | dasm_put(Dst, 7517); |
1375 | #if LJ_HASJIT | 1375 | #if LJ_HASJIT |
1376 | dasm_put(Dst, 7524, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); | 1376 | dasm_put(Dst, 7520, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF); |
1377 | dasm_put(Dst, 7666); | 1377 | dasm_put(Dst, 7662); |
1378 | #endif | 1378 | #endif |
1379 | dasm_put(Dst, 7692); | 1379 | dasm_put(Dst, 7688); |
1380 | if (!sse) { | 1380 | if (!sse) { |
1381 | dasm_put(Dst, 7695); | 1381 | dasm_put(Dst, 7691); |
1382 | } | 1382 | } |
1383 | dasm_put(Dst, 7740, (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)); | 1383 | dasm_put(Dst, 7736, (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)); |
1384 | if (!sse) { | 1384 | if (!sse) { |
1385 | dasm_put(Dst, 7826); | 1385 | dasm_put(Dst, 7822); |
1386 | } | 1386 | } |
1387 | 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(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32)); | 1387 | dasm_put(Dst, 7867, (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)); |
1388 | if (!sse) { | 1388 | if (!sse) { |
1389 | dasm_put(Dst, 7957); | 1389 | dasm_put(Dst, 7953); |
1390 | } | 1390 | } |
1391 | dasm_put(Dst, 7996, (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)); | 1391 | dasm_put(Dst, 7992, (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)); |
1392 | if (sse) { | 1392 | if (sse) { |
1393 | dasm_put(Dst, 8085, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1393 | dasm_put(Dst, 8081, (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)); |
1394 | } else { | 1394 | } else { |
1395 | dasm_put(Dst, 8199); | 1395 | dasm_put(Dst, 8195); |
1396 | } | 1396 | } |
1397 | dasm_put(Dst, 8246); | 1397 | dasm_put(Dst, 8242); |
1398 | if (!sse) { | 1398 | if (!sse) { |
1399 | } else { | 1399 | } else { |
1400 | dasm_put(Dst, 8320); | 1400 | dasm_put(Dst, 8316); |
1401 | } | 1401 | } |
1402 | dasm_put(Dst, 8323); | 1402 | dasm_put(Dst, 8319); |
1403 | dasm_put(Dst, 8408, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); | 1403 | dasm_put(Dst, 8404, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32)); |
1404 | dasm_put(Dst, 8509, (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)); | 1404 | dasm_put(Dst, 8505, (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)); |
1405 | dasm_put(Dst, 8677); | 1405 | dasm_put(Dst, 8673); |
1406 | #if LJ_HASJIT | ||
1406 | if (sse) { | 1407 | if (sse) { |
1407 | dasm_put(Dst, 8718); | 1408 | dasm_put(Dst, 8714); |
1408 | dasm_put(Dst, 8788); | 1409 | dasm_put(Dst, 8784); |
1409 | dasm_put(Dst, 8861); | 1410 | dasm_put(Dst, 8857); |
1410 | } else { | 1411 | } else { |
1411 | dasm_put(Dst, 8911); | 1412 | dasm_put(Dst, 8907); |
1412 | dasm_put(Dst, 9003); | 1413 | dasm_put(Dst, 8999); |
1413 | } | 1414 | } |
1415 | dasm_put(Dst, 9045); | ||
1416 | #endif | ||
1414 | dasm_put(Dst, 9049); | 1417 | dasm_put(Dst, 9049); |
1415 | if (sse) { | 1418 | if (sse) { |
1416 | dasm_put(Dst, 9055, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1419 | dasm_put(Dst, 9052, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1417 | dasm_put(Dst, 9144, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); | 1420 | dasm_put(Dst, 9141, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32)); |
1418 | } else { | 1421 | } else { |
1419 | dasm_put(Dst, 9268); | 1422 | dasm_put(Dst, 9265); |
1420 | dasm_put(Dst, 9351); | 1423 | dasm_put(Dst, 9348); |
1421 | if (cmov) { | 1424 | if (cmov) { |
1422 | dasm_put(Dst, 9406); | 1425 | dasm_put(Dst, 9403); |
1423 | } else { | 1426 | } else { |
1424 | dasm_put(Dst, 9425); | 1427 | dasm_put(Dst, 9422); |
1425 | } | 1428 | } |
1426 | dasm_put(Dst, 9264); | 1429 | dasm_put(Dst, 9045); |
1427 | } | 1430 | } |
1428 | dasm_put(Dst, 9466); | 1431 | dasm_put(Dst, 9463); |
1429 | } | 1432 | } |
1430 | 1433 | ||
1431 | /* Generate the code for a single instruction. */ | 1434 | /* Generate the code for a single instruction. */ |
1432 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | 1435 | static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) |
1433 | { | 1436 | { |
1434 | int vk = 0; | 1437 | int vk = 0; |
1435 | dasm_put(Dst, 1780, defop); | 1438 | dasm_put(Dst, 1776, defop); |
1436 | 1439 | ||
1437 | switch (op) { | 1440 | switch (op) { |
1438 | 1441 | ||
@@ -1441,597 +1444,597 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
1441 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 1444 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
1442 | 1445 | ||
1443 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 1446 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
1444 | dasm_put(Dst, 9492, LJ_TISNUM, LJ_TISNUM); | 1447 | dasm_put(Dst, 9489, LJ_TISNUM, LJ_TISNUM); |
1445 | if (sse) { | 1448 | if (sse) { |
1446 | dasm_put(Dst, 9513); | 1449 | dasm_put(Dst, 9510); |
1447 | } else { | 1450 | } else { |
1448 | dasm_put(Dst, 9528); | 1451 | dasm_put(Dst, 9525); |
1449 | if (cmov) { | 1452 | if (cmov) { |
1450 | dasm_put(Dst, 9538); | 1453 | dasm_put(Dst, 9535); |
1451 | } else { | 1454 | } else { |
1452 | dasm_put(Dst, 9544); | 1455 | dasm_put(Dst, 9541); |
1453 | } | 1456 | } |
1454 | } | 1457 | } |
1455 | switch (op) { | 1458 | switch (op) { |
1456 | case BC_ISLT: | 1459 | case BC_ISLT: |
1457 | dasm_put(Dst, 9551); | 1460 | dasm_put(Dst, 9548); |
1458 | break; | 1461 | break; |
1459 | case BC_ISGE: | 1462 | case BC_ISGE: |
1460 | dasm_put(Dst, 9346); | 1463 | dasm_put(Dst, 9343); |
1461 | break; | 1464 | break; |
1462 | case BC_ISLE: | 1465 | case BC_ISLE: |
1463 | dasm_put(Dst, 5909); | 1466 | dasm_put(Dst, 5905); |
1464 | break; | 1467 | break; |
1465 | case BC_ISGT: | 1468 | case BC_ISGT: |
1466 | dasm_put(Dst, 9556); | 1469 | dasm_put(Dst, 9553); |
1467 | break; | 1470 | break; |
1468 | default: break; /* Shut up GCC. */ | 1471 | default: break; /* Shut up GCC. */ |
1469 | } | 1472 | } |
1470 | dasm_put(Dst, 9561, -BCBIAS_J*4); | 1473 | dasm_put(Dst, 9558, -BCBIAS_J*4); |
1471 | break; | 1474 | break; |
1472 | 1475 | ||
1473 | case BC_ISEQV: case BC_ISNEV: | 1476 | case BC_ISEQV: case BC_ISNEV: |
1474 | vk = op == BC_ISEQV; | 1477 | vk = op == BC_ISEQV; |
1475 | dasm_put(Dst, 9595, LJ_TISNUM, LJ_TISNUM); | 1478 | dasm_put(Dst, 9592, LJ_TISNUM, LJ_TISNUM); |
1476 | if (sse) { | 1479 | if (sse) { |
1477 | dasm_put(Dst, 9621); | 1480 | dasm_put(Dst, 9618); |
1478 | } else { | 1481 | } else { |
1479 | dasm_put(Dst, 9633); | 1482 | dasm_put(Dst, 9630); |
1480 | if (cmov) { | 1483 | if (cmov) { |
1481 | dasm_put(Dst, 9538); | 1484 | dasm_put(Dst, 9535); |
1482 | } else { | 1485 | } else { |
1483 | dasm_put(Dst, 9544); | 1486 | dasm_put(Dst, 9541); |
1484 | } | 1487 | } |
1485 | } | 1488 | } |
1486 | iseqne_fp: | 1489 | iseqne_fp: |
1487 | if (vk) { | 1490 | if (vk) { |
1488 | dasm_put(Dst, 9640); | 1491 | dasm_put(Dst, 9637); |
1489 | } else { | 1492 | } else { |
1490 | dasm_put(Dst, 9649); | 1493 | dasm_put(Dst, 9646); |
1491 | } | 1494 | } |
1492 | iseqne_end: | 1495 | iseqne_end: |
1493 | if (vk) { | 1496 | if (vk) { |
1494 | dasm_put(Dst, 9658, -BCBIAS_J*4); | 1497 | dasm_put(Dst, 9655, -BCBIAS_J*4); |
1495 | } else { | 1498 | } else { |
1496 | dasm_put(Dst, 9673, -BCBIAS_J*4); | 1499 | dasm_put(Dst, 9670, -BCBIAS_J*4); |
1497 | } | 1500 | } |
1498 | dasm_put(Dst, 9575); | 1501 | dasm_put(Dst, 9572); |
1499 | if (op == BC_ISEQV || op == BC_ISNEV) { | 1502 | if (op == BC_ISEQV || op == BC_ISNEV) { |
1500 | dasm_put(Dst, 9688, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); | 1503 | dasm_put(Dst, 9685, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq); |
1501 | if (vk) { | 1504 | if (vk) { |
1502 | dasm_put(Dst, 9746); | 1505 | dasm_put(Dst, 9743); |
1503 | } else { | 1506 | } else { |
1504 | dasm_put(Dst, 9750); | 1507 | dasm_put(Dst, 9747); |
1505 | } | 1508 | } |
1506 | dasm_put(Dst, 9756); | 1509 | dasm_put(Dst, 9753); |
1507 | } | 1510 | } |
1508 | break; | 1511 | break; |
1509 | case BC_ISEQS: case BC_ISNES: | 1512 | case BC_ISEQS: case BC_ISNES: |
1510 | vk = op == BC_ISEQS; | 1513 | vk = op == BC_ISEQS; |
1511 | dasm_put(Dst, 9761, LJ_TSTR); | 1514 | dasm_put(Dst, 9758, LJ_TSTR); |
1512 | iseqne_test: | 1515 | iseqne_test: |
1513 | if (vk) { | 1516 | if (vk) { |
1514 | dasm_put(Dst, 9644); | 1517 | dasm_put(Dst, 9641); |
1515 | } else { | 1518 | } else { |
1516 | dasm_put(Dst, 2809); | 1519 | dasm_put(Dst, 2805); |
1517 | } | 1520 | } |
1518 | goto iseqne_end; | 1521 | goto iseqne_end; |
1519 | case BC_ISEQN: case BC_ISNEN: | 1522 | case BC_ISEQN: case BC_ISNEN: |
1520 | vk = op == BC_ISEQN; | 1523 | vk = op == BC_ISEQN; |
1521 | dasm_put(Dst, 9785, LJ_TISNUM); | 1524 | dasm_put(Dst, 9782, LJ_TISNUM); |
1522 | if (sse) { | 1525 | if (sse) { |
1523 | dasm_put(Dst, 9799); | 1526 | dasm_put(Dst, 9796); |
1524 | } else { | 1527 | } else { |
1525 | dasm_put(Dst, 9811); | 1528 | dasm_put(Dst, 9808); |
1526 | if (cmov) { | 1529 | if (cmov) { |
1527 | dasm_put(Dst, 9538); | 1530 | dasm_put(Dst, 9535); |
1528 | } else { | 1531 | } else { |
1529 | dasm_put(Dst, 9544); | 1532 | dasm_put(Dst, 9541); |
1530 | } | 1533 | } |
1531 | } | 1534 | } |
1532 | goto iseqne_fp; | 1535 | goto iseqne_fp; |
1533 | case BC_ISEQP: case BC_ISNEP: | 1536 | case BC_ISEQP: case BC_ISNEP: |
1534 | vk = op == BC_ISEQP; | 1537 | vk = op == BC_ISEQP; |
1535 | dasm_put(Dst, 9818); | 1538 | dasm_put(Dst, 9815); |
1536 | goto iseqne_test; | 1539 | goto iseqne_test; |
1537 | 1540 | ||
1538 | /* -- Unary test and copy ops ------------------------------------------- */ | 1541 | /* -- Unary test and copy ops ------------------------------------------- */ |
1539 | 1542 | ||
1540 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 1543 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
1541 | dasm_put(Dst, 9830, LJ_TISTRUECOND); | 1544 | dasm_put(Dst, 9827, LJ_TISTRUECOND); |
1542 | if (op == BC_IST || op == BC_ISTC) { | 1545 | if (op == BC_IST || op == BC_ISTC) { |
1543 | dasm_put(Dst, 9842); | 1546 | dasm_put(Dst, 9839); |
1544 | } else { | 1547 | } else { |
1545 | dasm_put(Dst, 9847); | 1548 | dasm_put(Dst, 9844); |
1546 | } | 1549 | } |
1547 | if (op == BC_ISTC || op == BC_ISFC) { | 1550 | if (op == BC_ISTC || op == BC_ISFC) { |
1548 | dasm_put(Dst, 9852); | 1551 | dasm_put(Dst, 9849); |
1549 | } | 1552 | } |
1550 | dasm_put(Dst, 9863, -BCBIAS_J*4); | 1553 | dasm_put(Dst, 9860, -BCBIAS_J*4); |
1551 | break; | 1554 | break; |
1552 | 1555 | ||
1553 | /* -- Unary ops --------------------------------------------------------- */ | 1556 | /* -- Unary ops --------------------------------------------------------- */ |
1554 | 1557 | ||
1555 | case BC_MOV: | 1558 | case BC_MOV: |
1556 | dasm_put(Dst, 9895); | 1559 | dasm_put(Dst, 9892); |
1557 | break; | 1560 | break; |
1558 | case BC_NOT: | 1561 | case BC_NOT: |
1559 | dasm_put(Dst, 9929, LJ_TISTRUECOND, LJ_TTRUE); | 1562 | dasm_put(Dst, 9926, LJ_TISTRUECOND, LJ_TTRUE); |
1560 | break; | 1563 | break; |
1561 | case BC_UNM: | 1564 | case BC_UNM: |
1562 | dasm_put(Dst, 9965, LJ_TISNUM); | 1565 | dasm_put(Dst, 9962, LJ_TISNUM); |
1563 | if (sse) { | 1566 | if (sse) { |
1564 | dasm_put(Dst, 9976, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); | 1567 | dasm_put(Dst, 9973, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32)); |
1565 | } else { | 1568 | } else { |
1566 | dasm_put(Dst, 10001); | 1569 | dasm_put(Dst, 9998); |
1567 | } | 1570 | } |
1568 | dasm_put(Dst, 9575); | 1571 | dasm_put(Dst, 9572); |
1569 | break; | 1572 | break; |
1570 | case BC_LEN: | 1573 | case BC_LEN: |
1571 | dasm_put(Dst, 10010, LJ_TSTR); | 1574 | dasm_put(Dst, 10007, LJ_TSTR); |
1572 | if (sse) { | 1575 | if (sse) { |
1573 | dasm_put(Dst, 10024, Dt5(->len)); | 1576 | dasm_put(Dst, 10021, Dt5(->len)); |
1574 | } else { | 1577 | } else { |
1575 | dasm_put(Dst, 10042, Dt5(->len)); | 1578 | dasm_put(Dst, 10039, Dt5(->len)); |
1576 | } | 1579 | } |
1577 | dasm_put(Dst, 10051, LJ_TTAB); | 1580 | dasm_put(Dst, 10048, LJ_TTAB); |
1578 | if (sse) { | 1581 | if (sse) { |
1579 | dasm_put(Dst, 10092); | 1582 | dasm_put(Dst, 10089); |
1580 | } else { | 1583 | } else { |
1581 | } | 1584 | } |
1582 | dasm_put(Dst, 10101); | 1585 | dasm_put(Dst, 10098); |
1583 | break; | 1586 | break; |
1584 | 1587 | ||
1585 | /* -- Binary ops -------------------------------------------------------- */ | 1588 | /* -- Binary ops -------------------------------------------------------- */ |
1586 | 1589 | ||
1587 | 1590 | ||
1588 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 1591 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
1589 | dasm_put(Dst, 10111); | 1592 | dasm_put(Dst, 10108); |
1590 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1593 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1591 | switch (vk) { | 1594 | switch (vk) { |
1592 | case 0: | 1595 | case 0: |
1593 | dasm_put(Dst, 10119, LJ_TISNUM); | 1596 | dasm_put(Dst, 10116, LJ_TISNUM); |
1594 | if (sse) { | 1597 | if (sse) { |
1595 | dasm_put(Dst, 10131); | 1598 | dasm_put(Dst, 10128); |
1596 | } else { | 1599 | } else { |
1597 | dasm_put(Dst, 10145); | 1600 | dasm_put(Dst, 10142); |
1598 | } | 1601 | } |
1599 | break; | 1602 | break; |
1600 | case 1: | 1603 | case 1: |
1601 | dasm_put(Dst, 10153, LJ_TISNUM); | 1604 | dasm_put(Dst, 10150, LJ_TISNUM); |
1602 | if (sse) { | 1605 | if (sse) { |
1603 | dasm_put(Dst, 10165); | 1606 | dasm_put(Dst, 10162); |
1604 | } else { | 1607 | } else { |
1605 | dasm_put(Dst, 10179); | 1608 | dasm_put(Dst, 10176); |
1606 | } | 1609 | } |
1607 | break; | 1610 | break; |
1608 | default: | 1611 | default: |
1609 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1612 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1610 | if (sse) { | 1613 | if (sse) { |
1611 | dasm_put(Dst, 10209); | 1614 | dasm_put(Dst, 10206); |
1612 | } else { | 1615 | } else { |
1613 | dasm_put(Dst, 10223); | 1616 | dasm_put(Dst, 10220); |
1614 | } | 1617 | } |
1615 | break; | 1618 | break; |
1616 | } | 1619 | } |
1617 | if (sse) { | 1620 | if (sse) { |
1618 | dasm_put(Dst, 9994); | 1621 | dasm_put(Dst, 9991); |
1619 | } else { | 1622 | } else { |
1620 | dasm_put(Dst, 10006); | 1623 | dasm_put(Dst, 10003); |
1621 | } | 1624 | } |
1622 | dasm_put(Dst, 9575); | 1625 | dasm_put(Dst, 9572); |
1623 | break; | 1626 | break; |
1624 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 1627 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
1625 | dasm_put(Dst, 10111); | 1628 | dasm_put(Dst, 10108); |
1626 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1629 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1627 | switch (vk) { | 1630 | switch (vk) { |
1628 | case 0: | 1631 | case 0: |
1629 | dasm_put(Dst, 10119, LJ_TISNUM); | 1632 | dasm_put(Dst, 10116, LJ_TISNUM); |
1630 | if (sse) { | 1633 | if (sse) { |
1631 | dasm_put(Dst, 10231); | 1634 | dasm_put(Dst, 10228); |
1632 | } else { | 1635 | } else { |
1633 | dasm_put(Dst, 10245); | 1636 | dasm_put(Dst, 10242); |
1634 | } | 1637 | } |
1635 | break; | 1638 | break; |
1636 | case 1: | 1639 | case 1: |
1637 | dasm_put(Dst, 10153, LJ_TISNUM); | 1640 | dasm_put(Dst, 10150, LJ_TISNUM); |
1638 | if (sse) { | 1641 | if (sse) { |
1639 | dasm_put(Dst, 10253); | 1642 | dasm_put(Dst, 10250); |
1640 | } else { | 1643 | } else { |
1641 | dasm_put(Dst, 10267); | 1644 | dasm_put(Dst, 10264); |
1642 | } | 1645 | } |
1643 | break; | 1646 | break; |
1644 | default: | 1647 | default: |
1645 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1648 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1646 | if (sse) { | 1649 | if (sse) { |
1647 | dasm_put(Dst, 10275); | 1650 | dasm_put(Dst, 10272); |
1648 | } else { | 1651 | } else { |
1649 | dasm_put(Dst, 10289); | 1652 | dasm_put(Dst, 10286); |
1650 | } | 1653 | } |
1651 | break; | 1654 | break; |
1652 | } | 1655 | } |
1653 | if (sse) { | 1656 | if (sse) { |
1654 | dasm_put(Dst, 9994); | 1657 | dasm_put(Dst, 9991); |
1655 | } else { | 1658 | } else { |
1656 | dasm_put(Dst, 10006); | 1659 | dasm_put(Dst, 10003); |
1657 | } | 1660 | } |
1658 | dasm_put(Dst, 9575); | 1661 | dasm_put(Dst, 9572); |
1659 | break; | 1662 | break; |
1660 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 1663 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
1661 | dasm_put(Dst, 10111); | 1664 | dasm_put(Dst, 10108); |
1662 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1665 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1663 | switch (vk) { | 1666 | switch (vk) { |
1664 | case 0: | 1667 | case 0: |
1665 | dasm_put(Dst, 10119, LJ_TISNUM); | 1668 | dasm_put(Dst, 10116, LJ_TISNUM); |
1666 | if (sse) { | 1669 | if (sse) { |
1667 | dasm_put(Dst, 10297); | 1670 | dasm_put(Dst, 10294); |
1668 | } else { | 1671 | } else { |
1669 | dasm_put(Dst, 10311); | 1672 | dasm_put(Dst, 10308); |
1670 | } | 1673 | } |
1671 | break; | 1674 | break; |
1672 | case 1: | 1675 | case 1: |
1673 | dasm_put(Dst, 10153, LJ_TISNUM); | 1676 | dasm_put(Dst, 10150, LJ_TISNUM); |
1674 | if (sse) { | 1677 | if (sse) { |
1675 | dasm_put(Dst, 10319); | 1678 | dasm_put(Dst, 10316); |
1676 | } else { | 1679 | } else { |
1677 | dasm_put(Dst, 10333); | 1680 | dasm_put(Dst, 10330); |
1678 | } | 1681 | } |
1679 | break; | 1682 | break; |
1680 | default: | 1683 | default: |
1681 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1684 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1682 | if (sse) { | 1685 | if (sse) { |
1683 | dasm_put(Dst, 10341); | 1686 | dasm_put(Dst, 10338); |
1684 | } else { | 1687 | } else { |
1685 | dasm_put(Dst, 10355); | 1688 | dasm_put(Dst, 10352); |
1686 | } | 1689 | } |
1687 | break; | 1690 | break; |
1688 | } | 1691 | } |
1689 | if (sse) { | 1692 | if (sse) { |
1690 | dasm_put(Dst, 9994); | 1693 | dasm_put(Dst, 9991); |
1691 | } else { | 1694 | } else { |
1692 | dasm_put(Dst, 10006); | 1695 | dasm_put(Dst, 10003); |
1693 | } | 1696 | } |
1694 | dasm_put(Dst, 9575); | 1697 | dasm_put(Dst, 9572); |
1695 | break; | 1698 | break; |
1696 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 1699 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
1697 | dasm_put(Dst, 10111); | 1700 | dasm_put(Dst, 10108); |
1698 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1701 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1699 | switch (vk) { | 1702 | switch (vk) { |
1700 | case 0: | 1703 | case 0: |
1701 | dasm_put(Dst, 10119, LJ_TISNUM); | 1704 | dasm_put(Dst, 10116, LJ_TISNUM); |
1702 | if (sse) { | 1705 | if (sse) { |
1703 | dasm_put(Dst, 10363); | 1706 | dasm_put(Dst, 10360); |
1704 | } else { | 1707 | } else { |
1705 | dasm_put(Dst, 10377); | 1708 | dasm_put(Dst, 10374); |
1706 | } | 1709 | } |
1707 | break; | 1710 | break; |
1708 | case 1: | 1711 | case 1: |
1709 | dasm_put(Dst, 10153, LJ_TISNUM); | 1712 | dasm_put(Dst, 10150, LJ_TISNUM); |
1710 | if (sse) { | 1713 | if (sse) { |
1711 | dasm_put(Dst, 10385); | 1714 | dasm_put(Dst, 10382); |
1712 | } else { | 1715 | } else { |
1713 | dasm_put(Dst, 10399); | 1716 | dasm_put(Dst, 10396); |
1714 | } | 1717 | } |
1715 | break; | 1718 | break; |
1716 | default: | 1719 | default: |
1717 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1720 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1718 | if (sse) { | 1721 | if (sse) { |
1719 | dasm_put(Dst, 10407); | 1722 | dasm_put(Dst, 10404); |
1720 | } else { | 1723 | } else { |
1721 | dasm_put(Dst, 10421); | 1724 | dasm_put(Dst, 10418); |
1722 | } | 1725 | } |
1723 | break; | 1726 | break; |
1724 | } | 1727 | } |
1725 | if (sse) { | 1728 | if (sse) { |
1726 | dasm_put(Dst, 9994); | 1729 | dasm_put(Dst, 9991); |
1727 | } else { | 1730 | } else { |
1728 | dasm_put(Dst, 10006); | 1731 | dasm_put(Dst, 10003); |
1729 | } | 1732 | } |
1730 | dasm_put(Dst, 9575); | 1733 | dasm_put(Dst, 9572); |
1731 | break; | 1734 | break; |
1732 | case BC_MODVN: | 1735 | case BC_MODVN: |
1733 | dasm_put(Dst, 10111); | 1736 | dasm_put(Dst, 10108); |
1734 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1737 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1735 | switch (vk) { | 1738 | switch (vk) { |
1736 | case 0: | 1739 | case 0: |
1737 | dasm_put(Dst, 10119, LJ_TISNUM); | 1740 | dasm_put(Dst, 10116, LJ_TISNUM); |
1738 | if (sse) { | 1741 | if (sse) { |
1739 | dasm_put(Dst, 10429); | 1742 | dasm_put(Dst, 10426); |
1740 | } else { | 1743 | } else { |
1741 | dasm_put(Dst, 10443); | 1744 | dasm_put(Dst, 10440); |
1742 | } | 1745 | } |
1743 | break; | 1746 | break; |
1744 | case 1: | 1747 | case 1: |
1745 | dasm_put(Dst, 10153, LJ_TISNUM); | 1748 | dasm_put(Dst, 10150, LJ_TISNUM); |
1746 | if (sse) { | 1749 | if (sse) { |
1747 | dasm_put(Dst, 10451); | 1750 | dasm_put(Dst, 10448); |
1748 | } else { | 1751 | } else { |
1749 | dasm_put(Dst, 10465); | 1752 | dasm_put(Dst, 10462); |
1750 | } | 1753 | } |
1751 | break; | 1754 | break; |
1752 | default: | 1755 | default: |
1753 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1756 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1754 | if (sse) { | 1757 | if (sse) { |
1755 | dasm_put(Dst, 10473); | 1758 | dasm_put(Dst, 10470); |
1756 | } else { | 1759 | } else { |
1757 | dasm_put(Dst, 10487); | 1760 | dasm_put(Dst, 10484); |
1758 | } | 1761 | } |
1759 | break; | 1762 | break; |
1760 | } | 1763 | } |
1761 | dasm_put(Dst, 10495); | 1764 | dasm_put(Dst, 10492); |
1762 | if (sse) { | 1765 | if (sse) { |
1763 | dasm_put(Dst, 9994); | 1766 | dasm_put(Dst, 9991); |
1764 | } else { | 1767 | } else { |
1765 | dasm_put(Dst, 10006); | 1768 | dasm_put(Dst, 10003); |
1766 | } | 1769 | } |
1767 | dasm_put(Dst, 9575); | 1770 | dasm_put(Dst, 9572); |
1768 | break; | 1771 | break; |
1769 | case BC_MODNV: case BC_MODVV: | 1772 | case BC_MODNV: case BC_MODVV: |
1770 | dasm_put(Dst, 10111); | 1773 | dasm_put(Dst, 10108); |
1771 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1774 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1772 | switch (vk) { | 1775 | switch (vk) { |
1773 | case 0: | 1776 | case 0: |
1774 | dasm_put(Dst, 10119, LJ_TISNUM); | 1777 | dasm_put(Dst, 10116, LJ_TISNUM); |
1775 | if (sse) { | 1778 | if (sse) { |
1776 | dasm_put(Dst, 10429); | 1779 | dasm_put(Dst, 10426); |
1777 | } else { | 1780 | } else { |
1778 | dasm_put(Dst, 10443); | 1781 | dasm_put(Dst, 10440); |
1779 | } | 1782 | } |
1780 | break; | 1783 | break; |
1781 | case 1: | 1784 | case 1: |
1782 | dasm_put(Dst, 10153, LJ_TISNUM); | 1785 | dasm_put(Dst, 10150, LJ_TISNUM); |
1783 | if (sse) { | 1786 | if (sse) { |
1784 | dasm_put(Dst, 10451); | 1787 | dasm_put(Dst, 10448); |
1785 | } else { | 1788 | } else { |
1786 | dasm_put(Dst, 10465); | 1789 | dasm_put(Dst, 10462); |
1787 | } | 1790 | } |
1788 | break; | 1791 | break; |
1789 | default: | 1792 | default: |
1790 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1793 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1791 | if (sse) { | 1794 | if (sse) { |
1792 | dasm_put(Dst, 10473); | 1795 | dasm_put(Dst, 10470); |
1793 | } else { | 1796 | } else { |
1794 | dasm_put(Dst, 10487); | 1797 | dasm_put(Dst, 10484); |
1795 | } | 1798 | } |
1796 | break; | 1799 | break; |
1797 | } | 1800 | } |
1798 | dasm_put(Dst, 10501); | 1801 | dasm_put(Dst, 10498); |
1799 | break; | 1802 | break; |
1800 | case BC_POW: | 1803 | case BC_POW: |
1801 | dasm_put(Dst, 10111); | 1804 | dasm_put(Dst, 10108); |
1802 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 1805 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
1803 | switch (vk) { | 1806 | switch (vk) { |
1804 | case 0: | 1807 | case 0: |
1805 | dasm_put(Dst, 10119, LJ_TISNUM); | 1808 | dasm_put(Dst, 10116, LJ_TISNUM); |
1806 | if (sse) { | 1809 | if (sse) { |
1807 | dasm_put(Dst, 10429); | 1810 | dasm_put(Dst, 10426); |
1808 | } else { | 1811 | } else { |
1809 | dasm_put(Dst, 10443); | 1812 | dasm_put(Dst, 10440); |
1810 | } | 1813 | } |
1811 | break; | 1814 | break; |
1812 | case 1: | 1815 | case 1: |
1813 | dasm_put(Dst, 10153, LJ_TISNUM); | 1816 | dasm_put(Dst, 10150, LJ_TISNUM); |
1814 | if (sse) { | 1817 | if (sse) { |
1815 | dasm_put(Dst, 10451); | 1818 | dasm_put(Dst, 10448); |
1816 | } else { | 1819 | } else { |
1817 | dasm_put(Dst, 10465); | 1820 | dasm_put(Dst, 10462); |
1818 | } | 1821 | } |
1819 | break; | 1822 | break; |
1820 | default: | 1823 | default: |
1821 | dasm_put(Dst, 10187, LJ_TISNUM, LJ_TISNUM); | 1824 | dasm_put(Dst, 10184, LJ_TISNUM, LJ_TISNUM); |
1822 | if (sse) { | 1825 | if (sse) { |
1823 | dasm_put(Dst, 10473); | 1826 | dasm_put(Dst, 10470); |
1824 | } else { | 1827 | } else { |
1825 | dasm_put(Dst, 10487); | 1828 | dasm_put(Dst, 10484); |
1826 | } | 1829 | } |
1827 | break; | 1830 | break; |
1828 | } | 1831 | } |
1829 | dasm_put(Dst, 10506); | 1832 | dasm_put(Dst, 10503); |
1830 | if (sse) { | 1833 | if (sse) { |
1831 | dasm_put(Dst, 9994); | 1834 | dasm_put(Dst, 9991); |
1832 | } else { | 1835 | } else { |
1833 | dasm_put(Dst, 10006); | 1836 | dasm_put(Dst, 10003); |
1834 | } | 1837 | } |
1835 | dasm_put(Dst, 9575); | 1838 | dasm_put(Dst, 9572); |
1836 | break; | 1839 | break; |
1837 | 1840 | ||
1838 | case BC_CAT: | 1841 | case BC_CAT: |
1839 | dasm_put(Dst, 10510, Dt1(->base), Dt1(->base)); | 1842 | dasm_put(Dst, 10507, Dt1(->base), Dt1(->base)); |
1840 | break; | 1843 | break; |
1841 | 1844 | ||
1842 | /* -- Constant ops ------------------------------------------------------ */ | 1845 | /* -- Constant ops ------------------------------------------------------ */ |
1843 | 1846 | ||
1844 | case BC_KSTR: | 1847 | case BC_KSTR: |
1845 | dasm_put(Dst, 10600, LJ_TSTR); | 1848 | dasm_put(Dst, 10597, LJ_TSTR); |
1846 | break; | 1849 | break; |
1847 | case BC_KSHORT: | 1850 | case BC_KSHORT: |
1848 | if (sse) { | 1851 | if (sse) { |
1849 | dasm_put(Dst, 10635); | 1852 | dasm_put(Dst, 10632); |
1850 | } else { | 1853 | } else { |
1851 | dasm_put(Dst, 10650); | 1854 | dasm_put(Dst, 10647); |
1852 | } | 1855 | } |
1853 | dasm_put(Dst, 9575); | 1856 | dasm_put(Dst, 9572); |
1854 | break; | 1857 | break; |
1855 | case BC_KNUM: | 1858 | case BC_KNUM: |
1856 | if (sse) { | 1859 | if (sse) { |
1857 | dasm_put(Dst, 10658); | 1860 | dasm_put(Dst, 10655); |
1858 | } else { | 1861 | } else { |
1859 | dasm_put(Dst, 10671); | 1862 | dasm_put(Dst, 10668); |
1860 | } | 1863 | } |
1861 | dasm_put(Dst, 9575); | 1864 | dasm_put(Dst, 9572); |
1862 | break; | 1865 | break; |
1863 | case BC_KPRI: | 1866 | case BC_KPRI: |
1864 | dasm_put(Dst, 10678); | 1867 | dasm_put(Dst, 10675); |
1865 | break; | 1868 | break; |
1866 | case BC_KNIL: | 1869 | case BC_KNIL: |
1867 | dasm_put(Dst, 10706, LJ_TNIL); | 1870 | dasm_put(Dst, 10703, LJ_TNIL); |
1868 | break; | 1871 | break; |
1869 | 1872 | ||
1870 | /* -- Upvalue and function ops ------------------------------------------ */ | 1873 | /* -- Upvalue and function ops ------------------------------------------ */ |
1871 | 1874 | ||
1872 | case BC_UGET: | 1875 | case BC_UGET: |
1873 | dasm_put(Dst, 10753, offsetof(GCfuncL, uvptr), DtA(->v)); | 1876 | dasm_put(Dst, 10750, offsetof(GCfuncL, uvptr), DtA(->v)); |
1874 | break; | 1877 | break; |
1875 | case BC_USETV: | 1878 | case BC_USETV: |
1876 | #define TV2MARKOFS \ | 1879 | #define TV2MARKOFS \ |
1877 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) | 1880 | ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv)) |
1878 | dasm_put(Dst, 10798, 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); | 1881 | dasm_put(Dst, 10795, 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); |
1879 | dasm_put(Dst, 10889); | 1882 | dasm_put(Dst, 10886); |
1880 | break; | 1883 | break; |
1881 | #undef TV2MARKOFS | 1884 | #undef TV2MARKOFS |
1882 | case BC_USETS: | 1885 | case BC_USETS: |
1883 | dasm_put(Dst, 10901, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G); | 1886 | 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); |
1884 | break; | 1887 | break; |
1885 | case BC_USETN: | 1888 | case BC_USETN: |
1886 | dasm_put(Dst, 10994); | 1889 | dasm_put(Dst, 10991); |
1887 | if (sse) { | 1890 | if (sse) { |
1888 | dasm_put(Dst, 10999); | 1891 | dasm_put(Dst, 10996); |
1889 | } else { | 1892 | } else { |
1890 | dasm_put(Dst, 9814); | 1893 | dasm_put(Dst, 9811); |
1891 | } | 1894 | } |
1892 | dasm_put(Dst, 11006, offsetof(GCfuncL, uvptr), DtA(->v)); | 1895 | dasm_put(Dst, 11003, offsetof(GCfuncL, uvptr), DtA(->v)); |
1893 | if (sse) { | 1896 | if (sse) { |
1894 | dasm_put(Dst, 11015); | 1897 | dasm_put(Dst, 11012); |
1895 | } else { | 1898 | } else { |
1896 | dasm_put(Dst, 11021); | 1899 | dasm_put(Dst, 11018); |
1897 | } | 1900 | } |
1898 | dasm_put(Dst, 9575); | 1901 | dasm_put(Dst, 9572); |
1899 | break; | 1902 | break; |
1900 | case BC_USETP: | 1903 | case BC_USETP: |
1901 | dasm_put(Dst, 11024, offsetof(GCfuncL, uvptr), DtA(->v)); | 1904 | dasm_put(Dst, 11021, offsetof(GCfuncL, uvptr), DtA(->v)); |
1902 | break; | 1905 | break; |
1903 | case BC_UCLO: | 1906 | case BC_UCLO: |
1904 | dasm_put(Dst, 11063, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 1907 | dasm_put(Dst, 11060, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
1905 | break; | 1908 | break; |
1906 | 1909 | ||
1907 | case BC_FNEW: | 1910 | case BC_FNEW: |
1908 | dasm_put(Dst, 11118, Dt1(->base), Dt1(->base), LJ_TFUNC); | 1911 | dasm_put(Dst, 11115, Dt1(->base), Dt1(->base), LJ_TFUNC); |
1909 | break; | 1912 | break; |
1910 | 1913 | ||
1911 | /* -- Table ops --------------------------------------------------------- */ | 1914 | /* -- Table ops --------------------------------------------------------- */ |
1912 | 1915 | ||
1913 | case BC_TNEW: | 1916 | case BC_TNEW: |
1914 | dasm_put(Dst, 11184, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); | 1917 | dasm_put(Dst, 11181, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB); |
1915 | break; | 1918 | break; |
1916 | case BC_TDUP: | 1919 | case BC_TDUP: |
1917 | dasm_put(Dst, 11306, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); | 1920 | dasm_put(Dst, 11303, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB); |
1918 | break; | 1921 | break; |
1919 | 1922 | ||
1920 | case BC_GGET: | 1923 | case BC_GGET: |
1921 | dasm_put(Dst, 11401, Dt7(->env)); | 1924 | dasm_put(Dst, 11398, Dt7(->env)); |
1922 | break; | 1925 | break; |
1923 | case BC_GSET: | 1926 | case BC_GSET: |
1924 | dasm_put(Dst, 11420, Dt7(->env)); | 1927 | dasm_put(Dst, 11417, Dt7(->env)); |
1925 | break; | 1928 | break; |
1926 | 1929 | ||
1927 | case BC_TGETV: | 1930 | case BC_TGETV: |
1928 | dasm_put(Dst, 11439, LJ_TTAB, LJ_TISNUM); | 1931 | dasm_put(Dst, 11436, LJ_TTAB, LJ_TISNUM); |
1929 | if (sse) { | 1932 | if (sse) { |
1930 | dasm_put(Dst, 11472); | 1933 | dasm_put(Dst, 11469); |
1931 | } else { | 1934 | } else { |
1932 | } | 1935 | } |
1933 | dasm_put(Dst, 11493, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1936 | dasm_put(Dst, 11490, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1934 | dasm_put(Dst, 11586, LJ_TSTR); | 1937 | dasm_put(Dst, 11583, LJ_TSTR); |
1935 | break; | 1938 | break; |
1936 | case BC_TGETS: | 1939 | case BC_TGETS: |
1937 | dasm_put(Dst, 11604, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); | 1940 | dasm_put(Dst, 11601, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1938 | dasm_put(Dst, 11689, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1941 | dasm_put(Dst, 11686, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1939 | break; | 1942 | break; |
1940 | case BC_TGETB: | 1943 | case BC_TGETB: |
1941 | dasm_put(Dst, 11761, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 1944 | dasm_put(Dst, 11758, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
1942 | dasm_put(Dst, 10101); | 1945 | dasm_put(Dst, 10098); |
1943 | break; | 1946 | break; |
1944 | 1947 | ||
1945 | case BC_TSETV: | 1948 | case BC_TSETV: |
1946 | dasm_put(Dst, 11861, LJ_TTAB, LJ_TISNUM); | 1949 | dasm_put(Dst, 11858, LJ_TTAB, LJ_TISNUM); |
1947 | if (sse) { | 1950 | if (sse) { |
1948 | dasm_put(Dst, 11472); | 1951 | dasm_put(Dst, 11469); |
1949 | } else { | 1952 | } else { |
1950 | } | 1953 | } |
1951 | dasm_put(Dst, 11894, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); | 1954 | dasm_put(Dst, 11891, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable)); |
1952 | dasm_put(Dst, 11978, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1955 | dasm_put(Dst, 11975, Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1953 | break; | 1956 | break; |
1954 | case BC_TSETS: | 1957 | case BC_TSETS: |
1955 | 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); | 1958 | dasm_put(Dst, 12037, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL); |
1956 | dasm_put(Dst, 12116, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); | 1959 | dasm_put(Dst, 12113, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next)); |
1957 | 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)); | 1960 | dasm_put(Dst, 12206, 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)); |
1958 | break; | 1961 | break; |
1959 | case BC_TSETB: | 1962 | case BC_TSETB: |
1960 | dasm_put(Dst, 12300, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); | 1963 | dasm_put(Dst, 12297, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable)); |
1961 | dasm_put(Dst, 12399, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1964 | dasm_put(Dst, 12396, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1962 | break; | 1965 | break; |
1963 | 1966 | ||
1964 | case BC_TSETM: | 1967 | case BC_TSETM: |
1965 | dasm_put(Dst, 12445); | 1968 | dasm_put(Dst, 12442); |
1966 | if (sse) { | 1969 | if (sse) { |
1967 | dasm_put(Dst, 12450); | 1970 | dasm_put(Dst, 12447); |
1968 | } else { | 1971 | } else { |
1969 | } | 1972 | } |
1970 | dasm_put(Dst, 12457, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); | 1973 | dasm_put(Dst, 12454, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base)); |
1971 | dasm_put(Dst, 12597, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); | 1974 | dasm_put(Dst, 12594, Dt6(->marked), cast_byte(~LJ_GC_BLACK), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist)); |
1972 | break; | 1975 | break; |
1973 | 1976 | ||
1974 | /* -- Calls and vararg handling ----------------------------------------- */ | 1977 | /* -- Calls and vararg handling ----------------------------------------- */ |
1975 | 1978 | ||
1976 | case BC_CALL: case BC_CALLM: | 1979 | case BC_CALL: case BC_CALLM: |
1977 | dasm_put(Dst, 10115); | 1980 | dasm_put(Dst, 10112); |
1978 | if (op == BC_CALLM) { | 1981 | if (op == BC_CALLM) { |
1979 | dasm_put(Dst, 12615); | 1982 | dasm_put(Dst, 12612); |
1980 | } | 1983 | } |
1981 | dasm_put(Dst, 12620, LJ_TFUNC, Dt7(->pc)); | 1984 | dasm_put(Dst, 12617, LJ_TFUNC, Dt7(->pc)); |
1982 | break; | 1985 | break; |
1983 | 1986 | ||
1984 | case BC_CALLMT: | 1987 | case BC_CALLMT: |
1985 | dasm_put(Dst, 12615); | 1988 | dasm_put(Dst, 12612); |
1986 | break; | 1989 | break; |
1987 | case BC_CALLT: | 1990 | case BC_CALLT: |
1988 | dasm_put(Dst, 12662, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); | 1991 | dasm_put(Dst, 12659, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc)); |
1989 | dasm_put(Dst, 12781, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); | 1992 | dasm_put(Dst, 12778, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG); |
1990 | break; | 1993 | break; |
1991 | 1994 | ||
1992 | case BC_ITERC: | 1995 | case BC_ITERC: |
1993 | dasm_put(Dst, 12852, LJ_TFUNC, 2+1, Dt7(->pc)); | 1996 | dasm_put(Dst, 12849, LJ_TFUNC, 2+1, Dt7(->pc)); |
1994 | break; | 1997 | break; |
1995 | 1998 | ||
1996 | case BC_VARG: | 1999 | case BC_VARG: |
1997 | dasm_put(Dst, 12933, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); | 2000 | dasm_put(Dst, 12930, Dt7(->pc), PC2PROTO(numparams), (8+FRAME_VARG), LJ_TNIL); |
1998 | dasm_put(Dst, 13078, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 2001 | dasm_put(Dst, 13075, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
1999 | break; | 2002 | break; |
2000 | 2003 | ||
2001 | /* -- Returns ----------------------------------------------------------- */ | 2004 | /* -- Returns ----------------------------------------------------------- */ |
2002 | 2005 | ||
2003 | case BC_RETM: | 2006 | case BC_RETM: |
2004 | dasm_put(Dst, 12615); | 2007 | dasm_put(Dst, 12612); |
2005 | break; | 2008 | break; |
2006 | 2009 | ||
2007 | case BC_RET: case BC_RET0: case BC_RET1: | 2010 | case BC_RET: case BC_RET0: case BC_RET1: |
2008 | if (op != BC_RET0) { | 2011 | if (op != BC_RET0) { |
2009 | dasm_put(Dst, 13177); | 2012 | dasm_put(Dst, 13174); |
2010 | } | 2013 | } |
2011 | dasm_put(Dst, 13181, FRAME_TYPE); | 2014 | dasm_put(Dst, 13178, FRAME_TYPE); |
2012 | switch (op) { | 2015 | switch (op) { |
2013 | case BC_RET: | 2016 | case BC_RET: |
2014 | dasm_put(Dst, 13200); | 2017 | dasm_put(Dst, 13197); |
2015 | break; | 2018 | break; |
2016 | case BC_RET1: | 2019 | case BC_RET1: |
2017 | dasm_put(Dst, 13258); | 2020 | dasm_put(Dst, 13255); |
2018 | /* fallthrough */ | 2021 | /* fallthrough */ |
2019 | case BC_RET0: | 2022 | case BC_RET0: |
2020 | dasm_put(Dst, 13274); | 2023 | dasm_put(Dst, 13271); |
2021 | default: | 2024 | default: |
2022 | break; | 2025 | break; |
2023 | } | 2026 | } |
2024 | dasm_put(Dst, 13285, Dt7(->pc), PC2PROTO(k)); | 2027 | dasm_put(Dst, 13282, Dt7(->pc), PC2PROTO(k)); |
2025 | if (op == BC_RET) { | 2028 | if (op == BC_RET) { |
2026 | dasm_put(Dst, 13329, LJ_TNIL); | 2029 | dasm_put(Dst, 13326, LJ_TNIL); |
2027 | } else { | 2030 | } else { |
2028 | dasm_put(Dst, 13338, LJ_TNIL); | 2031 | dasm_put(Dst, 13335, LJ_TNIL); |
2029 | } | 2032 | } |
2030 | dasm_put(Dst, 13345, -FRAME_VARG, FRAME_TYPEP); | 2033 | dasm_put(Dst, 13342, -FRAME_VARG, FRAME_TYPEP); |
2031 | if (op != BC_RET0) { | 2034 | if (op != BC_RET0) { |
2032 | dasm_put(Dst, 13369); | 2035 | dasm_put(Dst, 13366); |
2033 | } | 2036 | } |
2034 | dasm_put(Dst, 4577); | 2037 | dasm_put(Dst, 4573); |
2035 | break; | 2038 | break; |
2036 | 2039 | ||
2037 | /* -- Loops and branches ------------------------------------------------ */ | 2040 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -2039,7 +2042,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2039 | 2042 | ||
2040 | case BC_FORL: | 2043 | case BC_FORL: |
2041 | #if LJ_HASJIT | 2044 | #if LJ_HASJIT |
2042 | dasm_put(Dst, 13373, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2045 | dasm_put(Dst, 13370, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2043 | #endif | 2046 | #endif |
2044 | break; | 2047 | break; |
2045 | 2048 | ||
@@ -2051,57 +2054,57 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2051 | case BC_FORI: | 2054 | case BC_FORI: |
2052 | case BC_IFORL: | 2055 | case BC_IFORL: |
2053 | vk = (op == BC_IFORL || op == BC_JFORL); | 2056 | vk = (op == BC_IFORL || op == BC_JFORL); |
2054 | dasm_put(Dst, 13394); | 2057 | dasm_put(Dst, 13391); |
2055 | if (!vk) { | 2058 | if (!vk) { |
2056 | dasm_put(Dst, 13398, LJ_TISNUM, LJ_TISNUM); | 2059 | dasm_put(Dst, 13395, LJ_TISNUM, LJ_TISNUM); |
2057 | } | 2060 | } |
2058 | dasm_put(Dst, 13417); | 2061 | dasm_put(Dst, 13414); |
2059 | if (!vk) { | 2062 | if (!vk) { |
2060 | dasm_put(Dst, 13421, LJ_TISNUM); | 2063 | dasm_put(Dst, 13418, LJ_TISNUM); |
2061 | } | 2064 | } |
2062 | if (sse) { | 2065 | if (sse) { |
2063 | dasm_put(Dst, 13430); | 2066 | dasm_put(Dst, 13427); |
2064 | if (vk) { | 2067 | if (vk) { |
2065 | dasm_put(Dst, 13442); | 2068 | dasm_put(Dst, 13439); |
2066 | } else { | 2069 | } else { |
2067 | dasm_put(Dst, 13461); | 2070 | dasm_put(Dst, 13458); |
2068 | } | 2071 | } |
2069 | dasm_put(Dst, 13466); | 2072 | dasm_put(Dst, 13463); |
2070 | } else { | 2073 | } else { |
2071 | dasm_put(Dst, 13479); | 2074 | dasm_put(Dst, 13476); |
2072 | if (vk) { | 2075 | if (vk) { |
2073 | dasm_put(Dst, 13485); | 2076 | dasm_put(Dst, 13482); |
2074 | } else { | 2077 | } else { |
2075 | dasm_put(Dst, 13501); | 2078 | dasm_put(Dst, 13498); |
2076 | } | 2079 | } |
2077 | dasm_put(Dst, 13509); | 2080 | dasm_put(Dst, 13506); |
2078 | if (cmov) { | 2081 | if (cmov) { |
2079 | dasm_put(Dst, 9538); | 2082 | dasm_put(Dst, 9535); |
2080 | } else { | 2083 | } else { |
2081 | dasm_put(Dst, 9544); | 2084 | dasm_put(Dst, 9541); |
2082 | } | 2085 | } |
2083 | if (!cmov) { | 2086 | if (!cmov) { |
2084 | dasm_put(Dst, 13514); | 2087 | dasm_put(Dst, 13511); |
2085 | } | 2088 | } |
2086 | } | 2089 | } |
2087 | if (op == BC_FORI) { | 2090 | if (op == BC_FORI) { |
2088 | dasm_put(Dst, 13520, -BCBIAS_J*4); | 2091 | dasm_put(Dst, 13517, -BCBIAS_J*4); |
2089 | } else if (op == BC_JFORI) { | 2092 | } else if (op == BC_JFORI) { |
2090 | dasm_put(Dst, 13530, -BCBIAS_J*4, BC_JLOOP); | 2093 | dasm_put(Dst, 13527, -BCBIAS_J*4, BC_JLOOP); |
2091 | } else if (op == BC_IFORL) { | 2094 | } else if (op == BC_IFORL) { |
2092 | dasm_put(Dst, 13544, -BCBIAS_J*4); | 2095 | dasm_put(Dst, 13541, -BCBIAS_J*4); |
2093 | } else { | 2096 | } else { |
2094 | dasm_put(Dst, 13540, BC_JLOOP); | 2097 | dasm_put(Dst, 13537, BC_JLOOP); |
2095 | } | 2098 | } |
2096 | dasm_put(Dst, 9573); | 2099 | dasm_put(Dst, 9570); |
2097 | if (sse) { | 2100 | if (sse) { |
2098 | dasm_put(Dst, 13554); | 2101 | dasm_put(Dst, 13551); |
2099 | } | 2102 | } |
2100 | break; | 2103 | break; |
2101 | 2104 | ||
2102 | case BC_ITERL: | 2105 | case BC_ITERL: |
2103 | #if LJ_HASJIT | 2106 | #if LJ_HASJIT |
2104 | dasm_put(Dst, 13373, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2107 | dasm_put(Dst, 13370, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2105 | #endif | 2108 | #endif |
2106 | break; | 2109 | break; |
2107 | 2110 | ||
@@ -2110,33 +2113,33 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2110 | break; | 2113 | break; |
2111 | #endif | 2114 | #endif |
2112 | case BC_IITERL: | 2115 | case BC_IITERL: |
2113 | dasm_put(Dst, 13565, LJ_TNIL); | 2116 | dasm_put(Dst, 13562, LJ_TNIL); |
2114 | if (op == BC_JITERL) { | 2117 | if (op == BC_JITERL) { |
2115 | dasm_put(Dst, 13580, BC_JLOOP); | 2118 | dasm_put(Dst, 13577, BC_JLOOP); |
2116 | } else { | 2119 | } else { |
2117 | dasm_put(Dst, 13594, -BCBIAS_J*4); | 2120 | dasm_put(Dst, 13591, -BCBIAS_J*4); |
2118 | } | 2121 | } |
2119 | dasm_put(Dst, 9873); | 2122 | dasm_put(Dst, 9870); |
2120 | break; | 2123 | break; |
2121 | 2124 | ||
2122 | case BC_LOOP: | 2125 | case BC_LOOP: |
2123 | #if LJ_HASJIT | 2126 | #if LJ_HASJIT |
2124 | dasm_put(Dst, 13373, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2127 | dasm_put(Dst, 13370, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2125 | #endif | 2128 | #endif |
2126 | break; | 2129 | break; |
2127 | 2130 | ||
2128 | case BC_ILOOP: | 2131 | case BC_ILOOP: |
2129 | dasm_put(Dst, 9575); | 2132 | dasm_put(Dst, 9572); |
2130 | break; | 2133 | break; |
2131 | 2134 | ||
2132 | case BC_JLOOP: | 2135 | case BC_JLOOP: |
2133 | #if LJ_HASJIT | 2136 | #if LJ_HASJIT |
2134 | dasm_put(Dst, 13610, 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); | 2137 | dasm_put(Dst, 13607, 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); |
2135 | #endif | 2138 | #endif |
2136 | break; | 2139 | break; |
2137 | 2140 | ||
2138 | case BC_JMP: | 2141 | case BC_JMP: |
2139 | dasm_put(Dst, 13719, -BCBIAS_J*4); | 2142 | dasm_put(Dst, 13716, -BCBIAS_J*4); |
2140 | break; | 2143 | break; |
2141 | 2144 | ||
2142 | /* -- Function headers -------------------------------------------------- */ | 2145 | /* -- Function headers -------------------------------------------------- */ |
@@ -2150,7 +2153,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2150 | 2153 | ||
2151 | case BC_FUNCF: | 2154 | case BC_FUNCF: |
2152 | #if LJ_HASJIT | 2155 | #if LJ_HASJIT |
2153 | dasm_put(Dst, 13744, HOTCOUNT_PCMASK, GG_DISP2HOT); | 2156 | dasm_put(Dst, 13741, HOTCOUNT_PCMASK, GG_DISP2HOT); |
2154 | #endif | 2157 | #endif |
2155 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 2158 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
2156 | break; | 2159 | break; |
@@ -2160,47 +2163,47 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse) | |||
2160 | break; | 2163 | break; |
2161 | #endif | 2164 | #endif |
2162 | case BC_IFUNCF: | 2165 | case BC_IFUNCF: |
2163 | dasm_put(Dst, 13765, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); | 2166 | dasm_put(Dst, 13762, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams)); |
2164 | if (op == BC_JFUNCF) { | 2167 | if (op == BC_JFUNCF) { |
2165 | dasm_put(Dst, 13795, BC_JLOOP); | 2168 | dasm_put(Dst, 13792, BC_JLOOP); |
2166 | } else { | 2169 | } else { |
2167 | dasm_put(Dst, 9575); | 2170 | dasm_put(Dst, 9572); |
2168 | } | 2171 | } |
2169 | dasm_put(Dst, 13804, LJ_TNIL); | 2172 | dasm_put(Dst, 13801, LJ_TNIL); |
2170 | break; | 2173 | break; |
2171 | 2174 | ||
2172 | case BC_JFUNCV: | 2175 | case BC_JFUNCV: |
2173 | #if !LJ_HASJIT | 2176 | #if !LJ_HASJIT |
2174 | break; | 2177 | break; |
2175 | #endif | 2178 | #endif |
2176 | dasm_put(Dst, 9266); | 2179 | dasm_put(Dst, 9047); |
2177 | break; /* NYI: compiled vararg functions. */ | 2180 | break; /* NYI: compiled vararg functions. */ |
2178 | 2181 | ||
2179 | case BC_IFUNCV: | 2182 | case BC_IFUNCV: |
2180 | dasm_put(Dst, 13826, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); | 2183 | dasm_put(Dst, 13823, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL); |
2181 | if (op == BC_JFUNCV) { | 2184 | if (op == BC_JFUNCV) { |
2182 | dasm_put(Dst, 13795, BC_JLOOP); | 2185 | dasm_put(Dst, 13792, BC_JLOOP); |
2183 | } else { | 2186 | } else { |
2184 | dasm_put(Dst, 13917, -4+PC2PROTO(k)); | 2187 | dasm_put(Dst, 13914, -4+PC2PROTO(k)); |
2185 | } | 2188 | } |
2186 | dasm_put(Dst, 13940, LJ_TNIL); | 2189 | dasm_put(Dst, 13937, LJ_TNIL); |
2187 | break; | 2190 | break; |
2188 | 2191 | ||
2189 | case BC_FUNCC: | 2192 | case BC_FUNCC: |
2190 | case BC_FUNCCW: | 2193 | case BC_FUNCCW: |
2191 | dasm_put(Dst, 13962, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); | 2194 | dasm_put(Dst, 13959, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top)); |
2192 | if (op == BC_FUNCC) { | 2195 | if (op == BC_FUNCC) { |
2193 | dasm_put(Dst, 13992); | 2196 | dasm_put(Dst, 13989); |
2194 | } else { | 2197 | } else { |
2195 | dasm_put(Dst, 13996); | 2198 | dasm_put(Dst, 13993); |
2196 | } | 2199 | } |
2197 | dasm_put(Dst, 14004, DISPATCH_GL(vmstate), ~LJ_VMST_C); | 2200 | dasm_put(Dst, 14001, DISPATCH_GL(vmstate), ~LJ_VMST_C); |
2198 | if (op == BC_FUNCC) { | 2201 | if (op == BC_FUNCC) { |
2199 | dasm_put(Dst, 14013); | 2202 | dasm_put(Dst, 14010); |
2200 | } else { | 2203 | } else { |
2201 | dasm_put(Dst, 14017, DISPATCH_GL(wrapf)); | 2204 | dasm_put(Dst, 14014, DISPATCH_GL(wrapf)); |
2202 | } | 2205 | } |
2203 | dasm_put(Dst, 14022, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); | 2206 | dasm_put(Dst, 14019, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top)); |
2204 | break; | 2207 | break; |
2205 | 2208 | ||
2206 | /* ---------------------------------------------------------------------- */ | 2209 | /* ---------------------------------------------------------------------- */ |
@@ -2228,7 +2231,7 @@ static int build_backend(BuildCtx *ctx) | |||
2228 | 2231 | ||
2229 | build_subroutines(ctx, cmov, sse); | 2232 | build_subroutines(ctx, cmov, sse); |
2230 | 2233 | ||
2231 | dasm_put(Dst, 14047); | 2234 | dasm_put(Dst, 14044); |
2232 | for (op = 0; op < BC__MAX; op++) | 2235 | for (op = 0; op < BC__MAX; op++) |
2233 | build_ins(ctx, (BCOp)op, op, cmov, sse); | 2236 | build_ins(ctx, (BCOp)op, op, cmov, sse); |
2234 | 2237 | ||