Request for reviews .02 (L): 6951083: oops and relocations should part of nmethod not CodeBlob

Tom Rodriguez tom.rodriguez at oracle.com
Tue May 18 08:25:31 PDT 2010


Looks good.

tom

On May 18, 2010, at 3:25 AM, Christian Thalinger wrote:

> On Mon, 2010-05-17 at 11:26 -0700, Tom Rodriguez wrote:
>> Can you go ahead and move do_unloading out of CodeBlob completely
>> since it's really nmethod specific.  You should switch
>> CodeCache::do_unloading to use FOR_ALL_ALIVE_NMETHODS too.
> 
> Sure.  I also removed the oops_do method from the CodeBlob subclasses.
> 
>> 
>> in libjvm_db.c, oops_end - oops_beg isn't the same as oops_len since
>> oops_end/oops_beg aren't pointers, they are integer offsets, so you'd
>> need to divide by the sizeof oop.
> 
> Right.  I missed that.  Thanks.
> 
>> 
>> in nmethod.cpp, I think they nmethod constructor for the dtrace
>> helpers also needs to this logic:
>> 
>> +     _scopes_data_offset      = _oops_offset          + round_to(code_buffer->total_oop_size (), oopSize);
>> 
>> since there is a copy_oops_to call in that constructor.
> 
> That's odd.  I added that but it's not in the webrev.  Anyway, it should
> there now.
> 
> http://cr.openjdk.java.net/~twisti/6951083/webrev.03/
> 
> -- Christian
> 



More information about the hotspot-compiler-dev mailing list