Invoke <clinit> where necessary.
This lets us run Long.toString and friends for integral types, though
we'll need a libcore hack to avoid ThreadLocals for the time being.
Change-Id: I04bba5914f1b7d00e4917922e65b9c27302a59ff
diff --git a/src/object.h b/src/object.h
index 9b3bf88..8504612 100644
--- a/src/object.h
+++ b/src/object.h
@@ -602,7 +602,7 @@
class Method : public AccessibleObject {
public:
// An function that invokes a method with an array of its arguments.
- typedef void InvokeStub(Method* method,
+ typedef void InvokeStub(const Method* method,
Object* obj,
Thread* thread,
byte* args,
@@ -833,6 +833,8 @@
// Size in bytes of the return value
size_t ReturnSize() const;
+ void Invoke(Thread* self, Object* receiver, byte* args, JValue* result) const;
+
const ByteArray* GetCodeArray() const {
return GetFieldPtr<const ByteArray*>(OFFSET_OF_OBJECT_MEMBER(Method, code_array_), false);
}