[前][次][番号順一覧][スレッド一覧][生データ]

ruby-cvs:25051

From: nobu ruby-lang.org
Date: Thu, 3 Jul 2008 06:17:32 +0900 (JST)
Subject: [ruby-cvs:25051] Ruby:r17832 (ruby_1_8): * eval.c (rb_longjmp): duplicate the thrown exception to set backtrace

nobu	2008-07-03 06:17:31 +0900 (Thu, 03 Jul 2008)

  New Revision: 17832

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/eval.c
    branches/ruby_1_8/gc.c
    branches/ruby_1_8/node.h

  Log:
    * eval.c (rb_longjmp): duplicate the thrown exception to set backtrace
      if it was frozen.  clear all raised flags.
    
    * eval.c (stack_check): leave clearing flag to rb_longjmp.
    
    * eval.c (rb_thread_set_raised, rb_thread_reset_raised): use generic
      flags.
    
    * eval.c (Init_Proc), gc.c (Init_GC): freeze preallocated special exceptions.
    
    * gc.c (rb_memerror): use thread raised flag instead of static flag,
      and raise nomem_error without backtrace if failed to make backtrace.
      [ruby-dev:34724]
    
    * gc.c (ruby_xmalloc): increase malloc_increase only if malloc
      succeeds.  failed malloc size can be huge.  it may increase
      malloc_limit too big which cause less GC and memory full.
      (ruby_xrealloc): ditto.



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

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=17832&r2=17831&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/node.h?r1=17832&r2=17831&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/gc.c?r1=17832&r2=17831&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/eval.c?r1=17832&r2=17831&diff_format=u


[前][次][番号順一覧][スレッド一覧][生データ]