Lines Matching refs:val
128 value val;
354 (pw)->val.did = mdid; \
409 /*#define Move_Pw(s,d) d->val.all=s->val.all; d->tag.all=s->tag.all;*/
423 from->val.ptr = to; \
424 to->val.ptr = to; \
440 while(ISRef(((t) = (pw)->tag.kernel)) && pw->val.ptr != pw) {\
441 pw = pw->val.ptr;\
445 while(IsRef(pw->tag) && pw->val.ptr != pw) {\
446 pw = pw->val.ptr;\
449 #define Set_Val(pw,v) pw->val.ptr = v;
459 pw->val.all = v;pw->tag.kernel = t;
500 } else if(pw1->val.suffix != PP++->suffix) {\
722 for(_p=(From);_p<(To);++_p) {_p->val.ptr=0; _p->tag.kernel=TEND;} }
811 A[0].val.nint = PSUCCEED;
848 S->val.did = val_did;
906 pw1->val.ptr = pw2;
913 pw2->val.ptr = pw1;
921 if (pw1->val.ptr == pw2->val.ptr)
930 Push_var_delay_unif(pw2->val.ptr, pw2->tag.kernel);
931 Push_var_delay_unif(pw1->val.ptr,pw1->tag.kernel);
938 Push_var_delay(pw1->val.ptr,pw1->tag.kernel);
947 Push_var_delay(pw2->val.ptr,pw2->tag.kernel);
956 if (SimpleEq(tmp1, pw1->val, pw2->val))
963 pw1 = pw1->val.ptr;
964 pw2 = pw2->val.ptr;
995 if (pw1->val.did != (pw2++)->val.did)
1001 tmp1 = DidArity((pw1++)->val.did); /* their arity */
1077 pw1->val.ptr = SV;
1082 scratch_pw.val.ptr = SV;
1109 pw2->val.ptr = pw1;
1114 pw1->val.ptr = pw2;
1120 pw1->val.ptr = pw2;
1125 pw2->val.ptr = pw1;
1131 pw1->val.ptr = pw2->val.ptr;
1133 Occur_Check_Read(pw1, pw2->val, pw2->tag, goto _unify_fail_)
1134 Bind_(pw1, pw2->val.all, pw2->tag.kernel) /* bind it */
1141 pw2->val.ptr = pw1->val.ptr;
1143 Occur_Check_Read(pw2, pw1->val, pw1->tag, goto _unify_fail_)
1144 Bind_(pw2, pw1->val.all, tmp1) /* bind it */
1147 pw1 = pw1->val.ptr; /* temporary, because of BIUnify */
1150 pw2 = pw2->val.ptr; /* temporary */
1157 Occur_Check_Read(pw1, pw2->val, pw2->tag, goto _unify_fail_)
1179 tmp1 = pw2->val.nint; /* ->val temporary */
1189 if (SimpleEq(tmp1, pw1->val, pw2->val))
1196 pw1 = pw1->val.ptr; /* get the pointers */
1197 pw2 = pw2->val.ptr;
1224 if (pw1->val.did != (pw2++)->val.did)
1227 tmp1 = DidArity((pw1++)->val.did); /* their arity */
1264 pw1->val.ptr = pw2;
1268 pw1->val.ptr = pw2;
1272 scratch_pw.val.ptr = pw2;
1310 TG->val.did = (_did);\
1319 PP[-(_i)].ptr->val.ptr=TG; PP[-(_i)].ptr->tag.kernel=TREF;\
1320 TG->val.ptr=TG; TG->tag.kernel=TREF;\
1323 TG->val.nint = PP[-(_i)].nint; TG->tag.kernel=TINT;\
1339 PP[-(_i)].ptr->val.ptr=TG; PP[-(_i)].ptr->tag.kernel=TREF;\
1340 TG->val.ptr=TG; TG++->tag.kernel=TREF;\
1409 pw1 = &DE[SUSP_GOAL].val.ptr[1];
1416 pw1 = &DE[SUSP_GOAL].val.ptr[2];
1423 pw1 = &DE[SUSP_GOAL].val.ptr[3];
1438 pw1 = pw2[0].val.ptr;
1453 pw2 = pw2[1].val.ptr;
1626 pw1[SUSP_GOAL].val.ptr = pw1 + SUSP_SIZE; /* goal */
1629 pw1[SUSP_MODULE].val.did = PriModule(proc);
1632 S->val.did = val_did;
1651 pw1 = A[1].val.ptr;
1661 pw1 = A[2].val.ptr;
1671 pw1 = A[3].val.ptr;
1688 pw1 = pw2[0].val.ptr;
1700 pw2 = pw2[1].val.ptr;
1750 S->val.did = val_did;
1773 A[1].val.did = d_.local_control_overflow;
1779 A[1].val.did = d_.abort;
1835 DynEnvDE(e)->val.ptr = DE;
1837 DynEnvDbgPri(E)->val.wptr = (uword *) DBG_PRI;
1897 A[1].val.ptr = MU;
1934 t_heap_event *event = (t_heap_event *)A[1].val.ptr;
2072 tmp1 = pw1->val.all;
2073 pw1->val.all = pw2->val.all;
2074 pw2->val.all = tmp1;
2216 Case(Get_constantAM, I_Get_constantAM) /* AM, val, tag */
2223 pw1->val.all = PP++->all;
2236 if (!SimpleEq(tmp1, pw1->val, PP->val)) {
2241 err_code = tag_desc[TagTypeC(tmp1)].equal(pw1->val.ptr, PP->ptr);
2298 pw1 = pw1->val.ptr;
2328 S->val.ptr = S;
2333 S->val.ptr = S;
2340 S->val.all = pw1->val.all;
2361 S = (pw1->val).ptr;
2386 S->val.did = val_did;
2396 S->val.did = val_did;
2402 } else if (pw1->val.ptr->val.did != PP++->did ) {
2405 S = pw1->val.ptr;
2433 S->val.did = val_did;
2437 S->val.did = val_did;
2504 SP->val.ptr = S++;
2510 pw1->val.ptr = S++;
2519 pw1->val.ptr = S++;
2544 /* val, tag */
2615 pw1 = pw1->val.ptr;
2627 SP->val.ptr = S + 1;
2633 S = S->val.ptr;
2640 S = (pw1->val.ptr)++;
2645 pw1->val.ptr = S + 1;
2651 SP->val.ptr = S + 1;
2661 /* pw1 = (pw1->val.ptr)++; wrong in the C compiler */
2662 S = pw1->val.ptr;
2663 pw1->val.ptr = S + 1;
2671 pw1->val.ptr = S + 1;
2679 S = S->val.ptr;
2681 if (tmp1 > DidArity(S->val.did) * sizeof(pword)) {
2689 SP->val.ptr = S + 1;
2701 S = S->val.ptr;
2711 pw2->val.ptr = S;
2721 S = pw1->val.ptr;
2729 S = (pw1->val.ptr)++;
2740 S = S->val.ptr;
2748 SP->val.ptr = S + 1;
2759 S->val.did = val_did;
2770 S->val.did = val_did;
2776 } else if (S->val.ptr->val.did != PP->did ) {
2779 S = S->val.ptr + 1;
2788 pw2->val.ptr = S;
2797 S->val.did = val_did;
2808 S->val.did = val_did;
2814 } else if (pw1->val.ptr->val.did != PP->did) {
2817 S = pw1->val.ptr + 1;
2825 S = (pw2->val.ptr)++;
2835 S->val.did = val_did;
2847 S->val.did = val_did;
2853 } else if (S->val.ptr->val.did != PP->did) {
2856 S = S->val.ptr + 1;
2869 SP->val.ptr = S;
2875 S->val.ptr = S;
2884 S->val.ptr = S;
2891 pw1->val.ptr = S;
2893 S->val.ptr = S;
2899 pw1->val.ptr = S;
2901 S->val.ptr = S;
2907 pw1->val.ptr = S;
2909 S->val.ptr = S;
2912 pw1->val.ptr = S;
2914 S->val.ptr = S;
2924 pw1->val.ptr = S;
2926 S->val.ptr = S;
2932 pw1->val.ptr = S;
2934 S->val.ptr = S;
2936 S->val.ptr = S;
2939 pw1->val.ptr = (S)++;
2946 pw1->val.ptr = S;
2947 S->val.ptr = S;
2953 SP->val.ptr = S;
2958 S->val.ptr = S;
2964 pw1->val.ptr = S;
2966 S->val.ptr = S;
2974 pw1->val.ptr = S;
2976 S->val.ptr = S;
2981 S->val.ptr = S;
2987 ((S)++)->val.ptr = TG;
2993 SP->val.ptr = ((S)++)->val.ptr = TG;
3000 pw1->val.ptr = S->val.ptr = TG;
3007 pw1->val.ptr = S->val.ptr = TG;
3015 pw1->val.ptr = S->val.ptr = TG;
3043 S->val.ptr = ByteOffsetPlus(S, PP++->offset);
3105 /* val, tag !!!!!! */
3109 S->val.all = PP++ -> all;
3119 S->val.nint = PP++->nint;
3124 S->val.nint = PP++->nint;
3131 S->val.real = PP++->real;
3137 S->val.did = PP++->did;
3141 S->val.did = PP++->did;
3146 S->val.nint = PP++->nint;
3148 S->val.did = PP++->did;
3153 S->val.did = PP++->did;
3155 S->val.nint = PP++->nint;
3161 S->val.str = PP++->str;
3169 pw1->val.ptr = S;
3171 S->val.ptr = S;
3177 SP->val.ptr = S + 1;
3184 pw1->val.ptr = S;
3190 pw1->val.ptr = S + 1;
3194 pw1->val.ptr = S;
3203 S = (pw1->val.ptr)++;
3208 pw1->val.ptr = S;
3214 S->val.ptr = TG;
3221 SP->val.ptr = S + 1;
3225 S->val.ptr = TG;
3230 S->val.did = val_did;
3237 pw1->val.ptr = S + 1;
3238 S->val.ptr = TG;
3242 S->val.did = val_did;
3251 S = (pw1->val.ptr)++;
3252 S->val.ptr = TG;
3257 S->val.did = val_did;
3264 S->val.ptr = TG;
3271 SP->val.ptr = S + 1;
3277 pw1->val.ptr = S + 1;
3282 S = pw1->val.ptr;
3290 S = (pw1->val.ptr)++;
3297 S = pw1->val.ptr;
3311 pw1->val.ptr = pw1;
3313 pw2->val.ptr = pw1;
3319 pw1->val.ptr = TG;
3322 pw1->val.ptr = pw1;
3328 pw1->val.ptr = TG;
3331 pw1->val.ptr = pw1;
3338 pw1->val.ptr = pw2->val.ptr = TG;
3341 pw1->val.ptr = pw1;
3347 pw1->val.ptr = pw2->val.ptr = TG;
3350 pw1->val.ptr = pw1;
3356 pw1->val.ptr = TG;
3359 pw1->val.ptr = pw1;
3365 pw1->val.ptr = TG;
3368 pw1->val.ptr = pw1;
3375 pw1->val.ptr = pw2->val.ptr = TG;
3378 pw1->val.ptr = pw1;
3384 pw1->val.ptr = TG;
3387 pw1->val.ptr = pw1;
3395 pw1->val.ptr = S;
3397 S->val.ptr = S;
3407 pw1->val.ptr = S;
3409 pw2->val.ptr = S;
3411 S->val.ptr = S;
3429 pw1->val.ptr = pw2->val.ptr = TG;
3433 pw1->val.ptr = pw1;
3436 pw2->val.ptr = pw1;
3440 pw2->val.all = pw1->val.all;
3448 /* AM, tag, val */
3453 pw1 -> val.all = PP++ -> all;
3463 pw1->val.nint = PP++->nint;
3470 pw1->val.real = PP++->real;
3477 pw1->val.did = PP++->did;
3489 pw1->val.str = PP++->str;
3497 pw1->val.ptr = S;
3504 pw1->val.ptr = S;
3508 S->val.did = val_did;
3514 SP->val.ptr = SP;
3521 SP->val.ptr = pw1;
3523 pw1->val.ptr = pw1;
3530 (--SP)->val.ptr = S;
3533 S->val.ptr = S;
3541 (--SP)->val.ptr = S;
3544 pw1->val.ptr = S;
3546 S->val.ptr = S;
3573 SP->val.ptr = ByteOffsetPlus(S, PP++->offset);
3577 /* tag, val */
3581 SP -> val.all = PP++ -> all;
3591 SP->val.nint = PP++->nint;
3598 SP->val.real = PP++->real;
3605 SP->val.did = PP++->did;
3611 SP->val.str = PP++->str;
3619 SP->val.ptr = S;
3626 SP->val.ptr = S;
3630 S->val.did = val_did;
3640 SP->val.nint = PP++->nint;
3880 A[1].val.nint = i;
3899 i = pw2->val.nint = pw1->val.nint;
3998 pw2->val.nint = tmp1;
4056 SP->val.ptr = B.args;
4058 SP->val.ptr = SP;
4059 A[3].val.ptr = SP;
4062 SP->val.ptr = SP;
4063 A[2].val.ptr = SP;
4068 A[1].val.ptr = B.args;
4090 BAlt(B.args) = (E - 2)->val.nint; /* scheduled alternative */
4091 pw1 = (E - 1)->val.ptr; /* cut the handler */
4093 for (tmp1 = (E - 3)->val.nint; tmp1; --tmp1)
4115 pw2->val.nint = tmp1;
4346 A[++tmp1].val.nint = i; /* add call clock argument */
4357 i = ((pword *)(B.top - 1) - 1)->val.nint;
4384 S = pw1->val.ptr;
4390 S = pw1->val.ptr + 1;
4404 S = pw1->val.ptr;
4431 i = pw1->val.nint; /* i is unsigned! */
4442 if ((word)i < (word) pw1[tmp1].val.nint)
4444 else if ((word)i > (word) pw1[tmp1].val.nint)
4483 pw1 = pw1->val.ptr; /* get the functor */
4505 i = pw1->val.nint;
4507 if ((word) i < pw1->val.nint)
4509 else if ((word) i > (++pw1)->val.nint)
4523 PP = (emu_code) PP->ptr[BigNegative(pw1->val.ptr)?0:1].tag.all;
4534 S = pw1->val.ptr; /* so we can skip In_get_metaAM */
4550 S = pw1->val.ptr; /* so we can skip In_get_metaAM */
4555 pw2->val.all = pw1->val.all; /* store dereferenced value */
4610 pw1->val.ptr = pw2->val.ptr = TG;
4613 pw1->val.ptr = pw1;
4652 pw1->val.ptr = pw2->val.ptr = TG;
4655 pw1->val.ptr = pw1;
4730 pw1->val.ptr = pw1;
4737 pw1->val.ptr = pw1;
4750 pw1->val.ptr = S;
4752 S->val.ptr = S;
4760 pw1->val.ptr = S;
4762 S->val.ptr = S;
4821 pw1 = (E - 1)->val.ptr;
4832 pw1 = (E - 1)->val.ptr;
4864 pw1 = (E - 1)->val.ptr;
4882 pw1->val.ptr = Deterministic ? B.args : BPrev(B.args);
4888 pw1->val.ptr = B.args;
4894 pw1->val.ptr = B.args;
4899 if ((B.top - 1)->frame.args != (E - 1)->val.ptr) {
4906 pw1 = (E - 1)->val.ptr;
4919 pw1 = pw1->val.ptr;
4932 pw1 = pw1->val.ptr;
4939 pw1 = pw1->val.ptr;
4951 pw1 = pw1->val.ptr;
4970 if ((i = DfidDepth->val.nint + 1) > MaxDepth) {
4982 pw1->val.nint = i;
4987 S->val.nint = i;
4991 DfidDepth->val.nint = i;
4995 if ((i = DfidDepth->val.nint + 1) > MaxDepth) {
5009 S->val.nint = i;
5013 DfidDepth->val.nint = i;
5022 S->val.nint = pw1->val.nint;
5026 DfidDepth->val.nint = pw1->val.nint;
5048 if (!IsTag(tmp1,TINT) || (pw1->val.nint != PP++->nint))
5056 if (!IsTag(tmp1,TFLOAT) || (pw1->val.real != PP++->real))
5064 if (!IsTag(tmp1,TDICT) || (pw1->val.did != PP++->did))
5077 pw1 = pw1->val.ptr;
5093 S = pw1->val.ptr;
5107 S = pw1->val.ptr;
5121 pw1 = pw1->val.ptr;
5122 if (pw1->val.did == (PP++)->did)
5207 SP->val.nint = WP;
5213 tmp1 = (E-1)->val.nint; /* saved WP */
5235 pw1 = pw1->val.ptr; /* list element */
5236 pw2 = (pw1++)->val.ptr; /* TSUSP pword */
5259 if (S->val.ptr < GB) {
5263 S->val.ptr = pw1->val.ptr;
5279 SP->val.nint = tmp1;
5296 if (DynEnvDE(E)->tag.kernel == TSUSP) DE = DynEnvDE(E)->val.ptr;
5297 err_code = DynEnvDbgPort(E)->val.nint; /* port */
5335 DynEnvDbgPort(E)->val.nint &= ~LAST_CALL; /* port */
5339 proc = (pri *) DynEnvDbgPri(E)->val.wptr; /* pri */
5340 err_code = DynEnvDbgPort(E)->val.nint; /* port */
5342 DynEnvDbgPort(E)->val.nint |= LAST_CALL;
5348 DBG_INVOC = DynEnvDbgInvoc(E)->val.nint; /* invoc */
5355 scratch_pw.val.did = val_did;
5358 scratch_pw.val.ptr = TG;
5363 TG->val.did = val_did;
5389 Push_Dbg_Frame(pw1, DBG_INVOC, scratch_pw.val, scratch_pw.tag,
5390 tmp1, WP, proc, DynEnvDbgPath(E)->val.did,
5391 DynEnvDbgLine(E)->val.nint,
5392 DynEnvDbgFrom(E)->val.nint,
5393 DynEnvDbgTo(E)->val.nint, val_did)
5494 pw1->val.did = d_.nil; /***/
5506 pw1 = pw1->val.ptr;
5507 val_did = pw1->val.did;
5523 val_did = pw1->val.did;
5529 pw1 = pw1->val.ptr - 1;
5545 if (!IsModule(pw2->val.did)) {
5550 proc = visible_procedure(val_did, pw2->val.did, pw2->tag, err_code);
5594 ( pw2->val.ptr->val.did == d_.cond
5597 ( pw2->val.ptr->val.did == d_.softcut
5622 A[1] = pw2->val.ptr[1]; /* G1 */
5623 A[2] = pw2->val.ptr[2]; /* G2 */
5719 DynEnvDE(e)->val.ptr = DE;
5721 DynEnvDbgPri(E)->val.wptr = (uword *) proc;
5751 pw2[0].val.did = in_dict("call",1+i);
5754 A[1].val.ptr = pw2;
5761 A[1].val.did = val_did;
5766 A[1].val.ptr = pw2;
5768 pw2->val.did = val_did;
5798 pw2 = pw2->val.ptr; /* point to suspension structure */
5804 proc = (pri*) pw2[SUSP_PRI].val.wptr;
5808 pw1 = pw1->val.ptr;
5809 tmp1 = DidArity(pw1->val.did);
5813 pw1 = pw1->val.ptr - 1;
5836 i = pw1->val.nint;
5863 err_code = pw1->val.nint;
5867 A[1].val.nint = -err_code;
5874 get_simple_property(pw1->val.did, EVENT_PROP, &scratch_pw))
5878 proc = (pri*) scratch_pw.val.ptr;
5883 A[1].val.nint = -(EVENT_IGNORED);
5904 pw1->val.did = PriModule(proc);
5918 pw1 = pw1->val.ptr;
5919 val_did = pw1->val.did;
5921 pw1 = pw1->val.ptr - 1;
5991 err_code = (*(PP->func)) (pw1->val, pw1->tag);
6000 pw1->val, pw1->tag,
6001 pw2->val, pw2->tag);
6011 pw1->val, pw1->tag,
6012 pw2->val, pw2->tag,
6013 S->val, S->tag);
6031 pw1->val, pw1->tag,
6032 pw2->val, pw2->tag,
6033 S->val, S->tag,
6034 A[4].val, A[4].tag);
6038 pw1->val, pw1->tag,
6039 pw2->val, pw2->tag,
6040 S->val, S->tag,
6041 A[4].val, A[4].tag,
6042 A[5].val, A[5].tag);
6046 pw1->val, pw1->tag,
6047 pw2->val, pw2->tag,
6048 S->val, S->tag,
6049 A[4].val, A[4].tag,
6050 A[5].val, A[5].tag,
6051 A[6].val, A[6].tag);
6055 pw1->val, pw1->tag,
6056 pw2->val, pw2->tag,
6057 S->val, S->tag,
6058 A[4].val, A[4].tag,
6059 A[5].val, A[5].tag,
6060 A[6].val, A[6].tag,
6061 A[7].val, A[7].tag);
6065 pw1->val, pw1->tag,
6066 pw2->val, pw2->tag,
6067 S->val, S->tag,
6068 A[4].val, A[4].tag,
6069 A[5].val, A[5].tag,
6070 A[6].val, A[6].tag,
6071 A[7].val, A[7].tag,
6072 A[8].val, A[8].tag);
6076 pw1->val, pw1->tag,
6077 pw2->val, pw2->tag,
6078 S->val, S->tag,
6079 A[4].val, A[4].tag,
6080 A[5].val, A[5].tag,
6081 A[6].val, A[6].tag,
6082 A[7].val, A[7].tag,
6083 A[8].val, A[8].tag,
6084 A[9].val, A[9].tag);
6088 pw1->val, pw1->tag,
6089 pw2->val, pw2->tag,
6090 S->val, S->tag,
6091 A[4].val, A[4].tag,
6092 A[5].val, A[5].tag,
6093 A[6].val, A[6].tag,
6094 A[7].val, A[7].tag,
6095 A[8].val, A[8].tag,
6096 A[9].val, A[9].tag,
6097 A[10].val, A[10].tag);
6101 pw1->val, pw1->tag,
6102 pw2->val, pw2->tag,
6103 S->val, S->tag,
6104 A[4].val, A[4].tag,
6105 A[5].val, A[5].tag,
6106 A[6].val, A[6].tag,
6107 A[7].val, A[7].tag,
6108 A[8].val, A[8].tag,
6109 A[9].val, A[9].tag,
6110 A[10].val, A[10].tag,
6111 A[11].val, A[11].tag);
6115 pw1->val, pw1->tag,
6116 pw2->val, pw2->tag,
6117 S->val, S->tag,
6118 A[4].val, A[4].tag,
6119 A[5].val, A[5].tag,
6120 A[6].val, A[6].tag,
6121 A[7].val, A[7].tag,
6122 A[8].val, A[8].tag,
6123 A[9].val, A[9].tag,
6124 A[10].val, A[10].tag,
6125 A[11].val, A[11].tag,
6126 A[12].val, A[12].tag);
6130 pw1->val, pw1->tag,
6131 pw2->val, pw2->tag,
6132 S->val, S->tag,
6133 A[4].val, A[4].tag,
6134 A[5].val, A[5].tag,
6135 A[6].val, A[6].tag,
6136 A[7].val, A[7].tag,
6137 A[8].val, A[8].tag,
6138 A[9].val, A[9].tag,
6139 A[10].val, A[10].tag,
6140 A[11].val, A[11].tag,
6141 A[12].val, A[12].tag,
6142 A[13].val, A[13].tag);
6146 pw1->val, pw1->tag,
6147 pw2->val, pw2->tag,
6148 S->val, S->tag,
6149 A[4].val, A[4].tag,
6150 A[5].val, A[5].tag,
6151 A[6].val, A[6].tag,
6152 A[7].val, A[7].tag,
6153 A[8].val, A[8].tag,
6154 A[9].val, A[9].tag,
6155 A[10].val, A[10].tag,
6156 A[11].val, A[11].tag,
6157 A[12].val, A[12].tag,
6158 A[13].val, A[13].tag,
6159 A[14].val, A[14].tag);
6163 pw1->val, pw1->tag,
6164 pw2->val, pw2->tag,
6165 S->val, S->tag,
6166 A[4].val, A[4].tag,
6167 A[5].val, A[5].tag,
6168 A[6].val, A[6].tag,
6169 A[7].val, A[7].tag,
6170 A[8].val, A[8].tag,
6171 A[9].val, A[9].tag,
6172 A[10].val, A[10].tag,
6173 A[11].val, A[11].tag,
6174 A[12].val, A[12].tag,
6175 A[13].val, A[13].tag,
6176 A[14].val, A[14].tag,
6177 A[15].val, A[15].tag);
6181 pw1->val, pw1->tag,
6182 pw2->val, pw2->tag,
6183 S->val, S->tag,
6184 A[4].val, A[4].tag,
6185 A[5].val, A[5].tag,
6186 A[6].val, A[6].tag,
6187 A[7].val, A[7].tag,
6188 A[8].val, A[8].tag,
6189 A[9].val, A[9].tag,
6190 A[10].val, A[10].tag,
6191 A[11].val, A[11].tag,
6192 A[12].val, A[12].tag,
6193 A[13].val, A[13].tag,
6194 A[14].val, A[14].tag,
6195 A[15].val, A[15].tag,
6196 A[16].val, A[16].tag);
6300 pw1 = A[1].val.ptr;
6331 TG->val.did = (_did);\
6342 TG->val.nint = _pp[-(_i)].nint; TG->tag.kernel=TINT;\
6353 (_i) = DidArity(_pgoal[0].val.did);\
6393 err_code = PP[1].val.nint; /* port */
6413 Push_Dbg_Frame(pw1, NINVOC, scratch_pw.val, scratch_pw.tag,
6446 pw1 = DGoal(TD).val.ptr;
6521 S->val.did = val_did;
6564 S->val.did = val_did;
6574 A[1].val.ptr = PP[1].ptr;
6604 create_heapterm(&scratch_pw, pw3->val, pw3->tag);
6631 if (SimpleEq(tmp1, pw3->val, pw2->val))
6635 if (ec_unify_(pw3->val, pw3->tag, pw2->val, pw2->tag, &MU) == PSUCCEED)
6874 A[0].val.nint = err_code;
6954 else if (!IsModule(pw2->val.did))
6957 val_did = pw1->val.ptr->val.did;
6959 val_did = pw1->val.did;
6971 proc = visible_procedure(val_did, pw2->val.did, pw2->tag, 0);
6975 if (proc->module_ref == pw2->val.did)
7001 pw1->val.nint = -err_code;
7012 err_code = PP->arg->val.nint;
7026 pw2 = pw2->val.ptr;
7027 if (pw1->val.nint < 1 || pw1->val.nint > DidArity(pw2->val.did)) {
7032 pw2 += pw1->val.nint;
7051 Set_Bip_Error(- pw1->val.nint);
7169 if (!IsTag(tmp1, TSUSP) || SuspDead(pw1->val.ptr)) {
7185 if (IsTag(tmp1, THANDLE) && IsTag(pw1->val.ptr->tag.kernel, TEXTERN)) {
7187 if (ExternalClass(pw1->val.ptr) != &heap_event_tid) {
7200 pw1 = pw1->val.ptr + 1;
7212 pw1 = pw1->val.ptr + 1;
7306 if (pw1->val.nint Op pw2->val.nint)\
7311 if ((double)pw1->val.nint Op Dbl(pw2->val))\
7318 if (Dbl(pw1->val) Op (double)pw2->val.nint)\
7323 if (Dbl(pw1->val) Op Dbl(pw2->val))\
7331 err_code = (word) arith_compare(pw1->val, pw1->tag,\
7332 pw2->val, pw2->tag, &relation);\
7361 register word n1 = pw1->val.nint;\
7362 register word n2 = pw2->val.nint;\
7369 PP[-2].arg->val.nint = tmp1;\
7374 dbl_res = (double)pw1->val.nint Op Dbl(pw2->val);\
7380 dbl_res = Dbl(pw1->val) Op (double)pw2->val.nint;\
7384 dbl_res = Dbl(pw1->val) Op Dbl(pw2->val);\
7403 PP[-2].arg->val.nint = pw1->val.nint Op pw2->val.nint;\
7420 if ((tmp1 = -pw1->val.nint) == MIN_S_WORD) {
7429 Make_Double(PP[-2].arg, -Dbl(pw1->val));
7436 err_code = un_arith_op(pw1->val, pw1->tag, PP[-2].arg, err_code, TINT);
7449 register word n1 = pw1->val.nint;
7460 dbl_res = Dbl(pw1->val) + (double)PP[-3].nint;
7476 err_code = bin_arith_op(pw1->val, pw1->tag, pw2->val, pw2->tag, PP[-2].arg, err_code);
7502 tmp1 = pw1->val.nint;
7504 tmp1 *= pw2->val.nint;
7506 tmp1/pw1->val.nint != pw2->val.nint) /* for sure */
7516 dbl_res = (double)pw1->val.nint * Dbl(pw2->val);
7522 dbl_res = Dbl(pw1->val) * (double)pw2->val.nint;
7526 dbl_res = Dbl(pw1->val) * Dbl(pw2->val);
7553 dbl_res = (double)pw1->val.nint / (double)pw2->val.nint;
7558 dbl_res = Dbl(pw1->val) / (double)pw2->val.nint;
7565 dbl_res = (double)pw1->val.nint / Dbl(pw2->val);
7569 dbl_res = Dbl(pw1->val) / Dbl(pw2->val);
7588 if (pw2->val.nint == 0)
7593 if (pw1->val.nint == MIN_S_WORD && pw2->val.nint == -1)
7598 Make_Integer(PP[-2].arg, pw1->val.nint / pw2->val.nint);
7616 if (pw2->val.nint == 0)
7621 PP[-2].arg->val.nint =
7624 (/* pw1->val.nint == MIN_S_WORD && */ pw2->val.nint == -1) ? 0 :
7627 pw1->val.nint % pw2->val.nint;
7646 if (pw2->val.nint == 0)
7651 if (pw1->val.nint == MIN_S_WORD && pw2->val.nint == -1)
7656 tmp1 = pw1->val.nint / pw2->val.nint;
7658 if (((pw1->val.nint ^ pw2->val.nint) < 0) && (pw1->val.nint % pw2->val.nint))
7678 if (pw2->val.nint == 0) {
7681 tmp1 = pw1->val.nint;
7688 } else if (/* pw1->val.nint == MIN_S_WORD && */ pw2->val.nint == -1) {
7693 tmp1 = pw1->val.nint % pw2->val.nint;
7695 if (tmp1 && (pw1->val.nint ^ pw2->val.nint) < 0)
7696 tmp1 += pw2->val.nint;
7721 Make_Integer(PP[-2].arg, ~ pw1->val.nint);
7751 Make_Integer(PP[-2].arg, DidArity(pw1->val.ptr->val.did));
7779 pw1 = pw1->val.ptr;
7780 i = DidArity(pw1->val.did);
7784 pw1 = pw1->val.ptr - 1;
7810 tmp1 = pw2->val.nint;
7831 pw2 = pw2->val.ptr;
7836 tmp1 = pw2->val.nint;
7840 pw2 = scratch_pw.val.ptr + 1; /* cdr */
7888 val_did = pw1->val.ptr->val.did;
7890 val_did = pw1->val.did;
7906 procb = (pri *) pw3->val.wptr;
7907 pw2[SUSP_MODULE].val.did = procb->module_ref;
7912 if(!IsModule(pw3->val.did)) {
7918 procb = visible_procedure(val_did, pw3->val.did, pw3->tag, 0);
7936 tmp1 = pw3->val.nint;
7976 pw1 = pw1->val.ptr->val.ptr;
7980 pw1->val.ptr = pw2;
7999 err_code = ec_compare_terms(pw1->val, pw1->tag, pw2->val, pw2->tag);
8001 PP[0].arg->val.did = err_code<0 ? d_.inf0 : err_code>0 ? d_.sup0 : d_.unify0;
8010 if (IsTag(tmp1, TCOMP) && pw1->val.ptr->val.did == d_.colon) {
8013 TG[0].val.did = d_.colon;