more bigint and dbterm fixes.
This commit is contained in:
38
H/rclause.h
38
H/rclause.h
@@ -16,6 +16,11 @@ restore_opcodes(yamop *pc, yamop *max)
|
||||
fprintf(stderr, "%s ", Yap_op_names[op]);
|
||||
#endif
|
||||
switch (op) {
|
||||
/* instructions type D */
|
||||
case _write_dbterm:
|
||||
pc->u.D.D = DBGroundTermAdjust(pc->u.D.D);
|
||||
pc = NEXTOP(pc,D);
|
||||
break;
|
||||
/* instructions type Ills */
|
||||
case _enter_lu_pred:
|
||||
pc->u.Ills.I = PtoLUIndexAdjust(pc->u.Ills.I);
|
||||
@@ -30,6 +35,11 @@ restore_opcodes(yamop *pc, yamop *max)
|
||||
pc->u.L.ClBase = PtoLUClauseAdjust(pc->u.L.ClBase);
|
||||
pc = NEXTOP(pc,L);
|
||||
break;
|
||||
/* instructions type N */
|
||||
case _write_bigint:
|
||||
pc->u.N.b = BlobTermInCodeAdjust(pc->u.N.b);
|
||||
pc = NEXTOP(pc,N);
|
||||
break;
|
||||
/* instructions type Osblp */
|
||||
case _either:
|
||||
case _or_else:
|
||||
@@ -294,13 +304,6 @@ restore_opcodes(yamop *pc, yamop *max)
|
||||
pc->u.o.opcw = OpcodeAdjust(pc->u.o.opcw);
|
||||
pc = NEXTOP(pc,o);
|
||||
break;
|
||||
/* instructions type oB */
|
||||
case _unify_bigint:
|
||||
case _unify_l_bigint:
|
||||
pc->u.oB.opcw = OpcodeAdjust(pc->u.oB.opcw);
|
||||
pc->u.oB.b = BlobTermInCodeAdjust(pc->u.oB.b);
|
||||
pc = NEXTOP(pc,oB);
|
||||
break;
|
||||
/* instructions type oD */
|
||||
case _unify_dbterm:
|
||||
case _unify_l_dbterm:
|
||||
@@ -308,6 +311,13 @@ restore_opcodes(yamop *pc, yamop *max)
|
||||
pc->u.oD.D = DBGroundTermAdjust(pc->u.oD.D);
|
||||
pc = NEXTOP(pc,oD);
|
||||
break;
|
||||
/* instructions type oN */
|
||||
case _unify_bigint:
|
||||
case _unify_l_bigint:
|
||||
pc->u.oN.opcw = OpcodeAdjust(pc->u.oN.opcw);
|
||||
pc->u.oN.b = BlobTermInCodeAdjust(pc->u.oN.b);
|
||||
pc = NEXTOP(pc,oN);
|
||||
break;
|
||||
/* instructions type oc */
|
||||
case _unify_atom:
|
||||
case _unify_atom_write:
|
||||
@@ -535,18 +545,20 @@ restore_opcodes(yamop *pc, yamop *max)
|
||||
pc->u.x.x = XAdjust(pc->u.x.x);
|
||||
pc = NEXTOP(pc,x);
|
||||
break;
|
||||
/* instructions type xB */
|
||||
case _get_bigint:
|
||||
pc->u.xB.x = XAdjust(pc->u.xB.x);
|
||||
pc->u.xB.b = BlobTermInCodeAdjust(pc->u.xB.b);
|
||||
pc = NEXTOP(pc,xB);
|
||||
break;
|
||||
/* instructions type xD */
|
||||
case _get_dbterm:
|
||||
case _put_dbterm:
|
||||
pc->u.xD.x = XAdjust(pc->u.xD.x);
|
||||
pc->u.xD.D = DBGroundTermAdjust(pc->u.xD.D);
|
||||
pc = NEXTOP(pc,xD);
|
||||
break;
|
||||
/* instructions type xN */
|
||||
case _get_bigint:
|
||||
case _put_bigint:
|
||||
pc->u.xN.x = XAdjust(pc->u.xN.x);
|
||||
pc->u.xN.b = BlobTermInCodeAdjust(pc->u.xN.b);
|
||||
pc = NEXTOP(pc,xN);
|
||||
break;
|
||||
/* instructions type xc */
|
||||
case _get_atom:
|
||||
case _put_atom:
|
||||
|
Reference in New Issue
Block a user