Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!microsoft!jimad From: jimad@microsoft.UUCP (Jim ADCOCK) Newsgroups: comp.object Subject: Re: C++ and garbage collection Message-ID: <57716@microsoft.UUCP> Date: 25 Sep 90 18:15:21 GMT References: <2030@aber-cs.UUCP> Reply-To: jimad@microsoft.UUCP (Jim ADCOCK) Organization: Microsoft Corp., Redmond WA Lines: 17 In article pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: |"Just to be clearer": _if_ Jim Adcock was referring to that class of |machines and operating systems where each memory location has 4096 |(2^(32-20)) equivalent addresses, one can conventionally use one of |these synonyms to indicate a heap pointer. So for example non-heap |pointers may systematically use the 0th synonym, and heap pointers would |use the 2048th. Hints of tagging... Nah, because such address synonyms only apply to one obsolescent member of the family. Making use of such address puns is the moral equivalent of people who play with the high bits in a 32 bit linear pointer -- because they "know" their particular CPU board only implements 24 address lines. In any case, making explicit use of address synonyms doesn't make much progress on the underlying problem, which is that segment and offset parts of a pointer are commonly stored separately, such that a "conservative" approach requires the consideration of n^2 segment:offset word-pairs as "possible addresses of objects to be kept alive."