From 41cc6c0f4e9cd7498db1ed31968a0036549edd4b Mon Sep 17 00:00:00 2001 From: vsc Date: Mon, 27 Aug 2001 14:44:07 +0000 Subject: [PATCH] minor changes git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@142 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/absmi.c | 12 ++++++++++++ C/tracer.c | 2 +- OPTYap/tab.macros.h | 9 +++++---- changes4.3.html | 2 ++ pl/directives.yap | 11 +++++++---- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/C/absmi.c b/C/absmi.c index 33339d643..93f3ae805 100644 --- a/C/absmi.c +++ b/C/absmi.c @@ -1242,6 +1242,18 @@ absmi(int inp) } } break; + case _trie_retry_var: + case _trie_retry_val: + case _trie_retry_atom: + case _trie_retry_list: + case _trie_retry_struct: + case _trie_trust_var: + case _trie_trust_val: + case _trie_trust_atom: + case _trie_trust_list: + case _trie_trust_struct: + low_level_trace(retry_table_consumer, NULL, NULL); + break; case _table_retry_me: case _table_trust_me: low_level_trace(retry_pred, (PredEntry *)(PREG->u.lds.p), (CELL *)(((gen_cp_ptr)B)+1)); diff --git a/C/tracer.c b/C/tracer.c index 7e0f7156d..ecf93d89d 100644 --- a/C/tracer.c +++ b/C/tracer.c @@ -133,7 +133,7 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args) /* if (vsc_count < 2518) return; */ /* if (vsc_count > 500000) exit(0); */ /* if (gc_calls < 1) return;*/ - YP_fprintf(YP_stderr,"%lu (%x,%d)", vsc_count, CreepFlag,yap_flags[SPY_CREEP_FLAG]); + YP_fprintf(YP_stderr,"%lu (%d)", vsc_count, CurrentModule); /* check_trail_consistency(); */ if (pred == NULL) { return; diff --git a/OPTYap/tab.macros.h b/OPTYap/tab.macros.h index 410240ad1..e8915dfc3 100644 --- a/OPTYap/tab.macros.h +++ b/OPTYap/tab.macros.h @@ -399,9 +399,12 @@ void rebind_variables(tr_fr_ptr rebind_tr, tr_fr_ptr end_tr) { TABLING_ERROR_MESSAGE("rebind_tr < end_tr (function rebind_variables)"); #endif /* TABLING_ERRORS */ /* rebind loop */ + printf("LCL0 is %p TR %p\n", LCL0, TR); NEW_MAHASH((ma_h_inner_struct *)H); + printf("new cicle from %p at %p\n", rebind_tr, end_tr); while (rebind_tr != end_tr) { CELL ref = (CELL) TrailTerm(--rebind_tr); + printf("doing %x at %p\n", ref, rebind_tr); /* check for global or local variables */ if (IsVarTerm(ref)) { /* rebind variable */ @@ -421,15 +424,13 @@ void rebind_variables(tr_fr_ptr rebind_tr, tr_fr_ptr end_tr) { #ifdef MULTI_ASSIGNMENT_VARIABLES } else { CELL *cell_ptr = RepAppl(ref); - CELL *trp; - + if (!lookup_ma_var(cell_ptr)) { /* first time we found the variable, let's put the new value */ *cell_ptr = TrailVal(rebind_tr); } /* skip the old value */ - trp = (CELL *)rebind_tr; - rebind_tr = (tr_fr_ptr)(trp-1); + rebind_tr--; #endif } } diff --git a/changes4.3.html b/changes4.3.html index 867bd3a3d..72c270fb8 100644 --- a/changes4.3.html +++ b/changes4.3.html @@ -16,6 +16,8 @@

Yap-4.3.20: