Nobuyoshi Nakada
4a67ef09cc
[Feature #21116 ] Extract RJIT as a third-party gem
2025-02-13 18:01:03 +09:00
Jean Boussier
f32d5071b7
Elide string allocation when using String#gsub
in MAP mode
...
If the provided Hash doesn't have a default proc, we know for
sure that we'll never call into user provided code, hence the
string we allocate to access the Hash can't possibly escape.
So we don't actually have to allocate it, we can use a fake_str,
AKA a stack allocated string.
```
compare-ruby: ruby 3.5.0dev (2025-02-10T13:47:44Z master 3fb455adab
) +PRISM [arm64-darwin23]
built-ruby: ruby 3.5.0dev (2025-02-10T17:09:52Z opt-gsub-alloc ea5c28958f) +PRISM [arm64-darwin23]
warming up....
| |compare-ruby|built-ruby|
|:----------------|-----------:|---------:|
|escape | 3.374k| 3.722k|
| | -| 1.10x|
|escape_bin | 5.469k| 6.587k|
| | -| 1.20x|
|escape_utf8 | 3.465k| 3.734k|
| | -| 1.08x|
|escape_utf8_bin | 5.752k| 7.283k|
| | -| 1.27x|
```
2025-02-12 10:23:50 +01:00
Hiroshi SHIBATA
801885c7f9
Move bundled_gems_spec-run task to exam because we repeatedly test bundled gems for debugging
2025-01-27 14:50:57 +09:00
Hiroshi SHIBATA
47723bb591
Added tracer for irb test
2025-01-24 15:46:46 +09:00
Peter Zhu
7ed08c4fd3
Fix memory leak in rb_gc_vm_weak_table_foreach
...
When deleting from the generic ivar table, we need to free the gen_ivtbl
otherwise we will have a memory leak.
2025-01-23 10:24:35 -05:00
Nobuyoshi Nakada
ba44e92573
ext/json no longer uses ragel
2025-01-20 21:37:20 +09:00
Nobuyoshi Nakada
d399e0c2b6
Move probes.h to all-incs
...
It is platform dependent, should not generate by default.
2025-01-15 22:11:47 +09:00
Hiroshi SHIBATA
667e938f1d
rdoc-srcdir can refer srcdir by itself
2025-01-15 16:52:56 +09:00
Hiroshi SHIBATA
c6923278d8
Fixed missing kpeg issue with test-bundled-gems
2025-01-15 16:52:56 +09:00
Hiroshi SHIBATA
86575e243e
Use rdoc provided by bundled gems for generating ruby documentation
2025-01-15 16:52:56 +09:00
ydah
ccb4ba45ed
Use LRAMA instead of YACC
2025-01-14 17:20:02 +09:00
Nobuyoshi Nakada
2e38b3effb
Update probes.h by incs
2025-01-13 09:57:01 +09:00
Hiroshi SHIBATA
fcecef7752
Added logger dependency for Bundler's example
2025-01-10 10:19:39 +09:00
Nobuyoshi Nakada
7962f32b70
Fix hello
when transforming program names
2024-12-27 10:29:34 +09:00
Nobuyoshi Nakada
970513f677
Sort undocumented entry list [ci skip]
2024-12-25 12:04:32 +09:00
Nobuyoshi Nakada
f7ce62cc5b
Add hello
2024-12-22 23:14:03 +09:00
Nobuyoshi Nakada
4fb5d746ce
Split modular-gc
into build and installation
2024-12-22 22:10:26 +09:00
Hiroshi SHIBATA
6a1aaf3679
Separated load path for test-bundler tasks for Windows
2024-12-12 15:10:21 +09:00
Hiroshi SHIBATA
f43e04ce09
Hide pending results of turbo_tests
2024-12-12 14:43:07 +09:00
Hiroshi SHIBATA
1967ae20b9
Use patched version of turbo_tests
2024-12-12 14:43:07 +09:00
Hiroshi SHIBATA
91f6c370af
Use turbo_tests instead of parallel_tests
2024-12-12 14:43:07 +09:00
Nobuyoshi Nakada
f12e2622c1
Split system dependent commands to clean modular-gc
2024-12-10 12:31:47 +09:00
Peter Zhu
cfc2b21a05
Clean all modular GCs
...
We should run `make clean` or `make distclean` on each of the GC directories.
2024-12-09 16:35:21 -05:00
Peter Zhu
5d4242fa81
Only delete gc directory if empty
...
If building in the source directory, this will delete the gc directory.
2024-12-09 16:35:21 -05:00
Peter Zhu
88d49628dd
Don't delete .gc directory
...
We build in the gc directory since commit d057503252
,
so we don't need to remove the .gc directory.
2024-12-09 16:35:21 -05:00
Matt Valentine-House
ffb26a53d1
Add Modular GC (default, MMTk) builds to CI
2024-12-06 09:48:30 +00:00
Randy Stauner
b021f6f8a7
Use symbol.h in vm.c to get macro for faster ID to sym ( #12272 )
...
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>
2024-12-05 17:51:32 -05:00
Peter Zhu
ce1ad1b816
Standardize on the name "modular GC"
...
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".
2024-12-05 10:33:26 -05:00
Hiroshi SHIBATA
56576b6cce
Removed needless RSpec option
2024-12-04 13:09:40 +09:00
Hiroshi SHIBATA
b532662d2d
Use same RSPECOPTS for test-bundler and test-bundler-parallel
2024-12-04 13:09:40 +09:00
Nobuyoshi Nakada
239c30798a
Simplify test-bundler-parallel
...
Get rid of repeated exec XRUBY recursively.
2024-12-04 13:09:40 +09:00
Hiroshi SHIBATA
4e382c285f
Lock json-schema-5.1.0
2024-12-03 09:53:17 +09:00
Nobuyoshi Nakada
1df52e097b
yasmdata.rb is no longer generated for years [ci skip]
2024-12-02 09:07:25 +09:00
Nobuyoshi Nakada
c321cf0e95
Revert useless VPATH for NMAKE [ci skip]
2024-11-30 23:57:42 +09:00
Nobuyoshi Nakada
fdf60d735c
Win32: Fix dependencies with VPATH on nmake
2024-11-30 15:24:30 +09:00
Hiroshi SHIBATA
26aebdb6d6
Added --env option to mspec for test-bundled-gems
2024-11-27 16:45:10 +09:00
Hiroshi SHIBATA
671e6eb644
Run only specified bundled gems with BUNDLED_GEMS
2024-11-27 16:45:10 +09:00
Nobuyoshi Nakada
9508cf86de
Clear shared_gc directory
2024-11-26 19:06:21 +09:00
Nobuyoshi Nakada
d057503252
Use extmk.rb to configure shared GC
...
Since mkmf.rb is for extension libraries after installation, it cannot
work alone in build directory and needs to run from extmk.rb.
2024-11-26 19:06:21 +09:00
Nobuyoshi Nakada
c5d31cb96b
Shell dependent command should be in Makefile.in
...
As common.mk is used by nmake.exe, the commands there need to be
accepted also by cmd.exe.
2024-11-26 19:06:21 +09:00
Matt Valentine-House
d61933e503
Use extconf to build external GC modules
...
Co-Authored-By: Peter Zhu <peter@peterzhu.ca>
2024-11-25 13:05:23 +00:00
Kunshan Wang
8ae7c22972
Annotate anonymous mmap
...
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.
2024-11-21 13:48:05 -05:00
Samuel Williams
3c0b09ac9e
Allow io_buffer_memmove
to release the GVL for large buffers. ( #12021 )
...
[Feature #20902 ]
2024-11-20 21:27:16 +13:00
Samuel Williams
9c268302bf
Introduce Fiber::Scheduler#blocking_operation_wait
. ( #12016 )
...
Redirect `rb_nogvl` blocking operations to the fiber scheduler if possible
to prevent stalling the event loop.
[Feature #20876 ]
2024-11-20 19:40:17 +13:00
Hiroshi SHIBATA
07bf784066
Don't need to call test-bundled-gems-fetch for bundled_gems_spec-run
2024-11-18 20:46:07 +09:00
Hiroshi SHIBATA
2dc8c48e09
Need to install all of dependency for bundler test suite
2024-11-18 20:46:07 +09:00
Hiroshi SHIBATA
73614b6efe
Added PREPARE_BUNDLED_GEMS before bundled_gems_spec-run
2024-11-18 20:46:07 +09:00
Hiroshi SHIBATA
0c8bd35ba4
Install zeitwerk at test-bundled-gems-prepare
2024-11-18 20:46:07 +09:00
Hiroshi SHIBATA
ce580f4ae5
Fixed dependency of make test-bundled-gems
2024-11-18 20:46:07 +09:00
Hiroshi SHIBATA
1a416920f1
Load required helpers from bundler examples and invoke bundled_gems_spec.rb at test-bundled-gems
2024-11-18 20:46:07 +09:00