[FIR2IR] Unconditionally disable linkViaSignatures on JVM
It was an experimental compilation mode that we don't need anymore. KT-64809
This commit is contained in:
committed by
Space Team
parent
7568ee5a79
commit
e8aa05928d
+2
@@ -83,6 +83,8 @@ where advanced options include:
|
||||
-Xlambdas=class Generate lambdas as explicit classes.
|
||||
-Xlink-via-signatures Link JVM IR symbols via signatures instead of descriptors.
|
||||
This mode is slower, but it can be useful for troubleshooting problems with the JVM IR backend.
|
||||
This option is deprecated and will be deleted in future versions.
|
||||
It has no effect when -language-version is 2.0 or higher.
|
||||
-Xno-call-assertions Don't generate not-null assertions for arguments of platform types.
|
||||
-Xno-kotlin-nothing-value-exception
|
||||
Don't use KotlinNothingValueException, which has been available since 1.4.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// WITH_STDLIB
|
||||
// LINK_VIA_SIGNATURES
|
||||
// LINK_VIA_SIGNATURES_K1
|
||||
// DUMP_SIGNATURES
|
||||
|
||||
// MODULE: maven
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// WITH_STDLIB
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// LINK_VIA_SIGNATURES
|
||||
// LINK_VIA_SIGNATURES_K1
|
||||
|
||||
class Class
|
||||
interface Interface
|
||||
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
// FILE: a.kt
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: #main(){}
|
||||
// Mangled name for the signature by IR: main(){}
|
||||
// Mangled name for the signature by Frontend: main(){}%a.kt
|
||||
// Public signature: /main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
fun main(): Unit
|
||||
|
||||
// FILE: b.kt
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: #main(){}
|
||||
// Mangled name for the signature by IR: main(){}
|
||||
// Mangled name for the signature by Frontend: main(){}%b.kt
|
||||
// Public signature: /main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
fun main(): Unit
|
||||
|
||||
// FILE: c.kt
|
||||
package foo
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#main(){}
|
||||
// Mangled name for the signature by IR: main(){}
|
||||
// Mangled name for the signature by Frontend: main(){}%c.kt
|
||||
// Public signature: foo/main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
fun main(): Unit
|
||||
|
||||
// FILE: d.kt
|
||||
package foo
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: foo#main(){}
|
||||
// Mangled name for the signature by IR: main(){}
|
||||
// Mangled name for the signature by Frontend: main(){}%d.kt
|
||||
// Public signature: foo/main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
fun main(): Unit
|
||||
@@ -4,6 +4,9 @@
|
||||
// FIR_IDENTICAL
|
||||
// WITH_STDLIB
|
||||
|
||||
// SEPARATE_SIGNATURE_DUMP_FOR_K2
|
||||
// ^ The main function has a different mangled name when it's computed from its K1 descriptor in K/JVM.
|
||||
|
||||
// FILE: a.kt
|
||||
fun main() {
|
||||
println("main() in a.kt")
|
||||
|
||||
@@ -6,12 +6,6 @@
|
||||
// WITH_STDLIB
|
||||
// SKIP_KLIB_TEST
|
||||
|
||||
// IGNORE_BACKEND_K2: JVM_IR
|
||||
// ^^^ The IrErrorCallExpression inside the body of test1() function is dumped in a different way on JVM K1 and JVM K2.
|
||||
// That is because `IrErrorCallExpression.description` includes a signature of a local lambda, which is mangled
|
||||
// differently on K1 and K2. This is not a problem since signatures for local entities do not participate in IR-linkage.
|
||||
// But the test needs to be muted.
|
||||
|
||||
inline fun foo(block: () -> Unit) { block() }
|
||||
|
||||
inline fun bar(block1: () -> Unit, noinline block2: () -> Unit) {
|
||||
|
||||
@@ -36,10 +36,8 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
// Mangled name: MyMap#computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by IR: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by Frontend: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature by IR: /MyMap.computeIfPresent|-2673672788318360066[0]
|
||||
// Public signature by IR debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature by Frontend: /MyMap.computeIfPresent|-4313180944690406140[0]
|
||||
// Public signature by Frontend debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.computeIfPresent|-2673672788318360066[0]
|
||||
// Public signature debug description: computeIfPresent(1:0{EnhancedNullability};java.util.function.BiFunction<in|1:0{EnhancedNullability},in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun computeIfPresent(p0: @EnhancedNullability K, p1: @EnhancedNullability BiFunction<in @EnhancedNullability K, in V, out V?>): V?
|
||||
|
||||
// CHECK JVM_IR:
|
||||
@@ -88,20 +86,16 @@ class MyMap<K : Any, V : Any> : AbstractMutableMap<K, V> {
|
||||
// Mangled name: MyMap#merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by IR: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Mangled name for the signature by Frontend: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature by IR: /MyMap.merge|5136195963180492586[0]
|
||||
// Public signature by IR debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature by Frontend: /MyMap.merge|-7730033017111273031[0]
|
||||
// Public signature by Frontend debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1{EnhancedNullability},in|1:1{EnhancedNullability},out|1:1?>{EnhancedNullability}){}1:1?
|
||||
// Public signature: /MyMap.merge|5136195963180492586[0]
|
||||
// Public signature debug description: merge(1:0{EnhancedNullability};1:1{EnhancedNullability};java.util.function.BiFunction<in|1:1,in|1:1,out|1:1?>{EnhancedNullability}){}1:1?
|
||||
/* fake */ override fun merge(p0: @EnhancedNullability K, p1: @EnhancedNullability (V & Any), p2: @EnhancedNullability BiFunction<in V, in V, out V?>): V?
|
||||
|
||||
// CHECK:
|
||||
// Mangled name: MyMap#putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
|
||||
// Mangled name for the signature by IR: putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
|
||||
// Mangled name for the signature by Frontend: putAll(kotlin.collections.Map<out|1:0?,out|1:1?>{EnhancedNullability}){}
|
||||
// Public signature by IR: /MyMap.putAll|8252374948943605914[0]
|
||||
// Public signature by IR debug description: putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
|
||||
// Public signature by Frontend: /MyMap.putAll|2145725647041437129[0]
|
||||
// Public signature by Frontend debug description: putAll(kotlin.collections.Map<out|1:0?,out|1:1?>{EnhancedNullability}){}
|
||||
// Public signature: /MyMap.putAll|8252374948943605914[0]
|
||||
// Public signature debug description: putAll(kotlin.collections.Map<out|1:0?,1:1?>{EnhancedNullability}){}
|
||||
/* fake */ override fun putAll(p0: @EnhancedNullability Map<out K?, V?>): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// CHECK:
|
||||
// Mangled name: #consumeVarargs(kotlin.IntArray...){}
|
||||
// Public signature: /consumeVarargs|2702777436513705083[0]
|
||||
// Public signature debug description: consumeVarargs(kotlin.IntArray...){}
|
||||
fun consumeVarargs(vararg arr: Int): Unit
|
||||
|
||||
// CHECK JVM_IR:
|
||||
// Mangled name: #main(){}
|
||||
// Mangled name for the signature by IR: main(){}
|
||||
// Mangled name for the signature by Frontend: main(){}%IntArrayAsVararg.kt
|
||||
// Public signature: /main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
// CHECK JS_IR NATIVE:
|
||||
// Mangled name: #main(){}
|
||||
// Public signature: /main|-4284757841571462650[0]
|
||||
// Public signature debug description: main(){}
|
||||
fun main(): Unit
|
||||
@@ -2,6 +2,9 @@
|
||||
// WITH_STDLIB
|
||||
// ISSUE: KT-60312
|
||||
|
||||
// SEPARATE_SIGNATURE_DUMP_FOR_K2
|
||||
// ^ The main function has a different mangled name when it's computed from its K1 descriptor in K/JVM.
|
||||
|
||||
fun main() {
|
||||
consumeVarargs(1, 2)
|
||||
consumeVarargs(arr = intArrayOf(41, 42))
|
||||
|
||||
Reference in New Issue
Block a user