private T pruneEntry(FixedNode x) { T result = nodeStates.removeKey(x); assert result != null; return result; } }
@Override public void remove(Value value) { data.removeKey(value); }
public void removeLeafCallsite(Invokable invokable) { leaves.removeKey(invokable); }
private void invalidateNotInFrameAssumption(Object identifier) { if (identifierToNotInFrameAssumptionMap != null) { Assumption assumption = identifierToNotInFrameAssumptionMap.get(identifier); if (assumption != null) { assumption.invalidate(); identifierToNotInFrameAssumptionMap.removeKey(identifier); } } }
private void invalidateNotInFrameAssumption(Object identifier) { if (identifierToNotInFrameAssumptionMap != null) { Assumption assumption = identifierToNotInFrameAssumptionMap.get(identifier); if (assumption != null) { assumption.invalidate(); identifierToNotInFrameAssumptionMap.removeKey(identifier); } } }
public void updateExistingCallsite(Invokable previousInvoke, Invokable newInvoke) { Callsite callsite = leaves.get(previousInvoke); leaves.removeKey(previousInvoke); leaves.put(newInvoke, callsite); callsite.invoke = newInvoke; }
private static <StateT> ArrayList<StateT> mergeStates(EconomicMap<FixedNode, StateT> states, StateT state, Block current, Block successor, AbstractMergeNode merge) { ArrayList<StateT> mergedStates = new ArrayList<>(merge.forwardEndCount()); for (Block predecessor : successor.getPredecessors()) { assert predecessor == current || states.containsKey(predecessor.getEndNode()); StateT endState = predecessor == current ? state : states.removeKey(predecessor.getEndNode()); mergedStates.add(endState); } return mergedStates; }
/** * Updates this object with the given key/value pair. * * @see #UNSET_KEY */ public void update(OptionKey<?> key, Object value) { UnmodifiableEconomicMap<OptionKey<?>, Object> expect; EconomicMap<OptionKey<?>, Object> newMap; do { expect = v.get(); newMap = EconomicMap.create(Equivalence.IDENTITY, expect); if (value == UNSET_KEY) { newMap.removeKey(key); } else { key.update(newMap, value); // Need to do the null encoding here as `key.update()` doesn't do it newMap.put(key, encodeNull(value)); } } while (!v.compareAndSet(expect, newMap)); }
/** * Removes a slot. If the identifier is found, its slot is removed from this descriptor. This is * a slow operation. * * @param identifier identifies the slot to remove * @throws IllegalArgumentException if no such frame slot exists * @since 0.8 or earlier */ public void removeFrameSlot(Object identifier) { CompilerAsserts.neverPartOfCompilation(NEVER_PART_OF_COMPILATION_MESSAGE); synchronized (lock) { FrameSlot slot = identifierToSlotMap.get(identifier); if (slot == null) { throw new IllegalArgumentException("no such frame slot: " + identifier); } slots.remove(slot); identifierToSlotMap.removeKey(identifier); updateVersion(); getNotInFrameAssumption(identifier); } }
/** * Removes a slot. If the identifier is found, its slot is removed from this descriptor. This is * a slow operation. * * @param identifier identifies the slot to remove * @throws IllegalArgumentException if no such frame slot exists * @since 0.8 or earlier */ public void removeFrameSlot(Object identifier) { CompilerAsserts.neverPartOfCompilation(NEVER_PART_OF_COMPILATION_MESSAGE); if (!identifierToSlotMap.containsKey(identifier)) { throw new IllegalArgumentException("no such frame slot: " + identifier); } slots.remove(identifierToSlotMap.get(identifier)); identifierToSlotMap.removeKey(identifier); updateVersion(); getNotInFrameAssumption(identifier); }
void removeNodeFromCache(Node node) { assert node.graph() == this || node.graph() == null; assert node.getNodeClass().valueNumberable(); assert node.getNodeClass().isLeafNode() : node.getClass(); int leafId = node.getNodeClass().getLeafId(); if (cachedLeafNodes != null && cachedLeafNodes.length > leafId && cachedLeafNodes[leafId] != null) { cachedLeafNodes[leafId].removeKey(node); } }
/** * Removes the plugins from {@code other} in this object that were added by * {@link #addTestPlugins}. */ public synchronized void removeTestPlugins(InvocationPlugins other) { assert resolvedRegistrations == null : "registration is closed"; if (testExtensions != null) { MapCursor<String, List<Binding>> c = other.getBindings(false).getEntries(); while (c.advance()) { String declaringClass = c.getKey(); List<Binding> bindings = testExtensions.get(declaringClass); if (bindings != null) { for (Binding b : c.getValue()) { int index = findBinding(bindings, b); if (index != -1) { bindings.remove(index); } } if (bindings.isEmpty()) { testExtensions.removeKey(declaringClass); } } } if (testExtensions.isEmpty()) { testExtensions = null; } } }
/** * Updates this object with the key/value pairs in {@code values}. * * @see #UNSET_KEY */ public void update(UnmodifiableEconomicMap<OptionKey<?>, Object> values) { if (values.isEmpty()) { return; } UnmodifiableEconomicMap<OptionKey<?>, Object> expect; EconomicMap<OptionKey<?>, Object> newMap; do { expect = v.get(); newMap = EconomicMap.create(Equivalence.IDENTITY, expect); UnmodifiableMapCursor<OptionKey<?>, Object> cursor = values.getEntries(); while (cursor.advance()) { OptionKey<?> key = cursor.getKey(); Object value = cursor.getValue(); if (value == UNSET_KEY) { newMap.removeKey(key); } else { key.update(newMap, value); // Need to do the null encoding here as `key.update()` doesn't do it newMap.put(key, encodeNull(value)); } } } while (!v.compareAndSet(expect, newMap)); }
AbstractEndNode forwardEnd = merge.forwardEndAt(i); assert forwardEnd == current || blockEndStates.containsKey(forwardEnd); StateT other = forwardEnd == current ? state : blockEndStates.removeKey(forwardEnd); states.add(other); current = nodeQueue.removeFirst(); assert blockEndStates.containsKey(current); state = blockEndStates.removeKey(current); assert !(current instanceof AbstractMergeNode) && current instanceof AbstractBeginNode;
callsite.decisions.add(decision); if (positive) { leaves.removeKey(invoke); if (calleeLog == null) { return;
markedNodes.add(fixedNode); if (fixedNode instanceof AbstractMergeNode) { unmarkedMerges.removeKey((AbstractMergeNode) fixedNode);
assert current.getPredecessorCount() == 1; assert states.containsKey(current.getBeginNode()); state = states.removeKey(current.getBeginNode());
reachableSplits.removeKey(controlSplitNode); stack.push(AbstractBeginNode.prevBegin((FixedNode) controlSplitNode.predecessor())); } else {