src/hotspot/share/runtime/biasedLocking.cpp
changeset 55514 03468b206457
parent 55499 1887e16a5657
child 55537 4309fedaf7dc
equal deleted inserted replaced
55505:0bf9477626ef 55514:03468b206457
   546       JavaThread* biased_locker = NULL;
   546       JavaThread* biased_locker = NULL;
   547       _status_code = revoke_bias((*_obj)(), false, false, _requesting_thread, &biased_locker);
   547       _status_code = revoke_bias((*_obj)(), false, false, _requesting_thread, &biased_locker);
   548       if (biased_locker != NULL) {
   548       if (biased_locker != NULL) {
   549         _biased_locker_id = JFR_THREAD_ID(biased_locker);
   549         _biased_locker_id = JFR_THREAD_ID(biased_locker);
   550       }
   550       }
   551       _safepoint_id = SafepointSynchronize::safepoint_counter();
   551       _safepoint_id = SafepointSynchronize::safepoint_id();
   552       clean_up_cached_monitor_info();
   552       clean_up_cached_monitor_info();
   553       return;
   553       return;
   554     } else {
   554     } else {
   555       log_info(biasedlocking)("Revoking bias with global safepoint:");
   555       log_info(biasedlocking)("Revoking bias with global safepoint:");
   556       BiasedLocking::revoke_at_safepoint(_objs);
   556       BiasedLocking::revoke_at_safepoint(_objs);
   587   virtual VMOp_Type type() const { return VMOp_BulkRevokeBias; }
   587   virtual VMOp_Type type() const { return VMOp_BulkRevokeBias; }
   588   virtual bool doit_prologue()   { return true; }
   588   virtual bool doit_prologue()   { return true; }
   589 
   589 
   590   virtual void doit() {
   590   virtual void doit() {
   591     _status_code = bulk_revoke_or_rebias_at_safepoint((*_obj)(), _bulk_rebias, _attempt_rebias_of_object, _requesting_thread);
   591     _status_code = bulk_revoke_or_rebias_at_safepoint((*_obj)(), _bulk_rebias, _attempt_rebias_of_object, _requesting_thread);
   592     _safepoint_id = SafepointSynchronize::safepoint_counter();
   592     _safepoint_id = SafepointSynchronize::safepoint_id();
   593     clean_up_cached_monitor_info();
   593     clean_up_cached_monitor_info();
   594   }
   594   }
   595 
   595 
   596   bool is_bulk_rebias() const {
   596   bool is_bulk_rebias() const {
   597     return _bulk_rebias;
   597     return _bulk_rebias;