fix for the EAM internal function that shows abstract machine code
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1597 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
f116d8b854
commit
307a132aa6
312
BEAM/eam_am.c
312
BEAM/eam_am.c
@ -65,13 +65,12 @@ struct EAM_Global *eamGlobal=&EAMGlobal;
|
||||
#define INLINE
|
||||
#define DIRECT_JUMP 0
|
||||
void break_top(void); void break_top(void) { };
|
||||
void break_debug(void);
|
||||
void break_debug(void) { static int contador=1;
|
||||
void break_debug(int);
|
||||
void break_debug(int conta) {
|
||||
#if Debug_Dump_State & 4
|
||||
dump_eam_state();
|
||||
#endif
|
||||
printf("(%d %1d) ->", contador++,beam_Mode);
|
||||
if (Debug!=-1 && contador>Debug*100) {printf("exit por contador>debug\n"); exit(1); }
|
||||
if (Debug!=-1 && conta>Debug*100) {printf("exit por contador>debug\n"); exit(1); }
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -1440,8 +1439,12 @@ static void *OpAddress[]= {
|
||||
&&p_arg,
|
||||
&&p_functor
|
||||
};
|
||||
#if Debug
|
||||
static int contador=1;
|
||||
#endif
|
||||
Cell code2start[]={_prepare_calls,1,0,_call_op,0,0};
|
||||
|
||||
|
||||
if ((long) initPred==2) { /* retry from call eam(goal) */
|
||||
goto fail;
|
||||
} else if ((long) initPred==1) { /* first time call eam(goal) */
|
||||
@ -1527,14 +1530,14 @@ if (1) { int i; /* criar mais um nivel acima do top para o caso de haver variav
|
||||
|
||||
exit_eam:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("(%3d) exit_eam ->", (int) *beam_pc);
|
||||
printf("%5d->(%3d) exit_eam ->",contador++, (int) *beam_pc);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
|
||||
wake:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Trying WAKE and_box on suspension \n");
|
||||
printf("%5d->Trying WAKE and_box on suspension \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (verify_externals(beam_ABX)==0) goto fail_verify_externals;
|
||||
if (beam_ABX->externals==NULL) {
|
||||
@ -1552,9 +1555,9 @@ break_debug();
|
||||
|
||||
top_tree:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("I'm on top of the Tree (maybe exit or look for suspended alternatives) \n");
|
||||
break_top();
|
||||
printf("%5d->I'm on top of the Tree (maybe exit or look for suspended alternatives) \n",contador++);
|
||||
break_debug(contador);
|
||||
break_top();
|
||||
#endif
|
||||
|
||||
#if GARBAGE_COLLECTOR
|
||||
@ -1615,8 +1618,8 @@ break_debug();
|
||||
if (beam_nr_alternative->state & (WAKE)) goto wake;
|
||||
if (beam_OBX->nr_all_alternatives>1) {
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Trying Fork in suspended and_box \n");
|
||||
printf("%5d->Trying Fork in suspended and_box \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
/* pickup the left most alternative instead */
|
||||
split:
|
||||
@ -1640,8 +1643,7 @@ break_debug();
|
||||
|
||||
proceed:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("proceed... \n");
|
||||
printf("%5d->proceed... \n",contador++);
|
||||
#endif
|
||||
|
||||
if (beam_USE_SAME_ANDBOX!=NULL) { /* was only one alternative */
|
||||
@ -1656,8 +1658,8 @@ break_debug();
|
||||
|
||||
success:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("SUCCESS for call %p in level %d \n", beam_nr_call, beam_ABX->level );
|
||||
printf("%5d->SUCCESS for call %p in level %d \n",contador++, beam_nr_call, beam_ABX->level );
|
||||
break_debug(contador);
|
||||
#endif
|
||||
/* FOUND SOLUTION -> ALL_SOLUTIONS */
|
||||
//if ((beam_ABX->side_effects & WRITE) && beam_OBX->nr_all_alternatives>1)
|
||||
@ -1691,8 +1693,8 @@ break_debug();
|
||||
|
||||
next_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Searching for a next call in and_box... \n");
|
||||
printf("%5d->Searching for a next call in and_box... \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
|
||||
#if GARBAGE_COLLECTOR
|
||||
@ -1785,8 +1787,8 @@ break_debug();
|
||||
fail_head:
|
||||
fail:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("fail... \n");
|
||||
printf("%5d->fail... \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
|
||||
fail_verify_externals:
|
||||
@ -1814,8 +1816,8 @@ break_debug();
|
||||
|
||||
next_alternative:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Searching for a next alternative in or_box... \n");
|
||||
printf("%5d->Searching for a next alternative in or_box... \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
|
||||
#if GARBAGE_COLLECTOR
|
||||
@ -1868,8 +1870,8 @@ break_debug();
|
||||
|
||||
unique_alternative:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Unique alternative, Does Promotion on and-box\n");
|
||||
printf("%5d->Unique alternative, Does Promotion on and-box\n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
|
||||
#if GARBAGE_COLLECTOR
|
||||
@ -1998,8 +2000,8 @@ break_debug();
|
||||
|
||||
prepare_tries:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("prepare_tries for %d clauses with arity=%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->prepare_tries for %d clauses with arity=%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (!arg1) goto fail;
|
||||
{ register int nr;
|
||||
@ -2058,8 +2060,8 @@ break_debug();
|
||||
try_me:
|
||||
beam_nr_alternative->args=NULL;
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Create AND_BOX for the %dth clause of predicate %s/%d (Yvars=%d) \n",(int) arg4,((struct Clauses *)arg1)->predi->name,(int) arg2,(int) arg3);
|
||||
printf("%5d->Create AND_BOX for the %dth clause of predicate %s/%d (Yvars=%d) \n",contador++,(int) arg4,((struct Clauses *)arg1)->predi->name,(int) arg2,(int) arg3);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_OBX->nr_all_alternatives>1 || beam_OBX->parent->parent==NULL) {
|
||||
|
||||
@ -2112,8 +2114,8 @@ break_debug();
|
||||
|
||||
prepare_calls:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("prepare_calls %d\n",(int) arg1);
|
||||
printf("%5d->prepare_calls %d\n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_USE_SAME_ANDBOX!=NULL) { /* only one alternative */
|
||||
register int nr;
|
||||
@ -2191,8 +2193,8 @@ break_debug();
|
||||
|
||||
scheduler:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Scheduler... \n");
|
||||
printf("%5d->Scheduler... \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
#if Debug_Dump_State
|
||||
dump_eam_state();
|
||||
@ -2212,8 +2214,8 @@ break_debug();
|
||||
|
||||
suspend:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("SUSPEND on alternative %p\n",beam_nr_alternative);
|
||||
printf("%5d->SUSPEND on alternative %p\n",contador++,beam_nr_alternative);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_OBX=beam_ABX->parent;
|
||||
{ struct EXTERNAL_VAR *e;
|
||||
@ -2250,8 +2252,8 @@ break_debug();
|
||||
|
||||
call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("call %s/%d \n",((PredEntry *) arg1)->beamTable->name,(int) ((PredEntry *) arg1)->beamTable->arity);
|
||||
printf("%5d->call %s/%d \n",contador++,((PredEntry *) arg1)->beamTable->name,(int) ((PredEntry *) arg1)->beamTable->arity);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_ES=((PredEntry *) arg1)->beamTable->eager_split;
|
||||
|
||||
@ -2371,8 +2373,8 @@ break_debug();
|
||||
|
||||
safe_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("safe_call 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
printf("%5d->safe_call 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",contador++,(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(void)) beam_S))();
|
||||
@ -2385,8 +2387,8 @@ break_debug();
|
||||
|
||||
safe_call_unary:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("safe_call_unary 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
printf("%5d->safe_call_unary 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",contador++,(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(Term)) beam_S))(deref(beam_X[1]));
|
||||
@ -2399,8 +2401,8 @@ break_debug();
|
||||
|
||||
safe_call_binary:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("safe_call_binary 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
printf("%5d->safe_call_binary 0x%lX X1=%d (0x%lX) ,X2=%d (0x%lX) \n",contador++,(unsigned long) arg1,(int) beam_X[1],(unsigned long) beam_X[1],(int) beam_X[2],(unsigned long) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(Term, Term)) beam_S))(deref(beam_X[1]),deref(beam_X[2]));
|
||||
@ -2414,8 +2416,8 @@ break_debug();
|
||||
|
||||
direct_safe_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("direct_safe_call %p X1=%d,X2=%d \n",(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
printf("%5d->direct_safe_call %p X1=%d,X2=%d \n",contador++,(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(void)) beam_S))();
|
||||
@ -2426,8 +2428,8 @@ break_debug();
|
||||
|
||||
direct_safe_call_unary:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("direct_safe_call_unary %p X1=%d,X2=%d \n",(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
printf("%5d->direct_safe_call_unary %p X1=%d,X2=%d \n",contador++,(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(Term)) beam_S))(deref(beam_X[1]));
|
||||
@ -2437,8 +2439,8 @@ break_debug();
|
||||
|
||||
direct_safe_call_binary:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("direct_safe_call_binary %p X1=%d,X2=%d \n",(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
printf("%5d->direct_safe_call_binary %p X1=%d,X2=%d \n",contador++,(void *) arg1,(int) beam_X[1],(int) beam_X[2]);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_S=(Cell *) arg1;
|
||||
beam_S=(Cell *) (* ((int long (*)(Term,Term)) beam_S))(deref(beam_X[1]),deref(beam_X[2]));
|
||||
@ -2448,8 +2450,8 @@ break_debug();
|
||||
|
||||
skip_while_var:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Skip_while_var on call %p\n", beam_nr_call);
|
||||
printf("%5d->Skip_while_var on call %p\n",contador++, beam_nr_call);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (exists_var_in((Cell *) beam_X[1])) {
|
||||
beam_ABX->suspended=addto_suspensions_list(beam_ABX,VAR_SUSPENSION);
|
||||
@ -2461,8 +2463,8 @@ break_debug();
|
||||
|
||||
wait_while_var:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Wait_while_var on call %p\n", beam_nr_call);
|
||||
printf("%5d->Wait_while_var on call %p\n",contador++, beam_nr_call);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (exists_var_in((Cell *) beam_X[1])) {
|
||||
beam_ABX->suspended=addto_suspensions_list(beam_ABX,VAR_SUSPENSION);
|
||||
@ -2475,8 +2477,8 @@ break_debug();
|
||||
|
||||
force_wait:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("Force Waiting on call %p\n", beam_nr_call);
|
||||
printf("%5d->Force Waiting on call %p\n",contador++, beam_nr_call);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
/* we didn't get to created a or_box */
|
||||
|
||||
@ -2493,8 +2495,8 @@ break_debug();
|
||||
|
||||
write_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_call\n");
|
||||
printf("%5d->write_call\n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
#if USE_LEFTMOST
|
||||
if (!is_leftmost(beam_ABX,beam_nr_call)) {
|
||||
@ -2521,8 +2523,8 @@ break_debug();
|
||||
|
||||
is_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("is_call\n");
|
||||
printf("%5d->is_call\n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{
|
||||
Cell *_DR;
|
||||
@ -2541,8 +2543,8 @@ break_debug();
|
||||
|
||||
equal_call:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("equal_call\n");
|
||||
printf("%5d->equal_call\n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_nr_call=remove_call_from_andbox(beam_nr_call,beam_ABX);
|
||||
if (beam_ABX->externals!=NULL) {
|
||||
@ -2557,8 +2559,8 @@ break_debug();
|
||||
|
||||
pop:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("pop %d \n",(int) arg1);
|
||||
printf("%5d->pop %d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (arg1>1) {
|
||||
beam_sp+=arg1>>2;
|
||||
@ -2573,8 +2575,8 @@ break_debug();
|
||||
|
||||
do_nothing:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("do_nothing \n");
|
||||
printf("%5d->do_nothing \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_pc++;
|
||||
execute_next();
|
||||
@ -2582,8 +2584,8 @@ break_debug();
|
||||
|
||||
get_var_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_var_X X%d=X%d \n",(int) arg2,(int) arg1);
|
||||
printf("%5d->get_var_X X%d=X%d \n",contador++,(int) arg2,(int) arg1);
|
||||
break_debug(contador);
|
||||
|
||||
#endif
|
||||
beam_X[arg2]=beam_X[arg1];
|
||||
@ -2592,8 +2594,8 @@ break_debug();
|
||||
|
||||
get_var_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_var_Y Y%d=X%d \n",(int) arg2,(int) arg1);
|
||||
printf("%5d->get_var_Y Y%d=X%d \n",contador++,(int) arg2,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_varlocals[arg2]=beam_X[arg1];
|
||||
#if !Fast_go
|
||||
@ -2609,8 +2611,8 @@ break_debug();
|
||||
|
||||
get_val_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_val_X X%d,X%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->get_val_X X%d,X%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR, *_DR1;
|
||||
_DR=(Cell *) deref(beam_X[arg1]);
|
||||
@ -2637,8 +2639,8 @@ break_debug();
|
||||
|
||||
get_val_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_val_Y X%d,Y%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->get_val_Y X%d,Y%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR, *_DR1;
|
||||
_DR=(Cell *) deref(beam_X[arg1]);
|
||||
@ -2665,8 +2667,8 @@ break_debug();
|
||||
|
||||
get_atom:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_atom X%d, 0x%lX\n",(int) arg1,(unsigned long) arg2);
|
||||
printf("%5d->get_atom X%d, 0x%lX\n",contador++,(int) arg1,(unsigned long) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR;
|
||||
_DR=(Cell *) deref(beam_X[arg1]);
|
||||
@ -2682,8 +2684,8 @@ break_debug();
|
||||
|
||||
get_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_list X%d\n",(int) arg1);
|
||||
printf("%5d->get_list X%d\n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR, *_DR1;
|
||||
_DR=(Cell *) deref(beam_X[arg1]);
|
||||
@ -2707,8 +2709,8 @@ break_debug();
|
||||
|
||||
get_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("get_struct X%d, 0x%lX/%d\n",(int) arg1,(unsigned long) arg2,(int) arg3);
|
||||
printf("%5d->get_struct X%d, 0x%lX/%d\n",contador++,(int) arg1,(unsigned long) arg2,(int) arg3);
|
||||
break_debug(contador);
|
||||
|
||||
#endif
|
||||
{ register Cell *_DR, *_DR1;
|
||||
@ -2736,8 +2738,8 @@ break_debug();
|
||||
|
||||
unify_void:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_void\n");
|
||||
printf("%5d->unify_void\n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==WRITE) {
|
||||
*beam_S=(Cell) request_permVar(beam_ABX);
|
||||
@ -2749,8 +2751,8 @@ break_debug();
|
||||
|
||||
unify_local_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_local_Y Y%d \n",(int) arg1);
|
||||
printf("%5d->unify_local_Y Y%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
@ -2793,8 +2795,8 @@ break_debug();
|
||||
|
||||
unify_local_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_local_X X%d \n",(int) arg1);
|
||||
printf("%5d->unify_local_X X%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -2837,8 +2839,8 @@ break_debug();
|
||||
|
||||
unify_val_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_val_Y Y%d \n",(int) arg1);
|
||||
printf("%5d->unify_val_Y Y%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
@ -2875,8 +2877,8 @@ break_debug();
|
||||
|
||||
unify_val_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_val_X X%d \n",(int) arg1);
|
||||
printf("%5d->unify_val_X X%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -2911,8 +2913,8 @@ break_debug();
|
||||
|
||||
unify_var_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_var_X X%d=*S \n",(int) arg1);
|
||||
printf("%5d->unify_var_X X%d=*S \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
beam_X[arg1]=*(beam_S++);
|
||||
@ -2928,8 +2930,8 @@ break_debug();
|
||||
|
||||
unify_var_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_var_Y Y%d \n",(int) arg1);
|
||||
printf("%5d->unify_var_Y Y%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
beam_varlocals[arg1]=*(beam_S++);
|
||||
@ -2946,8 +2948,8 @@ break_debug();
|
||||
unify_last_atom:
|
||||
unify_atom:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_atom 0x%lX \n",(unsigned long) arg1);
|
||||
printf("%5d->unify_atom 0x%lX \n",contador++,(unsigned long) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR;
|
||||
@ -2970,8 +2972,8 @@ break_debug();
|
||||
|
||||
unify_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_list \n");
|
||||
printf("%5d->unify_list \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -3010,8 +3012,8 @@ break_debug();
|
||||
|
||||
unify_last_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_last_list \n");
|
||||
printf("%5d->unify_last_list \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -3043,8 +3045,8 @@ break_debug();
|
||||
|
||||
unify_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_struct 0x%lX,%d \n",(unsigned long) arg1,(int) arg2);
|
||||
printf("%5d->unify_struct 0x%lX,%d \n",contador++,(unsigned long) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -3087,8 +3089,8 @@ break_debug();
|
||||
|
||||
unify_last_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("unify_last_struct 0x%lX, %d \n",(unsigned long) arg1,(int) arg2);
|
||||
printf("%5d->unify_last_struct 0x%lX, %d \n",contador++,(unsigned long) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (beam_Mode==READ) {
|
||||
register Cell *_DR, *_DR1;
|
||||
@ -3124,8 +3126,8 @@ break_debug();
|
||||
|
||||
put_var_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_var_X X%d,X%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_var_X X%d,X%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_X[arg1]=(Cell) beam_H;
|
||||
beam_X[arg2]=(Cell) beam_H;
|
||||
@ -3138,8 +3140,8 @@ break_debug();
|
||||
|
||||
put_val_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_val_X X%d,X%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_val_X X%d,X%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_X[arg1]=beam_X[arg2];
|
||||
beam_pc+=3;
|
||||
@ -3148,8 +3150,8 @@ break_debug();
|
||||
|
||||
put_var_P:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_var_P X%d,Y%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_var_P X%d,Y%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (isvar(beam_varlocals[arg2]) && !is_perm_var((Cell *) beam_varlocals[arg2]))
|
||||
beam_varlocals[arg2]=(Cell) request_permVar(beam_ABX);
|
||||
@ -3160,8 +3162,8 @@ break_debug();
|
||||
put_var_Y:
|
||||
/*
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_var_Y X%d,Y%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_var_Y X%d,Y%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
|
||||
#endif
|
||||
{ register Cell *a;
|
||||
@ -3173,8 +3175,8 @@ break_debug();
|
||||
*/
|
||||
put_val_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_val_Y X%d,Y%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_val_Y X%d,Y%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_X[arg1]=beam_varlocals[arg2];
|
||||
beam_pc+=3;
|
||||
@ -3182,8 +3184,8 @@ break_debug();
|
||||
|
||||
put_unsafe:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_unsafe X%d, Y%d \n",(int) arg1,(int) arg2);
|
||||
printf("%5d->put_unsafe X%d, Y%d \n",contador++,(int) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_X[arg1]=beam_varlocals[arg2];
|
||||
beam_pc+=3;
|
||||
@ -3192,8 +3194,8 @@ break_debug();
|
||||
|
||||
put_atom:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_atom X%d, 0x%lX \n",(int) arg1,(unsigned long) arg2);
|
||||
printf("%5d->put_atom X%d, 0x%lX \n",contador++,(int) arg1,(unsigned long) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_X[arg1]=arg2;
|
||||
beam_pc+=3;
|
||||
@ -3201,8 +3203,8 @@ break_debug();
|
||||
|
||||
put_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_list X%d \n",(int) arg1);
|
||||
printf("%5d->put_list X%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR1;
|
||||
|
||||
@ -3216,8 +3218,8 @@ break_debug();
|
||||
|
||||
put_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("put_struct X%d, 0x%lX, %d \n",(int) arg1,(unsigned long) arg2,(int) arg3);
|
||||
printf("%5d->put_struct X%d, 0x%lX, %d \n",contador++,(int) arg1,(unsigned long) arg2,(int) arg3);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell _DR1;
|
||||
|
||||
@ -3232,8 +3234,8 @@ break_debug();
|
||||
|
||||
write_var_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_var_X X%d \n",(int) arg1);
|
||||
printf("%5d->write_var_X X%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
*beam_S=(Cell) request_permVar(beam_ABX);
|
||||
beam_X[arg1]=(Cell) beam_S;
|
||||
@ -3243,8 +3245,8 @@ break_debug();
|
||||
|
||||
write_var_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_var_Y Y%d \n",(int) arg1);
|
||||
printf("%5d->write_var_Y Y%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ Cell *c;
|
||||
c=&beam_varlocals[arg1];
|
||||
@ -3258,8 +3260,8 @@ break_debug();
|
||||
|
||||
write_var_P:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_var_P Y%d \n",(int) arg1);
|
||||
printf("%5d->write_var_P Y%d \n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
if (isvar(beam_varlocals[arg1]) && !is_perm_var((Cell *) beam_varlocals[arg1]))
|
||||
beam_varlocals[arg1]=(Cell) request_permVar(beam_ABX);
|
||||
@ -3272,8 +3274,8 @@ break_debug();
|
||||
write_local_X:
|
||||
write_val_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_val_X X%d (or write_local)\n",(int) arg1);
|
||||
printf("%5d->write_val_X X%d (or write_local)\n",contador++,(int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
*(beam_S)=beam_X[arg1];
|
||||
beam_S++;
|
||||
@ -3292,8 +3294,8 @@ break_debug();
|
||||
|
||||
write_void:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_void \n");
|
||||
printf("%5d->write_void \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
*beam_S=(Cell) request_permVar(beam_ABX);
|
||||
beam_S++;
|
||||
@ -3301,8 +3303,8 @@ break_debug();
|
||||
execute_next();
|
||||
write_atom:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_atom 0x%lX \n",(unsigned long) arg1);
|
||||
printf("%5d->write_atom 0x%lX \n",contador++,(unsigned long) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
*(beam_S)=arg1;
|
||||
beam_S++;
|
||||
@ -3312,8 +3314,8 @@ break_debug();
|
||||
|
||||
write_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_list \n");
|
||||
printf("%5d->write_list \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR1;
|
||||
|
||||
@ -3328,8 +3330,8 @@ break_debug();
|
||||
|
||||
write_last_list:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_last_list \n");
|
||||
printf("%5d->write_last_list \n",contador++);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR1;
|
||||
|
||||
@ -3343,8 +3345,8 @@ break_debug();
|
||||
|
||||
write_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_struct 0x%lX, %d \n",(unsigned long) arg1,(int) arg2);
|
||||
printf("%5d->write_struct 0x%lX, %d \n",contador++,(unsigned long) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR1;
|
||||
|
||||
@ -3360,8 +3362,8 @@ break_debug();
|
||||
|
||||
write_last_struct:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("write_last_struct 0x%lX, %d \n",(unsigned long) arg1,(int) arg2);
|
||||
printf("%5d->write_last_struct 0x%lX, %d \n",contador++,(unsigned long) arg1,(int) arg2);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
{ register Cell *_DR1;
|
||||
_DR1=(Cell *) absappl((Cell) beam_H); /* SaveExpression in _DR1*/
|
||||
@ -3375,8 +3377,8 @@ break_debug();
|
||||
|
||||
cut:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("cut na alternativa %pª de %d \n",beam_ABX->nr_alternative, beam_ABX->parent->nr_all_alternatives);
|
||||
printf("%5d->cut na alternativa %pª de %d \n",contador++,beam_ABX->nr_alternative, beam_ABX->parent->nr_all_alternatives);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_OBX=beam_ABX->parent;
|
||||
{
|
||||
@ -3421,8 +3423,8 @@ break_debug();
|
||||
|
||||
commit:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("commit na alternativa %pª de %d \n",beam_ABX->nr_alternative, beam_ABX->parent->nr_all_alternatives);
|
||||
printf("%5d->commit na alternativa %pª de %d \n",contador++,beam_ABX->nr_alternative, beam_ABX->parent->nr_all_alternatives);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_OBX=beam_ABX->parent;
|
||||
{
|
||||
@ -3469,8 +3471,8 @@ break_debug();
|
||||
|
||||
jump:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("jump inst %ld\n",(long int) arg1);
|
||||
printf("%5d->jump inst %ld\n",contador++,(long int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
beam_pc=(Cell *) arg1;
|
||||
execute_next();
|
||||
@ -3478,8 +3480,8 @@ break_debug();
|
||||
|
||||
save_pair_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("save_pair Y%ld\n",(long int) arg1);
|
||||
printf("%5d->save_pair Y%ld\n",contador++,(long int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
abort_eam("save_exp no emulador ?????");
|
||||
--S;
|
||||
@ -3490,8 +3492,8 @@ break_debug();
|
||||
|
||||
save_appl_Y:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("save_appl Y%ld\n",(long int) arg1);
|
||||
printf("%5d->save_appl Y%ld\n",contador++,(long int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
abort_eam("save_exp no emulador ?????");
|
||||
--S;
|
||||
@ -3503,8 +3505,8 @@ break_debug();
|
||||
|
||||
save_appl_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("save_appl X%ld\n",(long int) arg1);
|
||||
printf("%5d->save_appl X%ld\n",contador++,(long int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
abort_eam("save_exp no emulador ?????");
|
||||
--S;
|
||||
@ -3515,8 +3517,8 @@ break_debug();
|
||||
|
||||
save_pair_X:
|
||||
#if Debug
|
||||
break_debug();
|
||||
printf("save_pair X%ld\n",(long int) arg1);
|
||||
printf("%5d->save_pair X%ld\n",contador++,(long int) arg1);
|
||||
break_debug(contador);
|
||||
#endif
|
||||
abort_eam("save_exp no emulador ?????");
|
||||
--S;
|
||||
|
@ -256,15 +256,15 @@ int n;
|
||||
code+=4;
|
||||
break;
|
||||
case(_try_me_op ):
|
||||
printf("_try_me_op -> Create AND_BOX for the %dth clause of predicate %s/%d (Yvars=%d) \n",(int) carg4,((struct Clauses *)carg1)->predi->name,(int) carg2,(int) carg3);
|
||||
printf("_try_me_op (not final)\n");
|
||||
code+=5;
|
||||
break;
|
||||
case(_retry_me_op ):
|
||||
printf("_retry_me_op -> Create AND_BOX for the %dth clause of predicate %s/%d (Yvars=%d) \n",(int) carg4,((struct Clauses *)carg1)->predi->name,(int) carg2,(int) carg3);
|
||||
printf("_retry_me_op (not final)\n");
|
||||
code+=5;
|
||||
break;
|
||||
case(_trust_me_op ):
|
||||
printf("_trust_me_op -> Create AND_BOX for the %dth clause of predicate %s/%d (Yvars=%d) \n",(int) carg4,((struct Clauses *)carg1)->predi->name,(int) carg2,(int) carg3);
|
||||
printf("_trust_me_op (not final)\n");
|
||||
code+=5;
|
||||
break;
|
||||
case(_do_nothing_op ):
|
||||
|
Reference in New Issue
Block a user