On Mon, Jan 11, 2010 at 4:53 PM, Rick DeNatale <rick.denatale / gmail.com> wrote:
>> We are interested in supporting a C API in JRuby, but we will not
>> support any API that gives you direct access to pointers or object
>> structures. We'll work with Rubinius and MRI folks to come up with
>> replacement APIs, but any existing extensions that need unsafe access
>> will not work. If it's worthwhile to have C extensions that work with
>> many different runtimes/GCs/threading models, these API changes are
>> not really negotiable.
>
> This would be good.
>
> I'm not sure whether the API ultimately needs to be binary compatible,
> or that a macro-based API would be as good.
>
> If I'm not mistaken the MRI extension API macro implementations
> changed between 1.8 and 1.9, certainly some of the 'VM' data
> structures did, meaning that extensions needed to be recompiled.

For what it's worth, we have nowhere near the resources nor expertise
to do a lot of work on the JRuby C API, so we're hoping folks
interested in C extensions for JRuby would like to help out. The
project is here:

http://github.com/wmeissner/jruby-cext

And you can poke either me or Wayne Meissner for instructions on how
to get it working. I'll personally ship out JRuby or EY t-shirts to
anyone that can help us with it :)

- Charlie