summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2022-10-27 16:50:00 -0400
committerGitHub <noreply@github.com>2022-10-27 16:50:00 -0400
commit2812a57b14de8bfab7feccb7924039edc2611aad (patch)
treefdeb5b0cd623fed82205c30538ee816e5bd1ecbe /doc
parentea5972572b116071a5b62d001c7d39e7a080779c (diff)
downloadruby-2812a57b14de8bfab7feccb7924039edc2611aad.tar.gz
Update docs wrt YJIT limitations and building YJIT (#6641)
* Update docs wrt YJIT limitations and building YJIT * Update building_ruby.md Fix relative link
Diffstat (limited to 'doc')
-rw-r--r--doc/contributing/building_ruby.md1
-rw-r--r--doc/yjit/yjit.md10
2 files changed, 4 insertions, 7 deletions
diff --git a/doc/contributing/building_ruby.md b/doc/contributing/building_ruby.md
index 52d6042ec3..d2f175f4a9 100644
--- a/doc/contributing/building_ruby.md
+++ b/doc/contributing/building_ruby.md
@@ -18,6 +18,7 @@
* libffi
* libyaml
* libexecinfo (FreeBSD)
+ * rustc - 1.58.1 or later (if you wish to build [YJIT](/doc/yjit/yjit.md))
3. Checkout the CRuby source code:
diff --git a/doc/yjit/yjit.md b/doc/yjit/yjit.md
index d4a15d0c77..bf11eb523d 100644
--- a/doc/yjit/yjit.md
+++ b/doc/yjit/yjit.md
@@ -41,13 +41,9 @@ To cite this repository in your publications, please use this bibtex snippet:
## Current Limitations
-YJIT is a work in progress and as such may not yet be mature enough for mission-critical software. Below is a list of known limitations, all of which we plan to eventually address:
-
-- No garbage collection for generated code.
-- Currently supports only macOS and Linux.
-- Supports x86-64 and arm64/aarch64 CPUs only.
-
-Because there is no GC for generated code yet, your software could run out of executable memory if it is large enough. You can change how much executable memory is allocated using [YJIT's command-line options](#command-line-options).
+YJIT may not be suitable for certain applications. It currently only supports macOS and Linux on x86-64 and arm64/aarch64 CPUs. YJIT will use more memory than the Ruby interpreter because the JIT compiler needs to generate machine code in memory and maintain additional state
+information.
+You can change how much executable memory is allocated using [YJIT's command-line options](#command-line-options). There is a slight performance tradeoff because allocating less executable memory could result in the generated machine code being collected more often.
## Installation