src/hotspot/share/jfr/leakprofiler/utilities/saveRestore.hpp
changeset 57777 90ead0febf56
parent 53244 9807daeb47c4
child 57811 947252a54b98
equal deleted inserted replaced
57774:21dccfac0ec5 57777:90ead0febf56
    76 * It will then install an "identifier" mark oop to be used for
    76 * It will then install an "identifier" mark oop to be used for
    77 * identification purposes in the search for reference chains.
    77 * identification purposes in the search for reference chains.
    78 * The destructor will restore the original mark oop.
    78 * The destructor will restore the original mark oop.
    79 */
    79 */
    80 
    80 
    81 class MarkOopContext {
    81 class MarkWordContext {
    82  private:
    82  private:
    83   oop _obj;
    83   oop _obj;
    84   markOop _mark_oop;
    84   markWord _mark_word;
    85   void swap(MarkOopContext& rhs);
    85   void swap(MarkWordContext& rhs);
    86  public:
    86  public:
    87   MarkOopContext();
    87   MarkWordContext();
    88   MarkOopContext(const oop obj);
    88   MarkWordContext(const oop obj);
    89   MarkOopContext(const MarkOopContext& rhs);
    89   MarkWordContext(const MarkWordContext& rhs);
    90   void operator=(MarkOopContext rhs);
    90   void operator=(MarkWordContext rhs);
    91   ~MarkOopContext();
    91   ~MarkWordContext();
    92 };
    92 };
    93 
    93 
    94 typedef SaveRestore<oop, ContextStore<oop, MarkOopContext> > SaveRestoreMarkOops;
    94 typedef SaveRestore<oop, ContextStore<oop, MarkWordContext> > SaveRestoreMarkWords;
    95 
    95 
    96 class ClassLoaderData;
    96 class ClassLoaderData;
    97 
    97 
    98 class CLDClaimContext {
    98 class CLDClaimContext {
    99  private:
    99  private: