From 7a038f133022b7286d384ebe6b4e768031bfb95b Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 14 Mar 2019 18:29:19 +0300 Subject: [PATCH] Refactor sanitizeStackTrace function to spare allocations Use Arrays.copyOfRange instead of List.subList.toArray. --- .../stdlib/jvm/runtime/kotlin/jvm/internal/Intrinsics.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Intrinsics.java b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Intrinsics.java index 87a6aee393a..ca0440f0f8a 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Intrinsics.java +++ b/libraries/stdlib/jvm/runtime/kotlin/jvm/internal/Intrinsics.java @@ -248,8 +248,8 @@ public class Intrinsics { } } - List list = Arrays.asList(stackTrace).subList(lastIntrinsic + 1, size); - throwable.setStackTrace(list.toArray(new StackTraceElement[list.size()])); + StackTraceElement[] newStackTrace = Arrays.copyOfRange(stackTrace, lastIntrinsic + 1, size); + throwable.setStackTrace(newStackTrace); return throwable; } }