Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

120 lines (103 sloc) 4.19 kb
For 0.5 (must do):
[/] sockets
[/] backtracing / symbolication
[/] rubygems should work (modulo C extensions)
[ ] `macgem build' doesn't seem to work
[/] 32-bit should be back
[X] Array subclass for immediates
[ ] Hash subclass for immediates
[ ] try/catch should use a C++ exception
[X] implement 'protected' visibility
[X] implement NODE_LAMBDA (1.9 proc syntax)
[ ] remaining Cocoa bugs
[X] ObjC exceptions should be catchable in Ruby
[X] honor BridgeSupport sel_of_type attribute
[ ] honor BridgeSupport printf_format attribute
[X] add support for variadic functions / methods
[/] 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
[/] support for Mocha (grep -R 'Mocha TODO' test_vm)
[ ] merge stdlib from 1.9.2 trunk
[/] most language/core/library specs should run (modulo a very few exceptions)
[X] add the DTrace custom probes
[X] port all rb_define_method() calls to rb_objc_define_method()
[/] 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()
[X] refresh copyright headers for 2009
[X] rdoc should work
[/] 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
[X] MacRuby should not ignore SIGINT and other signals
[X] fix autoload bugs
[X] Xcode target for AOT compilation
[/] finish AOT compiler (only normal mode)
[X] should locate `llc' inside MacRuby.framework
[X] macrubyc should handle -arch
[ ] support #require calls when assembling a binary
[X] add a flag to link against libmacruby.dylib (and not .a) when
assembling a binary
[X] sync with LLVM 2.6/ToT
[ ] non-ASCII regexp
[ ] leaks
[X] implement ~RoxorVM
[ ] fix exception leak
[X] delete unused functions after execution
[X] delete unused NODE* after execution
[/] thread issues
[ ] method cache is not thread safe
[X] block dvars are corrupted in case the receiver leaves
ex: 10.times { |i| Thread.new { p i } }; sleep 1
[ ] blocks are not reentrant
ex: b=Proc.new{}; 100.times{Thread.new{100.times{b.call}}}; sleep 1
[X] lazy GCD VMs are never finalized
[X] random.c is not thread-safe and should be rewritten using random(3)
For 0.6:
[ ] 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
rb_objc_define_module_function()
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.