< 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 >