We already have a basic implementation of attach_function in MacRuby based on LLVM, but it has not been tested well. And we have a class similar to MemoryPointer too (called Pointer) which also uses LLVM to generate conversion stubs.
I think it shouldn't be hard to finish FFI inside MacRuby, it's just that I'm the only person really working on the project so far and this isn't very high on the TODO list. If one wants to help... :-)
Implementing FFI in terms of existing BridgeSupport makes sense, and afaik Rubinius' FFI support also depends heavily on their LLVM JIT compiler, so it seems like a good approach.
MacRuby is progressively following LLVM. However we do at the moment require a revision where ModuleProvider.h exists (I have a local patch that makes it work for future revisions too but it's not applied yet).
# The LLVM_TOT variable can be passed to rake in order to sometimes build with more recent revisions than the one specified in the README.rdoc file, but it is only used for internal development and targets a special internal branch of LLVM, so it might not always work against the public trunk.
Ideally we will target the final 2.7 once it's out, which shouldn't be long now.
Do you intend to continue progressively tracking LLVM? LLVM-trunk is such a moving target, but so long as the llvm-c interface stays compatible this is no problem. Linkage may also be problematic since my FFI bindings depend on LLVM dylibs. I'm not sure how they would work with MacRuby yet. Best, Jeremy Laurent
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel