In article <email@example.com>, Jacques GARRIGUE
> Remark that being able to acceed a pointer is not anecdotical. For
> instance, being able to compare physically pointers with < or > means
> restrictions on the garbage collector, that should keep these
> inequalities when moving values around. Most GC's don't.
I know of one important instance where comparing pointers with < and > is
important --- 'genetic order' (birth order) comparisons. In addition to
having a stable sorting order for things like merging ordered lists, genetic
orderings can have other uses. Eiichi Goto of the U. of Tokyo studied this
in the early 1970's. There are a number of GC's that preserve birth order
by squeezing out the garbage even when they relocate objects.
Thus, comparisons of this sort do not require (stable) object id's.