Mercurial > pub > dyncall > dyncall
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 */ |