Inline monitor-enter in portable.

Bug: 8195271

Inline monitor-enter fast path in the portable. It only deals with the simplest
case where no one is holding the monitor. It preserves the hash state of the
monitor and atomically updates the owner using "cmpxchg" atomic instruction.

This is now the default behavior in portable. However, there is still custom
code for ARM Thumb2 target (using inline asm) which is synchronized with the
Quick compiler (see compiler_llvm/runtime_support_builder_thumb2.cc).

It is not tested since portable does not work yet for x86 or mips. I verified
the output bitcode using "dex2oat --bitcode" command line option and I compiled
the bitcode with llc using the same options the portable compiler uses to
configure the target and the pass manager.

Change-Id: I96dcc04cc5dfe0aee1a4eb489e4a6f36740cea38
2 files changed
tree: cc485226c8313e976a6ea3e993a4408a32811b8b
  1. build/
  2. jdwpspy/
  3. src/
  4. test/
  5. tools/
  6. .gitignore
  7. Android.mk