Граф коммитов

53092 Коммитов

Автор SHA1 Сообщение Дата
samuel a2cd16e58e Expose dependency between cont.c and coroutine implementation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:24 +00:00
svn cdb8f3f996 * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:19 +00:00
samuel ae3c8c2085 Prefer "static inline" to avoid duplicate symbols.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:17 +00:00
samuel a3de4a092d Remove trailing whitespace.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:12 +00:00
samuel 5547c65bdf Rename fiber chain benchmark.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:08 +00:00
samuel a8848860b8 Restore native non-coroutine code path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:04 +00:00
samuel 83c84182ad Formatting changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:17:00 +00:00
samuel 9481461cc3 Ensure start function has correct declaration.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:54 +00:00
samuel 42575570a9 Try using compiler for assembling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:49 +00:00
samuel 11b672f337 Print out what the assembler is doing to figure out why it's not working.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:45 +00:00
samuel 99346f74a4 Mark COROUTINE as noreturn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:41 +00:00
svn b58dc42abb * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:35 +00:00
samuel 20f1c6c185 Remove `Benchmark` times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:34 +00:00
samuel 3710dedc12 Tidy up comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:16:29 +00:00
svn dba6b87b29 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:14:03 +00:00
svn d4a5883886 * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:14:03 +00:00
samuel 3e9beaf72b Initial effort to support 32-bit Linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:13:59 +00:00
samuel ff86d1b61b It cannot be const because it is being passed to destructive operation (destroy).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:13:55 +00:00
samuel 9a324cf9cc Better benchmark name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:13:51 +00:00
svn 3f0ae69186 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:09:55 +00:00
samuel 12ae8c0813 Fix broken benchmark
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:09:53 +00:00
svn 635dd3408f * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:06:59 +00:00
samuel 995f6ee102 Fix code climate cognitive complexity issue
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:06:58 +00:00
samuel 4aa44a762e Create output directory when assembling file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 10:06:54 +00:00
samuel ec0d3ba19e Restore return value assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:23 +00:00
svn dc049ad832 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:20 +00:00
svn acd84d3208 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:19 +00:00
samuel 748c497a6d Rewrite fiber benchmark
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:18 +00:00
samuel 990ddcfccf Better support for amd64 platforms
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:14 +00:00
samuel 07a324a0f6 Native implementation of coroutines to improve performance of fibers
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:59:10 +00:00
nobu 27665e5134 common.mk: BTESTS to direct tests by btest
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 09:29:37 +00:00
normal 8d9a9aab67 thread_pthread.c (rb_reserved_fd_p): false-positive on negative FD
Negative-numbered FDs are never valid FDs on POSIX-like
platforms, and we initialize our self-pipes/eventfd values
to "-1", so stop treating -1 as a reserved FD if our system
is too low on resources to allocate FDs at startup.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 07:27:28 +00:00
nobu 259173ccc0 run single test [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 06:13:42 +00:00
shyouhei b3b827664e vm_insnhelper.c: fix indent [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 05:58:12 +00:00
usa 34f3f916e6 Simply treat IO::WaitReadable just like Errno::EAGAIN
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 05:18:28 +00:00
shyouhei 0deee5c0aa vm_insnhelper.c: recv -1 + 3 overflows
Here, recv can be INT2FIX(-1), which is 0xFFFF_FFFFul.
INT2FIX(1) is 3ul.  So `recv - 1 + INT2FIX(1)` is:

recv              0xFFFF_FFFFul
recv-1            0xFFFF_FFFEul (note: unsigned)
recv-1+INT2FIX(1) 0x0000_0001ul Here is the overflow.

Given recv is a Fixnum, it can never be 0xFFFF_FFFD.  0xFFFF_FFFF is
the only value that can overflow this way, so special-casing this
value should just suffice.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 04:51:09 +00:00
shugo 0dfc5918ec revert r65822
Because mon_initialized may be used to re-initialize copied objects intentionally.

mon_initialize_spec.rb fails:

1)
MonitorMixin#mon_initialize can be called in initialize_copy to get a new Mutex and used with synchronize ERROR
ThreadError: already initialized
/home/shugo/src/ruby/lib/monitor.rb:255:in `mon_initialize'
/home/shugo/src/ruby/spec/ruby/library/monitor/mon_initialize_spec.rb:19:in `initialize_copy'
/home/shugo/src/ruby/spec/ruby/library/monitor/mon_initialize_spec.rb:28:in `initialize_dup'
/home/shugo/src/ruby/spec/ruby/library/monitor/mon_initialize_spec.rb:28:in `dup'
/home/shugo/src/ruby/spec/ruby/library/monitor/mon_initialize_spec.rb:28:in `block (2 levels) in <top (required)>'
/home/shugo/src/ruby/spec/ruby/library/monitor/mon_initialize_spec.rb:4:in `<top (required)>'

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:56:51 +00:00
nobu 312fc605c1 rdoc query
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:07:46 +00:00
kazu 1cf0af636c mjit.c: fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:03:02 +00:00
kazu aa515c8d8c Remove unnecessary space
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:03:01 +00:00
svn 9ba7aece01 * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:01:57 +00:00
shugo 8d68f422dc lib/monitor.rb: prevent to initialize MonitorMixin twice
Suggested by Benoit Daloze.  [ruby-core:88504] [Feature #15000]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 03:01:55 +00:00
k0kubun 59676f6d03 revert r65820 and retry assert_finish
From: MSP-Greg <greg.mpls@gmail.com>

5187ea768f

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 02:16:30 +00:00
k0kubun 5187ea768f test_thread.rb: skip test_thread.rb broken for Windows
msys2.

https://ci.appveyor.com/project/ruby/ruby/builds/20419607/job/fuvrfcmrhxr1r1cr
https://ci.appveyor.com/project/ruby/ruby/builds/20395349/job/2nqewb06b5eanwea
https://ci.appveyor.com/project/ruby/ruby/builds/20382452/job/658pvl1cqolyrixm

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 01:28:43 +00:00
nobu d7d0ee1065 Check -fcf-protection
* configure.ac: Check if CFLAGS actually includes -fcf-protection
  instead of checking if the flag is valid by RUBY_TRY_CFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 00:39:07 +00:00
k0kubun b410d32185 thread.c: fix obsoleted comment [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 00:07:36 +00:00
k0kubun 3405411cc4 process.c: do not try to pause MJIT
while child handler is disabled.

trying to fix [Bug #15320]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 00:04:19 +00:00
k0kubun 95e09343a4 test_process.rb: Process.daemon seems irrelevant [ci skip]
in the backtrace:
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1468677

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-19 23:28:30 +00:00
k0kubun 00fac76efa configure.ac: avoid crashing MJIT with -fcf-protection
by avoiding using __builtin_longjmp, like r64983.

[Bug #15307]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-19 23:05:11 +00:00
k0kubun 27322735af revert r65807
it didn't work.
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/1468677

and skips broken tests for now. But this issue should be fixed soon.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-19 22:10:12 +00:00