fixes to compilation of functor and ASP calculation for gc.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@31 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
bac5432950
commit
3cde0b23bb
@ -1929,6 +1929,8 @@ absmi(int inp)
|
|||||||
/* try performing garbage collection */
|
/* try performing garbage collection */
|
||||||
|
|
||||||
ASP = Y+E_CB;
|
ASP = Y+E_CB;
|
||||||
|
if (ASP > (CELL *)B)
|
||||||
|
ASP = (CELL *)B;
|
||||||
saveregs();
|
saveregs();
|
||||||
gc(PredArity(SREG), ENV, CPREG);
|
gc(PredArity(SREG), ENV, CPREG);
|
||||||
setregs();
|
setregs();
|
||||||
|
@ -1099,8 +1099,6 @@ c_functor(Term Goal)
|
|||||||
if (profiling)
|
if (profiling)
|
||||||
emit(enter_profiling_op, (CELL)RepPredProp(p0), Zero);
|
emit(enter_profiling_op, (CELL)RepPredProp(p0), Zero);
|
||||||
c_args(Goal);
|
c_args(Goal);
|
||||||
if (onlast)
|
|
||||||
emit(deallocate_op, Zero, Zero);
|
|
||||||
emit(safe_call_op, (CELL)p0 , Zero);
|
emit(safe_call_op, (CELL)p0 , Zero);
|
||||||
emit(empty_call_op, Zero, Zero);
|
emit(empty_call_op, Zero, Zero);
|
||||||
emit(restore_tmps_and_skip_op, Zero, Zero);
|
emit(restore_tmps_and_skip_op, Zero, Zero);
|
||||||
|
@ -113,6 +113,13 @@ check_trail_consistency(void) {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static char *op_names[_std_top + 1] =
|
||||||
|
{
|
||||||
|
#define OPCODE(OP,TYPE) #OP
|
||||||
|
#include "YapOpcodes.h"
|
||||||
|
#undef OPCODE
|
||||||
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
||||||
{
|
{
|
||||||
@ -122,7 +129,7 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
|||||||
extern int gc_calls;
|
extern int gc_calls;
|
||||||
|
|
||||||
vsc_count++;
|
vsc_count++;
|
||||||
/* if (vsc_count < 420430) return; */
|
if (vsc_count < 2810) return;
|
||||||
/* if (vsc_count > 500000) exit(0); */
|
/* if (vsc_count > 500000) exit(0); */
|
||||||
/* if (gc_calls < 1) return;*/
|
/* if (gc_calls < 1) return;*/
|
||||||
YP_fprintf(YP_stderr,"%lu ",vsc_count);
|
YP_fprintf(YP_stderr,"%lu ",vsc_count);
|
||||||
|
@ -466,7 +466,7 @@ show_heads( [H|Hs], I, D, If) :-
|
|||||||
( Hs=[] ->
|
( Hs=[] ->
|
||||||
If = I
|
If = I
|
||||||
; H=r(_,_), Hs=[k(_,_)|_] ->
|
; H=r(_,_), Hs=[k(_,_)|_] ->
|
||||||
errput(0' ), errput(0'\), errput(0' ),
|
errput(0' ), errput(0'\\ ), errput(0' ),
|
||||||
J is I+D,
|
J is I+D,
|
||||||
show_heads( Hs, J, D, If)
|
show_heads( Hs, J, D, If)
|
||||||
;
|
;
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
<H2 ALIGN=CENTER>Yap-4.3.19:</H2>
|
<H2 ALIGN=CENTER>Yap-4.3.19:</H2>
|
||||||
<UL>
|
<UL>
|
||||||
|
<LI> FIXED: functor/3 was generating too many deallocates at the
|
||||||
|
end of a clause.
|
||||||
<LI> FIXED: call_residue/2 should not allow constraints to
|
<LI> FIXED: call_residue/2 should not allow constraints to
|
||||||
escape (use copy_term_no_variables/2 to avoid this).
|
escape (use copy_term_no_variables/2 to avoid this).
|
||||||
<LI> SPEEDUP: optimise away true/0 at the end of a clause.
|
<LI> SPEEDUP: optimise away true/0 at the end of a clause.
|
||||||
|
Reference in New Issue
Block a user