changeset 2775:3b73b230b86b

Removed more stateAfter usages.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Tue, 24 May 2011 13:51:32 +0200
parents 93fd92c9f8b0
children 398b8fa5dc81
files graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java
diffstat 4 files changed, 5 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java	Tue May 24 13:39:50 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/alloc/LinearScan.java	Tue May 24 13:51:32 2011 +0200
@@ -1263,21 +1263,6 @@
 
             } // end of instruction iteration
 
-            // (tw) Make sure that no spill store optimization is applied for phi instructions that flow into exception handlers.
-//            if (block.isExceptionEntry()) {
-//                FrameState stateBefore = block.stateBefore();
-//                stateBefore.forEachLivePhi(block, new PhiProcedure() {
-//                    @Override
-//                    public boolean doPhi(Phi phi) {
-//                        Interval interval = intervalFor(phi.operand());
-//                        if (interval != null) {
-//                            interval.setSpillState(SpillState.NoOptimization);
-//                        }
-//                        return true;
-//                    }
-//                });
-//            }
-
         } // end of block iteration
 
         // add the range [0, 1] to all fixed intervals.
--- a/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Tue May 24 13:39:50 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Tue May 24 13:51:32 2011 +0200
@@ -599,7 +599,7 @@
         if (x.kind.isVoid()) {
             XirSnippet epilogue = xir.genEpilogue(site(x), compilation.method);
             if (epilogue != null) {
-                emitXir(epilogue, x, stateFor(x), compilation.method, false);
+                emitXir(epilogue, x, null, compilation.method, false);
                 lir.returnOp(IllegalValue);
             }
         } else {
@@ -607,7 +607,7 @@
             CiValue result = force(x.result(), operand);
             XirSnippet epilogue = xir.genEpilogue(site(x), compilation.method);
             if (epilogue != null) {
-                emitXir(epilogue, x, stateFor(x, x.stateAfter()), compilation.method, false);
+                emitXir(epilogue, x, null, compilation.method, false);
                 lir.returnOp(result);
             }
         }
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Tue May 24 13:39:50 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java	Tue May 24 13:51:32 2011 +0200
@@ -1167,7 +1167,7 @@
         }
     }
 
-    private BlockEnd iterateBytecodesForBlock(Block block) {
+    private void iterateBytecodesForBlock(Block block) {
         assert frameState != null;
 
         stream.setBCI(block.startBci);
@@ -1207,17 +1207,6 @@
             }
             blockStart = false;
         }
-
-        // if the method terminates, we don't need the stack anymore
-        if (end instanceof Return || end instanceof Throw) {
-            frameState.clearStack();
-        }
-
-        // connect to begin and set state
-        // NOTE that inlining may have changed the block we are parsing
-        assert end != null : "end should exist after iterating over bytecodes";
-        end.setStateAfter(frameState.create(bci()));
-        return end;
     }
 
     private void traceState() {
--- a/graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java	Tue May 24 13:39:50 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java	Tue May 24 13:51:32 2011 +0200
@@ -78,6 +78,8 @@
         this.locksSize = locksSize;
         C1XMetrics.FrameStatesCreated++;
         C1XMetrics.FrameStateValuesCreated += localsSize + stackSize + locksSize;
+        //Exception e = new Exception();
+        //e.printStackTrace();
     }
 
     FrameState(int bci, Value[] locals, Value[] stack, int stackSize, ArrayList<Value> locks, Graph graph) {