On Sat, May 11, 2013 at 9:49 PM, Yukihiro Nakadaira < [email protected]> wrote:
> On Sat, May 11, 2013 at 8:47 PM, Bram Moolenaar <[email protected]>wrote: > >> >> Hiroshi Shirosaki wrote: >> >> > This is originally reported here. >> > https://bugs.ruby-lang.org/issues/8364 >> > >> > Ruby crashes due to GC failure on mac osx. It seems ruby >> > initialization in if_ruby.c is not a portable way. >> > Stack start address should be prior to ruby stack region of every ruby >> > eval for GC working correctly. It would be better to get the stack >> > start address at startup timing of vim. >> > Ruby 1.8.7 on Linux also has this issue. >> > >> > I've created a patch to fix this. Tested with ruby 1.8.7, 1.9.3 and >> > trunk on osx. >> > ruby_init_stack() also exists in ruby 1.8.7. >> > >> > https://gist.github.com/shirosaki/5547805 >> >> Thanks. Ruby does appear to have a special kind of GC. >> > > ruby_init_stack() is also required for static linked version. > And ruby_init_stack() is defined as ruby-2.0-0-p0: #ifdef __ia64 void ruby_init_stack(volatile VALUE*, void*); #define ruby_init_stack(addr) ruby_init_stack((addr), rb_ia64_bsp()) #else void ruby_init_stack(volatile VALUE*); #endif ruby-1.8.7-p371: #ifdef __ia64 void ruby_init_stack(VALUE*, void*); #define RUBY_INIT_STACK \ VALUE variable_in_this_stack_frame; \ ruby_init_stack(&variable_in_this_stack_frame, rb_ia64_bsp()); #else void ruby_init_stack(VALUE*); #define RUBY_INIT_STACK \ VALUE variable_in_this_stack_frame; \ ruby_init_stack(&variable_in_this_stack_frame); #endif So, We should handle __ia64. -- Yukihiro Nakadaira - [email protected] -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
