I want to understand how JVM works and I have been reading blog posts and documentation. However, things are quite confusing and frequently outdated. I understand as methods get invoked more and more (10k or 15k invocations threshold depending on compiler), JVM JIT compiles them to native code and maintains a code cache. I am interested in browsing the actual source code where these decisions are being made.
This post explains things well. However, I am using OpenJDK11 and the structure of source code seems to have changed. Tiered compilation makes things more complicated. Is there any detailed documentation for OpenJDK's source code? Or do I have to go through source files one by one?
find ... | xargs grep ... | less
:-) – Gorgerin