Implement on-stack replacement for arm/arm64/x86/x86_64.

High-level overview:
- osr_method_threshold is used to know when to compile a method
  in osr mode (-> treat all loops as irreducible).
- branch instructions in the compiler query whether they can
  jump to an osr method.
- An osr entry point is found through the stack maps: if a stack
  map is duplicated in the CodeInfo, it is an osr entry point.

Change-Id: Ifb39338cd281e2c7eccce67f4e18d46428be71e4
38 files changed