@Deprecated public class ImmortalPhysicalMemory extends PerennialMemory
ImmortalPhysicalMemory allows objects to
be allocated from a range of physical memory with particular
attributes, determined by their memory type. This memory area has the
same restrictive set of assignment rules as ImmortalMemory
memory areas, and may be used in any execution context where
ImmortalMemory is appropriate.
No provision is made for sharing object in
ImmortalPhysicalMemory with entities outside the JVM
that creates them, and, while the memory backing an instance of
ImmortalPhysicalMemory could be shared by multiple JVMs,
the class does not support such sharing.
Methods from ImmortalPhysicalMemory should be
overridden only by methods that use super.
PerennialMemory instead of
MemoryArea directly.| Constructor and Description |
|---|
ImmortalPhysicalMemory(java.lang.Object type,
long size)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
long base,
long size)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
long base,
long size,
java.lang.Runnable logic)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
long size,
java.lang.Runnable logic)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
long base,
SizeEstimator size)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
long base,
SizeEstimator size,
java.lang.Runnable logic)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
SizeEstimator size)
Deprecated.
Creates an instance with the given parameters.
|
ImmortalPhysicalMemory(java.lang.Object type,
SizeEstimator size,
java.lang.Runnable logic)
Deprecated.
Creates an instance with the given parameters.
|
enter, enter, enter, enter, enter, enter, enter, executeInArea, executeInArea, executeInArea, executeInArea, executeInArea, executeInArea, getMemoryArea, mayHoldReferenceTo, mayHoldReferenceTo, memoryConsumed, memoryRemaining, newArray, newArrayInArea, newInstance, newInstance, sizepublic ImmortalPhysicalMemory(java.lang.Object type,
long base,
long size,
java.lang.Runnable logic)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).base - The physical memory address of the area.size - The size of the area in bytes.logic - The run() method of this object will be
called whenever MemoryArea.enter() is called. When
logic is null, logic
must be supplied when the memory area is entered.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.OffsetOutOfBoundsException - when the base
address is invalid.SizeOutOfBoundsException - when size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when the specified base does
not point to memory that matches the requested type, or
when type specifies incompatible memory
attributes.java.lang.IllegalArgumentException - when size is
negative. IllegalArgumentException may also
be when base plus size would be
greater than the maximum physical address supported by the
processor.MemoryInUseException - when the specified memory is already in use.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.IllegalAssignmentError - when storing logic
in this would violate the assignment rules.public ImmortalPhysicalMemory(java.lang.Object type,
long base,
SizeEstimator size,
java.lang.Runnable logic)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).base - The physical memory address of the area.size - A size estimator for this memory area.logic - The run() method of this object will be
called whenever MemoryArea.enter() is called. When
logic is null, logic
must be supplied when the memory area is entered.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.OffsetOutOfBoundsException - when the base
address is invalid.SizeOutOfBoundsException - when the size
estimate from size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when the specified base does
not point to memory that matches the requested type, or
when type specifies incompatible memory
attributes.java.lang.IllegalArgumentException - when size is
null, or size.getEstimate()
is negative. IllegalArgumentException
may also be when base plus the size
indicated by size would be greater than
the maximum physical address supported by the
processor.MemoryInUseException - when the specified memory is already in use.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for the backing
memory.IllegalAssignmentError - when storing logic in
this would violate the assignment rules.public ImmortalPhysicalMemory(java.lang.Object type,
long size,
java.lang.Runnable logic)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).size - The size of the area in bytes.logic - The run() method of this object will be
called whenever MemoryArea.enter() is called. When
logic is null, logic
must be supplied when the memory area is entered.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.SizeOutOfBoundsException - when size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.java.lang.IllegalArgumentException - when size is negative.MemoryTypeConflictException - when the specified base does
not point to memory that matches the requested type, or
when type specifies incompatible memory
attributes.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.IllegalAssignmentError - when storing logic in
this would violate the assignment rules.public ImmortalPhysicalMemory(java.lang.Object type,
SizeEstimator size,
java.lang.Runnable logic)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).size - A size estimator for this area.logic - The run() method of this object will be
called whenever MemoryArea.enter() is called. When
logic is null, logic
must be supplied when the memory area is entered.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.SizeOutOfBoundsException - when the size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.java.lang.IllegalArgumentException - when size is
null, or size.getEstimate()
is negative.MemoryTypeConflictException - when type specifies
incompatible memory attributes.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.IllegalAssignmentError - when storing logic in
this would violate the assignment rules.public ImmortalPhysicalMemory(java.lang.Object type,
long base,
long size)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).base - The physical memory address of the area.size - The size of the area in bytes.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given range
of memory.OffsetOutOfBoundsException - when the base
address is invalid.SizeOutOfBoundsException - when the size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when the specified base does
not point to memory that matches the requested type, or
when type specifies incompatible memory
attributes.java.lang.IllegalArgumentException - when size is less
than zero. IllegalArgumentException may also
be when base plus size would be
greater than the maximum physical address supported by the
processor.MemoryInUseException - when the specified memory is already in use.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or or for its allocation
area in its backing store.public ImmortalPhysicalMemory(java.lang.Object type,
long base,
SizeEstimator size)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).base - The physical memory address of the area.size - A size estimator for this memory area.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.OffsetOutOfBoundsException - when the base
address is invalid.SizeOutOfBoundsException - when the
size estimate from size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when the specified base does
not point to memory that matches the requested type, or
when type specifies incompatible memory
attributes.java.lang.IllegalArgumentException - when size is
null, or size.getEstimate()
is negative. IllegalArgumentException
may also be when base plus the size
indicated by size would be greater than
the maximum physical address supported by the
processor.MemoryInUseException - when the specified memory is already in use.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.public ImmortalPhysicalMemory(java.lang.Object type,
long size)
type - An instance of Object representing the
type of memory required (e.g., dma, shared) - used
to define the base address and control the mapping. When the
required memory has more than one attribute
type may be an array of objects. When
type is null or a reference to an
array with no entries, any type of memory is acceptable.
Note that type values are compared by reference
(==), not by value (equals).size - The size of the area in bytes.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when type specifies
incompatible memory attributes.java.lang.IllegalArgumentException - when size is less than zero.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.SizeOutOfBoundsException - when the size
extends into an invalid range of memory.public ImmortalPhysicalMemory(java.lang.Object type,
SizeEstimator size)
type - An instance of Object or an array of
objects representing the type of memory required (e.g.,
dma, shared) - used to define the base address
and control the mapping. When the required memory has more
than one attribute type may be an array of
objects. When type is null or a
reference to an array with no entries, any type of memory
is acceptable. Note that type values are
compared by reference (==), not by value
(equals).size - A size estimator for this area.StaticSecurityException - when the application doesn't have
permissions to access physical memory or the given type
of memory.SizeOutOfBoundsException - when the size estimate
from size
extends into an invalid range of memory.UnsupportedPhysicalMemoryException - when the underlying
hardware does not support the given type, or when no matching
PhysicalMemoryTypeFilter has been registered with
the PhysicalMemoryManager.MemoryTypeConflictException - when type specifies
incompatible memory attributes.java.lang.IllegalArgumentException - when size is
null, or size.getEstimate()
is negative.StaticOutOfMemoryError - when there is insufficient memory for the
ImmortalPhysicalMemory object or for its allocation
area in its backing store.