From 6b509892cbbc538734533d8def668f2b6ab99535 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Tue, 20 Dec 2016 19:01:06 +0300 Subject: [PATCH] Remove manual overflow for JS arithmetic operations --- libraries/stdlib/src/kotlin/collections/AbstractList.kt | 1 - libraries/stdlib/src/kotlin/collections/AbstractSet.kt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/stdlib/src/kotlin/collections/AbstractList.kt b/libraries/stdlib/src/kotlin/collections/AbstractList.kt index 134f31043b1..d11e9dd3071 100644 --- a/libraries/stdlib/src/kotlin/collections/AbstractList.kt +++ b/libraries/stdlib/src/kotlin/collections/AbstractList.kt @@ -123,7 +123,6 @@ public abstract class AbstractList protected constructor() : AbstractColl var hashCode = 1 for (e in c) { hashCode = 31 * hashCode + (e?.hashCode() ?: 0) - hashCode = hashCode or 0 // make sure we don't overflow } return hashCode } diff --git a/libraries/stdlib/src/kotlin/collections/AbstractSet.kt b/libraries/stdlib/src/kotlin/collections/AbstractSet.kt index 1482a301cf1..41ce2a02b18 100644 --- a/libraries/stdlib/src/kotlin/collections/AbstractSet.kt +++ b/libraries/stdlib/src/kotlin/collections/AbstractSet.kt @@ -30,7 +30,7 @@ public abstract class AbstractSet protected constructor() : AbstractColle internal fun unorderedHashCode(c: Collection<*>): Int { var hashCode = 0 for (element in c) { - hashCode = (hashCode + (element?.hashCode() ?: 0)) or 0 + hashCode += (element?.hashCode() ?: 0) } return hashCode }