Code Flushing: Remove stale code from all theards
Open
- Dominant language
- C++
- Stars
- 8k
- Forks
- 351
- Avg merge
- 12h 31m
- Merged PRs (30d)
- 102
Description
Follow up from #705
"Derek Bruening's [PhD thesis](http://www.burningcutlery.com/derek/docs/phd.pdf) describes a system for invalidating code blocks (called "fragments") across multiple thread. The relevant part starts on page 156.
However it is quite complex: you need to be able to hotpatch branch instructions and update lookup tables while another thread is executing translated code. At that point it might be worth simply switching to a single shared code cache, which has many other benefits. See [this paper](http://www.burningcutlery.com/derek/docs/threadshared-CGO06.pdf) for details on implementing a thread-shared code cache." (via @Amanieu)
Contributor guide
Assessment
This issue has not been assessed yet.