diff options
author | Rich Hickey <richhickey@gmail.com> | 2010-06-10 10:04:13 -0400 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2010-06-10 10:04:13 -0400 |
commit | 27d9f6af56549a04c772cfba8eebc8310deaec0c (patch) | |
tree | 5397e8170c915a3a225a34409296e2e891afb31e | |
parent | 0d7aed7deeebc3a540815eb245320597d129e2f2 (diff) |
account for longs/doubles on stack for static fns
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
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; |