RFR: 8076421: Fix Zero Interpreter bugs in class redefinition and template interpreter changeS (original) (raw)
Coleen Phillimore coleen.phillimore at oracle.com
Thu Apr 2 01:45:10 UTC 2015
- Previous message: RFR: 8076421: Fix Zero Interpreter bugs in class redefinition and template interpreter changeS
- Next message: RFR(XS): JDK-8043225: Make whitebox API functions more stable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 4/1/15, 9:20 PM, David Holmes wrote:
Hi Coleen,
On 2/04/2015 2:41 AM, Coleen Phillimore wrote: Summary: metadatado walking interpreted frames was wrong and generateReferenceget 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 (isinterpretedframe()) { Given most platforms (Zero being the exception!) define isinterpretedframe() 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
- Previous message: RFR: 8076421: Fix Zero Interpreter bugs in class redefinition and template interpreter changeS
- Next message: RFR(XS): JDK-8043225: Make whitebox API functions more stable
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]