let all atoms be equal in rights and duties

This commit is contained in:
Vitor Santos Costa 2016-08-02 18:26:48 -05:00
parent 0dd5da91ca
commit a560031167
2 changed files with 10 additions and 8 deletions

View File

@ -1078,7 +1078,7 @@ static void InitAtoms(void) {
HashChain[i].Entry = NIL; HashChain[i].Entry = NIL;
} }
NOfAtoms = 0; NOfAtoms = 0;
#if OLD_STYLE_INITIAL_ATOMS #if 0 && OLD_STYLE_INITIAL_ATOMS
Yap_LookupAtomWithAddress("**", (AtomEntry *)&(SF_STORE->AtFoundVar)); Yap_LookupAtomWithAddress("**", (AtomEntry *)&(SF_STORE->AtFoundVar));
Yap_ReleaseAtom(AtomFoundVar); Yap_ReleaseAtom(AtomFoundVar);
Yap_LookupAtomWithAddress("?", (AtomEntry *)&(SF_STORE->AtFreeTerm)); Yap_LookupAtomWithAddress("?", (AtomEntry *)&(SF_STORE->AtFreeTerm));
@ -1086,12 +1086,12 @@ static void InitAtoms(void) {
Yap_LookupAtomWithAddress("[]", (AtomEntry *)&(SF_STORE->AtNil)); Yap_LookupAtomWithAddress("[]", (AtomEntry *)&(SF_STORE->AtNil));
Yap_LookupAtomWithAddress(".", (AtomEntry *)&(SF_STORE->AtDot)); Yap_LookupAtomWithAddress(".", (AtomEntry *)&(SF_STORE->AtDot));
#else #else
SF_STORE->AtFoundVar = Yap_LookupAtom("**"); AtomFoundVar = Yap_LookupAtom("**");
Yap_ReleaseAtom(AtomFoundVar); Yap_ReleaseAtom(AtomFoundVar);
SF_STORE->AtFreeTerm = Yap_LookupAtom("?"); AtomFreeTerm = Yap_LookupAtom("?");
Yap_ReleaseAtom(AtomFreeTerm); Yap_ReleaseAtom(AtomFreeTerm);
SF_STORE->AtNil = Yap_LookupAtom("[]"); AtomNil = Yap_LookupAtom("[]");
SF_STORE->AtDot = Yap_LookupAtom("."); AtomDot = Yap_LookupAtom(".");
#endif #endif
} }

View File

@ -183,6 +183,8 @@ typedef struct various_codes {
} all_heap_codes; } all_heap_codes;
Atom AtomFoundVar, AtomFreeTerm, AtomNil, AtomDot;
#include "tatoms.h" #include "tatoms.h"
@ -262,12 +264,12 @@ INLINE_ONLY inline EXTERN Term Yap_CurrentModule__(USES_REGS1) {
#define InitialConsultCapacity 1024 #define InitialConsultCapacity 1024
#if (defined(USE_SYSTEM_MALLOC) && HAVE_MALLINFO) || USE_DL_MALLOC #if (defined(USE_SYSTEM_MALLOC) && HAVE_MALLINFO) || USE_DL_MALLOC
UInt Yap_givemallinfo(void); extern UInt Yap_givemallinfo(void);
#endif #endif
ADDR Yap_ExpandPreAllocCodeSpace(UInt, void *, int); extern ADDR Yap_ExpandPreAllocCodeSpace(UInt, void *, int);
#define Yap_ReleasePreAllocCodeSpace(x) #define Yap_ReleasePreAllocCodeSpace(x)
ADDR Yap_InitPreAllocCodeSpace(int); extern ADDR Yap_InitPreAllocCodeSpace(int);
#include "inline-only.h" #include "inline-only.h"
INLINE_ONLY EXTERN inline ADDR Yap_PreAllocCodeSpace(void); INLINE_ONLY EXTERN inline ADDR Yap_PreAllocCodeSpace(void);