summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPap LÅ‘rinc <paplorinc@gmail.com>2016-12-06 22:59:46 +0200
committerAdriaan Moors <adriaan@lightbend.com>2017-01-05 13:27:05 -0800
commit1e82a92f01cc40a2293a7f1fe93d1d5f5a7595aa (patch)
treeefcc7c7ed182dc9c9253c579c9c9d5b9c18eab25 /src
parent02c30a174de3032e377b3bea8854a9588d374dfb (diff)
downloadscala-1e82a92f01cc40a2293a7f1fe93d1d5f5a7595aa.tar.gz
scala-1e82a92f01cc40a2293a7f1fe93d1d5f5a7595aa.tar.bz2
scala-1e82a92f01cc40a2293a7f1fe93d1d5f5a7595aa.zip
Simplify HashTable.index further
(cherry picked from commit 26c87f1af4cac782911500d6b143681ecdcef8ad)
Diffstat (limited to 'src')
-rw-r--r--src/library/scala/collection/mutable/HashTable.scala8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/library/scala/collection/mutable/HashTable.scala b/src/library/scala/collection/mutable/HashTable.scala
index 9364344ca5..4873aa3c3e 100644
--- a/src/library/scala/collection/mutable/HashTable.scala
+++ b/src/library/scala/collection/mutable/HashTable.scala
@@ -12,7 +12,7 @@ package scala
package collection
package mutable
-import java.lang.Integer.rotateRight
+import java.lang.Integer.{numberOfLeadingZeros, rotateRight}
import scala.util.hashing.byteswap32
/** This class can be used to construct data structures that are based
@@ -367,11 +367,7 @@ trait HashTable[A, Entry >: Null <: HashEntry[A, Entry]] extends HashTable.HashU
* Note: we take the most significant bits of the hashcode, not the lower ones
* this is of crucial importance when populating the table in parallel
*/
- protected final def index(hcode: Int): Int = {
- val ones = table.length - 1
- val exponent = Integer.numberOfLeadingZeros(ones)
- (improve(hcode, seedvalue) >>> exponent) & ones
- }
+ protected final def index(hcode: Int): Int = if (table.length == 1) 0 else improve(hcode, seedvalue) >>> numberOfLeadingZeros(table.length - 1)
protected def initWithContents(c: HashTable.Contents[A, Entry]) = {
if (c != null) {