compiler support for udi including user_index instruction

This commit is contained in:
Vítor Santos Costa
2009-02-12 21:35:31 +00:00
parent 5d21f7a3d2
commit 8a6e0acedc
12 changed files with 75 additions and 0 deletions

View File

@@ -530,6 +530,18 @@ a_p0(op_numbers opcode, yamop *code_p, int pass_no, PredEntry *p0)
return code_p;
}
inline static yamop *
a_lp(op_numbers opcode, yamop *code_p, int pass_no, struct intermediates *cip)
{
if (pass_no) {
code_p->opc = emit_op(opcode);
code_p->u.lp.p = (PredEntry *)cip->cpc->rnd1;
code_p->u.lp.l = (yamop *)cip->cpc->rnd2;
}
GONEXT(lp);
return code_p;
}
inline static yamop *
a_ue(op_numbers opcode, op_numbers opcodew, yamop *code_p, int pass_no)
{
@@ -3718,6 +3730,9 @@ do_pass(int pass_no, yamop **entry_codep, int assembling, int *clause_has_blobsp
case jump_nv_op:
code_p = a_xigl(_jump_if_nonvar, code_p, pass_no, cip->cpc);
break;
case user_switch_op:
code_p = a_lp(_user_switch, code_p, pass_no, cip);
break;
case switch_on_type_op:
code_p = a_4sw(_switch_on_type, code_p, pass_no, cip);
break;