summaryrefslogtreecommitdiffstatshomepage
path: root/py/asmx64.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2013-12-30 03:38:32 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2013-12-30 03:38:32 +0200
commite85c38992da1f62fc07ee8e203ea98a221857b59 (patch)
tree8b7dae173caa4b9063d6d35569946280a7082261 /py/asmx64.c
parent732407f1bf12364375162e8fb73816532a5d139c (diff)
downloadmicropython-e85c38992da1f62fc07ee8e203ea98a221857b59.tar.gz
micropython-e85c38992da1f62fc07ee8e203ea98a221857b59.zip
Make "unix" target be crossplatform and support x86, x64, ARM hosts.
Diffstat (limited to 'py/asmx64.c')
-rw-r--r--py/asmx64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/py/asmx64.c b/py/asmx64.c
index 2a11de207f..c023900a8f 100644
--- a/py/asmx64.c
+++ b/py/asmx64.c
@@ -5,6 +5,7 @@
#include <string.h>
#include "misc.h"
+#include "mpconfig.h"
#include "asmx64.h"
/* all offsets are measured in multiples of 8 bytes */
@@ -602,7 +603,7 @@ void asm_x64_call_i1(asm_x64_t* as, void* func, int i1)
*/
void asm_x64_call_ind(asm_x64_t* as, void *ptr, int temp_r64) {
- asm_x64_mov_i64_to_r64_optimised(as, (int64_t)ptr, temp_r64);
+ asm_x64_mov_i64_to_r64_optimised(as, (machine_int_t)ptr, temp_r64);
asm_x64_write_byte_2(as, OPCODE_CALL_RM32, MODRM_R64(2) | MODRM_RM_REG | MODRM_RM_R64(temp_r64));
// this reduces code size by 2 bytes per call, but doesn't seem to speed it up at all
// doesn't work anymore because calls are 64 bits away