From 2538caa84f7a6be8140616341575ba7616b9048a Mon Sep 17 00:00:00 2001 From: Igor Laevsky Date: Fri, 23 Jul 2021 20:46:35 +0300 Subject: [PATCH] WASM: NFC. Rename string import/export functions --- .../src/org/jetbrains/kotlin/backend/wasm/WasmSymbols.kt | 2 +- .../src/org/jetbrains/kotlin/backend/wasm/compiler.kt | 4 ++-- .../jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt | 2 +- .../test/org/jetbrains/kotlin/js/test/BasicWasmBoxTest.kt | 2 +- .../stdlib/wasm/internal/kotlin/wasm/internal/ImportExport.kt | 2 +- libraries/stdlib/wasm/src/kotlin/io.kt | 2 +- 6 files changed, 7 insertions(+), 7 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 fdd267f2cd0..d801d7e9fb7 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 @@ -142,7 +142,7 @@ class WasmSymbols( val wasmThrow = getInternalFunction("wasmThrow") - val exportStringRet = getInternalFunction("exportStringRet") + val exportString = getInternalFunction("exportString") val unsafeGetScratchRawMemory = getInternalFunction("unsafeGetScratchRawMemory") private val functionNInterfaces = (0..22).map { arity -> diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/compiler.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/compiler.kt index 11a9bd2e092..feb4fed25c0 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/compiler.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/compiler.kt @@ -133,11 +133,11 @@ fun WasmCompiledModuleFragment.generateJs(): String { }, println(valueAddr) { - console.log(">>> " + importStringToJs(valueAddr)); + console.log(">>> " + importStringFromWasm(valueAddr)); } }; - function importStringToJs(addr) { + function importStringFromWasm(addr) { const mem16 = new Uint16Array(wasmInstance.exports.memory.buffer); const mem32 = new Int32Array(wasmInstance.exports.memory.buffer); const len = mem32[addr / 4]; diff --git a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt index 544cbf1ba9c..7cfb48a1cec 100644 --- a/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt +++ b/compiler/ir/backend.wasm/src/org/jetbrains/kotlin/backend/wasm/ir2wasm/BodyGenerator.kt @@ -371,7 +371,7 @@ class BodyGenerator(val context: WasmFunctionCodegenContext) : IrElementVisitorV if (context.irFunction.isExported(context.backendContext) && expression.value.type == irBuiltIns.stringType) { - body.buildCall(context.referenceFunction(wasmSymbols.exportStringRet)) + body.buildCall(context.referenceFunction(wasmSymbols.exportString)) } body.buildInstr(WasmOp.RETURN) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicWasmBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicWasmBoxTest.kt index 62f5dc3db93..b456939e765 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicWasmBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/BasicWasmBoxTest.kt @@ -151,7 +151,7 @@ abstract class BasicWasmBoxTest( const wasmModule = new WebAssembly.Module(wasmBinary); wasmInstance = new WebAssembly.Instance(wasmModule, { runtime, js_code }); - const actualResult = importStringToJs(wasmInstance.exports.$testFunction()); + const actualResult = importStringFromWasm(wasmInstance.exports.$testFunction()); if (actualResult !== "OK") throw `Wrong box result '${'$'}{actualResult}'; Expected "OK"`; """.trimIndent() diff --git a/libraries/stdlib/wasm/internal/kotlin/wasm/internal/ImportExport.kt b/libraries/stdlib/wasm/internal/kotlin/wasm/internal/ImportExport.kt index 2970af3c64e..c34bf072e01 100644 --- a/libraries/stdlib/wasm/internal/kotlin/wasm/internal/ImportExport.kt +++ b/libraries/stdlib/wasm/internal/kotlin/wasm/internal/ImportExport.kt @@ -8,7 +8,7 @@ package kotlin.wasm.internal // This is called when exported function returns a string. It writes [i32 length, [i16 chars ...]] into a temporary raw memory area and // returns pointer to the start of it. // Note: currently there is a single temporary raw memory area so it's not possible to export more than one string at a time. -internal fun exportStringRet(src: String): Int { +internal fun exportString(src: String): Int { val retAddr = unsafeGetScratchRawMemory(INT_SIZE_BYTES + src.length * CHAR_SIZE_BYTES) wasm_i32_store(retAddr, src.length) unsafeCharArrayToRawMemory(src.toCharArray(), retAddr + INT_SIZE_BYTES) diff --git a/libraries/stdlib/wasm/src/kotlin/io.kt b/libraries/stdlib/wasm/src/kotlin/io.kt index 502756988ee..ff09cbf0bb5 100644 --- a/libraries/stdlib/wasm/src/kotlin/io.kt +++ b/libraries/stdlib/wasm/src/kotlin/io.kt @@ -14,7 +14,7 @@ public actual fun println() { /** Prints the given [message] and the line separator to the standard output stream. */ public actual fun println(message: Any?) { - printlnImpl(exportStringRet(message.toString())) + printlnImpl(exportString(message.toString())) } /** Prints the given [message] to the standard output stream. */