summaryrefslogtreecommitdiff
path: root/coroutine/win32
Commit message (Collapse)AuthorAgeFilesLines
* Replace copy coroutine with pthread implementation.Samuel Williams2021-07-011-0/+1
|
* Added include guards to coroutine headersNobuyoshi Nakada2021-01-221-0/+5
|
* Remove "All Rights Reserved." from Copyright statement.Samuel Williams2019-12-281-1/+1
|
* Remove "All Rights Reserved." from Copyright statement.Samuel Williams2019-12-281-1/+1
|
* decouple internal.h headers卜部昌平2019-12-261-0/+2
| | | | | | | | | | | | | | | | | | 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).
* Fix coroutine support on win32Lars Kanis2019-11-051-1/+1
| | | | | | | | | | | | | 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
* Make fiber_pool more conservative on platforms with limited address space.Samuel Williams2019-07-181-0/+1
| | | | | | | 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.
* Add coroutine context switch for i386-mingw32Lars Kanis2019-07-071-0/+47
| | | | | It's essentially a translation of Context.asm from Intel to AT&T syntax.
* Add `ucontext` coroutine implementation for generic fallback.Samuel Williams2019-06-261-24/+18
|
* Make COROUTINE_REGISTERS compile-time only not to be a global symbolNobuyoshi Nakada2019-05-161-1/+1
|
* Fix for coroutine/win32/Context.objnobu2018-11-281-0/+1
| | | | | | | | | | | * 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
* Fix indentation.samuel2018-11-201-18/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix struct usage.samuel2018-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Initial support for x64-mingw32samuel2018-11-202-5/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Better (?) support for Windows TIB.samuel2018-11-202-9/+20
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Prefer "static inline" to avoid duplicate symbols.samuel2018-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Formatting changes.samuel2018-11-202-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Ensure start function has correct declaration.samuel2018-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Mark COROUTINE as noreturn.samuel2018-11-201-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Tidy up comments.samuel2018-11-202-11/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Native implementation of coroutines to improve performance of fiberssamuel2018-11-202-0/+107
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e