Hacker News new | ask | show | jobs
by pcwalton 912 days ago
> Yes, there are memory safety issues, but in practice, these are isolated in very few places. Take a compiler like LLVM for instance: most developers are working on transforms or analyses, and they're exposed to zero manual memory management.

It is really easy to get use-after-free in LLVM passes due to using eraseFromParent() instead of removeFromParent(), etc. As I recall, in some places the optimization code goes through really awkward patterns in order to keep track of the IR nodes that are dead to avoid UAF, none of which would be necessary if LLVM were written in a GC'd language. (Note: I'm not saying LLVM should be written in a GC'd language.)

1 comments

Maybe not, still I like to follow up on GraalVM, as I used to for MaximeVM and JikesRVM, and MSR Phonenix compiler, exactly because of that.

Compiler building frameworks in managed languages.