--- old/src/share/vm/oops/methodCounters.hpp 2017-04-06 20:39:46.000000000 -0700 +++ new/src/share/vm/oops/methodCounters.hpp 2017-04-06 20:39:46.000000000 -0700 @@ -30,7 +30,7 @@ #include "interpreter/invocationCounter.hpp" #include "runtime/arguments.hpp" -class MethodCounters: public MetaspaceObj { +class MethodCounters : public Metadata { friend class VMStructs; friend class JVMCIVMStructs; private: @@ -109,17 +109,16 @@ } public: + virtual bool is_methodCounters() const volatile { return true; } + static MethodCounters* allocate(methodHandle mh, TRAPS); void deallocate_contents(ClassLoaderData* loader_data) {} - DEBUG_ONLY(bool on_stack() { return false; }) // for template AOT_ONLY(Method* method() const { return _method; }) static int size() { return sizeof(MethodCounters) / wordSize; } - bool is_klass() const { return false; } - void clear_counters(); #if defined(COMPILER2) || INCLUDE_JVMCI @@ -251,5 +250,9 @@ static ByteSize backedge_mask_offset() { return byte_offset_of(MethodCounters, _backedge_mask); } + + virtual const char* internal_name() const { return "{method counters}"; } + virtual void print_value_on(outputStream* st) const; + }; #endif //SHARE_VM_OOPS_METHODCOUNTERS_HPP