Request for review: 8015385 Remove RelaxAccessControlCheck for JDK 8 bytecodes
harold seigel
harold.seigel at oracle.com
Fri May 31 06:14:06 PDT 2013
Hi David,
Thanks for the review. Please see inline comments.
Thanks, Harold
On 5/31/2013 3:31 AM, David Holmes wrote:
> Hi Harold,
>
> I'm not sure what the actual rules for this should be in terms of the
> accessor and accessee having different versions. But isn't the main
> issue the version of the accessee?
I'm also not sure what the actual rules should be. I chose the stricter
path of requiring the access check if either class is >= 52 in part
because the existing checks for pre 49 class files require both accessor
and accessee to be < 49. If people feel strongly I can change it.
>
> Further your change will now require RelaxAccessControlCheck be true
> for pre 49 class files, but I thought this old code was supposed to
> continue working?
Here's the code change using numbers instead of enums to make it easier
to see the parentheses. I think it shows that RelaxAccessControlCheck
is not needed for pre 49 class files.
if (*(*RelaxAccessControlCheck && accessor_ik->major_version() < 52
&& accessee_ik->major_version() < 52*)* *||*
***(*accessor_ik->major_version() < 49 && accessee_ik->major_version() <
49*)*) {
return classloader_only &&
Verifier::relax_verify_for(accessor_ik->class_loader()) &&
accessor_ik->protection_domain() ==
accessee_ik->protection_domain() &&
accessor_ik->class_loader() == accessee_ik->class_loader();
} else {
return false;
}
}
>
> Thanks,
> David
>
> On 29/05/2013 11:25 PM, harold seigel wrote:
>> Hi,
>>
>> Please review this fix for bug 8015385.
>>
>> This fix removes the use of the RelaxAccessControlCheck option for
>> bytecode versions >= 52 and so requires the stricter access checking
>> that previously could be avoided by using this option. Note that the
>> original purpose of this option was for use with pre-Java_1_5 bytecodes
>> that did not contain the necessary accessors needed to properly access
>> private fields.
>>
>> This change was tested with JCK lang and vm tests, UTE vm.quick.testlist
>> and vm.mlvm.testlist tests, JPRT, and jtreg tests. Tests were run on
>> Linux and Solaris.
>>
>> Open webrev at http://cr.openjdk.java.net/~hseigel/bug_8015385/
>> <http://cr.openjdk.java.net/%7Ehseigel/bug_8015385/>
>>
>> Bug link at http://bugs.sun.com/view_bug.do?bug_id=8015385
>>
>> Thanks, Harold
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130531/862758d9/attachment.html
More information about the hotspot-runtime-dev
mailing list