summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-27.travis.yml: split commandsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27compile.c: prevent out-of-bound initialization of coverage countersmame
The coverage counters is initialized with `counter[lineno - 1] = 0`, but lineno may be 0, which led to write access for index -1. [ruby-core:90085] [Bug#15346] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27Merge rdoc-6.1.0.bata2aycabta
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27Embed the Emoji versionnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27restore using_spec.rbko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27use explicit property name when creating nodes for ↵duerst
"Grapheme_Cluster_Break=Extend" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27use 'Regional_Indicator' script property instead of fixed constantsduerst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27Add rb_typeddata_is_instance_ofnobu
Similar to rb_typeddata_is_kind_of, except for that inherited type is not an instance. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27enable another assertionko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27fix for ISeq.of(method).ko1
* iseq.c (iseqw_s_of): `rb_method_iseq(method)` can return NULL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27`RubyVM::ISeq.of` accept ISeq.ko1
* iseq.c (iseqw_s_of): return given object if the given object is a `RubyVM::InstructionSequence`. We can specify ISeq for `TracePoint#enable(target:)`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27add some comments in function node_extended_grapheme_cluster() [ci skip]duerst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27ALWAYS_INLINE implies inline alwaysnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27enable at least one behaviorko1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-27to debug ↵ko1
https://ci.appveyor.com/project/ruby/ruby/builds/20566898/job/hda29416yal9h6hn use binary search git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26improve messages for test failuresduerst
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26`TracePoint#enable(target_line:)` is supported. [Feature #15289]ko1
* vm_trace.c: `TracePoint#enable(target_line:)` is supported. This option enables a hook only at specified target_line. target_line should be combination with target and :line event. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Give up support for cross-callcc set_trace_func.ko1
* cont.c (cont_restore_thread): cause error if trace-status is changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26fix for ansi-pedantic compile option.ko1
* iseq.c (iseq_add_local_tracepoint_i): extract aggregate initialization. See https://travis-ci.org/ruby/ruby/jobs/459881277 * iseq.c (iseq_remove_local_tracepoint_i): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26fix type error.ko1
* iseq.c (iseq_iterate_children): should use cast to `int`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Support targetting TracePoint [Feature #15289]ko1
* vm_trace.c (rb_tracepoint_enable_for_target): support targetting TracePoint. [Feature #15289] Tragetting TracePoint is only enabled on specified method, proc and so on, example: `tp.enable(target: code)`. `code` should be consisted of InstructionSeuqnece (iseq) (RubyVM::InstructionSeuqnece.of(code) should not return nil) If code is a tree of iseq, TracePoint is enabled on all of iseqs in a tree. Enabled tragetting TracePoints can not enabled again with and without target. * vm_core.h (rb_iseq_t): introduce `rb_iseq_t::local_hooks` to store local hooks. `rb_iseq_t::aux::trace_events` is renamed to `global_trace_events` to contrast with `local_hooks`. * vm_core.h (rb_hook_list_t): add `rb_hook_list_t::running` to represent how many Threads/Fibers are used this list. If this field is 0, nobody using this hooks and we can delete it. This is why we can remove code from cont.c. * vm_core.h (rb_vm_t): because of above change, we can eliminate `rb_vm_t::trace_running` field. Also renamed from `rb_vm_t::event_hooks` to `global_hooks`. * vm_core.h, vm.c (ruby_vm_event_enabled_global_flags): renamed from `ruby_vm_event_enabled_flags. * vm_core.h, vm.c (ruby_vm_event_local_num): added to count enabled targetting TracePoints. * vm_core.h, vm_trace.c (rb_exec_event_hooks): accepts hook list. * vm_core.h (rb_vm_global_hooks): added for convinience. * method.h (rb_method_bmethod_t): added to maintain Proc and `rb_hook_list_t` for bmethod (defined by define_method). * prelude.rb (TracePoint#enable): extracet a keyword parameter (because it is easy than writing in C). It calls `TracePoint#__enable` internal method written in C. * vm_insnhelper.c (vm_trace): check also iseq->local_hooks. * vm.c (invoke_bmethod): check def->body.bmethod.hooks. * vm.c (hook_before_rewind): check iseq->local_hooks and def->body.bmethod.hooks before rewind by exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26test_jit.rb: skip a test for Windows for nowk0kubun
https://ci.appveyor.com/project/ruby/ruby/builds/20558412 removing CloseHandle disallows us to remove the DLL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26vm_trace.c: MJIT-limited thread-safety for postponed_jobk0kubun
[Bug #15316] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26* 2018-11-27svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26process.c: avoid dlclose before execk0kubun
because JIT-ed code may still be on stack at this time, unlike in ruby_cleanup(). This hopes to fix: (take 2) http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1480207 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Revert "process.c: try to workaroun SEGV by r65994"k0kubun
This reverts commit 0e6aba22c6b876a36adc39cac5314ce6e626954c. because it didn't help, at all. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1480207 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26process.c: try to workaroun SEGV by r65994k0kubun
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1480173 It tries to print C backtrace but fails. And core file on the server seems to be stopping on the irrelevant place due to its own signal handler for the dump. And I failed to reproduce this SEGV on my machine. I don't know why it's broken, so let me try this change to investigate the reason of SEGV. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Do not load rubygems when disablednobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26process.c: finish MJIT prior to #execk0kubun
to prevent ruby from leaving MJIT-related files. test_jit.rb: add a test to prevent that git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26mjit_worker.c: disable running copy jobk0kubun
after MJIT worker stop. r65928 didn't fix the SEGV. This commit hopes to fix http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1478576 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26lib/rubygems/indexer.rb: suppress random test-all errork0kubun
by Bundler integration, like: http://ci.rvm.jp/results/trunk-no-mjit@silicon-docker/1479769 This resurrects r65629 which was accidentally reverted by r65904. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Sync the executables of rdoc from upstream repository.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26add tests for grapheme clusters using Unicode Emoji test dataduerst
Add file test/ruby/enc/test_emoji_breaks.rb to test String#each_grapheme_cluster test data provided by Unicode (at https://www.unicode.org/Public/emoji/#{EMOJI_VERSION}/). Lines containing emoji for genies, zombies, and wrestling are ignored because there seems to be a bug (#15343) in the implementation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26object.c: Deprecate Object#=~ and add NilClass#=~`mame
Object#=~ always returns nil. This behavior is not only unuseful but also troublesome because it may hide a type error. This change deprecates Object#=~. For compatibility, NilClass#=~ is newly introduced. [Feature #15231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26lib/rubygems: explicitly clarify the type for =~ matchingmame
RubyGems is very indifferent for type. This change is needed for removal of `Object#=~`. [Feature #15231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26lib/rubygems/command.rb: remove meaningless codemame
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26test/rdoc/test_rdoc_rdoc.rb: add dummy finishmame
RDoc::Options#@exclude is initialized as an empty array. Then, #finish converts it to a regexp or nil and reassign it to @exclude. Some methods of RDoc assumes that #finish has been already called. So, this change forces to assign nil to @exclude. This type confusion was found during work for removal of `Object#=~`. [Feature #15231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26lib/rdoc/markup/: Remove wrong call to `=~` against Arraymame
`@res` is an Array, so `@res =~ /\n\z/` calls `Object#=~` which always returns nil. I guess it should be `@res.last =~ /\n\z/`, but the change causes test failures. This bug was found during work for removal of `Object#=~`. [Feature #15231] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26lib/webrick: explicitly convert header values to a stringmame
The values of @header are expected to be all strings; WEBrick::HTTPResponse::[]=(key, val) explicitly converts the second argument to a string and assigns it to @header hash. However, there were some points in WEBrick internal code that assigns non-String to @header. This change fixes the issues. The values are checked by `header_value =~ /\r\n/` in check_header. The type confusion caused conflict with removal of `Object#=~` [Feature #15231]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26common.mk: simplify for ruby.impnobu
* common.mk (ruby.imp): extract the first word on the next lines of MJIT_FUNC_EXPORTED, regardless the prefix. duplicate symbols will be removed by `sort -u`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26.travis.yml: avoid bashismshyouhei
We can set environment variables to avoid before_script. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26un.rb: add more options for httpd to help message [ci skip]kazu
see r65965 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26.travis.yml: update MSAN setups [ci skip]shyouhei
Exclude OpenSSL because we don't plan to debug libssl, also track origins of uninitialized bits. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Removed `bundle_ruby` command. Because It's no longer shipped from Bundler ↵hsbt
1.0.2. [Bug #15291][ruby-dev:50663] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-26Use libexec for distination directory.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e