< prev index next >
src/hotspot/share/gc/z/zPageCache.hpp
Print this page
*** 28,38 ****
--- 28,44 ----
#include "gc/z/zPage.hpp"
#include "gc/z/zValue.hpp"
#include "memory/allocation.hpp"
class ZPageCacheFlushClosure : public StackObj {
+ protected:
+ const size_t _requested;
+ size_t _flushed;
+
public:
+ ZPageCacheFlushClosure(size_t requested);
+ size_t overflushed() const;
virtual bool do_page(const ZPage* page) = 0;
};
class ZPageCache {
private:
*** 43,52 ****
--- 49,64 ----
ZPage* alloc_small_page();
ZPage* alloc_medium_page();
ZPage* alloc_large_page(size_t size);
+ ZPage* alloc_oversized_medium_page(size_t size);
+ ZPage* alloc_oversized_large_page(size_t size);
+ ZPage* alloc_oversized_page(size_t size);
+
+ void free_page_inner(ZPage* page);
+
bool flush_list_inner(ZPageCacheFlushClosure* cl, ZList<ZPage>* from, ZList<ZPage>* to);
void flush_list(ZPageCacheFlushClosure* cl, ZList<ZPage>* from, ZList<ZPage>* to);
void flush_per_numa_lists(ZPageCacheFlushClosure* cl, ZPerNUMA<ZList<ZPage> >* from, ZList<ZPage>* to);
public:
< prev index next >