ART: Fast copy stack mask

StackMap::SetStackMask will currently copy a BitVector into a Memory-
Region bit by bit. This patch adds a new function for copying the data
with memcpy.

This is resubmission of CL I28d45a590b35a4a854cca2f57db864cf8a081487
but with a fix for a broken test which it revealed.

Change-Id: Ib65aa614d3ab7b5c99c6719fdc8e436466a4213d
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index eefdaa7..ba0b6d6 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -671,9 +671,7 @@
 
   void SetStackMask(const CodeInfo& info, const BitVector& sp_map) {
     MemoryRegion region = GetStackMask(info);
-    for (size_t i = 0; i < region.size_in_bits(); i++) {
-      region.StoreBit(i, sp_map.IsBitSet(i));
-    }
+    sp_map.CopyTo(region.start(), region.size());
   }
 
   bool HasDexRegisterMap(const CodeInfo& info) const {