|
Defines |
#define | ARITY op1 |
#define | Yn op2 |
#define | LABEL op3 |
#define | ARITY op1 |
#define | Yn op2 |
#define | LABEL op3 |
Functions |
| XSB_Start_Instr_Chained (tabletry, _tabletry) XSB_Start_Instr(tabletrysingle |
| CallInfo_Arguments (callInfo) |
| CallInfo_CallArity (callInfo) |
| Op1 (get_xxxxl) |
| SET_TRIE_ALLOCATION_TYPE_TIP (tip) |
| CallInfo_TableInfo (callInfo) |
| ADVANCE_PC (size_xxxXX) |
| CallInfo_VarVectorLoc (callInfo) |
| if (this_instr==tabletry) |
| check_glstack_overflow (CallInfo_CallArity(callInfo), lpcreg, OVERFLOW_MARGIN) |
| table_call_search (CTXTc &callInfo,&lookupResults) |
| xsb_dbgmsg ((LOG_DEBUG,"After variant call search AT: %x\n", answer_template)) |
| if (IsNULL(producer_sf)) |
else | if (is_completed(producer_sf)) |
else | if (CallLUR_VariantFound(lookupResults)) consumer_sf |
else | NewSubConsSF (consumer_sf, CallLUR_Leaf(lookupResults), CallInfo_TableInfo(callInfo), producer_sf) |
| xsb_dbgmsg ((LOG_DEBUG,"Starting answer return %x (%x) (prev %x)\n", breg,*lpcreg, nlcp_prevbreg(breg))) |
| table_pending_answer (nlcp_trie_return(breg), answer_continuation, next_answer,(SubConsSF) consumer_sf, conssf_producer(consumer_sf), answer_template, switch_envs(breg), TPA_NoOp) |
| if (IsNonNULL(answer_continuation)) |
| ADVANCE_PC (size_xxx) |
| xsb_dbgmsg ((LOG_COMPLETION,"starting new_answer breg %x\n", breg)) |
| if ((subgoal_space_has_been_reclaimed(producer_sf, producer_csf))||(IsNonNULL(delayreg)&&answer_is_junk(delayreg))) |
| get_var_and_attv_nums (template_size, attv_num, tmp) |
| xsb_dbgmsg ((LOG_DELAY,"\t--> This answer for ")) |
| dbg_print_subgoal (LOG_DELAY, stddbg, producer_sf) |
| SET_TRIE_ALLOCATION_TYPE_SF (producer_sf) |
| if (isNewAnswer) |
| XSB_End_Instr () XSB_Start_Instr(tableretry |
_tableretry Def1op | Op1 (get_xxa) |
| tcp_pcreg (breg) = (byte *) &check_complete_inst |
Variables |
_tabletrysingle DefOps13 byte | this_instr = *lpcreg |
byte * | continuation = (pb) &check_complete_inst |
TabledCallInfo | callInfo |
CallLookupResults | lookupResults |
VariantSF | producer_sf = CallLUR_Subsumer(lookupResults) |
VariantSF | consumer_sf = (VariantSF)nlcp_subgoal_ptr(breg) |
CPtr | answer_template = CallLUR_VarVector(lookupResults) |
int | template_size |
int | attv_num |
int | tmp = int_val(cell(answer_template)) |
TIFptr | tip = (TIFptr) get_xxxxl |
| xwammode = 1 |
| LABEL = (CPtr)((byte *) get_xxxl) |
| check_tcpstack_overflow |
ALNptr | answer_continuation = ALN_Next(nlcp_trie_return(breg)) |
BTNptr | next_answer |
| producer_csf = subg_compl_stack_ptr(producer_sf) |
xsbBool | isNewAnswer = FALSE |
BTNptr | answer_leaf |
| ARITY = get_xax |
| Yn = get_xxa |
| producer_cpf = subg_cp_ptr(producer_sf) |
else | Fail1 |
| lpcreg = *(pb *)(lpcreg+sizeof(Cell)) |
| restore_type = 0 |