Nobuyoshi Nakada
1f39184bc7
Substitute coroutine_transfer
with prefixed symbol in Makefile
...
```
coroutine/arm64/Context.S:31:57: error: invoking macro TOKEN_PASTE argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
31 | .global PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)
| ^
```
2024-10-08 23:29:49 +09:00
Nobuyoshi Nakada
9a90cd2284
Cast via uintptr_t
function pointer between object pointer
...
- ISO C forbids conversion of function pointer to object pointer type
- ISO C forbids conversion of object pointer to function pointer type
2024-10-08 23:29:49 +09:00
Samuel Williams
42130a64f0
Replace copy coroutine with pthread implementation.
2021-07-01 11:23:03 +12:00
David Carlier
0ead818d81
Generating note.GNU-stack section for FreeBSD on x86.
...
Not enabling for ELF in general as not all platform support it
(e.g. NetBSD, implictly stack never executable).
2021-03-05 14:33:52 +13:00
Nobuyoshi Nakada
f1c36f2e6b
Added include guards to coroutine headers
2021-01-22 23:21:25 +09:00
Samuel Williams
bf04fe086b
Remove "All Rights Reserved." from Copyright statement.
2019-12-28 12:45:37 +13:00
Samuel Williams
f96216df8d
Remove "All Rights Reserved." from Copyright statement.
2019-12-28 12:41:47 +13:00
卜部昌平
5e22f873ed
decouple 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).
2019-12-26 20:45:12 +09:00
Samuel Williams
001f187ed6
Make fiber_pool more conservative on platforms with limited address space.
...
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-07-18 20:54:55 +12:00
Samuel Williams
6c6bf9ffcb
Add ucontext
coroutine implementation for generic fallback.
2019-06-26 20:19:53 +12:00
Nobuyoshi Nakada
e0f0ab959e
Remove unused symbols
2019-05-16 21:58:42 +09:00
Nobuyoshi Nakada
a160b2f567
Make COROUTINE_REGISTERS compile-time only not to be a global symbol
2019-05-16 15:52:09 +09:00
samuel
dc6908ab44
Ensure x86 stack is fortified, fixed #15335 .
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66341 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-11 23:49:33 +00:00
samuel
e64f71f812
Change Makefile rule for assembly to use .S rather than .s
...
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-24 11:35:29 +00:00
samuel
26adef94fa
Fix indentation.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-20 20:09:38 +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
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
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
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
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