RFR 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
coleen.phillimore at oracle.com
Tue Jul 15 17:09:39 UTC 2014
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
There was GC bits so I'm glad you looked at it. It might be good for
performance since you don't have to walk thread stacks for no 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;
That's a nice idea. I'll see if this change isn't too disruptive.
> 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
More information about the hotspot-dev