summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-03-10 11:27:04 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2023-03-10 11:29:25 -0800
commitd5b7c8a9727ebca2e7d29dd44c44f8724c2667cb (patch)
treec4d7faa70bf1a9d48f16ce4e2bab4b64ff12b258
parentd0b8bdb3927dd7bfa1ae9195fc254e48bc52fc9f (diff)
downloadruby-d5b7c8a9727ebca2e7d29dd44c44f8724c2667cb.tar.gz
RJIT: Always enable --rjit-dump-disasm
-rw-r--r--configure.ac6
-rw-r--r--doc/rjit/rjit.md27
2 files changed, 21 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac
index 3f007f8a40..d172c056a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3867,11 +3867,11 @@ AC_ARG_ENABLE(rjit,
AS_CASE(["$RJIT_SUPPORT"],
[yes|dev], [
+ # Link libcapstone for --rjit-dump-disasm
+ AC_CHECK_LIB([capstone], [cs_disasm])
+
AS_CASE(["$RJIT_SUPPORT"],
[dev], [
- # Link libcapstone for --rjit-dump-disasm
- AC_CHECK_LIB([capstone], [cs_disasm])
-
# Enable RJIT_STATS (vm_insns_count of --rjit-stats)
AC_DEFINE(RUBY_DEBUG, 1)
])
diff --git a/doc/rjit/rjit.md b/doc/rjit/rjit.md
index 273fdbeb9d..77be56bfb5 100644
--- a/doc/rjit/rjit.md
+++ b/doc/rjit/rjit.md
@@ -14,23 +14,32 @@ The following platforms are assumed to work. `linux-x86_64` is tested on CI.
* OS: Linux, macOS, BSD
* Arch: x86\_64
-## Developing RJIT
+## configure
+### --enable-rjit
+
+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.
+
+### --enable-rjit=dev
-### Bindgen
+`--enable-rjit=dev` makes the interpreter slower, but enables `ruby --rjit-stats` to work.
+
+## make
+### rjit-bindgen
If you see an "RJIT bindgen" GitHub Actions failure, please commit the `git diff` shown on the failed job.
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`.
-### --enable-rjit
+## ruby
+### --rjit-stats
-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.
+This prints RJIT stats at exit. Available with `--enable-rjit=dev` on configure.
-### --enable-rjit=dev
+### --rjit-dump-disasm
-`--enable-rjit=dev` makes the interpreter slower, but enables the following two features:
+This dumps all JIT code. You need to install libcapstone before configure.
-* `--rjit-dump-disasm`: Dump all JIT code.
-* `--rjit-stats`: Print RJIT stats.
+* Ubuntu: `sudo apt-get install -y libcapstone-dev`
+* macOS: `brew install capstone`