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/jni_internal.h b/src/jni_internal.h
index 9cf8d57..50e3925 100644
--- a/src/jni_internal.h
+++ b/src/jni_internal.h
@@ -6,6 +6,7 @@
 #include "jni.h"
 
 #include "assembler.h"
+#include "indirect_reference_table.h"
 #include "macros.h"
 #include "reference_table.h"
 
@@ -26,6 +27,12 @@
 
   // Used to hold references to pinned primitive arrays.
   ReferenceTable pin_table;
+
+  // JNI global references.
+  IndirectReferenceTable globals;
+
+  // JNI weak global references.
+  IndirectReferenceTable weak_globals;
 };
 
 struct JNIEnvExt {
@@ -42,7 +49,10 @@
   bool critical;
 
   // Entered JNI monitors, for bulk exit on thread detach.
-  ReferenceTable  monitor_table;
+  ReferenceTable  monitors;
+
+  // JNI local references.
+  IndirectReferenceTable locals;
 };
 
 }  // namespace art