[ruby-cvs:50850] nobu:r43707 (trunk): eval_intern.h: refine stack overflow detection

nobu at ruby-lang.org nobu at ruby-lang.org
Mon Nov 18 22:47:57 JST 2013


nobu	2013-11-18 22:47:56 +0900 (Mon, 18 Nov 2013)

  New Revision: 43707

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43707

  Log:
    eval_intern.h: refine stack overflow detection
    
    * eval_intern.h (TH_PUSH_TAG, TH_EXEC_TAG): refine stack overflow
      detection.  chain local tag after setjmp() successed on it, because
      calling setjmp() also can overflow the stack.
      [ruby-dev:47804] [Bug #9109]
    * vm_eval.c (rb_catch_obj): now th->tag points previous tag until
      TH_EXEC_TAG().

  Modified files:
    trunk/ChangeLog
    trunk/eval_intern.h
    trunk/test/ruby/test_exception.rb
    trunk/vm_eval.c


More information about the ruby-cvs mailing list