summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-07iseq.c (iseq_data_to_ary): dump kw_arg as symbolnormal
Fix RubyVM::InstructionSequence#to_a after r49517 Keywords were made symbols to fix [Bug #10831] [ruby-core:68031], so we should dump symbols as-is instead of attempting to convert them from IDs * iseq.c (iseq_data_to_ary): dump kw_arg as symbol * test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip [ruby-core:69891] [Bug #11338] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* test/ruby/test_method.rb (TestMethod#test_{instance,define}_method): assumedusa
default external is UTF-8. fixed failures introduced at r51175. * test/-ext-/symbol/test_type.rb (Test_Symbol::TestType#test_check_{id,symbol}_invalid_type): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* 2015-07-08svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* test/ruby/test_array.rbusa
(TestArray#test_short_heap_array_sort_bang_memory_leak): seems to need more margin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* random.c (fill_random_bytes_syscall): fix compile error.kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07fix typos [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07compile.c (COMPILE_ERROR): reduce GET_THREAD() callsnormal
Shorten a long line and reduce global variable access, giving a minor code size reduction (at least on 32-bit x86): text data bss dec hex filename 96807 772 48 97627 17d5b compile.orig 96775 772 48 97595 17d3b compile.o git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07random.c: fix failures on old Linuxnormal
This follows the behavior of fill_random_bytes_urandom and fixes the following failures I encountered on my old machine: 1) Error: TestSecureRandom#test_s_random_bytes_without_openssl: NotImplementedError: No random device $RUBYDIR/lib/securerandom.rb:66:in `gen_random' $RUBYDIR/lib/securerandom.rb:94:in `random_bytes' $RUBYDIR/test/test_securerandom.rb:12:in `test_s_random_bytes' $RUBYDIR/test/test_securerandom.rb:97:in `block in test_s_random_bytes_without_openssl' $RUBYDIR/lib/tmpdir.rb:88:in `mktmpdir' $RUBYDIR/test/test_securerandom.rb:85:in `test_s_random_bytes_without_openssl' 2) Error: TestSecureRandom#test_s_urlsafe_base64: NotImplementedError: No random device $RUBYDIR/lib/securerandom.rb:66:in `gen_random' $RUBYDIR/lib/securerandom.rb:94:in `random_bytes' $RUBYDIR/lib/securerandom.rb:164:in `urlsafe_base64' $RUBYDIR/test/test_securerandom.rb:131:in `block in test_s_urlsafe_base64' $RUBYDIR/test/test_securerandom.rb:130:in `times' $RUBYDIR/test/test_securerandom.rb:130:in `test_s_urlsafe_base64' 3) Error: TestSecureRandom#test_uuid: NotImplementedError: No random device $RUBYDIR/lib/securerandom.rb:66:in `gen_random' $RUBYDIR/lib/securerandom.rb:94:in `random_bytes' $RUBYDIR/lib/securerandom.rb:230:in `uuid' $RUBYDIR/test/test_securerandom.rb:160:in `test_uuid' * random.c (fill_random_bytes_syscall): return -1 for error * random.c (fill_random_bytes): try urandom on syscall failure git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07random.c: try getrandomnobu
* random.c (fill_random_bytes_syscall): try getrandom system call on Linux if supported by the kernel. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07random.c: separate fill_random_bytesnobu
* random.c (fill_random_bytes): separate into functions by system call and by direct read of urandom device. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07file.c: skip invalid bytenobu
* file.c (rb_str_normalize_ospath): skip invalid byte sequence not to loop infinitely. this case usually does not happen as the input name should come from real file systems. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* vm_backtrace.c: remove debug flag introduced accidentaly.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07symbol.c: preserve encodingnobu
* symbol.c (rb_check_id, rb_check_symbol): preserve encoding of the given name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* cont.c (cont_free): remove mysterious fflush()ko1
introduced at r19890, maybe accidentaly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* proc.c (rb_method_call): because data->me should be non-NULL,ko1
do not check data->me * proc.c (method_inspect): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* vm_core.h: remove rb_iseq_t::orig because rb_iseq_clone()ko1
no longer exists. * iseq.c: don't use rb_iseq_t::orig. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07* iseq.c, internal.h (rb_iseq_clone): removed because we don't need toko1
clone iseq any more. * class.c (clone_method): share iseq between cloned methods. All of method dependent information are able to refer from method entry. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06string.c: ensure String#freeze resizes internal buffernormal
rb_str_freeze may resize oversized buffers to save memory, so favor it over rb_obj_freeze. This is useful because IO methods do not prematurely shrink buffers, as they are likely to be overwritten with full data. * string.c (Init_String): use rb_str_freeze for String#freeze git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* vm.c (vm_define_method): remove an unused local variable.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* vm_core.h: remove rb_iseq_t::defined_method_id because it is notko1
needed. * eval.c (frame_func_id): simplify. rb_callable_method_entry_t has enough information. * eval.c (frame_called_id): ditto. * iseq.c (prepare_iseq_build): catch up this fix. * proc.c (rb_mod_define_method): ditto. * vm.c (vm_define_method): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* vm_core.h: remove a useless declaration.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.ko1
* internal.h, iseq.c (rb_iseq_klass): remove it because rb_iseq_t::klass is removed. * vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but check callable method entry on a frame. This fix simplify the logic to search super class. * test/ruby/test_method.rb: support super() from Proc. Now, [Bug #4881] and [Bug #3136] was solved. * proc.c (rb_mod_define_method): catch up this change. * vm.c (vm_define_method): ditto. * vm_backtrace.c (rb_profile_frames): now, each `frame' objects are rb_callable_method_entry_t data or iseq VALUEs. This fix introduce minor compatibility issue that rb_profile_frame_label() always returns rb_profile_frame_base_label(). * test/-ext-/debug/test_profile_frames.rb: catch up this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* cont.c (fiber_init): initialize control frame correctly.ko1
This fix does not affect any ordinal execution, but affects debug prints. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* 2015-07-07svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* test/ruby/test_array.rbusa
(TestArray#test_short_heap_array_sort_bang_memory_leak): relax the threshold to get rid of a false positive failure of mswin CI. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* vm_insnhelper.c (vm_search_super_method): do not skip callingko1
same methods in super. [Bug #3351] * test/ruby/test_super.rb: fix a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* ext/tk/tcltklib.c: removed deprecated safe level.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* method.h, proc.c (rb_method_entry_location): make it staticko1
and remoev prefix `rb_' because it is used only in proc.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06* test/lib/memory_status.rb: removed redundant path.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06string.c: register_fstringnobu
* string.c (register_fstring): separate registration from rb_fstring(). * string.c (rb_fstring_new): skip argument checks in rb_fstring(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05fix multiple loadnobu
* test/rubygems/test_gem_commands_install_command.rb: previously load rubygems/request_set which will be required in rubygems/commands/install_command.rb to get rid of loading multiple times. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05test/ruby/test_array.rb: longer timeout for memory leak testnormal
This was causing CI failures on ko1's test box git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05* 2015-07-06svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05parallel.rb: upper directorynobu
* test/lib/test/unit/parallel.rb: make @@project_dir one level upper as this file had moved one level deeper. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05Fix typo in optparse library [ci skip] [Fix GH-956]nobu
* lib/optparse.rb: [DOC] Fix typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05gc.c (gc_profile_record_get): fix spelling error in keysnormal
This may cause compatibility problems for some users, but maybe nobody tracked it closely in the past because it is disabled by default. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05* README.md: fix a typo pointed out by raoulvdberge. [ci skip] [DOC]nagachika
https://github.com/ruby/ruby/pull/953#commitcomment-11998186 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05Update README.md [ci skip] [Fix GH-953]nobu
* README.md: Added link HowToReport bugs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05test_process.rb: reap pidnobu
* test/ruby/test_process.rb (test_exec_fd_3_redirect): should reap the grandchild process, in common. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05array.c: fix memory leaknobu
* array.c (rb_ary_sort_bang): the original array may not be embedded even if a substitution array is embedded, as it is embedded when the original array is short enough but not embedded. [ruby-dev:49166] [Bug #11332] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05test/ruby/test_process.rb: test for fd=3 usability in childnormal
Ensure we can redirect anything to fd=3 in a child process. This test exists because fd=3 is a commonly reserved FD for a timer thread pipe in the parent Ruby VM, but fd=3 is the first FD used by the sd_listen_fds function for systemd. This means there is a possibility for a bug to slip in where the redirect to fd=3 fails to work. This test should ensure the continued viability of systemd replacements in Ruby :> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04* 2015-07-05svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04fix typos [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04all?, any?, one?, none? of empty Enumerablenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04* Add test case for empty array and first method with args.hsbt
Patch by @yui-knk [fix GH-955] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04* Add test for `Enumerable#sort` with block. Patch by @yui-knkhsbt
[fix GH-954] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04enum.c: remove volatile, use RB_GC_GUARDnormal
volatile appears unnecessary in most cases as the VALUEs are used as arguments of uninlined functions. Even worse, volatile can be insufficient in places where RB_GC_GUARD is necessary. * enum.c (zip_ary): remove volatile, use RB_GC_GUARD (zip_i): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04test_case.rb: fix multiple loadnobu
* lib/rubygems/test_case.rb (teardown): do not delete features loaded from the original load paths, the same libraries should be loaded again when the same features are required. [ruby-dev:49031] [Bug #11222] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04* 2015-07-04svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e