[Wasm] Rewrite lazy initialization without by lazy and lateinit to reduce overhead
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 66_687
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 65_583
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_517
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 67_012
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 65_908
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_458
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 78_710
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 77_603
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_956
|
||||
|
||||
// FILE: test.kt
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 66_738
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: wasm 65_634
|
||||
// WASM_DCE_EXPECTED_OUTPUT_SIZE: mjs 6_389
|
||||
|
||||
fun box() = "OK"
|
||||
@@ -77,17 +77,17 @@ internal class TeamcityAdapter : FrameworkAdapter {
|
||||
println("##teamcity[$type name='${name.tcEscape()}' message='${errorMessage.tcEscape()}' $flowId]")
|
||||
}
|
||||
|
||||
|
||||
private lateinit var _testArguments: FrameworkTestArguments
|
||||
|
||||
private var _testArguments: FrameworkTestArguments? = null
|
||||
private val testArguments: FrameworkTestArguments
|
||||
get() {
|
||||
if (!::_testArguments.isInitialized) {
|
||||
var value = _testArguments
|
||||
if (value == null) {
|
||||
val arguments = d8Arguments().takeIf { it.isNotEmpty() } ?: nodeArguments()
|
||||
_testArguments = FrameworkTestArguments.parse(arguments.split(' '))
|
||||
value = FrameworkTestArguments.parse(arguments.split(' '))
|
||||
_testArguments = value
|
||||
}
|
||||
|
||||
return _testArguments
|
||||
return value
|
||||
}
|
||||
|
||||
private fun runSuite(name: String, suiteFn: () -> Unit) {
|
||||
|
||||
@@ -24,13 +24,16 @@ public open class Throwable(open val message: String?, open val cause: kotlin.Th
|
||||
|
||||
private val jsStack: ExternalInterfaceType = captureStackTrace()
|
||||
|
||||
private lateinit var _stack: String
|
||||
private var _stack: String? = null
|
||||
internal val stack: String
|
||||
get() {
|
||||
if (!::_stack.isInitialized) {
|
||||
_stack = jsToKotlinStringAdapter(jsStack).removePrefix("Error\n")
|
||||
var value = _stack
|
||||
if (value == null) {
|
||||
value = jsToKotlinStringAdapter(jsStack).removePrefix("Error\n")
|
||||
_stack = value
|
||||
}
|
||||
return _stack
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
internal var suppressedExceptionsList: MutableList<Throwable>? = null
|
||||
|
||||
@@ -281,28 +281,40 @@ private fun getJsTrue(): JsBoolean =
|
||||
private fun getJsFalse(): JsBoolean =
|
||||
js("false")
|
||||
|
||||
private lateinit var _jsEmptyString: JsString
|
||||
private var _jsEmptyString: JsString? = null
|
||||
private val jsEmptyString: JsString
|
||||
get() {
|
||||
if (!::_jsEmptyString.isInitialized)
|
||||
_jsEmptyString = getJsEmptyString()
|
||||
return _jsEmptyString
|
||||
var value = _jsEmptyString
|
||||
if (value == null) {
|
||||
value = getJsEmptyString()
|
||||
_jsEmptyString = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
private lateinit var _jsTrue: JsBoolean
|
||||
private var _jsTrue: JsBoolean? = null
|
||||
private val jsTrue: JsBoolean
|
||||
get() {
|
||||
if (!::_jsTrue.isInitialized)
|
||||
_jsTrue = getJsTrue()
|
||||
return _jsTrue
|
||||
var value = _jsTrue
|
||||
if (value == null) {
|
||||
value = getJsTrue()
|
||||
_jsTrue = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
private lateinit var _jsFalse: JsBoolean
|
||||
private val jsFalse: JsBoolean
|
||||
private var _jsFalse: JsBoolean? = null
|
||||
private val jsFalse: JsBoolean
|
||||
get() {
|
||||
if (!::_jsFalse.isInitialized)
|
||||
_jsFalse = getJsFalse()
|
||||
return _jsFalse
|
||||
var value = _jsFalse
|
||||
if (value == null) {
|
||||
value = getJsFalse()
|
||||
_jsFalse = value
|
||||
}
|
||||
|
||||
return value
|
||||
}
|
||||
|
||||
internal fun numberToDoubleAdapter(x: Number): Double =
|
||||
|
||||
Reference in New Issue
Block a user