Interface PageSource

All Known Implementing Classes:
MappedPageSource, PhantomReferenceLimitedPageSource, UnlimitedPageSource, UpfrontAllocatingPageSource

public interface PageSource
  • Method Summary

    Modifier and Type
    Method
    Description
    allocate(int size, boolean thief, boolean victim, OffHeapStorageArea owner)
    Attempt to allocate a page of the given size.
    void
    free(Page page)
     
  • Method Details

    • allocate

      Page allocate(int size, boolean thief, boolean victim, OffHeapStorageArea owner)
      Attempt to allocate a page of the given size.

      Allocations identified as thieves will if necessary 'steal' space from previous allocations identified as 'victims' in order to fulfill the allocation request. owner is the area from which the returned page can subsequently be stolen or recovered. This is most likely to be the calling instance.

      Parameters:
      size - size of page to allocate
      thief - true if the allocation can steal space from victims
      victim - true if the allocated page should be eligible for stealing
      owner - owner from which subsequent steal should occur
      Returns:
      an allocated page, or null in the case of failure
    • free

      void free(Page page)