| Age | Commit message (Collapse) | Author |
|
Disallow pending interrupts to be checked during `FiberScheduler#unblock`.
Ractors can send signals at any time, so the previous debug assertion can fail if a Ractor sends a signal.
Co-authored-by: Luke Gruber <luke.gruber@shopify.com>
|
|
Prism can parse multiple versions of ruby. Because of that branch release managers are ok with simply
bumping prism to its latest version.
However, if no version is specified, it will parse as the latest known version, which can be ahead of the maintenance branch.
So we need to explicitly pass a version to not accidentally introduce new syntax to maintenance branches.
|
|
f1f0cc14cc7d3f9be35b203e5583f9224b1e2387, 543e3a1896ae2fe3b5b954f6497d261ab5663a15, ed2806117a0b76e4439ce1a061fae21d9e116d69, 46e4c8673747de96838d2c5dec37446d23d99d88: [Backport #21500]
Suppress gcc 15 unterminated-string-initialization warnings
Separate `__has_attribute` from `defined(__has_attribute)`
Fix Visual C warnings:
```
regenc.h(121): warning C4067: unexpected tokens following preprocessor directive - expected a newline
```
Cast up `int` instruction code to `VALUE`
Fix Visual C warnings:
```
iseq.c(3793): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
iseq.c(3794): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
```
Do not let files depend on a phony target
Detect `clock_gettime` and `clock_getres` for winpthreads
|
|
Fix Symbol#to_proc (rb_sym_to_proc) to be ractor safe
In non-main ractors, don't use `sym_proc_cache`. It is not thread-safe
to add to this array without a lock and also it leaks procs from one
ractor to another. Instead, we create a new proc each time. If this
results in poor performance we can come up with a solution later.
Fixes [Bug #21354]
|
|
b48b841378f80e16378ceb83f3b78e52df9ae023, 2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327]
Fix redefinition of `clock_gettime` and `clock_getres`
winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions.
digest.so needs ruby/digest.h which is installed by build-ext
Copy to path with the base name
|
|
[Bug #21170]
st_table reserves -1 as a special hash value to indicate that an entry
has been deleted. So that that's a valid value to be returned from the
hash function, do_hash replaces -1 with 0 so that it is not mistaken for
the sentinel.
Previously, when upgrading an AR table to an ST table,
rb_st_add_direct_with_hash was used which did not perform the same
conversion, this could lead to a hash in a broken state where one if its
entries which was supposed to exist being marked as a tombstone.
The hash could then become further corrupted when the ST table required
resizing as the falsely tombstoned entry would be skipped but it would
be counted in num entries, leading to an uninitialized entry at index
15.
In most cases this will be really rare, unless using a very poorly
implemented custom hash function.
This also adds two debug assertions, one that st_add_direct_with_hash
does not receive the reserved hash value, and a second in
rebuild_table_with, which ensures that after we rebuild/compact a table
it contains the expected number of elements.
Co-authored-by: Alan Wu <alanwu@ruby-lang.org>
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12427
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12428
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12250
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12250
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12250
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12300
|
|
We should run `make clean` or `make distclean` on each of the GC directories.
Notes:
Merged: https://github.com/ruby/ruby/pull/12295
|
|
If building in the source directory, this will delete the gc directory.
Notes:
Merged: https://github.com/ruby/ruby/pull/12295
|
|
We build in the gc directory since commit d0575032527916b523035be87ad876152c886c85,
so we don't need to remove the .gc directory.
Notes:
Merged: https://github.com/ruby/ruby/pull/12295
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12212
|
|
The macro provided by symbol.h uses STATIC_ID2SYM
when it can which speeds up methods that declare keyword args.
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
We have name fragmentation for this feature, including "shared GC",
"modular GC", and "external GC". This commit standardizes the feature
name to "modular GC" and the implementation to "GC library".
Notes:
Merged: https://github.com/ruby/ruby/pull/12261
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12252
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12252
|
|
Get rid of repeated exec XRUBY recursively.
Notes:
Merged: https://github.com/ruby/ruby/pull/12252
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12232
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12224
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12179
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12179
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12166
|
|
Since mkmf.rb is for extension libraries after installation, it cannot
work alone in build directory and needs to run from extmk.rb.
Notes:
Merged: https://github.com/ruby/ruby/pull/12166
|
|
As common.mk is used by nmake.exe, the commands there need to be
accepted also by cmd.exe.
Notes:
Merged: https://github.com/ruby/ruby/pull/12166
|
|
Co-Authored-By: Peter Zhu <peter@peterzhu.ca>
Notes:
Merged: https://github.com/ruby/ruby/pull/12149
|
|
Use PR_SET_VMA_ANON_NAME to set human-readable names for anonymous
virtual memory areas mapped by `mmap()` when compiled and run on Linux
5.17 or higher. This makes it convenient for developers to debug mmap.
Notes:
Merged: https://github.com/ruby/ruby/pull/12119
|
|
[Feature #20902]
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Redirect `rb_nogvl` blocking operations to the fiber scheduler if possible
to prevent stalling the event loop.
[Feature #20876]
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
at test-bundled-gems
Notes:
Merged: https://github.com/ruby/ruby/pull/12111
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12110
|
|
version.c does not depend on gc/gc.h.
Notes:
Merged: https://github.com/ruby/ruby/pull/12088
|
|
This will add +MOD_GC to the version string and Ruby description when
Ruby is compiled with shared gc support.
When shared GC support is compiled in and a GC module has been loaded
using RUBY_GC_LIBRARY, the version string will include the name of
the currently active GC as reported by the rb_gc_active_gc_name function
in the form
+MOD_GC[gc_name]
[Feature #20794]
Notes:
Merged: https://github.com/ruby/ruby/pull/11872
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/11142
|
|
This reverts some of commit 87fb44dff6409a19d12052cf0fc07ba80a4c45ac.
We will rename and propose a slightly different interface.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
|
|
* YJIT: Replace Array#each only when YJIT is enabled
* Add comments about BUILTIN_ATTR_C_TRACE
* Make Ruby Array#each available with --yjit as well
* Fix all paths that expect a C location
* Use method_basic_definition_p to detect patches
* Copy a comment about C_TRACE flag to compilers
* Rephrase a comment about add_yjit_hook
* Give METHOD_ENTRY_BASIC flag to Array#each
* Add --yjit-c-builtin option
* Allow inconsistent source_location in test-spec
* Refactor a check of BUILTIN_ATTR_C_TRACE
* Set METHOD_ENTRY_BASIC without touching vm->running
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
The hash value of a Proc must remain constant after a compaction, otherwise
it may not work as the key in a hash table.
Notes:
Merged: https://github.com/ruby/ruby/pull/11966
|