diff options
Diffstat (limited to 'compiler/utils/assembler.cc')
-rw-r--r-- | compiler/utils/assembler.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/compiler/utils/assembler.cc b/compiler/utils/assembler.cc index b82f0dc4b4..1c04a3d20b 100644 --- a/compiler/utils/assembler.cc +++ b/compiler/utils/assembler.cc @@ -57,18 +57,21 @@ void AssemblerBuffer::ProcessFixups(const MemoryRegion& region) { fixup->Process(region, fixup->position()); fixup = fixup->previous(); } +#ifndef NDEBUG + fixups_processed_ = true; +#endif +} + + +void AssemblerBuffer::ProcessFixups() { + MemoryRegion from(reinterpret_cast<void*>(contents()), Size()); + ProcessFixups(from); } -void AssemblerBuffer::FinalizeInstructions(const MemoryRegion& instructions) { - // Copy the instructions from the buffer. +void AssemblerBuffer::CopyInstructions(const MemoryRegion& instructions) { MemoryRegion from(reinterpret_cast<void*>(contents()), Size()); instructions.CopyFrom(0, from); - // Process fixups in the instructions. - ProcessFixups(instructions); -#ifndef NDEBUG - fixups_processed_ = true; -#endif } |