On Apr 8, 2019, at 3:44 PM, John Rose <john.r.r...@oracle.com> wrote: > > It also shows that, if we pick a third term like > "heap", it only applies to regular classes, as an > antonym for "inline", and to regular objects in > the same way.
P.S. In this example, a heap object is not one which is stored in the heap, but rather which is embodied in its own heap allocated block, with identity. Inline objects can be inlined into the heap, but they are still inline, no matter where they end up. An inline object buffered in its own heap block is not a heap object, because its value is independent of that particular block; it can be moved anywhere without losing any part of its value. There's nothing too special about the word "heap". It's just doing the job of marking a class or object for which the placement in the heap, with its own identity, is a key part of the definition of the object's value. So, “identity object”, “identity class” would be just as correct, and maybe less confusing. Or "top-level object"? Or "always-indirect object"? "Faraway object"? What we had before was "reference object", where "reference" as a noun means one thing, and as an adjective means something related but subtly different.