You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2022/12/14 01:12:39 UTC
[groovy] branch danielsun/tweak_pga updated: Compute the max stack size and the max number of local variables automatically
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch danielsun/tweak_pga
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/danielsun/tweak_pga by this push:
new 105f2eae93 Compute the max stack size and the max number of local variables automatically
105f2eae93 is described below
commit 105f2eae93a26cefcb04e7b44aac46a4a080a5ab
Author: Daniel Sun <su...@apache.org>
AuthorDate: Wed Dec 14 09:12:21 2022 +0800
Compute the max stack size and the max number of local variables automatically
---
src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java | 6 +++---
src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java | 4 ++--
.../src/main/java/org/codehaus/groovy/ant/VerifyClass.java | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
index 98cc628652..b209df0b1e 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
@@ -1514,7 +1514,7 @@ public class AsmClassGenerator extends ClassGenerator {
mv.visitFieldInsn(PUTSTATIC,controller.getInternalClassName(),staticFieldName,"Ljava/lang/Class;");
mv.visitLabel(l0);
mv.visitInsn(ARETURN);
- mv.visitMaxs(0,0);
+ mv.visitMaxs(0, 0);
mv.visitEnd();
}
@@ -1536,7 +1536,7 @@ public class AsmClassGenerator extends ClassGenerator {
mv.visitMethodInsn(INVOKESPECIAL, "java/lang/NoClassDefFoundError", "<init>", "(Ljava/lang/String;)V", false);
mv.visitInsn(ATHROW);
mv.visitTryCatchBlock(l0, l2, l2, "java/lang/ClassNotFoundException"); // br using l2 as the 2nd param seems create the right table entry
- mv.visitMaxs(3, 2);
+ mv.visitMaxs(0, 0);
}
@Override
@@ -1956,7 +1956,7 @@ public class AsmClassGenerator extends ClassGenerator {
}
operandStack.remove(methodBlockSize);
mv.visitInsn(RETURN);
- mv.visitMaxs(0,0);
+ mv.visitMaxs(0, 0);
mv.visitEnd();
}
mv = oldMv;
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
index 4f44cf25d4..374ee9ee5f 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
@@ -191,7 +191,7 @@ public class CallSiteWriter {
mv.visitInsn(AASTORE);
}
mv.visitInsn(RETURN);
- mv.visitMaxs(2,1);
+ mv.visitMaxs(0, 0);
mv.visitEnd();
}
// create base createCallSiteArray method
@@ -214,7 +214,7 @@ public class CallSiteWriter {
mv.visitMethodInsn(INVOKESPECIAL, CALLSITE_ARRAY_CLASS, "<init>", "(Ljava/lang/Class;[Ljava/lang/String;)V", false);
mv.visitInsn(ARETURN);
- mv.visitMaxs(0,0);
+ mv.visitMaxs(0, 0);
mv.visitEnd();
}
diff --git a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java
index 63fbca926d..9bf81a1187 100644
--- a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java
+++ b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/VerifyClass.java
@@ -138,7 +138,7 @@ public class VerifyClass extends MatchingTask {
mv.visitLabel(null);
}
}
- mv.visitMaxs(method.maxStack, method.maxLocals);
+ mv.visitMaxs(0, 0);
}
}
return !failed;