ifdef X11
LIBS = -lm -framework Cocoa -L/opt/local/lib $(X11_UI_LIBS) -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
else
- LIBS = -lm -framework Cocoa -framework AppKit
+ LIBS = -lm -framework Cocoa -framework AppKit
endif
LINKER = $(CPP) $(CFLAGS) -dynamiclib -single_module -std=gnu99 \
#define BIGNUM_ASSERT(expression) \
{ \
if (! (expression)) \
- BIGNUM_EXCEPTION (); \
+ BIGNUM_EXCEPTION (); \
}
#endif /* not BIGNUM_DISABLE_ASSERTION_CHECKS */
inline static unsigned int fpu_status(unsigned int status)
{
- unsigned int r = 0;
+ unsigned int r = 0;
- if (status & 0x20000000)
+ if (status & 0x20000000)
r |= FP_TRAP_INVALID_OPERATION;
- if (status & 0x10000000)
+ if (status & 0x10000000)
r |= FP_TRAP_OVERFLOW;
- if (status & 0x08000000)
+ if (status & 0x08000000)
r |= FP_TRAP_UNDERFLOW;
- if (status & 0x04000000)
+ if (status & 0x04000000)
r |= FP_TRAP_ZERO_DIVIDE;
- if (status & 0x02000000)
+ if (status & 0x02000000)
r |= FP_TRAP_INEXACT;
- return r;
+ return r;
}
/* Defined in assembly */
inline static unsigned int fpu_status(unsigned int status)
{
- unsigned int r = 0;
+ unsigned int r = 0;
- if (status & 0x01)
+ if (status & 0x01)
r |= FP_TRAP_INVALID_OPERATION;
- if (status & 0x04)
+ if (status & 0x04)
r |= FP_TRAP_ZERO_DIVIDE;
- if (status & 0x08)
+ if (status & 0x08)
r |= FP_TRAP_OVERFLOW;
- if (status & 0x10)
+ if (status & 0x10)
r |= FP_TRAP_UNDERFLOW;
- if (status & 0x20)
+ if (status & 0x20)
r |= FP_TRAP_INEXACT;
- return r;
+ return r;
}
}
return sizeof(wrapper);
default:
critical_error("Invalid header",(cell)this);
- return 0; /* can't happen */
+ return 0; /* can't happen */
}
}
data->tenured->clear_mark_bits();
collector.trace_roots();
- if(trace_contexts_p)
+ if(trace_contexts_p)
{
collector.trace_contexts();
collector.trace_context_code_blocks();
struct gc_state {
gc_op op;
u64 start_time;
- jmp_buf gc_unwind;
+ jmp_buf gc_unwind;
gc_event *event;
explicit gc_state(gc_op op_, factor_vm *parent);
return position;
}
- void set_position(fixnum position_)
+ void set_position(fixnum position_)
{
if(computing_offset_p)
position = position_;
void factor_vm::primitive_bignum_shift()
{
fixnum y = untag_fixnum(ctx->pop());
- bignum* x = untag<bignum>(ctx->pop());
+ bignum* x = untag<bignum>(ctx->pop());
ctx->push(tag<bignum>(bignum_arithmetic_shift(x,y)));
}
inline static unsigned int uap_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_387)
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_387)
{
struct save87 *x87 = (struct save87 *)(&ucontext->uc_mcontext.mc_fpstate);
return x87->sv_env.en_sw;
- }
+ }
else if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
{
struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate);
return xmm->sv_env.en_sw | xmm->sv_env.en_mxcsr;
- }
+ }
else
return 0;
}
inline static void uap_clear_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_387)
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_387)
{
struct save87 *x87 = (struct save87 *)(&ucontext->uc_mcontext.mc_fpstate);
x87->sv_env.en_sw = 0;
- }
+ }
else if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
{
struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate);
xmm->sv_env.en_sw = 0;
xmm->sv_env.en_mxcsr &= 0xffffffc0;
- }
+ }
}
inline static unsigned int uap_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
{
struct savefpu *xmm = (struct savefpu *)(&ucontext->uc_mcontext.mc_fpstate);
return xmm->sv_env.en_sw | xmm->sv_env.en_mxcsr;
- }
+ }
else
return 0;
}
inline static void uap_clear_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM)
{
struct savefpu *xmm = (struct savefpu *)(&ucontext->uc_mcontext.mc_fpstate);
xmm->sv_env.en_sw = 0;
xmm->sv_env.en_mxcsr &= 0xffffffc0;
- }
+ }
}
inline static unsigned int uap_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- return ucontext->uc_mcontext.fpregs->swd
- | ucontext->uc_mcontext.fpregs->mxcsr;
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ return ucontext->uc_mcontext.fpregs->swd
+ | ucontext->uc_mcontext.fpregs->mxcsr;
}
inline static void uap_clear_fpu_status(void *uap)
{
- ucontext_t *ucontext = (ucontext_t *)uap;
- ucontext->uc_mcontext.fpregs->swd = 0;
- ucontext->uc_mcontext.fpregs->mxcsr &= 0xffffffc0;
+ ucontext_t *ucontext = (ucontext_t *)uap;
+ ucontext->uc_mcontext.fpregs->swd = 0;
+ ucontext->uc_mcontext.fpregs->mxcsr &= 0xffffffc0;
}
#define UAP_STACK_POINTER(ucontext) (((ucontext_t *)ucontext)->uc_mcontext.gregs[15])
else
signal_callstack_top = NULL;
- switch (e->ExceptionCode)
- {
- case EXCEPTION_ACCESS_VIOLATION:
+ switch (e->ExceptionCode)
+ {
+ case EXCEPTION_ACCESS_VIOLATION:
signal_fault_addr = e->ExceptionInformation[1];
c->EIP = (cell)factor::memory_signal_handler_impl;
- break;
+ break;
case STATUS_FLOAT_DENORMAL_OPERAND:
case STATUS_FLOAT_DIVIDE_BY_ZERO:
void bignum_destructive_add(bignum * bignum, bignum_digit_type n);
void bignum_destructive_scale_up(bignum * bignum, bignum_digit_type factor);
void bignum_divide_unsigned_large_denominator(bignum * numerator, bignum * denominator,
- bignum * * quotient, bignum * * remainder, int q_negative_p, int r_negative_p);
+ bignum * * quotient, bignum * * remainder, int q_negative_p, int r_negative_p);
void bignum_divide_unsigned_normalized(bignum * u, bignum * v, bignum * q);
bignum_digit_type bignum_divide_subtract(bignum_digit_type * v_start, bignum_digit_type * v_end,
- bignum_digit_type guess, bignum_digit_type * u_start);
+ bignum_digit_type guess, bignum_digit_type * u_start);
void bignum_divide_unsigned_medium_denominator(bignum * numerator,bignum_digit_type denominator,
- bignum * * quotient, bignum * * remainder,int q_negative_p, int r_negative_p);
+ bignum * * quotient, bignum * * remainder,int q_negative_p, int r_negative_p);
void bignum_destructive_normalization(bignum * source, bignum * target, int shift_left);
void bignum_destructive_unnormalization(bignum * bignum, int shift_right);
bignum_digit_type bignum_digit_divide(bignum_digit_type uh, bignum_digit_type ul,
- bignum_digit_type v, bignum_digit_type * q) /* return value */;
+ bignum_digit_type v, bignum_digit_type * q) /* return value */;
bignum_digit_type bignum_digit_divide_subtract(bignum_digit_type v1, bignum_digit_type v2,
- bignum_digit_type guess, bignum_digit_type * u);
+ bignum_digit_type guess, bignum_digit_type * u);
void bignum_divide_unsigned_small_denominator(bignum * numerator, bignum_digit_type denominator,
- bignum * * quotient, bignum * * remainder,int q_negative_p, int r_negative_p);
+ bignum * * quotient, bignum * * remainder,int q_negative_p, int r_negative_p);
bignum_digit_type bignum_destructive_scale_down(bignum * bignum, bignum_digit_type denominator);
bignum * bignum_remainder_unsigned_small_denominator(bignum * n, bignum_digit_type d, int negative_p);
bignum *bignum_digit_to_bignum(bignum_digit_type digit, int negative_p);
if(!(current_gc && current_gc->op == collect_growing_heap_op))
{
assert((cell)pointer >= data->seg->start
- && (cell)pointer < data->seg->end);
+ && (cell)pointer < data->seg->end);
}
#endif
}