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/calling_convention.h b/src/calling_convention.h
index 09a47e5..3a0eb5a 100644
--- a/src/calling_convention.h
+++ b/src/calling_convention.h
@@ -180,6 +180,9 @@
 
   virtual ~ManagedRuntimeCallingConvention() {}
 
+  // Registers to spill to caller's out registers on entry.
+  virtual const std::vector<ManagedRegister>& EntrySpills() = 0;
+
  protected:
   ManagedRuntimeCallingConvention(bool is_static, bool is_synchronized, const char* shorty) :
       CallingConvention(is_static, is_synchronized, shorty) {}