summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-26thread_win32.c: set thread namenobu
* thread_win32.c (native_set_another_thread_name): set thread name by SetThreadDescription. * win32/win32.c (rb_w32_set_thread_description): dynamically try SetThreadDescription. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25* 2017-08-26svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25`$IGNORECASE` is no longer effective. [ci skip]kazu
* lib/English.rb: [DOC] `$IGNORECASE` is no longer effective. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25csv.rb: optimize CSV::Table#to_a and #to_csvglass
* lib/csv.rb (CSV::Table#to_a, #to_csv): use Array#push instead of Array#concat for performance improvement. This performance improvement is proposed by zdennis <zach.dennis@gmail.com>. The patch is from Mau Magnaguagno <maumagnaguagno@gmail.com>. close #946 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25compile.c: unreachable chunknobu
* compile.c (iseq_peephole_optimize): remove unreachable chunk which appeared by useless jump elimination. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25compile.c: useless jump eliminationnobu
* compile.c (iseq_peephole_optimize): eliminate useless if/unless just before jump. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25* 2017-08-25svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-25compile.c: moved comments [ci skip]nobu
* compile.c (iseq_peephole_optimize): moved comments inside proper blocks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-24compile.c: show failed instructionsnobu
* compile.c (iseq_set_sequence): show failed instructions at adjuststack mismatch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-24* 2017-08-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-24compile.c: free before adjust errornobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23gc.c: restore cfp at finalizernobu
* gc.c (run_finalizer): restore cfp for the case an exception raised in a finalizer. [ruby-core:82432] [Bug #13832] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23skip unless finalizers runnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23gc.c: run all finalizersnobu
* gc.c (run_finalizer): revert r59155 partially. finalizing loop should continue even after an exception is rescued. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23* 2017-08-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-23remove debug code.ko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22parse.y: primary should not be 0nobu
* parse.y (primary): should not be 0, since it can be a receiver. [ruby-core:82447] [Bug #13836] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22Fixed regression to convert blank value at r45497.hsbt
[Bug #11126][ruby-core:69088] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22Gracefully handle CSV IO when file descriptor closed.hsbt
[Bug #10504][ruby-core:66240] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22Fixed equality method fails when given the object that doesn't support table ↵hsbt
method. [Bug #12422][ruby-core:75707] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22Fixed to write_headers option behavior when given no rows.hsbt
[Bug #9988][ruby-core:63375] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22Escape skip_lines string before convert to Regexp.hsbt
It ignored all of lines when given Regexp special characters. [Feature #9147][ruby-core:58549] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22pack insn_operand_info and insn_len_infonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22pack insns_name_infonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22tool/instruction.rb: move logics to templatesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22insns.inc.tmpl: ensure info sizenobu
* template/insns.inc.tmpl (ASSERT_VM_INSTRUCTION_SIZE): static assertion for VM instruction info tables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22signal.c: fatal stacknobu
* signal.c (check_stack_overflow): raise fatal when the last tag is in danger zone. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22signal.c: removed raise_stack_overflow:nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22* 2017-08-22svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-22split out struct cont_saved_vm_stack.ko1
* cont.c: introduce `struct cont_saved_vm_stack` which was part of `struct rb_context_struct`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-21prevent stack overflownobu
* gc.c: enable PREVENT_STACK_OVERFLOW. * vm.c (invoke_iseq_block_from_c): prevent stack overflow. * vm_eval.c (stack_check): raise preallocated exception instance. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-21Remove a meaningless local variable assignmentyui-knk
* iseq.c (rb_iseq_disasm_insn): Remove a meaningless local variable assignment. `insn` is never changed in this function, so a result of `insn_op_types(insn)` is also never changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-21* 2017-08-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-21vm_core.h: ruby_error_stackfatalnobu
* vm_core.h (ruby_special_exceptions): rename sysstack_gc as stackfatal. * eval.c (Init_eval): modified the message for stackfatal error as "critical region". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-20non-keywords hashnobu
* class.c (rb_scan_args), include/ruby/ruby.h (rb_scan_args_set): return non-keywords elements only in the last hash when keyword arguments are extracted from it, as well as methods defined in ruby level. [ruby-core:82427] [Bug #13830] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19* 2017-08-20svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19ruby.h: fix rb_scan_args_trail_idxnobu
* include/ruby/ruby.h (rb_scan_args_trail_idx): fix the case both of optional and rest arguments are defined. [ruby-core:82427] [Bug #13830] * include/ruby/ruby.h (rb_scan_args_n_trail): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19gems/bundled_gems: Update to power_assert 1.1.0ktsj
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19class.c: check kw hashnobu
* class.c (rb_keyword_error_new): get rid of an intermediate string and check if keys are symbols. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19* 2017-08-19svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-19class.c: call rb_hash_keys directlynobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-18vm_insnhelper.c: vm_cfp_consistent_pnobu
* vm_insnhelper.c (vm_cfp_consistent_p): extracted the conditions for cfp consistency. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-18vm_insnhelper.c: raise ruby_error_sysstack_gcnobu
* vm_insnhelper.c (rb_threadptr_stack_overflow): rb_fatal is not available during GC. raise the preallocated fatal error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-18test/net/imap/test_imap.rb: Use Addrinfo.tcp in case localhost is ::1.shugo
[ruby-dev:50208] [Bug #13825] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17Revert r59612nobu
* method.h (rb_method_definition_t): rb_method_type_t should be unsigned as it needs 5bits at least for signed extension. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17* 2017-08-18svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17Add optimization for creating zerofill stringnaruse
``` require 'benchmark' n = 1 * 1024 * 1024 * 1024 Benchmark.bmbm do |x| x.report("*") { 0.chr * n } x.report("ljust") { String.new(capacity: n).ljust(n, "\0") } end ``` Before ```% ./ruby test.rb Rehearsal ----------------------------------------- * 0.358396 0.392753 0.751149 ( 1.134231) ljust 0.203277 0.389223 0.592500 ( 0.594816) -------------------------------- total: 1.343649sec user system total real * 0.282647 0.304600 0.587247 ( 0.589205) ljust 0.201834 0.283801 0.485635 ( 0.487617) ``` After ```% ./ruby test.rb Rehearsal ----------------------------------------- * 0.000522 0.000021 0.000543 ( 0.000534) ljust 0.208551 0.321030 0.529581 ( 0.542083) -------------------------------- total: 0.530124sec user system total real * 0.000069 0.000006 0.000075 ( 0.000069) ljust 0.206698 0.301032 0.507730 ( 0.517674) ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17vm_method.c: alias warning at refined methodnobu
* vm_method.c (rb_method_entry_make): suppress a warning at refined method which will not be redefined. [ruby-core:82385] [Bug #13817] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17method.h: enum rb_method_definition_t::typenobu
* method.h (rb_method_definition_t): define type as an enum for debugging. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-17parse.y: unexpected tINTEGER messagenobu
* parse.y (parser_number_literal_suffix): keep token after numeric suffix to show the value in an error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e