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