Check-cast, instance-of, misc fixes
Support for check-cast and instanceof (largely untested). Added a bunch of
helper stubs, a debugging option to show the method name if we try to branch
to an uncompiled method, new tests and a missing call to reset the compiler's
arena storage.
Change-Id: I933ad1fbdbca110f92c9201cae2353bf4862a8ac
diff --git a/src/thread.h b/src/thread.h
index a527deb..b255d6b 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -218,9 +218,10 @@
Object* (*pGetObjStatic)(uint32_t, const Method*);
void (*pSetObjStatic)(uint32_t, const Method*, Object*);
void (*pCanPutArrayElementFromCode)(const Class*, const Class*);
- int (*pInstanceofNonTrivialFromCode) (const Class*, const Class*);
+ bool (*pInstanceofNonTrivialFromCode) (const Object*, const Class*);
+ void (*pCheckCastFromCode) (const Class*, const Class*);
Method* (*pFindInterfaceMethodInCache)(Class*, uint32_t, const Method*, struct DvmDex*);
- bool (*pUnlockObjectFromCode)(Thread*, Object*);
+ void (*pUnlockObjectFromCode)(Thread*, Object*);
void (*pLockObjectFromCode)(Thread*, Object*);
void (*pThrowException)(Thread*, Throwable*);
void (*pHandleFillArrayDataFromCode)(Array*, const uint16_t*);