From b21dc601d5ad8fa09b35b80fe421fb8fa09584fd Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Wed, 16 Nov 2016 15:05:40 +0100 Subject: [PATCH] =?UTF-8?q?use=20=E2=80=9CpreviousLookups=E2=80=9D=20to=20?= =?UTF-8?q?speed=20up=20FrameSlotChangeMonitor.invalidateAllNames?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../r/runtime/env/frame/FrameSlotChangeMonitor.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/frame/FrameSlotChangeMonitor.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/frame/FrameSlotChangeMonitor.java index c616637b9d..8455c58c0c 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/frame/FrameSlotChangeMonitor.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/env/frame/FrameSlotChangeMonitor.java @@ -391,9 +391,11 @@ public final class FrameSlotChangeMonitor { } } target.lookupResults.clear(); - target.previousLookups.clear(); - for (FrameDescriptor sub : target.subDescriptors) { - invalidateAllNames(getMetaData(sub)); + if (!target.previousLookups.isEmpty()) { + target.previousLookups.clear(); + for (FrameDescriptor sub : target.subDescriptors) { + invalidateAllNames(getMetaData(sub)); + } } } -- GitLab