JVM_IR fix string concatenation performance issues
KT-50080 KT-50084 KT-50140
This commit is contained in:
committed by
TeamCityServer
parent
fa41e0f5a9
commit
3017397960
+31
@@ -0,0 +1,31 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: STRING_CONCAT=inline
|
||||
// WITH_STDLIB
|
||||
|
||||
// IGNORE_BACKEND: WASM
|
||||
// ^ wasm-function[2283]:0x218da: RuntimeError: wasm exception
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
fun <T : Boolean?> concatNBoolean(x: T) = "[[$x]]"
|
||||
fun <T : Byte?> concatNByte(x: T) = "[[$x]]"
|
||||
fun <T : Short?> concatNShort(x: T) = "[[$x]]"
|
||||
fun <T : Int?> concatNInt(x: T) = "[[$x]]"
|
||||
fun <T : Long?> concatNLong(x: T) = "[[$x]]"
|
||||
fun <T : Float?> concatNFloat(x: T) = "[[$x]]"
|
||||
fun <T : Double?> concatNDouble(x: T) = "[[$x]]"
|
||||
|
||||
fun box(): String {
|
||||
assertEquals("[[true]]", concatNBoolean(true))
|
||||
assertEquals("[[0]]", concatNByte(0.toByte()))
|
||||
assertEquals("[[1]]", concatNShort(1.toShort()))
|
||||
assertEquals("[[2]]", concatNInt(2))
|
||||
assertEquals("[[3]]", concatNLong(3L))
|
||||
assertEquals("[[4.4]]", concatNFloat(4.4f))
|
||||
assertEquals("[[5.5]]", concatNFloat(5.5f))
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// CHECK_BYTECODE_TEXT
|
||||
// JVM_IR_TEMPLATES
|
||||
// 7 INVOKEVIRTUAL java/lang/StringBuilder\.append \(Ljava/lang/Object;\)Ljava/lang/StringBuilder;
|
||||
Reference in New Issue
Block a user