Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: comp.unix.wizards Subject: Re: brk's zero-fill behavior on VAXen (useful undefined checks) Message-ID: <7315@utzoo.UUCP> Date: Tue, 11-Nov-86 18:44:09 EST Article-I.D.: utzoo.7315 Posted: Tue Nov 11 18:44:09 1986 Date-Received: Tue, 11-Nov-86 18:44:09 EST References: <7208@elsie.UUCP> <5142@brl-smoke.ARPA> <2447@hcr.UUCP>, <363@yabbie.rmit.oz> Organization: U of Toronto Zoology Lines: 12 > ... When a new() is done, a unique key is tacked on top of the object > allocated, that must match the key in the pointer referencing it, otherwise > a "pointer-invalid" run-time error occurs. > > On the cyber, this is easy, since there are so many bits available in a word. Yet another similar trick: in the Algol 68 implementation for the Cyber, from CDC Netherlands I think it was, the garbage collector uses the extra bits in the pointers as mark bits, thereby using zero extra storage! -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,decvax,pyramid}!utzoo!henry