RFR: 8263125: During deoptimization vectors should reassign scalarized payload after all objects are reallocated. [v2]
Vladimir Kozlov
kvn at openjdk.java.net
Wed Mar 10 20:08:24 UTC 2021
> Currently during deoptimization Vector's `payload` field values are restored during Vector reallocation:
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/prims/vectorSupport.cpp#L155
>
> But for scalar-replaced values this is not correct because payload box object could be re-allocated after allocation of this vector. Scalar-replaced `payload` should be restored during regular fields reassignment (`Deoptimization::reassign_fields()` change).
>
> I renamed incorrect `eliminate_*` names for methods which restore/reallocate objects and locks.
>
> I added checks for EliminateAutoBox and EnableVectorAggressiveReboxing optimizations which can replace allocations with scalar objects independent from Escape Analysis.
>
> I added prints for unexpected StackValue values (stackValue.cpp) and for Vector debug info location type (location.cpp).
Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
Update Copyright year
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/2924/files
- new: https://git.openjdk.java.net/jdk/pull/2924/files/3fcd2738..2eb0b82d
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2924&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2924&range=00-01
Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/2924.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2924/head:pull/2924
PR: https://git.openjdk.java.net/jdk/pull/2924
More information about the hotspot-dev
mailing list