Merge branch 'master' of yap.dcc.fc.up.pt:yap-6
This commit is contained in:
58
C/absmi.c
58
C/absmi.c
@@ -1894,34 +1894,36 @@ Yap_absmi(int inp)
|
||||
case _table_answer_resolution:
|
||||
low_level_trace(retry_table_consumer, CONS_CP(B)->cp_pred_entry, NULL);
|
||||
break;
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_trust_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_trust_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_retry_gterm:
|
||||
low_level_trace(retry_table_loader, UndefCode, NULL);
|
||||
break;
|
||||
#endif /* TABLING */
|
||||
|
76
C/cdmgr.c
76
C/cdmgr.c
@@ -558,34 +558,36 @@ PredForChoicePt(yamop *p_code) {
|
||||
case _profiled_trust_logical:
|
||||
return p_code->u.OtaLl.d->ClPred;
|
||||
#ifdef TABLING
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_trust_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_trust_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_trust_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_trust_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_retry_gterm:
|
||||
return NULL;
|
||||
case _table_load_answer:
|
||||
case _table_try_answer:
|
||||
@@ -5506,34 +5508,36 @@ p_choicepoint_info(void)
|
||||
#endif
|
||||
t = MkVarTerm();
|
||||
break;
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_trust_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_trust_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_trust_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_trust_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_retry_gterm:
|
||||
pe = UndefCode;
|
||||
t = MkVarTerm();
|
||||
break;
|
||||
|
138
C/heapgc.c
138
C/heapgc.c
@@ -2095,58 +2095,61 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
||||
}
|
||||
nargs = 0;
|
||||
break;
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_trust_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_trust_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_trust_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_trust_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_retry_gterm:
|
||||
{
|
||||
CELL *vars_ptr;
|
||||
int heap_arity, vars_arity, subs_arity;
|
||||
vars_ptr = (CELL *)(gc_B + 1);
|
||||
heap_arity = *vars_ptr;
|
||||
vars_arity = *(vars_ptr + heap_arity + 1);
|
||||
subs_arity = *(vars_ptr + heap_arity + 2);
|
||||
vars_ptr += heap_arity + subs_arity + vars_arity + 2;
|
||||
if (vars_arity) {
|
||||
while (vars_arity--) {
|
||||
mark_external_reference(vars_ptr);
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
heap_arity = vars_ptr[0];
|
||||
vars_arity = vars_ptr[1 + heap_arity];
|
||||
subs_arity = vars_ptr[2 + heap_arity + vars_arity];
|
||||
vars_ptr += 2 + heap_arity + subs_arity + vars_arity;
|
||||
if (subs_arity) {
|
||||
while (subs_arity--) {
|
||||
mark_external_reference(vars_ptr);
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
vars_ptr -= 2;
|
||||
vars_ptr--; /* skip subs_arity entry */
|
||||
if (vars_arity) {
|
||||
while (vars_arity--) {
|
||||
mark_external_reference(vars_ptr);
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
vars_ptr--; /* skip vars_arity entry */
|
||||
if (heap_arity) {
|
||||
while (heap_arity--) {
|
||||
if (*vars_ptr == 0) /* float/longint extension mark */
|
||||
if (*vars_ptr == 0) /* double/longint extension mark */
|
||||
break;
|
||||
mark_external_reference(vars_ptr);
|
||||
vars_ptr--;
|
||||
@@ -3006,55 +3009,45 @@ sweep_choicepoints(choiceptr gc_B)
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_trust_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_trust_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_trust_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_trust_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_trust_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_trust_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_trust_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_trust_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_trust_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_trust_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_trust_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_retry_gterm:
|
||||
{
|
||||
CELL *vars_ptr;
|
||||
int heap_arity, vars_arity, subs_arity;
|
||||
sweep_environments(gc_B->cp_env, EnvSize(gc_B->cp_cp), EnvBMap(gc_B->cp_cp));
|
||||
vars_ptr = (CELL *)(gc_B + 1);
|
||||
heap_arity = *vars_ptr;
|
||||
vars_arity = *(vars_ptr + heap_arity + 1);
|
||||
subs_arity = *(vars_ptr + heap_arity + 2);
|
||||
vars_ptr += heap_arity + subs_arity + vars_arity + 2;
|
||||
if (vars_arity) {
|
||||
while (vars_arity--) {
|
||||
CELL cp_cell = *vars_ptr;
|
||||
if (MARKED_PTR(vars_ptr)) {
|
||||
UNMARK(vars_ptr);
|
||||
if (HEAP_PTR(cp_cell)) {
|
||||
into_relocation_chain(vars_ptr, GET_NEXT(cp_cell));
|
||||
}
|
||||
}
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
heap_arity = vars_ptr[0];
|
||||
vars_arity = vars_ptr[1 + heap_arity];
|
||||
subs_arity = vars_ptr[2 + heap_arity + vars_arity];
|
||||
vars_ptr += 2 + heap_arity + subs_arity + vars_arity;
|
||||
if (subs_arity) {
|
||||
while (subs_arity--) {
|
||||
CELL cp_cell = *vars_ptr;
|
||||
@@ -3067,11 +3060,24 @@ sweep_choicepoints(choiceptr gc_B)
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
vars_ptr -= 2;
|
||||
vars_ptr--; /* skip subs_arity entry */
|
||||
if (vars_arity) {
|
||||
while (vars_arity--) {
|
||||
CELL cp_cell = *vars_ptr;
|
||||
if (MARKED_PTR(vars_ptr)) {
|
||||
UNMARK(vars_ptr);
|
||||
if (HEAP_PTR(cp_cell)) {
|
||||
into_relocation_chain(vars_ptr, GET_NEXT(cp_cell));
|
||||
}
|
||||
}
|
||||
vars_ptr--;
|
||||
}
|
||||
}
|
||||
vars_ptr--; /* skip vars_arity entry */
|
||||
if (heap_arity) {
|
||||
while (heap_arity--) {
|
||||
CELL cp_cell = *vars_ptr;
|
||||
if (*vars_ptr == 0) /* float/longint extension mark */
|
||||
if (*vars_ptr == 0) /* double/longint extension mark */
|
||||
break;
|
||||
if (MARKED_PTR(vars_ptr)) {
|
||||
UNMARK(vars_ptr);
|
||||
|
76
C/index.c
76
C/index.c
@@ -1069,62 +1069,66 @@ has_cut(yamop *pc)
|
||||
case _getwork_first_time:
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
case _trie_do_null:
|
||||
case _trie_trust_null:
|
||||
case _trie_try_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_do_null_in_new_pair:
|
||||
case _trie_trust_null_in_new_pair:
|
||||
case _trie_try_null_in_new_pair:
|
||||
case _trie_retry_null_in_new_pair:
|
||||
case _trie_do_var:
|
||||
case _trie_trust_var:
|
||||
case _trie_try_var:
|
||||
case _trie_retry_var:
|
||||
case _trie_do_var_in_new_pair:
|
||||
case _trie_trust_var_in_new_pair:
|
||||
case _trie_try_var_in_new_pair:
|
||||
case _trie_retry_var_in_new_pair:
|
||||
case _trie_do_var_in_pair:
|
||||
case _trie_trust_var_in_pair:
|
||||
case _trie_try_var_in_pair:
|
||||
case _trie_retry_var_in_pair:
|
||||
case _trie_do_val:
|
||||
case _trie_trust_val:
|
||||
case _trie_try_val:
|
||||
case _trie_retry_val:
|
||||
case _trie_do_val_in_new_pair:
|
||||
case _trie_trust_val_in_new_pair:
|
||||
case _trie_try_val_in_new_pair:
|
||||
case _trie_retry_val_in_new_pair:
|
||||
case _trie_do_val_in_pair:
|
||||
case _trie_trust_val_in_pair:
|
||||
case _trie_try_val_in_pair:
|
||||
case _trie_retry_val_in_pair:
|
||||
case _trie_do_atom:
|
||||
case _trie_trust_atom:
|
||||
case _trie_try_atom:
|
||||
case _trie_retry_atom:
|
||||
case _trie_do_atom_in_new_pair:
|
||||
case _trie_trust_atom_in_new_pair:
|
||||
case _trie_try_atom_in_new_pair:
|
||||
case _trie_retry_atom_in_new_pair:
|
||||
case _trie_do_atom_in_pair:
|
||||
case _trie_trust_atom_in_pair:
|
||||
case _trie_try_atom_in_pair:
|
||||
case _trie_retry_atom_in_pair:
|
||||
case _trie_do_null:
|
||||
case _trie_trust_null:
|
||||
case _trie_try_null:
|
||||
case _trie_retry_null:
|
||||
case _trie_do_null_in_pair:
|
||||
case _trie_trust_null_in_pair:
|
||||
case _trie_try_null_in_pair:
|
||||
case _trie_retry_null_in_pair:
|
||||
case _trie_do_pair:
|
||||
case _trie_trust_pair:
|
||||
case _trie_try_pair:
|
||||
case _trie_retry_pair:
|
||||
case _trie_do_struct:
|
||||
case _trie_trust_struct:
|
||||
case _trie_try_struct:
|
||||
case _trie_retry_struct:
|
||||
case _trie_do_struct_in_new_pair:
|
||||
case _trie_trust_struct_in_new_pair:
|
||||
case _trie_try_struct_in_new_pair:
|
||||
case _trie_retry_struct_in_new_pair:
|
||||
case _trie_do_appl:
|
||||
case _trie_trust_appl:
|
||||
case _trie_try_appl:
|
||||
case _trie_retry_appl:
|
||||
case _trie_do_appl_in_pair:
|
||||
case _trie_trust_appl_in_pair:
|
||||
case _trie_try_appl_in_pair:
|
||||
case _trie_retry_appl_in_pair:
|
||||
case _trie_do_extension:
|
||||
case _trie_trust_extension:
|
||||
case _trie_try_extension:
|
||||
case _trie_retry_extension:
|
||||
case _trie_do_float:
|
||||
case _trie_trust_float:
|
||||
case _trie_try_float:
|
||||
case _trie_retry_float:
|
||||
case _trie_do_long:
|
||||
case _trie_trust_long:
|
||||
case _trie_try_long:
|
||||
case _trie_retry_long:
|
||||
case _trie_do_double:
|
||||
case _trie_trust_double:
|
||||
case _trie_try_double:
|
||||
case _trie_retry_double:
|
||||
case _trie_do_longint:
|
||||
case _trie_trust_longint:
|
||||
case _trie_try_longint:
|
||||
case _trie_retry_longint:
|
||||
case _trie_do_gterm:
|
||||
case _trie_trust_gterm:
|
||||
case _trie_try_gterm:
|
||||
case _trie_retry_gterm:
|
||||
#endif /* TABLING */
|
||||
pc = NEXTOP(pc,e);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user