We've also seen deadlocks in accessing annotations in the wild. So, many thanks for working on this (both performance improvements and deadlock removal). We don't have a test case to contribute, but here's a stacktrace:
sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:80) sun.reflect.annotation.AnnotationParser.parseAnnotation (AnnotationParser.java:220) sun.reflect.annotation.AnnotationParser.parseAnnotations2 (AnnotationParser.java:87) sun.reflect.annotation.AnnotationParser.parseAnnotations (AnnotationParser.java:70) java.lang.Class.initAnnotationsIfNecessary(Class.java:3093) java.lang.Class.getAnnotation(Class.java:3050) sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:130) sun.reflect.annotation.AnnotationType.getInstance(Annotation Type.java:83) sun.reflect.annotation.AnnotationParser.parseAnnotation (AnnotationParser.java:220) sun.reflect.annotation.AnnotationParser.parseAnnotations2 (AnnotationParser.java:87) sun.reflect.annotation.AnnotationParser.parseAnnotations (AnnotationParser.java:70) java.lang.Class.initAnnotationsIfNecessary(Class.java:3093) java.lang.Class.getAnnotation(Class.java:3050) sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:130) sun.reflect.annotation.AnnotationType.getInstance(Annotation Type.java:83) sun.reflect.annotation.AnnotationParser.parseAnnotation (AnnotationParser.java:220) sun.reflect.annotation.AnnotationParser.parseAnnotations2 (AnnotationParser.java:87) sun.reflect.annotation.AnnotationParser.parseAnnotations (AnnotationParser.java:70) java.lang.Class.initAnnotationsIfNecessary(Class.java:3093) java.lang.Class.getAnnotation(Class.java:3050) Martin On Wed, Nov 7, 2012 at 9:11 AM, Peter Levart <peter.lev...@gmail.com> wrote: > On 11/06/2012 08:37 AM, Peter Levart wrote: > >> >> Hi all, >> >> I have prepared a better patch. It addresses the goals of JEP-149 more >> seriously. I also have some benchmarks. Stay tuned... >> >> Regards, Peter >> >> >> > For easier viewing, here's also a webrev: > > http://dl.dropbox.com/u/**101777488/jdk8-hacks/JEP-149/**webrev/index.html<http://dl.dropbox.com/u/101777488/jdk8-hacks/JEP-149/webrev/index.html> > > Regards, Peter > >