1.2 KiB
MJIT
This document has some tips that might be useful when you work on MJIT.
Supported platforms
The following platforms are either tested on CI or assumed to work.
- OS: Linux, macOS
- Arch: x86_64, aarch64, arm64, i686, i386
Not supported
The MJIT support for the following platforms is no longer maintained.
- OS: Windows (mswin, MinGW), Solaris
- Arch: SPARC, s390x
Developing MJIT
Bindgen
If you see an "MJIT bindgen" GitHub Actions failure, please commit the git diff
shown on the failed job.
For doing the same thing locally, run make mjit-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
Always run make install
before running MJIT. It could easily cause a SEGV if you don't.
MJIT looks for the installed header for security reasons.
--mjit-debug vs --mjit-debug=-ggdb3
--mjit-debug=[flags]
allows you to specify arbitrary flags while keeping other compiler flags like -O3
,
which is useful for profiling benchmarks.
--mjit-debug
alone, on the other hand, disables -O3
and adds debug flags.
If you're debugging MJIT, what you need to use is not --mjit-debug=-ggdb3
but --mjit-debug
.