Method prologue and epilogues, add missing x86 functionality.

Enables compiling and running a number of JNI internal managed code
methods on the host.

Change-Id: I56fceb813d0cb24637bc784ba57f2d1d16911d48
diff --git a/src/assembler_arm.cc b/src/assembler_arm.cc
index d452a46..e25e656 100644
--- a/src/assembler_arm.cc
+++ b/src/assembler_arm.cc
@@ -1436,8 +1436,10 @@
 }
 
 void ArmAssembler::BuildFrame(size_t frame_size, ManagedRegister method_reg,
-                              const std::vector<ManagedRegister>& callee_save_regs) {
+                              const std::vector<ManagedRegister>& callee_save_regs,
+                              const std::vector<ManagedRegister>& entry_spills) {
   CHECK_ALIGNED(frame_size, kStackAlignment);
+  DCHECK_EQ(entry_spills.size(), 0u);
   CHECK_EQ(R0, method_reg.AsArm().AsCoreRegister());
 
   // Push callee saves and link register
@@ -1656,7 +1658,7 @@
   StoreToOffset(kStoreWord, SP, TR, thr_offs.Int32Value());
 }
 
-void ArmAssembler::Move(ManagedRegister mdest, ManagedRegister msrc) {
+void ArmAssembler::Move(ManagedRegister mdest, ManagedRegister msrc, size_t size) {
   ArmManagedRegister dest = mdest.AsArm();
   ArmManagedRegister src = msrc.AsArm();
   if (!dest.Equals(src)) {