diff options
Diffstat (limited to 'src/jvm')
-rw-r--r-- | src/jvm/clojure/lang/IProxy.java | 5 | ||||
-rw-r--r-- | src/jvm/clojure/lang/PersistentArrayMap.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 4 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/jvm/clojure/lang/IProxy.java b/src/jvm/clojure/lang/IProxy.java index 7f3630f9..c32521a7 100644 --- a/src/jvm/clojure/lang/IProxy.java +++ b/src/jvm/clojure/lang/IProxy.java @@ -14,7 +14,8 @@ package clojure.lang; public interface IProxy{ -public void __updateClojureFnMappings(IPersistentMap m); -public IPersistentMap __getClojureFnMappings(); + public void __initClojureFnMappings(IPersistentMap m); + public void __updateClojureFnMappings(IPersistentMap m); + public IPersistentMap __getClojureFnMappings(); } diff --git a/src/jvm/clojure/lang/PersistentArrayMap.java b/src/jvm/clojure/lang/PersistentArrayMap.java index 070fe1bf..009b1fe8 100644 --- a/src/jvm/clojure/lang/PersistentArrayMap.java +++ b/src/jvm/clojure/lang/PersistentArrayMap.java @@ -27,7 +27,7 @@ import java.util.Map; public class PersistentArrayMap extends APersistentMap{
final Object[] array;
-static final int HASHTABLE_THRESHOLD = 8;
+static final int HASHTABLE_THRESHOLD = 16;
public static final PersistentArrayMap EMPTY = new PersistentArrayMap();
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index ae18bfce..7a31bbdf 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -966,7 +966,9 @@ static public double doubleCast(double x){ } static public IPersistentMap map(Object... init){ - if(init != null && init.length == 2) + if(init == null) + return PersistentArrayMap.EMPTY; + else if(init.length <= PersistentArrayMap.HASHTABLE_THRESHOLD) return new PersistentArrayMap(init); return PersistentHashMap.create(init); } |