summaryrefslogtreecommitdiff
path: root/coroutine/arm32
AgeCommit message (Collapse)Author
2021-07-01Replace copy coroutine with pthread implementation.Samuel Williams
2021-01-22Added include guards to coroutine headersNobuyoshi Nakada
2020-12-08Fix "Ruby is not properly fortified on armv7hl".Samuel Williams
See <https://bugs.ruby-lang.org/issues/16762> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3866
2020-07-05Prefix export symbol prefix to coroutine_transferNobuyoshi Nakada
2020-07-05Removed trailing spaces [ci skip]Nobuyoshi Nakada
2020-04-01Patch assembly so that it aligns properlyPaul Jordan
Notes: Merged: https://github.com/ruby/ruby/pull/2995
2019-12-28Remove "All Rights Reserved." from Copyright statement.Samuel Williams
2019-12-26decouple internal.h headers卜部昌平
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). Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-07-18Make fiber_pool more conservative on platforms with limited address space.Samuel Williams
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.
2019-06-26Restore updated implementation of arm32 coroutine code, but prefer ucontext.Samuel Williams
2019-06-26Revert "coroutine/arm32/Context.S: save/restore the registers via stack"Yusuke Endoh
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
2019-06-26Add `ucontext` coroutine implementation for generic fallback.Samuel Williams
2019-06-26coroutine/arm32/Context.S: save/restore the registers via stackYusuke Endoh
Retry of 518adcca0a and dbe232e24e
2019-06-25Revert 518adcca0a and dbe232e24eYusuke Endoh
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
2019-06-25Order of arguments might be incorrect in arm32 coroutine implementation.Samuel Williams
2019-05-16Make COROUTINE_REGISTERS compile-time only not to be a global symbolNobuyoshi Nakada
2018-11-24Change Makefile rule for assembly to use .S rather than .ssamuel
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
2018-11-20Fix indentation.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Prefer "static inline" to avoid duplicate symbols.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Formatting changes.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Ensure start function has correct declaration.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Mark COROUTINE as noreturn.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Tidy up comments.samuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20Native implementation of coroutines to improve performance of fiberssamuel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e