Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/C1XCompilation.java @ 2616:3558ca7088c0
FrameState and Graphviz changes:
* removed popx, pushx methods from GraphBuilder
* FrameState subclass of Value
* added String shortName() to Node
* added GraphvizPrinter option to use short names
* small hack in GraphvizPrinter: omit FrameState->Local connections
* added GraalGraphviz to implicit classpatch (read from GRAAL env var)
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Mon, 09 May 2011 17:00:25 +0200 |
parents | bd235cb4375a |
children | c93adece95d2 |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/C1XCompilation.java Mon May 09 14:11:13 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/C1XCompilation.java Mon May 09 17:00:25 2011 +0200 @@ -25,6 +25,7 @@ import java.util.*; +import com.oracle.graal.graph.*; import com.sun.c1x.alloc.*; import com.sun.c1x.asm.*; import com.sun.c1x.gen.*; @@ -56,6 +57,8 @@ public final CiAssumptions assumptions = new CiAssumptions(); public final FrameState placeholderState; + public final Graph graph = new Graph(); + private boolean hasExceptionHandlers; private final C1XCompilation parent; @@ -94,7 +97,7 @@ this.method = method; this.stats = stats == null ? new CiStatistics() : stats; this.registerConfig = method == null ? compiler.globalStubRegisterConfig : runtime.getRegisterConfig(method); - this.placeholderState = method != null && method.minimalDebugInfo() ? new FrameState(0, 0, 0, 0) : null; + this.placeholderState = method != null && method.minimalDebugInfo() ? new FrameState(0, 0, 0, 0, graph) : null; if (compiler.isObserved()) { compiler.fireCompilationStarted(new CompilationEvent(this)); @@ -166,7 +169,7 @@ */ public BlockMap getBlockMap(RiMethod method) { // PERF: cache the block map for methods that are compiled or inlined often - BlockMap map = new BlockMap(method, hir.numberOfBlocks(), hir.graph()); + BlockMap map = new BlockMap(method, hir.numberOfBlocks(), graph); if (!map.build(C1XOptions.PhiLoopStores)) { throw new CiBailout("build of BlockMap failed for " + method); } else {