fix atom garbage collector (although it is still off by default)

make valgrind feel better


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1797 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc
2007-02-18 00:26:36 +00:00
parent a32d5dbe5f
commit 400b1958b2
13 changed files with 469 additions and 388 deletions

View File

@@ -11,8 +11,12 @@
* File: rheap.h *
* comments: walk through heap code *
* *
* Last rev: $Date: 2007-01-08 08:27:19 $,$Author: vsc $ *
* Last rev: $Date: 2007-02-18 00:26:36 $,$Author: vsc $ *
* $Log: not supported by cvs2svn $
* Revision 1.72 2007/01/08 08:27:19 vsc
* fix restore (Trevor)
* make indexing a bit faster on IDB
*
* Revision 1.71 2006/11/27 17:42:03 vsc
* support for UNICODE, and other bug fixes.
*
@@ -896,8 +900,14 @@ RestoreBB(BlackBoardEntry *pp)
{
Term t = pp->Element;
if (t) {
if (!IsVarTerm(t) && !IsAtomicTerm(t)) {
RestoreLUClause((LogUpdClause *)DBRefOfTerm(t),NULL);
if (!IsVarTerm(t)) {
if (IsAtomicTerm(t)) {
if (IsAtomTerm(t)) {
pp->Element = AtomTermAdjust(t);
}
} else {
RestoreLUClause((LogUpdClause *)DBRefOfTerm(t),NULL);
}
}
}
pp->KeyOfBB = AtomAdjust(pp->KeyOfBB);
@@ -1209,8 +1219,8 @@ RestoreEntries(PropEntry *pp)
{
DBEntry *de = (DBEntry *) pp;
de->NextOfPE =
PropAdjust(de->NextOfPE); if (HDiff)
RestoreDB(de);
PropAdjust(de->NextOfPE);
RestoreDB(de);
}
break;
case BBProperty:
@@ -1218,8 +1228,7 @@ RestoreEntries(PropEntry *pp)
BlackBoardEntry *bb = (BlackBoardEntry *) pp;
bb->NextOfPE =
PropAdjust(bb->NextOfPE);
if (HDiff)
RestoreBB(bb);
RestoreBB(bb);
}
break;
case GlobalProperty: