RFR ASAP please: 8026365: Fix verifier for anonymous classes

Lana Steuck lana.steuck at oracle.com
Thu Oct 17 07:58:27 PDT 2013

On 10/17/2013 06:26 AM, Karen Kinnear wrote:
> Thank you Dan for the rapid code review, and yes you understood the change.
> Vincente is running additional tests with Robert's upcoming changes.
> Given we did a special push of 8026022 last week to master and it is not yet in tl,
> I think it does make sense to get this into TL directly - if that works for Vincente and Lana.
I am fine with a hotspot fix going into TL (and I always do full build),
however this is not up to me, TL guys should OK this (cc-ing tl-dev_ww_grp).

Another question is - how this fix would go through hotspot SQE
if you push it to TL forest?

> There will be an extra challenge - when 8026022/8026547 (backport id I think) gets
> to tl and master we will need to make sure that 8026365 overwrites that - i.e. a manual
> merge of hotspot/src/share/vm/classfile/verifier.cpp so we don't go backwards.
> thank you so much,
> Karen
> On Oct 17, 2013, at 9:09 AM, Daniel D. Daugherty wrote:
>>> webrev: http://cr.openjdk.java.net/~acorn/8026365/webrev/
>> src/share/vm/classfile/verifier.cpp
>>     Just to verify that I understand this tweak:
>>     new lines 2442-2444 - check for anonymous class first before
>>         deciding which ref_class_type.is_assignable_from() form
>>         to use.
>>     old code: made a ref_class_type.is_assignable_from() call and
>>         then checked for anonymous class before doing another
>>         ref_class_type.is_assignable_from() call
>>     The above looks right.
>>     old code: current_type().is_assignable_from() call made, if
>>         that didn't work, then checked hosttype.is_assignable_from()
>>     new code: recognize that current_type() is an anonymous class
>>         and call hosttype.is_assignable_from() straight away
>>     The above also looks right.
>> As for logistics of getting this fix to T&L quickly:
>>     if this fix doesn't depend on other fixes that we just pushed
>>     from RT_Baseline -> Main_Baseline yesterday, then you should
>>     consider pushing this fix to T&L's hotspot repo. Of course, I'm
>>     presuming that the T&L folks are doing builds that include
>>     hotspot rather than relying on the import JDK hotspot.
>>     if this fix does depend on other fixes that we just pushed
>>     from RT_Baseline -> Main_Baseline yesterday, then you need to
>>     hear from Alejandro and/or John C about whether a direct
>>     Main_Baseline push will be permitted.
>> If this fix does not go to T&L directly, then they won't get the
>> fix until after Tuesday of next week. The next HSX-25 snapshot will
>> push to JDK8 on Tuesday if it passes PIT. And then T&L would have
>> to sync-down from JDK8 after that.
>> Dan
>> On 10/16/13 10:17 PM, Karen Kinnear wrote:
>>> On Oct 17, 2013, at 12:13 AM, Karen Kinnear wrote:
>>>> Please review quickly:
>>>> webrev: http://cr.openjdk.java.net/~acorn/8026365/webrev/
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8026365
>>>> Verifier called is_reference_assignable, which called resolve_or_null, which was looking for
>>>> the anonymous class in the system dictionary, where it is not. So this will allow more anonymous
>>>> class cases to get through the verifier while still doing validity checking (but on the host class only,
>>>> not on the anonymous class).
>>>> Tested:
>>>> Robert's new test: reduct (which he will check in as part of the lambda side of this change)
>>>> Lam
>>>> Lam1
>>>> in progress: vm.quick, java.lang, java.util, Nashorn
>>>> thanks,
>>>> Karen
>>>> p.s. Alejandro, Dan, Calvin - they want this in TL ASAP - should I check this directly into hotspot-master tomorrow?
>>>> p.s. Vincente - can you grab this patch to test with Robert's changes please? I tested with the patches he
>>>> had given me

More information about the hotspot-dev mailing list