1.1 --- a/src/share/vm/oops/instanceKlass.cpp Wed Mar 12 15:25:35 2014 +0100 1.2 +++ b/src/share/vm/oops/instanceKlass.cpp Tue Jun 24 16:20:15 2014 +0200 1.3 @@ -35,6 +35,7 @@ 1.4 #include "jvmtifiles/jvmti.h" 1.5 #include "memory/genOopClosures.inline.hpp" 1.6 #include "memory/heapInspection.hpp" 1.7 +#include "memory/iterator.inline.hpp" 1.8 #include "memory/metadataFactory.hpp" 1.9 #include "memory/oopFactory.hpp" 1.10 #include "oops/fieldStreams.hpp" 1.11 @@ -2132,12 +2133,6 @@ 1.12 // closure's do_metadata() method dictates whether the given closure should be 1.13 // applied to the klass ptr in the object header. 1.14 1.15 -#define if_do_metadata_checked(closure, nv_suffix) \ 1.16 - /* Make sure the non-virtual and the virtual versions match. */ \ 1.17 - assert(closure->do_metadata##nv_suffix() == closure->do_metadata(), \ 1.18 - "Inconsistency in do_metadata"); \ 1.19 - if (closure->do_metadata##nv_suffix()) 1.20 - 1.21 #define InstanceKlass_OOP_OOP_ITERATE_DEFN(OopClosureType, nv_suffix) \ 1.22 \ 1.23 int InstanceKlass::oop_oop_iterate##nv_suffix(oop obj, OopClosureType* closure) { \ 1.24 @@ -2161,10 +2156,9 @@ 1.25 int InstanceKlass::oop_oop_iterate_backwards##nv_suffix(oop obj, \ 1.26 OopClosureType* closure) { \ 1.27 SpecializationStats::record_iterate_call##nv_suffix(SpecializationStats::ik); \ 1.28 - /* header */ \ 1.29 - if_do_metadata_checked(closure, nv_suffix) { \ 1.30 - closure->do_klass##nv_suffix(obj->klass()); \ 1.31 - } \ 1.32 + \ 1.33 + assert_should_ignore_metadata(closure, nv_suffix); \ 1.34 + \ 1.35 /* instance variables */ \ 1.36 InstanceKlass_OOP_MAP_REVERSE_ITERATE( \ 1.37 obj, \