# HG changeset patch # User Lukas Stadler # Date 1353927826 -3600 # Node ID 231cfb5490d3d4731ab3cabf68fdec868f4c8841 # Parent cc72b8b5edca3afa51709b14500f91bc5e41727a# Parent 17eeac928874df1e0c25420bbccf313c2e218537 Merge diff -r 17eeac928874 -r 231cfb5490d3 graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Fri Nov 23 16:03:39 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Mon Nov 26 12:03:46 2012 +0100 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.*; +import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.spi.*; import com.oracle.graal.nodes.type.*; @@ -52,4 +53,8 @@ } public abstract Object fieldName(int i); + + public void materializeAt(@SuppressWarnings("unused") FixedNode fixed) { + // nothing to do in here - this method allows subclasses to respond to materialization + } } diff -r 17eeac928874 -r 231cfb5490d3 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java Fri Nov 23 16:03:39 2012 +0100 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java Mon Nov 26 12:03:46 2012 +0100 @@ -119,6 +119,7 @@ materializeEffects.addFixedNodeBefore(newObject, fixed); } else { // some entries are not default constants - do the materialization + virtual.materializeAt(fixed); MaterializeObjectNode materialize = new MaterializeObjectNode(virtual, obj.getLockCount()); ValueNode[] values = new ValueNode[obj.getEntries().length]; materialize.setProbability(fixed.probability());