Interface ExtentDallocI

  • All Superinterfaces:
    CallbackI, CallbackI.Z, Pointer
    All Known Implementing Classes:
    ExtentDalloc
    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 ExtentDallocI
    extends CallbackI.Z
    Instances of this interface may be set to the ExtentHooks struct.

    Type

    
     bool (*) (
         extent_hooks_t *extent_hooks,
         void *addr,
         size_t size,
         bool committed,
         unsigned int arena_ind
     )
    • Method Detail

      • getSignature

        default java.lang.String getSignature()
        Description copied from interface: CallbackI
        Returns the dyncall signature for this callback function. [INTERNAL API]
        Specified by:
        getSignature in interface CallbackI
        Returns:
        the dyncall signature
      • callback

        default boolean callback​(long args)
        Description copied from interface: CallbackI.Z
        Will be called by native code.
        Specified by:
        callback in interface CallbackI.Z
        Parameters:
        args - pointer to a DCArgs iterator
        Returns:
        the value to store to the result DCValue
      • invoke

        boolean invoke​(long extent_hooks,
                       long addr,
                       long size,
                       boolean committed,
                       int arena_ind)
        Extent deallocation hook.

        An extent deallocation function conforms to the extent_dalloc_t type and deallocates an extent at given addr and size with committed/decommited memory as indicated, on behalf of arena arena_ind, returning false upon success. If the function returns true, this indicates opt-out from deallocation; the virtual memory mapping associated with the extent remains mapped, in the same commit state, and available for future use, in which case it will be automatically retained for later reuse.