src/hotspot/share/ci/ciObjectFactory.cpp
changeset 53278 4b469f5f4bf2
parent 52195 f08c1d7a5c53
child 54150 5529640c5f67
--- a/src/hotspot/share/ci/ciObjectFactory.cpp	Wed Jan 09 15:53:56 2019 +0100
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp	Thu Jan 10 18:10:15 2019 +0100
@@ -266,6 +266,24 @@
 }
 
 // ------------------------------------------------------------------
+// ciObjectFactory::cached_metadata
+//
+// Get the ciMetadata corresponding to some Metadata. If the ciMetadata has
+// already been created, it is returned. Otherwise, null is returned.
+ciMetadata* ciObjectFactory::cached_metadata(Metadata* key) {
+  ASSERT_IN_VM;
+
+  bool found = false;
+  int index = _ci_metadata->find_sorted<Metadata*, ciObjectFactory::metadata_compare>(key, found);
+
+  if (!found) {
+    return NULL;
+  }
+  return _ci_metadata->at(index)->as_metadata();
+}
+
+
+// ------------------------------------------------------------------
 // ciObjectFactory::get_metadata
 //
 // Get the ciMetadata corresponding to some Metadata. If the ciMetadata has