Static and direct resolution stub.

Ensure that invoke static and direct go through a stub that causes
resolution and initialization.

Change-Id: I872900560322817d8f4378b04ac410d9ea0b3b17
diff --git a/src/runtime.h b/src/runtime.h
index 8252a60..f99d994 100644
--- a/src/runtime.h
+++ b/src/runtime.h
@@ -156,6 +156,10 @@
   ByteArray* GetAbstractMethodErrorStubArray() const;
   void SetAbstractMethodErrorStubArray(ByteArray* abstract_method_error_stub_array);
 
+  bool HasResolutionStubArray(bool is_static) const;
+  ByteArray* GetResolutionStubArray(bool is_static) const;
+  void SetResolutionStubArray(ByteArray* resolution_stub_array, bool is_static);
+
   // Returns a special method that describes all callee saves being spilled to the stack.
   Method* CreateCalleeSaveMethod(InstructionSet insns);
   bool HasCalleeSaveMethod() const;
@@ -221,6 +225,8 @@
 
   ByteArray* abstract_method_error_stub_array_;
 
+  ByteArray* resolution_stub_array_[2];
+
   Method* callee_save_method_;
 
   bool started_;