[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
|
||||
|
||||
// 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
@@ -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
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user