RFR 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
coleen.phillimore at oracle.com
Tue Jul 15 20:25:01 UTC 2014
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.
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
> 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
More information about the hotspot-dev