RFR: 8263125: During deoptimization vectors should reassign scalarized payload after all objects are reallocated. [v2]

Vladimir Kozlov kvn at openjdk.java.net
Fri Mar 12 17:03:07 UTC 2021


On Fri, 12 Mar 2021 11:30:18 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

> > And can't the payload for deoptimization be represented as a scalarized array in that case too? Maybe not because of the special handling a VectorMask requires.
> 
> Vector is special in a very similar way: debug info contains only vector value location. Custom logic is needed to turn it into scalarized array representation. And then there's still a step required to allocate the corresponding typed vector box which wraps the payload.
> 
> I'm not saying it is not possible to represent current on-heap shape solely in debug info, but it would require significant refactorings/enhancements of existing machinery. And would complicate possible changes of the on-heap vector/mask shape. It is not something "cut in stone" and can evolve over time.

Yes, I said it too. It can be done but code would be much larger and more complicated.
And, as Vladimir I. correctly pointed, VectorAPI is new code which can be evolved. To have specialized code for it makes it easy to do experiments.

Thank you @iwanowww and @reinrich for reviews.

-------------

PR: https://git.openjdk.java.net/jdk/pull/2924


More information about the hotspot-compiler-dev mailing list