< prev index next >
src/hotspot/share/utilities/concurrentHashTable.hpp
Print this page
@@ -307,11 +307,11 @@
bool* grow_hint = NULL);
// Insert which handles a number of cases.
template <typename LOOKUP_FUNC, typename VALUE_FUNC, typename CALLBACK_FUNC>
bool internal_insert(Thread* thread, LOOKUP_FUNC& lookup_f, VALUE_FUNC& value_f,
- CALLBACK_FUNC& callback, bool* grow_hint = NULL);
+ CALLBACK_FUNC& callback, bool* grow_hint = NULL, bool* clean_hint = NULL);
// Returns true if an item matching LOOKUP_FUNC is removed.
// Calls DELETE_FUNC before destroying the node.
template <typename LOOKUP_FUNC, typename DELETE_FUNC>
bool internal_remove(Thread* thread, LOOKUP_FUNC& lookup_f,
@@ -394,12 +394,12 @@
// LOOKUP_FUNC is matching methods, VALUE_FUNC creates value to be inserted
// and CALLBACK_FUNC is called with new or old value. Returns true if the
// value already exists.
template <typename LOOKUP_FUNC, typename VALUE_FUNC, typename CALLBACK_FUNC>
bool get_insert_lazy(Thread* thread, LOOKUP_FUNC& lookup_f, VALUE_FUNC& val_f,
- CALLBACK_FUNC& callback_f, bool* grow_hint = NULL) {
- return !internal_insert(thread, lookup_f, val_f, callback_f, grow_hint);
+ CALLBACK_FUNC& callback_f, bool* grow_hint = NULL, bool* clean_hint = NULL) {
+ return !internal_insert(thread, lookup_f, val_f, callback_f, grow_hint, clean_hint);
}
// Same without CALLBACK_FUNC.
template <typename LOOKUP_FUNC, typename VALUE_FUNC>
bool get_insert_lazy(Thread* thread, LOOKUP_FUNC& lookup_f, VALUE_FUNC& val_f,
@@ -434,13 +434,13 @@
// Returns true true if the item was inserted, duplicates are found with
// LOOKUP_FUNC.
template <typename LOOKUP_FUNC>
bool insert(Thread* thread, LOOKUP_FUNC& lookup_f, const VALUE& value,
- bool* grow_hint = NULL) {
+ bool* grow_hint = NULL, bool* clean_hint = NULL) {
LazyValueRetrieve vp(value);
- return internal_insert(thread, lookup_f, vp, noOp, grow_hint);
+ return internal_insert(thread, lookup_f, vp, noOp, grow_hint, clean_hint);
}
// This does a fast unsafe insert and can thus only be used when there is no
// risk for a duplicates and no other threads uses this table.
bool unsafe_insert(const VALUE& value);
< prev index next >