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

Mikael Gerdin mikael.gerdin at oracle.com
Wed Jul 16 08:20:45 UTC 2014


On Tuesday 15 July 2014 16.25.01 Coleen Phillimore wrote:
> I didn't make this change to interpreter_frame_bcp or mdp_addr() at the
> end.  The frame code is consistent in returning intptr_t for objects on
> the frame and then casting them to the right types.  I think this is better.

Ok.

/Mikael

> 
> Thanks,
> Coleen
> 
> On 7/15/14, 11:40 AM, Mikael Gerdin wrote:
> > 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
> > good.
> > 
> > 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?
> > 
> > /Mikael
> > 
> >> bug link https://bugs.openjdk.java.net/browse/JDK-8004128
> >> 
> >> Thanks,
> >> Coleen



More information about the hotspot-dev mailing list