| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* add coroutines for ppc & ppc64
* fix universal coroutine to include ppc & ppc64
* add powerpc*-darwin to configure.ac
* fix thread_pthread for older systems
|
|
|
|
| |
set the default coroutine_type as asyncify when wasi
|
| |
|
| |
|
|
|
|
|
|
| |
* See [Feature #17752]
Co-authored-by: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
|
| |
|
| |
|
|
|
|
| |
using proper link register and frame pointer which equal x30/x29.
|
|
|
|
|
| |
Not enabling for ELF in general as not all platform support it
(e.g. NetBSD, implictly stack never executable).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
See <https://bugs.ruby-lang.org/issues/16762> for more details.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The same as 8427fca49bd85205f5a8766292dd893f003c0e48.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
OpenBSD is the only platform that uses this support by default,
and it did not work because while OpenBSD supports alloca, it does
not include alloca.h.
This should be backported to Ruby 2.7.
From George Koehler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Saves comitters' daily life by avoid #include-ing everything from
internal.h to make each file do so instead. This would significantly
speed up incremental builds.
We take the following inclusion order in this changeset:
1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very
first thing among everything).
2. RUBY_EXTCONF_H if any.
3. Standard C headers, sorted alphabetically.
4. Other system headers, maybe guarded by #ifdef
5. Everything else, sorted alphabetically.
Exceptions are those win32-related headers, which tend not be self-
containing (headers have inclusion order dependencies).
|
|
|
|
|
|
| |
instead of ruby/config.h, per samuel's request.
https://github.com/ruby/ruby/commit/dbfd4b780e3914a3f27e92c2248254452bf0fd6b#diff-7fd78c3cc8a19b7e0637502983ec26ff
|
|
|
|
|
| |
getcontext, makecontext, and swapcontext seem to be available only when
`__EXTENSION__` is defined on Solaris.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ruby master branch currently fails on win32 MINGW at this spec:
https://github.com/ruby/spec/blob/master/core/thread/element_set_spec.rb
MINGW makes use of setjmp3() implemented in MSVCRT.DLL.
This function traverses the SEH list up to a terminating pointer 0xFFFFFFFF.
It therefore currently segfaults on NULL.
The SEH linked list must be terminated by 0xFFFFFFFF instead of NULL.
This fixes the issue mentioned here:
https://github.com/ruby/ruby/pull/2279#issuecomment-509508810
|
| |
|
| |
|
|
|
|
|
|
|
| |
We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address
space is 32-bits or less. Fiber pool implementation enables more book
keeping, and reduces upper limits, in order to minimise address space
utilisation.
|
| |
|
|
|
|
|
| |
It's essentially a translation of Context.asm from Intel
to AT&T syntax.
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 6df1814c08df93bbc0b3e7a73649bcf82e126064.
It caused a SEGV again:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20190626T051707Z.fail.html.gz
|
| |
|
|
|
|
| |
Retry of 518adcca0a and dbe232e24e
|
|
|
|
|
|
|
|
|
|
| |
518adcca0a: "Try using arm32 implementation for fibers."
dbe232e24e: "Order of arguments might be incorrect in arm32 coroutine implementation."
It seems to cause SEGV consistently on Ubuntu armv7l eabihf:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20190625T081710Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/scw-9d6766/ruby-master/log/20190625T111708Z.fail.html.gz
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac: enable fiber coroutine for powerpc64le-linux
* coroutine/ppc64le/Context.S: coroutine_transfer implementation
* coroutine/ppc64le/Context.h: coroutine implementation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
* coroutine/win32/Context.asm: old ml version 9 needs CPU
directive before `.model` directive.
* win32/Makefile.sub: specify object directories to separate Win32
and Win64 targets. Win32 rule was overridden by Win64 rule and
just ignored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
See https://bugs.ruby-lang.org/issues/15335 for more details.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
It is more conventional to use compiler to pre-process and
assemble the `.S` file rather than forcing Makefile to use `.s`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|