< prev index next >

src/hotspot/share/runtime/sharedRuntime.cpp

Print this page

        

*** 2089,2104 **** oop obj(_obj); if (PrintBiasedLockingStatistics) { Atomic::inc(BiasedLocking::slow_path_entry_count_addr()); } Handle h_obj(THREAD, obj); ! if (UseBiasedLocking) { ! // Retry fast entry if bias is revoked to avoid unnecessary inflation ! ObjectSynchronizer::fast_enter(h_obj, lock, true, CHECK); ! } else { ! ObjectSynchronizer::slow_enter(h_obj, lock, CHECK); ! } assert(!HAS_PENDING_EXCEPTION, "Should have no exception here"); JRT_BLOCK_END JRT_END // Handles the uncommon cases of monitor unlocking in compiled code --- 2089,2099 ---- oop obj(_obj); if (PrintBiasedLockingStatistics) { Atomic::inc(BiasedLocking::slow_path_entry_count_addr()); } Handle h_obj(THREAD, obj); ! ObjectSynchronizer::enter(h_obj, lock, CHECK); assert(!HAS_PENDING_EXCEPTION, "Should have no exception here"); JRT_BLOCK_END JRT_END // Handles the uncommon cases of monitor unlocking in compiled code
*** 2125,2135 **** #endif /* MIGHT_HAVE_PENDING */ { // Exit must be non-blocking, and therefore no exceptions can be thrown. EXCEPTION_MARK; ! ObjectSynchronizer::slow_exit(obj, lock, THREAD); } #ifdef MIGHT_HAVE_PENDING if (pending_excep != NULL) { THREAD->set_pending_exception(pending_excep, pending_file, pending_line); --- 2120,2130 ---- #endif /* MIGHT_HAVE_PENDING */ { // Exit must be non-blocking, and therefore no exceptions can be thrown. EXCEPTION_MARK; ! ObjectSynchronizer::exit(obj, lock, THREAD); } #ifdef MIGHT_HAVE_PENDING if (pending_excep != NULL) { THREAD->set_pending_exception(pending_excep, pending_file, pending_line);
< prev index next >