mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8038636: speculative traps break when classes are redefined
Remove speculative traps that point to methods that are redefined Reviewed-by: kvn, twisti
This commit is contained in:
parent
d7b640b3ce
commit
7da7a9c72a
5 changed files with 260 additions and 11 deletions
|
@ -251,6 +251,9 @@ public:
|
|||
|
||||
// GC support
|
||||
void clean_weak_klass_links(BoolObjectClosure* cl);
|
||||
|
||||
// Redefinition support
|
||||
void clean_weak_method_links();
|
||||
};
|
||||
|
||||
|
||||
|
@ -506,6 +509,9 @@ public:
|
|||
// 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,
|
||||
|
@ -1989,6 +1995,7 @@ public:
|
|||
//
|
||||
|
||||
CC_INTERP_ONLY(class BytecodeInterpreter;)
|
||||
class CleanExtraDataClosure;
|
||||
|
||||
class MethodData : public Metadata {
|
||||
friend class VMStructs;
|
||||
|
@ -2146,9 +2153,9 @@ private:
|
|||
static bool profile_parameters_jsr292_only();
|
||||
static bool profile_all_parameters();
|
||||
|
||||
void clean_extra_data(BoolObjectClosure* is_alive);
|
||||
void clean_extra_data(CleanExtraDataClosure* cl);
|
||||
void clean_extra_data_helper(DataLayout* dp, int shift, bool reset = false);
|
||||
void verify_extra_data_clean(BoolObjectClosure* is_alive);
|
||||
void verify_extra_data_clean(CleanExtraDataClosure* cl);
|
||||
|
||||
public:
|
||||
static int header_size() {
|
||||
|
@ -2440,6 +2447,8 @@ public:
|
|||
static bool profile_return_jsr292_only();
|
||||
|
||||
void clean_method_data(BoolObjectClosure* is_alive);
|
||||
|
||||
void clean_weak_method_links();
|
||||
};
|
||||
|
||||
#endif // SHARE_VM_OOPS_METHODDATAOOP_HPP
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue