From a996ab5eb50a4fbf401f1cf0eb89d08f9a8a7555 Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Thu, 7 Jul 2016 09:46:33 +0800 Subject: [PATCH] --- .../redkale/net/http/BasedHttpServlet.java | 3 ++- src/org/redkale/net/sncp/SncpDynServlet.java | 20 +++++++++---------- src/org/redkale/util/Attribute.java | 3 ++- src/org/redkale/util/Reproduce.java | 3 ++- src/org/redkale/util/TypeToken.java | 3 ++- 5 files changed, 18 insertions(+), 14 deletions(-) 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