Merge branch 'master' of git://yap.git.sourceforge.net/gitroot/yap/yap-6.3
This commit is contained in:
commit
3ebfafc36b
@ -2068,6 +2068,11 @@ Yap_absmi(int inp)
|
||||
#endif /* FROZEN_STACKS */
|
||||
if (IN_BETWEEN(H0,pt1,H) && IsAttVar(pt1))
|
||||
goto failloop;
|
||||
#ifdef FROZEN_STACKS /* TRAIL */
|
||||
/* don't reset frozen variables */
|
||||
if (pt0 < TR_FZ)
|
||||
goto failloop;
|
||||
#endif
|
||||
flags = *pt1;
|
||||
#if MULTIPLE_STACKS
|
||||
if (FlagOn(DBClMask, flags)) {
|
||||
|
@ -153,6 +153,7 @@ call_malloc(unsigned long int size)
|
||||
char *
|
||||
Yap_AllocCodeSpace(unsigned long int size)
|
||||
{
|
||||
size = AdjustSize(size);
|
||||
return call_malloc(size);
|
||||
}
|
||||
|
||||
@ -186,6 +187,7 @@ call_realloc(char *p, unsigned long int size)
|
||||
char *
|
||||
Yap_ReallocCodeSpace(char *p, unsigned long int size)
|
||||
{
|
||||
size = AdjustSize(size);
|
||||
return call_realloc(p, size);
|
||||
}
|
||||
|
||||
@ -211,6 +213,7 @@ Yap_FreeCodeSpace(char *p)
|
||||
char *
|
||||
Yap_AllocAtomSpace(unsigned long int size)
|
||||
{
|
||||
size = AdjustSize(size);
|
||||
return call_malloc(size);
|
||||
}
|
||||
|
||||
|
10
C/arrays.c
10
C/arrays.c
@ -170,8 +170,10 @@ CloseMmappedArray(StaticArrayEntry *pp, void *area USES_REGS)
|
||||
optr = ptr;
|
||||
}
|
||||
if (ptr == NULL) {
|
||||
#if !defined(USE_SYSTEM_MALLOC)
|
||||
Yap_Error(SYSTEM_ERROR,ARG1,"close_mmapped_array (array chain incoherent)", strerror(errno));
|
||||
return(FALSE);
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
if (munmap(ptr->start, ptr->size) == -1) {
|
||||
Yap_Error(SYSTEM_ERROR,ARG1,"close_mmapped_array (munmap: %s)", strerror(errno));
|
||||
@ -1240,7 +1242,11 @@ p_close_static_array( USES_REGS1 )
|
||||
#if HAVE_MMAP
|
||||
if (ptr->ValueOfVE.chars < (char *)Yap_HeapBase ||
|
||||
ptr->ValueOfVE.chars > (char *)HeapTop) {
|
||||
return(CloseMmappedArray(ptr, (void *)ptr->ValueOfVE.chars PASS_REGS));
|
||||
Int val = CloseMmappedArray(ptr, (void *)ptr->ValueOfVE.chars PASS_REGS);
|
||||
#if USE_SYSTEM_MALLOC
|
||||
if (val)
|
||||
#endif
|
||||
return(val);
|
||||
}
|
||||
#endif
|
||||
Yap_FreeAtomSpace((char *)(ptr->ValueOfVE.ints));
|
||||
|
4
C/exec.c
4
C/exec.c
@ -1018,6 +1018,9 @@ init_stack(int arity, CELL *pt, int top, choiceptr saved_b USES_REGS)
|
||||
YENV[E_CP] = (CELL)P;
|
||||
YENV[E_CB] = (CELL)B;
|
||||
YENV[E_E] = (CELL)ENV;
|
||||
#ifdef TABLING
|
||||
YENV[E_B] = (CELL)B;
|
||||
#endif
|
||||
#ifdef DEPTH_LIMIT
|
||||
YENV[E_DEPTH] = DEPTH;
|
||||
#endif
|
||||
@ -1621,6 +1624,7 @@ Yap_InitYaamRegs(void)
|
||||
if (Yap_AttsSize > (Yap_LocalBase-Yap_GlobalBase)/8)
|
||||
Yap_AttsSize = (Yap_LocalBase-Yap_GlobalBase)/8;
|
||||
H = H0 = ((CELL *) Yap_GlobalBase)+ Yap_AttsSize/sizeof(CELL);
|
||||
RESET_VARIABLE(H0-1);
|
||||
LCL0 = ASP = (CELL *) Yap_LocalBase;
|
||||
/* notice that an initial choice-point and environment
|
||||
*must* be created since for the garbage collector to work */
|
||||
|
Reference in New Issue
Block a user