Re: Exception handling tables for function generated on the fly

2008-08-13 Thread Andrew Haley
Tom Quarendon wrote: > If I do this I get std::terminate called from __cxa_throw. Researching > this it seems that I somehow need to register some exception handling > tables to correspond to the "magic" function to enable the exception > handler to allow the exception to propagate through. Right

Re: Exception handling tables for function generated on the fly

2008-08-12 Thread Tom Quarendon
Sorry if I chose the wrong list... It's OT for this list, but the LLVM JIT can generate DWARF EH information on the fly. This is used by the LLVM Java and .NET VM/runtimes: http://vmkit.llvm.org/ I have also posted similar question to LLVM list. Haven't yet been able to check whether LLVM

RE: Exception handling tables for function generated on the fly

2008-08-12 Thread Dave Korn
David Daney wrote on 12 August 2008 18:58: >> Yes. The OP's question is "How do I generate .eh_frame data at runtime >> for an arbitrary function that has no throws and no catches but may call >> functions that throw". >> > > Which is why I recommended passing -funwind-tables, which does exa

Re: Exception handling tables for function generated on the fly

2008-08-12 Thread Chris Lattner
On Aug 12, 2008, at 10:55 AM, Tom Tromey wrote: "Tom" == Tom Quarendon <[EMAIL PROTECTED]> writes: Tom> I imagine that GCJ has do to this ind of thing? FWIW, libgcj does not include a JIT compiler. So, no solution there, sorry. It's OT for this list, but the LLVM JIT can generate DWARF EH

Re: Exception handling tables for function generated on the fly

2008-08-12 Thread David Daney
Dave Korn wrote: David Daney wrote on 12 August 2008 18:19: Questions like this should probably go to [EMAIL PROTECTED] Questions about deep compiler internals and EH abis? Seems a bit intense for the where's-the-any-key list to me... gcc@ is for questions about development of GCC. gcc

Re: Exception handling tables for function generated on the fly

2008-08-12 Thread Tom Tromey
> "Tom" == Tom Quarendon <[EMAIL PROTECTED]> writes: Tom> I imagine that GCJ has do to this ind of thing? FWIW, libgcj does not include a JIT compiler. So, no solution there, sorry. Tom

RE: Exception handling tables for function generated on the fly

2008-08-12 Thread Dave Korn
David Daney wrote on 12 August 2008 18:19: > Questions like this should probably go to [EMAIL PROTECTED] Questions about deep compiler internals and EH abis? Seems a bit intense for the where's-the-any-key list to me... >> I'm porting some code that does a kind of JIT > You don't say how yo

Re: Exception handling tables for function generated on the fly

2008-08-12 Thread David Daney
Questions like this should probably go to [EMAIL PROTECTED], but... Tom Quarendon wrote: I'm porting some code that does a kind of JIT to translate a user script into a dynamically created function for execution, but am having trouble porting this to GCC and the way it implementes exceptions.

Exception handling tables for function generated on the fly

2008-08-12 Thread Tom Quarendon
I'm porting some code that does a kind of JIT to translate a user script into a dynamically created function for execution, but am having trouble porting this to GCC and the way it implementes exceptions. Lets say I've got int doPUT() { throw IOException; } int doGET() { throw IOException } a