> http://cr.openjdk.java.net/~sspitsyn/webrevs/2014/hotspot/8042796-JVMTI-OLD.1

src/share/vm/oops/method.hpp
    No comments.

src/share/vm/utilities/accessFlags.hpp
line 57: JVM_ACC_ON_STACK = 0x00080000, // RedefinedClasses() is used on the stack
        Typos: 'RedefinedClasses() is' -> 'RedefineClasses() was'
        Not your typos, but would you mind fixing them?

src/share/vm/oops/cpCache.cpp
line 501: (!f1_as_method()->is_old() && !f1_as_method()->is_obsolete() ||
    line 502 f1_as_method()->is_deleted()));

    Perhaps this would a little more clear (added parens and reformatted):

line 501: ((!f1_as_method()->is_old() && !f1_as_method()->is_obsolete()) ||
    line 502   f1_as_method()->is_deleted()));

    Or this one:

    line 501: (f1_as_method()->is_deleted() ||
line 502: (!f1_as_method()->is_old() && !f1_as_method()->is_obsolete())));

src/share/vm/prims/jvmtiRedefineClasses.cpp
    No comments

Thumbs up even if you don't want to juggle the logic
in cpCache.cpp...

Minor clarification:

> - A regression introduced by the fix of:
> https://bugs.openjdk.java.net/browse/JDK-7182152

The above fix modified the existing VM_RedefineClasses::check_class()
code to use guarantee() instead of assert() and also modified the
logic to catch "obsolete" in addition to "old" entries. I strongly
suspect that the code before JDK-7182152 would still have fired an
assert in the presence of deleted methods so the regression is
probably older than JDK-7182152. Don't know if it is worth fixing
that far back though...

Dan


On 5/9/14 12:20 PM, serguei.spit...@oracle.com wrote:
Please, review the fix for:
  https://bugs.openjdk.java.net/browse/JDK-8042796


Open webrev:
http://cr.openjdk.java.net/~sspitsyn/webrevs/2014/hotspot/8042796-JVMTI-OLD.1

Summary:

This is a Nightly Stabilization issue that was caused by a combination of two problems: - A regression introduced by the fix of: https://bugs.openjdk.java.net/browse/JDK-7182152 - An SQE testbase infra regression: https://bugs.openjdk.java.net/browse/INTJDK-7611018

A number of the vm.mlvm tests hits this guarantee taht was added by 7182152 (must be relaxed). The issue is with the deleted static private methods that are still present in the CP cache. The fix is to mark the deleted methods with the flag JVM_ACC_IS_DELETED and
  then use it to relax the guarantee condition.


Testing:
  Running the failing tests: vm.mlvm.indy.func.jvmti
In progress: nsk.jvmti, nsk.jdi, java.lang.instrument test runs on sparcv9 and amd64.


Thanks,
Serguei

Reply via email to