Mercurial > hg > graal-compiler
diff src/share/vm/oops/methodData.hpp @ 14860:8762b6b8fbb6
fix scanning of method data for redefined methods
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Thu, 27 Mar 2014 13:11:17 -0700 |
parents | 12eaf1a47a90 |
children | 4ca6dc0799b6 |
line wrap: on
line diff
--- a/src/share/vm/oops/methodData.hpp Thu Mar 27 18:35:55 2014 +0100 +++ b/src/share/vm/oops/methodData.hpp Thu Mar 27 13:11:17 2014 -0700 @@ -257,6 +257,9 @@ // GC support void clean_weak_klass_links(BoolObjectClosure* cl); + + // Redefinition support + void clean_weak_method_links(); }; @@ -514,6 +517,9 @@ // GC support virtual void clean_weak_klass_links(BoolObjectClosure* is_alive_closure) {} + // Redefinition support + virtual void clean_weak_method_links() {} + // CI translation: ProfileData can represent both MethodDataOop data // as well as CIMethodData data. This function is provided for translating // an oop in a ProfileData to the ci equivalent. Generally speaking, @@ -1429,6 +1435,9 @@ // GC support virtual void clean_weak_klass_links(BoolObjectClosure* is_alive_closure); + + // Redefinition support + virtual void clean_weak_method_links(); #endif #ifndef PRODUCT @@ -2294,6 +2303,10 @@ void clean_extra_data_helper(DataLayout* dp, int shift, bool reset = false); void verify_extra_data_clean(BoolObjectClosure* is_alive); + // Redefinition support + void clean_weak_method_extra_data(); + void verify_weak_method_extra_data_clean(); + public: static int header_size() { return sizeof(MethodData)/wordSize; @@ -2572,6 +2585,8 @@ static bool profile_return_jsr292_only(); void clean_method_data(BoolObjectClosure* is_alive); + + void clean_weak_method_links(); }; #endif // SHARE_VM_OOPS_METHODDATAOOP_HPP