diff -r 10621b0e8e38 -r 4b469f5f4bf2 src/hotspot/share/oops/methodData.hpp --- a/src/hotspot/share/oops/methodData.hpp Wed Jan 09 15:53:56 2019 +0100 +++ b/src/hotspot/share/oops/methodData.hpp Thu Jan 10 18:10:15 2019 +0100 @@ -1943,7 +1943,11 @@ // adjusted in the event of a change in control flow. // -class CleanExtraDataClosure; +class CleanExtraDataClosure : public StackObj { +public: + virtual bool is_live(Method* m) = 0; +}; + class MethodData : public Metadata { friend class VMStructs; @@ -2116,11 +2120,12 @@ static bool profile_parameters_jsr292_only(); static bool profile_all_parameters(); - void clean_extra_data(CleanExtraDataClosure* cl); void clean_extra_data_helper(DataLayout* dp, int shift, bool reset = false); void verify_extra_data_clean(CleanExtraDataClosure* cl); public: + void clean_extra_data(CleanExtraDataClosure* cl); + static int header_size() { return sizeof(MethodData)/wordSize; }