You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2014/03/24 07:17:13 UTC

svn commit: r1580767 - in /incubator/sirona/trunk/agent/javaagent: pom.xml src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java

Author: rmannibucau
Date: Mon Mar 24 06:17:13 2014
New Revision: 1580767

URL: http://svn.apache.org/r1580767
Log:
ok error was due to eager visit of label which was wrongly generating frames. Thanks Matt for your weaver ;)

Modified:
    incubator/sirona/trunk/agent/javaagent/pom.xml
    incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java

Modified: incubator/sirona/trunk/agent/javaagent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/pom.xml?rev=1580767&r1=1580766&r2=1580767&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/pom.xml (original)
+++ incubator/sirona/trunk/agent/javaagent/pom.xml Mon Mar 24 06:17:13 2014
@@ -48,12 +48,7 @@
 
     <dependency>
       <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>${asm.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-commons</artifactId>
+      <artifactId>asm-all</artifactId>
       <version>${asm.version}</version>
     </dependency>
 

Modified: incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java?rev=1580767&r1=1580766&r2=1580767&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/SironaClassVisitor.java Mon Mar 24 06:17:13 2014
@@ -62,6 +62,7 @@ public class SironaClassVisitor extends 
 
     @Override
     public MethodVisitor visitMethod(final int access, final String name, final String desc, final String signature, final String[] exceptions) {
+        // final MethodVisitor visitor = new JSRInlinerAdapter(super.visitMethod(access, name, desc, signature, exceptions), access, name, desc, signature, exceptions);
         final MethodVisitor visitor = super.visitMethod(access, name, desc, signature, exceptions);
         if (!isSironable(access, name)) {
             return visitor;
@@ -99,7 +100,6 @@ public class SironaClassVisitor extends 
         private int ctxLocal;
         private final Label tryStart = new Label();
         private final Label endLabel = new Label();
-        private final Label handlerLabel = new Label();
 
         @Override
         public void onMethodEnter() {
@@ -154,25 +154,12 @@ public class SironaClassVisitor extends 
             if (stateLocal != -1) {
                 loadLocal(stateLocal);
             }
-
-            if (opCode != MIN_VALUE) {
-                visitLabel(endLabel);
-            }
-        }
-
-        private void ensureLabelWasVisited(final Label label) {
-            try {
-                label.getOffset();
-            } catch (final IllegalStateException ise) {
-                visitLabel(label);
-            }
         }
 
         @Override
         public void visitMaxs(final int maxStack, final int maxLocals) {
-            ensureLabelWasVisited(endLabel);
-            visitLabel(handlerLabel);
-            visitTryCatchBlock(tryStart, endLabel, handlerLabel, THROWABLE_TYPE.getInternalName());
+            visitLabel(endLabel);
+            catchException(tryStart, endLabel, THROWABLE_TYPE);
             onMethodExit(MIN_VALUE);
             throwException();
             super.visitMaxs(0, 0);