comparison src/share/vm/oops/methodOop.hpp @ 2226:c5a923563727

6912621: iCMS: Error: assert(_markBitMap.isMarked(addr + 1),"Missing Printezis bit?") Summary: Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause. Reviewed-by: jmasa, johnc
author ysr
date Mon, 07 Feb 2011 22:19:57 -0800
parents 3582bf76420e
children f77b3ec064b0
comparison
equal deleted inserted replaced
2225:c798c277ddd1 2226:c5a923563727
142 nmethod* volatile _code; // Points to the corresponding piece of native code 142 nmethod* volatile _code; // Points to the corresponding piece of native code
143 volatile address _from_interpreted_entry; // Cache of _code ? _adapter->i2c_entry() : _i2i_entry 143 volatile address _from_interpreted_entry; // Cache of _code ? _adapter->i2c_entry() : _i2i_entry
144 144
145 public: 145 public:
146 146
147 static const bool IsUnsafeConc = false;
148 static const bool IsSafeConc = true;
149
150 // accessors for instance variables 147 // accessors for instance variables
151 constMethodOop constMethod() const { return _constMethod; } 148 constMethodOop constMethod() const { return _constMethod; }
152 void set_constMethod(constMethodOop xconst) { oop_store_without_check((oop*)&_constMethod, (oop)xconst); } 149 void set_constMethod(constMethodOop xconst) { oop_store_without_check((oop*)&_constMethod, (oop)xconst); }
153 150
154 151