diff --git a/src/org/redkale/net/http/BasedHttpServlet.java b/src/org/redkale/net/http/BasedHttpServlet.java index 2c0832b92..cd30e8542 100644 --- a/src/org/redkale/net/http/BasedHttpServlet.java +++ b/src/org/redkale/net/http/BasedHttpServlet.java @@ -17,6 +17,7 @@ import java.nio.*; import java.util.*; import java.util.concurrent.*; import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; import static jdk.internal.org.objectweb.asm.Opcodes.*; /** @@ -191,7 +192,7 @@ public abstract class BasedHttpServlet extends HttpServlet { } } //------------------------------------------------------------------------------ - ClassWriter cw = new ClassWriter(0); + ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); FieldVisitor fv; MethodVisitor mv; AnnotationVisitor av0; diff --git a/src/org/redkale/net/sncp/SncpDynServlet.java b/src/org/redkale/net/sncp/SncpDynServlet.java index 34eb3d740..fb79cf9a7 100644 --- a/src/org/redkale/net/sncp/SncpDynServlet.java +++ b/src/org/redkale/net/sncp/SncpDynServlet.java @@ -15,6 +15,7 @@ import java.util.function.*; import java.util.logging.*; import javax.annotation.*; import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; import static jdk.internal.org.objectweb.asm.Opcodes.*; import jdk.internal.org.objectweb.asm.Type; import org.redkale.convert.bson.*; @@ -24,7 +25,7 @@ import org.redkale.service.DynCall; /** * - * + * * 详情见: http://redkale.org * * @author zhangjx @@ -161,14 +162,14 @@ public final class SncpDynServlet extends SncpServlet { *
          *  public class TestService implements Service {
          *      public boolean change(TestBean bean, String name, int id) {
-         * 
+         *
          *      }
          *  }
-         * 
+         *
          *  public class DynActionTestService_change extends SncpServletAction {
-         * 
+         *
          *      public TestService service;
-         * 
+         *
          *      @Override
          *      public void action(final BsonReader in, final BsonWriter out) throws Throwable {
          *          TestBean arg1 = convert.convertFrom(paramTypes[1], in);
@@ -181,9 +182,9 @@ public final class SncpDynServlet extends SncpServlet {
          *  }
          * 
* - * @param service Service + * @param service Service * @param actionid 操作ID - * @param method 方法 + * @param method 方法 * * @return SncpServletAction */ @@ -207,7 +208,7 @@ public final class SncpDynServlet extends SncpServlet { } } //------------------------------------------------------------- - ClassWriter cw = new ClassWriter(0); + ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); FieldVisitor fv; AsmMethodVisitor mv; @@ -371,9 +372,8 @@ public final class SncpDynServlet extends SncpServlet { mv.visitMethodInsn(INVOKEVIRTUAL, convertName, "convertTo", "(" + convertWriterDesc + "Ljava/lang/reflect/Type;Ljava/lang/Object;)V", false); mv.visitInsn(RETURN); store++; - if (maxStack < 10) maxStack = 10; } - mv.visitMaxs(maxStack + 10, store + 10); + mv.visitMaxs(maxStack, store); mv.visitEnd(); } cw.visitEnd(); diff --git a/src/org/redkale/util/Attribute.java b/src/org/redkale/util/Attribute.java index f7f2a2908..ad7e22bc0 100644 --- a/src/org/redkale/util/Attribute.java +++ b/src/org/redkale/util/Attribute.java @@ -8,6 +8,7 @@ package org.redkale.util; import java.util.*; import java.util.function.*; import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; import static jdk.internal.org.objectweb.asm.Opcodes.*; /** @@ -442,7 +443,7 @@ public interface Attribute { } catch (Throwable ex) { } //--------------------------------------------------- - final ClassWriter cw = new ClassWriter(0); + final ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); MethodVisitor mv; cw.visit(V1_8, ACC_PUBLIC + ACC_FINAL + ACC_SUPER, newDynName, "Ljava/lang/Object;L" + supDynName + "<" + interDesc + columnDesc + ">;", "java/lang/Object", new String[]{supDynName}); diff --git a/src/org/redkale/util/Reproduce.java b/src/org/redkale/util/Reproduce.java index 7081d1086..8f54c3be8 100644 --- a/src/org/redkale/util/Reproduce.java +++ b/src/org/redkale/util/Reproduce.java @@ -4,6 +4,7 @@ import java.lang.reflect.Modifier; import java.util.function.Predicate; import static jdk.internal.org.objectweb.asm.Opcodes.*; import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; /** * @@ -41,7 +42,7 @@ public interface Reproduce { } catch (Exception ex) { } // ------------------------------------------------------------------------------ - ClassWriter cw = new ClassWriter(0); + ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); FieldVisitor fv; MethodVisitor mv; AnnotationVisitor av0; diff --git a/src/org/redkale/util/TypeToken.java b/src/org/redkale/util/TypeToken.java index 5e9780e7d..dd3ecffe5 100644 --- a/src/org/redkale/util/TypeToken.java +++ b/src/org/redkale/util/TypeToken.java @@ -8,6 +8,7 @@ import java.lang.reflect.Type; import java.lang.reflect.*; import java.util.*; import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.ClassWriter.COMPUTE_FRAMES; import static jdk.internal.org.objectweb.asm.Opcodes.*; /** @@ -139,7 +140,7 @@ public abstract class TypeToken { break; } } - ClassWriter cw = new ClassWriter(0); + ClassWriter cw = new ClassWriter(COMPUTE_FRAMES); FieldVisitor fv; MethodVisitor mv; cw.visit(V1_8, ACC_PUBLIC + ACC_FINAL + ACC_SUPER, newDynName, null, "java/lang/Object", null);