src/share/vm/opto/locknode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/locknode.cpp	Tue Jan 10 17:05:18 2012
--- new/src/share/vm/opto/locknode.cpp	Tue Jan 10 17:05:18 2012

*** 98,108 **** --- 98,108 ---- return false; // Merged regions if (n->is_AbstractLock()) { AbstractLockNode* alock = n->as_AbstractLock(); // Check lock's box since box could be referenced by Lock's debug info. if (alock->box_node() == this) { ! if (alock->obj_node() == obj) { ! if (alock->obj_node()->eqv_uncast(obj)) { if ((unique_lock != NULL) && alock->is_Lock()) { if (lock == NULL) { lock = alock->as_Lock(); has_one_lock = true; } else if (lock != alock->as_Lock()) {
*** 119,129 **** --- 119,129 ---- // Verify that FastLock and Safepoint reference only this lock region. for (uint i = 0; i < this->outcnt(); i++) { Node* n = this->raw_out(i); if (n->is_FastLock()) { FastLockNode* flock = n->as_FastLock(); ! assert((flock->box_node() == this) && (flock->obj_node() == obj),""); ! assert((flock->box_node() == this) && flock->obj_node()->eqv_uncast(obj),""); } if (n->is_SafePoint() && n->as_SafePoint()->jvms()) { SafePointNode* sfn = n->as_SafePoint(); JVMState* youngest_jvms = sfn->jvms(); int max_depth = youngest_jvms->depth();
*** 133,143 **** --- 133,143 ---- // Loop over monitors for (int idx = 0; idx < num_mon; idx++) { Node* obj_node = sfn->monitor_obj(jvms, idx); Node* box_node = sfn->monitor_box(jvms, idx); if (box_node == this) { ! assert(obj_node == obj,""); ! assert(obj_node->eqv_uncast(obj),""); } } } } }

src/share/vm/opto/locknode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File