Mercurial > hg > graal-compiler
diff src/share/vm/oops/methodData.hpp @ 14704:b51e29501f30
Merged with jdk9/dev/hotspot changeset 9486a41de3b7
author | twisti |
---|---|
date | Tue, 18 Mar 2014 20:19:10 -0700 |
parents | 12eaf1a47a90 53ed0f89f44e |
children | 92aa6797d639 |
line wrap: on
line diff
--- a/src/share/vm/oops/methodData.hpp Thu Mar 20 22:30:26 2014 +0100 +++ b/src/share/vm/oops/methodData.hpp Tue Mar 18 20:19:10 2014 -0700 @@ -190,12 +190,6 @@ void set_header(intptr_t value) { _header._bits = value; } - bool atomic_set_header(intptr_t value) { - if (Atomic::cmpxchg_ptr(value, (volatile intptr_t*)&_header._bits, 0) == 0) { - return true; - } - return false; - } intptr_t header() { return _header._bits; } @@ -2143,10 +2137,12 @@ // Cached hint for bci_to_dp and bci_to_data int _hint_di; + Mutex _extra_data_lock; + MethodData(methodHandle method, int size, TRAPS); public: static MethodData* allocate(ClassLoaderData* loader_data, methodHandle method, TRAPS); - MethodData() {}; // For ciMethodData + MethodData() : _extra_data_lock(Monitor::leaf, "MDO extra data lock") {}; // For ciMethodData bool is_methodData() const volatile { return true; } void initialize(bool for_reprofile = false); @@ -2265,7 +2261,7 @@ // What is the index of the first data entry? int first_di() const { return 0; } - ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp); + ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp, bool concurrent); // Find or create an extra ProfileData: ProfileData* bci_to_extra_data(int bci, Method* m, bool create_if_missing);