public abstract class AbstractCommittedMemoryProvider extends Object implements CommittedMemoryProvider
CommittedMemoryProvider.AccessUNALIGNED| Constructor and Description |
|---|
AbstractCommittedMemoryProvider() |
| Modifier and Type | Method and Description |
|---|---|
org.graalvm.word.Pointer |
allocateAlignedChunk(org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment) |
org.graalvm.word.Pointer |
allocateExecutableMemory(org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment) |
org.graalvm.word.Pointer |
allocateUnalignedChunk(org.graalvm.word.UnsignedWord nbytes) |
void |
freeAlignedChunk(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment) |
void |
freeExecutableMemory(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment) |
void |
freeUnalignedChunk(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes) |
boolean |
guaranteesHeapPreferredAddressSpaceAlignment()
Returns whether this provider will always guarantee a heap address space alignment of
Heap.getPreferredAddressSpaceAlignment() at image runtime, which may also depend on
ImageHeapProvider.guaranteesHeapPreferredAddressSpaceAlignment(). |
boolean |
protect(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
EnumSet<CommittedMemoryProvider.Access> accessFlags)
Change access permissions for a block of committed memory that was allocated with
CommittedMemoryProvider.allocate(org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord, boolean). |
protected static int |
protectSingleIsolateImageHeap() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitafterGarbageCollection, allocate, areUnalignedChunksZeroed, beforeGarbageCollection, free, get, getGranularity, initialize, tearDownpublic boolean guaranteesHeapPreferredAddressSpaceAlignment()
CommittedMemoryProviderHeap.getPreferredAddressSpaceAlignment() at image runtime, which may also depend on
ImageHeapProvider.guaranteesHeapPreferredAddressSpaceAlignment().guaranteesHeapPreferredAddressSpaceAlignment in interface CommittedMemoryProviderpublic org.graalvm.word.Pointer allocateAlignedChunk(org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment)
allocateAlignedChunk in interface CommittedMemoryProviderpublic org.graalvm.word.Pointer allocateUnalignedChunk(org.graalvm.word.UnsignedWord nbytes)
allocateUnalignedChunk in interface CommittedMemoryProviderpublic org.graalvm.word.Pointer allocateExecutableMemory(org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment)
allocateExecutableMemory in interface CommittedMemoryProviderpublic void freeAlignedChunk(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment)
freeAlignedChunk in interface CommittedMemoryProviderpublic void freeUnalignedChunk(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes)
freeUnalignedChunk in interface CommittedMemoryProviderpublic void freeExecutableMemory(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
org.graalvm.word.UnsignedWord alignment)
freeExecutableMemory in interface CommittedMemoryProviderprotected static int protectSingleIsolateImageHeap()
public boolean protect(org.graalvm.word.PointerBase start,
org.graalvm.word.UnsignedWord nbytes,
EnumSet<CommittedMemoryProvider.Access> accessFlags)
CommittedMemoryProviderCommittedMemoryProvider.allocate(org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord, boolean).protect in interface CommittedMemoryProviderstart - The start of the address range to be protected, which must be a multiple of the
granularity.nbytes - The size in bytes of the address range to be protected, which will be rounded
up to a multiple of the granularity.accessFlags - The modes in which the memory is permitted to be accessed, see CommittedMemoryProvider.Access.