Implement JNI virtual calls to managed methods, JNI ExceptionDescribe, and JNI MonitorEnter/MonitorExit.

Change-Id: Id21a0a7cdc3fa43a2d3b025a83bf3153eff028d4
diff --git a/src/object.h b/src/object.h
index 3c7ec49..bdba37f 100644
--- a/src/object.h
+++ b/src/object.h
@@ -498,6 +498,10 @@
     return pc;
   }
 
+  size_t GetVtableIndex() const {
+    return method_index_;
+  }
+
  public:  // TODO: private
   // Field order required by test "ValidateFieldOrderOfJavaCppUnionClasses".
   // the class we are a part of
@@ -1105,6 +1109,10 @@
     virtual_methods_->Set(i, f);
   }
 
+  Method* GetMethodByVtableIndex(size_t vtable_index) {
+    return vtable_->Get(vtable_index);
+  }
+
   Method* FindDeclaredVirtualMethod(const StringPiece& name,
                                     const StringPiece& descriptor);