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
diff --git a/vm/Globals.h b/vm/Globals.h
index 29bba41..4ebfd5e 100644
--- a/vm/Globals.h
+++ b/vm/Globals.h
@@ -235,7 +235,7 @@
     int         offJavaLangClass_pd;
 
     /* field offsets - String */
-    volatile int javaLangStringReady;   /* 0=not init, 1=ready, -1=initing */
+    int         javaLangStringReady;    /* 0=not init, 1=ready, -1=initing */
     int         offJavaLangString_value;
     int         offJavaLangString_count;
     int         offJavaLangString_offset;