RFR(S): 8186439: [MVT] ClassFileParser should ignore JVM_ACC_VALUE for class file version < 53.1

Tobias Hartmann tobias.hartmann at oracle.com
Mon Aug 21 08:57:32 UTC 2017


Hi,

thanks for looking at this!

On 21.08.2017 10:51, David Simms wrote:
> src/share/vm/oops/instanceKlass.hpp: whitespace changes, from 2 to 4 spaces (style guide says 2) ? mistake, forgot to 
> revert ?

Actually, my change removes these excess whitespaces:
http://cr.openjdk.java.net/~thartmann/8186439/webrev.00/src/share/vm/oops/instanceKlass.hpp.patch

> Minor point, "supports_value_types()" and with "EnableValhalla || EnableMVT" ?

No, that does not work because even without EnableValhalla or EnableMVT we still load java.lang.__Value.

We should probably add an assert/guarantee once we got rid of the __Value references.

Thanks,
Tobias

> On 21/08/17 10:22, Tobias Hartmann wrote:
>> Hi,
>>
>> when debugging Roland's fix for 8185265, I noticed that some JCK tests failed because we were treating a klass with 
>> JVM_ACC_NATIVE (0x100) as value klass. The JVM spec says:
>> "All bits of the access_flags item not assigned in Table 4.1-A are reserved for future use. They should be set to zero 
>> in generated class files and should be ignored by Java Virtual Machine implementations." [1]
>>
>> Therefore, the JVM_ACC_VALUE (== JVM_ACC_NATIVE) flag should be ignored for class file versions < 53.1:
>> http://cr.openjdk.java.net/~thartmann/8186439/webrev.00/
>>
>> Thanks,
>> Tobias
>>
>> [1] https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html
> 
> 


More information about the valhalla-dev mailing list