Fix JNI thread state transitions.

Thread state transitions need correct fencing. This change introduces
the fences and makes the behaviour match that of Thread::SetState.

Change-Id: Ia0ff68e2493ae153cf24d251e610b02b3f39d93e
diff --git a/src/assembler.h b/src/assembler.h
index 4d085e0..0808e06 100644
--- a/src/assembler.h
+++ b/src/assembler.h
@@ -360,6 +360,8 @@
   virtual void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch,
                     unsigned int size) = 0;
 
+  virtual void MemoryBarrier(ManagedRegister scratch) = 0;
+
   // Exploit fast access in managed code to Thread::Current()
   virtual void GetCurrentThread(ManagedRegister tr) = 0;
   virtual void GetCurrentThread(FrameOffset dest_offset,