equal
deleted
inserted
replaced
1262 // Reset mark word to unbiased prototype. |
1262 // Reset mark word to unbiased prototype. |
1263 markWord unbiased_prototype = markWord::prototype().set_age(mark.age()); |
1263 markWord unbiased_prototype = markWord::prototype().set_age(mark.age()); |
1264 obj->set_mark(unbiased_prototype); |
1264 obj->set_mark(unbiased_prototype); |
1265 } |
1265 } |
1266 BasicLock* lock = mon_info->lock(); |
1266 BasicLock* lock = mon_info->lock(); |
1267 ObjectSynchronizer::slow_enter(obj, lock, thread); |
1267 ObjectSynchronizer::enter(obj, lock, thread); |
1268 assert(mon_info->owner()->is_locked(), "object must be locked now"); |
1268 assert(mon_info->owner()->is_locked(), "object must be locked now"); |
1269 } |
1269 } |
1270 } |
1270 } |
1271 } |
1271 } |
1272 } |
1272 } |
1372 MonitorChunk* monitors = array->element(i)->monitors(); |
1372 MonitorChunk* monitors = array->element(i)->monitors(); |
1373 if (monitors != NULL) { |
1373 if (monitors != NULL) { |
1374 for (int j = 0; j < monitors->number_of_monitors(); j++) { |
1374 for (int j = 0; j < monitors->number_of_monitors(); j++) { |
1375 BasicObjectLock* src = monitors->at(j); |
1375 BasicObjectLock* src = monitors->at(j); |
1376 if (src->obj() != NULL) { |
1376 if (src->obj() != NULL) { |
1377 ObjectSynchronizer::fast_exit(src->obj(), src->lock(), thread); |
1377 ObjectSynchronizer::exit(src->obj(), src->lock(), thread); |
1378 } |
1378 } |
1379 } |
1379 } |
1380 array->element(i)->free_monitors(thread); |
1380 array->element(i)->free_monitors(thread); |
1381 #ifdef ASSERT |
1381 #ifdef ASSERT |
1382 array->element(i)->set_removed_monitors(); |
1382 array->element(i)->set_removed_monitors(); |