hotspot/src/share/vm/memory/barrierSet.inline.hpp
Print this page
rev 611 : Merge
*** 1,10 ****
#ifdef USE_PRAGMA_IDENT_HDR
#pragma ident "@(#)barrierSet.inline.hpp 1.12 07/05/05 17:05:43 JVM"
#endif
/*
! * Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,10 ----
#ifdef USE_PRAGMA_IDENT_HDR
#pragma ident "@(#)barrierSet.inline.hpp 1.12 07/05/05 17:05:43 JVM"
#endif
/*
! * Copyright 2001-2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 27,37 ****
// Inline functions of BarrierSet, which de-virtualize certain
// performance-critical calls when when the barrier is the most common
// card-table kind.
! void BarrierSet::write_ref_field(oop* field, oop new_val) {
if (kind() == CardTableModRef) {
((CardTableModRefBS*)this)->inline_write_ref_field(field, new_val);
} else {
write_ref_field_work(field, new_val);
}
--- 27,45 ----
// Inline functions of BarrierSet, which de-virtualize certain
// performance-critical calls when when the barrier is the most common
// card-table kind.
! void BarrierSet::write_ref_field_pre(void* field, oop new_val) {
! if (kind() == CardTableModRef) {
! ((CardTableModRefBS*)this)->inline_write_ref_field_pre(field, new_val);
! } else {
! write_ref_field_pre_work(field, new_val);
! }
! }
!
! void BarrierSet::write_ref_field(void* field, oop new_val) {
if (kind() == CardTableModRef) {
((CardTableModRefBS*)this)->inline_write_ref_field(field, new_val);
} else {
write_ref_field_work(field, new_val);
}