RJIT:Ruby JIT

本文档包含一些在您使用 RJIT 时可能有用的提示。

项目目的

此项目用于实验目的。 对于生产部署,请考虑使用 YJIT。

支持的平台

假定以下平台可以工作。linux-x86_64 在 CI 上进行测试。

配置

--enable-rjit

在支持的平台上,默认情况下会设置 --enable-rjit。 您通常不需要指定它。 您仍然可以手动传递 --enable-rjit 以在不支持的平台上尝试 RJIT。

--enable-rjit=dev

如果 libcapstone 可用,则启用 --rjit-dump-disasm

make

rjit-bindgen

如果您看到“RJIT bindgen” GitHub Actions 失败,请提交失败作业中显示的 git diff

要在本地执行相同操作,请在安装 libclang 后运行 make rjit-bindgen。 macOS 似乎默认具有 libclang。 在 Ubuntu 上,您可以使用 apt install libclang1 安装它。

ruby

--rjit-stats

这会在退出时打印 RJIT 统计信息。

--rjit-dump-disasm

这将转储所有 JIT 代码。 您需要在配置之前安装 libcapstone 并在配置时使用 --enable-rjit=dev