evan.musing << current

life and tech stuff by Evan Phoenix

Archive for March 6th, 2007

Subtend version 1 is in!

leave a comment »

I’m very happy to announce I’ve just committed revision 809, which contains subtend, the rubinius C extension interface. It’s modeled after the MRI C interface, to allow most if not all C extensions that run under MRI to compile and run under rubinius.

Techy details: While subtend sports the same C API we’ve all grown to love from MRI, under the hood it is quite different. To properly support the accurate garbage collector, subtend uses a handle abstraction layer for object references the C code holds, which allows the VM to remain flexible with regard to object allocation and movement. Probably the thing I’m most proud of is that it allows C code to call back into ruby code without enlarging the C stack. I’ll talk more about that later. Come celebrate with us in #rubinius on freenode.net!

Written by evanphx

March 6, 2007 at 10:55 pm

Posted in rubinius