uint8_t * RecordingMemoryManager::allocateSpace(intptr_t Size, unsigned Alignment) { uint8_t *return_value = m_default_mm_ap->allocateSpace(Size, Alignment); Allocation allocation; allocation.m_size = Size; allocation.m_alignment = Alignment; allocation.m_local_start = (uintptr_t)return_value; if (m_log) { m_log->Printf("RecordingMemoryManager::allocateSpace(Size=%" PRIu64 ", Alignment=%u) = %p", (uint64_t)Size, Alignment, return_value); allocation.dump(m_log); } m_allocations.push_back(allocation); return return_value; }
uint8_t * RecordingMemoryManager::allocateStub(const llvm::GlobalValue* F, unsigned StubSize, unsigned Alignment) { uint8_t *return_value = m_default_mm_ap->allocateStub(F, StubSize, Alignment); Allocation allocation; allocation.m_size = StubSize; allocation.m_alignment = Alignment; allocation.m_local_start = (uintptr_t)return_value; if (m_log) { m_log->Printf("RecordingMemoryManager::allocateStub (F=%p, StubSize=%u, Alignment=%u) = %p", F, StubSize, Alignment, return_value); allocation.dump(m_log); } m_allocations.push_back(allocation); return return_value; }
uint8_t * RecordingMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, bool IsReadOnly) { uint8_t *return_value = m_default_mm_ap->allocateDataSection(Size, Alignment, SectionID, IsReadOnly); Allocation allocation; allocation.m_size = Size; allocation.m_alignment = Alignment; allocation.m_local_start = (uintptr_t)return_value; allocation.m_section_id = SectionID; if (m_log) { m_log->Printf("RecordingMemoryManager::allocateDataSection(Size=0x%" PRIx64 ", Alignment=%u, SectionID=%u) = %p", (uint64_t)Size, Alignment, SectionID, return_value); allocation.dump(m_log); } m_allocations.push_back(allocation); return return_value; }