@Override public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) { return delegate.getInstanceKeyForMultiNewArray(node, allocation, dim); }
@Override public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) { return h.getInstanceKeyForMultiNewArray(node, allocation, dim); }
@Override public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) { return delegate.getInstanceKeyForMultiNewArray(node, allocation, dim); }
@Override public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) { return h.getInstanceKeyForMultiNewArray(node, allocation, dim); }
public static InstanceKey mapInstKey(InstanceKey ik, CallGraph fromCG, CallGraph toCG, HeapModel heapModel) throws UnimplementedError, NullPointerException { InstanceKey ret = null; if (ik instanceof InstanceKeyWithNode) { CGNode oldCGNode = ((InstanceKeyWithNode) ik).getNode(); CGNode newCGNode = mapCGNode(oldCGNode, fromCG, toCG); if (newCGNode == null) { return null; } if (ik instanceof AllocationSiteInNode) { if (ik instanceof NormalAllocationInNode) { ret = heapModel.getInstanceKeyForAllocation(newCGNode, ((AllocationSiteInNode) ik).getSite()); } else if (ik instanceof MultiNewArrayInNode) { MultiNewArrayInNode mnik = (MultiNewArrayInNode) ik; ret = heapModel.getInstanceKeyForMultiNewArray(newCGNode, mnik.getSite(), mnik.getDim()); } else { Assertions.UNREACHABLE(); } } else { Assertions.UNREACHABLE(); } } else if (ik instanceof ConcreteTypeKey) { return ik; } else { Assertions.UNREACHABLE(); } assert ret != null; assert ret.getClass() == ik.getClass(); return ret; }
public static InstanceKey mapInstKey(InstanceKey ik, CallGraph fromCG, CallGraph toCG, HeapModel heapModel) throws UnimplementedError, NullPointerException { InstanceKey ret = null; if (ik instanceof InstanceKeyWithNode) { CGNode oldCGNode = ((InstanceKeyWithNode) ik).getNode(); CGNode newCGNode = mapCGNode(oldCGNode, fromCG, toCG); if (newCGNode == null) { return null; } if (ik instanceof AllocationSiteInNode) { if (ik instanceof NormalAllocationInNode) { ret = heapModel.getInstanceKeyForAllocation(newCGNode, ((AllocationSiteInNode) ik).getSite()); } else if (ik instanceof MultiNewArrayInNode) { MultiNewArrayInNode mnik = (MultiNewArrayInNode) ik; ret = heapModel.getInstanceKeyForMultiNewArray(newCGNode, mnik.getSite(), mnik.getDim()); } else { Assertions.UNREACHABLE(); } } else { Assertions.UNREACHABLE(); } } else if (ik instanceof ConcreteTypeKey) { return ik; } else { Assertions.UNREACHABLE(); } assert ret != null; assert ret.getClass() == ik.getClass(); return ret; }
InstanceKey ik = heapModel.getInstanceKeyForMultiNewArray(node, instruction.getNewSite(), dim); PointerKey pk = heapModel.getPointerKeyForArrayContents(lastInstance);
InstanceKey ik = heapModel.getInstanceKeyForMultiNewArray(node, instruction.getNewSite(), dim); PointerKey pk = heapModel.getPointerKeyForArrayContents(lastInstance);
InstanceKey ik = heapModel.getInstanceKeyForMultiNewArray(node, instruction.getNewSite(), dim); PointerKey pk = heapModel.getPointerKeyForArrayContents(lastInstance); addNode(ik);
InstanceKey ik = heapModel.getInstanceKeyForMultiNewArray(node, instruction.getNewSite(), dim); PointerKey pk = heapModel.getPointerKeyForArrayContents(lastInstance); addNode(ik);