diff --git a/src/hotspot/share/utilities/rbTree.hpp b/src/hotspot/share/utilities/rbTree.hpp index a2f84ac237355..25dd0efc0aaca 100644 --- a/src/hotspot/share/utilities/rbTree.hpp +++ b/src/hotspot/share/utilities/rbTree.hpp @@ -323,11 +323,13 @@ class AbstractRBTree { // Inserts the given node into the tree. void insert(const K& key, NodeType* node, const NodeType* hint_node = nullptr) { + assert(node != nullptr, "must be"); Cursor node_cursor = cursor(key, hint_node); insert_at_cursor(node, node_cursor); } void remove(NodeType* node) { + assert(node != nullptr, "must be"); Cursor node_cursor = cursor(node); remove_at_cursor(node_cursor); } @@ -472,6 +474,8 @@ class RBTree : public AbstractRBTree, COMPARATOR> { using BaseType::prev; void replace_at_cursor(RBNode* new_node, const Cursor& node_cursor) { + assert(new_node != nullptr, "must be"); + assert(node_cursor.valid() && node_cursor.found(), "must be"); RBNode* old_node = node_cursor.node(); BaseType::replace_at_cursor(new_node, node_cursor); free_node(old_node); @@ -494,6 +498,7 @@ class RBTree : public AbstractRBTree, COMPARATOR> { } void free_node(RBNode* node) { + assert(node != nullptr, "must be"); node->_value.~V(); _allocator.free(node); } diff --git a/src/hotspot/share/utilities/rbTree.inline.hpp b/src/hotspot/share/utilities/rbTree.inline.hpp index 6e01f92d12af4..fd59ec76ecd9a 100644 --- a/src/hotspot/share/utilities/rbTree.inline.hpp +++ b/src/hotspot/share/utilities/rbTree.inline.hpp @@ -233,6 +233,7 @@ AbstractRBTree::cursor(const K& key, const NodeType* hi template inline void AbstractRBTree::insert_at_cursor(NodeType* node, const Cursor& node_cursor) { + assert(node != nullptr, "must be"); assert(node_cursor.valid() && !node_cursor.found(), "must be"); _num_nodes++; @@ -543,6 +544,7 @@ AbstractRBTree::prev(const Cursor& node_cursor) const { template inline void AbstractRBTree::replace_at_cursor(NodeType* new_node, const Cursor& node_cursor) { + assert(new_node != nullptr, "must be"); assert(node_cursor.valid() && node_cursor.found(), "must be"); NodeType* old_node = node_cursor.node(); if (old_node == new_node) {