this post was submitted on 23 Jun 2024
26 points (100.0% liked)
Rust
6030 readers
2 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The only part of a JIT compiler I don’t understand how it works is the part that swaps in compiled routines during interpretation. That’s the point I’m unsure of how to write in Rust because it seems like it would require very custom control flow. It might be that you can handle this by storing your compiled instructions somewhere using the C calling convention and then having Rust call your compiled function like a C function.
In essence, what you have is a Rust program that has to produce machine code (easy!), store it somewhere in RAM (also easy, I think), and then somehow call it (how???). The final part seems like the difficult one since passing execution into arbitrary memory they just wrote is just the sort of thing programs aren’t normally supposed to do.