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.h b/src/assembler.h
index ae29a24..af9f94d 100644
--- a/src/assembler.h
+++ b/src/assembler.h
@@ -318,7 +318,8 @@
 
   // Emit code that will create an activation on the stack
   virtual void BuildFrame(size_t frame_size, ManagedRegister method_reg,
-                          const std::vector<ManagedRegister>& callee_save_regs) = 0;
+                          const std::vector<ManagedRegister>& callee_save_regs,
+                          const std::vector<ManagedRegister>& entry_spills) = 0;
 
   // Emit code that will remove an activation from the stack
   virtual void RemoveFrame(size_t frame_size,
@@ -364,7 +365,7 @@
                                     ThreadOffset offs) = 0;
 
   // Copying routines
-  virtual void Move(ManagedRegister dest, ManagedRegister src) = 0;
+  virtual void Move(ManagedRegister dest, ManagedRegister src, size_t size) = 0;
 
   virtual void CopyRawPtrFromThread(FrameOffset fr_offs, ThreadOffset thr_offs,
                                     ManagedRegister scratch) = 0;