On 4/27/21 4:27 PM, Peter Levart wrote:
On 4/27/21 4:17 PM, Peter Levart wrote:
Hi,
I just noticed the following statement in the presented document:
> If a primitive object is composed of a combination of scalars and
references to identity objects, the problem is less hopeless, though
still complicated. A primitive object becomes unreachable (in the
modified definition of the previous paragraph) if and only if at
least one of its component identity object references becomes
unreachable.
If this did see an implementation in the VM, we would essentially get
muti-referent Ephemeron(s) out of it. Not very easy to implement though.
Sorry, this is not correct. The rules for Ephemeron(s) are different.
If primitive object became unreachable when all of its component
identity object references became unreachable, then we would get
Ephemeron. The rules in the document (at least one) are easier to
implement.
And neither is that. I had to look back at the specification. Ephemeron
refers to a pair of referents, but they are not equivalent. The
reachability of the 1st referent governs the reachability of the 2nd.
Sorry for these inappropriate comments.
Peter
Regards, Peter
On 4/21/21 8:51 AM, John Rose wrote:
Brian and I hammered out a document this week that
captures what we think is emerging as our shared
understanding of how adapt the JVM to support
primitive classes.
It is still white-hot, not even off the press, but I think
it is worth looking it even in its unfinished state.
https://github.com/openjdk/valhalla-docs/blob/main/site/design-notes/state-of-valhalla/03-vm-model.md
<https://github.com/openjdk/valhalla-docs/blob/main/site/design-notes/state-of-valhalla/03-vm-model.md>
That is the JVM side, only. Most of it is already
prototyped in HotSpot, some is not.
I’ll let Brian speak for the valhalla-doc repository
as a whole, but I wanted to get this out there for
tomorrow’s meeting.
— John