virtual void endExceptionTable(const Function *F, uint8_t *TableStart, uint8_t *TableEnd, uint8_t* FrameRegister) { return JMM->endExceptionTable(F,TableStart,TableEnd,FrameRegister); }
virtual uint8_t *startFunctionBody(const Function *F, uintptr_t &ActualSize) { ActualSize += 48; uint8_t *ret = JMM->startFunctionBody(F,ActualSize); ActualSize -= 48; return ret; }
virtual void endFunctionBody(const Function *F, uint8_t *FunctionStart, uint8_t *FunctionEnd) { return JMM->endFunctionBody(F,FunctionStart,FunctionEnd+48); }
virtual void setMemoryExecutable() { return JMM->setMemoryExecutable(); }
virtual void AllocateGOT() { JMM->AllocateGOT(); HasGOT = true; }
void MonoJITMemoryManager::SetDlsymTable(void *ptr) { mm->SetDlsymTable (ptr); }
void *getDlsymTable() const { return mm->getDlsymTable (); }
virtual unsigned GetNumCodeSlabs() { return JMM->GetNumCodeSlabs(); }
virtual unsigned GetNumDataSlabs() { return JMM->GetNumDataSlabs(); }
virtual size_t GetDefaultDataSlabSize() { return JMM->GetDefaultDataSlabSize(); }
virtual size_t GetDefaultStubSlabSize() { return JMM->GetDefaultStubSlabSize(); }
virtual size_t GetDefaultCodeSlabSize() { return JMM->GetDefaultCodeSlabSize(); }
virtual bool CheckInvariants(std::string &str) { return JMM->CheckInvariants(str); }
virtual void deallocateExceptionTable(void *ET) { return JMM->deallocateExceptionTable(ET); }
virtual void registerEHFrames(StringRef SectionData) { return JMM->registerEHFrames(SectionData); }
virtual unsigned GetNumStubSlabs() { return JMM->GetNumStubSlabs(); }
void MonoJITMemoryManager::AllocateGOT() { mm->AllocateGOT (); }
virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName) { return JMM->allocateCodeSection(Size,Alignment,SectionID,SectionName); }
unsigned char *getGOTBase() const { return mm->getGOTBase (); }
virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName, bool IsReadOnly) { return JMM->allocateDataSection(Size,Alignment,SectionID,SectionName,IsReadOnly); }
virtual void setMemoryWritable() { return JMM->setMemoryWritable(); }
virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) { return JMM->allocateCodeSection(Size,Alignment,SectionID); }
virtual void setPoisonMemory(bool poison) { return JMM->setPoisonMemory(poison); }
virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, bool IsReadOnly) { return JMM->allocateDataSection(Size,Alignment,SectionID,IsReadOnly); }
virtual uint8_t *getGOTBase() const { return JMM->getGOTBase(); }
virtual void *getPointerToNamedFunction(const std::string &Name, bool AbortOnFailure = true) { return JMM->getPointerToNamedFunction(Name,AbortOnFailure); }
virtual uint8_t *allocateStub(const GlobalValue* F, unsigned StubSize, unsigned Alignment) { return JMM->allocateStub(F,StubSize,Alignment); }
virtual bool applyPermissions(std::string *ErrMsg = 0) { return JMM->applyPermissions(ErrMsg); }
virtual uint8_t *allocateSpace(intptr_t Size, unsigned Alignment) { return JMM->allocateSpace(Size,Alignment); }
virtual uint8_t* startExceptionTable(const Function* F, uintptr_t &ActualSize) { return JMM->startExceptionTable(F,ActualSize); }