Make it work with GraalVML
diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/DataCopy.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/DataCopy.kt
index 255b171..bee5834 100644
--- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/DataCopy.kt
+++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/intrinsics/DataCopy.kt
@@ -71,7 +71,7 @@
Opcodes.H_INVOKESTATIC,
"kotlin/internal/DataCopyBootstrap",
"bootstrap",
- "(Ljava/lang/invoke/MethodHandles\$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;[I)Ljava/lang/invoke/CallSite;",
+ "(Ljava/lang/invoke/MethodHandles\$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;",
false
)
diff --git a/libraries/stdlib/jdk8/src/kotlin/internal/DataCopyBootstrap.kt b/libraries/stdlib/jdk8/src/kotlin/internal/DataCopyBootstrap.kt
index cc0354b..30f37b4 100644
--- a/libraries/stdlib/jdk8/src/kotlin/internal/DataCopyBootstrap.kt
+++ b/libraries/stdlib/jdk8/src/kotlin/internal/DataCopyBootstrap.kt
@@ -23,7 +23,8 @@
// these will eventually be given from the constant pool
// https://docs.oracle.com/javase/specs/jvms/se17/html/jvms-4.html#jvms-4.4
klass: Class<*>,
- vararg givenComponents: Int,
+ // GraalVM requires vararg in invokedynamic to be Object
+ vararg givenComponents: Any,
): CallSite? {
// requirements
require(name == "copy") { "Only copy is supported" }