Request for review (S): 7022998: JSR 292 recursive method handle calls inline themselves infinitely

Christian Thalinger christian.thalinger at oracle.com
Fri Mar 18 10:46:22 PDT 2011


On Mar 18, 2011, at 6:28 PM, Christian Thalinger wrote:
> On Mar 18, 2011, at 6:03 PM, Tom Rodriguez wrote:
>> compileBroker.hpp:
>> 
>> You can't call get_methodOop here.
>> 
>> +   static void  print_inlining(ciMethod* method, int inline_level, int bci, const char* msg = NULL) {
>> +     print_inlining(tty, method->get_methodOop(), inline_level, bci, msg);
>> +   }
>> 
>> since you are in native mode.  You have to transition to VM or you have rearrange it so that you can use the ciMethod methods to unpack it directly.  You might be able to get away with templating it since I think ciMethod and methodOop have similar calling interfaces.
> 
> I thought I get into trouble using methodOop directly here.  Templating is a good idea but there is a small difference:
> 
> methodOopDesc::has_exception_handler
> 
> vs.
> 
> ciMethod::has_exception_handlers


Wait!  We don't need a version that takes a methodOop, it's never called.  We can use ciMethod instead.

-- Christian


More information about the hotspot-compiler-dev mailing list