src/share/vm/code/nmethod.hpp

changeset 1544
032260830071
parent 1435
a1423fe86a18
child 1570
e66fd840cb6b
     1.1 --- a/src/share/vm/code/nmethod.hpp	Wed Dec 16 12:48:04 2009 +0100
     1.2 +++ b/src/share/vm/code/nmethod.hpp	Wed Dec 16 22:15:12 2009 -0800
     1.3 @@ -252,7 +252,9 @@
     1.4    void* operator new(size_t size, int nmethod_size);
     1.5  
     1.6    const char* reloc_string_for(u_char* begin, u_char* end);
     1.7 -  void make_not_entrant_or_zombie(int state);
     1.8 +  // Returns true if this thread changed the state of the nmethod or
     1.9 +  // false if another thread performed the transition.
    1.10 +  bool make_not_entrant_or_zombie(int state);
    1.11    void inc_decompile_count();
    1.12  
    1.13    // used to check that writes to nmFlags are done consistently.
    1.14 @@ -375,10 +377,12 @@
    1.15    bool  is_zombie() const                         { return flags.state == zombie; }
    1.16    bool  is_unloaded() const                       { return flags.state == unloaded;   }
    1.17  
    1.18 -  // Make the nmethod non entrant. The nmethod will continue to be alive.
    1.19 -  // It is used when an uncommon trap happens.
    1.20 -  void  make_not_entrant()                        { make_not_entrant_or_zombie(not_entrant); }
    1.21 -  void  make_zombie()                             { make_not_entrant_or_zombie(zombie); }
    1.22 +  // Make the nmethod non entrant. The nmethod will continue to be
    1.23 +  // alive.  It is used when an uncommon trap happens.  Returns true
    1.24 +  // if this thread changed the state of the nmethod or false if
    1.25 +  // another thread performed the transition.
    1.26 +  bool  make_not_entrant()                        { return make_not_entrant_or_zombie(not_entrant); }
    1.27 +  bool  make_zombie()                             { return make_not_entrant_or_zombie(zombie); }
    1.28  
    1.29    // used by jvmti to track if the unload event has been reported
    1.30    bool  unload_reported()                         { return _unload_reported; }
    1.31 @@ -563,7 +567,7 @@
    1.32    // Logging
    1.33    void log_identity(xmlStream* log) const;
    1.34    void log_new_nmethod() const;
    1.35 -  void log_state_change(int state) const;
    1.36 +  void log_state_change() const;
    1.37  
    1.38    // Prints a comment for one native instruction (reloc info, pc desc)
    1.39    void print_code_comment_on(outputStream* st, int column, address begin, address end);

mercurial