RFR 8238192: Reimplement MemoryAddress memory access handles on top of var handle combinators
Jorn Vernee
jorn.vernee at oracle.com
Fri Jan 31 12:12:31 UTC 2020
Hi,
This looks good overall, but when looking at the impl of
Utils::longToAddress, I think MemoryAddress.ofLong should just be made
to return MemoryAddress.NULL if the passed value is '0'.
Jorn
On 29/01/2020 21:37, Maurizio Cimadamore wrote:
> Hi,
> this is another use case for VarHandle combinators - we have added
> support for VarHandles whose carrier is a MemoryAddress - but the way
> we did this was to spin dedicated var handle classes for this. Since
> we now have the ability to adapt VarHandle we no longer need to spin
> dedicated code, so we can revert much of the code and implement
> MemoryAddress-bearing VarHandles as adapters, on top.
>
> Webrev:
>
> http://cr.openjdk.java.net/~mcimadamore/panama/8238192/
>
> P.S.
> I couldn't quite simplify the code as much as I'd have liked - because
> we support another kind of combinators in the MemoryHandles class
> which take apart an existing memory access handle and "repackage it"
> with different coordinates. These combinators will be eventually
> superseded by the official VarHandle combinators, so they will go away
> in the long term - but for now there is a concern that removing those
> combinators might be too soon (given that performances of an adapter
> using MemoryAddress::addOffset will be worse than what we have with
> MemoryHandles.withOffset).
>
> Maurizio
>
More information about the panama-dev
mailing list