RFR 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code

Mikael Gerdin mikael.gerdin at oracle.com
Tue Jul 15 15:40:34 UTC 2014

Hi Coleen,

On Monday 14 July 2014 20.05.50 Coleen Phillimore wrote:
> Summary: remove bcx and mdx handling.  We no longer have to convert
> bytecode pointers or method data pointers to indices for GC since
> Metadata aren't moved.
> Tested with nsk.quick.testlist, jck tests, JPRT.
> Most of this is renaming bcx to bcp and mdx to mdp.  The content changes
> are in frame.cpp.  StefanK implemented 90% of these changes.
> open webrev at http://cr.openjdk.java.net/~coleenp/8004128/

This isn't exactly my area of the code, but I'm happy that we got around to 
this cleanup!

I looked through the change and to my not-so-runtime-familiar eyes it seems 

One thought about the frame accessors
 244   intptr_t*  interpreter_frame_bcp_addr() const;
 245   intptr_t*  interpreter_frame_mdp_addr() const;
Now that the contents of bcp and mdp in the frames are always pointers, 
perhaps these accessors should be appropriately typed?

Something like
 244   address*  interpreter_frame_bcp_addr() const;
 245   ProfileData**  interpreter_frame_mdp_addr() const;

Also, BytecodeInterpreter still has a member named _mdx, should that be 
renamed to _mdp as well?


> bug link https://bugs.openjdk.java.net/browse/JDK-8004128
> Thanks,
> Coleen

More information about the hotspot-dev mailing list