objectFile.createDefinedSymbol(textSection.getName(), textSection, 0, 0, false, false);
objectFile.createDefinedSymbol("__svm_text_end", textSection, textSectionSize, 0, false, true);
objectFile.createDefinedSymbol(roDataSection.getName(), roDataSection, 0, 0, false, false);
objectFile.createDefinedSymbol(rwDataSection.getName(), rwDataSection, 0, 0, false, false);
final String heapSectionName = SectionName.SVM_HEAP.getFormatDependentName(objectFile.getFormat());
heapSection = objectFile.newProgbitsSection(heapSectionName, objectFile.getPageSize(), writable, false, heapSectionImpl);
objectFile.createDefinedSymbol(heapSection.getName(), heapSection, 0, 0, false, true);
heap.setReadOnlySection(heapSection.getName(), 0);
long writableSectionOffset = heap.getReadOnlySectionSize();
heap.setWritableSection(heapSection.getName(), writableSectionOffset);
defineDataSymbol(Isolates.IMAGE_HEAP_BEGIN_SYMBOL_NAME, heapSection, 0);
defineDataSymbol(Isolates.IMAGE_HEAP_END_SYMBOL_NAME, heapSection, heapSize);
heapSectionBuffer = null;
heapSectionImpl = null;
heap.setReadOnlySection(roDataSection.getName(), roConstantsEndOffset);
heap.setWritableSection(rwDataSection.getName(), rwGlobalsEndOffset);