add some atom gc fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1299 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
24
H/rheap.h
24
H/rheap.h
@@ -11,8 +11,13 @@
|
||||
* File: rheap.h *
|
||||
* comments: walk through heap code *
|
||||
* *
|
||||
* Last rev: $Date: 2005-01-04 02:50:21 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2005-05-30 03:26:37 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.48 2005/01/04 02:50:21 vsc
|
||||
* - allow MegaClauses with blobs
|
||||
* - change Diffs to be thread specific
|
||||
* - include Christian's updates
|
||||
*
|
||||
* Revision 1.47 2004/12/02 06:06:47 vsc
|
||||
* fix threads so that they at least start
|
||||
* allow error handling to work with threads
|
||||
@@ -848,13 +853,22 @@ CleanCode(PredEntry *pp)
|
||||
|
||||
|
||||
/* Init takes care of the first 2 cases */
|
||||
if (pp->ArityOfPE)
|
||||
pp->FunctorOfPred = FuncAdjust(pp->FunctorOfPred);
|
||||
else
|
||||
pp->FunctorOfPred = (Functor)AtomAdjust((Atom)(pp->FunctorOfPred));
|
||||
if (pp->ModuleOfPred) {
|
||||
pp->ModuleOfPred = AtomTermAdjust(pp->ModuleOfPred);
|
||||
}
|
||||
if (pp->ArityOfPE) {
|
||||
if (pp->ModuleOfPred == IDB_MODULE) {
|
||||
if (pp->PredFlags & AtomDBPredFlag) {
|
||||
pp->FunctorOfPred = (Functor)AtomAdjust((Atom)(pp->FunctorOfPred));
|
||||
} else {
|
||||
pp->FunctorOfPred = FuncAdjust(pp->FunctorOfPred);
|
||||
}
|
||||
} else {
|
||||
pp->FunctorOfPred = FuncAdjust(pp->FunctorOfPred);
|
||||
}
|
||||
} else {
|
||||
pp->FunctorOfPred = (Functor)AtomAdjust((Atom)(pp->FunctorOfPred));
|
||||
}
|
||||
if (pp->ModuleOfPred != IDB_MODULE) {
|
||||
if (pp->src.OwnerFile && pp->ModuleOfPred != IDB_MODULE)
|
||||
pp->src.OwnerFile = AtomAdjust(pp->src.OwnerFile);
|
||||
|
Reference in New Issue
Block a user