[lworld+vector] RFR: Merge lworld [v2]

Jatin Bhateja jbhateja at openjdk.org
Mon Jun 26 10:53:13 UTC 2023


On Mon, 26 Jun 2023 01:38:42 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> OK, I took another look at the changes in deoptimization.cpp, and the solution makes sense to me. Thanks!
> 
> BTW, do you think the condition `EnableVectorSupport` applied on the vector and vector_payload_mf classes in `Deoptimize::reasign_fields()` [1] and `Deoptimize::realloc_objects()` [2] can be removed now? Before, we only have the VectorBox cases which depends on this flag, but now, the default implementation also creates vector or scalar ops.
> 
> [1] https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/runtime/deoptimization.cpp#L1548 [2] https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/runtime/deoptimization.cpp#L1144

Thanks for suggesting this, ideally we can completely do away with special handling for vector box allocations since general case of instance allocations should suffice,  we are doing two additional things in vector allocations currently

1.  Larval bit setting in mark work of newly allocated oop.
2.  Explicit payload allocation and payload field initialization handling[1] for both flattened and non-flattened case,  but vector payloads always flatten with default InlineFieldMaxFlatSize limit. 

May be after the merge we can cleanup explicit allocation handling for vector boxes since re-assignment is already based on existing infra.

[1] https://github.com/jatin-bhateja/valhalla/blob/merge_lworld2/src/hotspot/share/prims/vectorSupport.cpp#L324

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/866#discussion_r1241971007



More information about the valhalla-dev mailing list