aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ruby.c: do not surface MJIT to userk0kubun2018-11-192-12/+12
| | | | | | | | | | | In some places, both JIT and MJIT are being used, but it could be confusing for new comers. We're not explaining MJIT on NEWS file or release notes as well. So we consider MJIT as an internal term of implementation like YARV. configure.ac: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h: resurrect --disable-mjit-supportk0kubun2018-11-191-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix for Solaris shnobu2018-11-192-2/+2
| | | | | | | | | * Makefile.in (mjit_config.h): removed unnecessary assignment. * tool/mjit_archflag.sh (define_arch_flags): need to quote on Solaris. [ruby-dev:50669] [Bug #15319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: do not run signal handler before forkk0kubun2018-11-193-6/+15
| | | | | | | | | | to prevent from proceeding one for MJIT while it's not safe yet. By that situation, MJIT worker could be waiting for compiler process forever http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1468033 [Bug #15320] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: rename extra_warning as extra_warnflagsnobu2018-11-191-3/+3
| | | | | | | Adjusted to warnflags variable. This variable will have flags for warnings, but not a warning itself. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: respect extra_warnflags if givennobu2018-11-191-4/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: setbyte silently ignores upper bitsshyouhei2018-11-192-3/+19
| | | | | | | | The behaviour of String#setbyte has been depending on the width of int, which is not portable. Must check explicitly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: do not pass unnecessary warnflagsnobu2018-11-191-3/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: ungetbyte silently ignores upper bitsshyouhei2018-11-192-5/+31
| | | | | | | | | The behaviour of IO#ungetbyte has been depending on the width of Fixnums. Fixnums should be invisible nowadays. It must be a bug. Fix [Bug #14359] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* _colorize_result_prepare.m4: do not save CONFIGURE_TTYnobu2018-11-191-5/+5
| | | | | | | | redirection to a tty, file or pipe is not a permanent status. `rb_cv_` prefix means that it should be saved/restored across re-configurations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: reconfig with the original warnflagsnobu2018-11-191-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: use dedicated flagsnobu2018-11-191-14/+17
| | | | | | | * .travis.yml: use dedicated flags, cflags and others, not to override optflags, warnflags and debugflags. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: avoid (VALUE)--shyouhei2018-11-191-1/+2
| | | | | | | | | | This args[1]-- overflows when it is zero. Should do that only when we can say it is nonzero. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: -Wno-unknown-warning-option is needed, too.shyouhei2018-11-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .travis.yml: extra CFLAGS to suppress warningsshyouhei2018-11-191-0/+5
| | | | | | | | When CFLAGS is passed on travis, warnflags seems not working. Let's add them directly to prevent clang form messing up the logs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* -Wno-unused-value [ci skip]shyouhei2018-11-191-0/+1
| | | | | | | | Without this option clang outputs tons of warnings, which are annoying. See https://travis-ci.org/ruby/ruby/jobs/456553420#L1817 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sort lines [ci skip]shyouhei2018-11-191-20/+22
| | | | | | | ... for aethetic reasons. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-19svn2018-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Also clean ruby-runner.o and ruby.imp [ci skip]nobu2018-11-182-2/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* update-deps: fix runtime error [ci skip]nobu2018-11-181-1/+1
| | | | | | * tool/update-deps (init_global): environment strings are frozen. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit.c: fix deadlock introduced by r65785k0kubun2018-11-181-1/+1
| | | | | | | | | | | | | | | | | in mjit_pause() fired by before_fork_ruby(). When calling RUBY_VM_CHECK_INTS() in mjit_pause()'s loop, other threads may call start_worker() which sets `stop_worker_p = FALSE` and it could wait for MJIT worker stop forever even while `stop_worker_p` is FALSE. http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1466333 https://gist.github.com/ko1/a57ef1a03e1c7cfd22f1495e0864b63d http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1466335 https://gist.github.com/ko1/96e867e36e6b75559b3d926f8c0bdaeb https://app.wercker.com/ruby/ruby/runs/mjit-test1/5bf1221c183106002855989c?step=5bf1225987436a0006192c31 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* wercker.yml: debug problematic test on test-allk0kubun2018-11-181-1/+1
| | | | | | | Some test seems to hang https://app.wercker.com/ruby/ruby/runs/mjit-test1/5bf1221c183106002855989c?step=5bf1225987436a0006192c31 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: loosen output checkk0kubun2018-11-181-2/+1
| | | | | | | for interleaving between processes https://gist.github.com/ko1/ace0374825377b41628d4590b7377601 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: dump information to debug test failurek0kubun2018-11-181-4/+5
| | | | | | | debugging http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/1466123 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: support MJIT in forked Ruby processk0kubun2018-11-185-20/+115
| | | | | | | | by launching MJIT worker thread in child Ruby process. See the comment before `mjit_child_after_fork` for details. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: rb_fiber_atfork has nothing to do with mjit.c [ci skip]k0kubun2018-11-181-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* mjit_worker.c: fix typo [ci skip]k0kubun2018-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_jit.rb: fix typo [ci skip]k0kubun2018-11-181-1/+1
| | | | | | we don't have such VM register git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_trace.c (rb_postponed_job_flush): use rb_atomic_t for masknormal2018-11-181-2/+2
| | | | | | | | ec->interrupt_mask will remain rb_atomic_t and is 32-bit on some 64-bit systems while "unsigned long" is 64-bits. So avoid mismatching lengths and stick to rb_atomic_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: dependency of io.c for r65779nobu2018-11-181-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: include vm_core.h for VM_UNREACHABLEnormal2018-11-181-0/+1
| | | | | | Thanks to Greg L <greg.mpls@gmail.com> for the report git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-18svn2018-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (novl_wait_for_single_fd): VM_UNREACHABLE instead of assertnormal2018-11-181-1/+1
| | | | | | | This respects VM_CHECK_MODE and is more consistent with the rest of our code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * expand tabs.svn2018-11-181-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h (rb_thread_set_current*): convert to static inlinenormal2018-11-181-8/+15
| | | | | | | | | We already use "static inline" heavily and there should be no penalty for modern compilers; this adds type-checking, too. This will make future changes easier-to-review. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/mkmf/base.rb: use CC_WRAPPER same as the toplevelnobu2018-11-171-0/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* [DOC] rational and imaginary literals [ci skip]nobu2018-11-171-0/+27
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 2018-11-17svn2018-11-161-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-11-160-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Switch to 2-0-stable branch of bundler/bundler repository from our fork ↵hsbt2018-11-164-10/+16
| | | | | | | | repository. https://github.com/bundler/bundler/tree/2-0-stable git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: test-almost also needs mjit_build_dir.sonobu2018-11-161-1/+1
| | | | | | [ruby-core:89830] [Bug #15311] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* pack.c: cast from double to float can be undefinedshyouhei2018-11-161-3/+24
| | | | | | | | | | | | | | | | Generally speaking, a value of double is not always representable when demoted to a float. ISO C defines what to do when such conversion loses precision, but leaves it undefined when the value is completely out of range. (cf: ISO/IEC 9899:1990 section 6.2.1.4). Because ruby do not have half-precision floating-point types this is not a frequent headache but for pack / unpack, there are specifiers that has something to do with C float types. We have to explicitly care these situations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: hack to export symbols for MJIT in ruby.impnobu2018-11-161-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/excludes/_wercker: remove obsoleted pipeline namek0kubun2018-11-165-63/+63
| | | | | | | | | from excludes directory names. test-mjit-wait / test-mjit are combined and distributed as mjit-test1 and mjit-test2 now. So the subdirectory names are changed to option names, --jit and --jit-wait. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk: fix the pattern to be hiddennobu2018-11-161-1/+1
| | | | | | | * common.mk (ruby.imp): consider symbol prefix, remove InitVM, and fix internal symbols start with a dot. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make some internal functions staticnobu2018-11-164-6/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Prefix rb_ec_set_vm_stacknobu2018-11-163-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* appveyor.yml: skip reverting comment improvement [ci skip]k0kubun2018-11-161-2/+2
| | | | | | This part was not intended in r65760 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * properties.svn2018-11-160-0/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e