consolidated VM notes for primitive classes

Peter Levart peter.levart at gmail.com
Tue Apr 27 14:37:59 UTC 2021


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


More information about the valhalla-spec-observers mailing list