test/hotspot/gtest/metaspace/metaspaceTestsCommon.hpp
branchstuefe-new-metaspace-branch
changeset 59271 1558266946de
parent 59238 6ce12ce00d3e
equal deleted inserted replaced
59257:990b1fed3b47 59271:1558266946de
   225 //////////////////////////////////////////////////////////
   225 //////////////////////////////////////////////////////////
   226 // Helper
   226 // Helper
   227 
   227 
   228 size_t get_workingset_size();
   228 size_t get_workingset_size();
   229 
   229 
       
   230 // A simple preallocated buffer used to "feed" someone.
       
   231 // Mimicks chunk retirement leftover blocks.
       
   232 class FeederBuffer {
       
   233 
       
   234   MetaWord* _buf;
       
   235   const size_t _size;
       
   236   size_t _used;
       
   237 
       
   238 public:
       
   239 
       
   240   FeederBuffer(size_t size) : _buf(NULL), _size(size), _used(0) {
       
   241     _buf = NEW_C_HEAP_ARRAY(MetaWord, _size, mtInternal);
       
   242   }
       
   243 
       
   244   ~FeederBuffer() {
       
   245     FREE_C_HEAP_ARRAY(MetaWord, _buf);
       
   246   }
       
   247 
       
   248   MetaWord* get(size_t word_size) {
       
   249     if (_used > (_size - word_size)) {
       
   250       return NULL;
       
   251     }
       
   252     MetaWord* p = _buf + _used;
       
   253     _used += word_size;
       
   254     return p;
       
   255   }
       
   256 
       
   257 };
   230 
   258 
   231 #endif // GTEST_METASPACE_METASPACETESTCOMMON_HPP
   259 #endif // GTEST_METASPACE_METASPACETESTCOMMON_HPP