public Label getLabelAtAddress(int address) { for (Label lb : stmtToLabel.values()) { if (lb.isPlaced() && lb.getCodeAddress() == address) { return lb; } } return null; }
@Override public Op create(MethodLocation location, TIntObjectMap<MethodLocation> addressToLocation, VirtualMachine vm) { BuilderInstruction instruction = (BuilderInstruction) location.getInstruction(); Label target = ((BuilderOffsetInstruction) instruction).getTarget(); int targetAddress = target.getCodeAddress(); MethodLocation child = addressToLocation.get(targetAddress); return new GotoOp(location, child); } }
Stmt endStmt = (Stmt) t.getEndUnit(); int startCodeAddress = labelAssigner.getLabel(beginStmt).getCodeAddress(); int endCodeAddress = labelAssigner.getLabel(endStmt).getCodeAddress(); CodeRange range = new CodeRange(startCodeAddress, endCodeAddress); int codeAddress = labelAssigner.getLabel((Stmt) t.getHandlerUnit()).getCodeAddress(); ImmutableExceptionHandler exceptionHandler = new ImmutableExceptionHandler(exceptionType, codeAddress);
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); }
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getStartCodeAddress() { return start.getCodeAddress(); }
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); } };
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); }
@Override public int getHandlerCodeAddress() { return handler.getCodeAddress(); }
@Override public int getCodeUnitCount() { return end.getCodeAddress() - start.getCodeAddress(); }
int internalGetCodeOffset() { return target.getCodeAddress() - this.getLocation().getCodeAddress(); }
@Override public int getOffset() { return target.getCodeAddress() - parent.getReferrer().getCodeAddress(); }
int internalGetCodeOffset() { return target.getCodeAddress() - this.getLocation().getCodeAddress(); }
@Override public int getOffset() { return target.getCodeAddress() - parent.getReferrer().getCodeAddress(); }