Will Benton's patches for Mac 64 bits.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2062 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2008-01-25 00:21:28 +00:00
parent fd6b87e5cf
commit 4ae454aac6
6 changed files with 25 additions and 15 deletions

View File

@ -150,7 +150,8 @@ check_area(void)
}
*/
PredEntry *old_p = NULL;
PredEntry *old_p[10000];
Term old_x1[10000], old_x2[10000], old_x3[10000];
void
low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
@ -163,14 +164,19 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
LOCK(Yap_heap_regs->low_level_trace_lock);
sc = Yap_heap_regs;
vsc_count++;
old_p = pred;
if (LCL0[-30]) {
UNLOCK(Yap_heap_regs->low_level_trace_lock);
UNLOCK(Yap_heap_regs->low_level_trace_lock);
old_p[worker_id] = pred;
old_x2[worker_id] = ARG2;
old_x1[worker_id] = ARG1;
old_x3[worker_id] = ARG3;
return;
}
if (FALSE && vsc_count == 59855LL) {
jmp_deb(1);
}
jmp_deb(worker_id);
old_p[worker_id] = pred;
old_x2[worker_id] = ARG2;
old_x1[worker_id] = ARG1;
old_x3[worker_id] = ARG3;
#ifdef COMMENTED
//*(H0+(0xb65f2850-0xb64b2008)/sizeof(CELL))==0xc ||
//0x4fd4d

11
H/Yap.h
View File

@ -10,7 +10,7 @@
* File: Yap.h.m4 *
* mods: *
* comments: main header file for YAP *
* version: $Id: Yap.h,v 1.23 2007-06-29 01:33:35 vsc Exp $ *
* version: $Id: Yap.h,v 1.24 2008-01-25 00:21:28 vsc Exp $ *
*************************************************************************/
#include "config.h"
@ -237,7 +237,10 @@ extern char Yap_Option[20];
#define MMAP_ADDR 0x40000000
#elif mips
#define MMAP_ADDR 0x02000000
#elif __APPLE__
#elif __APPLE__ && __LP64__
// this address is high enough that it is likely not to confuse Apple's malloc debugger; lowest possible is 0x100200000
#define MMAP_ADDR 0x200000000
#elif __APPLE__ && !__LP64__
#define MMAP_ADDR 0x20000000
#else
#define MMAP_ADDR 0x08800000
@ -635,7 +638,7 @@ typedef enum
if you place things in the lower addresses (power to the libc people).
*/
#if (defined(_AIX) || defined(_WIN32) || defined(__APPLE__) || defined(sparc) || defined(__sparc) || defined(mips) || defined(__FreeBSD__) || defined(_POWER) || defined(__POWERPC__) || defined(__linux__) || defined(IN_SECOND_QUADRANT) || defined(__CYGWIN__))
#if (defined(_AIX) || (defined(__APPLE__) && !defined(__LP64__)) || defined(_WIN32) || defined(sparc) || defined(__sparc) || defined(mips) || defined(__FreeBSD__) || defined(_POWER) || defined(__POWERPC__) || defined(__linux__) || defined(IN_SECOND_QUADRANT) || defined(__CYGWIN__))
#define USE_LOW32_TAGS 1
#endif
@ -833,7 +836,7 @@ FunctorOfTerm (Term t)
}
#if USE_SYSTEM_MALLOC || USE_DL_MALLOC
#if (USE_SYSTEM_MALLOC || USE_DL_MALLOC) && !__LP64__
#if USE_LOW32_TAGS
inline EXTERN Term MkAtomTerm (Atom);

View File

@ -17,6 +17,7 @@
<h2>Yap-5.1.3:</h2>
<ul>
<li> FIXED: compilation in OSX/64 (patches from Will Benton).</li>
<li> FIXED: do not access erased code (obs from Paulo Moura).</li>
<li> FIXED: clause/3 should not follow fail.</li>
<li> FIXED: make sure we don't ask for 0-sized blocks, minimal 64K.</li>

4
configure vendored
View File

@ -6964,9 +6964,9 @@ fi
SHLIB_CFLAGS="-fno-common"
SHLIB_SUFFIX=".dylib"
DO_SECOND_LD=""
SHLIB_LD="gcc -bundle -flat_namespace -undefined suppress"
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
INSTALL_DLLS=""
CC="cc -no-cpp-precomp"
CC="$CC -no-cpp-precomp"
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers"
;;

View File

@ -770,9 +770,9 @@ dnl Linux has both elf and a.out, in this case we found elf
SHLIB_CFLAGS="-fno-common"
SHLIB_SUFFIX=".dylib"
DO_SECOND_LD=""
SHLIB_LD="gcc -bundle -flat_namespace -undefined suppress"
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
INSTALL_DLLS=""
CC="cc -no-cpp-precomp"
CC="$CC -no-cpp-precomp"
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers"
;;

View File

@ -48,7 +48,7 @@
;
recorda('$thread_exit_status', [Id0|Status], _)
),
format(user_error,'closing thread ~w~n',[v([Id0|Status])]).
% format(user_error,'closing thread ~w~n',[v([Id0|Status])]).
'$run_at_thread_exit'(Id0).
'$close_thread'(Exception,Detached) :-
'$thread_self'(Id0),