RFR(XS): 8183233: [MVT] "unexpected value type klass" assert in ValueTypeNode::is_loaded()

Tobias Hartmann tobias.hartmann at oracle.com
Wed Jul 5 16:47:08 UTC 2017


Hi,

here's the new fix:
http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.28/

I had to compare the name instead of the Klass because SystemDictionary::___Value_klass() is not available. If value types are disabled, CompileTheWorld now simply skips the methods:
 CompileTheWorld (18361) : java/lang/__Value
 CompileTheWorld (18361) : Skipping method: java.lang.__Value.<init>()V
 CompileTheWorld (18361) : Skipping method: java.lang.__Value.equals(Ljava/lang/Object;)Z
 CompileTheWorld (18361) : Skipping method: java.lang.__Value.toString()Ljava/lang/String;
 CompileTheWorld (18361) : Skipping method: java.lang.__Value.hashCode()I
 CompileTheWorld (18361) : Skipping method: java.lang.__Value.getClass()Ljava/lang/Class;

Best regards,
Tobias

On 05.07.2017 16:23, Tobias Hartmann wrote:
> Hi Karen,
> 
> On 05.07.2017 15:46, Karen Kinnear wrote:
>> It seems wrong to me to enable MVT if CompileTheWorld is true.
>> It makes more sense to me to explicitly disable compiling java.lang.__Value if !EnableMVT && !EnableValhalla.
> 
> Yes, that's correct but I was concerned that there are other points of friction where we may encounter __Value although MVT/Valhalla is not enabled. For example, in Class::isValueClass() we reference __Value [1]. Looking at it again, it shouldn't be a problem (it actually is the same with -Xcomp).
> 
> That said, I agree that we should probably just disable compilation of __Value if CompileTheWorld is true. I'll prepare a new fix.
> 
> Thanks,
> Tobias
> 
> [1] http://cr.openjdk.java.net/~mchung/valhalla/webrevs/8181425/revised-fix/jdk/src/java.base/share/classes/java/lang/Class.java.sdiff.html
> 
>>> On Jul 5, 2017, at 9:18 AM, Tobias Hartmann <tobias.hartmann at oracle.com> wrote:
>>>
>>> Thanks Roland!
>>>
>>> (I'll look at your changes as soon as possible, just very busy with other stuff atm).
>>>
>>> Best regards,
>>> Tobias
>>>
>>> On 05.07.2017 15:09, Roland Westrelin wrote:
>>>>
>>>>> http://cr.openjdk.java.net/~thartmann/valhalla/vt_prototype/webrev.27/
>>>>
>>>> Looks ok to me.
>>>>
>>>> Roland.
>>>>
>>


More information about the valhalla-dev mailing list