diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-11-30 21:14:00 -0500 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-11-30 21:14:00 -0500 |
commit | 53697c984fe0daea6cb85622286fb263ee0d69ca (patch) | |
tree | f0ea11e7f5fe01ba4bdb2f7800266acfc3169c88 | |
parent | e13d8a48a7658df899d498794c8dd1cf53ff6f9f (diff) |
install var callsite for AFunctions only
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 3 |
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); |