Interface ExtentAllocI

All Superinterfaces:
org.lwjgl.system.CallbackI, org.lwjgl.system.Pointer
All Known Implementing Classes:
ExtentAlloc
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ExtentAllocI extends org.lwjgl.system.CallbackI
Instances of this interface may be set to the ExtentHooks struct.

Type


 void * (*invoke(long, long, long, long, long, long, int)) (
     extent_hooks_t *extent_hooks,
     void *new_addr,
     size_t size,
     size_t alignment,
     bool *zero,
     bool *commit,
     unsigned int arena_ind
 )
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

    org.lwjgl.system.Pointer.Default
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.lwjgl.system.libffi.FFICIF
     

    Fields inherited from interface org.lwjgl.system.Pointer

    BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    callback(long ret, long args)
     
    default org.lwjgl.system.libffi.FFICIF
     
    long
    invoke(long extent_hooks, long new_addr, long size, long alignment, long zero, long commit, int arena_ind)
    Extent allocation hook.

    Methods inherited from interface org.lwjgl.system.CallbackI

    address
  • Field Details

    • CIF

      static final org.lwjgl.system.libffi.FFICIF CIF
  • Method Details

    • getCallInterface

      default org.lwjgl.system.libffi.FFICIF getCallInterface()
      Specified by:
      getCallInterface in interface org.lwjgl.system.CallbackI
    • callback

      default void callback(long ret, long args)
      Specified by:
      callback in interface org.lwjgl.system.CallbackI
    • invoke

      long invoke(long extent_hooks, long new_addr, long size, long alignment, long zero, long commit, int arena_ind)
      Extent allocation hook.

      An extent allocation function conforms to the extent_alloc_t type and upon success returns a pointer to size bytes of mapped memory on behalf of arena arena_ind such that the extent's base address is a multiple of alignment, as well as setting *zero to indicate whether the extent is zeroed and *commit to indicate whether the extent is committed. Upon error the function returns NULL and leaves *zero and *commit unmodified. The size parameter is always a multiple of the page size. The alignment parameter is always a power of two at least as large as the page size. Zeroing is mandatory if *zero is true upon function entry. Committing is mandatory if *commit is true upon function entry. If new_addr is not NULL, the returned pointer must be new_addr on success or NULL on error. Committed memory may be committed in absolute terms as on a system that does not overcommit, or in implicit terms as on a system that overcommits and satisfies physical memory needs on demand via soft page faults. Note that replacing the default extent allocation function makes the arena's arena.i.dss setting irrelevant.