Mercurial > pub > dyncall > dyncall
comparison dyncallback/dyncall_args_sparc64.c @ 191:2f7a7f3472cb
- first draft at sparc64 callbacks (floats not working, yet)
author | Tassilo Philipp |
---|---|
date | Fri, 17 Mar 2017 03:27:36 +0100 |
parents | 82a0eef83db0 |
children | 95cf20c0d1de |
comparison
equal
deleted
inserted
replaced
190:06ee88ce4962 | 191:2f7a7f3472cb |
---|---|
4 Library: dyncallback | 4 Library: dyncallback |
5 File: dyncallback/dyncall_args_sparc64.c | 5 File: dyncallback/dyncall_args_sparc64.c |
6 Description: Callback's Arguments VM - Implementation for sparc64 - not yet | 6 Description: Callback's Arguments VM - Implementation for sparc64 - not yet |
7 License: | 7 License: |
8 | 8 |
9 Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>, | 9 Copyright (c) 2007-2017 Daniel Adler <dadler@uni-goettingen.de>, |
10 Tassilo Philipp <tphilipp@potion-studios.com> | 10 Tassilo Philipp <tphilipp@potion-studios.com> |
11 | 11 |
12 Permission to use, copy, modify, and distribute this software for any | 12 Permission to use, copy, modify, and distribute this software for any |
13 purpose with or without fee is hereby granted, provided that the above | 13 purpose with or without fee is hereby granted, provided that the above |
14 copyright notice and this permission notice appear in all copies. | 14 copyright notice and this permission notice appear in all copies. |
24 */ | 24 */ |
25 | 25 |
26 | 26 |
27 #include "dyncall_args_sparc64.h" | 27 #include "dyncall_args_sparc64.h" |
28 | 28 |
29 DCint dcbArgInt (DCArgs* p) { return 0; } | 29 DCulonglong dcbArgULongLong(DCArgs* p) { return *(DCulonglong*) p->arg_ptr++; } |
30 DCuint dcbArgUInt (DCArgs* p) { return 0; } | |
31 DCulonglong dcbArgULongLong(DCArgs* p) { return 0; } | |
32 DClonglong dcbArgLongLong (DCArgs* p) { return (DClonglong)dcbArgULongLong(p); } | 30 DClonglong dcbArgLongLong (DCArgs* p) { return (DClonglong)dcbArgULongLong(p); } |
33 DClong dcbArgLong (DCArgs* p) { return (DClong) dcbArgUInt(p); } | 31 DCulong dcbArgULong (DCArgs* p) { return (DCulong) dcbArgULongLong(p); } |
34 DCulong dcbArgULong (DCArgs* p) { return (DCulong) dcbArgUInt(p); } | 32 DClong dcbArgLong (DCArgs* p) { return (DClong) dcbArgULongLong(p); } |
35 DCchar dcbArgChar (DCArgs* p) { return (DCchar) dcbArgUInt(p); } | 33 DCuint dcbArgUInt (DCArgs* p) { return (DCuint) dcbArgULongLong(p); } |
36 DCuchar dcbArgUChar (DCArgs* p) { return (DCuchar) dcbArgUInt(p); } | 34 DCint dcbArgInt (DCArgs* p) { return (DCint) dcbArgULongLong(p); } |
37 DCshort dcbArgShort (DCArgs* p) { return (DCshort) dcbArgUInt(p); } | 35 DCuchar dcbArgUChar (DCArgs* p) { return (DCuchar) dcbArgULongLong(p); } |
38 DCushort dcbArgUShort (DCArgs* p) { return (DCushort) dcbArgUInt(p); } | 36 DCchar dcbArgChar (DCArgs* p) { return (DCchar) dcbArgULongLong(p); } |
39 DCbool dcbArgBool (DCArgs* p) { return (DCbool) dcbArgUInt(p); } | 37 DCushort dcbArgUShort (DCArgs* p) { return (DCushort) dcbArgULongLong(p); } |
40 DCpointer dcbArgPointer (DCArgs* p) { return (DCpointer) dcbArgUInt(p); } | 38 DCshort dcbArgShort (DCArgs* p) { return (DCshort) dcbArgULongLong(p); } |
41 DCdouble dcbArgDouble (DCArgs* p) { return 0.0; } | 39 DCbool dcbArgBool (DCArgs* p) { return (DCbool) dcbArgULongLong(p); } |
42 DCfloat dcbArgFloat (DCArgs* p) { return 0.0f; } | 40 DCpointer dcbArgPointer (DCArgs* p) { return (DCpointer) dcbArgULongLong(p); } |
41 DCdouble dcbArgDouble (DCArgs* p) { return *(DCdouble*) p->arg_ptr++; } | |
42 DCfloat dcbArgFloat (DCArgs* p) { return *(DCfloat*) p->arg_ptr++; } | |
43 |