[Wasm] Pass js stack value directly when replacing a wasm exception with JS one

In this case, we don't need to convert a value to and from wasm String.
This commit is contained in:
Zalim Bashorov
2023-04-17 14:38:19 +02:00
committed by Space Team
parent 6bfd1e7e9f
commit 521a272acb
6 changed files with 11 additions and 11 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
// TARGET_BACKEND: WASM
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 17_726
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_104
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 14_217
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_579
// FILE: test.kt
+2 -2
View File
@@ -1,7 +1,7 @@
// TARGET_BACKEND: WASM
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 51_463
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_130
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 49_207
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_605
fun box(): String {
println("Hello, World!")
+2 -2
View File
@@ -1,7 +1,7 @@
// TARGET_BACKEND: WASM
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 19_102
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_659
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 15_582
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_134
// FILE: test.kt
+2 -2
View File
@@ -1,6 +1,6 @@
// TARGET_BACKEND: WASM
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 17_768
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_976
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 14_259
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_451
fun box() = "OK"
@@ -22,7 +22,7 @@ public open class Throwable(open val message: String?, open val cause: kotlin.Th
constructor() : this(null, null)
private val jsStack: ExternalInterfaceType = captureStackTrace()
internal val jsStack: ExternalInterfaceType = captureStackTrace()
private var _stack: String? = null
internal val stack: String
@@ -6,7 +6,7 @@
package kotlin.wasm.internal
@Suppress("UNUSED_PARAMETER") // TODO: Remove after bootstrap update
private fun throwJsError(message: String?, wasmTypeName: String?, stack: String): Nothing {
private fun throwJsError(message: String?, wasmTypeName: String?, stack: ExternalInterfaceType): Nothing {
js("""
const error = new Error();
error.message = message;
@@ -17,7 +17,7 @@ private fun throwJsError(message: String?, wasmTypeName: String?, stack: String)
}
internal fun throwAsJsException(t: Throwable): Nothing {
throwJsError(t.message, getSimpleName(t.typeInfo), t.stack)
throwJsError(t.message, getSimpleName(t.typeInfo), t.jsStack)
}
internal var isNotFirstWasmExportCall: Boolean = false