diff src/share/vm/code/dependencies.cpp @ 17504:709018897c81

8031695: CHA ignores default methods during analysis leading to incorrect code generation Reviewed-by: jrose, acorn, hseigel, lfoltan
author vlivanov
date Thu, 23 Jan 2014 01:23:23 +0400
parents ac9cb1d5a202
children 89152779163c 51e1bb81df86
line wrap: on
line diff
--- a/src/share/vm/code/dependencies.cpp	Fri Jan 17 20:30:35 2014 -0800
+++ b/src/share/vm/code/dependencies.cpp	Thu Jan 23 01:23:23 2014 +0400
@@ -1161,11 +1161,9 @@
 
   // We could also return false if m does not yet appear to be
   // executed, if the VM version supports this distinction also.
+  // Default methods are considered "concrete" as well.
   return !m->is_abstract() &&
-         !InstanceKlass::cast(m->method_holder())->is_interface();
-         // TODO: investigate whether default methods should be
-         // considered as "concrete" in this situation.  For now they
-         // are not.
+         !m->is_overpass(); // error functions aren't concrete
 }