Package com.oracle.truffle.object.basic

## Class BasicAllocator

- java.lang.Object
- - com.oracle.truffle.api.object.Shape.Allocator
  - - com.oracle.truffle.object.ShapeImpl.BaseAllocator
    - - com.oracle.truffle.object.basic.BasicAllocator

    public abstract class BasicAllocator
    extends ShapeImpl.BaseAllocator

### Field Summary

### Fields inherited from class com.oracle.truffle.object.ShapeImpl.BaseAllocator

`depth, hasPrimitiveArray, layout, objectArraySize, objectFieldSize, primitiveArraySize, primitiveFieldSize`

### Constructor Summary

Constructors
`BasicAllocator​(LayoutImpl layout)`
`BasicAllocator​(ShapeImpl shape)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected Location` `locationForValueUpcast​(java.lang.Object value, Location oldLocation)`
`protected Location` `moveLocation​(Location oldLocation)`
`Location` `newBooleanLocation​(boolean useFinal)`
`protected Locations.DeclaredDualLocation` `newDeclaredDualLocation​(java.lang.Object value)`
`Location` `newDoubleLocation​(boolean useFinal)`
`Location` `newIntLocation​(boolean useFinal)`
`Location` `newLongLocation​(boolean useFinal)`
`Location` `newObjectLocation​(boolean useFinal, boolean nonNull)`
`Location` `newTypedObjectLocation​(boolean useFinal, java.lang.Class<?> type, boolean nonNull)`

### Methods inherited from class com.oracle.truffle.object.ShapeImpl.BaseAllocator

`addLocation, advance, constantLocation, locationForType, locationForValue, newDualLocation, newDualLocationForValue`

### Methods inherited from class com.oracle.truffle.api.object.Shape.Allocator

`declaredLocation, locationForType, locationForType, locationForValue, locationForValue`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BasicAllocator

    public BasicAllocator​(LayoutImpl layout)

#### BasicAllocator

    public BasicAllocator​(ShapeImpl shape)

### Method Detail

#### moveLocation

    protected Location moveLocation​(Location oldLocation)

Specified by:
  `moveLocation` in class `ShapeImpl.BaseAllocator`

#### newObjectLocation

    public Location newObjectLocation​(boolean useFinal,
                                      boolean nonNull)

Specified by:
  `newObjectLocation` in class `ShapeImpl.BaseAllocator`

#### newTypedObjectLocation

    public Location newTypedObjectLocation​(boolean useFinal,
                                           java.lang.Class<?> type,
                                           boolean nonNull)

Specified by:
  `newTypedObjectLocation` in class `ShapeImpl.BaseAllocator`

#### newIntLocation

    public Location newIntLocation​(boolean useFinal)

Specified by:
  `newIntLocation` in class `ShapeImpl.BaseAllocator`

#### newDoubleLocation

    public Location newDoubleLocation​(boolean useFinal)

Specified by:
  `newDoubleLocation` in class `ShapeImpl.BaseAllocator`

#### newLongLocation

    public Location newLongLocation​(boolean useFinal)

Specified by:
  `newLongLocation` in class `ShapeImpl.BaseAllocator`

#### newBooleanLocation

    public Location newBooleanLocation​(boolean useFinal)

Specified by:
  `newBooleanLocation` in class `ShapeImpl.BaseAllocator`

#### locationForValueUpcast

    protected Location locationForValueUpcast​(java.lang.Object value,
                                              Location oldLocation)

Specified by:
  `locationForValueUpcast` in class `ShapeImpl.BaseAllocator`

#### newDeclaredDualLocation

    protected Locations.DeclaredDualLocation newDeclaredDualLocation​(java.lang.Object value)

Overrides:
  `newDeclaredDualLocation` in class `ShapeImpl.BaseAllocator`