RFR ASAP please: 8026365: Fix verifier for anonymous classes

Karen Kinnear karen.kinnear at oracle.com
Thu Oct 17 06:26:34 PDT 2013

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.

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,

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