* gc.c (gc_free_stored_bitmaps): fix indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_signal.rb: use SIGINT if needed

* test/ruby/test_signal.rb (test_kill_immediately_before_termination):
  use SIGINT if SIGUSR1 is not available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_signal.rb: use standard fds

* test/ruby/test_signal.rb (test_exit_action): use IO.popen and
  standard file descriptors instead of fd 3 and 4, which is not
  available on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Join the thread to collect zombies

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gc.c: gc_stress is a VALUE

* gc.c (ruby_initial_gc_stress_ptr): now gc_stress is a VALUE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
gc.c: refine macros

* gc.c (MARKED_IN_BITMAP, FL_TEST2): return boolean value since always
  used as boolean value.
* gc.c (MARK_IN_BITMAP, CLEAR_IN_BITMAP): evaluate bits once.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (bdigit_roomof): Use SIZEOF_BDIGITS.
  (bigfixize): Refine an ifdef condition.
  (rb_absint_size): Use bdigit_roomof.
  (rb_absint_singlebit_p): Ditto.
  (rb_integer_pack): Ditto.
  (integer_pack_fill_dd): Use BITSPERDIG.
  (integer_unpack_push_bits): Use BITSPERDIG, BIGLO and BIGDN.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32.c: wait until exit

* win32/win32.c (waitpid): should not return 0 but wait until exit
  unless WNOHANG is given.  waiting huge process may return while
  active, for some reason.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_process.rb: redirect to null

* test/ruby/test_process.rb (test_no_curdir): since standard handles
  cannot close on Windows, redirect to null device.

* test/ruby/test_process.rb (assert_fail_too_long_path): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
collect zombies

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32.c: no error after retry

* win32/win32.c (waitpid): return 0 on error after retried.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32.c: GetLastError once

* win32/win32.c (poll_child_status): call GetLastError() once.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_marks): fix wrong option. FALSE means major/full GC.
  It should be TRUE (minor marking).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: Accumulate sweep time to GC time.
  Now [GC time] is [mark time] + [sweep time] + [misc].
  ([GC time] >= [mark time] + [sweep time])
* gc.c (gc_prof_sweep_slot_timer_start/stop): rename to
  gc_prof_sweep_timer_start/stop and locate at lazy_sweep().
* gc.c (elapsed_time_from): add a utility function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_prof_sweep_timer_start): fix merge miss.
* gc.c (GC_PROFILE_MORE_DETAIL): set it 0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/cgi/util.rb (CGI.escapeHTML): performance improvement.
  thank you nagachika-san.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_profile_total_time): check objspace->profile.next_index > 0.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/rdocbench.rb: add summary.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: add new rules `gcbench-rdoc', `gcbench-hash'.
* tool/gcbench.rb: separate GC bench framework and process.
* tool/hashbench1.rb, tool/hashbench2.rb: add two types GC bench.
  hashbench1: many temporal objects (GC by newobj)
  hashbench2: hash size becomes bigger and bigger (GC by malloc)
  Two benchs are executed by `gcbench-hash' rule.
* tool/rdocbench.rb: separated.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e