diff dyncallback/dyncall_args_mips.h @ 122:f63467916f98

- first draft of mips64 n64 callbacks, not everything working, though
author cslag
date Mon, 04 Jul 2016 01:11:08 +0200
parents 9aa75a74614c
children f5577f6bf97a
line wrap: on
line diff
--- a/dyncallback/dyncall_args_mips.h	Mon Jul 04 01:03:27 2016 +0200
+++ b/dyncallback/dyncall_args_mips.h	Mon Jul 04 01:11:08 2016 +0200
@@ -31,15 +31,21 @@
 
 struct DCArgs
 {
-	/* Don't change order! */
-#if defined(DC__ABI_MIPS_O32)
+	/* Don't change order or types, laid out for asm code to fill in! */
+#if defined(DC__Arch_MIPS) && defined(DC__ABI_MIPS_O32)
 	DCint freg_count;
 #else
 #  define DCARGS_MIPS_NUM_IREGS 8
 #  define DCARGS_MIPS_NUM_FREGS 8
+#  if defined(DC__Arch_MIPS)
 	DCint   ireg_data[DCARGS_MIPS_NUM_IREGS];
 	DCfloat freg_data[DCARGS_MIPS_NUM_FREGS];
 	struct { DCshort i; DCshort f; } reg_count;
+#  elif defined(DC__Arch_MIPS64)
+	DClonglong ireg_data[DCARGS_MIPS_NUM_IREGS];
+	DCdouble   freg_data[DCARGS_MIPS_NUM_FREGS];
+	DClonglong reg_count;
+#  endif
 #endif
 	DCuchar* stackptr;
 };