improve JT

fix graph compatibility with SICStus
re-export declaration.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2037 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2007-12-05 12:17:25 +00:00
parent c9c6b2e25c
commit 64d62f1e3e
33 changed files with 1135 additions and 460 deletions

View File

@@ -188,6 +188,7 @@ IsFunctorProperty (int flags)
bb 00 functor entry
ff df sparse functor
ff ex arithmetic property
ff f6 hold
ff f7 array
ff f8 wide atom
ff fa module property
@@ -1110,6 +1111,69 @@ IsBBProperty (int flags)
}
/* hold property entry structure */
typedef struct hold_entry
{
Prop NextOfPE; /* used to chain properties */
PropFlags KindOfPE; /* kind of property */
} HoldEntry;
#if USE_OFFSETS_IN_PROPS
inline EXTERN HoldEntry *RepHoldProp (Prop p);
inline EXTERN HoldEntry *
RepHoldProp (Prop p)
{
return (HoldEntry *) (AtomBase + Unsigned (p));
}
inline EXTERN Prop AbsHoldProp (HoldEntry * p);
inline EXTERN Prop
AbsHoldProp (HoldEntry * p)
{
return (Prop) (Addr (p) - AtomBase);
}
#else
inline EXTERN HoldEntry *RepHoldProp (Prop p);
inline EXTERN HoldEntry *
RepHoldProp (Prop p)
{
return (HoldEntry *) (p);
}
inline EXTERN Prop AbsHoldProp (HoldEntry * p);
inline EXTERN Prop
AbsHoldProp (HoldEntry * p)
{
return (Prop) (p);
}
#endif
#define HoldProperty 0xfff6
/* only unary and binary expressions are acceptable */
inline EXTERN PropFlags IsHoldProperty (int);
inline EXTERN PropFlags
IsHoldProperty (int flags)
{
return (PropFlags) ((flags == HoldProperty));
}
/* array property entry structure */