moe changes to support atomic generation of atoms

support automatic generation of code walker (to find P's predicate and clause)
This commit is contained in:
Vitor Santos Costa
2008-12-24 09:04:44 +00:00
parent f679f21a71
commit b1cf60cafb
14 changed files with 1157 additions and 774 deletions

View File

@@ -485,8 +485,6 @@ restore_opcodes(yamop *pc)
pc->u.snll.T = PtoOpAdjust(pc->u.snll.T);
pc = NEXTOP(pc,snll);
break;
/* instructions type ss */
case _uminus:
/* instructions type ssd */
case _add_float_c:
case _fdiv_c1:
@@ -541,6 +539,7 @@ restore_opcodes(yamop *pc)
case _sl:
case _sr:
case _sub:
case _uminus:
case _xor:
pc->u.sss.s0 = ConstantAdjust(pc->u.sss.s0);
pc->u.sss.s1 = ConstantAdjust(pc->u.sss.s1);
@@ -575,6 +574,9 @@ restore_opcodes(yamop *pc)
case _get_f_x:
case _get_fi_x:
case _get_i_x:
case _put_f_var_x:
case _put_fi_var_x:
case _put_i_var_x:
pc->u.sxl.s = ConstantAdjust(pc->u.sxl.s);
pc->u.sxl.x = XAdjust(pc->u.sxl.x);
pc->u.sxl.l = PtoOpAdjust(pc->u.sxl.l);
@@ -582,11 +584,8 @@ restore_opcodes(yamop *pc)
break;
/* instructions type sxll */
case _put_f_val_x:
case _put_f_var_x:
case _put_fi_val_x:
case _put_fi_var_x:
case _put_i_val_x:
case _put_i_var_x:
pc->u.sxll.s = ConstantAdjust(pc->u.sxll.s);
pc->u.sxll.x = XAdjust(pc->u.sxll.x);
pc->u.sxll.F = PtoOpAdjust(pc->u.sxll.F);
@@ -597,6 +596,9 @@ restore_opcodes(yamop *pc)
case _get_f_y:
case _get_fi_y:
case _get_i_y:
case _put_f_var_y:
case _put_fi_var_y:
case _put_i_var_y:
pc->u.syl.s = ConstantAdjust(pc->u.syl.s);
pc->u.syl.y = YAdjust(pc->u.syl.y);
pc->u.syl.l = PtoOpAdjust(pc->u.syl.l);
@@ -604,11 +606,8 @@ restore_opcodes(yamop *pc)
break;
/* instructions type syll */
case _put_f_val_y:
case _put_f_var_y:
case _put_fi_val_y:
case _put_fi_var_y:
case _put_i_val_y:
case _put_i_var_y:
pc->u.syll.s = ConstantAdjust(pc->u.syll.s);
pc->u.syll.y = YAdjust(pc->u.syll.y);
pc->u.syll.F = PtoOpAdjust(pc->u.syll.F);