get_rid of try_me?, retry_me? and trust_me? instructions: they are not
significantly used nowadays. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1319 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
f3fe74cb9f
commit
aff5df7760
395
C/absmi.c
395
C/absmi.c
@ -10,8 +10,11 @@
|
||||
* *
|
||||
* File: absmi.c *
|
||||
* comments: Portable abstract machine interpreter *
|
||||
* Last rev: $Date: 2005-05-26 18:07:32 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:45 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.164 2005/05/26 18:07:32 vsc
|
||||
* fix warning
|
||||
*
|
||||
* Revision 1.163 2005/04/10 04:01:07 vsc
|
||||
* bug fixes, I hope!
|
||||
*
|
||||
@ -883,386 +886,6 @@ Yap_absmi(int inp)
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/*****************************************************************
|
||||
* Specialised try - retry - trust instructions *
|
||||
*****************************************************************/
|
||||
/* try_me0 Label,NArgs */
|
||||
Op(try_me0, ld);
|
||||
check_trail(TR);
|
||||
CACHE_Y(YREG);
|
||||
store_yaam_regs(PREG->u.ld.d, 0);
|
||||
set_cut(S_YREG, B);
|
||||
B = B_YREG;
|
||||
#ifdef YAPOR
|
||||
SCH_set_load(B_YREG);
|
||||
#endif /* YAPOR */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* retry_me0 Label,NArgs */
|
||||
Op(retry_me0, ld);
|
||||
CACHE_Y(B);
|
||||
restore_yaam_regs(PREG->u.ld.d);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
#else
|
||||
set_cut(S_YREG, B_YREG->cp_b);
|
||||
#endif /* FROZEN_STACKS */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* trust_me0 UnusedLabel,NArgs */
|
||||
Op(trust_me0, ld);
|
||||
CACHE_Y(B);
|
||||
#ifdef YAPOR
|
||||
if (SCH_top_shared_cp(B)) {
|
||||
SCH_last_alternative(PREG, B_YREG);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
}
|
||||
else
|
||||
#endif /* YAPOR */
|
||||
{
|
||||
pop_yaam_regs();
|
||||
S_YREG = (CELL *)(B_YREG+1);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B);
|
||||
}
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* try_me1 Label,NArgs */
|
||||
Op(try_me1, ld);
|
||||
check_trail(TR);
|
||||
CACHE_Y(YREG);
|
||||
{
|
||||
register CELL x1 = ARG1;
|
||||
|
||||
store_yaam_regs(PREG->u.ld.d, 1);
|
||||
B_YREG->cp_a1 = x1;
|
||||
}
|
||||
set_cut(S_YREG, B);
|
||||
B = B_YREG;
|
||||
#ifdef YAPOR
|
||||
SCH_set_load(B_YREG);
|
||||
#endif /* YAPOR */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* retry_me1 Label,NArgs */
|
||||
Op(retry_me1, ld);
|
||||
CACHE_Y(B);
|
||||
restore_yaam_regs(PREG->u.ld.d);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
#else
|
||||
set_cut(S_YREG, B_YREG->cp_b);
|
||||
#endif /* FROZEN_STACKS */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* trust_me1 UnusedLabel,NArgs */
|
||||
Op(trust_me1, ld);
|
||||
CACHE_Y(B);
|
||||
#ifdef YAPOR
|
||||
if (SCH_top_shared_cp(B)) {
|
||||
SCH_last_alternative(PREG, B_YREG);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
}
|
||||
else
|
||||
#endif /* YAPOR */
|
||||
{
|
||||
pop_yaam_regs();
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
S_YREG = &(B_YREG->cp_a2);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B);
|
||||
}
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* try_me2 Label,NArgs */
|
||||
Op(try_me2, ld);
|
||||
check_trail(TR);
|
||||
CACHE_Y(YREG);
|
||||
#ifdef HAVE_FEW_REGS
|
||||
store_yaam_regs(PREG->u.ld.d, 2);
|
||||
B_YREG->cp_a1 = ARG1;
|
||||
B_YREG->cp_a2 = ARG2;
|
||||
#else
|
||||
{
|
||||
register CELL x2 = ARG2;
|
||||
register CELL x1 = ARG1;
|
||||
|
||||
store_yaam_regs(PREG->u.ld.d, 2);
|
||||
B_YREG->cp_a1 = x1;
|
||||
B_YREG->cp_a2 = x2;
|
||||
}
|
||||
#endif
|
||||
set_cut(S_YREG, B);
|
||||
B = B_YREG;
|
||||
#ifdef YAPOR
|
||||
SCH_set_load(B_YREG);
|
||||
#endif /* YAPOR */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* retry_me2 Label,NArgs */
|
||||
Op(retry_me2, ld);
|
||||
CACHE_Y(B);
|
||||
restore_yaam_regs(PREG->u.ld.d);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
#else
|
||||
set_cut(S_YREG, B_YREG->cp_b);
|
||||
#endif /* FROZEN_STACKS */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* trust_me2 UnusedLabel,NArgs */
|
||||
Op(trust_me2, ld);
|
||||
CACHE_Y(B);
|
||||
#ifdef YAPOR
|
||||
if (SCH_top_shared_cp(B)) {
|
||||
SCH_last_alternative(PREG, B_YREG);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
}
|
||||
else
|
||||
#endif /* YAPOR */
|
||||
{
|
||||
pop_yaam_regs();
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
S_YREG = &(B_YREG->cp_a3);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B);
|
||||
}
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* try_me3 Label,NArgs */
|
||||
Op(try_me3, ld);
|
||||
check_trail(TR);
|
||||
CACHE_Y(YREG);
|
||||
#ifdef HAVE_FEW_REGS
|
||||
store_yaam_regs(PREG->u.ld.d, 3);
|
||||
B_YREG->cp_a1 = ARG1;
|
||||
B_YREG->cp_a2 = ARG2;
|
||||
B_YREG->cp_a3 = ARG3;
|
||||
#else
|
||||
{
|
||||
register CELL x1 = ARG1;
|
||||
register CELL x2 = ARG2;
|
||||
register CELL x3 = ARG3;
|
||||
|
||||
store_yaam_regs(PREG->u.ld.d, 3);
|
||||
B_YREG->cp_a1 = x1;
|
||||
B_YREG->cp_a2 = x2;
|
||||
B_YREG->cp_a3 = x3;
|
||||
}
|
||||
#endif
|
||||
set_cut(S_YREG, B);
|
||||
B = B_YREG;
|
||||
#ifdef YAPOR
|
||||
SCH_set_load(B_YREG);
|
||||
#endif /* YAPOR */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* retry_me3 Label,NArgs */
|
||||
Op(retry_me3, ld);
|
||||
CACHE_Y(B);
|
||||
restore_yaam_regs(PREG->u.ld.d);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
#else
|
||||
set_cut(S_YREG, B_YREG->cp_b);
|
||||
#endif /* FROZEN_STACKS */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* trust_me3 UnusedLabel,NArgs */
|
||||
Op(trust_me3, ld);
|
||||
CACHE_Y(B);
|
||||
#ifdef YAPOR
|
||||
if (SCH_top_shared_cp(B)) {
|
||||
SCH_last_alternative(PREG, B_YREG);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
}
|
||||
else
|
||||
#endif /* YAPOR */
|
||||
{
|
||||
pop_yaam_regs();
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
S_YREG = &(B_YREG->cp_a4);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B);
|
||||
}
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* try_me4 Label,NArgs */
|
||||
Op(try_me4, ld);
|
||||
check_trail(TR);
|
||||
CACHE_Y(YREG);
|
||||
store_yaam_regs(PREG->u.ld.d, 4);
|
||||
#ifdef HAVE_FEW_REGS
|
||||
B_YREG->cp_a1 = ARG1;
|
||||
B_YREG->cp_a2 = ARG2;
|
||||
B_YREG->cp_a3 = ARG3;
|
||||
B_YREG->cp_a4 = ARG4;
|
||||
#else
|
||||
{
|
||||
register CELL x1 = ARG1;
|
||||
register CELL x2 = ARG2;
|
||||
register CELL x3 = ARG3;
|
||||
register CELL x4 = ARG4;
|
||||
|
||||
B_YREG->cp_a1 = x1;
|
||||
B_YREG->cp_a2 = x2;
|
||||
B_YREG->cp_a3 = x3;
|
||||
B_YREG->cp_a4 = x4;
|
||||
}
|
||||
#endif
|
||||
set_cut(S_YREG, B);
|
||||
B = B_YREG;
|
||||
#ifdef YAPOR
|
||||
SCH_set_load(B_YREG);
|
||||
#endif /* YAPOR */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* retry_me4 Label,NArgs */
|
||||
Op(retry_me4, ld);
|
||||
CACHE_Y(B);
|
||||
restore_yaam_regs(PREG->u.ld.d);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
ARG4 = B_YREG->cp_a4;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
#else
|
||||
set_cut(S_YREG, B_YREG->cp_b);
|
||||
#endif /* FROZEN_STACKS */
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/* trust_me4 UnusedLabel,NArgs */
|
||||
Op(trust_me4, ld);
|
||||
CACHE_Y(B);
|
||||
#ifdef YAPOR
|
||||
if (SCH_top_shared_cp(B)) {
|
||||
SCH_last_alternative(PREG, B_YREG);
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
ARG4 = B_YREG->cp_a4;
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B->cp_b);
|
||||
}
|
||||
else
|
||||
#endif /* YAPOR */
|
||||
{
|
||||
pop_yaam_regs();
|
||||
ARG1 = B_YREG->cp_a1;
|
||||
ARG2 = B_YREG->cp_a2;
|
||||
ARG3 = B_YREG->cp_a3;
|
||||
ARG4 = B_YREG->cp_a4;
|
||||
S_YREG = &(B_YREG->cp_a5);
|
||||
#ifdef FROZEN_STACKS
|
||||
S_YREG = (CELL *) PROTECT_FROZEN_B(B_YREG);
|
||||
#endif /* FROZEN_STACKS */
|
||||
set_cut(S_YREG, B);
|
||||
}
|
||||
SET_BB(B_YREG);
|
||||
ENDCACHE_Y();
|
||||
PREG = NEXTOP(PREG, ld);
|
||||
GONext();
|
||||
ENDOp();
|
||||
|
||||
/*****************************************************************
|
||||
* enter a logical semantics dynamic predicate *
|
||||
@ -1826,16 +1449,6 @@ Yap_absmi(int inp)
|
||||
case _count_trust_me:
|
||||
case _profiled_retry_me:
|
||||
case _profiled_trust_me:
|
||||
case _retry_me0:
|
||||
case _trust_me0:
|
||||
case _retry_me1:
|
||||
case _trust_me1:
|
||||
case _retry_me2:
|
||||
case _trust_me2:
|
||||
case _retry_me3:
|
||||
case _trust_me3:
|
||||
case _retry_me4:
|
||||
case _trust_me4:
|
||||
case _retry_and_mark:
|
||||
case _profiled_retry_and_mark:
|
||||
case _retry:
|
||||
|
19
C/amasm.c
19
C/amasm.c
@ -11,8 +11,12 @@
|
||||
* File: amasm.c *
|
||||
* comments: abstract machine assembler *
|
||||
* *
|
||||
* Last rev: $Date: 2005-05-31 19:42:27 $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:47 $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.77 2005/05/31 19:42:27 vsc
|
||||
* insert some more slack for indices in LU
|
||||
* Use doubly linked list for LU indices so that updating is less cumbersome.
|
||||
*
|
||||
* Revision 1.76 2005/05/30 05:33:43 vsc
|
||||
* get rid of annoying debugging message.
|
||||
*
|
||||
@ -2282,13 +2286,12 @@ a_f2(int var, cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermed
|
||||
return code_p;
|
||||
}
|
||||
|
||||
#define TRYOP(G,P) (IPredArity<5 ? (op_numbers)((int)(P)+(IPredArity*3)) : (G))
|
||||
#ifdef YAPOR
|
||||
#define TRYCODE(G,P) a_try(TRYOP(G,P), Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1], IPredArity, &clinfo, cip->cpc->rnd2 >> 1, cip->cpc->rnd2 & 1, code_p, pass_no)
|
||||
#define TABLE_TRYCODE(G) a_try(G, (CELL)emit_ilabel(cip->cpc->rnd1, cip), IPredArity, cip->cpc->rnd2 >> 1, cip->cpc->rnd2 & 1, code_p, pass_no)
|
||||
#define TRYCODE(G,P) a_try((G), Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1], IPredArity, &clinfo, cip->cpc->rnd2 >> 1, cip->cpc->rnd2 & 1, code_p, pass_no)
|
||||
#define TABLE_TRYCODE(G) a_try((G), (CELL)emit_ilabel(cip->cpc->rnd1, cip), IPredArity, cip->cpc->rnd2 >> 1, cip->cpc->rnd2 & 1, code_p, pass_no)
|
||||
#else
|
||||
#define TRYCODE(G,P) a_try(TRYOP(G,P), Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1], IPredArity, &clinfo, code_p, pass_no)
|
||||
#define TABLE_TRYCODE(G) a_try(G, (CELL)emit_ilabel(cip->cpc->rnd1, cip), IPredArity, &clinfo, code_p, pass_no)
|
||||
#define TRYCODE(G,P) a_try((G), Unsigned(cip->code_addr) + cip->label_offset[cip->cpc->rnd1], IPredArity, &clinfo, code_p, pass_no)
|
||||
#define TABLE_TRYCODE(G) a_try((G), (CELL)emit_ilabel(cip->cpc->rnd1, cip), IPredArity, &clinfo, code_p, pass_no)
|
||||
#endif /* YAPOR */
|
||||
|
||||
static yamop *
|
||||
@ -2378,9 +2381,9 @@ do_pass(int pass_no, yamop **entry_codep, int assembling, int *clause_has_blobsp
|
||||
}
|
||||
if (dynamic) {
|
||||
#ifdef YAPOR
|
||||
code_p = a_try(TRYOP(_try_me, _try_me0), 0, IPredArity, &clinfo, 1, 0, code_p, pass_no);
|
||||
code_p = a_try(_try_me, 0, IPredArity, &clinfo, 1, 0, code_p, pass_no);
|
||||
#else
|
||||
code_p = a_try(TRYOP(_try_me, _try_me0), 0, IPredArity, &clinfo, code_p, pass_no);
|
||||
code_p = a_try(_try_me, 0, IPredArity, &clinfo, code_p, pass_no);
|
||||
#endif /* YAPOR */
|
||||
}
|
||||
} else {
|
||||
|
15
C/analyst.c
15
C/analyst.c
@ -116,21 +116,6 @@ p_show_op_counters()
|
||||
print_instruction(_try_me);
|
||||
print_instruction(_retry_me);
|
||||
print_instruction(_trust_me);
|
||||
print_instruction(_try_me0);
|
||||
print_instruction(_retry_me0);
|
||||
print_instruction(_trust_me0);
|
||||
print_instruction(_try_me1);
|
||||
print_instruction(_retry_me1);
|
||||
print_instruction(_trust_me1);
|
||||
print_instruction(_try_me2);
|
||||
print_instruction(_retry_me2);
|
||||
print_instruction(_trust_me2);
|
||||
print_instruction(_try_me3);
|
||||
print_instruction(_retry_me3);
|
||||
print_instruction(_trust_me3);
|
||||
print_instruction(_try_me4);
|
||||
print_instruction(_retry_me4);
|
||||
print_instruction(_trust_me4);
|
||||
print_instruction(_try_clause);
|
||||
print_instruction(_try_in);
|
||||
print_instruction(_retry);
|
||||
|
18
C/cdmgr.c
18
C/cdmgr.c
@ -11,8 +11,12 @@
|
||||
* File: cdmgr.c *
|
||||
* comments: Code manager *
|
||||
* *
|
||||
* Last rev: $Date: 2005-05-31 19:42:27 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:47 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.159 2005/05/31 19:42:27 vsc
|
||||
* insert some more slack for indices in LU
|
||||
* Use doubly linked list for LU indices so that updating is less cumbersome.
|
||||
*
|
||||
* Revision 1.158 2005/05/31 00:30:23 ricroc
|
||||
* remove abort_yapor function
|
||||
*
|
||||
@ -737,22 +741,10 @@ cleanup_dangling_indices(yamop *ipc, yamop *beg, yamop *end, yamop *suspend_code
|
||||
break;
|
||||
case _try_clause:
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
case _enter_lu_pred:
|
||||
|
@ -4203,8 +4203,6 @@ Yap_ErCl(DynamicClause *clau)
|
||||
MyEraseClause(clau);
|
||||
}
|
||||
|
||||
#define TRYCODE(G,F,N) ( (N)<5 ? (op_numbers)((int)(F)+(N)*3) : G)
|
||||
|
||||
static void
|
||||
PrepareToEraseLogUpdClause(LogUpdClause *clau, DBRef dbr)
|
||||
{
|
||||
@ -4234,7 +4232,7 @@ PrepareToEraseLogUpdClause(LogUpdClause *clau, DBRef dbr)
|
||||
} else {
|
||||
p->cs.p_code.FirstClause = code_p->u.ld.d;
|
||||
p->cs.p_code.FirstClause->opc =
|
||||
Yap_opcode(TRYCODE(_try_me, _try_me0, p->ArityOfPE));
|
||||
Yap_opcode(_try_me);
|
||||
}
|
||||
}
|
||||
dbr->Code = NULL; /* unlink the two now */
|
||||
|
10
C/heapgc.c
10
C/heapgc.c
@ -1938,16 +1938,6 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
||||
case _profiled_trust_me:
|
||||
case _count_retry_me:
|
||||
case _count_trust_me:
|
||||
case _retry_me0:
|
||||
case _trust_me0:
|
||||
case _retry_me1:
|
||||
case _trust_me1:
|
||||
case _retry_me2:
|
||||
case _trust_me2:
|
||||
case _retry_me3:
|
||||
case _trust_me3:
|
||||
case _retry_me4:
|
||||
case _trust_me4:
|
||||
case _retry:
|
||||
case _trust:
|
||||
nargs = rtp->u.ld.s;
|
||||
|
107
C/index.c
107
C/index.c
@ -11,8 +11,11 @@
|
||||
* File: index.c *
|
||||
* comments: Indexing a Prolog predicate *
|
||||
* *
|
||||
* Last rev: $Date: 2005-05-31 20:04:17 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:50 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.132 2005/05/31 20:04:17 vsc
|
||||
* fix cleanup of expand_clauses: make sure we have everything with NULL afterwards.
|
||||
*
|
||||
* Revision 1.131 2005/05/31 19:42:27 vsc
|
||||
* insert some more slack for indices in LU
|
||||
* Use doubly linked list for LU indices so that updating is less cumbersome.
|
||||
@ -665,21 +668,6 @@ has_cut(yamop *pc)
|
||||
case _profiled_trust_me:
|
||||
case _count_retry_me:
|
||||
case _count_trust_me:
|
||||
case _try_me0:
|
||||
case _retry_me0:
|
||||
case _trust_me0:
|
||||
case _try_me1:
|
||||
case _retry_me1:
|
||||
case _trust_me1:
|
||||
case _try_me2:
|
||||
case _retry_me2:
|
||||
case _trust_me2:
|
||||
case _try_me3:
|
||||
case _retry_me3:
|
||||
case _trust_me3:
|
||||
case _try_me4:
|
||||
case _retry_me4:
|
||||
case _trust_me4:
|
||||
case _spy_or_trymark:
|
||||
case _try_and_mark:
|
||||
case _profiled_retry_and_mark:
|
||||
@ -2056,21 +2044,6 @@ add_info(ClauseDef *clause, UInt regno)
|
||||
case _profiled_trust_me:
|
||||
case _count_retry_me:
|
||||
case _count_trust_me:
|
||||
case _try_me0:
|
||||
case _retry_me0:
|
||||
case _trust_me0:
|
||||
case _try_me1:
|
||||
case _retry_me1:
|
||||
case _trust_me1:
|
||||
case _try_me2:
|
||||
case _retry_me2:
|
||||
case _trust_me2:
|
||||
case _try_me3:
|
||||
case _retry_me3:
|
||||
case _trust_me3:
|
||||
case _try_me4:
|
||||
case _retry_me4:
|
||||
case _trust_me4:
|
||||
case _spy_or_trymark:
|
||||
case _try_and_mark:
|
||||
case _profiled_retry_and_mark:
|
||||
@ -4743,19 +4716,11 @@ expand_index(struct intermediates *cint) {
|
||||
ipc = NEXTOP(ipc,l);
|
||||
break;
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
#ifdef TABLING
|
||||
case _table_retry_me:
|
||||
#endif
|
||||
isfirstcl = FALSE;
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
#ifdef TABLING
|
||||
case _table_try_me:
|
||||
#endif
|
||||
@ -4771,10 +4736,6 @@ expand_index(struct intermediates *cint) {
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
#ifdef TABLING
|
||||
case _table_trust_me:
|
||||
#endif /* TABLING */
|
||||
@ -6713,19 +6674,11 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause
|
||||
break;
|
||||
/* instructions type l */
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
/* should never be reached both for asserta */
|
||||
group1 = FALSE;
|
||||
ipc = ipc->u.ld.d;
|
||||
break;
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
if (first) {
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
alt = ipc->u.ld.d;
|
||||
@ -6741,10 +6694,6 @@ add_to_index(struct intermediates *cint, int first, path_stack_entry *sp, Clause
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
group1 = FALSE;
|
||||
ipc = NEXTOP(ipc, ld);
|
||||
break;
|
||||
@ -7301,25 +7250,13 @@ remove_from_index(PredEntry *ap, path_stack_entry *sp, ClauseDef *cls, yamop *bg
|
||||
break;
|
||||
/* instructions type l */
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
sp = push_path(sp, &(ipc->u.ld.d), cls, cint);
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
case _jump:
|
||||
@ -7830,10 +7767,6 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y
|
||||
else
|
||||
return (LogUpdClause *)static_clause(ipc->u.l.l, ap);
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
if (b0 == NULL)
|
||||
store_clause_choice_point(Terms[0], Terms[1], Terms[2], ipc->u.ld.d, ap, ap_pc, cp_pc);
|
||||
else
|
||||
@ -7859,10 +7792,6 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y
|
||||
else
|
||||
return (LogUpdClause *)static_clause(ipc->u.l.l, ap);
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
update_clause_choice_point(ipc->u.ld.d,ap_pc);
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
@ -7885,10 +7814,6 @@ Yap_FollowIndexingCode(PredEntry *ap, yamop *ipc, Term Terms[3], yamop *ap_pc, y
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
#ifdef YAPOR
|
||||
{
|
||||
choiceptr cut_pt;
|
||||
@ -8340,25 +8265,13 @@ Yap_NthClause(PredEntry *ap, Int ncls)
|
||||
ipc = alt;
|
||||
break;
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
alt = ipc->u.ld.d;
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
case _profiled_trust_me:
|
||||
case _trust_me:
|
||||
case _count_trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
alt = NULL;
|
||||
ipc = NEXTOP(ipc,ld);
|
||||
break;
|
||||
@ -8482,20 +8395,8 @@ find_caller(PredEntry *ap, yamop *code, struct intermediates *cint) {
|
||||
op = Yap_op_from_opcode(ipc->opc);
|
||||
switch(op) {
|
||||
case _try_me:
|
||||
case _try_me1:
|
||||
case _try_me2:
|
||||
case _try_me3:
|
||||
case _try_me4:
|
||||
case _retry_me:
|
||||
case _retry_me1:
|
||||
case _retry_me2:
|
||||
case _retry_me3:
|
||||
case _retry_me4:
|
||||
case _trust_me:
|
||||
case _trust_me1:
|
||||
case _trust_me2:
|
||||
case _trust_me3:
|
||||
case _trust_me4:
|
||||
case _profiled_trust_me:
|
||||
case _count_trust_me:
|
||||
alt = ipc->u.ld.d;
|
||||
|
@ -11,8 +11,11 @@
|
||||
* File: YapOpcodes.h *
|
||||
* comments: Central Table with all YAP opcodes *
|
||||
* *
|
||||
* Last rev: $Date: 2005-04-10 04:01:13 $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:52 $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.26 2005/04/10 04:01:13 vsc
|
||||
* bug fixes, I hope!
|
||||
*
|
||||
* Revision 1.25 2004/10/26 20:16:04 vsc
|
||||
* More bug fixes for overflow handling
|
||||
*
|
||||
@ -92,21 +95,6 @@
|
||||
OPCODE(try_me ,ld),
|
||||
OPCODE(retry_me ,ld),
|
||||
OPCODE(trust_me ,ld),
|
||||
OPCODE(try_me0 ,ld),
|
||||
OPCODE(retry_me0 ,ld),
|
||||
OPCODE(trust_me0 ,ld),
|
||||
OPCODE(try_me1 ,ld),
|
||||
OPCODE(retry_me1 ,ld),
|
||||
OPCODE(trust_me1 ,ld),
|
||||
OPCODE(try_me2 ,ld),
|
||||
OPCODE(retry_me2 ,ld),
|
||||
OPCODE(trust_me2 ,ld),
|
||||
OPCODE(try_me3 ,ld),
|
||||
OPCODE(retry_me3 ,ld),
|
||||
OPCODE(trust_me3 ,ld),
|
||||
OPCODE(try_me4 ,ld),
|
||||
OPCODE(retry_me4 ,ld),
|
||||
OPCODE(trust_me4 ,ld),
|
||||
OPCODE(try_and_mark ,ld),
|
||||
OPCODE(retry_and_mark ,ld),
|
||||
OPCODE(try_c ,lds),
|
||||
|
20
H/rclause.h
20
H/rclause.h
@ -12,8 +12,11 @@
|
||||
* File: rclause.h *
|
||||
* comments: walk through a clause *
|
||||
* *
|
||||
* Last rev: $Date: 2005-05-30 03:26:37 $,$Author: vsc $ *
|
||||
* Last rev: $Date: 2005-06-01 14:02:52 $,$Author: vsc $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.3 2005/05/30 03:26:37 vsc
|
||||
* add some atom gc fixes
|
||||
*
|
||||
* Revision 1.2 2005/04/10 04:01:13 vsc
|
||||
* bug fixes, I hope!
|
||||
*
|
||||
@ -91,21 +94,6 @@ restore_opcodes(yamop *pc)
|
||||
case _profiled_trust_me:
|
||||
case _count_retry_me:
|
||||
case _count_trust_me:
|
||||
case _try_me0:
|
||||
case _retry_me0:
|
||||
case _trust_me0:
|
||||
case _try_me1:
|
||||
case _retry_me1:
|
||||
case _trust_me1:
|
||||
case _try_me2:
|
||||
case _retry_me2:
|
||||
case _trust_me2:
|
||||
case _try_me3:
|
||||
case _retry_me3:
|
||||
case _trust_me3:
|
||||
case _try_me4:
|
||||
case _retry_me4:
|
||||
case _trust_me4:
|
||||
case _spy_or_trymark:
|
||||
case _try_and_mark:
|
||||
case _profiled_retry_and_mark:
|
||||
|
Reference in New Issue
Block a user