Request for reviews (S): 7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP

Christian Thalinger christian.thalinger at oracle.com
Wed Oct 12 13:58:14 PDT 2011


Thank you, John.  -- Chris

On Oct 12, 2011, at 9:40 PM, John Rose wrote:

> Ship it!  -- John
> 
> On Oct 12, 2011, at 4:39 AM, Christian Thalinger wrote:
> 
>> Type resolving happens in the ciSignature constructor.  So when we are in equals everything is already resolved.
>> 
>> But as we talked on IM yesterday we can short-circuit the ciSignature creation in ciObjectFactory::get_unloaded_method
>> .  I added some debug output to see how often the short-circuiting triggers and it triggers much more often than creating the ciSignature.
>> 
>> I removed the accessing class check in ciSignature::equals (see the method comment) but added a short-cut bailout on a signature pointer-compare.
>> 
>> Additionally I removed two debug output statements in src/share/vm/prims/methodHandleWalk.cpp that we missed.
>> 
>> Webrev is updated:
>> 
>> http://cr.openjdk.java.net/~twisti/7092712/
>> 
>> -- Chris
> 



More information about the hotspot-compiler-dev mailing list