예제 #1
0
  /**
   * Allocates a new InflatedHeader object for the specified obj ObjectHeader.
   *
   * /param obj The ObjectHeader that is to be inflated.
   * /returns the InflatedHeader representing the new inflated object header.
   */
  InflatedHeader* InflatedHeaders::allocate(ObjectHeader* obj) {
    if(!free_list_) allocate_chunk();
    InflatedHeader* header = free_list_;
    free_list_ = header->next();

    in_use_++;
    header->set_object(obj);

    return header;
  }