Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/facebook/luaffifb.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudheer Hebbale <sudheer.hr@tekenlight.com>2021-03-01 19:45:47 +0300
committerGitHub <noreply@github.com>2021-03-01 19:45:47 +0300
commit81460845431bf2ec16fca8286fd257fcc9ef0311 (patch)
tree417190a70d79b3e1532648d6277044c2c79b8a14
parent532c757e51c86f546a85730b71c9fef15ffa633d (diff)
Fixed a defect in callback parameter passing mechanism for __amd64__ … (#38)
-rw-r--r--call_x64.h221
-rwxr-xr-xcall_x86.dasc5
-rwxr-xr-xcall_x86.h188
3 files changed, 224 insertions, 190 deletions
diff --git a/call_x64.h b/call_x64.h
index 5cf89a0..afbf084 100644
--- a/call_x64.h
+++ b/call_x64.h
@@ -19,110 +19,118 @@
*/
static const unsigned char build_actionlist[2157] = {
- 72,139,141,233,255,72,137,132,253,36,233,255,221,133,233,255,217,133,233,
- 255,252,243,15,126,133,233,255,252,243,15,90,133,233,255,221,156,253,36,233,
- 255,217,156,253,36,233,255,102,15,214,132,253,36,233,255,252,242,15,90,192,
- 102,15,214,132,253,36,233,255,252,242,15,90,192,102,15,126,132,253,36,233,
- 255,85,72,137,229,65,84,72,129,252,236,239,102,15,214,69,252,240,102,15,214,
- 77,232,102,15,214,85,224,102,15,214,93,216,102,15,214,101,208,102,15,214,
- 109,200,102,15,214,117,192,102,15,214,125,184,72,137,125,176,72,137,117,168,
- 72,137,85,160,72,137,77,152,76,137,69,144,76,137,77,136,255,73,188,237,237,
- 255,72,199,194,237,72,199,198,237,76,137,231,232,251,1,0,255,72,199,194,237,
- 72,199,198,252,255,252,255,252,255,252,255,76,137,231,232,251,1,0,255,72,
- 199,194,237,72,199,198,237,76,137,231,232,251,1,0,72,186,237,237,72,199,198,
- 252,255,252,255,252,255,252,255,76,137,231,232,251,1,1,255,72,137,8,72,199,
- 198,252,254,252,255,252,255,252,255,76,137,231,232,251,1,2,255,72,186,237,
- 237,72,199,198,0,0,0,0,76,137,231,232,251,1,1,255,72,137,8,255,102,15,214,
- 0,255,217,24,255,217,88,4,255,102,15,214,64,8,255,76,137,231,232,251,1,3,
- 255,15,182,201,72,137,206,76,137,231,232,251,1,4,255,15,182,201,255,15,190,
- 201,255,72,137,206,76,137,231,232,251,1,5,255,15,183,201,255,15,191,201,255,
- 72,137,206,76,137,231,232,251,1,6,255,72,185,237,237,72,199,194,237,72,199,
- 198,237,76,137,231,232,251,1,7,255,72,199,194,237,72,199,198,252,254,252,
- 255,252,255,252,255,76,137,231,232,251,1,0,72,185,237,237,72,199,194,252,
- 255,252,255,252,255,252,255,72,199,198,252,254,252,255,252,255,252,255,76,
- 137,231,232,251,1,8,72,137,68,36,32,72,199,198,252,252,252,255,252,255,252,
- 255,76,137,231,232,251,1,9,72,139,68,36,32,255,72,199,194,237,72,199,198,
- 252,254,252,255,252,255,252,255,76,137,231,232,251,1,0,72,185,237,237,72,
- 199,194,252,255,252,255,252,255,252,255,72,199,198,252,254,252,255,252,255,
- 252,255,76,137,231,232,251,1,10,137,68,36,32,72,199,198,252,252,252,255,252,
- 255,252,255,76,137,231,232,251,1,9,139,68,36,32,255,72,199,198,252,254,252,
- 255,252,255,252,255,76,137,231,232,251,1,9,255,72,199,198,252,255,252,255,
- 252,255,252,255,76,137,231,232,251,1,11,255,72,199,198,252,255,252,255,252,
- 255,252,255,76,137,231,232,251,1,12,255,137,68,36,32,72,199,198,252,253,252,
- 255,252,255,252,255,76,137,231,232,251,1,9,139,68,36,32,255,72,199,198,252,
- 255,252,255,252,255,252,255,76,137,231,232,251,1,13,255,72,199,198,252,255,
- 252,255,252,255,252,255,76,137,231,232,251,1,14,255,72,137,68,36,32,72,199,
- 198,252,253,252,255,252,255,252,255,76,137,231,232,251,1,9,72,139,68,36,32,
- 255,72,199,198,252,255,252,255,252,255,252,255,76,137,231,232,251,1,15,72,
- 137,68,36,32,72,199,198,252,253,252,255,252,255,252,255,76,137,231,232,251,
- 1,9,72,139,68,36,32,255,72,199,198,252,255,252,255,252,255,252,255,76,137,
- 231,232,251,1,16,102,15,214,68,36,32,72,199,198,252,253,252,255,252,255,252,
- 255,76,137,231,232,251,1,9,255,252,242,15,90,68,36,32,255,252,243,15,126,
- 68,36,32,255,72,199,198,252,255,252,255,252,255,252,255,76,137,231,232,251,
- 1,17,102,15,214,68,36,32,72,199,198,252,253,252,255,252,255,252,255,76,137,
- 231,232,251,1,9,252,243,15,126,68,36,32,255,72,199,198,252,255,252,255,252,
- 255,252,255,76,137,231,232,251,1,18,102,15,214,68,36,32,102,15,214,76,36,
- 40,72,199,198,252,253,252,255,252,255,252,255,76,137,231,232,251,1,9,252,
- 243,15,126,68,36,32,252,243,15,126,76,36,40,255,72,139,141,233,72,199,194,
- 252,255,252,255,252,255,252,255,76,137,230,72,137,207,232,251,1,18,72,131,
- 252,236,4,72,199,198,252,253,252,255,252,255,252,255,76,137,231,232,251,1,
- 9,255,76,139,101,252,248,72,137,252,236,93,194,236,255,85,72,137,229,65,84,
- 65,85,73,137,252,252,76,137,231,232,251,1,19,73,137,197,72,129,252,248,239,
- 255,15,141,244,248,102,184,0,0,72,190,237,237,76,137,231,232,251,1,20,248,
- 2,15,142,244,247,102,184,0,0,72,190,237,237,76,137,231,232,251,1,20,255,15,
- 141,244,247,102,184,0,0,72,190,237,237,76,137,231,232,251,1,20,255,248,1,
- 255,72,193,224,4,72,41,196,72,129,252,236,239,255,72,186,237,237,72,199,198,
- 0,0,0,0,76,137,231,232,251,1,1,72,131,252,236,16,255,72,185,237,237,72,199,
- 194,237,72,199,198,237,76,137,231,232,251,1,8,255,72,185,237,237,72,199,194,
- 237,72,199,198,237,76,137,231,232,251,1,21,255,72,185,237,237,72,199,194,
- 237,72,199,198,237,76,137,231,232,251,1,10,255,72,199,198,237,76,137,231,
- 232,251,1,12,255,15,182,192,255,15,190,192,255,15,183,192,255,15,191,192,
- 255,72,199,198,237,76,137,231,232,251,1,12,131,252,248,0,15,149,208,15,182,
- 192,255,72,199,198,237,76,137,231,232,251,1,11,255,72,199,198,237,76,137,
- 231,232,251,1,15,255,72,199,198,237,76,137,231,232,251,1,13,255,72,199,198,
- 237,76,137,231,232,251,1,14,255,72,199,198,237,76,137,231,232,251,1,16,255,
- 72,199,198,237,76,137,231,232,251,1,18,255,252,243,15,126,193,255,72,141,
- 132,253,36,233,72,131,252,236,4,72,199,194,237,76,137,230,72,137,199,232,
- 251,1,18,255,72,199,198,237,76,137,231,232,251,1,17,255,72,199,198,237,76,
- 137,231,232,251,1,17,137,4,36,217,4,36,255,137,20,36,217,4,36,255,72,137,
- 224,72,129,192,239,73,137,192,72,199,193,237,76,137,252,234,72,199,198,237,
- 76,137,231,232,251,1,22,255,72,137,224,72,129,192,239,73,137,192,72,199,193,
- 237,76,137,252,234,72,199,198,237,76,137,231,232,251,1,23,255,72,137,224,
- 72,129,192,239,73,137,193,73,199,192,237,72,199,193,237,76,137,252,234,72,
- 199,198,237,76,137,231,232,251,1,24,255,72,185,237,237,139,1,72,137,199,232,
- 251,1,25,255,72,131,196,32,255,252,243,15,126,188,253,36,233,255,252,243,
- 15,126,180,253,36,233,255,252,243,15,126,172,253,36,233,255,252,243,15,126,
- 164,253,36,233,255,252,243,15,126,156,253,36,233,255,252,243,15,126,148,253,
- 36,233,255,252,243,15,126,140,253,36,233,255,252,243,15,126,132,253,36,233,
- 255,76,139,140,253,36,233,255,76,139,132,253,36,233,255,72,139,140,253,36,
- 233,255,72,139,148,253,36,233,255,72,139,180,253,36,233,255,72,139,60,36,
- 255,72,129,196,239,255,176,8,255,232,251,1,26,72,131,252,236,48,255,72,137,
- 68,36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,237,72,199,198,237,
- 76,137,231,232,251,1,1,72,139,76,36,32,72,137,8,184,1,0,0,0,76,139,109,252,
- 240,76,139,101,252,248,72,137,252,236,93,195,255,72,137,68,36,32,232,251,
- 1,27,72,185,237,237,137,1,72,139,68,36,32,72,137,198,76,137,231,232,251,1,
- 28,184,1,0,0,0,76,139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,
- 255,72,137,68,36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,237,72,199,
- 198,0,0,0,0,76,137,231,232,251,1,1,72,139,76,36,32,72,137,8,184,1,0,0,0,76,
- 139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,255,102,15,214,68,
- 36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,237,72,199,198,237,76,
- 137,231,232,251,1,1,72,139,76,36,32,72,137,8,184,1,0,0,0,76,139,109,252,240,
- 76,139,101,252,248,72,137,252,236,93,195,255,102,15,214,76,36,40,102,15,214,
- 68,36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,237,72,199,198,237,
- 76,137,231,232,251,1,1,72,139,76,36,40,72,137,72,8,72,139,76,36,32,72,137,
- 8,184,1,0,0,0,76,139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,
- 255,232,251,1,27,72,185,237,237,137,1,184,0,0,0,0,76,139,109,252,240,76,139,
- 101,252,248,72,137,252,236,93,195,255,15,182,192,137,68,36,32,232,251,1,27,
- 72,185,237,237,137,1,139,68,36,32,72,137,198,76,137,231,232,251,1,4,184,1,
- 0,0,0,76,139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,255,137,
- 68,36,32,232,251,1,27,72,185,237,237,137,1,139,68,36,32,72,137,198,76,137,
- 231,232,251,1,5,184,1,0,0,0,76,139,109,252,240,76,139,101,252,248,72,137,
+ 72,139,141,233,255,72,137,132,253,36,233,255,221.0,133,233,255,217.0,133,
+ 233,255,252,243.0,15.0,126,133,233,255,252,243.0,15.0,90,133,233,255,221.0,
+ 156,253,36,233,255,217.0,156,253,36,233,255,102.0,15.0,214,132,253,36,233,
+ 255,252,242.0,15.0,90,192,102.0,15.0,214,132,253,36,233,255,252,242.0,15.0,
+ 90,192,102.0,15.0,126,132,253,36,233,255,85,72,137,229,65,84,72,129.0,252,
+ 236,239,102.0,15.0,214,69,252,240,102.0,15.0,214,77,232,102.0,15.0,214,85,
+ 224,102.0,15.0,214,93,216,102.0,15.0,214,101,208,102.0,15.0,214,109,200,102.0,
+ 15.0,214,117,192,102.0,15.0,214,125,184,72,137,125,176,72,137,117,168,72,
+ 137,85,160,72,137,77,152,76,137,69,144,76,137,77,136,255,73,188,237,237,255,
+ 72,199.0,194,237,72,199.0,198,237,76,137,231,232,251,1,0,255,72,199.0,194,
+ 237,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,251,
+ 1,0,255,72,199.0,194,237,72,199.0,198,237,76,137,231,232,251,1,0,72,186,237,
+ 237,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,251,
+ 1,1,255,72,137,8,72,199.0,198,252,254,252,255.0,252,255.0,252,255.0,76,137,
+ 231,232,251,1,2,255,72,186,237,237,72,199.0,198,0,0.0,0.0,0.0,76,137,231,
+ 232,251,1,1,255,72,137,8,255,102.0,15.0,214,0,255,217.0,24,255,217.0,88,4,
+ 255,102.0,15.0,214,64,8,255,76,137,231,232,251,1,3,255,15.0,182,201,72,137,
+ 206,76,137,231,232,251,1,4,255,15.0,182,201,255,15.0,190,201,255,72,137,206,
+ 76,137,231,232,251,1,5,255,15.0,183,201,255,15.0,191,201,255,72,137,206,76,
+ 137,231,232,251,1,6,255,72,185,237,237,72,199.0,194,237,72,199.0,198,237,
+ 76,137,231,232,251,1,7,255,72,199.0,194,237,72,199.0,198,252,254,252,255.0,
+ 252,255.0,252,255.0,76,137,231,232,251,1,0,72,185,237,237,72,199.0,194,252,
+ 255,252,255.0,252,255.0,252,255.0,72,199.0,198,252,254,252,255.0,252,255.0,
+ 252,255.0,76,137,231,232,251,1,8,72,137,68,36,32,72,199.0,198,252,252,252,
+ 255.0,252,255.0,252,255.0,76,137,231,232,251,1,9,72,139,68,36,32,255,72,199.0,
+ 194,237,72,199.0,198,252,254,252,255.0,252,255.0,252,255.0,76,137,231,232,
+ 251,1,0,72,185,237,237,72,199.0,194,252,255,252,255.0,252,255.0,252,255.0,
+ 72,199.0,198,252,254,252,255.0,252,255.0,252,255.0,76,137,231,232,251,1,10,
+ 137,68,36,32,72,199.0,198,252,252,252,255.0,252,255.0,252,255.0,76,137,231,
+ 232,251,1,9,139,68,36,32,255,72,199.0,198,252,254,252,255.0,252,255.0,252,
+ 255.0,76,137,231,232,251,1,9,255,72,199.0,198,252,255,252,255.0,252,255.0,
+ 252,255.0,76,137,231,232,251,1,11,255,72,199.0,198,252,255,252,255.0,252,
+ 255.0,252,255.0,76,137,231,232,251,1,12,255,137,68,36,32,72,199.0,198,252,
+ 253,252,255.0,252,255.0,252,255.0,76,137,231,232,251,1,9,139,68,36,32,255,
+ 72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,251,1,13,
+ 255,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,251,
+ 1,14,255,72,137,68,36,32,72,199.0,198,252,253,252,255.0,252,255.0,252,255.0,
+ 76,137,231,232,251,1,9,72,139,68,36,32,255,72,199.0,198,252,255,252,255.0,
+ 252,255.0,252,255.0,76,137,231,232,251,1,15,72,137,68,36,32,72,199.0,198,
+ 252,253,252,255.0,252,255.0,252,255.0,76,137,231,232,251,1,9,72,139,68,36,
+ 32,255,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,
+ 251,1,16,102.0,15.0,214,68,36,32,72,199.0,198,252,253,252,255.0,252,255.0,
+ 252,255.0,76,137,231,232,251,1,9,255,252,242.0,15.0,90,68,36,32,255,252,243.0,
+ 15.0,126,68,36,32,255,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,
+ 76,137,231,232,251,1,17,102.0,15.0,214,68,36,32,72,199.0,198,252,253,252,
+ 255.0,252,255.0,252,255.0,76,137,231,232,251,1,9,252,243.0,15.0,126,68,36,
+ 32,255,72,199.0,198,252,255,252,255.0,252,255.0,252,255.0,76,137,231,232,
+ 251,1,18,102.0,15.0,214,68,36,32,102.0,15.0,214,76,36,40,72,199.0,198,252,
+ 253,252,255.0,252,255.0,252,255.0,76,137,231,232,251,1,9,252,243.0,15.0,126,
+ 68,36,32,252,243.0,15.0,126,76,36,40,255,72,139,141,233,72,199.0,194,252,
+ 255,252,255.0,252,255.0,252,255.0,76,137,230,72,137,207,232,251,1,18,72,131.0,
+ 252,236,4,72,199.0,198,252,253,252,255.0,252,255.0,252,255.0,76,137,231,232,
+ 251,1,9,255,76,139,101,252,248,72,137,252,236,93,194,236,255,85,72,137,229,
+ 65,84,65,85,73,137,252,252,76,137,231,232,251,1,19,73,137,197,72,129.0,252,
+ 248,239,255,15.0,141,244,248.0,102,184,0,0.0,72,190,237,237,76,137,231,232,
+ 251,1,20,248,2,15.0,142,244,247.0,102,184,0,0.0,72,190,237,237,76,137,231,
+ 232,251,1,20,255,15.0,141,244,247.0,102,184,0,0.0,72,190,237,237,76,137,231,
+ 232,251,1,20,255,248,1,255,72,193.0,224,4,72,41,196,72,129.0,252,236,239,
+ 255,72,186,237,237,72,199.0,198,0,0.0,0.0,0.0,76,137,231,232,251,1,1,72,131.0,
+ 252,236,16,255,72,185,237,237,72,199.0,194,237,72,199.0,198,237,76,137,231,
+ 232,251,1,8,255,72,185,237,237,72,199.0,194,237,72,199.0,198,237,76,137,231,
+ 232,251,1,21,255,72,185,237,237,72,199.0,194,237,72,199.0,198,237,76,137,
+ 231,232,251,1,10,255,72,199.0,198,237,76,137,231,232,251,1,12,255,15.0,182,
+ 192,255,15.0,190,192,255,15.0,183,192,255,15.0,191,192,255,72,199.0,198,237,
+ 76,137,231,232,251,1,12,131.0,252,248,0,15.0,149.0,208,15.0,182,192,255,72,
+ 199.0,198,237,76,137,231,232,251,1,11,255,72,199.0,198,237,76,137,231,232,
+ 251,1,15,255,72,199.0,198,237,76,137,231,232,251,1,13,255,72,199.0,198,237,
+ 76,137,231,232,251,1,14,255,72,199.0,198,237,76,137,231,232,251,1,16,255,
+ 72,199.0,198,237,76,137,231,232,251,1,18,255,252,243.0,15.0,126,193,255,72,
+ 141,132,253,36,233,72,131.0,252,236,4,72,199.0,194,237,76,137,230,72,137,
+ 199,232,251,1,18,255,72,199.0,198,237,76,137,231,232,251,1,17,255,72,199.0,
+ 198,237,76,137,231,232,251,1,17,137,4,36,217.0,4,36,255,137,20,36,217.0,4,
+ 36,255,72,137,224,72,129.0,192,239,73,137,192,72,199.0,193,237,76,137,252,
+ 234,72,199.0,198,237,76,137,231,232,251,1,22,255,72,137,224,72,129.0,192,
+ 239,73,137,192,72,199.0,193,237,76,137,252,234,72,199.0,198,237,76,137,231,
+ 232,251,1,23,255,72,137,224,72,129.0,192,239,73,137,193,73,199.0,192,237,
+ 72,199.0,193,237,76,137,252,234,72,199.0,198,237,76,137,231,232,251,1,24,
+ 255,72,185,237,237,139,1,72,137,199,232,251,1,25,255,72,131.0,196,32,255,
+ 252,243.0,15.0,126,188,253,36,233,255,252,243.0,15.0,126,180,253,36,233,255,
+ 252,243.0,15.0,126,172,253,36,233,255,252,243.0,15.0,126,164,253,36,233,255,
+ 252,243.0,15.0,126,156,253,36,233,255,252,243.0,15.0,126,148,253,36,233,255,
+ 252,243.0,15.0,126,140,253,36,233,255,252,243.0,15.0,126,132,253,36,233,255,
+ 76,139,140,253,36,233,255,76,139,132,253,36,233,255,72,139,140,253,36,233,
+ 255,72,139,148,253,36,233,255,72,139,180,253,36,233,255,72,139,60,36,255,
+ 72,129.0,196,239,255,176,8,255,232,251,1,26,72,131.0,252,236,48,255,72,137,
+ 68,36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,237,72,199.0,198,237,
+ 76,137,231,232,251,1,1,72,139,76,36,32,72,137,8,184,1,0.0,0.0,0.0,76,139,
+ 109,252,240,76,139,101,252,248,72,137,252,236,93,195,255,72,137,68,36,32,
+ 232,251,1,27,72,185,237,237,137,1,72,139,68,36,32,72,137,198,76,137,231,232,
+ 251,1,28,184,1,0.0,0.0,0.0,76,139,109,252,240,76,139,101,252,248,72,137,252,
+ 236,93,195,255,72,137,68,36,32,232,251,1,27,72,185,237,237,137,1,72,186,237,
+ 237,72,199.0,198,0,0.0,0.0,0.0,76,137,231,232,251,1,1,72,139,76,36,32,72,
+ 137,8,184,1,0.0,0.0,0.0,76,139,109,252,240,76,139,101,252,248,72,137,252,
+ 236,93,195,255,102.0,15.0,214,68,36,32,232,251,1,27,72,185,237,237,137,1,
+ 72,186,237,237,72,199.0,198,237,76,137,231,232,251,1,1,72,139,76,36,32,72,
+ 137,8,184,1,0.0,0.0,0.0,76,139,109,252,240,76,139,101,252,248,72,137,252,
+ 236,93,195,255,102.0,15.0,214,76,36,40,102.0,15.0,214,68,36,32,232,251,1,
+ 27,72,185,237,237,137,1,72,186,237,237,72,199.0,198,237,76,137,231,232,251,
+ 1,1,72,139,76,36,40,72,137,72,8,72,139,76,36,32,72,137,8,184,1,0.0,0.0,0.0,
+ 76,139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,255,232,251,1,
+ 27,72,185,237,237,137,1,184,0,0.0,0.0,0.0,76,139,109,252,240,76,139,101,252,
+ 248,72,137,252,236,93,195,255,15.0,182,192,137,68,36,32,232,251,1,27,72,185,
+ 237,237,137,1,139,68,36,32,72,137,198,76,137,231,232,251,1,4,184,1,0.0,0.0,
+ 0.0,76,139,109,252,240,76,139,101,252,248,72,137,252,236,93,195,255,137,68,
+ 36,32,232,251,1,27,72,185,237,237,137,1,139,68,36,32,72,137,198,76,137,231,
+ 232,251,1,5,184,1,0.0,0.0,0.0,76,139,109,252,240,76,139,101,252,248,72,137,
252,236,93,195,255,137,68,36,32,232,251,1,27,72,185,237,237,137,1,139,68,
- 36,32,72,137,198,76,137,231,232,251,1,6,184,1,0,0,0,76,139,109,252,240,76,
- 139,101,252,248,72,137,252,236,93,195,255,252,243,15,90,192,102,15,214,68,
- 36,32,232,251,1,27,72,185,237,237,137,1,252,243,15,126,68,36,32,76,137,231,
- 232,251,1,3,184,1,0,0,0,76,139,109,252,240,76,139,101,252,248,72,137,252,
- 236,93,195,255
+ 36,32,72,137,198,76,137,231,232,251,1,6,184,1,0.0,0.0,0.0,76,139,109,252,
+ 240,76,139,101,252,248,72,137,252,236,93,195,255,252,243.0,15.0,90,192,102.0,
+ 15.0,214,68,36,32,232,251,1,27,72,185,237,237,137,1,252,243.0,15.0,126,68,
+ 36,32,76,137,231,232,251,1,3,184,1,0.0,0.0,0.0,76,139,109,252,240,76,139,
+ 101,252,248,72,137,252,236,93,195,255
};
static const char *const globnames[] = {
@@ -228,6 +236,8 @@ void compile_globals(struct jit* jit, lua_State* L)
* stack
*/
+
+
compile(Dst, L, NULL, LUA_NOREF);
}
@@ -355,7 +365,12 @@ static void get_int(Dst_DECL, const struct ctype* ct, struct reg_alloc* reg, int
reg->off += 8;
} else {
dasm_put(Dst, 1, reg->off);
+#if defined __amd64__ || defined _WIN64
+ /* The parameters to a function on stack are always 8 byte aligned. */
+ reg->off += 8;
+#else
reg->off += 4;
+#endif
}
}
diff --git a/call_x86.dasc b/call_x86.dasc
index 4a72b98..404683b 100755
--- a/call_x86.dasc
+++ b/call_x86.dasc
@@ -506,7 +506,12 @@ static void get_int(Dst_DECL, const struct ctype* ct, struct reg_alloc* reg, int
reg->off += 8;
} else {
| mov ecx, [rbp + reg->off]
+#if defined __amd64__ || defined _WIN64
+ /* The parameters to a function on stack are always 8 byte aligned. */
+ reg->off += 8;
+#else
reg->off += 4;
+#endif
}
}
diff --git a/call_x86.h b/call_x86.h
index 4611a3c..05094ab 100755
--- a/call_x86.h
+++ b/call_x86.h
@@ -20,94 +20,101 @@
static const unsigned char build_actionlist[1915] = {
139,141,233,255,139,141,233,139,149,233,255,137,132,253,36,233,255,137,132,
- 253,36,233,137,148,253,36,233,255,221,133,233,255,217,133,233,255,252,243,
- 15,126,133,233,255,252,243,15,90,133,233,255,221,156,253,36,233,255,217,156,
- 253,36,233,255,102,15,214,132,253,36,233,255,252,242,15,90,192,102,15,214,
- 132,253,36,233,255,252,242,15,90,192,102,15,126,132,253,36,233,255,85,137,
- 229,87,129,252,236,239,255,137,77,252,248,137,85,252,244,255,191,237,255,
- 199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,0,255,199,68,36,8,237,
- 199,68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,1,0,255,199,
- 68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,0,199,68,36,8,237,199,68,
- 36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,1,1,255,137,8,199,
- 68,36,4,252,254,252,255,252,255,252,255,137,60,36,232,251,1,2,255,199,68,
- 36,8,237,199,68,36,4,0,0,0,0,137,60,36,232,251,1,1,255,137,8,137,80,4,255,
- 137,8,255,102,15,214,0,255,217,24,255,217,88,4,255,221,24,255,221,88,8,255,
- 221,92,36,4,137,60,36,232,251,1,3,255,15,182,201,137,76,36,4,137,60,36,232,
- 251,1,4,255,15,182,201,255,15,190,201,255,137,76,36,4,137,60,36,232,251,1,
- 5,255,15,183,201,255,15,191,201,255,137,76,36,4,137,60,36,232,251,1,6,255,
- 199,68,36,12,0,0,0,0,199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,
- 7,255,199,68,36,8,237,199,68,36,4,252,254,252,255,252,255,252,255,137,60,
- 36,232,251,1,0,199,68,36,12,237,199,68,36,8,252,255,252,255,252,255,252,255,
- 199,68,36,4,252,254,252,255,252,255,252,255,137,60,36,232,251,1,8,137,68,
- 36,32,199,68,36,4,252,252,252,255,252,255,252,255,137,60,36,232,251,1,9,139,
- 68,36,32,255,199,68,36,8,237,199,68,36,4,252,254,252,255,252,255,252,255,
- 137,60,36,232,251,1,0,199,68,36,12,237,199,68,36,8,252,255,252,255,252,255,
- 252,255,199,68,36,4,252,254,252,255,252,255,252,255,137,60,36,232,251,1,10,
- 137,68,36,32,199,68,36,4,252,252,252,255,252,255,252,255,137,60,36,232,251,
- 1,9,139,68,36,32,255,199,68,36,4,252,254,252,255,252,255,252,255,137,60,36,
- 232,251,1,9,255,199,68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,
- 251,1,11,255,199,68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,
- 1,12,255,137,68,36,32,199,68,36,4,252,253,252,255,252,255,252,255,137,60,
- 36,232,251,1,9,139,68,36,32,255,199,68,36,4,252,255,252,255,252,255,252,255,
- 137,60,36,232,251,1,13,255,199,68,36,4,252,255,252,255,252,255,252,255,137,
- 60,36,232,251,1,14,255,137,68,36,32,137,84,36,36,199,68,36,4,252,253,252,
- 255,252,255,252,255,137,60,36,232,251,1,9,139,68,36,32,139,84,36,36,255,199,
- 68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,1,15,137,68,36,
- 32,199,68,36,4,252,253,252,255,252,255,252,255,137,60,36,232,251,1,9,139,
- 68,36,32,255,199,68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,
- 1,16,255,221,92,36,32,199,68,36,4,252,253,252,255,252,255,252,255,137,60,
- 36,232,251,1,9,221,68,36,32,255,199,68,36,4,252,255,252,255,252,255,252,255,
- 137,60,36,232,251,1,17,137,68,36,32,137,84,36,36,199,68,36,4,252,253,252,
- 255,252,255,252,255,137,60,36,232,251,1,9,139,68,36,32,139,84,36,36,255,199,
- 68,36,4,252,255,252,255,252,255,252,255,137,60,36,232,251,1,18,102,15,214,
- 68,36,32,102,15,214,76,36,40,199,68,36,4,252,253,252,255,252,255,252,255,
- 137,60,36,232,251,1,9,252,243,15,126,68,36,32,252,243,15,126,76,36,40,255,
- 139,141,233,199,68,36,8,252,255,252,255,252,255,252,255,137,124,36,4,137,
- 12,36,232,251,1,18,131,252,236,4,199,68,36,4,252,253,252,255,252,255,252,
- 255,137,60,36,232,251,1,9,255,139,125,252,252,137,252,236,93,194,236,255,
- 85,137,229,87,86,139,189,233,131,252,236,16,137,60,36,232,251,1,19,137,198,
- 129,252,248,239,255,15,141,244,248,102,184,0,0,199,68,36,4,237,137,60,36,
- 232,251,1,20,248,2,15,142,244,247,102,184,0,0,199,68,36,4,237,137,60,36,232,
- 251,1,20,255,15,141,244,247,102,184,0,0,199,68,36,4,237,137,60,36,232,251,
- 1,20,255,248,1,255,193,224,4,41,196,129,252,236,239,255,199,68,36,8,237,199,
- 68,36,4,0,0,0,0,137,60,36,232,251,1,1,131,252,236,16,255,199,68,36,12,237,
- 199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,8,255,199,68,36,12,237,
- 199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,21,255,199,68,36,12,237,
- 199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,10,255,199,68,36,4,237,
- 137,60,36,232,251,1,12,255,15,182,192,255,15,190,192,255,15,183,192,255,15,
- 191,192,255,199,68,36,4,237,137,60,36,232,251,1,12,131,252,248,0,15,149,208,
- 15,182,192,255,199,68,36,4,237,137,60,36,232,251,1,11,255,199,68,36,4,237,
- 137,60,36,232,251,1,15,255,199,68,36,4,237,137,60,36,232,251,1,13,255,199,
- 68,36,4,237,137,60,36,232,251,1,14,255,199,68,36,4,237,137,60,36,232,251,
- 1,16,255,199,68,36,4,237,137,60,36,232,251,1,18,255,252,243,15,126,193,255,
- 141,132,253,36,233,131,252,236,4,199,68,36,8,237,137,124,36,4,137,4,36,232,
- 251,1,18,255,199,68,36,4,237,137,60,36,232,251,1,17,255,199,68,36,4,237,137,
- 60,36,232,251,1,17,137,4,36,217,4,36,255,137,20,36,217,4,36,255,137,224,129,
- 192,239,137,68,36,12,137,116,36,8,199,68,36,4,237,137,60,36,232,251,1,22,
- 255,185,237,139,1,137,4,36,232,251,1,23,255,131,196,32,255,139,148,253,36,
- 233,255,139,12,36,255,129,196,239,255,232,251,1,24,131,252,236,48,255,137,
- 68,36,32,232,251,1,25,185,237,137,1,199,68,36,8,237,199,68,36,4,237,137,60,
- 36,232,251,1,1,139,76,36,32,137,8,184,1,0,0,0,139,117,252,248,139,125,252,
- 252,137,252,236,93,195,255,137,68,36,32,232,251,1,25,185,237,137,1,139,68,
- 36,32,137,68,36,4,137,60,36,232,251,1,26,184,1,0,0,0,139,117,252,248,139,
- 125,252,252,137,252,236,93,195,255,137,84,36,36,137,68,36,32,232,251,1,25,
- 185,237,137,1,199,68,36,8,237,199,68,36,4,0,0,0,0,137,60,36,232,251,1,1,139,
- 76,36,36,139,84,36,32,137,72,4,137,16,184,1,0,0,0,139,117,252,248,139,125,
- 252,252,137,252,236,93,195,255,137,68,36,32,137,84,36,36,232,251,1,25,185,
- 237,137,1,199,68,36,8,237,199,68,36,4,237,137,60,36,232,251,1,1,139,76,36,
- 32,137,8,139,76,36,36,137,72,4,184,1,0,0,0,139,117,252,248,139,125,252,252,
- 137,252,236,93,195,255,131,252,236,4,232,251,1,25,185,237,137,1,184,1,0,0,
- 0,139,117,252,248,139,125,252,252,137,252,236,93,195,255,232,251,1,25,185,
- 237,137,1,184,0,0,0,0,139,117,252,248,139,125,252,252,137,252,236,93,195,
- 255,15,182,192,137,68,36,32,232,251,1,25,185,237,137,1,139,68,36,32,137,68,
- 36,4,137,60,36,232,251,1,4,184,1,0,0,0,139,117,252,248,139,125,252,252,137,
- 252,236,93,195,255,137,68,36,32,232,251,1,25,185,237,137,1,139,68,36,32,137,
- 68,36,4,137,60,36,232,251,1,5,184,1,0,0,0,139,117,252,248,139,125,252,252,
+ 253,36,233,137,148,253,36,233,255,221.0,133,233,255,217.0,133,233,255,252,
+ 243.0,15.0,126,133,233,255,252,243.0,15.0,90,133,233,255,221.0,156,253,36,
+ 233,255,217.0,156,253,36,233,255,102.0,15.0,214,132,253,36,233,255,252,242.0,
+ 15.0,90,192,102.0,15.0,214,132,253,36,233,255,252,242.0,15.0,90,192,102.0,
+ 15.0,126,132,253,36,233,255,85,137,229,87,129.0,252,236,239,255,137,77,252,
+ 248,137,85,252,244,255,191,237,255,199.0,68,36,8,237,199.0,68,36,4,237,137,
+ 60,36,232,251,1,0,255,199.0,68,36,8,237,199.0,68,36,4,252,255,252,255.0,252,
+ 255.0,252,255.0,137,60,36,232,251,1,0,255,199.0,68,36,8,237,199.0,68,36,4,
+ 237,137,60,36,232,251,1,0,199.0,68,36,8,237,199.0,68,36,4,252,255,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,1,255,137,8,199.0,68,36,4,252,254,
+ 252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,2,255,199.0,68,36,8,237,
+ 199.0,68,36,4,0,0.0,0.0,0.0,137,60,36,232,251,1,1,255,137,8,137,80,4,255,
+ 137,8,255,102.0,15.0,214,0,255,217.0,24,255,217.0,88,4,255,221.0,24,255,221.0,
+ 88,8,255,221.0,92,36,4,137,60,36,232,251,1,3,255,15.0,182,201,137,76,36,4,
+ 137,60,36,232,251,1,4,255,15.0,182,201,255,15.0,190,201,255,137,76,36,4,137,
+ 60,36,232,251,1,5,255,15.0,183,201,255,15.0,191,201,255,137,76,36,4,137,60,
+ 36,232,251,1,6,255,199.0,68,36,12,0,0.0,0.0,0.0,199.0,68,36,8,237,199.0,68,
+ 36,4,237,137,60,36,232,251,1,7,255,199.0,68,36,8,237,199.0,68,36,4,252,254,
+ 252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,0,199.0,68,36,12,237,199.0,
+ 68,36,8,252,255,252,255.0,252,255.0,252,255.0,199.0,68,36,4,252,254,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,8,137,68,36,32,199.0,68,36,4,252,
+ 252,252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,9,139,68,36,32,255,
+ 199.0,68,36,8,237,199.0,68,36,4,252,254,252,255.0,252,255.0,252,255.0,137,
+ 60,36,232,251,1,0,199.0,68,36,12,237,199.0,68,36,8,252,255,252,255.0,252,
+ 255.0,252,255.0,199.0,68,36,4,252,254,252,255.0,252,255.0,252,255.0,137,60,
+ 36,232,251,1,10,137,68,36,32,199.0,68,36,4,252,252,252,255.0,252,255.0,252,
+ 255.0,137,60,36,232,251,1,9,139,68,36,32,255,199.0,68,36,4,252,254,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,9,255,199.0,68,36,4,252,255,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,11,255,199.0,68,36,4,252,255,252,
+ 255.0,252,255.0,252,255.0,137,60,36,232,251,1,12,255,137,68,36,32,199.0,68,
+ 36,4,252,253,252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,9,139,68,36,
+ 32,255,199.0,68,36,4,252,255,252,255.0,252,255.0,252,255.0,137,60,36,232,
+ 251,1,13,255,199.0,68,36,4,252,255,252,255.0,252,255.0,252,255.0,137,60,36,
+ 232,251,1,14,255,137,68,36,32,137,84,36,36,199.0,68,36,4,252,253,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,9,139,68,36,32,139,84,36,36,255,199.0,
+ 68,36,4,252,255,252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,15,137,
+ 68,36,32,199.0,68,36,4,252,253,252,255.0,252,255.0,252,255.0,137,60,36,232,
+ 251,1,9,139,68,36,32,255,199.0,68,36,4,252,255,252,255.0,252,255.0,252,255.0,
+ 137,60,36,232,251,1,16,255,221.0,92,36,32,199.0,68,36,4,252,253,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,9,221.0,68,36,32,255,199.0,68,36,
+ 4,252,255,252,255.0,252,255.0,252,255.0,137,60,36,232,251,1,17,137,68,36,
+ 32,137,84,36,36,199.0,68,36,4,252,253,252,255.0,252,255.0,252,255.0,137,60,
+ 36,232,251,1,9,139,68,36,32,139,84,36,36,255,199.0,68,36,4,252,255,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,18,102.0,15.0,214,68,36,32,102.0,
+ 15.0,214,76,36,40,199.0,68,36,4,252,253,252,255.0,252,255.0,252,255.0,137,
+ 60,36,232,251,1,9,252,243.0,15.0,126,68,36,32,252,243.0,15.0,126,76,36,40,
+ 255,139,141,233,199.0,68,36,8,252,255,252,255.0,252,255.0,252,255.0,137,124,
+ 36,4,137,12,36,232,251,1,18,131.0,252,236,4,199.0,68,36,4,252,253,252,255.0,
+ 252,255.0,252,255.0,137,60,36,232,251,1,9,255,139,125,252,252,137,252,236,
+ 93,194,236,255,85,137,229,87,86,139,189,233,131.0,252,236,16,137,60,36,232,
+ 251,1,19,137,198,129.0,252,248,239,255,15.0,141,244,248.0,102,184,0,0.0,199.0,
+ 68,36,4,237,137,60,36,232,251,1,20,248,2,15.0,142,244,247.0,102,184,0,0.0,
+ 199.0,68,36,4,237,137,60,36,232,251,1,20,255,15.0,141,244,247.0,102,184,0,
+ 0.0,199.0,68,36,4,237,137,60,36,232,251,1,20,255,248,1,255,193.0,224,4,41,
+ 196,129.0,252,236,239,255,199.0,68,36,8,237,199.0,68,36,4,0,0.0,0.0,0.0,137,
+ 60,36,232,251,1,1,131.0,252,236,16,255,199.0,68,36,12,237,199.0,68,36,8,237,
+ 199.0,68,36,4,237,137,60,36,232,251,1,8,255,199.0,68,36,12,237,199.0,68,36,
+ 8,237,199.0,68,36,4,237,137,60,36,232,251,1,21,255,199.0,68,36,12,237,199.0,
+ 68,36,8,237,199.0,68,36,4,237,137,60,36,232,251,1,10,255,199.0,68,36,4,237,
+ 137,60,36,232,251,1,12,255,15.0,182,192,255,15.0,190,192,255,15.0,183,192,
+ 255,15.0,191,192,255,199.0,68,36,4,237,137,60,36,232,251,1,12,131.0,252,248,
+ 0,15.0,149.0,208,15.0,182,192,255,199.0,68,36,4,237,137,60,36,232,251,1,11,
+ 255,199.0,68,36,4,237,137,60,36,232,251,1,15,255,199.0,68,36,4,237,137,60,
+ 36,232,251,1,13,255,199.0,68,36,4,237,137,60,36,232,251,1,14,255,199.0,68,
+ 36,4,237,137,60,36,232,251,1,16,255,199.0,68,36,4,237,137,60,36,232,251,1,
+ 18,255,252,243.0,15.0,126,193,255,141,132,253,36,233,131.0,252,236,4,199.0,
+ 68,36,8,237,137,124,36,4,137,4,36,232,251,1,18,255,199.0,68,36,4,237,137,
+ 60,36,232,251,1,17,255,199.0,68,36,4,237,137,60,36,232,251,1,17,137,4,36,
+ 217.0,4,36,255,137,20,36,217.0,4,36,255,137,224,129.0,192,239,137,68,36,12,
+ 137,116,36,8,199.0,68,36,4,237,137,60,36,232,251,1,22,255,185,237,139,1,137,
+ 4,36,232,251,1,23,255,131.0,196,32,255,139,148,253,36,233,255,139,12,36,255,
+ 129.0,196,239,255,232,251,1,24,131.0,252,236,48,255,137,68,36,32,232,251,
+ 1,25,185,237,137,1,199.0,68,36,8,237,199.0,68,36,4,237,137,60,36,232,251,
+ 1,1,139,76,36,32,137,8,184,1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,
137,252,236,93,195,255,137,68,36,32,232,251,1,25,185,237,137,1,139,68,36,
- 32,137,68,36,4,137,60,36,232,251,1,6,184,1,0,0,0,139,117,252,248,139,125,
- 252,252,137,252,236,93,195,255,221,92,36,4,232,251,1,25,185,237,137,1,137,
- 60,36,232,251,1,3,184,1,0,0,0,139,117,252,248,139,125,252,252,137,252,236,
- 93,195,255
+ 32,137,68,36,4,137,60,36,232,251,1,26,184,1,0.0,0.0,0.0,139,117,252,248,139,
+ 125,252,252,137,252,236,93,195,255,137,84,36,36,137,68,36,32,232,251,1,25,
+ 185,237,137,1,199.0,68,36,8,237,199.0,68,36,4,0,0.0,0.0,0.0,137,60,36,232,
+ 251,1,1,139,76,36,36,139,84,36,32,137,72,4,137,16,184,1,0.0,0.0,0.0,139,117,
+ 252,248,139,125,252,252,137,252,236,93,195,255,137,68,36,32,137,84,36,36,
+ 232,251,1,25,185,237,137,1,199.0,68,36,8,237,199.0,68,36,4,237,137,60,36,
+ 232,251,1,1,139,76,36,32,137,8,139,76,36,36,137,72,4,184,1,0.0,0.0,0.0,139,
+ 117,252,248,139,125,252,252,137,252,236,93,195,255,131.0,252,236,4,232,251,
+ 1,25,185,237,137,1,184,1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,137,
+ 252,236,93,195,255,232,251,1,25,185,237,137,1,184,0,0.0,0.0,0.0,139,117,252,
+ 248,139,125,252,252,137,252,236,93,195,255,15.0,182,192,137,68,36,32,232,
+ 251,1,25,185,237,137,1,139,68,36,32,137,68,36,4,137,60,36,232,251,1,4,184,
+ 1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,137,252,236,93,195,255,137,
+ 68,36,32,232,251,1,25,185,237,137,1,139,68,36,32,137,68,36,4,137,60,36,232,
+ 251,1,5,184,1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,137,252,236,93,
+ 195,255,137,68,36,32,232,251,1,25,185,237,137,1,139,68,36,32,137,68,36,4,
+ 137,60,36,232,251,1,6,184,1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,137,
+ 252,236,93,195,255,221.0,92,36,4,232,251,1,25,185,237,137,1,137,60,36,232,
+ 251,1,3,184,1,0.0,0.0,0.0,139,117,252,248,139,125,252,252,137,252,236,93,
+ 195,255
};
static const char *const globnames[] = {
@@ -211,6 +218,8 @@ void compile_globals(struct jit* jit, lua_State* L)
* stack
*/
+
+
compile(Dst, L, NULL, LUA_NOREF);
}
@@ -338,7 +347,12 @@ static void get_int(Dst_DECL, const struct ctype* ct, struct reg_alloc* reg, int
reg->off += 8;
} else {
dasm_put(Dst, 0, reg->off);
+#if defined __amd64__ || defined _WIN64
+ /* The parameters to a function on stack are always 8 byte aligned. */
+ reg->off += 8;
+#else
reg->off += 4;
+#endif
}
}