Re: Managing ABI compatibility (was Re: [PATCH 2/2] jit: add switch statements)

2015-06-26 Thread David Malcolm
On Fri, 2015-06-26 at 13:57 -0400, David Malcolm wrote: > On Thu, 2015-06-25 at 13:16 -0600, Jeff Law wrote: > > On 06/25/2015 01:13 PM, David Malcolm wrote: > > > > > >* It extends the libgccjit API. It's not clear to me yet how to > > > manage extensions of the libgccjit API: should I u

Managing ABI compatibility (was Re: [PATCH 2/2] jit: add switch statements)

2015-06-26 Thread David Malcolm
On Thu, 2015-06-25 at 13:16 -0600, Jeff Law wrote: > On 06/25/2015 01:13 PM, David Malcolm wrote: > > > >* It extends the libgccjit API. It's not clear to me yet how to > > manage extensions of the libgccjit API: should I use symbol maps > > and versioning, or bump the SONAME? I'm t

Re: [PATCH 2/2] jit: add switch statements

2015-06-25 Thread David Malcolm
On Thu, 2015-06-25 at 21:47 +0200, Basile Starynkevitch wrote: > On 06/25/2015 09:13 PM, David Malcolm wrote: > > Some interpreters/VMs support a switch statement (for example the JVM > > has opcodes "lookupswitch" and "tableswitch"). GCC has a set of > > optimizations for efficiently handling swi

Re: [PATCH 2/2] jit: add switch statements

2015-06-25 Thread Basile Starynkevitch
On 06/25/2015 09:13 PM, David Malcolm wrote: Some interpreters/VMs support a switch statement (for example the JVM has opcodes "lookupswitch" and "tableswitch"). GCC has a set of optimizations for efficiently handling switch statements, so it makes sense to directly expose switch statements in t

Re: [PATCH 2/2] jit: add switch statements

2015-06-25 Thread Jeff Law
On 06/25/2015 01:13 PM, David Malcolm wrote: * It extends the libgccjit API. It's not clear to me yet how to manage extensions of the libgccjit API: should I use symbol maps and versioning, or bump the SONAME? I'm thinking of providing precanned feature macros within libgccji

[PATCH 2/2] jit: add switch statements

2015-06-25 Thread David Malcolm
Some interpreters/VMs support a switch statement (for example the JVM has opcodes "lookupswitch" and "tableswitch"). GCC has a set of optimizations for efficiently handling switch statements, so it makes sense to directly expose switch statements in the libgccjit API. This patch implements a swit