From fd787ecd8fd455ecd63ed2f380ecf18afeda3afc Mon Sep 17 00:00:00 2001 From: Florian Angerer <florian.angerer@oracle.com> Date: Thu, 10 Aug 2017 13:57:42 +0200 Subject: [PATCH] Weakened assertions in case the old and the new parent envs are the same. --- .../r/runtime/env/frame/FrameSlotChangeMonitor.java | 7 ++++--- 1 file changed, 4 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 a4c446d704..47d82e72ec 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 @@ -374,14 +374,15 @@ public final class FrameSlotChangeMonitor { invalidateAllNames(target); FrameDescriptor oldEnclosingDescriptor = target.getEnclosingFrameDescriptor(); - assert (oldEnclosingDescriptor == null) == (oldEnclosingFrame == null) : "mismatch " + oldEnclosingDescriptor + " / " + oldEnclosingFrame; + FrameDescriptor newEnclosingDescriptor = handleBaseNamespaceEnv(newEnclosingFrame); + assert newEnclosingDescriptor == oldEnclosingDescriptor || (oldEnclosingDescriptor == null) == (oldEnclosingFrame == null) : "mismatch " + oldEnclosingDescriptor + " / " + oldEnclosingFrame; if (oldEnclosingDescriptor != null) { - assert oldEnclosingDescriptor == oldEnclosingFrame.getFrameDescriptor() : "mismatch " + oldEnclosingDescriptor + " / " + oldEnclosingFrame.getFrameDescriptor(); + assert newEnclosingDescriptor == oldEnclosingDescriptor || oldEnclosingDescriptor == oldEnclosingFrame.getFrameDescriptor() : "mismatch " + oldEnclosingDescriptor + " / " + + oldEnclosingFrame.getFrameDescriptor(); FrameDescriptorMetaData oldEnclosing = getMetaData(oldEnclosingDescriptor); oldEnclosing.subDescriptors.remove(descriptor); } - FrameDescriptor newEnclosingDescriptor = handleBaseNamespaceEnv(newEnclosingFrame); target.updateEnclosingFrameDescriptor(newEnclosingDescriptor); if (newEnclosingDescriptor != null) { -- GitLab