[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: opaque type proposal
Date: Sat, 4 Jun 88 00:20:23 edt
From: Juan Loaiza <jrl@vx.lcs.mit.edu>
You still need the length check in order to make sure that the slot containing
the ``tag'' object actually exists before trying to fetch its value.
Pavel
Think again about the trick I mentioned. It is a dirty, underhanded,
shameful, slimy trick; but I think it works. If a token for a type T
is only ever present in the N'th slot of an object of type T, then
looking at the N'th slot of any other object will never get you that
token. It does not matter how many slots the other object has. If it
has less than N slots you, will get a random slot out of another
object, but never the N'th slot (assuming no objects have zero
length).
For our young listeners out there, please don't try this trick at home.
Some care is needed near the end of memory, to make sure that the start of
the last object is as far from the end of the legitimate address space as
the greatest distance of any tag from the origin of its object. Ugh,
bletch. Also, having any kind of "raw array" representation could screw
things up. Otherwise, it's a great, wonderful, slimy crock.
Congratulations.
--Guy