hotspot/src/share/vm/oops/constMethodOop.hpp
changeset 1894 5c343868d071
parent 1 489c9b5090e2
child 2105 347008ce7984
equal deleted inserted replaced
1893:c82e388e17c5 1894:5c343868d071
   102   // -1=too many args to fix, must parse the slow way.
   102   // -1=too many args to fix, must parse the slow way.
   103   // The real initial value is special to account for nonatomicity of 64 bit
   103   // The real initial value is special to account for nonatomicity of 64 bit
   104   // loads and stores.  This value may updated and read without a lock by
   104   // loads and stores.  This value may updated and read without a lock by
   105   // multiple threads, so is volatile.
   105   // multiple threads, so is volatile.
   106   volatile uint64_t _fingerprint;
   106   volatile uint64_t _fingerprint;
       
   107   volatile bool     _is_conc_safe; // if true, safe for concurrent GC processing
   107 
   108 
   108 public:
   109 public:
   109   oop* oop_block_beg() const { return adr_method(); }
   110   oop* oop_block_beg() const { return adr_method(); }
   110   oop* oop_block_end() const { return adr_exception_table() + 1; }
   111   oop* oop_block_end() const { return adr_exception_table() + 1; }
   111 
   112 
   271 
   272 
   272   // Garbage collection support
   273   // Garbage collection support
   273   oop*  adr_method() const             { return (oop*)&_method;          }
   274   oop*  adr_method() const             { return (oop*)&_method;          }
   274   oop*  adr_stackmap_data() const      { return (oop*)&_stackmap_data;   }
   275   oop*  adr_stackmap_data() const      { return (oop*)&_stackmap_data;   }
   275   oop*  adr_exception_table() const    { return (oop*)&_exception_table; }
   276   oop*  adr_exception_table() const    { return (oop*)&_exception_table; }
       
   277   bool is_conc_safe() { return _is_conc_safe; }
       
   278   void set_is_conc_safe(bool v) { _is_conc_safe = v; }
   276 
   279 
   277   // Unique id for the method
   280   // Unique id for the method
   278   static const u2 MAX_IDNUM;
   281   static const u2 MAX_IDNUM;
   279   static const u2 UNSET_IDNUM;
   282   static const u2 UNSET_IDNUM;
   280   u2 method_idnum() const                        { return _method_idnum; }
   283   u2 method_idnum() const                        { return _method_idnum; }