no need for special procceed instruction.

This commit is contained in:
Vitor Santos Costa 2010-10-12 22:02:51 +01:00
parent 7f70a797f4
commit 80c38081da
8 changed files with 5 additions and 33 deletions

View File

@ -2692,7 +2692,6 @@ Yap_absmi(int inp)
a execute_c, just wait a bit more */
if (ActiveSignals & YAP_CREEP_SIGNAL ||
(PREG->opc != Yap_opcode(_procceed) &&
PREG->opc != Yap_opcode(_safe_procceed) &&
PREG->opc != Yap_opcode(_cut_e))) {
GONext();
}
@ -3087,24 +3086,6 @@ Yap_absmi(int inp)
CACHE_A1();
JMPNext();
BOp(safe_procceed, p);
CACHE_Y_AS_ENV(YREG);
check_trail(TR);
check_stack(NoStackDeallocate, H);
ALWAYS_LOOKAHEAD(CPREG->opc);
PREG = CPREG;
/* for profiler */
save_pc();
ENV_YREG = ENV;
#ifdef DEPTH_LIMIT
DEPTH = ENV_YREG[E_DEPTH];
#endif
WRITEBACK_Y_AS_ENV();
ALWAYS_GONext();
ALWAYS_END_PREFETCH();
ENDCACHE_Y_AS_ENV();
ENDBOp();
BOp(procceed, p);
CACHE_Y_AS_ENV(YREG);
ALWAYS_LOOKAHEAD(CPREG->opc);
@ -3136,6 +3117,7 @@ Yap_absmi(int inp)
Op(deallocate, p);
CACHE_Y_AS_ENV(YREG);
check_trail(TR);
PREG = NEXTOP(PREG, p);
/* other instructions do depend on S being set by deallocate
:-( */

View File

@ -3507,11 +3507,7 @@ do_pass(int pass_no, yamop **entry_codep, int assembling, int *clause_has_blobsp
!clinfo.alloc_found)
code_p = a_e(_unlock_lu, code_p, pass_no);
#endif
if (clinfo.alloc_found) {
code_p = a_pl(_safe_procceed, cip->CurrentPred, code_p, pass_no);
} else {
code_p = a_pl(_procceed, cip->CurrentPred, code_p, pass_no);
}
break;
case call_op:
code_p = a_p(_call, &clinfo, code_p, pass_no, cip);

View File

@ -118,7 +118,6 @@ p_show_op_counters()
print_instruction(_call_cpred);
print_instruction(_call_c_wfail);
print_instruction(_procceed);
print_instruction(_safe_procceed);
print_instruction(_allocate);
print_instruction(_deallocate);
@ -480,8 +479,7 @@ p_show_ops_by_group(void)
Yap_opcount[_fcall];
c_control.nproceeds =
Yap_opcount[_procceed]+
Yap_opcount[_safe_procceed];
Yap_opcount[_procceed];
c_control.ncallbips =
Yap_opcount[_call_cpred] +

View File

@ -3439,7 +3439,7 @@ lu_recorded(PredEntry *pe) {
PELOCK(66,pe);
PP = pe;
#endif
if (opc == _procceed || opc == _safe_procceed) {
if (opc == _procceed) {
P = pe->CodeOfPred;
} else {
if (P->opc != Yap_opcode(_execute_cpred)) {
@ -3504,7 +3504,7 @@ p_recorded(void)
if (!Yap_unify(GetDBLUKey(ap), ARG1))
return FALSE;
if (opc == _procceed || opc == _safe_procceed) {
if (opc == _procceed) {
P = cl->ClCode;
} else {
CP = P;

View File

@ -1396,7 +1396,6 @@ has_cut(yamop *pc)
return FALSE;
case _deallocate:
case _procceed:
case _safe_procceed:
pc = NEXTOP(pc,p);
break;
/* instructions type sc */

View File

@ -43,7 +43,6 @@
OPCODE(dexecute ,pp),
OPCODE(fcall ,Osbpp),
OPCODE(call ,Osbpp),
OPCODE(safe_procceed ,p),
OPCODE(procceed ,p),
OPCODE(allocate ,e),
OPCODE(deallocate ,p),

View File

@ -424,7 +424,6 @@ restore_opcodes(yamop *pc, yamop *max)
case _lock_lu:
case _procceed:
case _retry_profiled:
case _safe_procceed:
pc->u.p.p = PtoPredAdjust(pc->u.p.p);
pc = NEXTOP(pc,p);
break;

View File

@ -335,7 +335,6 @@
case _deallocate:
case _enter_profiling:
case _retry_profiled:
case _safe_procceed:
pc = NEXTOP(pc,p);
break;
/* instructions type plxxs */