Dalvik SMP update

Fix some SMP correctness issues in the VM:

 - Correct AtomicCache implementation, inserting barriers where needed
   and correcting existing usage.
 - Emphasize that String startup isn't expected to be reentrant, and
   use atomic ops to ensure that we explode if anybody tries it.
 - Use 64-bit quasiatomic ops to manage the "last activity" timer in
   JDWP.  (Also, provide some documented but unimplemented behavior.)
 - Updated the volatile operations in sun.misc.Unsafe to include
   appropriate barriers.

(This does not purport to correct all SMP issues, just some of the
more obvious ones.)

Change-Id: I06957ebcf2724fe7a228b30d00194b9b4808fae0
8 files changed