Mercurial > pub > dyncall > dyncall
comparison dyncall/dyncall_callvm_arm64.h @ 84:67961454902b
- bigger cleanup in callvm code
* changed init of most callvms to reuse code and for consistency
* removed unused functions
* general changes for consistency
* added some missing cconv defines do mode calls
- fixed potential buffer overrun on arm64
- fixed sparc and x64 mode setting (only one mode, but wasn't (pointlessly) resettable)
- error code handling (dcGetError) changes, flag is now cleared (work still underway)
- Changelog update
author | cslag |
---|---|
date | Wed, 06 Apr 2016 00:21:51 +0200 |
parents | 3e629dc19168 |
children | f5577f6bf97a |
comparison
equal
deleted
inserted
replaced
83:54930a037e8a | 84:67961454902b |
---|---|
28 | 28 |
29 #include "dyncall_call_arm64.h" | 29 #include "dyncall_call_arm64.h" |
30 #include "dyncall_callvm.h" | 30 #include "dyncall_callvm.h" |
31 #include "dyncall_vector.h" | 31 #include "dyncall_vector.h" |
32 | 32 |
33 | |
34 typedef struct | 33 typedef struct |
35 { | 34 { |
36 DCCallVM mInterface; | 35 DCCallVM mInterface; |
37 unsigned int i; /* int register counter */ | 36 unsigned int i; /* int register counter */ |
38 unsigned int f; /* float register counter */ | 37 unsigned int f; /* float register counter */ |
42 } u; | 41 } u; |
43 unsigned long long I[8]; /* int register buffer */ | 42 unsigned long long I[8]; /* int register buffer */ |
44 DCVecHead mVecHead; /* argument buffer head */ | 43 DCVecHead mVecHead; /* argument buffer head */ |
45 } DCCallVM_arm64; | 44 } DCCallVM_arm64; |
46 | 45 |
47 DCCallVM* dcNewCallVM_arm64(DCsize size); | |
48 | |
49 | |
50 #endif /* DYNCALL_CALLVM_ARM64_DEBIAN_H */ | 46 #endif /* DYNCALL_CALLVM_ARM64_DEBIAN_H */ |
51 | 47 |