< prev index next >
src/share/vm/utilities/accessFlags.hpp
Print this page
rev 6875 : 8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse
Reviewed-by: mgerdin, coleenp, bdelsart
*** 168,177 ****
--- 168,178 ----
void set_queued_for_compilation() { atomic_set_bits(JVM_ACC_QUEUED); }
void clear_queued_for_compilation() { atomic_clear_bits(JVM_ACC_QUEUED); }
// Atomic update of flags
void atomic_set_bits(jint bits);
+ bool atomic_set_one_bit(jint bit);
void atomic_clear_bits(jint bits);
private:
friend class Method;
friend class Klass;
*** 228,243 ****
void set_field_has_generic_signature()
{
atomic_set_bits(JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE);
}
! void set_on_stack(const bool value)
{
if (value) {
! atomic_set_bits(JVM_ACC_ON_STACK);
} else {
atomic_clear_bits(JVM_ACC_ON_STACK);
}
}
// Conversion
jshort as_short() const { return (jshort)_flags; }
jint as_int() const { return _flags; }
--- 229,245 ----
void set_field_has_generic_signature()
{
atomic_set_bits(JVM_ACC_FIELD_HAS_GENERIC_SIGNATURE);
}
! bool set_on_stack(const bool value)
{
if (value) {
! return atomic_set_one_bit(JVM_ACC_ON_STACK);
} else {
atomic_clear_bits(JVM_ACC_ON_STACK);
+ return true; // Ignored
}
}
// Conversion
jshort as_short() const { return (jshort)_flags; }
jint as_int() const { return _flags; }
< prev index next >