[JVM] Reduce number of param slots for string concatenation
With paramSlot = 200 those tests fails on JDKs which are newer than JDK 9 - testConcatDynamic200Long - testConcatDynamicIndy200Long()
This commit is contained in:
committed by
teamcityserver
parent
5206b45ce3
commit
199ec60742
+26
@@ -0,0 +1,26 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
fun test(z: Long): String {
|
||||
val result = "" + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //199 z
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = test(0L)
|
||||
|
||||
if (result.length != 199)
|
||||
return "fail 1: ${result.length}"
|
||||
|
||||
return if (result != "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
"fail 2: ${result}"
|
||||
else "OK"
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// STRING_CONCAT: indy
|
||||
fun test(z: Long): String {
|
||||
val result = "" + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //199 z
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = test(0L)
|
||||
|
||||
if (result.length != 199)
|
||||
return "fail 1: ${result.length}"
|
||||
|
||||
return if (result != "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
"fail 2: ${result}"
|
||||
else "OK"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// KOTLIN_CONFIGURATION_FLAGS: STRING_CONCAT=indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
|
||||
fun box() {
|
||||
val z = "0"
|
||||
val result = z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
"some constant" + "some constant" + "some constant" + "some constant" + // constant in this mode are inlined in recipe
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //199
|
||||
}
|
||||
|
||||
// 1 INVOKEDYNAMIC makeConcatWithConstants
|
||||
// 0 append
|
||||
// 0 stringPlus
|
||||
+2
-2
@@ -16,6 +16,6 @@ fun box() {
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //200
|
||||
}
|
||||
|
||||
// 1 INVOKEDYNAMIC makeConcatWithConstants
|
||||
// 2 INVOKEDYNAMIC makeConcatWithConstants
|
||||
// 0 append
|
||||
// 0 stringPlus
|
||||
// 0 stringPlus
|
||||
|
||||
Reference in New Issue
Block a user