search for: stubsiz

Displaying 20 results from an estimated 23 matches for "stubsiz".

Did you mean: stubsize
2004 Dec 14
0
[LLVMdev] misc. patches
...0 1.59 > +++ lib/ExecutionEngine/JIT/JITEmitter.cpp 6 Dec 2004 10:34:21 -0000 > @@ -51,6 +51,7 @@ > unsigned char *CurStubPtr, *CurFunctionPtr; > public: > JITMemoryManager(); > + ~JITMemoryManager(); > > inline unsigned char *allocateStub(unsigned StubSize); > inline unsigned char *startFunctionBody(); > @@ -69,6 +70,10 @@ > CurStubPtr = CurFunctionPtr = FunctionBase; > } > > +JITMemoryManager::~JITMemoryManager() { > + sys::Memory::ReleaseRWX(MemBlock); > +} > + > unsigned char *JITMemoryManager::allocateS...
2004 Dec 13
6
[LLVMdev] misc. patches
Hi, here are some minor patches that for various reasons I've not submitted yet - I'm just trying to clear my list of differences before christmas... First of all the clear.patch file contains a patch that enables the JIT to drop all global mappings. I need this because when I have N threads I compile N different versions of my functions using different memory areas for global
2013 Oct 01
2
[LLVMdev] JITMemoryManager
...uint8_t *startFunctionBody(const llvm::Function *F, uintptr_t &ActualSize) { return mgr()->startFunctionBody(F, ActualSize); } virtual uint8_t *allocateStub(const llvm::GlobalValue *F, unsigned StubSize, unsigned Alignment) { return mgr()->allocateStub(F, StubSize, Alignment); } virtual void endFunctionBody(const llvm::Function *F, uint8_t *FunctionStart, uint8_t *Func...
2006 May 14
2
[LLVMdev] JIT machine code deletion
On Fri, 12 May 2006, Ralph Corderoy wrote: >> If you don't *know* that all (e.g.) function pointers to this code are >> dead (which means that execution could come back to the function), you >> should use the ExecutionEngine::recompileAndRelinkFunction(F) method. > > recompileAndRelinkFunction() overwrites the old machine code with a > branch to the new. Is it
2006 May 14
0
[LLVMdev] JIT machine code deletion
...UILD_LIS(12, Addr >> 16); // lis r12, hi16(address) AtI[1] = BUILD_ORI(12, 12, Addr); // ori r12, r12, low16(address) AtI[2] = BUILD_MTCTR(12); // mtctr r12 AtI[3] = BUILD_BCTR(isCall); // bctr/bctrl but I understand now how startFunctionStub() is given StubSize and on PowerPC it's 16 so there's no problem. Cheers, Ralph.
2013 Oct 02
0
[LLVMdev] JITMemoryManager
...ionBody(const llvm::Function *F, > uintptr_t &ActualSize) { > return mgr()->startFunctionBody(F, ActualSize); > } > virtual uint8_t *allocateStub(const llvm::GlobalValue *F, > unsigned StubSize, > unsigned Alignment) { > return mgr()->allocateStub(F, StubSize, Alignment); > } > virtual void endFunctionBody(const llvm::Function *F, > uint8_t *FunctionStart, >...
2013 Oct 02
3
[LLVMdev] JITMemoryManager
...Function *F, >> uintptr_t &ActualSize) { >> return mgr()->startFunctionBody(F, ActualSize); >> } >> virtual uint8_t *allocateStub(const llvm::GlobalValue *F, >> unsigned StubSize, >> unsigned Alignment) { >> return mgr()->allocateStub(F, StubSize, Alignment); >> } >> virtual void endFunctionBody(const llvm::Function *F, >> uint8_t *FunctionStart, >>...
2010 Jun 21
2
[LLVMdev] MC: Object file specific parsing
...ctive Parsing. - bool ParseDirectiveDarwinSection(); // Darwin specific ".section". - bool ParseDirectiveSectionSwitch(const char *Segment, const char *Section, - unsigned TAA = 0, unsigned ImplicitAlign = 0, - unsigned StubSize = 0); bool ParseDirectiveAscii(bool ZeroTerminated); // ".ascii", ".asciiz" bool ParseDirectiveValue(unsigned Size); // ".byte", ".long", ... bool ParseDirectiveFill(); // ".fill" @@ -132,17 +135,6 @@ private: /// accepts a single symbo...
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...urn 0; > + } > + > + virtual void EmitLabel(uint64_t LabelID) { > + } > + > + > + virtual void setModuleInfo(llvm::MachineModuleInfo* MMI) { } > + > + > /// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE! > void startFunctionStub(unsigned StubSize, unsigned Alignment = > 1) { > assert(0 && "JIT specific function called!"); > Index: lib/CodeGen/MachOWriter.cpp > =================================================================== > --- lib/CodeGen/MachOWriter.cpp (revision 44794) > +++ lib/CodeGen/...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...virtual void EmitLabel(uint64_t LabelID) { >> + } >> + >> + >> + virtual void setModuleInfo(llvm::MachineModuleInfo* MMI) { } >> + >> + >> /// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE! >> void startFunctionStub(unsigned StubSize, unsigned Alignment = >> 1) { >> assert(0 && "JIT specific function called!"); >> Index: lib/CodeGen/MachOWriter.cpp >> =================================================================== >> --- lib/CodeGen/MachOWriter.cpp (revision 44794) &...
2007 Dec 10
2
[LLVMdev] Exception handling in JIT
Hi everyone, Here's a patch that enables exception handling when jitting. I've copy/pasted _many_code from lib/Codegen/DwarfWriter.cpp, so we may need to factorize it, but the functionality is there and I'm very happy with it :) lli should now be able to execute the output from llvm-gcc when using exceptions (the UnwindInst instruction is not involved in this patch). Just add the
2008 Mar 30
3
[LLVMdev] Being able to know the jitted code-size before emitting
Hi everyone, vmkit requires to know the size of a jitted method before emitting the method. This allows to allocate the correct size for the method. The attached patch creates this functionality when the flag SizedMemoryCode is on. In order to implement this functionality, i had to virtualize some MachineCodeEmitter functions. Is it OK to commit the patch? Thanks, Nicolas --------------
2008 Apr 01
2
[LLVMdev] Being able to know the jitted code-size before emitting
...(void*)(((uintptr_t) JumpTableBase) + >> CurBufferPtr); >> + } >> + >> + virtual bool finishFunction(MachineFunction &F) { >> + MCE->setCurrentPtr(CurBufferPtr); >> + return false; >> + } >> + virtual void startFunctionStub(unsigned StubSize, unsigned >> Alignment) {} >> + virtual void *finishFunctionStub(const Function *F) { return 0; } >> + virtual void addRelocation(const llvm::MachineRelocation&) { } >> + virtual void emitByte(unsigned char B) { >> + CurBufferPtr++; >> + } >>...
2008 Mar 31
0
[LLVMdev] Being able to know the jitted code-size before emitting
...; > + JumpTableBase = (void*)(((uintptr_t) JumpTableBase) + > CurBufferPtr); > + } > + > + virtual bool finishFunction(MachineFunction &F) { > + MCE->setCurrentPtr(CurBufferPtr); > + return false; > + } > + virtual void startFunctionStub(unsigned StubSize, unsigned > Alignment) {} > + virtual void *finishFunctionStub(const Function *F) { return 0; } > + virtual void addRelocation(const llvm::MachineRelocation&) { } > + virtual void emitByte(unsigned char B) { > + CurBufferPtr++; > + } > + virtual void emitWordLE(u...
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...&& "emit Label not implementated yet!"); > + abort(); > + } > + > + > + virtual void setModuleInfo(llvm::MachineModuleInfo* MMI) { } > + > + > /// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE! > void startFunctionStub(unsigned StubSize, unsigned Alignment = > 1) { > assert(0 && "JIT specific function called!"); > Index: lib/CodeGen/MachOWriter.cpp > =================================================================== > --- lib/CodeGen/MachOWriter.cpp (revision 46612) > +++ lib/CodeGen/M...
2008 Apr 01
0
[LLVMdev] Being able to know the jitted code-size before emitting
...Base) + >>> CurBufferPtr); >>> + } >>> + >>> + virtual bool finishFunction(MachineFunction &F) { >>> + MCE->setCurrentPtr(CurBufferPtr); >>> + return false; >>> + } >>> + virtual void startFunctionStub(unsigned StubSize, unsigned >>> Alignment) {} >>> + virtual void *finishFunctionStub(const Function *F) { return 0; } >>> + virtual void addRelocation(const llvm::MachineRelocation&) { } >>> + virtual void emitByte(unsigned char B) { >>> + CurBufferPtr++; >&...
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all, Here's a new patch with Evan's comments (thx Evan!) and some cleanups. Now the (duplicated) exception handling code is in a new file: lib/ExecutionEngine/JIT/JITDwarfEmitter. This patch should work on linux/x86 and linux/ppc (tested). Nicolas -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: jit-exceptions.patch URL:
2008 Apr 04
3
[LLVMdev] Being able to know the jitted code-size before emitting
...erPtr); >>>> + } >>>> + >>>> + virtual bool finishFunction(MachineFunction &F) { >>>> + MCE->setCurrentPtr(CurBufferPtr); >>>> + return false; >>>> + } >>>> + virtual void startFunctionStub(unsigned StubSize, unsigned >>>> Alignment) {} >>>> + virtual void *finishFunctionStub(const Function *F) { return 0; } >>>> + virtual void addRelocation(const llvm::MachineRelocation&) { } >>>> + virtual void emitByte(unsigned char B) { >>>> + C...
2008 Apr 05
2
[LLVMdev] Being able to know the jitted code-size before emitting
...t;> + >>>>>> + virtual bool finishFunction(MachineFunction &F) { >>>>>> + MCE->setCurrentPtr(CurBufferPtr); >>>>>> + return false; >>>>>> + } >>>>>> + virtual void startFunctionStub(unsigned StubSize, unsigned >>>>>> Alignment) {} >>>>>> + virtual void *finishFunctionStub(const Function *F) { return >>>>>> 0; } >>>>>> + virtual void addRelocation(const llvm::MachineRelocation&) { } >>>>>> + virtu...
2008 Apr 05
0
[LLVMdev] Being able to know the jitted code-size before emitting
...;>>>> + virtual bool finishFunction(MachineFunction &F) { >>>>>>> + MCE->setCurrentPtr(CurBufferPtr); >>>>>>> + return false; >>>>>>> + } >>>>>>> + virtual void startFunctionStub(unsigned StubSize, unsigned >>>>>>> Alignment) {} >>>>>>> + virtual void *finishFunctionStub(const Function *F) { return >>>>>>> 0; } >>>>>>> + virtual void addRelocation(const llvm::MachineRelocation&) >>>>>&...