src/share/vm/oops/instanceKlass.cpp

changeset 6982
4c1b88a53c74
parent 6975
27188ae8bbbb
child 6992
2c6ef90f030a
     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,                                                                        \

mercurial