try to make comparison faster in indexing code.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@837 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2003-06-06 13:16:40 +00:00
parent b936201465
commit d81fffeec9
7 changed files with 62 additions and 57 deletions

View File

@@ -11,7 +11,7 @@
* Last rev: December 90 *
* mods: *
* comments: Tag Scheme for machines with 24 bits adresses (m68000) *
* version: $Id: Tags_24bits.h.m4,v 1.1.1.1 2001-04-09 19:53:46 vsc Exp $ *
* version: $Id: Tags_24bits.h.m4,v 1.2 2003-06-06 13:16:40 vsc Exp $ *
*************************************************************************/
/* Version for 24 bit addresses (68000)
@@ -46,6 +46,7 @@
#define NumberMask 0xb8000000L
#define MAX_ABS_INT /* 0xfe00000LL */ ((((UInt)(1<<7))-1) << SHIFT_HIGH_TAG)
#define TagOf(X) (Unsigned(X) & TagBits)
#define NonTagPart(X) (Signed(X) & MaskAdr)
#define TAGGEDA(TAG,V) (TAG | Unsigned(V))
#define TAGGED(TAG,V) (TAG | NonTagPart(Unsigned(V)))

View File

@@ -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.2 2002-02-22 06:10:15 vsc Exp $ *
* version: $Id: Tags_32LowTag.h.m4,v 1.3 2003-06-06 13:16:40 vsc Exp $ *
*************************************************************************/
#define TAG_LOW_BITS_32 1
@@ -65,6 +65,7 @@ property list
#define NumberBits /* 0x0000000aL */ MKTAG(0x2,2)
#define NumberMask /* 0x0000000bL */ MKTAG(0x2,3)
#define TagOf(V) (Unsigned(V) & LowTagBits)
#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)

View File

@@ -11,7 +11,7 @@
* Last rev: December 90 *
* mods: *
* comments: Original Tag Scheme for machines with 32 bits adresses *
* version: $Id: Tags_32Ops.h.m4,v 1.2 2001-09-24 18:07:16 vsc Exp $ *
* version: $Id: Tags_32Ops.h.m4,v 1.3 2003-06-06 13:16:40 vsc Exp $ *
*************************************************************************/
/*
@@ -83,6 +83,7 @@ are now 1 in compound terms and structures.
#define ApplBit /* 0x00000001L */ 1
#endif
#define TagOf(t) (Unsigned(t)&TagBits)
#define NonTagPart(X) (Signed(X) & MaskPrim)
#define TAGGEDA(TAG,V) (TAG | Unsigned(V))
#define TAGGED(TAG,V) (TAG | NonTagPart(Unsigned(V)<<2))

View File

@@ -11,7 +11,7 @@
* Last rev: December 90 *
* mods: *
* comments: Original Tag Scheme for machines with 32 bits adresses *
* version: $Id: Tags_64bits.h.m4,v 1.2 2001-06-27 15:14:02 vsc Exp $ *
* version: $Id: Tags_64bits.h.m4,v 1.3 2003-06-06 13:16:40 vsc Exp $ *
*************************************************************************/
#define TAG_64BITS 1
@@ -57,6 +57,7 @@ property list
#define PrimiBits /* 0x70000004L */ MKTAG(0x7,7)
#define NumberMask /* 0x20000007L */ MKTAG(0x2,7)
#define TagOf(t) (Unsigned(t)&TagBits)
#define NonTagPart(X) (Signed(X) & MaskPrim)
#define TAGGEDA(TAG,V) (TAG | Unsigned(V))
#define TAGGED(TAG,V) (TAG | NonTagPart(Unsigned(V)<<3)) /* SQRT(8) */

View File

@@ -11,7 +11,7 @@
* Last rev: December 90 *
* mods: *
* comments: Original Tag Scheme for machines with 32 bits adresses *
* version: $Id: Tags_64ops.h.m4,v 1.2 2001-09-24 18:07:16 vsc Exp $ *
* version: $Id: Tags_64ops.h.m4,v 1.3 2003-06-06 13:16:40 vsc Exp $ *
*************************************************************************/
/*
@@ -81,6 +81,7 @@ are now 1 in compound terms and structures.
#define ApplBit /* 0x00000001L */ 1
#endif
#define TagOf(t) (Unsigned(t)&TagBits)
#define NonTagPart(X) (Signed(X) & MaskPrim)
#define TAGGEDA(TAG,V) (TAG | Unsigned(V))
#define TAGGED(TAG,V) (TAG | NonTagPart(Unsigned(V)<<2))