* vm_core.h (rb_call_info_t): add new type `rb_call_inf_t'.
  This data structure contains information including inline method
  cache. After that, `struct iseq_inline_cache_entry' does not
  need to contain inline cache for method invocation.
  Other information will be added to this data structure.
* vm_core.h (rb_iseq_t): add `callinfo_entries' and `callinfo_size'
  members to `rb_iseq_t'.
* insns.def, compile.c: Use CALL_INFO instead of IC.
* tool/instruction.rb: support CALL_INFO as operand type.
* vm_insnhelper.c, vm_insnhelper.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c (iseq_free): fix memory leak.
  rb_iseq_t::callinfo_entries should be freed.



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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
process.c: uid gid exec options

* process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and
  :gid options.  [ruby-core:47414] [Feature #6975]


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

* random.c (rb_random_ulong_limited): new function to return a random
  value from 0 upto limit as unsigned long, simillary to
  rb_genrand_ulong_limited but with arbitrary RNG object.


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

* array.c (rb_ary_sample): use rb_random_ulong_limited, since
  precision of long may be larger than double.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
envutil.rb: assert_file and assert_file_not

* test/ruby/envutil.rb (assert_file, assert_file_not): more
  descriptive assertions for File predicates.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip on
  windows because the platform does not have Process.group method.
  patched by Jon Forums in [ruby-core:47878] [Bug #7133].


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Test both username and uid

* system(, uid: ) takes username or uid
* ENV["USER"] may be nil (sudo or jail)

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

* uid always stores uid
* user stores username or nil

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c (insn_operand_intern): add support disasm TS_CALLINFO
  operands.



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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_dump.c: fix debug prints to catch up recent changes
  such as VM data structures.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/test_block.rb: add tests for block with super.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c (insn_operand_intern): cast op to rb_call_info_t* before
  compare with iseq->callinfo_entries whose type is rb_call_info_t*.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Suppress warning: 'iseqval' may be used uninitialized in this function

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

* test/ruby/test_string.rb (test_LSHIFT, test_succ): get rid of
  ruby-mode.el confusion.

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

* test/ruby/test_string.rb (test_match_method): use unique objects in
  TestString and TestString2.

* test/ruby/test_string.rb (test_ascii_incomat_inspect): suppress
  warnings.

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

* test/ruby/test_string.rb (test_each_codepoint): missing test.

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