instructions xyc really has optype xyn.
This commit is contained in:
parent
2a84e259a2
commit
b2d9eb7aac
176
C/absmi.c
176
C/absmi.c
@ -9652,14 +9652,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_plus_y_vc, yxc);
|
Op(p_plus_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, plus_y_vc_unk);
|
deref_head(d0, plus_y_vc_unk);
|
||||||
plus_y_vc_nvar:
|
plus_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntegerTerm(IntOfTerm(d0) + d1);
|
d0 = MkIntegerTerm(IntOfTerm(d0) + d1);
|
||||||
}
|
}
|
||||||
@ -9672,8 +9672,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -9822,14 +9822,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_minus_y_cv, yxc);
|
Op(p_minus_y_cv, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, minus_y_cv_unk);
|
deref_head(d0, minus_y_cv_unk);
|
||||||
minus_y_cv_nvar:
|
minus_y_cv_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntegerTerm(d1 - IntOfTerm(d0));
|
d0 = MkIntegerTerm(d1 - IntOfTerm(d0));
|
||||||
}
|
}
|
||||||
@ -9842,8 +9842,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -9992,14 +9992,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_times_y_vc, yxc);
|
Op(p_times_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, times_y_vc_unk);
|
deref_head(d0, times_y_vc_unk);
|
||||||
times_y_vc_nvar:
|
times_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = times_int(IntOfTerm(d0), d1);
|
d0 = times_int(IntOfTerm(d0), d1);
|
||||||
}
|
}
|
||||||
@ -10012,8 +10012,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10215,14 +10215,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_div_y_vc, yxc);
|
Op(p_div_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, div_y_vc_unk);
|
deref_head(d0, div_y_vc_unk);
|
||||||
div_y_vc_nvar:
|
div_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntTerm(IntOfTerm(d0)/d1);
|
d0 = MkIntTerm(IntOfTerm(d0)/d1);
|
||||||
}
|
}
|
||||||
@ -10235,8 +10235,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10255,14 +10255,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_div_y_cv, yxc);
|
Op(p_div_y_cv, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, div_y_cv_unk);
|
deref_head(d0, div_y_cv_unk);
|
||||||
div_y_cv_nvar:
|
div_y_cv_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
Int div = IntOfTerm(d0);
|
Int div = IntOfTerm(d0);
|
||||||
if (div == 0) {
|
if (div == 0) {
|
||||||
@ -10282,8 +10282,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10433,14 +10433,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_and_y_vc, yxc);
|
Op(p_and_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, and_y_vc_unk);
|
deref_head(d0, and_y_vc_unk);
|
||||||
and_y_vc_nvar:
|
and_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntegerTerm(IntOfTerm(d0) & d1);
|
d0 = MkIntegerTerm(IntOfTerm(d0) & d1);
|
||||||
}
|
}
|
||||||
@ -10453,8 +10453,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10603,14 +10603,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_or_y_vc, yxc);
|
Op(p_or_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, or_y_vc_unk);
|
deref_head(d0, or_y_vc_unk);
|
||||||
or_y_vc_nvar:
|
or_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntegerTerm(IntOfTerm(d0) | d1);
|
d0 = MkIntegerTerm(IntOfTerm(d0) | d1);
|
||||||
}
|
}
|
||||||
@ -10623,8 +10623,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10818,14 +10818,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_sll_y_vc, yxc);
|
Op(p_sll_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, sll_y_vc_unk);
|
deref_head(d0, sll_y_vc_unk);
|
||||||
sll_y_vc_nvar:
|
sll_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = do_sll(IntOfTerm(d0), d1);
|
d0 = do_sll(IntOfTerm(d0), d1);
|
||||||
}
|
}
|
||||||
@ -10838,8 +10838,8 @@ Yap_absmi(int inp)
|
|||||||
if (PREG == (yamop *)FAILCODE)
|
if (PREG == (yamop *)FAILCODE)
|
||||||
FAIL();
|
FAIL();
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -10859,14 +10859,14 @@ Yap_absmi(int inp)
|
|||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
|
|
||||||
Op(p_sll_y_cv, yxc);
|
Op(p_sll_y_cv, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, sll_y_cv_unk);
|
deref_head(d0, sll_y_cv_unk);
|
||||||
sll_y_cv_nvar:
|
sll_y_cv_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
Int i2 = IntOfTerm(d0);
|
Int i2 = IntOfTerm(d0);
|
||||||
if (i2 < 0)
|
if (i2 < 0)
|
||||||
@ -10883,8 +10883,8 @@ Yap_absmi(int inp)
|
|||||||
if (PREG == (yamop *)FAILCODE)
|
if (PREG == (yamop *)FAILCODE)
|
||||||
FAIL();
|
FAIL();
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -11078,14 +11078,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_slr_y_vc, yxc);
|
Op(p_slr_y_vc, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, slr_y_vc_unk);
|
deref_head(d0, slr_y_vc_unk);
|
||||||
slr_y_vc_nvar:
|
slr_y_vc_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
d0 = MkIntTerm(IntOfTerm(d0) >> d1);
|
d0 = MkIntTerm(IntOfTerm(d0) >> d1);
|
||||||
}
|
}
|
||||||
@ -11098,8 +11098,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -11117,14 +11117,14 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_slr_y_cv, yxc);
|
Op(p_slr_y_cv, yxn);
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
/* first check pt1 */
|
/* first check pt1 */
|
||||||
deref_head(d0, slr_y_cv_unk);
|
deref_head(d0, slr_y_cv_unk);
|
||||||
slr_y_cv_nvar:
|
slr_y_cv_nvar:
|
||||||
{
|
{
|
||||||
Int d1 = PREG->u.yxc.c;
|
Int d1 = PREG->u.yxn.c;
|
||||||
if (IsIntTerm(d0)) {
|
if (IsIntTerm(d0)) {
|
||||||
Int i2 = IntOfTerm(d0);
|
Int i2 = IntOfTerm(d0);
|
||||||
if (i2 < 0)
|
if (i2 < 0)
|
||||||
@ -11141,8 +11141,8 @@ Yap_absmi(int inp)
|
|||||||
if (PREG == (yamop *)FAILCODE)
|
if (PREG == (yamop *)FAILCODE)
|
||||||
FAIL();
|
FAIL();
|
||||||
BEGP(pt0);
|
BEGP(pt0);
|
||||||
pt0 = YREG + PREG->u.yxc.y;
|
pt0 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt0,d0);
|
Bind_Local(pt0,d0);
|
||||||
#else
|
#else
|
||||||
@ -12031,23 +12031,23 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_arg_y_cv, yxc);
|
Op(p_arg_y_cv, yxn);
|
||||||
#ifdef LOW_LEVEL_TRACER
|
#ifdef LOW_LEVEL_TRACER
|
||||||
if (Yap_do_low_level_trace) {
|
if (Yap_do_low_level_trace) {
|
||||||
CELL *Ho = H;
|
CELL *Ho = H;
|
||||||
Term t = MkIntegerTerm(PREG->u.yxc.c);
|
Term t = MkIntegerTerm(PREG->u.yxn.c);
|
||||||
H[0] = t;
|
H[0] = t;
|
||||||
H[1] = XREG(PREG->u.yxc.xi);
|
H[1] = XREG(PREG->u.yxn.xi);
|
||||||
RESET_VARIABLE(H+2);
|
RESET_VARIABLE(H+2);
|
||||||
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("arg"),3),0)),H);
|
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("arg"),3),0)),H);
|
||||||
H = Ho;
|
H = Ho;
|
||||||
}
|
}
|
||||||
#endif /* LOW_LEVEL_TRACE */
|
#endif /* LOW_LEVEL_TRACE */
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = PREG->u.yxc.c;
|
d0 = PREG->u.yxn.c;
|
||||||
/* d0 now got the argument we want */
|
/* d0 now got the argument we want */
|
||||||
BEGD(d1);
|
BEGD(d1);
|
||||||
d1 = XREG(PREG->u.yxc.xi);
|
d1 = XREG(PREG->u.yxn.xi);
|
||||||
deref_head(d1, arg_y_arg2_vc_unk);
|
deref_head(d1, arg_y_arg2_vc_unk);
|
||||||
arg_y_arg2_vc_nvar:
|
arg_y_arg2_vc_nvar:
|
||||||
/* d1 now got the structure we want to fetch the argument
|
/* d1 now got the structure we want to fetch the argument
|
||||||
@ -12072,8 +12072,8 @@ Yap_absmi(int inp)
|
|||||||
FAIL();
|
FAIL();
|
||||||
}
|
}
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,pt0[d0]);
|
Bind_Local(pt1,pt0[d0]);
|
||||||
#else
|
#else
|
||||||
@ -12096,8 +12096,8 @@ Yap_absmi(int inp)
|
|||||||
FAIL();
|
FAIL();
|
||||||
}
|
}
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(PREG, yxc);
|
PREG = NEXTOP(PREG, yxn);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,pt0[d0-1]);
|
Bind_Local(pt1,pt0[d0-1]);
|
||||||
#else
|
#else
|
||||||
@ -12592,23 +12592,23 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_func2s_y_cv, yxc);
|
Op(p_func2s_y_cv, yxn);
|
||||||
/* A1 is a variable */
|
/* A1 is a variable */
|
||||||
restart_func2s_y_cv:
|
restart_func2s_y_cv:
|
||||||
#ifdef LOW_LEVEL_TRACER
|
#ifdef LOW_LEVEL_TRACER
|
||||||
if (Yap_do_low_level_trace) {
|
if (Yap_do_low_level_trace) {
|
||||||
RESET_VARIABLE(H);
|
RESET_VARIABLE(H);
|
||||||
H[1] = PREG->u.yxc.c;
|
H[1] = PREG->u.yxn.c;
|
||||||
H[2] = XREG(PREG->u.yxc.xi);
|
H[2] = XREG(PREG->u.yxn.xi);
|
||||||
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
||||||
}
|
}
|
||||||
#endif /* LOW_LEVEL_TRACE */
|
#endif /* LOW_LEVEL_TRACE */
|
||||||
/* We have to build the structure */
|
/* We have to build the structure */
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = PREG->u.yxc.c;
|
d0 = PREG->u.yxn.c;
|
||||||
/* we do, let's get the third argument */
|
/* we do, let's get the third argument */
|
||||||
BEGD(d1);
|
BEGD(d1);
|
||||||
d1 = XREG(PREG->u.yxc.xi);
|
d1 = XREG(PREG->u.yxn.xi);
|
||||||
deref_head(d1, func2s_y_unk_cv);
|
deref_head(d1, func2s_y_unk_cv);
|
||||||
func2s_y_nvar_cv:
|
func2s_y_nvar_cv:
|
||||||
/* Uuuff, the second and third argument are bound */
|
/* Uuuff, the second and third argument are bound */
|
||||||
@ -12630,8 +12630,8 @@ Yap_absmi(int inp)
|
|||||||
/* else if arity is 0 just pass d0 through */
|
/* else if arity is 0 just pass d0 through */
|
||||||
/* Ding, ding, we made it */
|
/* Ding, ding, we made it */
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
@ -12660,7 +12660,7 @@ Yap_absmi(int inp)
|
|||||||
if (pt1+d1 > ENV || pt1+d1 > (CELL *)B) {
|
if (pt1+d1 > ENV || pt1+d1 > (CELL *)B) {
|
||||||
/* make sure we have something to show for our trouble */
|
/* make sure we have something to show for our trouble */
|
||||||
saveregs();
|
saveregs();
|
||||||
if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxc),sbpp))) {
|
if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxn),sbpp))) {
|
||||||
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
|
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
|
||||||
setregs();
|
setregs();
|
||||||
JMPNext();
|
JMPNext();
|
||||||
@ -12679,8 +12679,8 @@ Yap_absmi(int inp)
|
|||||||
/* else if arity is 0 just pass d0 through */
|
/* else if arity is 0 just pass d0 through */
|
||||||
/* Ding, ding, we made it */
|
/* Ding, ding, we made it */
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
@ -12690,8 +12690,8 @@ Yap_absmi(int inp)
|
|||||||
GONext();
|
GONext();
|
||||||
} else if (d1 == 0) {
|
} else if (d1 == 0) {
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
@ -12718,7 +12718,7 @@ Yap_absmi(int inp)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
ENDOp();
|
ENDOp();
|
||||||
|
|
||||||
Op(p_func2s_y_vc, yxc);
|
Op(p_func2s_y_vc, yxn);
|
||||||
/* A1 is a variable */
|
/* A1 is a variable */
|
||||||
restart_func2s_y_vc:
|
restart_func2s_y_vc:
|
||||||
#ifdef LOW_LEVEL_TRACER
|
#ifdef LOW_LEVEL_TRACER
|
||||||
@ -12726,9 +12726,9 @@ Yap_absmi(int inp)
|
|||||||
Term ti;
|
Term ti;
|
||||||
CELL *hi = H;
|
CELL *hi = H;
|
||||||
|
|
||||||
ti = MkIntegerTerm((Int)(PREG->u.yxc.c));
|
ti = MkIntegerTerm((Int)(PREG->u.yxn.c));
|
||||||
RESET_VARIABLE(H);
|
RESET_VARIABLE(H);
|
||||||
H[1] = XREG(PREG->u.yxc.xi);
|
H[1] = XREG(PREG->u.yxn.xi);
|
||||||
H[2] = ti;
|
H[2] = ti;
|
||||||
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
||||||
H = hi;
|
H = hi;
|
||||||
@ -12736,11 +12736,11 @@ Yap_absmi(int inp)
|
|||||||
#endif /* LOW_LEVEL_TRACE */
|
#endif /* LOW_LEVEL_TRACE */
|
||||||
/* We have to build the structure */
|
/* We have to build the structure */
|
||||||
BEGD(d0);
|
BEGD(d0);
|
||||||
d0 = XREG(PREG->u.yxc.xi);
|
d0 = XREG(PREG->u.yxn.xi);
|
||||||
deref_head(d0, func2s_y_unk_vc);
|
deref_head(d0, func2s_y_unk_vc);
|
||||||
func2s_y_nvar_vc:
|
func2s_y_nvar_vc:
|
||||||
BEGD(d1);
|
BEGD(d1);
|
||||||
d1 = PREG->u.yxc.c;
|
d1 = PREG->u.yxn.c;
|
||||||
if (!IsAtomicTerm(d0)) {
|
if (!IsAtomicTerm(d0)) {
|
||||||
saveregs();
|
saveregs();
|
||||||
Yap_Error(TYPE_ERROR_ATOM,d0,"functor/3");
|
Yap_Error(TYPE_ERROR_ATOM,d0,"functor/3");
|
||||||
@ -12757,8 +12757,8 @@ Yap_absmi(int inp)
|
|||||||
/* else if arity is 0 just pass d0 through */
|
/* else if arity is 0 just pass d0 through */
|
||||||
/* Ding, ding, we made it */
|
/* Ding, ding, we made it */
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
@ -12769,8 +12769,8 @@ Yap_absmi(int inp)
|
|||||||
}
|
}
|
||||||
if (d1 == 0) {
|
if (d1 == 0) {
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
@ -12804,7 +12804,7 @@ Yap_absmi(int inp)
|
|||||||
if (pt1+d1 > ENV || pt1+d1 > (CELL *)B) {
|
if (pt1+d1 > ENV || pt1+d1 > (CELL *)B) {
|
||||||
/* make sure we have something to show for our trouble */
|
/* make sure we have something to show for our trouble */
|
||||||
saveregs();
|
saveregs();
|
||||||
if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxc),sbpp))) {
|
if (!Yap_gcl((1+d1)*sizeof(CELL), 0, YREG, NEXTOP(NEXTOP(PREG,yxn),sbpp))) {
|
||||||
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
|
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
|
||||||
setregs();
|
setregs();
|
||||||
JMPNext();
|
JMPNext();
|
||||||
@ -12823,8 +12823,8 @@ Yap_absmi(int inp)
|
|||||||
/* else if arity is 0 just pass d0 through */
|
/* else if arity is 0 just pass d0 through */
|
||||||
/* Ding, ding, we made it */
|
/* Ding, ding, we made it */
|
||||||
BEGP(pt1);
|
BEGP(pt1);
|
||||||
pt1 = YREG + PREG->u.yxc.y;
|
pt1 = YREG + PREG->u.yxn.y;
|
||||||
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxc),sbpp),l);
|
PREG = NEXTOP(NEXTOP(NEXTOP(PREG, yxn),sbpp),l);
|
||||||
#if defined(SBA) && defined(FROZEN_STACKS)
|
#if defined(SBA) && defined(FROZEN_STACKS)
|
||||||
Bind_Local(pt1,d0);
|
Bind_Local(pt1,d0);
|
||||||
#else
|
#else
|
||||||
|
16
C/amasm.c
16
C/amasm.c
@ -2535,11 +2535,11 @@ a_f2(int var, cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermed
|
|||||||
code_p->opc = emit_op(_p_func2s_y_cv);
|
code_p->opc = emit_op(_p_func2s_y_cv);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
code_p->u.yxc.y = emit_y(ve);
|
code_p->u.yxn.y = emit_y(ve);
|
||||||
code_p->u.yxc.c = cmp_info->c_arg;
|
code_p->u.yxn.c = cmp_info->c_arg;
|
||||||
code_p->u.yxc.xi = cmp_info->x1_arg;
|
code_p->u.yxn.xi = cmp_info->x1_arg;
|
||||||
}
|
}
|
||||||
GONEXT(yxc);
|
GONEXT(yxn);
|
||||||
break;
|
break;
|
||||||
case TYPE_XC:
|
case TYPE_XC:
|
||||||
if (pass_no) {
|
if (pass_no) {
|
||||||
@ -2589,11 +2589,11 @@ a_f2(int var, cmp_op_info *cmp_info, yamop *code_p, int pass_no, struct intermed
|
|||||||
code_p->opc = emit_op(_p_func2s_y_vc);
|
code_p->opc = emit_op(_p_func2s_y_vc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
code_p->u.yxc.y = emit_y(ve);
|
code_p->u.yxn.y = emit_y(ve);
|
||||||
code_p->u.yxc.c = cmp_info->c_arg;
|
code_p->u.yxn.c = cmp_info->c_arg;
|
||||||
code_p->u.yxc.xi = cmp_info->x1_arg;
|
code_p->u.yxn.xi = cmp_info->x1_arg;
|
||||||
}
|
}
|
||||||
GONEXT(yxc);
|
GONEXT(yxn);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
12
C/cdmgr.c
12
C/cdmgr.c
@ -4388,7 +4388,7 @@ ClauseInfoForCode(yamop *codeptr, CODEADDR *startp, CODEADDR *endp) {
|
|||||||
clause_code = TRUE;
|
clause_code = TRUE;
|
||||||
pc = NEXTOP(pc,yyx);
|
pc = NEXTOP(pc,yyx);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_plus_y_vc:
|
case _p_plus_y_vc:
|
||||||
case _p_minus_y_cv:
|
case _p_minus_y_cv:
|
||||||
case _p_times_y_vc:
|
case _p_times_y_vc:
|
||||||
@ -4400,19 +4400,19 @@ ClauseInfoForCode(yamop *codeptr, CODEADDR *startp, CODEADDR *endp) {
|
|||||||
case _p_slr_y_vc:
|
case _p_slr_y_vc:
|
||||||
case _p_func2s_y_vc:
|
case _p_func2s_y_vc:
|
||||||
clause_code = TRUE;
|
clause_code = TRUE;
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_sll_y_cv:
|
case _p_sll_y_cv:
|
||||||
case _p_slr_y_cv:
|
case _p_slr_y_cv:
|
||||||
case _p_arg_y_cv:
|
case _p_arg_y_cv:
|
||||||
clause_code = TRUE;
|
clause_code = TRUE;
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_func2s_y_cv:
|
case _p_func2s_y_cv:
|
||||||
clause_code = TRUE;
|
clause_code = TRUE;
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type plxxs */
|
/* instructions type plxxs */
|
||||||
case _call_bfunc_xx:
|
case _call_bfunc_xx:
|
||||||
|
20
C/index.c
20
C/index.c
@ -1416,7 +1416,7 @@ has_cut(yamop *pc)
|
|||||||
case _p_func2f_yy:
|
case _p_func2f_yy:
|
||||||
pc = NEXTOP(pc,yyx);
|
pc = NEXTOP(pc,yyx);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_plus_y_vc:
|
case _p_plus_y_vc:
|
||||||
case _p_minus_y_cv:
|
case _p_minus_y_cv:
|
||||||
case _p_times_y_vc:
|
case _p_times_y_vc:
|
||||||
@ -1427,17 +1427,17 @@ has_cut(yamop *pc)
|
|||||||
case _p_sll_y_vc:
|
case _p_sll_y_vc:
|
||||||
case _p_slr_y_vc:
|
case _p_slr_y_vc:
|
||||||
case _p_func2s_y_vc:
|
case _p_func2s_y_vc:
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_sll_y_cv:
|
case _p_sll_y_cv:
|
||||||
case _p_slr_y_cv:
|
case _p_slr_y_cv:
|
||||||
case _p_arg_y_cv:
|
case _p_arg_y_cv:
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_func2s_y_cv:
|
case _p_func2s_y_cv:
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type plxxs */
|
/* instructions type plxxs */
|
||||||
case _call_bfunc_xx:
|
case _call_bfunc_xx:
|
||||||
@ -2392,27 +2392,27 @@ add_info(ClauseDef *clause, UInt regno)
|
|||||||
case _p_sll_y_vc:
|
case _p_sll_y_vc:
|
||||||
case _p_slr_y_vc:
|
case _p_slr_y_vc:
|
||||||
case _p_func2s_y_vc:
|
case _p_func2s_y_vc:
|
||||||
if (cl->u.yxc.y == ycopy) {
|
if (cl->u.yxn.y == ycopy) {
|
||||||
ycopy = 0; /* weird stuff, let's just reset ycopy */
|
ycopy = 0; /* weird stuff, let's just reset ycopy */
|
||||||
if (nofregs == 0) {
|
if (nofregs == 0) {
|
||||||
clause->Tag = (CELL)NULL;
|
clause->Tag = (CELL)NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cl = NEXTOP(cl,yxc);
|
cl = NEXTOP(cl,yxn);
|
||||||
break;
|
break;
|
||||||
case _p_sll_y_cv:
|
case _p_sll_y_cv:
|
||||||
case _p_slr_y_cv:
|
case _p_slr_y_cv:
|
||||||
case _p_arg_y_cv:
|
case _p_arg_y_cv:
|
||||||
case _p_func2s_y_cv:
|
case _p_func2s_y_cv:
|
||||||
if (cl->u.yxc.y == ycopy) {
|
if (cl->u.yxn.y == ycopy) {
|
||||||
ycopy = 0; /* weird stuff, let's just reset ycopy */
|
ycopy = 0; /* weird stuff, let's just reset ycopy */
|
||||||
if (nofregs == 0) {
|
if (nofregs == 0) {
|
||||||
clause->Tag = (CELL)NULL;
|
clause->Tag = (CELL)NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cl = NEXTOP(cl,yxc);
|
cl = NEXTOP(cl,yxn);
|
||||||
break;
|
break;
|
||||||
case _lock_lu:
|
case _lock_lu:
|
||||||
cl = NEXTOP(cl,p);
|
cl = NEXTOP(cl,p);
|
||||||
|
@ -256,41 +256,41 @@
|
|||||||
OPCODE(p_plus_vv ,xxx),
|
OPCODE(p_plus_vv ,xxx),
|
||||||
OPCODE(p_plus_vc ,xxn),
|
OPCODE(p_plus_vc ,xxn),
|
||||||
OPCODE(p_plus_y_vv ,yxx),
|
OPCODE(p_plus_y_vv ,yxx),
|
||||||
OPCODE(p_plus_y_vc ,yxc),
|
OPCODE(p_plus_y_vc ,yxn),
|
||||||
OPCODE(p_minus_vv ,xxx),
|
OPCODE(p_minus_vv ,xxx),
|
||||||
OPCODE(p_minus_cv ,xxn),
|
OPCODE(p_minus_cv ,xxn),
|
||||||
OPCODE(p_minus_y_vv ,yxx),
|
OPCODE(p_minus_y_vv ,yxx),
|
||||||
OPCODE(p_minus_y_cv ,yxc),
|
OPCODE(p_minus_y_cv ,yxn),
|
||||||
OPCODE(p_times_vv ,xxx),
|
OPCODE(p_times_vv ,xxx),
|
||||||
OPCODE(p_times_vc ,xxn),
|
OPCODE(p_times_vc ,xxn),
|
||||||
OPCODE(p_times_y_vv ,yxx),
|
OPCODE(p_times_y_vv ,yxx),
|
||||||
OPCODE(p_times_y_vc ,yxc),
|
OPCODE(p_times_y_vc ,yxn),
|
||||||
OPCODE(p_div_vv ,xxx),
|
OPCODE(p_div_vv ,xxx),
|
||||||
OPCODE(p_div_vc ,xxn),
|
OPCODE(p_div_vc ,xxn),
|
||||||
OPCODE(p_div_cv ,xxn),
|
OPCODE(p_div_cv ,xxn),
|
||||||
OPCODE(p_div_y_vv ,yxx),
|
OPCODE(p_div_y_vv ,yxx),
|
||||||
OPCODE(p_div_y_vc ,yxc),
|
OPCODE(p_div_y_vc ,yxn),
|
||||||
OPCODE(p_div_y_cv ,yxc),
|
OPCODE(p_div_y_cv ,yxn),
|
||||||
OPCODE(p_and_vv ,xxx),
|
OPCODE(p_and_vv ,xxx),
|
||||||
OPCODE(p_and_vc ,xxn),
|
OPCODE(p_and_vc ,xxn),
|
||||||
OPCODE(p_and_y_vv ,yxx),
|
OPCODE(p_and_y_vv ,yxx),
|
||||||
OPCODE(p_and_y_vc ,yxc),
|
OPCODE(p_and_y_vc ,yxn),
|
||||||
OPCODE(p_or_vv ,xxx),
|
OPCODE(p_or_vv ,xxx),
|
||||||
OPCODE(p_or_vc ,xxn),
|
OPCODE(p_or_vc ,xxn),
|
||||||
OPCODE(p_or_y_vv ,yxx),
|
OPCODE(p_or_y_vv ,yxx),
|
||||||
OPCODE(p_or_y_vc ,yxc),
|
OPCODE(p_or_y_vc ,yxn),
|
||||||
OPCODE(p_sll_vv ,xxx),
|
OPCODE(p_sll_vv ,xxx),
|
||||||
OPCODE(p_sll_vc ,xxn),
|
OPCODE(p_sll_vc ,xxn),
|
||||||
OPCODE(p_sll_cv ,xxn),
|
OPCODE(p_sll_cv ,xxn),
|
||||||
OPCODE(p_sll_y_vv ,yxx),
|
OPCODE(p_sll_y_vv ,yxx),
|
||||||
OPCODE(p_sll_y_vc ,yxc),
|
OPCODE(p_sll_y_vc ,yxn),
|
||||||
OPCODE(p_sll_y_cv ,yxc),
|
OPCODE(p_sll_y_cv ,yxn),
|
||||||
OPCODE(p_slr_vv ,xxx),
|
OPCODE(p_slr_vv ,xxx),
|
||||||
OPCODE(p_slr_vc ,xxn),
|
OPCODE(p_slr_vc ,xxn),
|
||||||
OPCODE(p_slr_cv ,xxn),
|
OPCODE(p_slr_cv ,xxn),
|
||||||
OPCODE(p_slr_y_vv ,yxx),
|
OPCODE(p_slr_y_vv ,yxx),
|
||||||
OPCODE(p_slr_y_vc ,yxc),
|
OPCODE(p_slr_y_vc ,yxn),
|
||||||
OPCODE(p_slr_y_cv ,yxc),
|
OPCODE(p_slr_y_cv ,yxn),
|
||||||
OPCODE(call_bfunc_xx ,plxxs),
|
OPCODE(call_bfunc_xx ,plxxs),
|
||||||
OPCODE(call_bfunc_yx ,plxys),
|
OPCODE(call_bfunc_yx ,plxys),
|
||||||
OPCODE(call_bfunc_xy ,plxys),
|
OPCODE(call_bfunc_xy ,plxys),
|
||||||
@ -301,13 +301,13 @@
|
|||||||
OPCODE(p_arg_vv ,xxx),
|
OPCODE(p_arg_vv ,xxx),
|
||||||
OPCODE(p_arg_cv ,xxn),
|
OPCODE(p_arg_cv ,xxn),
|
||||||
OPCODE(p_arg_y_vv ,yxx),
|
OPCODE(p_arg_y_vv ,yxx),
|
||||||
OPCODE(p_arg_y_cv ,yxc),
|
OPCODE(p_arg_y_cv ,yxn),
|
||||||
OPCODE(p_func2s_vv ,xxx),
|
OPCODE(p_func2s_vv ,xxx),
|
||||||
OPCODE(p_func2s_cv ,xxn),
|
OPCODE(p_func2s_cv ,xxn),
|
||||||
OPCODE(p_func2s_vc ,xxn),
|
OPCODE(p_func2s_vc ,xxn),
|
||||||
OPCODE(p_func2s_y_vv ,yxx),
|
OPCODE(p_func2s_y_vv ,yxx),
|
||||||
OPCODE(p_func2s_y_cv ,yxc),
|
OPCODE(p_func2s_y_cv ,yxn),
|
||||||
OPCODE(p_func2s_y_vc ,yxc),
|
OPCODE(p_func2s_y_vc ,yxn),
|
||||||
OPCODE(p_func2f_xx ,xxx),
|
OPCODE(p_func2f_xx ,xxx),
|
||||||
OPCODE(p_func2f_xy ,xxy),
|
OPCODE(p_func2f_xy ,xxy),
|
||||||
OPCODE(p_func2f_yx ,yxx),
|
OPCODE(p_func2f_yx ,yxx),
|
||||||
|
@ -630,11 +630,11 @@ typedef struct yami {
|
|||||||
CELL next;
|
CELL next;
|
||||||
} yyy;
|
} yyy;
|
||||||
struct {
|
struct {
|
||||||
wamreg xi;
|
wamreg xi;
|
||||||
yslot y;
|
yslot y;
|
||||||
Int c;
|
Int c;
|
||||||
CELL next;
|
CELL next;
|
||||||
} yxc;
|
} yxn;
|
||||||
} u;
|
} u;
|
||||||
} yamop;
|
} yamop;
|
||||||
|
|
||||||
|
10
H/rclause.h
10
H/rclause.h
@ -670,7 +670,7 @@ restore_opcodes(yamop *pc)
|
|||||||
pc->u.yx.x = XAdjust(pc->u.yx.x);
|
pc->u.yx.x = XAdjust(pc->u.yx.x);
|
||||||
pc = NEXTOP(pc,yx);
|
pc = NEXTOP(pc,yx);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxc */
|
/* instructions type yxn */
|
||||||
case _p_and_y_vc:
|
case _p_and_y_vc:
|
||||||
case _p_arg_y_cv:
|
case _p_arg_y_cv:
|
||||||
case _p_div_y_cv:
|
case _p_div_y_cv:
|
||||||
@ -685,10 +685,10 @@ restore_opcodes(yamop *pc)
|
|||||||
case _p_slr_y_cv:
|
case _p_slr_y_cv:
|
||||||
case _p_slr_y_vc:
|
case _p_slr_y_vc:
|
||||||
case _p_times_y_vc:
|
case _p_times_y_vc:
|
||||||
pc->u.yxc.xi = YAdjust(pc->u.yxc.xi);
|
pc->u.yxn.xi = YAdjust(pc->u.yxn.xi);
|
||||||
pc->u.yxc.y = XAdjust(pc->u.yxc.y);
|
pc->u.yxn.y = XAdjust(pc->u.yxn.y);
|
||||||
pc->u.yxc.c = ConstantTermAdjust(pc->u.yxc.c);
|
pc->u.yxn.c = IntegerAdjust(pc->u.yxn.c);
|
||||||
pc = NEXTOP(pc,yxc);
|
pc = NEXTOP(pc,yxn);
|
||||||
break;
|
break;
|
||||||
/* instructions type yxx */
|
/* instructions type yxx */
|
||||||
case _p_and_y_vv:
|
case _p_and_y_vv:
|
||||||
|
Reference in New Issue
Block a user