magic reflection access checks

Christian Thalinger twisti at complang.tuwien.ac.at
Tue Aug 21 14:55:19 PDT 2007


On Tue, 2007-08-21 at 14:30 -0700, Tom Rodriguez wrote:
> MagicAccessorImpl is loaded as part of our bootstrap in 
> SystemDictionary::initialize_preloaded_classes.  verify_class_access will only 
> try to use MagicAccessorImpl if this test fails:
> 
>    445     if ((current_class == NULL) ||
>    446         (current_class == new_class) ||
>    447         (instanceKlass::cast(new_class)->is_public()) ||
>    448         is_same_class_package(current_class, new_class)) {
>    449       return true;
>    450     }
> 
> This test should never fail for any classes on the boot classpath so by the time 
> any code needs a non null value we have it.  Do you have logic equivalent to this?

Hmm, sorry, I don't see why this test should always be true for the boot
classpath.  Could you explain a bit more?

- twisti



More information about the hotspot-dev mailing list