Save/restore local table state on down calls.

Also add unit test.

Change-Id: Ia1dc54eaac20c4bbb1ca3d9ac2933d6ab0241261
diff --git a/src/assembler_arm.h b/src/assembler_arm.h
index 577fd55..69b39c0 100644
--- a/src/assembler_arm.h
+++ b/src/assembler_arm.h
@@ -481,6 +481,15 @@
   virtual void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch,
                     unsigned int size);
 
+  virtual void Copy(FrameOffset dest, ManagedRegister src_base, Offset src_offset,
+                    ManagedRegister scratch, size_t size);
+
+  virtual void Copy(FrameOffset dest, FrameOffset src_base, Offset src_offset,
+                    ManagedRegister scratch, size_t size);
+
+  virtual void Copy(ThreadOffset dest_base, Offset dest_offset, FrameOffset src,
+                    ManagedRegister scratch, ManagedRegister scratch2, size_t size);
+
   virtual void MemoryBarrier(ManagedRegister scratch);
 
   // Exploit fast access in managed code to Thread::Current()