Some global variables(Yap_thread_gl) in C/init.c are now declared in misc/LOCALS
This commit is contained in:
33
C/exec.c
33
C/exec.c
@@ -946,7 +946,7 @@ exec_absmi(int top USES_REGS)
|
||||
{
|
||||
int lval, out;
|
||||
|
||||
if (top && (lval = sigsetjmp (Yap_RestartEnv, 1)) != 0) {
|
||||
if (top && (lval = sigsetjmp (LOCAL_RestartEnv, 1)) != 0) {
|
||||
switch(lval) {
|
||||
case 1:
|
||||
{ /* restart */
|
||||
@@ -1279,7 +1279,7 @@ Yap_RunTopGoal(Term t)
|
||||
CodeAdr = ppe->CodeOfPred;
|
||||
UNLOCK(ppe->PELock);
|
||||
#if !USE_SYSTEM_MALLOC
|
||||
if (Yap_TrailTop - HeapTop < 2048) {
|
||||
if (LOCAL_TrailTop - HeapTop < 2048) {
|
||||
Yap_PrologMode = BootMode;
|
||||
Yap_Error(OUT_OF_TRAIL_ERROR,TermNil,
|
||||
"unable to boot because of too little Trail space");
|
||||
@@ -1474,7 +1474,7 @@ JumpToEnv(Term t USES_REGS) {
|
||||
/* just keep the throwed object away, we don't need to care about it */
|
||||
if (!(LOCAL_BallTerm = Yap_StoreTermInDB(t, 0))) {
|
||||
/* fat chance */
|
||||
siglongjmp(Yap_RestartEnv,1);
|
||||
siglongjmp(LOCAL_RestartEnv,1);
|
||||
}
|
||||
/* careful, previous step may have caused a stack shift,
|
||||
so get pointers here */
|
||||
@@ -1529,7 +1529,7 @@ JumpToEnv(Term t USES_REGS) {
|
||||
#if PUSH_REGS
|
||||
restore_absmi_regs(&Yap_standard_regs);
|
||||
#endif
|
||||
siglongjmp(Yap_RestartEnv,1);
|
||||
siglongjmp(LOCAL_RestartEnv,1);
|
||||
}
|
||||
/* is it a continuation? */
|
||||
env = handler->cp_env;
|
||||
@@ -1602,7 +1602,6 @@ Yap_InitYaamRegs(void)
|
||||
{
|
||||
CACHE_REGS
|
||||
Term h0var;
|
||||
|
||||
#if PUSH_REGS
|
||||
/* Guarantee that after a longjmp we go back to the original abstract
|
||||
machine registers */
|
||||
@@ -1617,12 +1616,12 @@ Yap_InitYaamRegs(void)
|
||||
#endif /* PUSH_REGS */
|
||||
Yap_ResetExceptionTerm ();
|
||||
Yap_PutValue (AtomBreak, MkIntTerm (0));
|
||||
TR = (tr_fr_ptr)Yap_TrailBase;
|
||||
if (Yap_AttsSize > (Yap_LocalBase-Yap_GlobalBase)/8)
|
||||
Yap_AttsSize = (Yap_LocalBase-Yap_GlobalBase)/8;
|
||||
H = H0 = ((CELL *) Yap_GlobalBase)+ Yap_AttsSize/sizeof(CELL);
|
||||
TR = (tr_fr_ptr)LOCAL_TrailBase;
|
||||
if (Yap_AttsSize > (LOCAL_LocalBase-LOCAL_GlobalBase)/8)
|
||||
Yap_AttsSize = (LOCAL_LocalBase-LOCAL_GlobalBase)/8;
|
||||
H = H0 = ((CELL *) LOCAL_GlobalBase)+ Yap_AttsSize/sizeof(CELL);
|
||||
RESET_VARIABLE(H0-1);
|
||||
LCL0 = ASP = (CELL *) Yap_LocalBase;
|
||||
LCL0 = ASP = (CELL *) LOCAL_LocalBase;
|
||||
/* notice that an initial choice-point and environment
|
||||
*must* be created since for the garbage collector to work */
|
||||
B = NULL;
|
||||
@@ -1637,8 +1636,8 @@ Yap_InitYaamRegs(void)
|
||||
#ifdef YAPOR_SBA
|
||||
BSEG =
|
||||
#endif /* YAPOR_SBA */
|
||||
BBREG = B_FZ = (choiceptr) Yap_LocalBase;
|
||||
TR = TR_FZ = (tr_fr_ptr) Yap_TrailBase;
|
||||
BBREG = B_FZ = (choiceptr) LOCAL_LocalBase;
|
||||
TR = TR_FZ = (tr_fr_ptr) LOCAL_TrailBase;
|
||||
#endif /* FROZEN_STACKS */
|
||||
LOCK(LOCAL_SignalLock);
|
||||
CreepFlag = CalculateStackGap();
|
||||
@@ -1723,16 +1722,16 @@ Yap_GetException(void)
|
||||
do {
|
||||
t = Yap_PopTermFromDB(LOCAL_BallTerm);
|
||||
if (t == 0) {
|
||||
if (Yap_Error_TYPE == OUT_OF_ATTVARS_ERROR) {
|
||||
Yap_Error_TYPE = YAP_NO_ERROR;
|
||||
if (LOCAL_Error_TYPE == OUT_OF_ATTVARS_ERROR) {
|
||||
LOCAL_Error_TYPE = YAP_NO_ERROR;
|
||||
if (!Yap_growglobal(NULL)) {
|
||||
Yap_Error(OUT_OF_ATTVARS_ERROR, TermNil, Yap_ErrorMessage);
|
||||
Yap_Error(OUT_OF_ATTVARS_ERROR, TermNil, LOCAL_ErrorMessage);
|
||||
return FALSE;
|
||||
}
|
||||
} else {
|
||||
Yap_Error_TYPE = YAP_NO_ERROR;
|
||||
LOCAL_Error_TYPE = YAP_NO_ERROR;
|
||||
if (!Yap_growstack(LOCAL_BallTerm->NOfCells*CellSize)) {
|
||||
Yap_Error(OUT_OF_STACK_ERROR, TermNil, Yap_ErrorMessage);
|
||||
Yap_Error(OUT_OF_STACK_ERROR, TermNil, LOCAL_ErrorMessage);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user