Loading ...
Sorry, an error occurred while loading the content.

Re: if_ruby feature sometimes crash

Expand Messages
  • Yukihiro Nakadaira
    On Sat, May 11, 2013 at 10:58 PM, Hiroshi Shirosaki ... Thank you. Here is small fix for dynamic load. I don t have ia64 machine, too. diff -r d73a4a163202
    Message 1 of 8 , May 11 8:11 AM
    • 0 Attachment
      On Sat, May 11, 2013 at 10:58 PM, Hiroshi Shirosaki <h.shirosaki@...> wrote:
      Thank you. I don't have __ia64 environment, but I think this would work.
      Could you review the following?

      Thank you.
      Here is small fix for dynamic load.
      I don't have ia64 machine, too.

      diff -r d73a4a163202 src/if_ruby.c
      --- a/src/if_ruby.c    Sat May 11 13:56:18 2013 +0200
      +++ b/src/if_ruby.c    Sat May 11 23:55:28 2013 +0900
      @@ -227,7 +227,13 @@
       # define rb_float_new            dll_rb_float_new
       # define rb_ary_new            dll_rb_ary_new
       # define rb_ary_push            dll_rb_ary_push
      -# define ruby_init_stack        dll_ruby_init_stack
      +# ifdef __ia64
      +#  define rb_ia64_bsp            dll_rb_ia64_bsp
      +#  undef ruby_init_stack
      +#  define ruby_init_stack(addr)        dll_ruby_init_stack((addr), rb_ia64_bsp())
      +# else
      +#  define ruby_init_stack        dll_ruby_init_stack
      +# endif
       #else
       # define rb_str2cstr            dll_rb_str2cstr
       #endif
      @@ -336,7 +342,12 @@
       static VALUE (*dll_rb_float_new) (double);
       static VALUE (*dll_rb_ary_new) (void);
       static VALUE (*dll_rb_ary_push) (VALUE, VALUE);
      -static void (*ruby_init_stack)(VALUE*);
      +# ifdef __ia64
      +static void * (*dll_rb_ia64_bsp) (void);
      +static void (*dll_ruby_init_stack)(VALUE*, void*);
      +# else
      +static void (*dll_ruby_init_stack)(VALUE*);
      +# endif
       #endif
       #ifdef RUBY19_OR_LATER
       static VALUE (*dll_rb_int2big)(SIGNED_VALUE);
      @@ -476,6 +487,9 @@
       #endif
       #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
           {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
      +# ifdef __ia64
      +    {"rb_ia64_bsp", (RUBY_PROC*)&dll_rb_ia64_bsp},
      +# endif
           {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
       # if DYNAMIC_RUBY_VER <= 19
           {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new},
      @@ -717,7 +731,7 @@
               NtInitialize(&argc, &argv);
       #endif
               {
      -#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
      +#if defined(RUBY_VERSION) && RUBY_VERSION >= 18
               ruby_init_stack(ruby_stack_start);
       #endif
               ruby_init();


      --
      Yukihiro Nakadaira - yukihiro.nakadaira@...

      --
      --
      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 vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
       
       
    • Bram Moolenaar
      ... It looks OK to me, although I can t verify other combination of options. Thanks! -- Futility Factor: No experiment is ever a complete failure - it can
      Message 2 of 8 , May 11 8:38 AM
      • 0 Attachment
        Yukihiro Nakadaira wrote:

        > On Sat, May 11, 2013 at 10:58 PM, Hiroshi Shirosaki
        > <h.shirosaki@...>wrote:
        >
        > > Thank you. I don't have __ia64 environment, but I think this would work.
        > > Could you review the following?
        >
        > Thank you.
        > Here is small fix for dynamic load.
        > I don't have ia64 machine, too.

        It looks OK to me, although I can't verify other combination of options.
        Thanks!


        --
        Futility Factor: No experiment is ever a complete failure - it can always
        serve as a negative example.

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

        --
        --
        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 vim_dev+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      Your message has been successfully submitted and would be delivered to recipients shortly.