summaryrefslogtreecommitdiff
path: root/internal/thread.h
Commit message (Collapse)AuthorAgeFilesLines
* Move RB_VM_SAVE_MACHINE_CONTEXT to internal/thread.hMatt Valentine-House2023-03-151-0/+7
|
* Stop exporting symbols for MJITTakashi Kokubun2023-03-061-2/+0
|
* Only emit circular dependency warning for owned thread shieldsJean byroot Boussier2023-02-081-0/+1
| | | | | | | | | | [Bug #19415] If multiple threads attemps to load the same file concurrently it's not a circular dependency issue. So we check that the existing ThreadShield is owner by the current fiber before warning about circular dependencies.
* Revert "Only emit circular dependency warning for owned thread shields"Jean byroot Boussier2023-02-061-1/+0
| | | | This reverts commit fa49651e05a06512e18ccb2f54a7198c9ff579de.
* Only emit circular dependency warning for owned thread shieldsJean Boussier2023-02-061-0/+1
| | | | | | | | | | [Bug #19415] If multiple threads attemps to load the same file concurrently it's not a circular dependency issue. So we check that the existing ThreadShield is owner by the current fiber before warning about circular dependencies.
* Add `eval: true/false` flag to `Coverage.setup`.Samuel Williams2022-09-291-0/+1
|
* Restore rb_exec_recursive_outerJohn Hawthorn2022-06-151-0/+1
| | | | This was a public method, so we should probably keep it.
* internal/*.h: skip doxygen卜部昌平2021-09-101-1/+0
| | | | | These contents are purely implementation details, not worth appearing in CAPI documents. [ci skip]
* Rename to `Fiber#set_scheduler`.Samuel Williams2020-11-071-6/+0
|
* Standardised scheduler interface.Samuel Williams2020-09-141-0/+2
|
* Add `rb_thread_current_scheduler()`.Samuel Williams2020-09-141-2/+4
|
* Move declarations to private `internal/thread.h` header.Samuel Williams2020-07-201-0/+4
|
* add #include guard hack卜部昌平2020-04-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | According to MSVC manual (*1), cl.exe can skip including a header file when that: - contains #pragma once, or - starts with #ifndef, or - starts with #if ! defined. GCC has a similar trick (*2), but it acts more stricter (e. g. there must be _no tokens_ outside of #ifndef...#endif). Sun C lacked #pragma once for a looong time. Oracle Developer Studio 12.5 finally implemented it, but we cannot assume such recent version. This changeset modifies header files so that each of them include strictly one #ifndef...#endif. I believe this is the most portable way to trigger compiler optimizations. [Bug #16770] *1: https://docs.microsoft.com/en-us/cpp/preprocessor/once *2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-081-5/+5
| | | Split ruby.h
* internal/thread.h rework卜部昌平2019-12-261-0/+8
| | | | Rather trivial, added missed MJIT_FUNC_EXPORTED function declaration.
* split internal.h into files卜部昌平2019-12-261-0/+44
One day, I could not resist the way it was written. I finally started to make the code clean. This changeset is the beginning of a series of housekeeping commits. It is a simple refactoring; split internal.h into files, so that we can divide and concur in the upcoming commits. No lines of codes are either added or removed, except the obvious file headers/footers. The generated binary is identical to the one before.