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

Christian Thalinger Christian.Thalinger at Sun.COM
Tue May 18 03:25:10 PDT 2010


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