diff --git a/C/dbase.c b/C/dbase.c index eac3447dc..f15f59a33 100644 --- a/C/dbase.c +++ b/C/dbase.c @@ -2036,7 +2036,12 @@ GetDBTerm(DBRef DBSP) pt = CellPtr(DBSP->Contents); NOf = DBSP->NOfCells; if (H+NOf > ASP-CalculateStackGap()) { - return((Term)0); + if (PrologMode & InErrorMode) { + if (H+NOf > ASP) + exit_yap( 1, "No Stack for Error Handling\n"); + } else { + return((Term)0); + } } HeapPtr = cpcells(HOld, pt, NOf); pt += HeapPtr - HOld; diff --git a/C/tracer.c b/C/tracer.c index 324fe383b..6f9f59a2c 100644 --- a/C/tracer.c +++ b/C/tracer.c @@ -72,7 +72,11 @@ send_tracer_message(char *start, char *name, Int arity, char *mname, CELL *args) YP_fprintf(YP_stderr, "\n"); } +#if defined(__GNUC__) +unsigned long long vsc_count; +#else unsigned long vsc_count; +#endif /* static int @@ -114,7 +118,7 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args) extern int gc_calls; vsc_count++; - /* if (vsc_count < 1025) return; */ + if (vsc_count < 49036000) return; /* if (vsc_count > 500000) exit(0); */ /* if (gc_calls < 1) return;*/ YP_fprintf(YP_stderr,"%lu (%x) ", vsc_count, CreepFlag);