title: Differences between Just in Time compilation and On Stack Replacement
body: <p>Both of them pretty much do the same thing. Identify that the method is hot and compile it instead of interpreting. With OSR, you just move to the compiled version right after it gets compiled, unlike with JIT, where the compiled code gets called when the method is called for the second time. </p>
  
  <p>Other than this, are there any other differences?</p>