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_;