aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* * expand tabs.svn2018-11-271-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: prevent out-of-bound initialization of coverage countersmame2018-11-271-1/+3
| | | | | | | | 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
* Merge rdoc-6.1.0.bata2aycabta2018-11-274-5/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Embed the Emoji versionnobu2018-11-272-23/+51
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* restore using_spec.rbko12018-11-271-2/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use explicit property name when creating nodes for ↵duerst2018-11-271-18/+7
| | | | | | "Grapheme_Cluster_Break=Extend" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use 'Regional_Indicator' script property instead of fixed constantsduerst2018-11-271-4/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add rb_typeddata_is_instance_ofnobu2018-11-273-3/+15
| | | | | | | 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
* enable another assertionko12018-11-271-3/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix for ISeq.of(method).ko12018-11-271-9/+5
| | | | | | | * 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
* * expand tabs.svn2018-11-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* `RubyVM::ISeq.of` accept ISeq.ko12018-11-271-7/+16
| | | | | | | | | * 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
* add some comments in function node_extended_grapheme_cluster() [ci skip]duerst2018-11-271-2/+24
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ALWAYS_INLINE implies inline alwaysnobu2018-11-271-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enable at least one behaviorko12018-11-271-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* to debug ↵ko12018-11-271-0/+2
| | | | | | 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
* improve messages for test failuresduerst2018-11-261-7/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.svn2018-11-261-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* `TracePoint#enable(target_line:)` is supported. [Feature #15289]ko12018-11-266-20/+77
| | | | | | | | | * 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
* Give up support for cross-callcc set_trace_func.ko12018-11-262-5/+17
| | | | | | | * 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
* fix for ansi-pedantic compile option.ko12018-11-261-2/+9
| | | | | | | | | | * 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
* fix type error.ko12018-11-261-1/+1
| | | | | | | * 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
* * expand tabs.svn2018-11-268-15/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support targetting TracePoint [Feature #15289]ko12018-11-2617-257/+757
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* test_jit.rb: skip a test for Windows for nowk0kubun2018-11-261-1/+5
| | | | | | | | 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
* vm_trace.c: MJIT-limited thread-safety for postponed_jobk0kubun2018-11-263-1/+22
| | | | | | [Bug #15316] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-27svn2018-11-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: avoid dlclose before execk0kubun2018-11-264-10/+14
| | | | | | | | | | 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
* Revert "process.c: try to workaroun SEGV by r65994"k0kubun2018-11-264-35/+16
| | | | | | | | | 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
* process.c: try to workaroun SEGV by r65994k0kubun2018-11-264-16/+35
| | | | | | | | | | | | | | | 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
* * properties.svn2018-11-260-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Do not load rubygems when disablednobu2018-11-261-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: finish MJIT prior to #execk0kubun2018-11-264-3/+15
| | | | | | | | 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
* mjit_worker.c: disable running copy jobk0kubun2018-11-261-0/+4
| | | | | | | | | 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
* lib/rubygems/indexer.rb: suppress random test-all errork0kubun2018-11-261-1/+8
| | | | | | | | | 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
* Sync the executables of rdoc from upstream repository.hsbt2018-11-261-1/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add tests for grapheme clusters using Unicode Emoji test dataduerst2018-11-261-0/+117
| | | | | | | | | | 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
* object.c: Deprecate Object#=~ and add NilClass#=~`mame2018-11-263-1/+28
| | | | | | | | | | 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
* lib/rubygems: explicitly clarify the type for =~ matchingmame2018-11-262-2/+2
| | | | | | | 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
* lib/rubygems/command.rb: remove meaningless codemame2018-11-261-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rdoc/test_rdoc_rdoc.rb: add dummy finishmame2018-11-261-0/+14
| | | | | | | | | | | | 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
* lib/rdoc/markup/: Remove wrong call to `=~` against Arraymame2018-11-262-2/+2
| | | | | | | | | | | | `@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
* lib/webrick: explicitly convert header values to a stringmame2018-11-262-4/+4
| | | | | | | | | | | | | | 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
* common.mk: simplify for ruby.impnobu2018-11-261-2/+2
| | | | | | | | * 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
* .travis.yml: avoid bashismshyouhei2018-11-261-9/+5
| | | | | | | 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
* un.rb: add more options for httpd to help message [ci skip]kazu2018-11-261-0/+2
| | | | | | see r65965 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: update MSAN setups [ci skip]shyouhei2018-11-261-1/+3
| | | | | | | | 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
* Removed `bundle_ruby` command. Because It's no longer shipped from Bundler ↵hsbt2018-11-261-27/+0
| | | | | | | | 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
* Use libexec for distination directory.hsbt2018-11-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Followed up r65963. Use libexec directory with sync tool.hsbt2018-11-261-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e