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:
parent
fd6b87e5cf
commit
4ae454aac6
18
C/tracer.c
18
C/tracer.c
@ -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
11
H/Yap.h
@ -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);
|
||||
|
@ -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
4
configure
vendored
@ -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"
|
||||
;;
|
||||
|
@ -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"
|
||||
;;
|
||||
|
@ -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),
|
||||
|
Reference in New Issue
Block a user