RJIT:Ruby JIT¶ ↑
當您使用 RJIT 時,本文件提供一些可能會有用的提示。
專案目的¶ ↑
此專案用於實驗目的。對於生產部署,請考慮改用 YJIT。
支援的平台¶ ↑
假設以下平台可行。CI 已測試 linux-x86_64
。
-
作業系統:Linux、macOS、BSD
-
架構:x86_64
configure¶ ↑
–enable-rjit¶ ↑
在支援的平台上,--enable-rjit
預設為開啟。通常不需要特別指定。你仍可手動傳遞 --enable-rjit
,在不支援的平台上嘗試 RJIT。
–enable-rjit=dev¶ ↑
如果 libcapstone 可用,它會啟用 --rjit-dump-disasm
。
make¶ ↑
rjit-bindgen¶ ↑
如果你看到 GitHub Actions 的「RJIT bindgen」失敗,請提交失敗工作上顯示的 git diff
。
若要在本地端執行相同的動作,請在安裝 libclang 後執行 make rjit-bindgen
。macOS 預設似乎有 libclang。在 Ubuntu 上,你可以使用 apt install libclang1
安裝。
ruby¶ ↑
–rjit-stats¶ ↑
這會在結束時列印 RJIT 統計資料。
–rjit-dump-disasm¶ ↑
這會傾印所有 JIT 程式碼。你需要在 configure 之前安裝 libcapstone,並在 configure 上使用 --enable-rjit=dev
。
-
Ubuntu:
sudo apt-get install -y libcapstone-dev
-
macOS:
brew install capstone