< prev index next >

src/hotspot/share/runtime/biasedLocking.hpp

Print this page

        

*** 166,182 **** static int* slow_path_entry_count_addr(); enum Condition { NOT_BIASED = 1, BIAS_REVOKED = 2, ! BIAS_REVOKED_AND_REBIASED = 3, ! NOT_REVOKED = 4 }; private: ! static Condition single_revoke_at_safepoint(oop obj, bool allow_rebias, bool is_bulk, JavaThread* requester, JavaThread** biaser); ! static Condition bulk_revoke_or_rebias_at_safepoint(oop o, bool bulk_rebias, bool attempt_rebias, JavaThread* requester); static Condition single_revoke_with_handshake(Handle obj, JavaThread *requester, JavaThread *biaser); static void walk_stack_and_revoke(oop obj, JavaThread* biased_locker); public: // This initialization routine should only be called once and --- 166,181 ---- static int* slow_path_entry_count_addr(); enum Condition { NOT_BIASED = 1, BIAS_REVOKED = 2, ! NOT_REVOKED = 3 }; private: ! static void single_revoke_at_safepoint(oop obj, bool is_bulk, JavaThread* requester, JavaThread** biaser); ! static void bulk_revoke_at_safepoint(oop o, bool bulk_rebias, JavaThread* requester); static Condition single_revoke_with_handshake(Handle obj, JavaThread *requester, JavaThread *biaser); static void walk_stack_and_revoke(oop obj, JavaThread* biased_locker); public: // This initialization routine should only be called once and
*** 187,202 **** // This provides a global switch for leaving biased locking disabled // for the first part of a run and enabling it later static bool enabled(); // This should be called by JavaThreads to revoke the bias of an object ! static Condition revoke_and_rebias(Handle obj, bool attempt_rebias, TRAPS); - // These do not allow rebiasing; they are used by deoptimization to - // ensure that monitors on the stack can be migrated - static void revoke(GrowableArray<Handle>* objs, JavaThread *biaser); static void revoke_at_safepoint(Handle obj); static void revoke_at_safepoint(GrowableArray<Handle>* objs); static void print_counters() { _counters.print(); } static BiasedLockingCounters* counters() { return &_counters; } --- 186,202 ---- // This provides a global switch for leaving biased locking disabled // for the first part of a run and enabling it later static bool enabled(); // This should be called by JavaThreads to revoke the bias of an object ! static void revoke(Handle obj, TRAPS); static void revoke_at_safepoint(Handle obj); + + // These are used by deoptimization to ensure that monitors on the stack + // can be migrated + static void revoke(GrowableArray<Handle>* objs, JavaThread *biaser); static void revoke_at_safepoint(GrowableArray<Handle>* objs); static void print_counters() { _counters.print(); } static BiasedLockingCounters* counters() { return &_counters; }
< prev index next >