Enable virtual invokes, use new alloc, misc
Make use of the new alloc routines. Extended the filter to allow
simple virtual invoke test to get through. Fixed a register allocation
problem.
Note that the invoke sequeces are still the verbose & long path.
Will start using the new CodeandDirectMethods mechanism in upcoming CL
Change-Id: I8ff79f6392ff3da14d7679dcf65029ae48f18eba
diff --git a/src/thread.h b/src/thread.h
index 215da71..6e145fd 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -198,13 +198,14 @@
int (*pIdiv)(int, int);
long long (*pLmul)(long long, long long);
long long (*pLdivmod)(long long, long long);
+ Array* (*pAllocFromCode)(uint32_t, Method*, int32_t);
+ Object* (*pNewInstanceFromCode)(uint32_t, Method*);
bool (*pArtUnlockObject)(struct Thread*, struct Object*);
bool (*pArtCanPutArrayElementNoThrow)(const struct ClassObject*,
const struct ClassObject*);
int (*pArtInstanceofNonTrivialNoThrow) (const struct ClassObject*,
const struct ClassObject*);
int (*pArtInstanceofNonTrivial) (const struct ClassObject*, const struct ClassObject*);
- Array* (*pArtAllocArrayByClass)(Class*, int32_t);
struct Method* (*pArtFindInterfaceMethodInCache)(ClassObject*, uint32_t,
const struct Method*, struct DvmDex*);
bool (*pArtUnlockObjectNoThrow)(struct Thread*, struct Object*);