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