summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2024-12-20 17:45:51 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2024-12-20 17:45:52 -0800
commit6114094aa049ffcf3202254933e5da1552837c32 (patch)
treef11375ab1916f120535d77ce4c06af8da5b6ddf9
parent861ee7a3212d5e3e794d08034062fd4c21cac2a9 (diff)
[DOC] Resurrected YJIT section
under "Implementation improvements", similarly to past versions. We also don't do categorization like "* New features" (which was in this file) or "New features:" (which was on the release notes), so I used the standard header format instead. I applied the same change to release notes, copied the same thing back to NEWS.md, and then removed the TL;DR section from it.
-rw-r--r--NEWS.md52
1 files changed, 28 insertions, 24 deletions
diff --git a/NEWS.md b/NEWS.md
index 1ab6e42ad6..138ea591fc 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -448,30 +448,34 @@ The following bundled gems are promoted from default gems.
enabled using the environment variable `RUBY_GC_LIBRARY=mmtk`. This requires
the Rust toolchain on the build machine. [[Feature #20860]]
-* New features of YJIT
- * Add unified memory limit via `--yjit-mem-size` command-line option (default 128MiB)
- which tracks total YJIT memory usage and is more intuitive than the
- old `--yjit-exec-mem-size`.
- * More statistics now always available via `RubyVM::YJIT.runtime_stats`
- * Add compilation log to track what gets compiled via `--yjit-log`
- * Tail of the log also available at run-time via `RubyVM::YJIT.log`
- * Add support for shareable consts in multi-ractor mode
- * Can now trace counted exits with `--yjit-trace-exits=COUNTER`
- * Compressed context reduces memory needed to store YJIT metadata
-
-* New optimizations of YJIT
- * Improved allocator with ability to allocate registers for local variables
- * When YJIT is enabled, use more Core primitives written in Ruby:
- * `Array#each`, `Array#select`, `Array#map` rewritten in Ruby for better performance [[Feature #20182]].
- * Ability to inline small/trivial methods such as:
- * Empty methods
- * Methods returning a constant
- * Methods returning `self`
- * Methods directly returning an argument
- * Specialized codegen for many more runtime methods
- * Optimize `String#getbyte`, `String#setbyte` and other string methods
- * Optimize bitwise operations to speed up low-level bit/byte manipulation
- * Various other incremental optimizations
+### YJIT
+
+#### New features
+
+* Add unified memory limit via `--yjit-mem-size` command-line option (default 128MiB)
+ which tracks total YJIT memory usage and is more intuitive than the
+ old `--yjit-exec-mem-size`.
+* More statistics now always available via `RubyVM::YJIT.runtime_stats`
+* Add compilation log to track what gets compiled via `--yjit-log`
+ * Tail of the log also available at run-time via `RubyVM::YJIT.log`
+* Add support for shareable consts in multi-ractor mode
+* Can now trace counted exits with `--yjit-trace-exits=COUNTER`
+
+#### New optimizations
+
+* Compressed context reduces memory needed to store YJIT metadata
+* Improved allocator with ability to allocate registers for local variables
+* When YJIT is enabled, use more Core primitives written in Ruby:
+ * `Array#each`, `Array#select`, `Array#map` rewritten in Ruby for better performance [[Feature #20182]].
+* Ability to inline small/trivial methods such as:
+ * Empty methods
+ * Methods returning a constant
+ * Methods returning `self`
+ * Methods directly returning an argument
+* Specialized codegen for many more runtime methods
+* Optimize `String#getbyte`, `String#setbyte` and other string methods
+* Optimize bitwise operations to speed up low-level bit/byte manipulation
+* Various other incremental optimizations
## Miscellaneous changes