@Override protected final boolean goFurther(int nodeId) { if (tmpCounter > maxEdgesPerNode.get()) maxEdgesPerNode.set(tmpCounter); tmpCounter = 0; intList.add(nodeId); return true; }
@Override public void next(EdgeIteratorState eb, int index, int prevEdgeId) { nodes.add(eb.getAdjNode()); }
/** * @return the uncached node indices of the tower nodes in this path. */ public IntIndexedContainer calcNodes() { final IntArrayList nodes = new IntArrayList(edgeIds.size() + 1); if (edgeIds.isEmpty()) { if (isFound()) { nodes.add(endNode); } return nodes; } int tmpNode = getFromNode(); nodes.add(tmpNode); forEveryEdge(new EdgeVisitor() { @Override public void next(EdgeIteratorState eb, int index, int prevEdgeId) { nodes.add(eb.getAdjNode()); } @Override public void finish() { } }); return nodes; }
private Graph buildInterferenceGraph(List<Map<Instruction, BitSet>> liveInInformation, Program program) { GraphBuilder builder = new GraphBuilder(program.variableCount()); for (Map<Instruction, BitSet> blockLiveIn : liveInInformation) { for (BitSet liveVarsSet : blockLiveIn.values()) { IntArrayList liveVars = new IntArrayList(); for (int i = liveVarsSet.nextSetBit(0); i >= 0; i = liveVarsSet.nextSetBit(i + 1)) { liveVars.add(i); } int[] liveVarArray = liveVars.toArray(); for (int i = 0; i < liveVarArray.length - 1; ++i) { for (int j = i + 1; j < liveVarArray.length; ++j) { builder.addEdge(liveVarArray[i], liveVarArray[j]); builder.addEdge(liveVarArray[j], liveVarArray[i]); } } } } return builder.build(); }
public void apply(Program program, MethodReference method) { depthsByBlock = new IntArrayList(program.basicBlockCount()); for (int i = 0; i < program.basicBlockCount(); ++i) { depthsByBlock.add(0); } instructionsToSkip = new HashSet<>(); while (applyOnce(program)) { devirtualize(program, method, dependencyInfo); } depthsByBlock = null; instructionsToSkip = null; new UnreachableBasicBlockEliminator().optimize(program); }
@Override public boolean goFurther(int v) { counter++; assertTrue("v " + v + " is already contained in set. iteration:" + counter, !set.contains(v)); set.add(v); list.add(v); return super.goFurther(v); } };
@Override public boolean goFurther(int v) { counter++; assertTrue("v " + v + " is already contained in set. iteration:" + counter, !set.contains(v)); set.add(v); list.add(v); return super.goFurther(v); } };
@Override public boolean goFurther(int v) { counter++; assertTrue("v " + v + " is already contained in set. iteration:" + counter, !set.contains(v)); set.add(v); list.add(v); return super.goFurther(v); } };
@Override public boolean goFurther(int v) { counter++; assertTrue("v " + v + " is already contained in set. iteration:" + counter, !set.contains(v)); set.add(v); list.add(v); return super.goFurther(v); } };
void fillVirtualEdges(IntObjectMap<VirtualEdgeIterator> node2Edge, int towerNode, EdgeExplorer mainExpl) { if (isVirtualNode(towerNode)) throw new IllegalStateException("Node should not be virtual:" + towerNode + ", " + node2Edge); VirtualEdgeIterator vIter = node2Edge.get(towerNode); IntArrayList ignoreEdges = new IntArrayList(vIter.count() * 2); while (vIter.next()) { EdgeIteratorState edge = queryResults.get(vIter.getAdjNode() - mainNodes).getClosestEdge(); ignoreEdges.add(edge.getEdge()); } vIter.reset(); EdgeIterator iter = mainExpl.setBaseNode(towerNode); while (iter.next()) { if (!ignoreEdges.contains(iter.getEdge())) vIter.add(iter.detach(false)); } }
setEdgeTypeAndClearDistance(boardEdge, GtfsStorage.EdgeType.BOARD); while (boardEdges.size() < stopTime.stop_sequence) { boardEdges.add(-1); // Padding, so that index == stop_sequence boardEdges.add(boardEdge.getEdge()); gtfsStorage.getStopSequences().put(boardEdge.getEdge(), stopTime.stop_sequence); gtfsStorage.getTripDescriptors().put(boardEdge.getEdge(), tripDescriptor.toByteArray()); setEdgeTypeAndClearDistance(alightEdge, GtfsStorage.EdgeType.ALIGHT); while (alightEdges.size() < stopTime.stop_sequence) { alightEdges.add(-1); alightEdges.add(alightEdge.getEdge()); gtfsStorage.getStopSequences().put(alightEdge.getEdge(), stopTime.stop_sequence); gtfsStorage.getTripDescriptors().put(alightEdge.getEdge(), tripDescriptor.toByteArray());
public void add(int location, TermVectorsResponse response) { locations.add(location); responses.add(response); failures.add(null); }
public void add(int location, MultiTermVectorsResponse.Failure failure) { locations.add(location); responses.add(null); failures.add(failure); }
public void add(int location, GetResponse response) { locations.add(location); responses.add(response); failures.add(null); }
public void add(int location, MultiGetResponse.Failure failure) { locations.add(location); responses.add(null); failures.add(failure); }
depthsByBlock.add(planEntry.depth + 1);
@Override public void readFrom(StreamInput in) throws IOException { super.readFrom(in); int size = in.readVInt(); locations = new IntArrayList(size); requests = new ArrayList<>(size); for (int i = 0; i < size; i++) { locations.add(in.readVInt()); requests.add(TermVectorsRequest.readTermVectorsRequest(in)); } preference = in.readOptionalString(); }