21#define REINIT_LOCK(P) INIT_LOCK(P)
22#define REINIT_RWLOCK(P) INIT_RWLOCK(P)
26#define CharP(ptr) ((char *) (ptr))
29#define CodeAdjust(ptr) CodeAdjust__(ptr PASS_REGS)
30#define PtoTRAdjust(ptr) PtoTRAdjust__(ptr PASS_REGS)
31#define BaseAddrAdjust(ptr) BaseAddrAdjust__(ptr PASS_REGS)
32#define CutCAdjust(ptr) CutCAdjust__(ptr PASS_REGS)
33#define ChoicePtrAdjust(ptr) ChoicePtrAdjust__(ptr PASS_REGS)
34#define FuncAdjust(ptr) FuncAdjust__(ptr PASS_REGS)
35#define AtomTermAdjust(ptr) AtomTermAdjust__(ptr PASS_REGS)
36#define TermToGlobalOrAtomAdjust(ptr) TermToGlobalOrAtomAdjust__(ptr PASS_REGS)
37#define AtomAdjust(ptr) AtomAdjust__(ptr PASS_REGS)
38#define IsOldCode(ptr) IsOldCode__(ptr PASS_REGS)
39#define IsOldLocal(ptr) IsOldLocal__(ptr PASS_REGS)
40#define IsOldLocalPtr(ptr) IsOldLocalPtr__(ptr PASS_REGS)
41#define IsOldCodeCellPtr(ptr) IsOldCodeCellPtr__(ptr PASS_REGS)
42#define IsOldDelay(ptr) IsOldDelay__(ptr PASS_REGS)
43#define IsOldDelayPtr(ptr) IsOldDelayPtr__(ptr PASS_REGS)
44#define IsOldLocalInTR(ptr) IsOldLocalInTR__(ptr PASS_REGS)
45#define IsOldLocalInTRPtr(ptr) IsOldLocalInTRPtr__(ptr PASS_REGS)
46#define IsOldGlobal(ptr) IsOldGlobal__(ptr PASS_REGS)
47#define IsOldGlobalPtr(ptr) IsOldGlobalPtr__(ptr PASS_REGS)
48#define IsOldTrail(ptr) IsOldTrail__(ptr PASS_REGS)
49#define IsOldTrailPtr(ptr) IsOldTrailPtr__(ptr PASS_REGS)
50#define NoAGCAtomAdjust(ptr) NoAGCAtomAdjust__(ptr PASS_REGS)
54#define AddrAdjust(ptr) AddrAdjust__(ptr PASS_REGS)
55#define BlockAdjust(ptr) BlockAdjust__(ptr PASS_REGS)
56#define CodeVarAdjust(ptr) CodeVarAdjust__(ptr PASS_REGS)
57#define ConstantAdjust(ptr) ConstantAdjust__(ptr PASS_REGS)
58#define ArityAdjust(ptr) ArityAdjust__(ptr PASS_REGS)
61#define OpcodeAdjust(ptr) OpcodeAdjust__(ptr PASS_REGS)
62#define ModuleAdjust(ptr) ModuleAdjust__(ptr PASS_REGS)
64#define DBRecordAdjust(ptr) DBRecordAdjust__(ptr PASS_REGS)
65#define PredEntryAdjust(ptr) PredEntryAdjust__(ptr PASS_REGS)
66#define ModEntryPtrAdjust(ptr) ModEntryPtrAdjust__(ptr PASS_REGS)
67#define AtomEntryAdjust(ptr) AtomEntryAdjust__(ptr PASS_REGS)
68#define GlobalEntryAdjust(ptr) GlobalEntryAdjust__(ptr PASS_REGS)
69#define BlobTermInCodeAdjust(ptr) BlobTermInCodeAdjust__(ptr PASS_REGS)
70#define CellPtoHeapAdjust(ptr) CellPtoHeapAdjust__(ptr PASS_REGS)
71#define PtoAtomHashEntryAdjust(ptr) PtoAtomHashEntryAdjust__(ptr PASS_REGS)
72#define CellPtoHeapCellAdjust(ptr) CellPtoHeapCellAdjust__(ptr PASS_REGS)
73#define CellPtoTRAdjust(ptr) CellPtoTRAdjust__(ptr PASS_REGS)
74#define CodeAddrAdjust(ptr) CodeAddrAdjust__(ptr PASS_REGS)
75#define ConsultObjAdjust(ptr) ConsultObjAdjust__(ptr PASS_REGS)
76#define DelayAddrAdjust(ptr) DelayAddrAdjust__(ptr PASS_REGS)
77#define DelayAdjust(ptr) DelayAdjust__(ptr PASS_REGS)
78#define GlobalAdjust(ptr) GlobalAdjust__(ptr PASS_REGS)
79#define DBRefAdjust(ptr,C) DBRefAdjust__(ptr PASS_REGS)
80#define DBRefPAdjust(ptr) DBRefPAdjust__(ptr PASS_REGS)
81#define DBTermAdjust(ptr) DBTermAdjust__(ptr PASS_REGS)
82#define LUIndexAdjust(ptr) LUIndexAdjust__(ptr PASS_REGS)
83#define SIndexAdjust(ptr) SIndexAdjust__(ptr PASS_REGS)
84#define LocalAddrAdjust(ptr) LocalAddrAdjust__(ptr PASS_REGS)
85#define GlobalAddrAdjust(ptr) GlobalAddrAdjust__(ptr PASS_REGS)
86#define OpListAdjust(ptr) OpListAdjust__(ptr PASS_REGS)
87#define PtoLUCAdjust(ptr) PtoLUCAdjust__(ptr PASS_REGS)
88#define PtoStCAdjust(ptr) PtoStCAdjust__(ptr PASS_REGS)
89#define PtoArrayEAdjust(ptr) PtoArrayEAdjust__(ptr PASS_REGS)
90#define PtoArraySAdjust(ptr) PtoArraySAdjust__(ptr PASS_REGS)
91#define PtoGlobalEAdjust(ptr) PtoGlobalEAdjust__(ptr PASS_REGS)
92#define PtoDelayAdjust(ptr) PtoDelayAdjust__(ptr PASS_REGS)
93#define PtoGloAdjust(ptr) PtoGloAdjust__(ptr PASS_REGS)
94#define PtoLocAdjust(ptr) PtoLocAdjust__(ptr PASS_REGS)
95#define PtoHeapCellAdjust(ptr) PtoHeapCellAdjust__(ptr PASS_REGS)
96#define TermToGlobalAdjust(ptr) TermToGlobalAdjust__(ptr PASS_REGS)
97#define PtoOpAdjust(ptr) PtoOpAdjust__(ptr PASS_REGS)
98#define PtoLUClauseAdjust(ptr) PtoLUClauseAdjust__(ptr PASS_REGS)
99#define PtoLUIndexAdjust(ptr) PtoLUIndexAdjust__(ptr PASS_REGS)
100#define PtoDBTLAdjust(ptr) PtoDBTLAdjust__(ptr PASS_REGS)
101#define PtoPredAdjust(ptr) PtoPredAdjust__(ptr PASS_REGS)
102#define PtoPtoPredAdjust(ptr) PtoPtoPredAdjust__(ptr PASS_REGS)
103#define OpRTableAdjust(ptr) OpRTableAdjust__(ptr PASS_REGS)
104#define OpEntryAdjust(ptr) OpEntryAdjust__(ptr PASS_REGS)
105#define PropAdjust(ptr) PropAdjust__(ptr PASS_REGS)
106#define BlobTypeAdjust(ptr) BlobTypeAdjust__(ptr PASS_REGS)
107#define TrailAddrAdjust(ptr) TrailAddrAdjust__(ptr PASS_REGS)
108#define XAdjust(ptr) XAdjust__(ptr PASS_REGS)
109#define YAdjust(ptr) YAdjust__(ptr PASS_REGS)
110#define LocalAdjust(ptr) LocalAdjust__(ptr PASS_REGS)
111#define TrailAdjust(ptr) TrailAdjust__(ptr PASS_REGS)
112#define HoldEntryAdjust(ptr) HoldEntryAdjust__(ptr PASS_REGS)
113#define CodeCharPAdjust(ptr) CodeCharPAdjust__(ptr PASS_REGS)
114#define CodeConstCharPAdjust(ptr) CodeConstCharPAdjust__(ptr PASS_REGS)
115#define CodeVoidPAdjust(ptr) CodeVoidPAdjust__(ptr PASS_REGS)
116#define HaltHookAdjust(ptr) HaltHookAdjust__(ptr PASS_REGS)
117#define TokEntryAdjust(ptr) TokEntryAdjust__(ptr PASS_REGS)
118#define VarEntryAdjust(ptr) VarEntryAdjust__(ptr PASS_REGS)
119#define ConsumerChoicePtrAdjust(ptr) ConsumerChoicePtrAdjust__(ptr PASS_REGS)
120#define GeneratorChoicePtrAdjust(ptr) GeneratorChoicePtrAdjust__(ptr PASS_REGS)
121#define IsHeapP(ptr) IsHeapP__(ptr PASS_REGS)
122#define IsOldVarTableTrailPtr(ptr) IsOldVarTableTrailPtr__(ptr PASS_REGS)
123#define IsOldTokenTrailPtr(ptr) IsOldTokenTrailPtr__(ptr PASS_REGS)
125#include "inline-only.h"
126INLINE_ONLY
int IsHeapP__ (CELL * CACHE_TYPE);
129IsHeapP__ (CELL * ptr USES_REGS)
132 return (
int) ((ptr < (CELL *) LOCAL_GlobalBase || ptr > (CELL *) LOCAL_TrailTop));
134 return (
int) ((ptr >= (CELL *) Yap_HeapBase && ptr <= (CELL *) HeapTop));
138#define OrArgAdjust(ptr)
139#define TabEntryAdjust(ptr)
143INLINE_ONLY CELL *PtoGloAdjust__ (CELL * CACHE_TYPE);
146PtoGloAdjust__ (CELL * ptr USES_REGS)
148 if (LOCAL_GSplit && ptr >= LOCAL_GSplit) {
149 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_GDiff)));
151 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_GDiff0)));
157INLINE_ONLY CELL *PtoDelayAdjust__ (CELL * CACHE_TYPE);
160PtoDelayAdjust__ (CELL * ptr USES_REGS)
162 if (!LOCAL_GSplit || ptr < LOCAL_GSplit)
163 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_DelayDiff)));
165 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_GDiff0)));
168INLINE_ONLY CELL *PtoBaseAdjust__ (CELL * CACHE_TYPE);
171PtoBaseAdjust__ (CELL * ptr USES_REGS)
173 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_BaseDiff)));
178INLINE_ONLY tr_fr_ptr PtoTRAdjust__ (tr_fr_ptr CACHE_TYPE);
181PtoTRAdjust__ (tr_fr_ptr ptr USES_REGS)
183 return (tr_fr_ptr) (((tr_fr_ptr) (CharP (ptr) + LOCAL_TrDiff)));
188INLINE_ONLY CELL *CellPtoTRAdjust__ (CELL * CACHE_TYPE);
191CellPtoTRAdjust__ (CELL * ptr USES_REGS)
193 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_TrDiff)));
198INLINE_ONLY CELL *PtoLocAdjust__ (CELL * CACHE_TYPE);
201PtoLocAdjust__ (CELL * ptr USES_REGS)
203 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_LDiff)));
210CutCAdjust__ (
struct cut_c_str * ptr USES_REGS)
212 return (
struct cut_c_str *) (CharP (ptr) + LOCAL_LDiff);
220ChoicePtrAdjust__ (
choiceptr ptr USES_REGS)
231ConsumerChoicePtrAdjust__ (
choiceptr ptr USES_REGS)
241GeneratorChoicePtrAdjust__ (
choiceptr ptr USES_REGS)
250INLINE_ONLY CELL GlobalAdjust__ (CELL CACHE_TYPE);
253GlobalAdjust__ (CELL val USES_REGS)
255 if ((CELL *)val <= LOCAL_GSplit) {
256 return (CELL) (val + LOCAL_GDiff0);
258 return (CELL) (val + LOCAL_GDiff);
264INLINE_ONLY CELL DelayAdjust__ (CELL CACHE_TYPE);
267DelayAdjust__ (CELL val USES_REGS)
269 if (!LOCAL_GSplit || (CELL *)val < LOCAL_GSplit)
270 return (CELL) (val + LOCAL_DelayDiff);
272 return (CELL) (val + LOCAL_GDiff0);
276INLINE_ONLY ADDR GlobalAddrAdjust__ (ADDR CACHE_TYPE);
279GlobalAddrAdjust__ (ADDR ptr USES_REGS)
281 if ((CELL *)ptr < LOCAL_GSplit) {
282 if ((CELL *)ptr < H0)
283 return (ADDR) (ptr + LOCAL_DelayDiff);
285 return (ADDR) ((ptr + LOCAL_GDiff0));
287 return (ADDR) ((ptr + LOCAL_GDiff));
294INLINE_ONLY ADDR DelayAddrAdjust__ (ADDR CACHE_TYPE);
297DelayAddrAdjust__ (ADDR ptr USES_REGS)
299 if (!LOCAL_GSplit || (CELL *)ptr < LOCAL_GSplit)
300 return (ADDR) ((ptr + LOCAL_DelayDiff));
302 return (ADDR) ((ptr + LOCAL_GDiff0));
306INLINE_ONLY ADDR BaseAddrAdjust__ (ADDR CACHE_TYPE);
309BaseAddrAdjust__ (ADDR ptr USES_REGS)
311 return (ADDR) ((ptr + LOCAL_BaseDiff));
316INLINE_ONLY CELL LocalAdjust__ (CELL CACHE_TYPE);
319LocalAdjust__ (CELL val USES_REGS)
321 return (CELL) ((val + LOCAL_LDiff));
326INLINE_ONLY ADDR LocalAddrAdjust__ (ADDR CACHE_TYPE);
329LocalAddrAdjust__ (ADDR ptr USES_REGS)
331 return (ADDR) ((ptr + LOCAL_LDiff));
336INLINE_ONLY CELL TrailAdjust__ (CELL CACHE_TYPE);
339TrailAdjust__ (CELL val USES_REGS)
341 return (CELL) ((val + LOCAL_TrDiff));
346INLINE_ONLY ADDR TrailAddrAdjust__ (ADDR CACHE_TYPE);
349TrailAddrAdjust__ (ADDR ptr USES_REGS)
351 return (ADDR) ((ptr + LOCAL_TrDiff));
359TokEntryAdjust__ (
TokEntry * ptr USES_REGS)
361 return (
TokEntry *) (((CELL) ptr + LOCAL_TrDiff));
369VarEntryAdjust__ (
VarEntry * ptr USES_REGS)
371 return (
VarEntry *) (((CELL) ptr + LOCAL_TrDiff));
380FuncAdjust__ (
Functor f USES_REGS)
382 if (!IsExtensionFunctor(f))
383 return (
Functor) ((CharP (f) + LOCAL_HDiff));
387INLINE_ONLY CELL *CellPtoHeapAdjust__ (CELL * CACHE_TYPE);
390CellPtoHeapAdjust__ (CELL * ptr USES_REGS)
394 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_HDiff)));
400HoldEntryAdjust__ (
HoldEntry * ptr USES_REGS)
408DBRecordAdjust__ (
struct record_list * ptr USES_REGS)
412 return (
struct record_list *) (CharP (ptr) + LOCAL_HDiff);
418INLINE_ONLY
Atom AtomAdjust__ (
Atom CACHE_TYPE);
421AtomAdjust__ (
Atom at USES_REGS)
423 return (
Atom) ((at));
426INLINE_ONLY
Atom NoAGCAtomAdjust__ (
Atom CACHE_TYPE);
429NoAGCAtomAdjust__ (
Atom at USES_REGS)
431 return (
Atom) ((at));
436INLINE_ONLY
Prop PropAdjust__ (
Prop CACHE_TYPE);
439PropAdjust__ (
Prop p USES_REGS)
446INLINE_ONLY
Atom AtomAdjust__ (
Atom CACHE_TYPE);
449AtomAdjust__ (
Atom at USES_REGS)
451 return (
Atom) ((at == NULL ? (at) : (
Atom) (CharP (at) + LOCAL_HDiff)));
454INLINE_ONLY
Atom NoAGCAtomAdjust__ (
Atom CACHE_TYPE);
457NoAGCAtomAdjust__ (
Atom at USES_REGS)
459 return (
Atom) ((at == NULL ? (at) : (
Atom) (CharP (at) + LOCAL_HDiff)));
462INLINE_ONLY
Prop PropAdjust__ (
Prop CACHE_TYPE);
465PropAdjust__ (
Prop p USES_REGS)
467 return (
Prop) ((p == NULL ? (p) : (
Prop) (CharP (p) + LOCAL_HDiff)));
473INLINE_ONLY YAP_blob_t *BlobTypeAdjust__ (YAP_blob_t *CACHE_TYPE);
475INLINE_ONLY YAP_blob_t *
476BlobTypeAdjust__ ( YAP_blob_t *at USES_REGS)
478 return ( YAP_blob_t *) ((at == NULL ? (at) : ( YAP_blob_t *) (CharP (at) + LOCAL_HDiff)));
484PredEntryAdjust__ (
PredEntry *p USES_REGS)
492ModEntryPtrAdjust__ (
struct mod_entry *p USES_REGS)
494 return (
struct mod_entry *) ((p == NULL ? (p) : (
struct mod_entry *) (CharP (p) + LOCAL_HDiff)));
497INLINE_ONLY COUNT ConstantAdjust__ (COUNT CACHE_TYPE);
500ConstantAdjust__ (COUNT val USES_REGS)
505INLINE_ONLY Int ArityAdjust__ (Int CACHE_TYPE);
508ArityAdjust__ (Int val USES_REGS)
513INLINE_ONLY OPCODE OpcodeAdjust__ (OPCODE CACHE_TYPE);
516OpcodeAdjust__ (OPCODE val USES_REGS)
518 return Yap_opcode(Yap_op_from_opcode(val));
521#define DoubleInCodeAdjust(D)
523#define IntegerInCodeAdjust(D)
525#define IntegerAdjust(D) (D)
527#define ExternalFunctionAdjust(D) (D);
529INLINE_ONLY Term AtomTermAdjust__ (Term CACHE_TYPE);
533IsOldGlobal__ (CELL reg USES_REGS)
535 return (
int) (IN_BETWEEN (LOCAL_OldGlobalBase, reg, LOCAL_OldH));
539AtomTermAdjust__ (Term at USES_REGS)
543 Atom a = AtomOfTerm(at);
544 if (IsOldGlobal((CELL)a)) {
545 return MkAtomTerm((
Atom)PtoGloAdjust((CELL*)a));
547 return (Term)(CharP(at) + LOCAL_HDiff);
550INLINE_ONLY Term ModuleAdjust__ (Term CACHE_TYPE);
553ModuleAdjust__ (Term t USES_REGS)
555 return AtomTermAdjust(t);
558INLINE_ONLY Term CodeVarAdjust__ (Term CACHE_TYPE);
561CodeVarAdjust__ (Term var USES_REGS)
565 return (Term)(CharP(var) + LOCAL_HDiff);
571INLINE_ONLY Term BlobTermInCodeAdjust__ (Term CACHE_TYPE);
574BlobTermInCodeAdjust__ (Term t USES_REGS)
576 return (Term) (CharP(t) - LOCAL_HDiff);
580INLINE_ONLY Term CodeComposedTermAdjust__ (Term CACHE_TYPE);
583CodeComposedTermAdjust__ (Term t USES_REGS)
585 return (Term) (CharP(t) - LOCAL_HDiff);
591INLINE_ONLY Term BlobTermInCodeAdjust__ (Term CACHE_TYPE);
594BlobTermInCodeAdjust__ (Term t USES_REGS)
596 return (Term) (CharP(t) + LOCAL_HDiff);
599INLINE_ONLY Term CodeComposedTermAdjust__ (Term CACHE_TYPE);
602CodeComposedTermAdjust__ (Term t USES_REGS)
604 return (Term) (CharP(t) + LOCAL_HDiff);
613AtomEntryAdjust__ (
AtomEntry * at USES_REGS)
631ConsultObjAdjust__ (
union CONSULT_OBJ *co USES_REGS)
638INLINE_ONLY
DBRef DBRefAdjust__ (
DBRef CACHE_TYPE);
641DBRefAdjust__ (
DBRef dbr USES_REGS)
643 return (
DBRef) ((
DBRef) (CharP (dbr) + LOCAL_HDiff));
648INLINE_ONLY
DBRef *DBRefPAdjust__ (
DBRef * CACHE_TYPE);
651DBRefPAdjust__ (
DBRef * dbrp USES_REGS)
653 return (
DBRef *) ((
DBRef *) (CharP (dbrp) + LOCAL_HDiff));
658INLINE_ONLY
DBTerm *DBTermAdjust__ (
DBTerm * CACHE_TYPE);
661DBTermAdjust__ (
DBTerm * dbtp USES_REGS)
663 return (
DBTerm *) ((
DBTerm *) (CharP (dbtp) + LOCAL_HDiff));
674 *) ((
struct static_index *) (CharP (si) + LOCAL_HDiff));
691INLINE_ONLY Term CodeAdjust__ (Term CACHE_TYPE);
694CodeAdjust__ (Term dbr USES_REGS)
696 return (Term) (CharP(dbr) + LOCAL_HDiff);
701INLINE_ONLY ADDR AddrAdjust__ (ADDR CACHE_TYPE);
704AddrAdjust__ (ADDR addr USES_REGS)
706 return (ADDR) ((ADDR) (CharP (addr) + LOCAL_HDiff));
711INLINE_ONLY CODEADDR CodeAddrAdjust__ (CODEADDR CACHE_TYPE);
714CodeAddrAdjust__ (CODEADDR addr USES_REGS)
716 return (CODEADDR) ((CODEADDR) (CharP (addr) + LOCAL_HDiff));
720INLINE_ONLY
char * CodeCharPAdjust__ (
char * CACHE_TYPE);
723CodeCharPAdjust__ (
char * addr USES_REGS)
727 return addr + LOCAL_HDiff;
730INLINE_ONLY
const char * CodeConstCharPAdjust__ (
const char * CACHE_TYPE);
732INLINE_ONLY
const char *
733CodeConstCharPAdjust__ (
const char * addr USES_REGS)
737 return addr + LOCAL_HDiff;
740INLINE_ONLY
void * CodeVoidPAdjust__ (
void * CACHE_TYPE);
743CodeVoidPAdjust__ (
void * addr USES_REGS)
747 return (
void *)((
char *)addr + LOCAL_HDiff);
753HaltHookAdjust__ (
struct halt_hook * addr USES_REGS)
757 return (
struct halt_hook *) (CharP (addr) + LOCAL_HDiff);
768INLINE_ONLY
yamop *PtoOpAdjust__ (
yamop * CACHE_TYPE);
771PtoOpAdjust__ (
yamop * ptr USES_REGS)
774 return (
yamop *) (CharP (ptr) + LOCAL_HDiff);
807INLINE_ONLY CELL *PtoHeapCellAdjust__ (CELL * CACHE_TYPE);
810PtoHeapCellAdjust__ (CELL * ptr USES_REGS)
812 return (CELL *) (((CELL *) (CharP (ptr) + LOCAL_HDiff)));
823INLINE_ONLY Term TermToGlobalAdjust__ (Term CACHE_TYPE);
826TermToGlobalAdjust__ (Term t USES_REGS)
830 return AbsAppl(PtoGloAdjust(RepAppl(t)));
833INLINE_ONLY Term TermToGlobalOrAtomAdjust__ (Term CACHE_TYPE);
836TermToGlobalOrAtomAdjust__ (Term t USES_REGS)
841 return AtomTermAdjust(t);
843 return AbsAppl(PtoGloAdjust(RepAppl(t)));
845 return AbsPair(PtoGloAdjust(RepPair(t)));
851INLINE_ONLY op_entry *OpRTableAdjust__ (op_entry * CACHE_TYPE);
853INLINE_ONLY op_entry *
854OpRTableAdjust__ (op_entry * ptr USES_REGS)
856 return (op_entry *) (((op_entry *) (CharP (ptr) + LOCAL_HDiff)));
864OpEntryAdjust__ (
OpEntry * ptr USES_REGS)
872PtoPredAdjust__ (
PredEntry * ptr USES_REGS)
880PtoPtoPredAdjust__ (
PredEntry **ptr USES_REGS)
940 *) (((
struct static_upd_clause *) (CharP (ptr) + LOCAL_HDiff)));
947PtoDBTLAdjust__ (
struct dbterm_list * addr USES_REGS)
949 return (
struct dbterm_list *) ((ADDR) (CharP (addr) + LOCAL_HDiff));
953#if PRECOMPUTE_REGADDRESS
955INLINE_ONLY wamreg XAdjust__ (wamreg CACHE_TYPE);
958XAdjust__ (wamreg reg USES_REGS)
960 return (wamreg) ((wamreg) ((reg) + LOCAL_XDiff));
966INLINE_ONLY wamreg XAdjust__ (wamreg CACHE_TYPE);
969XAdjust__ (wamreg reg USES_REGS)
971 return (wamreg) ((reg));
977INLINE_ONLY yslot YAdjust__ (yslot CACHE_TYPE);
980YAdjust__ (yslot reg USES_REGS)
982 return (yslot) ((reg));
987INLINE_ONLY
int IsOldLocal__ (CELL CACHE_TYPE);
990IsOldLocal__ (CELL reg USES_REGS)
992 return (
int) (IN_BETWEEN (LOCAL_OldASP, reg, LOCAL_OldLCL0));
997INLINE_ONLY
int IsOldLocalPtr__ (CELL * CACHE_TYPE);
1000IsOldLocalPtr__ (CELL * ptr USES_REGS)
1002 return (
int) (IN_BETWEEN (LOCAL_OldASP, ptr, LOCAL_OldLCL0));
1009INLINE_ONLY
int IsOldLocalInTR__ (CELL CACHE_TYPE);
1012IsOldLocalInTR__ (CELL reg USES_REGS)
1014 return (
int) (IN_BETWEEN (LOCAL_OldASP, reg, LOCAL_OldLCL0));
1019INLINE_ONLY
int IsOldLocalInTRPtr__ (CELL * CACHE_TYPE);
1022IsOldLocalInTRPtr__ (CELL * ptr USES_REGS)
1024 return (
int) (IN_BETWEEN (LOCAL_OldASP, ptr, LOCAL_OldLCL0));
1030INLINE_ONLY
int IsOldH__ (CELL CACHE_TYPE);
1033IsOldH__ (CELL reg USES_REGS)
1035 return (
int) ((CharP (reg) == CharP (LOCAL_OldH)));
1044INLINE_ONLY
int IsOldDelay__ (CELL CACHE_TYPE);
1047IsOldDelay__ (CELL reg USES_REGS)
1049 return (
int) (IN_BETWEEN (LOCAL_OldGlobalBase, reg, LOCAL_OldH0));
1054INLINE_ONLY
int IsOldGlobalPtr__ (CELL * CACHE_TYPE);
1057IsOldGlobalPtr__ (CELL * ptr USES_REGS)
1059 return (
int) (IN_BETWEEN (LOCAL_OldGlobalBase, ptr, LOCAL_OldH));
1064INLINE_ONLY
int IsOldTrail__ (CELL CACHE_TYPE);
1067IsOldTrail__ (CELL reg USES_REGS)
1069 return (
int) (IN_BETWEEN (LOCAL_OldTrailBase, reg, LOCAL_OldTR));
1074INLINE_ONLY
int IsOldTrailPtr__ (CELL * CACHE_TYPE);
1077IsOldTrailPtr__ (CELL * ptr USES_REGS)
1079 return (
int) (IN_BETWEEN (LOCAL_OldTrailBase, ptr, LOCAL_OldTR));
1084INLINE_ONLY
int IsOldVarTableTrailPtr__ (
struct VARSTRUCT * CACHE_TYPE);
1087IsOldVarTableTrailPtr__ (
struct VARSTRUCT *ptr USES_REGS)
1089 return (
int) (IN_BETWEEN (LOCAL_OldTrailBase, ptr, LOCAL_OldTR));
1094INLINE_ONLY
int IsOldTokenTrailPtr__ (
struct TOKEN * CACHE_TYPE);
1097IsOldTokenTrailPtr__ (
struct TOKEN *ptr USES_REGS)
1099 return (
int) (IN_BETWEEN (LOCAL_OldTrailBase, ptr, LOCAL_OldTR));
1104INLINE_ONLY
int IsOldCode__ (CELL CACHE_TYPE);
1107IsOldCode__ (CELL reg USES_REGS)
1109#if USE_SYSTEM_MALLOC
1110 return reg < (CELL)LOCAL_OldGlobalBase || reg > (CELL)LOCAL_OldTrailTop;
1112 return (
int) (IN_BETWEEN (LOCAL_OldHeapBase, reg, LOCAL_OldHeapTop));
1118INLINE_ONLY
int IsOldCodeCellPtr__ (CELL * CACHE_TYPE);
1121IsOldCodeCellPtr__ (CELL * ptr USES_REGS)
1123 return (
int) (IN_BETWEEN (LOCAL_OldHeapBase, ptr, LOCAL_OldHeapTop));
1128INLINE_ONLY
int IsGlobal__ (CELL CACHE_TYPE);
1131IsGlobal__ (CELL reg USES_REGS)
1133 return (
int) (IN_BETWEEN (LOCAL_GlobalBase, reg, HR));
1137void Yap_AdjustStacksAndTrail(
void);
1138void Yap_AdjustRegs(
int);
Module property: low-level data used to manage modes.