comparison graal/com.oracle.max.graal.java/src/com/oracle/max/graal/java/FrameStateBuilder.java @ 4678:a03f3fd16b22

Fix reexecute boolean in HotSpot debug information. Introduce "duringCall" flag in FrameState that indicates that the bci of the frame state denotes an invoke that should *not* be reexecuted.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 23 Feb 2012 21:43:59 +0100
parents 14a00ee82980
children b11561111585
comparison
equal deleted inserted replaced
4677:74c0b866fe8d 4678:a03f3fd16b22
106 } 106 }
107 this.rethrowException = other.rethrowException(); 107 this.rethrowException = other.rethrowException();
108 } 108 }
109 109
110 public FrameState create(int bci) { 110 public FrameState create(int bci) {
111 return graph.add(new FrameState(method, bci, locals, stack, stackIndex, rethrowException)); 111 return graph.add(new FrameState(method, bci, locals, stack, stackIndex, rethrowException, false));
112 } 112 }
113 113
114 public FrameState duplicateWithException(int bci, ValueNode exceptionObject) { 114 public FrameState duplicateWithException(int bci, ValueNode exceptionObject) {
115 FrameState frameState = graph.add(new FrameState(method, bci, locals, new ValueNode[]{exceptionObject}, 1, true)); 115 FrameState frameState = graph.add(new FrameState(method, bci, locals, new ValueNode[]{exceptionObject}, 1, true, false));
116 frameState.setOuterFrameState(outerFrameState()); 116 frameState.setOuterFrameState(outerFrameState());
117 return frameState; 117 return frameState;
118 } 118 }
119 119
120 /** 120 /**
462 public FrameState outerFrameState() { 462 public FrameState outerFrameState() {
463 return null; 463 return null;
464 } 464 }
465 465
466 public FrameState duplicateWithoutStack(int bci) { 466 public FrameState duplicateWithoutStack(int bci) {
467 FrameState frameState = graph.add(new FrameState(method, bci, locals, new ValueNode[0], 0, false)); 467 FrameState frameState = graph.add(new FrameState(method, bci, locals, new ValueNode[0], 0, false, false));
468 frameState.setOuterFrameState(outerFrameState()); 468 frameState.setOuterFrameState(outerFrameState());
469 return frameState; 469 return frameState;
470 } 470 }
471 471
472 @Override 472 @Override