8010017: lambda: reflection get(Declared)Methods support for default methods.
authoracorn
Wed, 20 Mar 2013 11:43:56 -0400
changeset 16431 14c66a8678fe
parent 16429 c5b14a727c72
child 16432 1c1a3b0a15df
8010017: lambda: reflection get(Declared)Methods support for default methods. Summary: Don't expose vm generated overpass (bridges to default methods). Reviewed-by: dholmes, fparain
hotspot/src/share/vm/prims/jvm.cpp
--- a/hotspot/src/share/vm/prims/jvm.cpp	Wed Mar 20 08:17:55 2013 +0100
+++ b/hotspot/src/share/vm/prims/jvm.cpp	Wed Mar 20 11:43:56 2013 -0400
@@ -1722,7 +1722,7 @@
   int i;
   for (i = 0; i < methods_length; i++) {
     methodHandle method(THREAD, methods->at(i));
-    if (!method->is_initializer()) {
+    if (!method->is_initializer() && !method->is_overpass()) {
       if (!publicOnly || method->is_public()) {
         ++num_methods;
       }
@@ -1736,7 +1736,7 @@
   int out_idx = 0;
   for (i = 0; i < methods_length; i++) {
     methodHandle method(THREAD, methods->at(i));
-    if (!method->is_initializer()) {
+    if (!method->is_initializer() && !method->is_overpass()) {
       if (!publicOnly || method->is_public()) {
         oop m = Reflection::new_method(method, UseNewReflection, false, CHECK_NULL);
         result->obj_at_put(out_idx, m);