Add IndirectReferenceTable and initialize all the instances.
We're not _using_ any of the tables yet (except in tests), but all the
reference tables are now in place.
Change-Id: Ifd3fc114254460b4a1302520f2a4653319b113e5
diff --git a/src/reference_table.h b/src/reference_table.h
index 1181304..2e4d954 100644
--- a/src/reference_table.h
+++ b/src/reference_table.h
@@ -26,11 +26,8 @@
class Object;
-static const Object* const kInvalidIndirectRefObject = reinterpret_cast<Object*>(0xdead4321);
-static const Object* const kClearedJniWeakGlobal = reinterpret_cast<Object*>(0xdead1234);
-
-// Maintain a table of references. Used for internal local references,
-// JNI monitor references, and JNI pinned array references.
+// Maintain a table of references. Used for JNI monitor references and
+// JNI pinned array references.
//
// None of the functions are synchronized.
class ReferenceTable {
@@ -46,6 +43,9 @@
void Dump() const;
private:
+ static void Dump(const std::vector<Object*>& entries);
+ friend class IndirectReferenceTable; // For Dump.
+
std::string name_;
std::vector<Object*> entries_;
size_t max_size_;