[ExecutionEngine] Initialize near block hint in SectionMemoryManager.

When allocating a new memory block in SectionMemoryManager, initialize
the Near hint for the other memory groups if they have not been set
already.

Patch by Dana Koch. Thanks Dana!
This commit is contained in:
Lang Hames 2020-07-20 14:31:48 -07:00
parent 8b6179f48c
commit 574713c307
1 changed files with 9 additions and 0 deletions

View File

@ -112,6 +112,15 @@ uint8_t *SectionMemoryManager::allocateSection(
// Save this address as the basis for our next request
MemGroup.Near = MB;
// Copy the address to all the other groups, if they have not
// been initialized.
if (CodeMem.Near.base() == 0)
CodeMem.Near = MB;
if (RODataMem.Near.base() == 0)
RODataMem.Near = MB;
if (RWDataMem.Near.base() == 0)
RWDataMem.Near = MB;
// Remember that we allocated this memory
MemGroup.AllocatedMem.push_back(MB);
Addr = (uintptr_t)MB.base();