4 ms·
Was Cinder influenced by hhvm (Facebook's vm for php/hack)? A project that maintains a list of different JIT implementations for programming languages and compa
by smg 5y ago
Was Cinder influenced by hhvm (Facebook's vm for php/hack)?
A project that maintains a list of different JIT implementations for programming languages and compares them would be a great way to see what are the different approaches to implementing JITs and which language features make it hard to implement performant JITs.
As an aside it is great that the Cinder team is specifically calling out that Cinder is not intended to be used outside of FB. Many people have been burned by lack of community around hhvm.
- _carljm 5y agoDefinitely influenced. There are people on our team who also worked on hhvm.
- kungito 5y agoI'm afraid there is very little documentation/text on modern production JITters. When I tried finding any text for my MSc I had little success. Does anyone have a suggestion about e.g. .NET 3-tier jitting or similar?
- chrisseaton 5y ago> When I tried finding any text for my MSc I had little success. Yes you basically need to sit down with an expert to learn this stuff. It's famously under-documented and extremely hard to learn how it's done in practice on your own.
- czardoz 5y agoHere's some good documentation about v8's JIT: https://github.com/thlorenz/v8-perf/blob/master/compiler.md https://github.com/thlorenz/v8-perf/blob/master/compiler.md Note: Never worked on v8, just liked the information here.
- sanxiyn 5y agoI wrote down "Survey of tiered compilation in JIT implementations" when I researched this: https://github.com/sanxiyn/blog/blob/master/posts/2020-01-03.md https://github.com/sanxiyn/blog/blob/master/posts/2020-01-03...
- chrisseaton 5y ago> A project that maintains a list of different JIT implementations for programming languages and compares them would be a great way to see what are the different approaches to implementing JITs and which language features make it hard to implement performant JITs. SOM for example has many implementations with different approaches to compilation http://som-st.github.io http://som-st.github.io.