Complete static field accesses; clear TODO's
This adds the fast path for static field accesses. Miscellaneous
changes include adding dummy helper for filled array allocation,
elimination of redunant arg1/r1 load, deleting TODO's that I'm not
going to do, and altered compiler_test to use System.out.println
instead of System.out.printf.
Change-Id: I560aa6093c98f1d288d64f346c8fd9ab7f180994
diff --git a/src/thread.h b/src/thread.h
index fc523a3..070933b 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -29,6 +29,8 @@
class ThreadList;
class Throwable;
class StackTraceElement;
+class StaticStorageBase;
+
template<class T> class ObjectArray;
template<class T> class PrimitiveArray;
typedef PrimitiveArray<int32_t> IntArray;
@@ -204,6 +206,7 @@
long long (*pLmul)(long long, long long);
long long (*pLdivmod)(long long, long long);
Array* (*pAllocFromCode)(uint32_t, Method*, int32_t);
+ Array* (*pCheckAndAllocFromCode)(uint32_t, Method*, int32_t);
Object* (*pAllocObjectFromCode)(uint32_t, Method*);
uint32_t (*pGet32Static)(uint32_t, const Method*);
void (*pSet32Static)(uint32_t, const Method*, uint32_t);
@@ -221,6 +224,7 @@
Class* (*pInitializeTypeFromCode)(uint32_t, Method*);
void (*pResolveMethodFromCode)(Method*, uint32_t);
void (*pInvokeInterfaceTrampoline)(void*, void*, void*, void*);
+ StaticStorageBase* (*pInitializeStaticStorage)(uint32_t, const Method*);
class StackVisitor {
public: