summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-24UNREACHABLE_RETURNnobu
* include/ruby/ruby.h (UNREACHABLE_RETURN): UNREACHABLE at the end of non-void functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23Revert previous commit and split lib/tracer/version.rbkazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23Revert partially to avoid test error temporarilykazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23Fix a typo [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-2360 sec is not enough at allusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23increase timeout seconds.ko1
* test/ruby/test_io.rb (test_select_leak): increase timeout seconds to pass this test on a high-load machine. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23Revert "thread.c (rb_thread_fd_select): remove unnecessary rb_fd_resize calls"normal
This reverts commit r64017 (git commit 2ff85621690f4f5b0dff9226ac68418a950a6919). Nevermind, haven't had enough coffee, yet :x git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-23thread.c (rb_thread_fd_select): remove unnecessary rb_fd_resize callsnormal
There's no need to resize each rb_fdset_t to match the size of the biggest one. This can allow some small memory savings if watching several sets of FDs simultaneously. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22* 2018-07-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22object.c: prefer base optargnobu
* object.c (rb_f_integer): prefer `base` optional argument over keyword arguments. this issue should be resolved more generally by separating keyword arguments from hashes in the future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22fix sum on infinitynobu
* array.c (rb_ary_sum): consider non-finite floats. [ruby-core:88024] [Bug #14926] * enum.c (sum_iter): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22Remove needless `nacl` checkkazu
`nacl` support already removed by https://github.com/ruby/ruby/pull/1726. [Fix GH-1920] From: yuuji.yaginuma <yuuji.yaginuma@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22* 2018-07-22svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-22test_rubyoptions.rb: allow passing test_verbosek0kubun
with --jit. `./ruby --jit -Itest/lib test/ruby/test_rubyoptions.rb -n "TestRubyOptions#test_verbose"` has failed without -DMJIT_FORCE_ENABLE like: 1) Failure: TestRubyOptions#test_verbose [/home/travis/build/k0kubun/mjit-test/test/ruby/test_rubyoptions.rb:118]: <"ruby 2.6.0dev (2018-07-21 trunk 64010) +JIT [x86_64-linux]"> expected but was <"ruby 2.6.0dev (2018-07-21 trunk 64010) [x86_64-linux]">. but the test should pass even without -DMJIT_FORCE_ENABLE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-21* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-21* append newline at EOF.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-21sample/trick2018/: adds the top-five entries of TRICK 2018mame
See https://github.com/tric/trick2018 for TRICK 2018. Fixes #14930. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-21thread.c (do_select): fix leak on exceptionnormal
When do_select is interrupted and raise happens from RUBY_VM_CHECK_INTS_BLOCKING, the original FD sets we copied do not get freed, leading to a memory leak. Wrap up all the FD sets into a Ruby object to ensure the GC can release an allocations made for rb_fdset_t. This leak existed since Ruby 2.0.0 (r36430) [Bug #14929] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20* 2018-07-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20test/-ext-/gvl/test_last_thread.rb: skip under MJITnormal
Spurious wakeup is unavoidable with MJIT; and any real code must be able to deal with spurious wakeup anyways. [ruby-core:87882] https://bugs.ruby-lang.org/issues/14901 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20Promote Shell library to default gems.hsbt
* doc/*: Move entry to default gems category from standard library. * lib/shell/*: Added `Shell::VERSION` and re-used it with @RELEASE_VERSION. * test/shell/test_command_processor.rb: added missing require for test library. * tool/sync_default_gems.rb: Support shell library. We need to ignore shellwords.rb when syncing shell* files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20Fixed wrong library patFixed wrong library pathhhsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20Do not use `git ls-files` for file listing.kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20* 2018-07-20svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-20Promote Tracer to default gems.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-19mjit_compile.c: reduce sp motion on JITk0kubun
This retries r62655, which was reverted at r63863 for r63763. tool/ruby_vm/views/_mjit_compile_insn.erb: revert the revert. tool/ruby_vm/views/_mjit_compile_insn_body.erb: ditto. tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb: ditto. tool/ruby_vm/views/_mjit_compile_send.erb: ditto. tool/ruby_vm/views/mjit_compile.inc.erb: ditto. tool/ruby_vm/views/_insn_entry.erb: revert half of r63763. The commit was originally reverted since changing pc motion was bad for tracing, but changing sp motion was totally fine. For JIT, I wanna resurrect the sp motion change in r62051. tool/ruby_vm/models/bare_instructions.rb: ditto. insns.def: ditto. vm_insnhelper.c: ditto. vm_insnhelper.h: ditto. * benchmark $ benchmark-driver benchmark.yml --rbenv 'before;after;before --jit;after --jit' --repeat-count 12 -v before: ruby 2.6.0dev (2018-07-19 trunk 63998) [x86_64-linux] after: ruby 2.6.0dev (2018-07-19 add-sp 63998) [x86_64-linux] last_commit=mjit_compile.c: reduce sp motion on JIT before --jit: ruby 2.6.0dev (2018-07-19 trunk 63998) +JIT [x86_64-linux] after --jit: ruby 2.6.0dev (2018-07-19 add-sp 63998) +JIT [x86_64-linux] last_commit=mjit_compile.c: reduce sp motion on JIT Calculating ------------------------------------- before after before --jit after --jit Optcarrot Lan_Master.nes 51.354 50.238 70.010 72.139 fps Comparison: Optcarrot Lan_Master.nes after --jit: 72.1 fps before --jit: 70.0 fps - 1.03x slower before: 51.4 fps - 1.40x slower after: 50.2 fps - 1.44x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-19* 2018-07-19svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-19renamed ruby_tz_update as ruby_tz_uptodate_pnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-18test_rubyoptions.rb: skip testing JIT on mswink0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-18ruby.c: accept --disable-jit optionk0kubun
by promoting jit to feature flag. mjit.h: update comment about mjit_opts.on test_rubyoptions.rb: add test for switching JIT enablement "--jit" flag usage may be deprecated later, but not discussed yet. [Feature #14878] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-18reduce tzsetnobu
* time.c (rb_localtime_r): call tzset() only after TZ environment variable is changed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-18zlib (rb_gzreader_getc): localize and return cbuf directlynormal
No point in having a long-lived cbuf in "struct gzfile" since GZFILE_CBUF_CAPA is smaller than RSTRING_EMBED_LEN_MAX (even on 32-bit). We can also have rb_econv_convert write directly to the return value instead of an intermediate buffer. This brings "struct gzfile" from 264 to 256 bytes on 64-bit systems to avoid taking an additional cache line. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17Include the alternative malloc header instead of malloc.htenderlove
This commit fixes a build error on systems that have `malloc_usable_size` but also enable jemalloc via `--with-jemalloc`. For example, Ubuntu Precise defines `malloc_usable_size` in malloc.h, so gc.c will include malloc.h. This definition conflicts with jemalloc's definition, so the following error occurs: ``` compiling gc.c compiling hash.c In file included from gc.c:50:0: /usr/include/malloc.h:152:15: error: conflicting types for 'malloc_usable_size' /usr/include/jemalloc/jemalloc.h:45:8: note: previous declaration of 'malloc_usable_size' was here cc1: warning: unrecognized command line option "-Wno-self-assign" [enabled by default] cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" [enabled by default] cc1: warning: unrecognized command line option "-Wno-parentheses-equality" [enabled by default] cc1: warning: unrecognized command line option "-Wno-tautological-compare" [enabled by default] ``` Since jemalloc always defines `malloc_usable_size`, this patch just includes the jemalloc header instead of malloc.h if it's available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17revert r63988k0kubun
Due to trunk-mjit CI failures: http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1130097 http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1130196 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17insns.def: remove redundant ifndef in r63988k0kubun
By the way, the original patch of r63988 was provided by wanabe: https://github.com/wanabe/ruby/tree/local-stack but I forgot to add his credit in the previous commit message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63990 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17* 2018-07-18svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17mjit_compile.c: resurrect local variable stackk0kubun
This optimization was reverted on r63863, but this commit resurrects the optimization to skip some sp motions on JIT execution. tool/ruby_vm/views/_mjit_compile_insn_body.erb: ditto tool/ruby_vm/views/_mjit_compile_insn.erb: ditto insns.def: resurrect handles_frame as handles_stack, which was deleted on r63763. tool/ruby_vm/models/bare_instructions.rb: ditto vm_insnhelper.c: prevent moving sp outside insns.def to allow modifying it by JIT. * Optcarrot benchmark $ benchmark-driver benchmark.yml --rbenv 'before --jit;after --jit' --repeat-count 12 -v before --jit: ruby 2.6.0dev (2018-07-17 trunk 63987) +JIT [x86_64-linux] after --jit: ruby 2.6.0dev (2018-07-17 local-stack 63987) +JIT [x86_64-linux] last_commit=mjit_compile.c: resurrect local variable stack Calculating ------------------------------------- before --jit after --jit Optcarrot Lan_Master.nes 70.518 72.144 fps Comparison: Optcarrot Lan_Master.nes after --jit: 72.1 fps before --jit: 70.5 fps - 1.02x slower git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17Promote Synchronizer to default gems.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17Unified common workflow for default gems.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17test for wrong order: optionnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17Fix message when `order` was an invalid valuenobu
The symbol that can be used is `:bottom`, not `:down`. Ref: https://github.com/ruby/ruby/blob/e39b2cff8ac2dc93b35bd43ffcce3ded8e3b4c25/error.c#L1061 [Fix GH-1916] From: yuuji.yaginuma <yuuji.yaginuma@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17ruby-runner.c: show the failed pathnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-17dir.c: fix glob with base when no DT_UNKNOWNnobu
* dir.c (do_stat, do_lstat): need the length of the base path for fstatat() when fd is valid. * dir.c (glob_helper): fix for platforms where DT_UNKNOWN is not available, e.g. Solaris. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16* 2018-07-17svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16[DOC] Update doc of NameError.new [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16No one knows how many leap seconds in year 2100naruse
Just check whether leep seconds are considered or not. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16tool/downloader.rb:duerst
* remove initial "./" from destdir to make downloading ./enc/unicode/data/11.0.0/ucd/auxiliary/GraphemeBreakProperty.txt work properly * tweak a comment git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16ruby.c: disable DidYouMean as gemnobu
* ruby.c (process_options): as DidYouMean requires Rubygems, disable the former when the latter is disabled too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-16parse.y (heredoc_identifier): Update comment for term_lenyui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e