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 CharP(X) ((char *)(X))
|
||||||
|
|
||||||
#define AddrAdjust(P) (P)
|
#define AddrAdjust(P) (P)
|
||||||
|
#define MFileAdjust(P) (P)
|
||||||
#define PredEntryAdjust(P) (P)
|
#define PredEntryAdjust(P) (P)
|
||||||
#define AtomEntryAdjust(P) (P)
|
#define AtomEntryAdjust(P) (P)
|
||||||
#define GlobalEntryAdjust(P) (P)
|
#define GlobalEntryAdjust(P) (P)
|
||||||
|
@ -10,8 +10,13 @@
|
|||||||
* File: c_interface.c *
|
* File: c_interface.c *
|
||||||
* comments: c_interface primitives definition *
|
* 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 $
|
* $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
|
* Revision 1.111 2008/04/02 21:44:07 vsc
|
||||||
* threaded version should ignore saved states (for now).
|
* 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_argv = yap_init->Argv;
|
||||||
Yap_argc = yap_init->Argc;
|
Yap_argc = yap_init->Argc;
|
||||||
#ifdef THREADS
|
#ifdef USE_SYSTEM_MALLOC
|
||||||
if (yap_init->SavedState) {
|
if (yap_init->SavedState) {
|
||||||
fprintf(stderr,"[ WARNING: threaded Yap will ignore saved state %s ]\n",yap_init->SavedState);
|
fprintf(stderr,"[ WARNING: threaded Yap will ignore saved state %s ]\n",yap_init->SavedState);
|
||||||
yap_init->SavedState = NULL;
|
yap_init->SavedState = NULL;
|
||||||
|
18
H/rheap.h
18
H/rheap.h
@ -11,8 +11,12 @@
|
|||||||
* File: rheap.h *
|
* File: rheap.h *
|
||||||
* comments: walk through heap code *
|
* 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 $
|
* $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
|
* Revision 1.91 2008/04/01 15:31:43 vsc
|
||||||
* more saved state fixes
|
* more saved state fixes
|
||||||
*
|
*
|
||||||
@ -1203,12 +1207,14 @@ CleanCode(PredEntry *pp)
|
|||||||
} else {
|
} else {
|
||||||
pp->FunctorOfPred = (Functor)AtomAdjust((Atom)(pp->FunctorOfPred));
|
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);
|
|
||||||
}
|
|
||||||
if (!(pp->PredFlags & NumberDBPredFlag)) {
|
if (!(pp->PredFlags & NumberDBPredFlag)) {
|
||||||
pp->src.OwnerFile = AtomAdjust(pp->src.OwnerFile);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
pp->OpcodeOfPred = Yap_opcode(Yap_op_from_opcode(pp->OpcodeOfPred));
|
pp->OpcodeOfPred = Yap_opcode(Yap_op_from_opcode(pp->OpcodeOfPred));
|
||||||
if (pp->PredFlags & (AsmPredFlag|CPredFlag)) {
|
if (pp->PredFlags & (AsmPredFlag|CPredFlag)) {
|
||||||
|
@ -378,6 +378,14 @@ AtomEntryAdjust (AtomEntry * at)
|
|||||||
return (AtomEntry *) ((AtomEntry *) (CharP (at) + HDiff));
|
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 *GlobalEntryAdjust (GlobalEntry *);
|
||||||
|
|
||||||
inline EXTERN GlobalEntry *
|
inline EXTERN GlobalEntry *
|
||||||
|
Reference in New Issue
Block a user