Mercurial > hg > graal-jvmci-8
diff graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java @ 2848:c061a6be3728
merge
author | Gilles Duboscq <gilles.duboscq@oracle.com> |
---|---|
date | Tue, 31 May 2011 15:19:30 +0200 |
parents | caf55daa41dc c1c8a0291771 |
children | 7474789a8120 |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java Tue May 31 15:19:08 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java Tue May 31 15:19:30 2011 +0200 @@ -215,7 +215,7 @@ public final LIRDebugInfo info; public DeoptimizationStub(FrameState state) { - info = new LIRDebugInfo(state, null); + info = new LIRDebugInfo(state); } } @@ -387,7 +387,7 @@ dims[i] = toXirArgument(x.dimension(i)); } - XirSnippet snippet = xir.genNewMultiArray(site(x), dims, x.elementKind); + XirSnippet snippet = xir.genNewMultiArray(site(x), dims, x.elementType); emitXir(snippet, x, stateFor(x), null, true); } @@ -476,6 +476,9 @@ RiMethod target = x.target(); LIRDebugInfo info = stateFor(x, stateBeforeInvokeWithArguments(x)); LIRDebugInfo info2 = stateFor(x, stateBeforeInvokeReturn(x)); + if (x.exceptionEdge() != null) { + info2.setExceptionEdge(getLIRBlock(x.exceptionEdge())); + } XirSnippet snippet = null; @@ -879,20 +882,6 @@ } @Override - public void visitThrow(Throw x) { - setNoResult(x); - CiValue exceptionOpr = load(x.exception()); - LIRDebugInfo info = stateFor(x, x.stateBefore()); - - // move exception oop into fixed register - CiCallingConvention callingConvention = compilation.frameMap().getCallingConvention(new CiKind[]{CiKind.Object}, RuntimeCall); - CiValue argumentOperand = callingConvention.locations[0]; - lir.move(exceptionOpr, argumentOperand); - - lir.throwException(CiValue.IllegalValue, argumentOperand, info); - } - - @Override public void visitDeoptimize(Deoptimize deoptimize) { DeoptimizationStub stub = new DeoptimizationStub(lastState); addDeoptimizationStub(stub); @@ -1487,16 +1476,7 @@ if (compilation.placeholderState != null) { state = compilation.placeholderState; } - - assert state != null; - LIRBlock exceptionEdge = null; - if (x instanceof ExceptionEdgeInstruction) { - Instruction begin = ((ExceptionEdgeInstruction) x).exceptionEdge(); - if (begin != null) { - exceptionEdge = getLIRBlock(begin); - } - } - return new LIRDebugInfo(state, exceptionEdge); + return new LIRDebugInfo(state); } List<CiValue> visitInvokeArguments(CiCallingConvention cc, Invoke x, List<CiValue> pointerSlots) {