no need for special procceed instruction.
This commit is contained in:
parent
7f70a797f4
commit
80c38081da
20
C/absmi.c
20
C/absmi.c
@ -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
|
||||
:-( */
|
||||
|
@ -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);
|
||||
|
@ -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] +
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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),
|
||||
|
@ -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;
|
||||
|
@ -335,7 +335,6 @@
|
||||
case _deallocate:
|
||||
case _enter_profiling:
|
||||
case _retry_profiled:
|
||||
case _safe_procceed:
|
||||
pc = NEXTOP(pc,p);
|
||||
break;
|
||||
/* instructions type plxxs */
|
||||
|
Reference in New Issue
Block a user