summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-03-07 23:30:49 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2023-03-07 23:31:39 -0800
commit4bf037bebdc37671ca292dc8f500e1bede077163 (patch)
tree3f7ad0da4eee718aa2e0bd890ec7b7528843c838 /doc
parente93e780f3d37705a26a9160c60cc92255c1ff60a (diff)
downloadruby-4bf037bebdc37671ca292dc8f500e1bede077163.tar.gz
Update documentation about RJIT
Diffstat (limited to 'doc')
-rw-r--r--doc/rjit/rjit.md28
1 files changed, 10 insertions, 18 deletions
diff --git a/doc/rjit/rjit.md b/doc/rjit/rjit.md
index 1f847f61d5..22cd54dc4c 100644
--- a/doc/rjit/rjit.md
+++ b/doc/rjit/rjit.md
@@ -4,17 +4,10 @@ This document has some tips that might be useful when you work on RJIT.
## Supported platforms
-The following platforms are either tested on CI or assumed to work.
+The following platforms are assumed to work. `linux-x86_64` is tested on CI.
-* OS: Linux, macOS
-* Arch: x86\_64, aarch64, arm64, i686, i386
-
-### Not supported
-
-The RJIT support for the following platforms is no longer maintained.
-
-* OS: Windows (mswin, MinGW), Solaris
-* Arch: SPARC, s390x
+* OS: Linux, macOS, BSD
+* Arch: x86\_64
## Developing RJIT
@@ -25,15 +18,14 @@ If you see an "RJIT bindgen" GitHub Actions failure, please commit the `git diff
For doing the same thing locally, run `make rjit-bindgen` after installing libclang.
macOS seems to have libclang by default. On Ubuntu, you can install it with `apt install libclang1`.
-### Always run make install
+### --enable-rjit
-Always run `make install` before running RJIT. It could easily cause a SEGV if you don't.
-RJIT looks for the installed header for security reasons.
+On supported platforms, `--enable-rjit` is set by default. You usually don't need to specify this.
+You may still manually pass `--enable-rjit` to try RJIT on unsupported platforms.
-### --rjit-debug vs --rjit-debug=-ggdb3
+### --enable-rjit=dev
-`--rjit-debug=[flags]` allows you to specify arbitrary flags while keeping other compiler flags like `-O3`,
-which is useful for profiling benchmarks.
+`--enable-rjit=dev` makes the interpreter slower, but enables the following two features:
-`--rjit-debug` alone, on the other hand, disables `-O3` and adds debug flags.
-If you're debugging RJIT, what you need to use is not `--rjit-debug=-ggdb3` but `--rjit-debug`.
+* `--rjit-dump-disasm`: Dump all JIT code.
+* `--rjit-stats`: Print RJIT stats.