@Override public void addNode(ValueNode node) { if (node instanceof FloatingNode) { effects.addFloatingNode(node, "VirtualizerTool"); } else { effects.addFixedNodeBefore((FixedWithNextNode) node, position); } }
@Override public void createVirtualObject( VirtualObjectNode virtualObject, ValueNode[] entryState, int[] locks) { VirtualUtil.trace("{{%s}} ", current); if (virtualObject.isAlive()) { state.addAndMarkAlias(virtualObject, virtualObject, usages); } else { effects.addFloatingNode(virtualObject, "newVirtualObject"); } for (int i = 0; i < entryState.length; i++) { entryState[i] = state.getScalarAlias(entryState[i]); } state.addObject( virtualObject, new ObjectState(virtualObject, entryState, EscapeState.Virtual, locks)); state.addAndMarkAlias(virtualObject, virtualObject, usages); PartialEscapeClosure.METRIC_ALLOCATION_REMOVED.increment(); }