From 03afc1f2d8be05fa4ffe953cd94670fcdd311db3 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 15 Dec 2022 15:30:40 +0100 Subject: [PATCH] K2: don't create so large arrays in each CFGNode --- .../src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/CFGNode.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/CFGNode.kt b/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/CFGNode.kt index 82a3c44ce4c..126d9a95e81 100644 --- a/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/CFGNode.kt +++ b/compiler/fir/semantics/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/CFGNode.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.resolve.dfa.PersistentFlow import org.jetbrains.kotlin.fir.resolve.dfa.controlFlowGraph import org.jetbrains.kotlin.fir.visitors.FirTransformer import org.jetbrains.kotlin.fir.visitors.FirVisitor +import org.jetbrains.kotlin.utils.SmartList import org.jetbrains.kotlin.utils.addToStdlib.runIf @RequiresOptIn @@ -112,8 +113,8 @@ sealed class CFGNode(val owner: ControlFlowGraph, val level: owner.addNode(this) } - private val _previousNodes: MutableList> = mutableListOf() - private val _followingNodes: MutableList> = mutableListOf() + private val _previousNodes: MutableList> = SmartList() + private val _followingNodes: MutableList> = SmartList() val previousNodes: List> get() = _previousNodes val followingNodes: List> get() = _followingNodes