comparison 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
comparison
equal deleted inserted replaced
121:f00b1f3da52e 122:f63467916f98
29 29
30 #include "dyncall_args.h" 30 #include "dyncall_args.h"
31 31
32 struct DCArgs 32 struct DCArgs
33 { 33 {
34 /* Don't change order! */ 34 /* Don't change order or types, laid out for asm code to fill in! */
35 #if defined(DC__ABI_MIPS_O32) 35 #if defined(DC__Arch_MIPS) && defined(DC__ABI_MIPS_O32)
36 DCint freg_count; 36 DCint freg_count;
37 #else 37 #else
38 # define DCARGS_MIPS_NUM_IREGS 8 38 # define DCARGS_MIPS_NUM_IREGS 8
39 # define DCARGS_MIPS_NUM_FREGS 8 39 # define DCARGS_MIPS_NUM_FREGS 8
40 # if defined(DC__Arch_MIPS)
40 DCint ireg_data[DCARGS_MIPS_NUM_IREGS]; 41 DCint ireg_data[DCARGS_MIPS_NUM_IREGS];
41 DCfloat freg_data[DCARGS_MIPS_NUM_FREGS]; 42 DCfloat freg_data[DCARGS_MIPS_NUM_FREGS];
42 struct { DCshort i; DCshort f; } reg_count; 43 struct { DCshort i; DCshort f; } reg_count;
44 # elif defined(DC__Arch_MIPS64)
45 DClonglong ireg_data[DCARGS_MIPS_NUM_IREGS];
46 DCdouble freg_data[DCARGS_MIPS_NUM_FREGS];
47 DClonglong reg_count;
48 # endif
43 #endif 49 #endif
44 DCuchar* stackptr; 50 DCuchar* stackptr;
45 }; 51 };
46 52
47 #endif /* DYNCALLBACK_ARGS_MIPS_H */ 53 #endif /* DYNCALLBACK_ARGS_MIPS_H */