Author: pcl
Date: Wed Jun 11 16:58:16 2008
New Revision: 666918
URL: http://svn.apache.org/viewvc?rev=666918&view=rev
Log:
OPENJPA-600. Merge from ../branches/1.1.x. svn merge -c 656006 ../branches/1.1.x
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java?rev=666918&r1=666917&r2=666918&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java
Wed Jun 11 16:58:16 2008
@@ -116,6 +116,18 @@
return null;
_transforming = true;
+
+ return transform0(className, redef, bytes);
+ }
+
+ /**
+ * We have to split the transform method into two methods to avoid
+ * ClassCircularityError when executing method using pure-JIT JVMs
+ * such as JRockit.
+ */
+ private byte[] transform0(String className, Class redef, byte[] bytes)
+ throws IllegalClassFormatException {
+
try {
Boolean enhance = needsEnhance(className, redef, bytes);
if (enhance != null && _log.isTraceEnabled())