equal
deleted
inserted
replaced
20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 */ |
22 */ |
23 |
23 |
24 #include "gc/z/zLock.hpp" |
24 #include "gc/z/zLock.hpp" |
|
25 #include "memory/allocation.hpp" |
25 #include "oops/oopsHierarchy.hpp" |
26 #include "oops/oopsHierarchy.hpp" |
26 #include "utilities/globalDefinitions.hpp" |
27 #include "utilities/globalDefinitions.hpp" |
27 |
28 |
28 #ifndef SHARE_GC_Z_ZNMETHODDATA_HPP |
29 #ifndef SHARE_GC_Z_ZNMETHODDATA_HPP |
29 #define SHARE_GC_Z_ZNMETHODDATA_HPP |
30 #define SHARE_GC_Z_ZNMETHODDATA_HPP |
49 oop** immediates_end() const; |
50 oop** immediates_end() const; |
50 |
51 |
51 bool has_non_immediates() const; |
52 bool has_non_immediates() const; |
52 }; |
53 }; |
53 |
54 |
54 class ZNMethodData { |
55 class ZNMethodData : public CHeapObj<mtGC> { |
55 private: |
56 private: |
56 ZReentrantLock _lock; |
57 ZReentrantLock _lock; |
57 ZNMethodDataOops* volatile _oops; |
58 ZNMethodDataOops* volatile _oops; |
58 |
59 |
59 ZNMethodData(nmethod* nm); |
|
60 |
|
61 public: |
60 public: |
62 static ZNMethodData* create(nmethod* nm); |
61 ZNMethodData(); |
63 static void destroy(ZNMethodData* data); |
62 ~ZNMethodData(); |
64 |
63 |
65 ZReentrantLock* lock(); |
64 ZReentrantLock* lock(); |
66 |
65 |
67 ZNMethodDataOops* oops() const; |
66 ZNMethodDataOops* oops() const; |
68 ZNMethodDataOops* swap_oops(ZNMethodDataOops* oops); |
67 ZNMethodDataOops* swap_oops(ZNMethodDataOops* oops); |