hotspot/src/share/vm/runtime/reflection.cpp
changeset 40385 a7011a835634
parent 38719 133bf85c3f36
child 40856 3378947a95e6
--- a/hotspot/src/share/vm/runtime/reflection.cpp	Mon Aug 15 13:14:08 2016 -0700
+++ b/hotspot/src/share/vm/runtime/reflection.cpp	Tue Aug 16 09:56:18 2016 -0400
@@ -660,11 +660,13 @@
   }
 
   const Klass* host_class = current_class;
-  while (host_class->is_instance_klass() &&
-         InstanceKlass::cast(host_class)->is_anonymous()) {
-    const Klass* next_host_class = InstanceKlass::cast(host_class)->host_klass();
-    if (next_host_class == NULL)  break;
-    host_class = next_host_class;
+  if (host_class->is_instance_klass() &&
+      InstanceKlass::cast(host_class)->is_anonymous()) {
+    host_class = InstanceKlass::cast(host_class)->host_klass();
+    assert(host_class != NULL, "Anonymous class has null host class");
+    assert(!(host_class->is_instance_klass() &&
+           InstanceKlass::cast(host_class)->is_anonymous()),
+           "host_class should not be anonymous");
   }
   if (host_class == field_class) {
     return true;