# behaviorPrimitives

- <Behavior> primitiveNewIfFail: ^<Instance>
  Errors: ReceiverIsIndexable
  Flags: Allocate

- primitiveBehaviorMixinOf:ifFail: ^<Mixin>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorHeaderSizeOf:ifFail: ^<SmallInteger>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorNonIndexableSizeOf:ifFail: ^<SmallInteger>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorIsSpecializedClass:ifFail: ^<Boolean>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorCanBeSubclassed:ifFail: ^<Boolean>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorCanHaveInstanceVariables:ifFail: ^<Boolean>
  Parameters:
  behavior <Behavior>

- <Behavior> primitiveSuperclass ^<Behavior|Nil>

- primitiveSuperclassOf:ifFail: ^<Behavior|Nil>
  Parameters:
  class <Behavior>

- primitiveBehavior:classVariableAt:ifFail: ^<GlobalAssociation>
  Parameters:
  behavior <Behavior>
  index <SmallInteger>
  Errors: OutOfBounds

- primitiveBehavior:classVariablesIfFail: ^<IndexedInstanceVariables>
  Parameters:
  behavior <Behavior>
  Errors: OutOfBounds

- <Behavior> primitivePrintMethod:ifFail: ^<Behavior>
  Parameters:
  selector <ByteArray>

- <Behavior> primitiveNew0 ^<Object>
  Flags: Internal Allocate

- <Behavior> primitiveNew1 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew2 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew3 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew4 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew5 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew6 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew7 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew8 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveNew9 ^<Instance>
  Flags: Internal Allocate

- <Behavior> primitiveMethodFor:ifFail: ^<Method>
  Parameters:
  selector <CompressedSymbol>
  Errors: NotFound

- primitiveBehaviorFormat:ifFail: ^<Symbol>
  Parameters:
  behavior <Behavior>

- primitiveBehaviorVMType:ifFail: ^<Symbol>

      'Oops, SmallInteger, GlobalAssociation, Method, Float, Array, WeakArray, '
      'DoubleByteArray, FloatValueArray, ByteArray, Symbol, '
      'Block, Context, Process, Proxy, Activation, Mixin, and Class'

  Parameters:
  behavior <Behavior>

- <Behavior> primitiveBehaviorIsClassOf: ^<Boolean>
  Parameters:
  obj <Object>
  Flags: LastDeltaFrameNotNeeded