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

Coleen Phillimore 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.

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