[MacRuby-devel] branches/experimental

Jordan Breeding jordan.breeding at mac.com
Sat Mar 28 12:48:49 PDT 2009


Will OSA support be a 0.5 or a 0.6 task?

On Mar 28, 2009, at 14:37, Laurent Sansonetti <lsansonetti at apple.com>  
wrote:

> Hi guys,
>
> As some of you already noticed we have been working on a branch for  
> a few weeks and I thought it's now time to describe what has been  
> done and were we are going exactly.
>
> I wrote a blog entry here: http://www.macruby.org/blog/2009/03/28/experimental-branch.html
>
> 2 big features in this branch: a LLVM-based JIT compiler and a new  
> IO subsystem. Obviously performance-related, we really need to be  
> faster.
>
> Current status of the branch:
>
> - The compiler is now able to pass most of the Ruby AST. It compiles  
> nodes directly from the parser in a lazy fashion.
> - Only JIT compilation for the moment (AOT is planned for later).
> - The VM is still under development, it's not as complete as the  
> compiler yet.
> - Early performance benchmarks are very promising.
> - By the time of this writing, we pass the vast majority of the  
> language RubySpecs (a week ago we weren't even able to even  
> bootstrap mspec!), about 1190 expectations. Work is very active in  
> this area, we are also making sure the specs do run with the  
> original Ruby 1.9 and writing missing specs.
> - The new IO subsystem is mostly functional, but there are still  
> many methods that are not implemented yet and we are working on  
> this. Once it will be complete we will integrate a default runloop  
> in the VM and expose asynchronous IOs.
>
> For the near future, the goals are:
>
> - Improving the compiler. Currently compile time has not really been  
> optimized yet.
> - Be able to run IRB. We are almost there.
> - Remove the libffi code used to call C/ObjC implementations and  
> instead JIT compile stubs and insert them in the dispatcher cache.  
> We should be way closer to ObjC then (and maybe faster once we  
> enable secondary compilations of hotspots and inline the stubs).
> - Rewrite the BridgeSupport side using LLVM types.
> - Implement full concurrent threading! (this is a big one :-)).
> - And many more (check the TODO file for more info).
>
> Once we arrive at a point when the branch is as functional as trunk,  
> it will be merged in trunk and we will then work on stabilizing it,  
> to later on release it as 0.5. The schedule for this release is  
> unknown, it will be released when it will be ready (preferably this  
> year though).
>
> If you want to help let me know!
>
> Laurent
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel


More information about the MacRuby-devel mailing list