From 8c022cced5700bbc5b556ce898f6d41c9a1b8897 Mon Sep 17 00:00:00 2001 From: Slava Date: Thu, 20 Sep 2007 19:17:17 -0400 Subject: [PATCH] Updates for Intel Mac --- Factor.app/Contents/MacOS/factor | Bin 0 -> 15892 bytes vm/asm.h | 9 +++++++-- vm/os-macosx-ppc.h | 3 --- vm/os-macosx-x86.h | 24 ++++++------------------ vm/os-macosx.h | 3 +++ 5 files changed, 16 insertions(+), 23 deletions(-) create mode 100755 Factor.app/Contents/MacOS/factor diff --git a/Factor.app/Contents/MacOS/factor b/Factor.app/Contents/MacOS/factor new file mode 100755 index 0000000000000000000000000000000000000000..a6838b42a376286322c72adef60aee482924b368 GIT binary patch literal 15892 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 literal 0 HcmV?d00001 diff --git a/vm/asm.h b/vm/asm.h index dc8e0a8dd1..ff2178a88e 100644 --- a/vm/asm.h +++ b/vm/asm.h @@ -1,8 +1,13 @@ -#if defined( __APPLE__) || (defined(WINDOWS) && !defined(__arm__)) +#if defined(__APPLE__) || (defined(WINDOWS) && !defined(__arm__)) #define MANGLE(sym) _##sym - #define XX @ #else #define MANGLE(sym) sym +#endif + +/* Apple's PPC assembler is out of date? */ +#if defined(__APPLE__) && defined(FACTOR_PPC) + #define XX @ +#else #define XX ; #endif diff --git a/vm/os-macosx-ppc.h b/vm/os-macosx-ppc.h index da757b28ad..6cc9bd5dac 100644 --- a/vm/os-macosx-ppc.h +++ b/vm/os-macosx-ppc.h @@ -46,6 +46,3 @@ typedef struct _F_STACK_FRAME { #define MACH_STACK_POINTER(thr_state) (thr_state)->r1 #define MACH_PROGRAM_COUNTER(thr_state) (thr_state)->srr0 #endif - -#define UAP_PROGRAM_COUNTER(ucontext) \ - MACH_PROGRAM_COUNTER(&(((ucontext_t *)(ucontext))->uc_mcontext->ss)) diff --git a/vm/os-macosx-x86.h b/vm/os-macosx-x86.h index 75a1a8cfe0..81ae617dfc 100644 --- a/vm/os-macosx-x86.h +++ b/vm/os-macosx-x86.h @@ -6,23 +6,11 @@ #define MACH_THREAD_STATE_COUNT i386_THREAD_STATE_COUNT #if __DARWIN_UNIX03 - #define MACH_EXC_STATE_FAULT(exc_state) (exc_state).__faultvaddr - #define MACH_STACK_POINTER(thr_state) (thr_state).__esp - #define MACH_PROGRAM_COUNTER(thr_state) (thr_state).__eip + #define MACH_EXC_STATE_FAULT(exc_state) (exc_state)->__faultvaddr + #define MACH_STACK_POINTER(thr_state) (thr_state)->__esp + #define MACH_PROGRAM_COUNTER(thr_state) (thr_state)->__eip #else - #define MACH_EXC_STATE_FAULT(exc_state) (exc_state).faultvaddr - #define MACH_STACK_POINTER(thr_state) (thr_state).esp - #define MACH_PROGRAM_COUNTER(thr_state) (thr_state).eip + #define MACH_EXC_STATE_FAULT(exc_state) (exc_state)->faultvaddr + #define MACH_STACK_POINTER(thr_state) (thr_state)->esp + #define MACH_PROGRAM_COUNTER(thr_state) (thr_state)->eip #endif - -/* Adjust stack pointer so we can push an arg */ -INLINE unsigned long fix_stack_ptr(unsigned long sp) -{ - return sp - (sp & 0xf); -} - -INLINE void pass_arg0(MACH_THREAD_STATE_TYPE *thr_state, CELL arg) -{ - *(CELL *)MACH_STACK_POINTER(*thr_state) = arg; - MACH_STACK_POINTER(*thr_state) -= CELLS; -} diff --git a/vm/os-macosx.h b/vm/os-macosx.h index abd0bf5305..dfe53f9a19 100644 --- a/vm/os-macosx.h +++ b/vm/os-macosx.h @@ -11,3 +11,6 @@ const char *vm_executable_path(void); const char *default_image_path(void); DLLEXPORT void c_to_factor_toplevel(CELL quot); + +#define UAP_PROGRAM_COUNTER(ucontext) \ + MACH_PROGRAM_COUNTER(&(((ucontext_t *)(ucontext))->uc_mcontext->ss))