summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/PersistentArrayMap.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/PersistentArrayMap.java b/src/jvm/clojure/lang/PersistentArrayMap.java
index 9f598d9d..7b7eda58 100644
--- a/src/jvm/clojure/lang/PersistentArrayMap.java
+++ b/src/jvm/clojure/lang/PersistentArrayMap.java
@@ -329,8 +329,10 @@ static final class TransientArrayMap extends ATransientMap {
return len / 2;
}
- IPersistentMap doPersistent() {
- return new PersistentArrayMap(Arrays.copyOf(array, len));
+ IPersistentMap doPersistent(){
+ Object[] a = new Object[len];
+ System.arraycopy(array,0,a,0,len);
+ return new PersistentArrayMap(a);
}
void ensureEditable(){