restore was restoring twice
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2205 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
04682ef5f0
commit
042e5326d3
1
C/agc.c
1
C/agc.c
@ -116,6 +116,7 @@ AtomAdjust(Atom a)
|
||||
#define CharP(X) ((char *)(X))
|
||||
|
||||
#define AddrAdjust(P) (P)
|
||||
#define MFileAdjust(P) (P)
|
||||
#define PredEntryAdjust(P) (P)
|
||||
#define AtomEntryAdjust(P) (P)
|
||||
#define GlobalEntryAdjust(P) (P)
|
||||
|
@ -10,8 +10,13 @@
|
||||
* File: c_interface.c *
|
||||
* comments: c_interface primitives definition *
|
||||
* *
|
||||
* Last rev: $Date: 2008-04-03 13:26:38 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2008-04-04 09:10:02 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.112 2008/04/03 13:26:38 vsc
|
||||
* protect signal handling with locks for threaded version.
|
||||
* fix close/1 entry in manual (obs from Nicos).
|
||||
* fix -f option in chr Makefile.
|
||||
*
|
||||
* Revision 1.111 2008/04/02 21:44:07 vsc
|
||||
* threaded version should ignore saved states (for now).
|
||||
*
|
||||
@ -1664,7 +1669,7 @@ YAP_Init(YAP_init_args *yap_init)
|
||||
|
||||
Yap_argv = yap_init->Argv;
|
||||
Yap_argc = yap_init->Argc;
|
||||
#ifdef THREADS
|
||||
#ifdef USE_SYSTEM_MALLOC
|
||||
if (yap_init->SavedState) {
|
||||
fprintf(stderr,"[ WARNING: threaded Yap will ignore saved state %s ]\n",yap_init->SavedState);
|
||||
yap_init->SavedState = NULL;
|
||||
|
16
H/rheap.h
16
H/rheap.h
@ -11,8 +11,12 @@
|
||||
* File: rheap.h *
|
||||
* comments: walk through heap code *
|
||||
* *
|
||||
* Last rev: $Date: 2008-04-03 11:34:47 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2008-04-04 09:10:02 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.92 2008/04/03 11:34:47 vsc
|
||||
* fix restorebb in cases entry key is not an atom (obs from Nicos
|
||||
* Angelopoulos)
|
||||
*
|
||||
* Revision 1.91 2008/04/01 15:31:43 vsc
|
||||
* more saved state fixes
|
||||
*
|
||||
@ -1203,12 +1207,14 @@ CleanCode(PredEntry *pp)
|
||||
} else {
|
||||
pp->FunctorOfPred = (Functor)AtomAdjust((Atom)(pp->FunctorOfPred));
|
||||
}
|
||||
if (pp->ModuleOfPred != IDB_MODULE) {
|
||||
if (pp->src.OwnerFile && pp->ModuleOfPred != IDB_MODULE)
|
||||
if (!(pp->PredFlags & NumberDBPredFlag)) {
|
||||
if (pp->PredFlags & MultiFileFlag) {
|
||||
if (pp->src.file_srcs)
|
||||
pp->src.file_srcs = MFileAdjust(pp->src.file_srcs);
|
||||
} else {
|
||||
if (pp->src.OwnerFile)
|
||||
pp->src.OwnerFile = AtomAdjust(pp->src.OwnerFile);
|
||||
}
|
||||
if (!(pp->PredFlags & NumberDBPredFlag)) {
|
||||
pp->src.OwnerFile = AtomAdjust(pp->src.OwnerFile);
|
||||
}
|
||||
pp->OpcodeOfPred = Yap_opcode(Yap_op_from_opcode(pp->OpcodeOfPred));
|
||||
if (pp->PredFlags & (AsmPredFlag|CPredFlag)) {
|
||||
|
@ -378,6 +378,14 @@ AtomEntryAdjust (AtomEntry * at)
|
||||
return (AtomEntry *) ((AtomEntry *) (CharP (at) + HDiff));
|
||||
}
|
||||
|
||||
inline EXTERN struct mfile *MFileAdjust (struct mfile *);
|
||||
|
||||
inline EXTERN struct mfile *
|
||||
MFileAdjust (struct mfile * at)
|
||||
{
|
||||
return (struct mfile *) (CharP (at) + HDiff);
|
||||
}
|
||||
|
||||
inline EXTERN GlobalEntry *GlobalEntryAdjust (GlobalEntry *);
|
||||
|
||||
inline EXTERN GlobalEntry *
|
||||
|
Reference in New Issue
Block a user