Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You might want to look at how ghc does copying gc via its llvm backend


According to what I've read, in GHC there are only four STG registers that are mapped to fixed registers in the x86 backend (and only one of them can contain a value). All roots are guaranteed to be either in this STG register or in the STG stack, which is kept separate from the C stack and is tagged with pointer/nonpointer info. This is certainly an option, but it seems suboptimal to me; we want LLVM to have the freedom to assign registers as it likes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: