xamarin-macios/runtime/trampolines-x86_64.h

45 строки
842 B
C
Исходник Обычный вид История

2016-04-21 15:19:32 +03:00
#ifndef __TRAMPOLINES_X86_64_H__
#define __TRAMPOLINES_X86_64_H__
#ifdef __cplusplus
extern "C" {
#endif
struct CallState {
uint64_t type;
uint64_t rdi; // 1st argument
union {
uint64_t rsi; // rsi upon entry. // 2nd argument
uint64_t rax; // rax upon exit.
};
uint64_t rdx; // 3rd argument
uint64_t rcx; // 4th argument
uint64_t r8; // 5th argument
uint64_t r9; // 6th argument
uint64_t rbp;
long double xmm0;
long double xmm1;
long double xmm2;
long double xmm3;
long double xmm4;
long double xmm5;
long double xmm6;
long double xmm7;
};
struct ParamIterator {
struct CallState *state;
int byte_count;
int float_count;
uint8_t *stack_next;
};
void xamarin_arch_trampoline (struct CallState *state);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __TRAMPOLINES_X86_64_H__ */