RFR: 8076421: Fix Zero Interpreter bugs in class redefinition and template interpreter changeS

Coleen Phillimore coleen.phillimore at oracle.com
Thu Apr 2 01:45:10 UTC 2015


On 4/1/15, 9:20 PM, David Holmes wrote:
> Hi Coleen,
>
> On 2/04/2015 2:41 AM, Coleen Phillimore wrote:
>> Summary: metadata_do walking interpreted frames was wrong and
>> generate_Reference_get is not necessarily an accessor method.
>>
>> Tested internal and test/runtime/RedefineTests with fix.   Also tested
>> class redefinition tests with linux x64 since there were shared code
>> changes.
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8076421/
>> bug link https://bugs.openjdk.java.net/browse/JDK-8076421
>
> In frame.cpp:
>
> -  if (_cb != NULL && Interpreter::contains(pc())) {
> +  if (is_interpreted_frame()) {
>
> Given most platforms (Zero being the exception!) define 
> is_interpreted_frame() as Interpreter::contains(pc()) this change 
> seems okay. But I do wonder what role if any _cb should be playing 
> here and whether it can in fact be NULL?

I copied the code that checked for _cb != NULL from 
frame::print_on_error, but the code for frame::oops_do_internal() does 
not check _cb != NULL.  The metadata_do function doesn't care about _cb 
anyway so even if it was Null that would be okay.   I ran through the 
redefine tests just to make sure though. :)

Thanks,
Coleen

>
> Can't comment on Zero specifics.
>
> Thanks,
> David
>
>> Thanks,
>> Coleen



More information about the hotspot-dev mailing list