From d0d1824e7d1bee7d6202b030932ea9017ec7a8fb Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 15 Aug 2016 10:37:46 +0300 Subject: [PATCH] Optimize argument array creation in reflection call --- .../src/kotlin/reflect/jvm/internal/FunctionCaller.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/reflection.jvm/src/kotlin/reflect/jvm/internal/FunctionCaller.kt b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/FunctionCaller.kt index 2adf0e7f7bf..54ba74c8d13 100644 --- a/core/reflection.jvm/src/kotlin/reflect/jvm/internal/FunctionCaller.kt +++ b/core/reflection.jvm/src/kotlin/reflect/jvm/internal/FunctionCaller.kt @@ -95,7 +95,7 @@ internal abstract class FunctionCaller( class InstanceMethod(method: ReflectMethod) : Method(method) { override fun call(args: Array<*>): Any? { checkArguments(args) - return callMethod(args[0], args.asList().subList(1, args.size).toTypedArray()) + return callMethod(args[0], args.copyOfRange(1, args.size)) } } @@ -103,7 +103,7 @@ internal abstract class FunctionCaller( override fun call(args: Array<*>): Any? { checkArguments(args) checkObjectInstance(args.firstOrNull()) - return callMethod(null, args.asList().subList(1, args.size).toTypedArray()) + return callMethod(null, args.copyOfRange(1, args.size)) } }