JDK-6412391 : fix for annotation cache and RedefineClasses() conflict needs HotSpot changes
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-04-12
  • Updated: 2010-04-02
  • Resolved: 2006-04-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u8Fixed 6 b82Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Description
Fixing the following bug:

    6407335 3/4 (ann) java.lang.Class.getAnnotation() cache conflicts with
                RedefineClasses()

in an efficient manner requires HotSpot changes. A new field will be
added to java.lang.Class:

    private transient long classRedefineCount;

This field will be incremented by the JVM/TI RedefineClasses() API at the
end of the redefinition for a particular class. The field for each subclass
will also be incremented.

Comments
SUGGESTED FIX Please see the attached 6412391-webrev-cr1-full.tgz file for the proposed fix after one round of code review. Please see the attached 6412391-webrev-cr1-delta.tgz file for just the deltas to the proposed fix between code review round 0 and round 1.
14-04-2006

SUGGESTED FIX See the attached 6412391-webrev-cr0.tgz file for the proposed fix.
13-04-2006

EVALUATION The description pretty much says it all.
12-04-2006