< prev index next >

src/hotspot/share/opto/callnode.cpp

Print this page
@@ -1947,12 +1947,12 @@
    if (ctrl_proj != nullptr && ctrl_proj->_con == TypeFunc::Control) {
      Node *n = ctrl_proj->in(0);
      if (n != nullptr && n->is_Unlock()) {
        UnlockNode *unlock = n->as_Unlock();
        BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
-       Node* lock_obj = bs->step_over_gc_barrier(lock->obj_node());
-       Node* unlock_obj = bs->step_over_gc_barrier(unlock->obj_node());
+       Node* lock_obj = lock->obj_node();
+       Node* unlock_obj = unlock->obj_node();
        if (lock_obj->eqv_uncast(unlock_obj) &&
            BoxLockNode::same_slot(lock->box_node(), unlock->box_node()) &&
            !unlock->is_eliminated()) {
          lock_ops.append(unlock);
          return true;

@@ -1995,12 +1995,12 @@
      }
    }
    if (ctrl->is_Lock()) {
      LockNode *lock = ctrl->as_Lock();
      BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
-     Node* lock_obj = bs->step_over_gc_barrier(lock->obj_node());
-     Node* unlock_obj = bs->step_over_gc_barrier(unlock->obj_node());
+     Node* lock_obj = lock->obj_node();
+     Node* unlock_obj = unlock->obj_node();
      if (lock_obj->eqv_uncast(unlock_obj) &&
          BoxLockNode::same_slot(lock->box_node(), unlock->box_node())) {
        lock_result = lock;
      }
    }

@@ -2029,12 +2029,12 @@
          }
        }
        if (lock1_node != nullptr && lock1_node->is_Lock()) {
          LockNode *lock1 = lock1_node->as_Lock();
          BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
-         Node* lock_obj = bs->step_over_gc_barrier(lock->obj_node());
-         Node* lock1_obj = bs->step_over_gc_barrier(lock1->obj_node());
+         Node* lock_obj = lock->obj_node();
+         Node* lock1_obj = lock1->obj_node();
          if (lock_obj->eqv_uncast(lock1_obj) &&
              BoxLockNode::same_slot(lock->box_node(), lock1->box_node()) &&
              !lock1->is_eliminated()) {
            lock_ops.append(lock1);
            return true;

@@ -2290,23 +2290,20 @@
      }
  #endif
      return false;
    }
  
-   BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
-   obj = bs->step_over_gc_barrier(obj);
    // Look for external lock for the same object.
    SafePointNode* sfn = this->as_SafePoint();
    JVMState* youngest_jvms = sfn->jvms();
    int max_depth = youngest_jvms->depth();
    for (int depth = 1; depth <= max_depth; depth++) {
      JVMState* jvms = youngest_jvms->of_depth(depth);
      int num_mon  = jvms->nof_monitors();
      // Loop over monitors
      for (int idx = 0; idx < num_mon; idx++) {
        Node* obj_node = sfn->monitor_obj(jvms, idx);
-       obj_node = bs->step_over_gc_barrier(obj_node);
        BoxLockNode* box_node = sfn->monitor_box(jvms, idx)->as_BoxLock();
        if ((box_node->stack_slot() < stk_slot) && obj_node->eqv_uncast(obj)) {
          box->set_nested();
          return true;
        }
< prev index next >