Lines Matching defs:object

186 void ObjectSynchronizer::fast_exit(oop object, BasicLock* lock, TRAPS) {
187 assert(!object->mark()->has_bias_pattern(), "should not see bias pattern here");
194 mark = object->mark() ;
201 assert(((oop)(m->object()))->mark() == mark, "invariant") ;
207 mark = object->mark() ;
209 // If the object is stack-locked by the current thread, try to
213 if ((markOop) Atomic::cmpxchg_ptr (dhw, object->mark_addr(), mark) == mark) {
219 ObjectSynchronizer::inflate(THREAD, object)->exit (true, THREAD) ;
256 // The object header will never be displaced to this lock,
268 void ObjectSynchronizer::slow_exit(oop object, BasicLock* lock, TRAPS) {
269 fast_exit (object, lock, THREAD) ;
346 // If this thread has locked the object, exit the monitor. Note: can't use
487 // The object is being inflated by some other thread.
642 // object should remain ineligible for biased locking
704 assert (hash != 0, "Trivial unexpected object/monitor header usage.");
744 // Be aware of this method could revoke bias of the lock object.
823 // Cannot have assertion since this object may have been
835 assert(block->object() == CHAINMARKER, "must be a block header");
838 oop object = (oop) mid->object();
839 if (object != NULL) {
849 assert(block->object() == CHAINMARKER, "must be a block header");
851 assert(block == NULL || block->object() == CHAINMARKER, "must be a block header");
859 assert(block->object() == CHAINMARKER, "must be a block header");
862 if (mid->object() != NULL) {
886 // -- assigned to an object. The object is inflated and the mark refers
969 guarantee (m->object() == NULL, "invariant") ;
995 guarantee (take->object() == NULL, "invariant") ;
1079 guarantee (m->object() == NULL, "invariant") ;
1138 guarantee (s->object() == NULL, "invariant") ;
1184 assert(mark->monitor()->header()->is_neutral(), "monitor must record a good object header");
1195 ObjectMonitor * ATTR ObjectSynchronizer::inflate (Thread * Self, oop object) {
1202 const markOop mark = object->mark() ;
1209 // * Neutral - aggressively inflate the object.
1216 assert (inf->object() == object, "invariant") ;
1229 ReadStableMark(object) ;
1263 markOop cmp = (markOop) Atomic::cmpxchg_ptr (markOopDesc::INFLATING(), object->mark_addr(), mark) ;
1276 // Consider what happens when a thread unlocks a stack-locked object.
1278 // on-stack basiclock back into the object header. Recall also that the
1279 // header value (hashcode, etc) can reside in (a) the object header, or
1288 // drop the lock (restoring the header from the basiclock to the object)
1290 // would otherwise permit hashCode values to change or "flicker" for an object.
1291 // Critically, while object->mark is 0 mark->displaced_mark_helper() is stable.
1297 // object is in the mark. Furthermore the owner can't complete
1298 // an unlock on the object, either.
1307 // m->OwnerIsThread = 1. Note that a thread can inflate an object
1311 m->set_object(object);
1316 guarantee (object->mark() == markOopDesc::INFLATING(), "invariant") ;
1317 object->release_set_mark(markOopDesc::encode(m));
1324 if (object->is_instance()) {
1326 tty->print_cr("Inflating object " INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s",
1327 (intptr_t) object, (intptr_t) object->mark(),
1328 Klass::cast(object->klass())->external_name());
1337 // pre-locked objectMonitor pointer into the object header. A successful
1338 // CAS inflates the object *and* confers ownership to the inflating thread.
1350 m->set_object(object);
1356 if (Atomic::cmpxchg_ptr (markOopDesc::encode(m), object->mark_addr(), mark) != mark) {
1374 if (object->is_instance()) {
1376 tty->print_cr("Inflating object " INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s",
1377 (intptr_t) object, (intptr_t) object->mark(),
1378 Klass::cast(object->klass())->external_name());
1444 tty->print_cr("Deflating object " INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s",
1453 assert (mid->object() == NULL, "invariant") ;
1455 // Move the object to the working free list defined by FreeHead,FreeTail.
1477 oop obj = (oop) mid->object();
1539 assert(block->object() == CHAINMARKER, "must be a block header");
1543 oop obj = (oop) mid->object();
1546 // The monitor is not associated with an object.
1654 assert(block->object() == CHAINMARKER, "must be a block header");
1657 oop object = (oop) mid->object();
1658 if (object != NULL) {
1674 assert(block->object() == CHAINMARKER, "must be a block header");