summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-31fix the conditionnobu
* test/ruby/test_rubyoptions.rb: Process.wait with WNOHANG returns nil while the target process is alive. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31test_rubyoptions.rb: relax timeoutnobu
* test/ruby/test_rubyoptions.rb: wait for setting process title until the child process dies, in the case of extra heavy loads. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31NEWS: Add RubyVM::ASTyui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31Undef RubyVM::AST::Node.newyui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31Define AST module under RubyVM [experimental]yui-knk
* ext/-test-/ast/ast.c: Rename to ast.c and define AST module under RubyVM. * common.mk: compile ast.c. * ext/-test-/ast/extconf.rb: Don't need this file anymore. * inits.c (rb_call_inits): Call Init_ast to setup AST module. * test/-ext-/ast/test_ast.rb: Follow up the namespace change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31* 2018-05-31svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-31ast.c: Do not taint TOPLEVEL_BINDINGyui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30Ignore bundler assertions on ruby core test suite.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30* remove trailing spaces.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30Merge RubyGems 3.0.0.beta1.hsbt
* It drop to support < Ruby 2.2 * Cleanup deprecated methods and classes. * Mark obsoleted methods to deprecate. * and other enhancements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30NEWS: clarify item about built-in thread cachenormal
[Feature #14757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30Workaround for old LibreSSLnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-30object.c: Add a new alias `then` to `Kernel#yield_self`; [Feature #14594]matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29* 2018-05-30svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29fake.rb: fix RUBY_DESCRIPTION for MJITnobu
* template/fake.rb.in: switch RUBY_DESCRIPTION at runtime depending on the MJIT status. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29fake.rb: fix RUBY_DESCRIPTION for MJITnobu
* template/fake.rb.in: reflect MJIT to RUBY_DESCRIPTION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29spec/ruby: revert r63503 and r63508nobu
When RUBY_DESCRIPTION has `+JIT` already, it will be doubled. Just fake.rb.in always has copied `RUBY_DESCRIPTION`, regardless MJIT is enabled or not. `BOOTSTRAPRUBY` is not involved. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29mjit_compile.c: drop catch table handlingk0kubun
The loop for `vm_exce_handle_exception` doesn't trigger `mjit_exec`, so I don't think this code is no longer needed. This was needed in development of original version of this JIT, but it seems not needed from the beginning (r62189) at Ruby repository. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29Unused macro and fieldyui-knk
* node.h (nd_cnt, struct RNode): nd_cnt has been unused since r60239, and also cnt field. * .gdbinit (nd_cnt): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29Unused macroyui-knk
* node.h (nd_noex): nd_noex has been unused since r24128. * .gdbinit (nd_noex): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29Unused macroyui-knk
* node.h (nd_frml): nd_frml has been unused since r34134. * .gdbinit (nd_frml): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29NEWS: add item about built-in thread cachenormal
This change may impact design of future programs and obviate thread pools in many cases, so it's worth a mention. Anyways, this seems stable since r63499 [Feature #14757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-29Unused macroyui-knk
* node.h (nd_argc): nd_argc has been unused since r24128. * .gdbinit (nd_argc): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28time.rb: fix parsing time zone in iso8601nobu
* lib/time.rb (Time.xmlschema): the minute in time zone designator can be omitted together with the preceding colon. [ruby-core:87277] [Bug #14790] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28* 2018-05-29svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28time.rb: fix parsing time zone in iso8601nobu
* lib/time.rb (Time.xmlschema): a colon in time zone designator can be omitted. [ruby-core:87277] [Bug #14790] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28Unused macro and fieldyui-knk
* node.h (nd_cfnc, struct RNode): nd_cfnc has been unused since r49938, and also cfunc field. * .gdbinit (nd_cfnc): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28* 2018-05-28svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-28Merge etc gemspec from github repository.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-27Specs must keep working on older versions and other implementationseregon
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-27jit_support.rb: debug check_support stderrk0kubun
rubyci freebsd11zfs doesn't pass this check. I want to know the stderr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-27st.c: remove redundant export declarationk0kubun
rb_hash_bulk_insert is added to official C API in r63488. It's no longer exported only for MJIT. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-27* 2018-05-27svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-27jit_support.rb: cahce JIT support checkk0kubun
* Before make test-all -C .ruby-svn TESTS="../test/ruby/test_jit.rb" 22.40s user 5.38s system 91% cpu 30.196 total * After make test-all -C .ruby-svn TESTS="../test/ruby/test_jit.rb" 12.91s user 3.33s system 91% cpu 17.648 total Also, this makes it easier to check if JIT is actually tested, by showing warning on stderr. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-24spec/ruby: fix RUBY_DESCRIPTION check with JIT enabledk0kubun
`make test-spec` adds `-r./$(arch)-fake` to pass header options. But the $(arch)-fake.rb unexpectedly modifies RUBY_DESCRIPTION and it always drops +JIT from it since the fake.rb is built with BOOTSTRAPRUBY, which can be miniruby. miniruby can't find MJIT header and thus mjit_init_p is always FALSE. So, to pass `make test-spec` with JIT enabled, we can't use RUBY_DESCRIPTION. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-24test_rubyoptions.rb: RbConfig::CONFIG['cppflags'] can be nilk0kubun
not '' at least on AppVeyor git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-24test_rubyoptions.rb: allow passing test_verbosek0kubun
with -DMJIT_FORCE_ENABLE. With -DMJIT_FORCE_ENABLE, absence of --jit doesn't mean JIT disabled. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-24mjit.c: use remove_file in clean_so_file toonobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-24thread_pthread.c: avoid reading th pointer for thread cachenormal
I suspect GC may free the rb_thread_t (th) pointer by the time we call register_cached_thread_and_wait. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23thread_pthread.c: enable thread cache by defaultnormal
Since r62466 ("thread_pthread.c: shorten and fix thread cache implementation"), our thread cache is no longer buggy with programs using fork. This makes significant improvements in vm_thread_alive_check1 and vm_thread_create_join benchmarks and does not introduce regressions. Unlike old thread cache, I've changed the cache to only last 3 seconds since per-thread setup in most programs rarely takes more than a few milliseconds to re-establish things like network connections. This is configurable by changing the THREAD_CACHE_TIME variable. I hope this allows users to simplify their code by removing the need for thread pools in many cases. vm_thread_alive_check1 10.872 0.150 vm_thread_close 1.988 2.027 vm_thread_condvar1 0.751 0.767 vm_thread_condvar2 0.744 0.752 vm_thread_create_join 5.296 2.343 vm_thread_mutex1 1.911 1.892 vm_thread_mutex2 1.902 1.896 vm_thread_mutex3 2.389 2.313 vm_thread_pass 0.271 0.272 vm_thread_pass_flood 0.175 0.179 vm_thread_pipe 0.460 0.436 vm_thread_queue 0.453 0.446 vm_thread_sized_queue 0.547 0.547 vm_thread_sized_queue2 1.417 1.413 vm_thread_sized_queue3 1.410 1.426 vm_thread_sized_queue4 0.787 0.791 Speedup ratio: compare with the result of `trunk' (greater is better) name built vm_thread_alive_check1 72.456 vm_thread_close 0.981 vm_thread_condvar1 0.979 vm_thread_condvar2 0.990 vm_thread_create_join 2.260 vm_thread_mutex1 1.010 vm_thread_mutex2 1.003 vm_thread_mutex3 1.033 vm_thread_pass 0.994 vm_thread_pass_flood 0.980 vm_thread_pipe 1.055 vm_thread_queue 1.016 vm_thread_sized_queue 0.999 vm_thread_sized_queue2 1.003 vm_thread_sized_queue3 0.989 vm_thread_sized_queue4 0.995 [ruby-core:87030] [Feature #14757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23benchmark/bm_*erb*: fix for --measure=size/peak in driver.rbnormal
benchmark/memory_wrapper.rb will Kernel#load these scripts, preventing DATA from being initialized, so use heredoc instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23* 2018-05-24svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23ext/pty/pty.c: I_FIND before I_PUSH if possiblengoto
* ext/pty/pty.c: Check whether each STREAMS module is already pushed or not by using I_FIND ioctl call, before pushing it by using I_PUSH. Solved test failure on Solaris. On a Solaris 10 machine, ioctl I_PUSH "ldterm" twice was the cause of duplicated "\r". [Bug #14786] [ruby-dev:50552] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23remove VM_ENV_DATA_INDEX_ENV_PROC.ko1
* vm_core.h (VM_ENV_DATA_INDEX_ENV_PROC): ep[VM_ENV_DATA_INDEX_ENV_PROC] is allocated to mark a Proc which is created from iseq block. However, `lep[0]` keeps Proc object itself as a block handler (Proc). So we don't need to keep it. * vm_core.h (VM_ENV_PROCVAL): ditto. * vm.c (vm_make_env_each): do not need to keep blockprocval as special value. * vm.c (vm_block_handler_escape): simply return Proc value. * proc.c (proc_new): we don't need to check Env because a Proc type block handler is a Proc object itself. [Bug #14782] * test/ruby/test_proc.rb: add a test for [Bug #14782] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-23internal.h: export ruby_sized_* for systems w/o malloc_usable_sizenormal
[ruby-core:87232] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-22test_jit.rb: propagate suspicious stderrk0kubun
of child ruby process to parent stderr using `Kernel#warn`. This fixes a warning in {set,get}classvariable as well. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-22* 2018-05-23svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-22mjit.c: show error message on remove failurek0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-05-22rename temporary dummy targetusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e