aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* remove garbage linenobu2012-10-142-2/+0
| | | | | | | | * compile.c (new_insn_send): remove garbage line. * tool/instruction.rb (sp_increase_c_expr): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-15svn2012-10-141-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (send, invokesuper, invokeblock, opt_*), vm_core.h:ko12012-10-149-551/+672
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | use only a `ci' (rb_call_info_t) parameter instead of using parameters such as `op_id', 'op_argc', `blockiseq' and flag. These information are stored in rb_call_info_t at the compile time. This technique simplifies parameter passings at related function calls (~10% speedups for simple mehtod invocation at my machine). `rb_call_info_t' also has new function pointer variable `call'. This `call' variable enables to customize method (block) invocation process for each place. However, it always call `vm_call_general()' at this changes. `rb_call_info_t' also has temporary variables for method (block) invocation. * vm_core.h, compile.c, insns.def: introduce VM_CALL_ARGS_SKIP_SETUP VM_CALL macro. This flag indicates that this call can skip caller_setup (block arg and splat arg). * compile.c: catch up above changes. * iseq.c: catch up above changes (especially for TS_CALLINFO). * tool/instruction.rb: catch up above chagnes. * vm_insnhelper.c, vm_insnhelper.h: ditto. Macros and functions parameters are changed. * vm_eval.c (vm_call0): ditto (it will be rewriten soon). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typokazu2012-10-141-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-14svn2012-10-141-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: passing blocknobu2012-10-143-4/+19
| | | | | | | | * ruby.c (rb_f_sub, rb_f_gsub): pass the given block. [ruby-core:47967] [Bug #7157] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * regparse.c (parse_char_class): should match with a hyphen after ausa2012-10-133-8/+27
| | | | | | | | | | | | | | | | | | | | | range in a character class. * test/ruby/test_regexp.rb (TestRegexp#test_char_class): fixed wrong test. * test/ruby/test_regexp.rb (TestRegexp#check): now can accept the error message. * test/ruby/test_regexp.rb (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): renamed because the previous name was wrong. * test/ruby/test_regexp.rb (TextRegexp#test_raw_hyphen_and_tk_char_type_after_range): added more test pattern. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: GC guardnobu2012-10-122-0/+8
| | | | | | | | * file.c (realpath_rec): prevent link from GC while link_names refers the content. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_regexp.rbusa2012-10-122-0/+16
| | | | | | | | (TestRegexp#test_raw_hyphen_and_type_char_after_range): added new test. ref [ruby-core:47115] [Backport #6853] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-13svn2012-10-121-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use tty(1) to check if /dev/tty is usable or notnaruse2012-10-121-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.h: set floating point precision for pow()shirosaki2012-10-122-1/+26
| | | | | | | | | * include/ruby/win32.h (rb_w32_pow): set floating point precision for mingw-w64 x86 pow(). This improves the precision of pow() on Windows XP for TestFloat#test_round_with_precision failure. [ruby-core:47911] [Bug #7142] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_cgi.rb: skip a test on Windowsshirosaki2012-10-122-2/+14
| | | | | | | | | * test/webrick/test_cgi.rb (TestWEBrickCGI#test_cgi): skip a test depending on locale on Windows. ENV[] doesn't work properly if console code page is not equal to file system encoding. [ruby-core:47910] [Bug #7140] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (posix_sh_cmds): the command name of colon is ":".akr2012-10-122-1/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: poisoned NULnobu2012-10-123-0/+17
| | | | | | | * file.c (rb_get_path_check): path name must not contain NUL bytes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix wrong condition of skipping test_ioctl_linuxnaruse2012-10-121-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * tool/merger.rb: now can merge revision(s) without --ticket again.usa2012-10-122-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mkmf.rb: use configured libdir valuenobu2012-10-122-2/+9
| | | | | | | | * lib/mkmf.rb (dir_config, init_mkmf): use configured libdir value as default library path. [ruby-core:43726] [Bug #6207] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-12svn2012-10-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/timeout.rb (timeout):zzak2012-10-112-3/+6
| | | | | | | | Remove paragraph on wrong implementation detail. [ruby-core:47739] [Bug #7088] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: GC guardnobu2012-10-112-0/+10
| | | | | | | | * string.c (rb_str_sub{seq,pos,str}, rb_str_each_{line,codepoint}): prevent String copies from GC. [ruby-core:47881] [Bug #7135] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: missing testnobu2012-10-111-0/+6
| | | | | | * 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
* test_string.rb: suppress warningsnobu2012-10-111-1/+5
| | | | | | | | | | * 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: highlightingnobu2012-10-111-2/+2
| | | | | | | * 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
* Suppress warning: 'iseqval' may be used uninitialized in this functionnaruse2012-10-111-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (insn_operand_intern): cast op to rb_call_info_t* beforenaruse2012-10-102-1/+6
| | | | | | 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
* * bootstraptest/test_block.rb: add tests for block with super.ko12012-10-102-0/+36
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_dump.c: fix debug prints to catch up recent changesko12012-10-102-4/+23
| | | | | | | | such as VM data structures. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-11svn2012-10-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (insn_operand_intern): add support disasm TS_CALLINFOko12012-10-102-0/+9
| | | | | | | | operands. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Rename variablsnaruse2012-10-101-4/+3
| | | | | | | * 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
* Test both username and uidnaruse2012-10-101-1/+10
| | | | | | | * 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
* * 2012-10-10svn2012-10-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip onusa2012-10-102-0/+7
| | | | | | | | 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
* envutil.rb: assert_file and assert_file_notnobu2012-10-098-18/+33
| | | | | | | | * 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
* array.c: use rb_random_ulong_limitednobu2012-10-095-22/+41
| | | | | | | | * 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
* random.c: rb_random_ulong_limitednobu2012-10-093-0/+23
| | | | | | | | | * 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
* process.c: uid gid exec optionsnobu2012-10-094-39/+151
| | | | | | | | * 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
* * ChangeLog: fix typo.nobu2012-10-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * iseq.c (iseq_free): fix memory leak.ko12012-10-092-0/+6
| | | | | | | | 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
* * vm_core.h (rb_call_info_t): add new type `rb_call_inf_t'.ko12012-10-097-51/+107
| | | | | | | | | | | | | | | | 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
* * 2012-10-09svn2012-10-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/zlib/zlib.c (zstream_run_func): don't call inflate() whennagachika2012-10-082-0/+16
| | | | | | | | | z->stream.avail_in == 0. it return Z_BUF_ERROR. but deflate() could be called with z->stream->avail_in == 0 because it has hidden buffer in z->stream->state (opaque structure). fix for gem install error. [ruby-dev:46149] [Bug #7040] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (rb_mod_refinements): new method Module#refinements.shugo2012-10-083-0/+103
| | | | | | * test/ruby/test_refinement.rb: add new tests for the above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c, gc.c, iseq.c, node.h, vm_insnhelper.c, vm_insnhelper.h,shugo2012-10-0811-71/+84
| | | | | | | | vm_method.c: rename omod and overlaid modules to refinements. * eval.c (hidden_identity_hash_new): renamed from identity_hash_new. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typoskazu2012-10-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2012-10-08svn2012-10-071-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix ML refkazu2012-10-071-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/abbrev.rb: Documentation examples for Abbrev.zzak2012-10-062-9/+43
| | | | | | | [ruby-dev:47442] [Bug #6985] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_thread_aref):zzak2012-10-062-2/+8
| | | | | | | | Grammar in Thread documentation. Patch by Steve Klabnik [ruby-dev:47799] [Bug #7099] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e