| //===- RegionFactory.cpp --------------------------------------------------===// |
| // |
| // The MCLinker Project |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| #include <mcld/Support/RegionFactory.h> |
| #include <mcld/Support/Space.h> |
| |
| #include <new> |
| |
| using namespace mcld; |
| |
| //===----------------------------------------------------------------------===// |
| // RegionFactory |
| //===----------------------------------------------------------------------===// |
| MemoryRegion* |
| RegionFactory::produce(Address pVMAStart, size_t pSize) |
| { |
| MemoryRegion* result = Alloc::allocate(); |
| new (result) MemoryRegion(pVMAStart, pSize); |
| return result; |
| } |
| |
| void RegionFactory::destruct(MemoryRegion* pRegion) |
| { |
| destroy(pRegion); |
| deallocate(pRegion); |
| } |
| |