MCPcopy Index your code
hub / github.com/clojure/clojure / createNode

Method createNode

src/jvm/clojure/lang/PersistentHashMap.java:1200–1209  ·  view source on GitHub ↗
(int shift, Object key1, Object val1, int key2hash, Object key2, Object val2)

Source from the content-addressed store, hash-verified

1198}
1199
1200private static INode createNode(int shift, Object key1, Object val1, int key2hash, Object key2, Object val2) {
1201 int key1hash = hash(key1);
1202 if(key1hash == key2hash)
1203 return new HashCollisionNode(null, key1hash, 2, new Object[] {key1, val1, key2, val2});
1204 Box addedLeaf = new Box(null);
1205 AtomicReference<Thread> edit = new AtomicReference<Thread>();
1206 return BitmapIndexedNode.EMPTY
1207 .assoc(edit, shift, key1hash, key1, val1, addedLeaf)
1208 .assoc(edit, shift, key2hash, key2, val2, addedLeaf);
1209}
1210
1211private static INode createNode(AtomicReference<Thread> edit, int shift, Object key1, Object val1, int key2hash, Object key2, Object val2) {
1212 int key1hash = hash(key1);

Callers 1

assocMethod · 0.80

Calls 2

hashMethod · 0.95
assocMethod · 0.65

Tested by

no test coverage detected