From fc0ae851a293a86e354d0f4a28303ebf3687fbff Mon Sep 17 00:00:00 2001 From: Igor Laevsky Date: Fri, 23 Jul 2021 17:40:14 +0300 Subject: [PATCH] WASM: Don't special case string equality, it now goes through normal .equals method --- .../src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt | 3 +-- libraries/stdlib/wasm/builtins/kotlin/String.kt | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt index 8907d73d696..fdd267f2cd0 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt @@ -79,8 +79,7 @@ class WasmSymbols( context.irBuiltIns.shortType to getInternalFunction("wasm_i32_eq"), context.irBuiltIns.charType to getInternalFunction("wasm_i32_eq"), context.irBuiltIns.intType to getInternalFunction("wasm_i32_eq"), - context.irBuiltIns.longType to getInternalFunction("wasm_i64_eq"), - context.irBuiltIns.stringType to getFunction("wasm_string_eq", builtInsPackage) + context.irBuiltIns.longType to getInternalFunction("wasm_i64_eq") ) val floatEqualityFunctions = mapOf( diff --git a/libraries/stdlib/wasm/builtins/kotlin/String.kt b/libraries/stdlib/wasm/builtins/kotlin/String.kt index deba31c6290..11b4c2e4b40 100644 --- a/libraries/stdlib/wasm/builtins/kotlin/String.kt +++ b/libraries/stdlib/wasm/builtins/kotlin/String.kt @@ -54,8 +54,6 @@ internal fun stringLiteral(startAddr: Int, length: Int) = String(unsafeRawMemory internal fun charToString(c: Char): String = String(charArrayOf(c)) -internal fun wasm_string_eq(x: String, y: String): Boolean = x.equals(y) - //@JsFun("(it, other) => it + String(other)") //private fun stringPlusImpl(it: String, other: String): String = // implementedAsIntrinsic