From 06d0130f34320b69df275757805414dc7463a35a Mon Sep 17 00:00:00 2001
From: Bronsa <brobronsa@gmail.com>
Date: Thu, 1 Nov 2012 21:36:48 +0100
Subject: [PATCH] Fix for #CLJ-944

---
 src/jvm/clojure/lang/Compiler.java |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index a88b914..939208c 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -2896,7 +2896,11 @@ public static class MapExpr implements Expr{
 				throw new IllegalArgumentException("Duplicate constant keys in map");
 			if(valsConstant)
 				{
-				IPersistentMap m = PersistentHashMap.EMPTY;
+			    	IPersistentMap m;
+                		if (keyvals.length() <= PersistentArrayMap.HASHTABLE_THRESHOLD)
+                 		   m = PersistentArrayMap.EMPTY;
+             			else
+                 		   m = PersistentHashMap.EMPTY;
 				for(int i=0;i<keyvals.length();i+= 2)
 					{
 					m = m.assoc(((LiteralExpr)keyvals.nth(i)).val(), ((LiteralExpr)keyvals.nth(i+1)).val());
-- 
1.7.9.5

