Lines Matching refs:val

120 #define HeaptermSize(pw)	HeaptermHeader(pw)->val.nint
185 dest->val.all = v.all;\
211 arg_pw->val.ptr = dest;
214 dest->val.ptr = dest; /* make a new simple variable */
219 dest->val.ptr = v.ptr;
231 dest->val.ptr = top;
241 arg_pw->val.ptr = top;
250 dest->val.ptr = dest;
255 dest->val.ptr = top; /* reference to copied variable */
265 arg_pw->val.ptr = top;
275 dest->val.ptr = dest; /* create a self reference */
287 dest->val = arg_pw->val; /* was already copied */
294 dest->val.ptr = top;
297 dest[SUSP_LD].val.ptr = (pword *) 0;
300 dest[SUSP_PRI].val.all = arg_pw[SUSP_PRI].val.all;
305 arg_pw->val.ptr = dest;
323 dest->val = arg_pw->val; /* was already copied */
331 dest->val.ptr = top; /* make the copy */
332 *(*handle_slot)++ = dest->val; /* Enter into handle table */
337 arg_pw->val.ptr = top;
351 dest->val.all = v.all; /* the simple types */
370 dest->val = arg_pw->val; /* was already copied */
376 dest->val.ptr = top; /* make the copy */
387 arg_pw->val.ptr = dest->val.ptr;
403 dest->val = arg_pw->val; /* cons cell already copied */
410 dest->val.ptr = top; /* allocate the cons cell copy */
415 dest->val.ptr = arg_pw->val.ptr; /* use forwarded car */
418 arg_pw->val.ptr = dest; /* update forwarding pointer, no need to trail */
437 v.all = pw->val.all;
441 arg_pw->val.ptr = top;
444 dest->val.ptr = top; /* allocate the cons cell copy */
458 dest->val.ptr = top; /* allocate the cons cell copy */
475 dest->val = arg_pw->val; /* was already copied */
479 dest->val.ptr = top; /* begin the copy */
481 fdid = arg_pw->val.did;
485 dest->val.did = fdid;
492 arg_pw->val.ptr = dest;
521 Copy_Term_To_Heap(pw->val, pw->tag, top, handle_slot, dest);
524 v.all = pw->val.all;
665 arity = DidArity(arg_pw->val.did);
689 size = _copy_size(pw->val, pw->tag, size, num_handles, perr);
694 v.all = pw->val.all;
718 if (start <= from->val.ptr && from->val.ptr < end) {
719 to->val.str = from->val.str + offset;
735 to[SUSP_LD].val.ptr = LD;
737 to[SUSP_PRI].val.all = from[SUSP_PRI].val.all;
746 to[SUSP_LD].val.ptr = (pword *) 0;
748 to[SUSP_PRI].val.all = from[SUSP_PRI].val.all;
799 pword *pw = root->val.ptr;
804 * information that root->val.ptr points to a complete heap-copy block
818 Assert(start <= pw->val.ptr && pw->val.ptr < end);
830 Set_Did_Stability(pw->val.did, DICT_PERMANENT);
833 else if (IsString(pw->tag) && StringInDictionary(pw->val))
835 dident a = check_did_n(StringStart(pw->val), StringLength(pw->val), 0);
875 dest->val.ptr = dest;
878 v.ptr->val.ptr = dest;
883 dest->val = v.ptr->val; /* was already copied */
892 dest->val.ptr = TG;
895 v.ptr->val.ptr = TG;
899 dest->val.ptr = dest;
915 arg[0].val.ptr = v.ptr; /* pointer to metaterm */
917 v.ptr->val.ptr =
918 dest->val.ptr =
919 arg[1].val.ptr = &arg[1]; /* free variable */
923 arg[2].val.ptr = arg; /* list cell holding pair */
926 meta->val.ptr = &arg[2];
931 v.ptr->val.ptr =
932 dest->val.ptr = dest; /* free variable */
944 dest->val.ptr = v.ptr;
949 dest->val.ptr = TG;
953 arg[SUSP_LD].val.ptr = LD;
955 arg[SUSP_PRI].val.all = v.ptr[SUSP_PRI].val.all;
960 v.ptr->val.ptr = arg;
971 dest->val.ptr = v.ptr->val.ptr;
982 dest->val.ptr = TG;
992 dest->val.ptr = TG;
995 fdid = arg_pw++->val.did;
1000 arg->val.did = fdid;
1014 dest->val.ptr = v.ptr;
1020 dest->val.all = v.all;
1032 copied |= _copy_term(pw->val, pw->tag, arg, meta, marked_vars_only);
1037 dest->val.all = v.all; /* share the original */
1054 mark_dids_from_pwords(root->val.ptr,
1055 root->val.ptr + HeaptermSize(root->val.ptr)/sizeof(pword));
1081 handle_slot = HeaptermHandleTable(root->val.ptr);
1083 for( count = 0; count < HeaptermNumHandles(root->val.ptr);
1095 hg_free_size((generic_ptr) HeaptermHeader(root->val.ptr),
1096 HeaptermSize(root->val.ptr) +
1097 HeaptermNumHandles(root->val.ptr) * sizeof(value) +
1187 root->val.ptr = pw;
1215 result->val.ptr = result; /* if free var on heap */
1217 result->val.all = root->val.all;
1220 pword *orig = root->val.ptr;
1224 result->val.ptr = dest = TG; /* push complex term */
1232 result->val.all = root->val.all;
1245 root_new->val.ptr = root_new;
1247 root_new->val.all = root_old->val.all;
1267 Return_Unify_Pw(vc, tc, result.val, result.tag)
1285 Request_Unify_Pw(vc, tc, result.val, result.tag)
1288 Return_Unify_Pw(vl, tl, list.val, list.tag)
1295 _mark_variables_trailed(value val, /* a dereferenced argument */
1305 if (val.ptr->tag.kernel & MARK)
1308 { Trail_(val.ptr) }
1310 { Trail_Tag(val.ptr) }
1311 val.ptr->tag.kernel |= MARK;
1320 arity = DidArity(val.ptr->val.did);
1321 val.ptr++;
1328 arg_i = val.ptr++;
1330 _mark_variables_trailed(arg_i->val,arg_i->tag);
1332 arg_i = val.ptr; /* tail recursion */
1334 val.all = arg_i->val.all;
1356 result.val = v;
1361 Request_Unify_Pw(vc, tc, result.val, result.tag)
1364 Return_Unify_Pw(vl, tl, list.val, list.tag)
1383 size = HeaptermSize(root.val.ptr);