mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Lightening: _WIN32 updates from upstream lightning
Pulls in a few updates for WIN32 from upstream GNU lightning. Based on patches from GNU Lightning.
This commit is contained in:
parent
0b70769247
commit
4cac137b01
2 changed files with 7 additions and 7 deletions
|
@ -20,7 +20,7 @@
|
||||||
/* avoid using it due to partial stalls */
|
/* avoid using it due to partial stalls */
|
||||||
#define USE_INC_DEC 0
|
#define USE_INC_DEC 0
|
||||||
|
|
||||||
#if __X32
|
#if __X32 || __X64_32
|
||||||
# define WIDE 0
|
# define WIDE 0
|
||||||
# define IF_WIDE(wide, narrow) narrow
|
# define IF_WIDE(wide, narrow) narrow
|
||||||
#else
|
#else
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
#define _R15_REGNO 15
|
#define _R15_REGNO 15
|
||||||
#define r7(reg) ((reg) & 7)
|
#define r7(reg) ((reg) & 7)
|
||||||
#define r8(reg) ((reg) & 15)
|
#define r8(reg) ((reg) & 15)
|
||||||
#if __X32
|
#if ___X32 || __CYGWIN__ || __X64_32 || _WIN32
|
||||||
# define reg8_p(rn) ((rn) >= _RAX_REGNO && (rn) <= _RBX_REGNO)
|
# define reg8_p(rn) ((rn) >= _RAX_REGNO && (rn) <= _RBX_REGNO)
|
||||||
#else
|
#else
|
||||||
# define reg8_p(rn) 1
|
# define reg8_p(rn) 1
|
||||||
|
|
|
@ -237,7 +237,7 @@ jit_init(jit_state_t *_jit)
|
||||||
static const jit_gpr_t abi_gpr_args[] = {
|
static const jit_gpr_t abi_gpr_args[] = {
|
||||||
#if __X32
|
#if __X32
|
||||||
/* No GPRs in args. */
|
/* No GPRs in args. */
|
||||||
#elif __CYGWIN__
|
#elif (__CYGWIN__ || _WIN32)
|
||||||
_RCX, _RDX, _R8, _R9
|
_RCX, _RDX, _R8, _R9
|
||||||
#else
|
#else
|
||||||
_RDI, _RSI, _RDX, _RCX, _R8, _R9
|
_RDI, _RSI, _RDX, _RCX, _R8, _R9
|
||||||
|
@ -247,7 +247,7 @@ static const jit_gpr_t abi_gpr_args[] = {
|
||||||
static const jit_fpr_t abi_fpr_args[] = {
|
static const jit_fpr_t abi_fpr_args[] = {
|
||||||
#if __X32
|
#if __X32
|
||||||
/* No FPRs in args. */
|
/* No FPRs in args. */
|
||||||
#elif __CYGWIN__
|
#elif (__CYGWIN__ || _WIN32)
|
||||||
_XMM0, _XMM1, _XMM2, _XMM3
|
_XMM0, _XMM1, _XMM2, _XMM3
|
||||||
#else
|
#else
|
||||||
_XMM0, _XMM1, _XMM2, _XMM3, _XMM4, _XMM5, _XMM6, _XMM7
|
_XMM0, _XMM1, _XMM2, _XMM3, _XMM4, _XMM5, _XMM6, _XMM7
|
||||||
|
@ -317,7 +317,7 @@ reset_abi_arg_iterator(struct abi_arg_iterator *iter, size_t argc,
|
||||||
memset(iter, 0, sizeof *iter);
|
memset(iter, 0, sizeof *iter);
|
||||||
iter->argc = argc;
|
iter->argc = argc;
|
||||||
iter->args = args;
|
iter->args = args;
|
||||||
#if __CYGWIN__ && __X64
|
#if (__CYGWIN__ || _WIN32) && __X64
|
||||||
// Reserve slots on the stack for 4 register parameters (8 bytes each).
|
// Reserve slots on the stack for 4 register parameters (8 bytes each).
|
||||||
iter->stack_size = 32;
|
iter->stack_size = 32;
|
||||||
#endif
|
#endif
|
||||||
|
@ -330,12 +330,12 @@ next_abi_arg(struct abi_arg_iterator *iter, jit_operand_t *arg)
|
||||||
enum jit_operand_abi abi = iter->args[iter->arg_idx].abi;
|
enum jit_operand_abi abi = iter->args[iter->arg_idx].abi;
|
||||||
if (is_gpr_arg(abi) && iter->gpr_idx < abi_gpr_arg_count) {
|
if (is_gpr_arg(abi) && iter->gpr_idx < abi_gpr_arg_count) {
|
||||||
*arg = jit_operand_gpr (abi, abi_gpr_args[iter->gpr_idx++]);
|
*arg = jit_operand_gpr (abi, abi_gpr_args[iter->gpr_idx++]);
|
||||||
#ifdef __CYGWIN__
|
#if (__CYGWIN__ || _WIN32)
|
||||||
iter->fpr_idx++;
|
iter->fpr_idx++;
|
||||||
#endif
|
#endif
|
||||||
} else if (is_fpr_arg(abi) && iter->fpr_idx < abi_fpr_arg_count) {
|
} else if (is_fpr_arg(abi) && iter->fpr_idx < abi_fpr_arg_count) {
|
||||||
*arg = jit_operand_fpr (abi, abi_fpr_args[iter->fpr_idx++]);
|
*arg = jit_operand_fpr (abi, abi_fpr_args[iter->fpr_idx++]);
|
||||||
#ifdef __CYGWIN__
|
#if (__CYGWIN__ || _WIN32)
|
||||||
iter->gpr_idx++;
|
iter->gpr_idx++;
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue