Lines Matching defs:ref

2142 #define GlobalRef(ref)		((ref) < TG && (ref) >= TG_ORIG)
2143 #define LocalRef(ref) ((ref) < SP_ORIG && (ref) >= SP)
2144 #define TrailRef(ref) ((pword**)(ref) < TT_ORIG && (pword**)(ref) >= TT)
2145 #define MachineRef(ref) ((word*)(&ec_) <= (word*)(ref) && (word*)(ref) < (word*)(&ec_ + 1))
2151 check_pword(pword *ref)
2155 if (!(GlobalRef(ref) || LocalRef(ref)
2156 || TrailRef(ref) || address_in_heap(&global_heap, ref)
2157 || MachineRef(ref)))
2160 switch (TagType(ref->tag))
2163 if (!(GlobalRef(ref->val.ptr) || address_in_heap(&global_heap, ref->val.ptr)))
2165 return check_pword(ref->val.ptr) && check_pword(ref->val.ptr+1);
2168 ref = ref->val.ptr;
2169 if (!(GlobalRef(ref) || address_in_heap(&global_heap, ref->val.ptr)))
2171 if (bitfield_did((word) DidBitField(ref->val.did)) != ref->val.did)
2173 arity = DidArity(ref->val.did);
2174 for (ref++; arity; arity--, ref++)
2175 if (!check_pword(ref))
2185 if (!(GlobalRef(ref->val.ptr) || address_in_heap(&global_heap, ref->val.ptr)))
2187 return TagType(ref->val.ptr->tag) == TBUFFER;
2190 if (!(GlobalRef(ref->val.ptr) || address_in_heap(&global_heap, ref->val.ptr)))
2192 return TagType(ref->val.ptr->tag) == TBIG;
2195 ref = ref->val.ptr;
2196 if (!GlobalRef(ref))
2198 return TagType(ref->tag) == TDE &&
2199 (ref->val.ptr == 0 || GlobalRef(ref->val.ptr));
2209 return bitfield_did((word) DidBitField(ref->val.did)) == ref->val.did;
2212 if (ref->val.ptr != ref)
2213 return check_pword(ref->val.ptr);
2217 if (ref->val.ptr != ref)
2218 return check_pword(ref->val.ptr);
2219 return (IsNamed(ref->tag.kernel) &&
2220 address_in_heap(&global_heap, (pword *) TagDid(ref->tag.kernel)));
2223 if (ref->val.ptr != ref)
2224 return check_pword(ref->val.ptr);
2225 return check_pword(ref->val.ptr + 1);