public final class AddressAllocator
extends java.lang.Object
AddressAllocator
implements a region-sensitive address (tag, index, etc.) allocator for
memory subsystem buffers.Constructor and Description |
---|
AddressAllocator(java.util.Map<MmuAddressInstance,java.util.Collection<? extends Range<java.lang.Long>>> regions) |
Modifier and Type | Method and Description |
---|---|
long |
allocateAddress(MmuAddressInstance address,
long partialAddress,
Range<java.lang.Long> region,
boolean peek) |
long |
allocateIndex(MmuBuffer buffer,
long partialAddress,
Range<java.lang.Long> region,
boolean peek,
java.util.Set<java.lang.Long> exclude) |
long |
allocateTag(MmuBuffer buffer,
long partialAddress,
Range<java.lang.Long> region,
boolean peek,
java.util.Set<java.lang.Long> exclude) |
java.util.Collection<java.lang.Long> |
getAllAddresses(MmuAddressInstance address,
Range<java.lang.Long> region) |
long |
getSignificatBitsMask(MmuAddressInstance address) |
void |
reset() |
public AddressAllocator(java.util.Map<MmuAddressInstance,java.util.Collection<? extends Range<java.lang.Long>>> regions)
public long allocateTag(MmuBuffer buffer, long partialAddress, Range<java.lang.Long> region, boolean peek, java.util.Set<java.lang.Long> exclude)
public long allocateIndex(MmuBuffer buffer, long partialAddress, Range<java.lang.Long> region, boolean peek, java.util.Set<java.lang.Long> exclude)
public long allocateAddress(MmuAddressInstance address, long partialAddress, Range<java.lang.Long> region, boolean peek)
public long getSignificatBitsMask(MmuAddressInstance address)
public void reset()
public java.util.Collection<java.lang.Long> getAllAddresses(MmuAddressInstance address, Range<java.lang.Long> region)