changeset 18832:5d36d7eeb13d

Removed unused BlockPlaceholderNode.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sun, 11 Jan 2015 23:47:28 +0100
parents c142633a6304
children 2f78f970adea
files graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
diffstat 1 files changed, 0 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Sun Jan 11 23:46:00 2015 +0100
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Sun Jan 11 23:47:28 2015 +0100
@@ -42,7 +42,6 @@
 import com.oracle.graal.java.BciBlockMapping.BciBlock;
 import com.oracle.graal.java.BciBlockMapping.ExceptionDispatchBlock;
 import com.oracle.graal.java.BciBlockMapping.LocalLiveness;
-import com.oracle.graal.nodeinfo.*;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.CallTargetNode.InvokeKind;
 import com.oracle.graal.nodes.calc.*;
@@ -94,37 +93,6 @@
         private final OptimisticOptimizations optimisticOpts;
 
         /**
-         * Node that marks the begin of block during bytecode parsing. When a block is identified
-         * the first time as a jump target, the placeholder is created and used as the successor for
-         * the jump. When the block is seen the second time, a {@link MergeNode} is created to
-         * correctly merge the now two different predecessor states.
-         */
-        @NodeInfo
-        protected static class BlockPlaceholderNode extends FixedWithNextNode {
-
-            /*
-             * Cannot be explicitly declared as a Node type since it is not an input; would cause
-             * the !NODE_CLASS.isAssignableFrom(type) guarantee in
-             * NodeClass.FieldScanner.scanField() to fail.
-             */
-            protected final Object nextPlaceholder;
-
-            public static BlockPlaceholderNode create(BytecodeParser builder) {
-                return new BlockPlaceholderNode(builder);
-            }
-
-            protected BlockPlaceholderNode(BytecodeParser builder) {
-                super(StampFactory.forVoid());
-                nextPlaceholder = builder.placeholders;
-                builder.placeholders = this;
-            }
-
-            BlockPlaceholderNode nextPlaceholder() {
-                return (BlockPlaceholderNode) nextPlaceholder;
-            }
-        }
-
-        /**
          * Gets the current frame state being processed by this builder.
          */
         protected HIRFrameStateBuilder getCurrentFrameState() {
@@ -198,10 +166,6 @@
 
             private BciBlock[] loopHeaders;
             private LocalLiveness liveness;
-            /**
-             * Head of placeholder list.
-             */
-            public BlockPlaceholderNode placeholders;
 
             public BytecodeParser(MetaAccessProvider metaAccess, ResolvedJavaMethod method, GraphBuilderConfiguration graphBuilderConfig, OptimisticOptimizations optimisticOpts,
                             HIRFrameStateBuilder frameState, BytecodeStream stream, ProfilingInfo profilingInfo, ConstantPool constantPool, int entryBCI) {
@@ -263,14 +227,6 @@
 
                     connectLoopEndToBegin();
 
-                    // remove Placeholders
-                    for (BlockPlaceholderNode n = placeholders; n != null; n = n.nextPlaceholder()) {
-                        if (!n.isDeleted()) {
-                            currentGraph.removeFixed(n);
-                        }
-                    }
-                    placeholders = null;
-
                     // remove dead parameters
                     for (ParameterNode param : currentGraph.getNodes(ParameterNode.class)) {
                         if (param.usages().isEmpty()) {