search for: virtualfp

Displaying 6 results from an estimated 6 matches for "virtualfp".

2008 Apr 17
1
[LLVMdev] Being able to know the jitted code-size before emitting
Thx again Evan for the review. Here's a new patch for the JIT in itself. The major changes are: 1) A JITMemoryManager now has a flag saying "I require to know the size of what you want to emit" 2) DwarfJITEmitter is augmented with GetSize* functions 3) JITEmitter::startFunction checks if the JITMemoryManager requires to know the size. If so, it computes it and gives it through the
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...Ptr); > + } else { > + EmitInt32(LabelPtr - BaseLabelPtr); > + } > + > + BaseLabelPtr = LabelPtr; > + IsLocal = true; > + } > + > + // If advancing cfa. > + if (Dst.isRegister() && Dst.getRegister() == > MachineLocation::VirtualFP) { > + if (!Src.isRegister()) { > + if (Src.getRegister() == MachineLocation::VirtualFP) { > + EmitInt8(dwarf::DW_CFA_def_cfa_offset); > + } else { > + EmitInt8(dwarf::DW_CFA_def_cfa); > + EmitULEB128Bytes(RI->getDwarfRegNum(Src.get...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...EmitInt32(LabelPtr - BaseLabelPtr); >> + } >> + >> + BaseLabelPtr = LabelPtr; >> + IsLocal = true; >> + } >> + >> + // If advancing cfa. >> + if (Dst.isRegister() && Dst.getRegister() == >> MachineLocation::VirtualFP) { >> + if (!Src.isRegister()) { >> + if (Src.getRegister() == MachineLocation::VirtualFP) { >> + EmitInt8(dwarf::DW_CFA_def_cfa_offset); >> + } else { >> + EmitInt8(dwarf::DW_CFA_def_cfa); >> + EmitULEB128Bytes(RI-&g...
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 Feb 04
0
[LLVMdev] Exception handling in JIT
...t; + } else { > + MCE->emitInt32(LabelPtr - BaseLabelPtr); > + } > + > + BaseLabelPtr = LabelPtr; > + IsLocal = true; > + } > + > + // If advancing cfa. > + if (Dst.isRegister() && Dst.getRegister() == > MachineLocation::VirtualFP) { > + if (!Src.isRegister()) { > + if (Src.getRegister() == MachineLocation::VirtualFP) { > + MCE->emitByte(dwarf::DW_CFA_def_cfa_offset); > + } else { > + MCE->emitByte(dwarf::DW_CFA_def_cfa); > + MCE->emitULEB128Bytes(RI-...
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: