JIT is limited in some special environments because they don’t allow modifying memory and then executing it (RW → RX) for security reasons. I’m looking for a way to support AOT(Ahead Of Time) in BEAM. Does anyone have experience with this?
You can try to resurrect HiPE, but I’d just use interpreted runtime mode. There will be performance difference in any way.
I heard about HiPE a long time ago, but I think it has been discontinued.
It’s been discontinued, but it is still working in older versions of OTP (I think pre 21?). However, if you want to support something in newer versions, you’re gonna have to implement it on your own, but then, it would have much bigger impact on the security than JIT or interpreted runtime mode
Yes, I think I can convert the old project to Rust and continue supporting it. One issue is that the BEAM bytecode format is not fixed; it can change internally between versions.
I think I can borrow concepts of HIPE to support AOT.






















