Mercurial > hg > graal-compiler
changeset 2636:8c02ca1e9eb1
Fixed bci for stateBefore in BlockBegin
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 11 May 2011 11:43:44 +0200 |
parents | 0f69be73d5ce |
children | 152d4a8dc7ad |
files | graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java graal/GraalCompiler/src/com/sun/c1x/value/FrameStateAccess.java graal/GraalCompiler/src/com/sun/c1x/value/FrameStateBuilder.java |
diffstat | 4 files changed, 12 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java Wed May 11 11:21:15 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/ir/BlockBegin.java Wed May 11 11:43:44 2011 +0200 @@ -390,7 +390,8 @@ } // copy state because it is modified - FrameState duplicate = newState.duplicate(); + FrameState duplicate = newState.duplicate(bci()); + assert duplicate.bci == bci() : "duplicate.bci=" + duplicate.bci + " my bci=" + bci(); if (C1XOptions.UseStackMapTableLiveness) { // if a liveness map is available, use it to invalidate dead locals
--- a/graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java Wed May 11 11:21:15 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/value/FrameState.java Wed May 11 11:43:44 2011 +0200 @@ -96,8 +96,8 @@ /** * Gets a copy of this frame state. */ - public FrameState duplicate() { - FrameState other = copy(); + public FrameState duplicate(int bci) { + FrameState other = copy(bci); other.inputs().setAll(inputs()); return other; } @@ -449,6 +449,11 @@ return new FrameState(bci, localsSize, stackSize, locksSize, graph()); } + + private FrameState copy(int newBci) { + return new FrameState(newBci, localsSize, stackSize, locksSize, graph()); + } + @Override public String shortName() { return "FrameState@" + bci;
--- a/graal/GraalCompiler/src/com/sun/c1x/value/FrameStateAccess.java Wed May 11 11:21:15 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/value/FrameStateAccess.java Wed May 11 11:43:44 2011 +0200 @@ -26,7 +26,7 @@ public interface FrameStateAccess { - FrameState duplicate(); + FrameState duplicate(int newBci); int localsSize();
--- a/graal/GraalCompiler/src/com/sun/c1x/value/FrameStateBuilder.java Wed May 11 11:21:15 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/value/FrameStateBuilder.java Wed May 11 11:43:44 2011 +0200 @@ -456,8 +456,8 @@ @Override - public FrameState duplicate() { - return create(-1); + public FrameState duplicate(int bci) { + return create(bci); } @Override