aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * 2014-12-12svn2014-12-111-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: Fix spelling [ci skip]nobu2014-12-112-1/+6
| | | | | | | * io.c (io_read) Fix spelling in docco for read. [Fix GH-781] try > tries git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: kill pgroupnobu2014-12-111-1/+7
| | | | | | | * test/lib/envutil.rb (invoke_ruby): kill whole group when :pgroup option is set. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: typonobu2014-12-111-1/+1
| | | | | | * ChangeLog: fix typo, s/Strat/Start/. [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add missing space [ci skip]kazu2014-12-111-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * class.c (class_alloc): Strat from age == 2.ko12014-12-115-7/+38
| | | | | | | | | | | | | | | Class and Module objects can be living long life. * iseq.c: Same for ISeq objects. * gc.c (RVALUE_AGE_RESET): added. * gc.c (newobj_of): allow to generate (age != 0) objects. * gc.c (rb_copy_wb_protected_attribute): reset age for wb unprotected objects. * include/ruby/ruby.h: add RUBY_TYPED_PROMOTED1 as an unrecommended flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_process.rb: splitnobu2014-12-111-63/+69
| | | | | | | * test/ruby/test_process.rb (test_execopts_redirect): split large test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: unused variablesnobu2014-12-111-5/+2
| | | | | | | * process.c (rb_fork_async_signal_safe): remove initialized but never assigned local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-112-1/+5
| | | | | | * string.c (rb_str_squeeze_bang): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/prime.rb: Remove useless loop and block capture.marcandre2014-12-102-16/+19
| | | | | | See [#10354] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-12-11svn2014-12-101-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: introduce new fieldko12014-12-105-1/+23
| | | | | | | | | | | | | | rb_thread_t::local_storage_recursive_hash_for_trace to store recursive hash to avoid creating new recursive (nested) hashes for each trace events. [Bug #10511] * vm_trace.c (rb_threadptr_exec_event_hooks_orig): use it. * cont.c: catch up this fix. * vm.c (rb_thread_mark): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-102-1/+5
| | | | | | * string.c (rb_str_delete_bang): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-102-1/+5
| | | | | | * string.c (rb_str_sub_bang): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-102-2/+6
| | | | | | * string.c (rb_str_splice_0): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-102-1/+5
| | | | | | * string.c (rb_str_chop_bang): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-102-1/+5
| | | | | | * string.c (rb_str_chomp_bang): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-101-2/+6
| | | | | | * string.c (rb_str_times): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: term fillnobu2014-12-101-1/+1
| | | | | | * string.c (rb_str_plus): fill wchar terminator. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: local variablesnobu2014-12-101-20/+30
| | | | | | | * string.c (rb_str_plus, rb_str_splice_0): extract local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: chompped_length chomp_rsnobu2014-12-101-81/+113
| | | | | | | * string.c (chompped_length, chomp_rs): extract from rb_str_chomp_bang to share with rb_str_chomp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_cstr.rb: all wchar encodingsnobu2014-12-101-6/+13
| | | | | | | * test/-ext-/string/test_cstr.rb (assert_wchars_term_char): test for all wide char encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: use iseqvalnobu2014-12-103-10/+18
| | | | | | | | * struct.c (define_aref_method, define_aset_method): use iseq VALUE instead of rb_iseq_t to prevent from GC, as RB_GC_GUARD makes sense only for local variables. [Feature #10575] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_cstr.rb: failed encoding namenobu2014-12-101-3/+3
| | | | | | | * test/-ext-/string/test_cstr.rb (test_wchar_long): show the failed encoding name in error messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: use the same method namenobu2014-12-102-13/+22
| | | | | | | | * thread.c (exec_recursive): use the same last method name as recursive_push in the error message when recursive_pop failed. [ruby-core:66742] [Bug #10579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/net/http/test_https.rbusa2014-12-093-8/+26
| | | | | | | | | | | | (TestNetHTTPS#test_certificate_verify_failure): on Windows, Errno::ECONNRESET will be raised when the verify is failure at the client side, and it'll be eaten by WEBrick. * test/open-uri/test_ssl.rb (TestOpenURISSL#test_validation_failure): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2014-12-090-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-12-10svn2014-12-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct: avoid all O(n) behavior on accessnormal2014-12-099-34/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids O(n) on lookups with structs over 10 members. This also avoids O(n) behavior on all assignments on Struct members. Members 0..9 still use existing C methods to read in O(1) time Benchmark results: vm2_struct_big_aref_hi* 1.305 vm2_struct_big_aref_lo* 1.157 vm2_struct_big_aset* 3.306 vm2_struct_small_aref* 1.015 vm2_struct_small_aset* 3.273 Note: I chose use loading instructions from an array instead of writing directly to linked-lists in compile.c for ease-of-maintainability. We may move the method definitions to prelude.rb-like files in the future. I have also tested this patch with the following patch to disable the C ref_func methods and ensured the test suite and rubyspec works --- a/struct.c +++ b/struct.c @@ -209,7 +209,7 @@ setup_struct(VALUE nstr, VALUE members) ID id = SYM2ID(ptr_members[i]); VALUE off = LONG2NUM(i); - if (i < N_REF_FUNC) { + if (0 && i < N_REF_FUNC) { rb_define_method_id(nstr, id, ref_func[i], 0); } else { * iseq.c (rb_method_for_self_aref, rb_method_for_self_aset): new methods to generate bytecode for struct.c [Feature #10575] * struct.c (rb_struct_ref, rb_struct_set): remove (define_aref_method, define_aset_method): new functions (setup_struct): use new functions * test/ruby/test_struct.rb: add test for struct >10 members * benchmark/bm_vm2_struct_big_aref_hi.rb: new benchmark * benchmark/bm_vm2_struct_big_aref_lo.rb: ditto * benchmark/bm_vm2_struct_big_aset.rb: ditto * benchmark/bm_vm2_struct_small_aref.rb: ditto * benchmark/bm_vm2_struct_small_aset.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c: [DOC] Add missing documentation around String#chomp.hsbt2014-12-092-9/+17
| | | | | | Patchby @stderr [ci skip][fix GH-780] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: [DOC] Revise documentationnobu2014-12-092-73/+82
| | | | | | | | | | | | | | | | * object.c: [DOC] Revise documentation by Marcus Stollsteimer at [ruby-core:66368]. [Bug #10526] * #inspect: be more specific about generated string, remove obsolete example. * #nil?: use code examples instead of different call-seq's. * #tap: clarify what is yielded. * Integer(): be more specific about to_int and to_i, remove reference to Ruby 1.8. * Array(): fix error. * Class: fix variable name style and indentation in example. * improve consistency, fix typos and formatting. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c: fix `rb_eval_string_wrap` rdocnobu2014-12-092-1/+7
| | | | | | | | | * vm_eval.c (rb_eval_string_wrap): [DOC] Fix `rb_eval_string_wrap` documentation. It is referencing `require` instead of `load`. The former does not have the optional argument. [Fix GH-779] [ci skip] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: get rid of invalid ID symbolnobu2014-12-094-1/+34
| | | | | | | | | | | * eval.c (rb_frame_last_func): return the most recent frame method name. * thread.c (recursive_list_access): use the last method name, instead of the current method name which can be unset in some cases, not to use a symbol by the invalid ID. [ruby-core:66742] [Bug #10579] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-12-09svn2014-12-091-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: do not modify shared stringnobu2014-12-091-0/+2
| | | | | | | * ruby.c (ruby_init_loadpath_safe): get rid of modify shared string directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-12-08svn2014-12-081-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: trivial optimizationnobu2014-12-081-1/+2
| | | | | | | * struct.c (rb_struct_set): get rid of calling rb_frame_this_func twice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix a typo [ci skip]kazu2014-12-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/net/imap/test_imap.rb (ImapTest#imaps_test): forced error on SSL socketsusa2014-12-071-1/+1
| | | | | | | | | causes Errno::ECONNRESET or Errno::ECONNABORTED instead of Errno::EPIPE on Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/socket/basicsocket.c, ext/socket/sockssocket.c:ktsj2014-12-073-12/+5
| | | | | | remove code for $SAFE=4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* known_classes.rb: remove DLnobu2014-12-071-1/+0
| | | | | | | * lib/rdoc/known_classes.rb: reverted regression changes of rdoc known class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: Typo close -> closes.hone2014-12-071-1/+1
| | | | | | Patch by @cirosantilli [Fixes GH-757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2014-12-070-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2014-12-073-109/+109
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rdoc: Update to RDoc 4.2.0.drbrain2014-12-0728-177/+622
| | | | | | | * test/rdoc: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2014-12-071-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2014-12-07svn2014-12-071-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/rubygems: Update to RubyGems 2.4.5.drbrain2014-12-0732-107/+462
| | | | | | | * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/net/imap.rb: Fix undefined variable usage & refactor/DRYshugo2014-12-063-8/+94
| | | | | | | | code. Patch by @aledovsky. [Fixes GH-770] * test/net/test_imap.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (do_select): rename parameters to avoid shadowingnormal2014-12-062-18/+23
| | | | | | | Sometimes we may use write(2) syscalls for debugging inside this function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e