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
	* gc.c (rb_gc_writebarrier): give up rescan A and register B directly
	  if A has huge number of children.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (BIGSIZE): New macro.
  (bigfixize): Use BIGSIZE.
  (big2ulong): Ditto.
  (check_shiftdown): Ditto.
  (rb_big_aref): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/gcbench.rb: Summary in one line.
* common.mk: separete gcbench-hash to gcbench-hash1 and gcbench-hash2.



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

* gc.c (gc_marks): adjust indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
GC before fork to avoid spending too much time in timeout block

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

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

* test/ruby/envutil.rb (invoke_ruby, assert_normal_exit),
  (assert_in_out_err, assert_ruby_status, assert_separately): use
  keyword arguments so that optional parameters can be omitted.

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

* test/ruby/envutil.rb (invoke_ruby): refine message and skip
  innermost backtrace on timeout.

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