[lworld] setAccessible change and VarHandle test update

mandy chung mandy.chung at oracle.com
Tue Mar 6 23:40:57 UTC 2018


Paul, I have updated VarHandleTestAccess* tests for value class. UOE is 
thrown when it attempts to set the value instance field via VarHandle. 
OTOH the exception message is empty and I have created JDK-8199149 to 
improve the exception message e.g. indicating it's a value class. Any 
other tests should be updated? This patch also updates the following: - 
Constructor::newInstance throws IAE on value class. Field::set* already 
throws IAE in lworld branch. - Constructor::setAccessible(true) throws 
IOE on value class. - Field::setAccessible(true) throws IOE on value 
instance fields and static final fields. - similarly trySetAccessible() 
returns false for the above cases. Value class is new and this is a good 
opportunity to enforce final is final on value classes. So setAccessible 
is not supported on static final and instance fields on value types.I 
disable verification and make the tests to run in -Xint temporarily 
until the lworld support is making further progress. Webrev: 
http://cr.openjdk.java.net/~mchung/valhalla/webrevs/lworld-reflection-varhandles/ 
Thanks Mandy



More information about the valhalla-dev mailing list