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 intdepthprotected booleanhasPrimitiveArrayprotected LayoutImpllayoutprotected intobjectArraySizeprotected intobjectFieldSizeprotected intprimitiveArraySizeprotected intprimitiveFieldSize
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseAllocator(LayoutImpl layout)protectedBaseAllocator(ShapeImpl shape)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ShapeImpl.BaseAllocatoraddLocation(Location location)protected <T extends Location>
Tadvance(T location0)LocationconstantLocation(java.lang.Object value)protected LocationlocationForType(java.lang.Class<?> type, boolean useFinal, boolean nonNull)protected LocationlocationForValue(java.lang.Object value, boolean useFinal, boolean nonNull)protected abstract LocationlocationForValueUpcast(java.lang.Object value, Location oldLocation)protected abstract LocationmoveLocation(Location oldLocation)protected abstract LocationnewBooleanLocation(boolean useFinal)protected LocationnewDeclaredDualLocation(java.lang.Object value)protected abstract LocationnewDoubleLocation(boolean useFinal)protected LocationnewDualLocation(java.lang.Class<?> type)protected Locations.DualLocationnewDualLocationForValue(java.lang.Object value)protected abstract LocationnewIntLocation(boolean useFinal)protected abstract LocationnewLongLocation(boolean useFinal)protected abstract LocationnewObjectLocation(boolean useFinal, boolean nonNull)protected abstract LocationnewTypedObjectLocation(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:
constantLocationin classShape.Allocator
-
locationForValue
protected Location locationForValue(java.lang.Object value, boolean useFinal, boolean nonNull)
- Specified by:
locationForValuein 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:
locationForTypein 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:
addLocationin classShape.Allocator
-
-