[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:
committed by
Space Team
parent
6bfd1e7e9f
commit
521a272acb
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// TARGET_BACKEND: WASM
|
// TARGET_BACKEND: WASM
|
||||||
|
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 17_726
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 14_217
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_104
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_579
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// TARGET_BACKEND: WASM
|
// TARGET_BACKEND: WASM
|
||||||
|
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 51_463
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 49_207
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_130
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_605
|
||||||
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
println("Hello, World!")
|
println("Hello, World!")
|
||||||
|
|||||||
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// TARGET_BACKEND: WASM
|
// TARGET_BACKEND: WASM
|
||||||
|
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 19_102
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 15_582
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_659
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_134
|
||||||
|
|
||||||
// FILE: test.kt
|
// FILE: test.kt
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
// TARGET_BACKEND: WASM
|
// TARGET_BACKEND: WASM
|
||||||
|
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 17_768
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 14_259
|
||||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_976
|
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 5_451
|
||||||
|
|
||||||
fun box() = "OK"
|
fun box() = "OK"
|
||||||
@@ -22,7 +22,7 @@ public open class Throwable(open val message: String?, open val cause: kotlin.Th
|
|||||||
|
|
||||||
constructor() : this(null, null)
|
constructor() : this(null, null)
|
||||||
|
|
||||||
private val jsStack: ExternalInterfaceType = captureStackTrace()
|
internal val jsStack: ExternalInterfaceType = captureStackTrace()
|
||||||
|
|
||||||
private var _stack: String? = null
|
private var _stack: String? = null
|
||||||
internal val stack: String
|
internal val stack: String
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package kotlin.wasm.internal
|
package kotlin.wasm.internal
|
||||||
|
|
||||||
@Suppress("UNUSED_PARAMETER") // TODO: Remove after bootstrap update
|
@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("""
|
js("""
|
||||||
const error = new Error();
|
const error = new Error();
|
||||||
error.message = message;
|
error.message = message;
|
||||||
@@ -17,7 +17,7 @@ private fun throwJsError(message: String?, wasmTypeName: String?, stack: String)
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal fun throwAsJsException(t: Throwable): Nothing {
|
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
|
internal var isNotFirstWasmExportCall: Boolean = false
|
||||||
Reference in New Issue
Block a user