eval.c: invariant IDs

* eval.c (rb_mod_include, rb_obj_extend): move invariant IDs to
  outside of loop.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/syslog/lib/syslog/logger.rb: add a formatter to the
  Syslog::Logger object. [Bug #7065]
* test/syslog/test_syslog_logger.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (rb_overlay_module, rb_mod_refine): accept a module as the
  argument of Module#refine.

* vm_method.c (search_method): if klass is an iclass, lookup the
  original module of the iclass in omod in order to allow
  refinements of modules.

* test/ruby/test_refinement.rb: add tests for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
io.c: IO#reopen int mode

* io.c (rb_io_reopen): accept File::Constants as well as mode string.
  based on the patch by Glass_saga (Masaki Matsushita) in
  [ruby-core:47694].  [Feature #7067]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: remove rb_control_frame_t::bp (bp: base pointer).
  `bp' can be calculate by `sp' (stack pointer) of previous frame.
  Now, `bp_check' field is remained for debug.  You can eliminate
  this field by setting  VM_DEBUG_BP_CHECK as 0.
* vm_insnhelper.c (vm_base_ptr): add `vm_base_ptr(cfp).
  This function calculates base pointer from cfp.
* vm_insnhelper.c (vm_setup_method): push `recv' value on top of
  value stack (before method parameters).
  This change is for keeping consistency with normal method dispatch.
* insns.def: fix to use vm_base_ptr().
* vm.c (vm_exec): ditto.
* vm_dump.c: remove `bp' related dumps.
* cont.c (fiber_init): fix to check VM_DEBUG_BP_CHECK.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: now VM_DEBUG_BP_CHECK should be 1.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (opt_checkenv): remove unused instruction `opt_checkenv'.
* compile.c (iseq_compile_each): ditto.
* node.h: remove unused node `NODE_OPTBLOCK'.
* ext/objspace/objspace.c, gc.c (gc_mark_children): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_method.c (search_method): copy refinement iclasses to search
  superclasses correctly.

* test/ruby/test_refinement.rb: related test.

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

* vm_insnhelper.c (vm_setup_method): fix -Wshorten-64-to-32.

* vm_insnhelper.c (vm_base_ptr): fix -Wformat

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems/installer.rb (check_that_user_bin_dir_is_in_path):
  test_generate_bin_bindir_with_user_install_warning(TestGemInstaller)
  fails on Windows with msys bash. It makes comparing paths
  case-insensitive.
  pick from upstream to fix a failure of test-all [ruby-core:47711]
  https://github.com/rubygems/rubygems/commit/c474edb2f3704206f04da1c8c6cf9fb079d84abe

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c (vm_setup_method): refactoring.
  Remove src_argc and use iseq->arg_size directly.



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