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
16
C/tracer.c
16
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
|
void
|
||||||
low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
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);
|
LOCK(Yap_heap_regs->low_level_trace_lock);
|
||||||
sc = Yap_heap_regs;
|
sc = Yap_heap_regs;
|
||||||
vsc_count++;
|
vsc_count++;
|
||||||
old_p = pred;
|
|
||||||
if (LCL0[-30]) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
if (FALSE && vsc_count == 59855LL) {
|
jmp_deb(worker_id);
|
||||||
jmp_deb(1);
|
old_p[worker_id] = pred;
|
||||||
}
|
old_x2[worker_id] = ARG2;
|
||||||
|
old_x1[worker_id] = ARG1;
|
||||||
|
old_x3[worker_id] = ARG3;
|
||||||
#ifdef COMMENTED
|
#ifdef COMMENTED
|
||||||
//*(H0+(0xb65f2850-0xb64b2008)/sizeof(CELL))==0xc ||
|
//*(H0+(0xb65f2850-0xb64b2008)/sizeof(CELL))==0xc ||
|
||||||
//0x4fd4d
|
//0x4fd4d
|
||||||
|
11
H/Yap.h
11
H/Yap.h
@ -10,7 +10,7 @@
|
|||||||
* File: Yap.h.m4 *
|
* File: Yap.h.m4 *
|
||||||
* mods: *
|
* mods: *
|
||||||
* comments: main header file for YAP *
|
* 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"
|
#include "config.h"
|
||||||
@ -237,7 +237,10 @@ extern char Yap_Option[20];
|
|||||||
#define MMAP_ADDR 0x40000000
|
#define MMAP_ADDR 0x40000000
|
||||||
#elif mips
|
#elif mips
|
||||||
#define MMAP_ADDR 0x02000000
|
#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
|
#define MMAP_ADDR 0x20000000
|
||||||
#else
|
#else
|
||||||
#define MMAP_ADDR 0x08800000
|
#define MMAP_ADDR 0x08800000
|
||||||
@ -635,7 +638,7 @@ typedef enum
|
|||||||
if you place things in the lower addresses (power to the libc people).
|
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
|
#define USE_LOW32_TAGS 1
|
||||||
#endif
|
#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
|
#if USE_LOW32_TAGS
|
||||||
|
|
||||||
inline EXTERN Term MkAtomTerm (Atom);
|
inline EXTERN Term MkAtomTerm (Atom);
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
<h2>Yap-5.1.3:</h2>
|
<h2>Yap-5.1.3:</h2>
|
||||||
<ul>
|
<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: do not access erased code (obs from Paulo Moura).</li>
|
||||||
<li> FIXED: clause/3 should not follow fail.</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>
|
<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_CFLAGS="-fno-common"
|
||||||
SHLIB_SUFFIX=".dylib"
|
SHLIB_SUFFIX=".dylib"
|
||||||
DO_SECOND_LD=""
|
DO_SECOND_LD=""
|
||||||
SHLIB_LD="gcc -bundle -flat_namespace -undefined suppress"
|
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
|
||||||
INSTALL_DLLS=""
|
INSTALL_DLLS=""
|
||||||
CC="cc -no-cpp-precomp"
|
CC="$CC -no-cpp-precomp"
|
||||||
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
|
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
|
||||||
JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers"
|
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_CFLAGS="-fno-common"
|
||||||
SHLIB_SUFFIX=".dylib"
|
SHLIB_SUFFIX=".dylib"
|
||||||
DO_SECOND_LD=""
|
DO_SECOND_LD=""
|
||||||
SHLIB_LD="gcc -bundle -flat_namespace -undefined suppress"
|
SHLIB_LD="$CC -bundle -flat_namespace -undefined suppress"
|
||||||
INSTALL_DLLS=""
|
INSTALL_DLLS=""
|
||||||
CC="cc -no-cpp-precomp"
|
CC="$CC -no-cpp-precomp"
|
||||||
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
|
JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries"
|
||||||
JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers"
|
JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers"
|
||||||
;;
|
;;
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
;
|
;
|
||||||
recorda('$thread_exit_status', [Id0|Status], _)
|
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).
|
'$run_at_thread_exit'(Id0).
|
||||||
'$close_thread'(Exception,Detached) :-
|
'$close_thread'(Exception,Detached) :-
|
||||||
'$thread_self'(Id0),
|
'$thread_self'(Id0),
|
||||||
|
Reference in New Issue
Block a user