|
|
|
|
|
by still_grokking
1773 days ago
|
|
That makes no sense in case of Rust (or C/C++ for that matter). You would compile LLVM-frontend -> LLVM-IR -> LLVM-WASM-backend -> GraalVM-WASM-frontend -> GraalVM-bytecode-backend
instead of LLVM-frontend -> LLVM-IR -> GraalVM-LLVM-IR-frontend -> GraalVM-bytecode-backend
The additional transformations won't be healthy for the performance of your program, or compile times… |
|
https://en.wikipedia.org/wiki/Control-flow_integrity
https://clang.llvm.org/docs/ControlFlowIntegrity.html
It looks like it might be possible, but I really like the security properties of Wasm. It looks like I am moving the goal posts, but I am not, it is the biggest reason to use Wasm, the second one is the capabilities model.
It would be a great undergrad research project to measure the difference in those two compilation chains.