[jboss-cvs] JBossAS SVN: r105961 - in projects/jboss-reflect/trunk: src/main/java/org/jboss/reflect/plugins/bytecode and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 11 08:06:51 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-06-11 08:06:50 -0400 (Fri, 11 Jun 2010)
New Revision: 105961
Modified:
projects/jboss-reflect/trunk/pom.xml
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/BytecodeTypeInfoFactoryImpl.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/AsmClassBytes.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/Util.java
Log:
[JBREFLECT-125] Optimize asm implementation more
Modified: projects/jboss-reflect/trunk/pom.xml
===================================================================
--- projects/jboss-reflect/trunk/pom.xml 2010-06-11 12:05:49 UTC (rev 105960)
+++ projects/jboss-reflect/trunk/pom.xml 2010-06-11 12:06:50 UTC (rev 105961)
@@ -21,7 +21,7 @@
<version.jboss.common.core>2.2.17.GA</version.jboss.common.core>
<version.jboss.logging.spi>2.2.0.CR1</version.jboss.logging.spi>
<version.jboss.logging.log4j>2.2.0.CR1</version.jboss.logging.log4j>
- <version.javassist>3.12.1-SNAPSHOT</version.javassist>
+ <version.javassist>3.12.0.GA</version.javassist>
<version.org.jboss.test>1.1.5.GA</version.org.jboss.test>
<version.junit>4.8.1</version.junit>
<version.jboss.profiler.jvmti>1.0.0.CR5</version.jboss.profiler.jvmti>
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/BytecodeTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/BytecodeTypeInfoFactoryImpl.java 2010-06-11 12:05:49 UTC (rev 105960)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/BytecodeTypeInfoFactoryImpl.java 2010-06-11 12:06:50 UTC (rev 105961)
@@ -104,8 +104,8 @@
{
if (finder == null)
{
- //this.finder = ClassLoaderFinder.LoadClass.INSTANCE;
- this.finder = CachingLoadClassClassLoaderFinder.INSTANCE;
+ this.finder = ClassLoaderFinder.LoadClass.INSTANCE;
+// this.finder = CachingLoadClassClassLoaderFinder.INSTANCE;
return;
}
this.finder = finder;
@@ -361,6 +361,7 @@
name = Descriptor.toClassName(name);
Map<String, WeakReference<TypeInfo>> classLoaderCache = getClassLoaderCache(cl);
+ Map<String, WeakReference<TypeInfo>> originalCache = classLoaderCache;
TypeInfo result = getFromCache(name, classLoaderCache);
if (result != null)
return result;
@@ -368,8 +369,6 @@
ClassLoader real = cl;
if (classBytes == null)
{
- //TODO If the class was an array we need some way to find the classloader for that
-
real = findClassLoaderForClass(cl, name);
if (real == null)
real = cl;
@@ -379,7 +378,10 @@
classLoaderCache = getClassLoaderCache(real);
result = getFromCache(name, classLoaderCache);
if (result != null)
+ {
+ originalCache.put(name, new WeakReference<TypeInfo>(result));
return result;
+ }
}
classBytes = loadClassBytes(real, name);
@@ -397,6 +399,8 @@
WeakReference<TypeInfo>weak = new WeakReference<TypeInfo>(result);
classLoaderCache.put(name, weak);
+ if (originalCache != classLoaderCache)
+ originalCache.put(name, weak);
// we just ignore generate(..) since it doesnt do anything atm
// generate(clazz, result);
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/AsmClassBytes.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/AsmClassBytes.java 2010-06-11 12:05:49 UTC (rev 105960)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/AsmClassBytes.java 2010-06-11 12:06:50 UTC (rev 105961)
@@ -370,13 +370,7 @@
public ClassReader getClassReader()
{
if (reader == null)
- {
- synchronized (this)
- {
- if (reader == null)
- reader = loadClassReader();
- }
- }
+ reader = loadClassReader();
return reader;
}
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/Util.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/Util.java 2010-06-11 12:05:49 UTC (rev 105960)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/bytecode/bytes/asm/Util.java 2010-06-11 12:06:50 UTC (rev 105961)
@@ -126,7 +126,6 @@
Map<String, String> returnTypesByName;
-
AnnotationReader(ParentReader parent, ClassLoader loader, String desc)
{
this.parent = parent;
More information about the jboss-cvs-commits
mailing list