summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2009-11-30 21:14:00 -0500
committerRich Hickey <richhickey@gmail.com>2009-11-30 21:14:00 -0500
commit53697c984fe0daea6cb85622286fb263ee0d69ca (patch)
treef0ea11e7f5fe01ba4bdb2f7800266acfc3169c88
parente13d8a48a7658df899d498794c8dd1cf53ff6f9f (diff)
install var callsite for AFunctions only
-rw-r--r--src/jvm/clojure/lang/Compiler.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index daef7610..02f6fcc0 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -3401,6 +3401,9 @@ static public class ObjExpr implements Expr{
clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel);
clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("Object getRoot()"));
+ clinitgen.dup();
+ clinitgen.instanceOf(AFUNCTION_TYPE);
+ clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel);
clinitgen.checkCast(IFN_TYPE);
clinitgen.putStatic(objtype, varCallsiteName(i), IFN_TYPE);
clinitgen.goTo(endLabel);