diff src/share/vm/c1/c1_GraphBuilder.cpp @ 5998:49036505ab5f

7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass. Summary: Change implementor to embedded instanceKlass field. Reviewed-by: sspitsyn, minqi, coleenp
author jiangli
date Thu, 29 Mar 2012 22:18:56 -0400
parents e5f73be4c7f1
children 0105f367a14c
line wrap: on
line diff
--- a/src/share/vm/c1/c1_GraphBuilder.cpp	Sun Mar 25 18:08:52 2012 -0400
+++ b/src/share/vm/c1/c1_GraphBuilder.cpp	Thu Mar 29 22:18:56 2012 -0400
@@ -1694,7 +1694,9 @@
       // they are roughly equivalent to Object.
       ciInstanceKlass* singleton = NULL;
       if (target->holder()->nof_implementors() == 1) {
-        singleton = target->holder()->implementor(0);
+        singleton = target->holder()->implementor();
+        assert(singleton != NULL && singleton != target->holder(),
+               "just checking");
 
         assert(holder->is_interface(), "invokeinterface to non interface?");
         ciInstanceKlass* decl_interface = (ciInstanceKlass*)holder;