Package com.oracle.truffle.object
Class ShapeImpl.BaseAllocator
- java.lang.Object
-
- com.oracle.truffle.api.object.Shape.Allocator
-
- com.oracle.truffle.object.ShapeImpl.BaseAllocator
-
- Direct Known Subclasses:
BasicAllocator
- Enclosing class:
- ShapeImpl
public abstract static class ShapeImpl.BaseAllocator extends Shape.Allocator
-
-
Field Summary
Fields Modifier and Type Field Description protected int
depth
protected boolean
hasPrimitiveArray
protected LayoutImpl
layout
protected int
objectArraySize
protected int
objectFieldSize
protected int
primitiveArraySize
protected int
primitiveFieldSize
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseAllocator(LayoutImpl layout)
protected
BaseAllocator(ShapeImpl shape)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ShapeImpl.BaseAllocator
addLocation(Location location)
protected <T extends Location>
Tadvance(T location0)
Location
constantLocation(java.lang.Object value)
protected Location
locationForType(java.lang.Class<?> type, boolean useFinal, boolean nonNull)
protected Location
locationForValue(java.lang.Object value, boolean useFinal, boolean nonNull)
protected abstract Location
locationForValueUpcast(java.lang.Object value, Location oldLocation)
protected abstract Location
moveLocation(Location oldLocation)
protected abstract Location
newBooleanLocation(boolean useFinal)
protected Location
newDeclaredDualLocation(java.lang.Object value)
protected abstract Location
newDoubleLocation(boolean useFinal)
protected Location
newDualLocation(java.lang.Class<?> type)
protected Locations.DualLocation
newDualLocationForValue(java.lang.Object value)
protected abstract Location
newIntLocation(boolean useFinal)
protected abstract Location
newLongLocation(boolean useFinal)
protected abstract Location
newObjectLocation(boolean useFinal, boolean nonNull)
protected abstract Location
newTypedObjectLocation(boolean useFinal, java.lang.Class<?> type, boolean nonNull)
-
Methods inherited from class com.oracle.truffle.api.object.Shape.Allocator
declaredLocation, locationForType, locationForType, locationForValue, locationForValue
-
-
-
-
Field Detail
-
layout
protected final LayoutImpl layout
-
objectArraySize
protected int objectArraySize
-
objectFieldSize
protected int objectFieldSize
-
primitiveFieldSize
protected int primitiveFieldSize
-
primitiveArraySize
protected int primitiveArraySize
-
hasPrimitiveArray
protected boolean hasPrimitiveArray
-
depth
protected int depth
-
-
Constructor Detail
-
BaseAllocator
protected BaseAllocator(LayoutImpl layout)
-
BaseAllocator
protected BaseAllocator(ShapeImpl shape)
-
-
Method Detail
-
newObjectLocation
protected abstract Location newObjectLocation(boolean useFinal, boolean nonNull)
-
newTypedObjectLocation
protected abstract Location newTypedObjectLocation(boolean useFinal, java.lang.Class<?> type, boolean nonNull)
-
newIntLocation
protected abstract Location newIntLocation(boolean useFinal)
-
newDoubleLocation
protected abstract Location newDoubleLocation(boolean useFinal)
-
newLongLocation
protected abstract Location newLongLocation(boolean useFinal)
-
newBooleanLocation
protected abstract Location newBooleanLocation(boolean useFinal)
-
constantLocation
public final Location constantLocation(java.lang.Object value)
- Specified by:
constantLocation
in classShape.Allocator
-
locationForValue
protected Location locationForValue(java.lang.Object value, boolean useFinal, boolean nonNull)
- Specified by:
locationForValue
in classShape.Allocator
-
locationForValueUpcast
protected abstract Location locationForValueUpcast(java.lang.Object value, Location oldLocation)
-
locationForType
protected Location locationForType(java.lang.Class<?> type, boolean useFinal, boolean nonNull)
- Specified by:
locationForType
in classShape.Allocator
-
newDualLocation
protected Location newDualLocation(java.lang.Class<?> type)
-
newDualLocationForValue
protected Locations.DualLocation newDualLocationForValue(java.lang.Object value)
-
newDeclaredDualLocation
protected Location newDeclaredDualLocation(java.lang.Object value)
-
advance
protected <T extends Location> T advance(T location0)
-
addLocation
public ShapeImpl.BaseAllocator addLocation(Location location)
- Specified by:
addLocation
in classShape.Allocator
-
-