comparison dyncall/dyncall_value.h @ 157:49549739228c

- sparc callback asm and args code (still some stack alignment issues, currently) - doc improvements for sparc callconv
author cslag
date Wed, 28 Dec 2016 16:48:35 -0600
parents 59d758760688
children b11b0735b09f
comparison
equal deleted inserted replaced
156:9e4f1355a388 157:49549739228c
48 48
49 union DCValue_ 49 union DCValue_
50 { 50 {
51 /* dyncallback assembly pulls value directly from DCValue structs, without */ 51 /* dyncallback assembly pulls value directly from DCValue structs, without */
52 /* knowledge about types used, so lay it out as needed at compile time, here */ 52 /* knowledge about types used, so lay it out as needed at compile time, here */
53 #if defined(DC__Endian_BIG) && (defined(DC__Arch_PPC32) || defined(DC__Arch_MIPS)) 53 #if defined(DC__Endian_BIG) && (defined(DC__Arch_PPC32) || defined(DC__Arch_MIPS) || defined(DC__Arch_Sparc))
54 DCbool B; 54 DCbool B;
55 struct { DCchar c_pad[3]; DCchar c; }; 55 struct { DCchar c_pad[3]; DCchar c; };
56 struct { DCuchar C_pad[3]; DCuchar C; }; 56 struct { DCuchar C_pad[3]; DCuchar C; };
57 struct { DCshort s_pad; DCshort s; }; 57 struct { DCshort s_pad; DCshort s; };
58 struct { DCshort S_pad; DCshort S; }; 58 struct { DCshort S_pad; DCshort S; };
59 DCint i; 59 DCint i;
60 DCuint I; 60 DCuint I;
61 #elif defined(DC__Endian_BIG) && (defined(DC__Arch_PPC64) || defined(DC__Arch_MIPS64)) 61 #elif defined(DC__Endian_BIG) && (defined(DC__Arch_PPC64) || defined(DC__Arch_MIPS64) || defined(DC__Arch_Sparcv9))
62 struct { DCbool B_pad; DCbool B; }; 62 struct { DCbool B_pad; DCbool B; };
63 struct { DCchar c_pad[7]; DCchar c; }; 63 struct { DCchar c_pad[7]; DCchar c; };
64 struct { DCuchar C_pad[7]; DCuchar C; }; 64 struct { DCuchar C_pad[7]; DCuchar C; };
65 struct { DCshort s_pad[3]; DCshort s; }; 65 struct { DCshort s_pad[3]; DCshort s; };
66 struct { DCshort S_pad[3]; DCshort S; }; 66 struct { DCshort S_pad[3]; DCshort S; };