summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2010-06-10 10:04:13 -0400
committerRich Hickey <richhickey@gmail.com>2010-06-10 10:04:13 -0400
commit27d9f6af56549a04c772cfba8eebc8310deaec0c (patch)
tree5397e8170c915a3a225a34409296e2e891afb31e
parent0d7aed7deeebc3a540815eb245320597d129e2f2 (diff)
account for longs/doubles on stack for static fns
-rw-r--r--src/jvm/clojure/lang/Compiler.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index 9659f322..3e676d11 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -4599,6 +4599,11 @@ public static class FnMethod extends ObjMethod{
{
method.argtypes = argtypes.toArray(new Type[argtypes.size()]);
method.argclasses = argclasses.toArray(new Class[argtypes.size()]);
+ for(int i = 0; i < method.argclasses.length; i++)
+ {
+ if(method.argclasses[i] == long.class || method.argclasses[i] == double.class)
+ getAndIncLocalNum();
+ }
}
method.body = (new BodyExpr.Parser()).parse(C.RETURN, body);
return method;