RFR JDK-8207197: [lworld] VarHandle array support for value types (original) (raw)

David Simms david.simms at oracle.com
Tue Jul 17 11🔞14 UTC 2018


Looks good, some minor suggestions (don't need follow up RFR)...

unsafe.cpp:315 :324 :360 :369

    Suggest moving the "index" calculation into a new method in valueArrayKlass.hpp so any size related calculations are encapsulated in the same place. ("jint ValueArrayKlass::index_at_offset(jlong)" ?)

unsafe.cpp:319 :364

    Add a final condition "else { ShouldNotReachHere(); }" in the ASSERT block, just in case

ArrayElementVarHandleTest.java

    Run this tests with array flattening explicitly disabled via "-XX:-ValueArrayFlatten", and explicitly enabled "-XX:+ValueArrayFlatten" (i.e. 2 jteg @run lines)

Good work, cheers /D

On 14/07/18 07:40, mandy chung wrote:

This adds the VarHandle support for array value element and extends Unsafe::arrayBaseOffset and arrayIndexScale to return the base and scale for a value type array.  I add some basic test for value array access via VarHandle but will need to add more tests to verify as a follow-up.

http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8207197/webrev.00/index.html

Mandy



More information about the valhalla-dev mailing list