[MacRuby-devel] trunk status update

Laurent Sansonetti lsansonetti at apple.com
Mon Oct 5 14:34:15 PDT 2009


Another status update, covering about 2 weeks of development.

Highlights:

- Early backtracing support.
- Much better AOT compilation. Parts of the standard library are now  
pre-compiled for testing.
- Migrated to LLVM top of tree.
- Dispatcher performance is now back to normal (we lost about 30% due  
to gcc not inlining code).
- Many bug fixes.

We are content-complete for a first beta release of MacRuby 0.5.  We  
will release it very soon then continue converging until the final 0.5  
release.

Details:

- Better GCD documentation
- Implemented Symbol.all_symbols
- Rewrote the file loader (file.c) fixing a few bugs
- Added preliminary support for backtracing / symbolication
- Make sure stdio objects are never finalized
- Fixed more eval/Binding bugs
- Fixed END{} block
- Fixed a memory problem in the libyaml extension
- Fixed rescues in rescues (most cases)
- Fixed a 10.5-only bug in the new Array class
- Fixed a bug of the parser when dealing with byte strings
- AOT: now compiling part of the stdlib (notably irb and rubygems)
- AOT: fixed bugs in the compilation of defined?, undef,  
rb_eStandardError, literal ranges
- Fixed a bug in the compilation of `for' loops
- Fixed many minor compilation bugs discovered by the LLVM module  
verifier
- The arguments resolver is now able to deal with any number of  
arguments
- Fixed minor String bugs
- Added autorelease and dealloc to the list of handled ignored selectors
- Fixed a bug when instance variables were not visible from within an  
iterator in method called through KVO
- Fixed an infinite recursion trying to convert an NSPathStore2 to a  
string
- Moved to LLVM r82747, enabled LLVM multithreaded mode
- Fixed GC problems in the parser
- Create all ruby scopes with external linkage, otherwise the AOT  
compiler won't generate frame info for them
- Fixed a bug when open would crash when mode is numeric
- Now using a gcc constructor to initialize .rbo files
- Added Dispatch::Semaphore + fixed a few things
- Make sure RoxorVM instances created lazily have a valid thread  
accessor
- Fixed a random bug of Numeric#chr
- macruby is now SIGINT interruptible (but no exception is raised, yet)
- Fixed a few 32-bit only bugs
- Fixed a GC bug in builtin global variable setters
- Fixed a bug in Set#to_a
- Fixed the BridgeSupport parser to properly handle one liner <method>  
elements
- Fixed variadic functions/methods calls
- Fixed a few bugs in Array#pack
- Fixed a serious bug in the way we used to promote strings to byte  
strings
- Fixed a few bugs in IO#ioctl and IO#fcntl
- Now separately compiling the dispatcher and forcing function inlining
- Fixed a bug in File.open when file permissions were not taken into  
account
- Make sure ivar slot generation is disabled when compiling attr  
accessors
- Fixed a bug in the way we AOT compile super method cache
- Added an empty Ruby template file
- Improved the MacRuby Application template: Embed MacRuby target and  
some unit testing mechanism are added

Laurent


More information about the MacRuby-devel mailing list