fix unnecessary limits on maximum code space.
get rid of USE_OFFSET except for atoms. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@368 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
f3756717fb
commit
709b8b277b
@ -11,7 +11,7 @@
|
||||
* Last rev: December 90 *
|
||||
* mods: *
|
||||
* comments: Original Tag Scheme for machines with 32 bits adresses *
|
||||
* version: $Id: Tags_32LowTag.h.m4,v 1.1.1.1 2001-04-09 19:53:46 vsc Exp $ *
|
||||
* version: $Id: Tags_32LowTag.h.m4,v 1.2 2002-02-22 06:10:15 vsc Exp $ *
|
||||
*************************************************************************/
|
||||
|
||||
#define TAG_LOW_BITS_32 1
|
||||
@ -65,10 +65,10 @@ property list
|
||||
#define NumberBits /* 0x0000000aL */ MKTAG(0x2,2)
|
||||
#define NumberMask /* 0x0000000bL */ MKTAG(0x2,3)
|
||||
|
||||
#define NonTagPart(V) (Unsigned(V)>>(SHIFT_LOW_TAG+SHIFT_HIGH_TAG))
|
||||
#define NonTagPart(V) ((Unsigned(V)>>1) & ~LowTagBits)
|
||||
#define TAGGED(TAG,V) (((Unsigned(V)<<(SHIFT_HIGH_TAG+SHIFT_LOW_TAG+1))>>1)|(TAG))
|
||||
#define NONTAGGED(TAG,V) ((Unsigned(V)<<(SHIFT_HIGH_TAG+SHIFT_LOW_TAG+1))>>1)
|
||||
#define TAGGEDA(TAG,V) ((Unsigned(V) << (SHIFT_HIGH_TAG+SHIFT_LOW_TAG))|(TAG))
|
||||
#define TAGGEDA(TAG,V) ((Unsigned(V) << 1)|(TAG))
|
||||
#define CHKTAG(t,Tag) ((Unsigned(t)&TagBits)==Tag)
|
||||
|
||||
/* bits that should not be used by anyone but us */
|
||||
|
12
m4/Yap.h.m4
12
m4/Yap.h.m4
@ -10,7 +10,7 @@
|
||||
* File: Yap.h.m4 *
|
||||
* mods: *
|
||||
* comments: main header file for YAP *
|
||||
* version: $Id: Yap.h.m4,v 1.21 2002-02-12 18:24:20 vsc Exp $ *
|
||||
* version: $Id: Yap.h.m4,v 1.22 2002-02-22 06:10:16 vsc Exp $ *
|
||||
*************************************************************************/
|
||||
|
||||
#include "config.h"
|
||||
@ -232,7 +232,6 @@ extern char Option[20];
|
||||
#endif
|
||||
|
||||
#if !IN_SECOND_QUADRANT
|
||||
#define USE_OFFSETS 1
|
||||
#if __linux__ || __FreeBSD__ || __NetBSD__ || mips || __APPLE__
|
||||
#if defined(YAPOR) && defined(__alpha)
|
||||
#define MMAP_ADDR 0x40000000
|
||||
@ -629,13 +628,8 @@ Inline(IsUnboundVar, int, Term, t, *VarOfTerm(t) == (t))
|
||||
Inline(PtrOfTerm, CELL *, Term, t, *(CELL *)(t))
|
||||
|
||||
Inline(FunctorOfTerm, Functor, Term, t, *RepAppl(t))
|
||||
#if IN_SECOND_QUADRANT
|
||||
Inline(MkAtomTerm, Term, Atom, a, TAGGEDA(AtomTag, (CELL *)(a)-(CELL *)HEAP_INIT_BASE))
|
||||
Destructor(Term, AtomOf, Atom, t, (CELL *)HEAP_INIT_BASE+NonTagPart(t))
|
||||
#else
|
||||
Inline(MkAtomTerm, Term, Atom, a, TAGGEDA(AtomTag, (a)))
|
||||
Destructor(Term, AtomOf, Atom, t, NonTagPart(t))
|
||||
#endif
|
||||
Inline(MkAtomTerm, Term, Atom, a, TAGGEDA(AtomTag, (CELL)(a)-HEAP_INIT_BASE))
|
||||
Destructor(Term, AtomOf, Atom, t, HEAP_INIT_BASE+NonTagPart(t))
|
||||
Inline(IsAtomTerm, int, Term, t, CHKTAG((t), AtomTag))
|
||||
|
||||
Inline(MkIntTerm, Term, Int, n, TAGGED(NumberTag, (n)))
|
||||
|
Reference in New Issue
Block a user