Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

110 lines (93 sloc) 3.631 kb
For 0.6:
[X] new Hash class, insertion ordering support, optimized for immediate types
[X] new String and Symbol classes, support for 1.9 encoding semantics
[X] new Regexp class, thread-safe, ICU-based
[X] refactor Foundation bridging models
[X] NSDictionary
[X] NSArray
[X] NSString
[X] NSNumber
[X] debugger
[X] command-line tool
[/] MRI C extensions support
[X] implement missing API (use nokogiri as test bed)
[/] cleanup public headers
[ ] define an export file for the linker
[ ] GC support
[/] rails
[X] project creation should work
[/] development web server
[/] hello world should work
[ ] support Mocha
[ ] support RSpec
[/] 90% (min.) of rubyspecs should pass
[ ] `macgem build' doesn't seem to work
[ ] Hash subclass for immediates
[ ] honor BridgeSupport printf_format attribute
[/] support for bigdecimal
(implemented but some specs are failing, need to sync with upstream)
[/] support for json
(implemented, do we have specs?)
[/] support for yaml
[ ] pass remaining specs
[/] support for openssl
[ ] finish porting to the new runtime APIs
[ ] check every RSTRING_PTR call to see if they are not f*cking up the data
[ ] pass specs (do we have some?)
[/] support for zlib
[ ] merge stdlib from 1.9.2 trunk
[/] most language/core/library specs should run (modulo a very few exceptions)
[/] port all rb_funcall() calls to rb_vm_call()
[/] port all rb_num_coerce_bin() calls to rb_objc_num_coerce_bin()
[/] port all rb_obj_respond_to() calls to rb_vm_respond_to()
[/] ri should work
[ ] pager problem (apparent bug of IO.popen)
[ ] some annotations are not available (`macri -T Array' misses a lot), maybe
a YAML merging bug
[ ] leaks
[ ] fix exception leak
[/] thread issues
[ ] method cache is not thread safe
[ ] blocks are not reentrant
ex:{}; 100.times{{100.times{}}}; sleep 1
[ ] exceptions not properly handled by the default EH in GCD blocks called
from a different thread
ex:; g.dispatch(Dispatch::Queue.concurrent) { raise('hey') }; g.wait
[ ] implement Enumerable::Enumerator
[ ] write a pass manager to eliminate unnecessary arrays generated by massigns
[ ] vectorize bignums
[ ] block inlining
[ ] fast regexp =~
[ ] rakefile-ize instruby.rb
[ ] multithreaded JIT
[ ] debugger interface
[ ] fully implement FFI API
[ ] add support for encodings in strings
Porting from rb_define_method() to rb_objc_define_method():
Replace calls to rb_define_method() with a call to
rb_objc_define_method() and rewrite the function to
conform to the following signatures:
// if arity -2
VALUE foo(VALUE recv, SEL sel, VALUE args);
// if arity -1
VALUE foo(VALUE recv, SEL sel, int argc, VALUE *argv);
// if arity 0
VALUE foo(VALUE recv, SEL sel);
// if arity 1
VALUE foo(VALUE recv, SEL sel, VALUE arg1);
// if arity 2
VALUE foo(VALUE recv, SEL sel, VALUE arg1, VALUE arg2);
// etc.
In the case of rb_define_global_function(), replace it with
rb_objc_define_method(rb_mKernel, ...)
In the case of rb_define_singleton_method() for defining class
functions and module-level functions, replace it with
rb_objc_define_method(*(VALUE *)klass, ...)
In the case of rb_define_singleton_method() for defining methods on
individual instances of objects, replace it with
rb_objc_define_method(rb_singleton_class(obj), ...)
In the case of rb_define_module_function(), replace it with
In the case of rb_define_alloc_func(), replace it with
rb_objc_define_method(*(VALUE *)klass, "alloc", ..., 0)
Jump to Line
Something went wrong with that request. Please try again.