C1 vs C2 is best shot here IMO. Except a normal memory leak of course.
Problem with JVM is these compilation stages are difficult to monitor and tune. They require logging, parsing logs and trial and error approach.
OP definitely worth logging tiered compilation `-XX:+PrintCompilation` and `-XX:+PrintInlining` and `-XX:+LogCompilation`. When this turns out to be filled, emptied and filled again, try increasing `ReservedCodeCacheSize`
Problem with JVM is these compilation stages are difficult to monitor and tune. They require logging, parsing logs and trial and error approach.
OP definitely worth logging tiered compilation `-XX:+PrintCompilation` and `-XX:+PrintInlining` and `-XX:+LogCompilation`. When this turns out to be filled, emptied and filled again, try increasing `ReservedCodeCacheSize`