changeset 10679:fa86a653bc0d

Truffle: ensure frame assumption is recorded for materialized frames
author Andreas Woess <andreas.woess@jku.at>
date Tue, 09 Jul 2013 19:45:35 +0200
parents 3bbe14e492fb
children 0c570e82cc1d
files graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameAccessNode.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameAccessNode.java	Tue Jul 09 20:06:15 2013 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/FrameAccessNode.java	Tue Jul 09 19:45:35 2013 +0200
@@ -32,6 +32,7 @@
 import com.oracle.graal.nodes.java.*;
 import com.oracle.graal.nodes.spi.*;
 import com.oracle.graal.nodes.type.*;
+import com.oracle.graal.truffle.*;
 import com.oracle.truffle.api.frame.*;
 
 /**
@@ -145,6 +146,8 @@
             if (!isValidAccessKind()) {
                 tool.deleteBranch(this.next());
                 this.replaceAndDelete(graph().add(new DeoptimizeNode(DeoptimizationAction.InvalidateReprofile, DeoptimizationReason.UnreachedCode)));
+            } else {
+                tool.assumptions().record(new AssumptionValidAssumption((OptimizedAssumption) getFrameSlot().getFrameDescriptor().getVersion()));
             }
         }
     }