[ruby-cvs:50608] ko1:r43466 (trunk): * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use

ko1 at ruby-lang.org ko1 at ruby-lang.org
Tue Oct 29 20:16:58 JST 2013


ko1	2013-10-29 20:16:54 +0900 (Tue, 29 Oct 2013)

  New Revision: 43466

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

  Log:
    * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only use
      safe functions during garbage collection such as xfree().
      On default, T_DATA objects are freed at same points as fianlizers.
      This approach protects issues such as reported by [ruby-dev:35578].
      However, freeing T_DATA objects immediately helps heap usage.
      Most of T_DATA (in other words, most of dfree functions) are safe.
      However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default
      for safety.
    * cont.c: ditto.
    * dir.c: ditto.
    * encoding.c: ditto.
    * enumerator.c: ditto.
    * error.c: ditto.
    * file.c: ditto.
    * gc.c: ditto.
    * io.c: ditto.
    * iseq.c: ditto.
    * marshal.c: ditto.
    * parse.y: ditto.
    * proc.c: ditto.
    * process.c: ditto.
    * random.c: ditto.
    * thread.c: ditto.
    * time.c: ditto.
    * transcode.c: ditto.
    * variable.c: ditto.
    * vm.c: ditto.
    * vm_backtrace.c: ditto.
    * vm_trace.c: ditto.
    * ext/bigdecimal/bigdecimal.c: ditto.
    * ext/objspace/objspace.c: ditto.
    * ext/stringio/stringio.c: ditto.
    * ext/strscan/strscan.c: ditto.

  Modified files:
    trunk/ChangeLog
    trunk/cont.c
    trunk/dir.c
    trunk/encoding.c
    trunk/enumerator.c
    trunk/error.c
    trunk/ext/bigdecimal/bigdecimal.c
    trunk/ext/objspace/objspace.c
    trunk/ext/stringio/stringio.c
    trunk/ext/strscan/strscan.c
    trunk/file.c
    trunk/gc.c
    trunk/io.c
    trunk/iseq.c
    trunk/marshal.c
    trunk/parse.y
    trunk/proc.c
    trunk/process.c
    trunk/random.c
    trunk/thread.c
    trunk/time.c
    trunk/transcode.c
    trunk/variable.c
    trunk/vm.c
    trunk/vm_backtrace.c
    trunk/vm_trace.c


More information about the ruby-cvs mailing list