The JSR 292 Lookup API makes native calls to obtain MemberNames which underly direct method handles. To simplify MemberName lookup and reduce duplicate creation of MemberName, we will move the MemberName table created by JDK-8008511 into the Java heap, so that Lookup queries can refer to that.
See comments on JDK-8005232 for a related ReflectionData structure. This structure would be extended to include the content of the MemberNameTable. Because a SoftReference is used to make the ReflectionData structure droppable, we would place the new data fields in the SoftReference (making it into a ClassData subclass) rather adding them to ReflectionData.
Also, certain other fields in Class (such as those holding annotations) could be moved at the same time into the ClassData, for a net reduction of application footprint.