Displaying 6 results from an estimated 6 matches for "ismore".
2007 Dec 11
0
[LLVMdev] Exception handling in JIT
...+ /// EmitSLEB128Bytes - This callback is invoked when a SLEB128
> needs to be
> + /// written to the output stream.
> + void EmitSLEB128Bytes(int Value) {
> +// printf(".sleb128 %d\n", Value);
> + int Sign = Value >> (8 * sizeof(Value) - 1);
> + bool IsMore;
> +
> + do {
> + unsigned char Byte = Value & 0x7f;
> + Value >>= 7;
> + IsMore = Value != Sign || ((Byte ^ Sign) & 0x40) != 0;
> + if (IsMore) Byte |= 0x80;
> + EmitInt8(Byte, false);
> + } while (IsMore);
> + }
> +
>...
2007 Dec 12
3
[LLVMdev] Exception handling in JIT
...- This callback is invoked when a SLEB128
>> needs to be
>> + /// written to the output stream.
>> + void EmitSLEB128Bytes(int Value) {
>> +// printf(".sleb128 %d\n", Value);
>> + int Sign = Value >> (8 * sizeof(Value) - 1);
>> + bool IsMore;
>> +
>> + do {
>> + unsigned char Byte = Value & 0x7f;
>> + Value >>= 7;
>> + IsMore = Value != Sign || ((Byte ^ Sign) & 0x40) != 0;
>> + if (IsMore) Byte |= 0x80;
>> + EmitInt8(Byte, false);
>> + } while...
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 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
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
...te);
> + } while (Value);
> + }
> +
> + /// emitSLEB128Bytes - This callback is invoked when a SLEB128
> needs to be
> + /// written to the output stream.
> + void emitSLEB128Bytes(int Value) {
> + int Sign = Value >> (8 * sizeof(Value) - 1);
> + bool IsMore;
> +
> + do {
> + unsigned char Byte = Value & 0x7f;
> + Value >>= 7;
> + IsMore = Value != Sign || ((Byte ^ Sign) & 0x40) != 0;
> + if (IsMore) Byte |= 0x80;
> + emitByte(Byte);
> + } while (IsMore);
> + }
> +
> + ///...
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: