diff --git a/C/c_interface.c b/C/c_interface.c index 4b33503f9..16428bd67 100644 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -562,6 +562,7 @@ X_API Term STD_PROTO(YAP_ImportTerm,(char *)); static UInt current_arity(void) { + CACHE_REGS if (P && PREVOP(P,Osbpp)->opc == Yap_opcode(_call_usercpred)) { return PREVOP(P,Osbpp)->u.Osbpp.p->ArityOfPE; } else { diff --git a/C/compiler.c b/C/compiler.c index f6b98346e..e2053dfe6 100644 --- a/C/compiler.c +++ b/C/compiler.c @@ -2174,6 +2174,7 @@ typedef struct env_tmp { static void AssignPerm(PInstr *pc, compiler_struct *cglobs) { + CACHE_REGS int uses_var; PInstr *opc = NULL; #ifdef LOCALISE_VOIDS @@ -2407,6 +2408,7 @@ typedef struct { static void CheckUnsafe(PInstr *pc, compiler_struct *cglobs) { + CACHE_REGS int pending = 0; /* say that all variables are yet to initialise */ @@ -2750,6 +2752,7 @@ copy_live_temps_bmap(int max, compiler_struct *cglobs) static void c_layout(compiler_struct *cglobs) { + CACHE_REGS PInstr *savepc = cglobs->BodyStart->nextInst; register Ventry *v = cglobs->vtable; Int *up = cglobs->Uses; diff --git a/C/errors.c b/C/errors.c index 258cfbec3..372462193 100644 --- a/C/errors.c +++ b/C/errors.c @@ -33,6 +33,7 @@ void Yap_RestartYap ( int flag ) { + CACHE_REGS #if PUSH_REGS restore_absmi_regs(&Yap_standard_regs); #endif diff --git a/library/dialect/swi/fli/swi.c b/library/dialect/swi/fli/swi.c index d22a827ba..5441d65a9 100644 --- a/library/dialect/swi/fli/swi.c +++ b/library/dialect/swi/fli/swi.c @@ -1796,7 +1796,7 @@ PL_skip_list(term_t list, term_t tail, size_t *len) if ( len ) *len = length; if ( tail ) - { Term t2 = Yap_GetFromSlot(tail); + { Term t2 = Yap_GetFromSlot(tail PASS_REGS); Yap_unify(t2, *t); }