summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2017-02-04 03:44:33 (GMT)
committerJason Evans <jasone@canonware.com>2017-02-09 02:50:03 (GMT)
commitcdc240d5019435fcb1a319fdcff6d4dc76b20143 (patch)
tree09c62eacb3eaa606303002a3697315afc85877b5 /include
parentc511a44e99a2d92893d028854eabd2cd4b2c1fe1 (diff)
downloadjemalloc-cdc240d5019435fcb1a319fdcff6d4dc76b20143.zip
jemalloc-cdc240d5019435fcb1a319fdcff6d4dc76b20143.tar.gz
jemalloc-cdc240d5019435fcb1a319fdcff6d4dc76b20143.tar.bz2
Make non-essential inline rtree functions static functions.
Diffstat (limited to 'include')
-rw-r--r--include/jemalloc/internal/private_symbols.txt8
-rw-r--r--include/jemalloc/internal/rtree_externs.h12
-rw-r--r--include/jemalloc/internal/rtree_inlines.h107
3 files changed, 16 insertions, 111 deletions
diff --git a/include/jemalloc/internal/private_symbols.txt b/include/jemalloc/internal/private_symbols.txt
index a60634c..3f29d3f 100644
--- a/include/jemalloc/internal/private_symbols.txt
+++ b/include/jemalloc/internal/private_symbols.txt
@@ -415,9 +415,6 @@ prof_thread_name_get
prof_thread_name_set
psz2ind
psz2u
-rtree_child_read
-rtree_child_read_hard
-rtree_child_tryread
rtree_clear
rtree_delete
rtree_elm_acquire
@@ -435,13 +432,8 @@ rtree_leafkey
rtree_new
rtree_node_alloc
rtree_node_dalloc
-rtree_node_valid
rtree_read
-rtree_start_level
rtree_subkey
-rtree_subtree_read
-rtree_subtree_read_hard
-rtree_subtree_tryread
rtree_write
s2u
s2u_compute
diff --git a/include/jemalloc/internal/rtree_externs.h b/include/jemalloc/internal/rtree_externs.h
index 7fc68fc..f4f2feb 100644
--- a/include/jemalloc/internal/rtree_externs.h
+++ b/include/jemalloc/internal/rtree_externs.h
@@ -7,19 +7,15 @@ typedef rtree_elm_t *(rtree_node_alloc_t)(tsdn_t *, rtree_t *, size_t);
extern rtree_node_alloc_t *rtree_node_alloc;
typedef void (rtree_node_dalloc_t)(tsdn_t *, rtree_t *, rtree_elm_t *);
extern rtree_node_dalloc_t *rtree_node_dalloc;
-void rtree_delete(tsdn_t *tsdn, rtree_t *rtree);
+void rtree_delete(tsdn_t *tsdn, rtree_t *rtree);
#endif
-rtree_elm_t *rtree_subtree_read_hard(tsdn_t *tsdn, rtree_t *rtree,
- unsigned level);
-rtree_elm_t *rtree_child_read_hard(tsdn_t *tsdn, rtree_t *rtree,
- rtree_elm_t *elm, unsigned level);
rtree_elm_t *rtree_elm_lookup_hard(tsdn_t *tsdn, rtree_t *rtree,
rtree_ctx_t *rtree_ctx, uintptr_t key, bool dependent, bool init_missing);
-void rtree_elm_witness_acquire(tsdn_t *tsdn, const rtree_t *rtree,
+void rtree_elm_witness_acquire(tsdn_t *tsdn, const rtree_t *rtree,
uintptr_t key, const rtree_elm_t *elm);
-void rtree_elm_witness_access(tsdn_t *tsdn, const rtree_t *rtree,
+void rtree_elm_witness_access(tsdn_t *tsdn, const rtree_t *rtree,
const rtree_elm_t *elm);
-void rtree_elm_witness_release(tsdn_t *tsdn, const rtree_t *rtree,
+void rtree_elm_witness_release(tsdn_t *tsdn, const rtree_t *rtree,
const rtree_elm_t *elm);
#endif /* JEMALLOC_INTERNAL_RTREE_EXTERNS_H */
diff --git a/include/jemalloc/internal/rtree_inlines.h b/include/jemalloc/internal/rtree_inlines.h
index 372b746..86aa8cd 100644
--- a/include/jemalloc/internal/rtree_inlines.h
+++ b/include/jemalloc/internal/rtree_inlines.h
@@ -2,53 +2,28 @@
#define JEMALLOC_INTERNAL_RTREE_INLINES_H
#ifndef JEMALLOC_ENABLE_INLINE
-unsigned rtree_start_level(const rtree_t *rtree, uintptr_t key);
uintptr_t rtree_leafkey(rtree_t *rtree, uintptr_t key);
-uintptr_t rtree_subkey(rtree_t *rtree, uintptr_t key, unsigned level);
-
-bool rtree_node_valid(rtree_elm_t *node);
-rtree_elm_t *rtree_child_tryread(rtree_elm_t *elm, bool dependent);
-rtree_elm_t *rtree_child_read(tsdn_t *tsdn, rtree_t *rtree, rtree_elm_t *elm,
- unsigned level, bool dependent);
-extent_t *rtree_elm_read(rtree_elm_t *elm, bool dependent);
-void rtree_elm_write(rtree_elm_t *elm, const extent_t *extent);
-rtree_elm_t *rtree_subtree_tryread(rtree_t *rtree, unsigned level,
- bool dependent);
-rtree_elm_t *rtree_subtree_read(tsdn_t *tsdn, rtree_t *rtree,
- unsigned level, bool dependent);
-rtree_elm_t *rtree_elm_lookup(tsdn_t *tsdn, rtree_t *rtree,
+uintptr_t rtree_subkey(rtree_t *rtree, uintptr_t key, unsigned level);
+extent_t *rtree_elm_read(rtree_elm_t *elm, bool dependent);
+void rtree_elm_write(rtree_elm_t *elm, const extent_t *extent);
+rtree_elm_t *rtree_elm_lookup(tsdn_t *tsdn, rtree_t *rtree,
rtree_ctx_t *rtree_ctx, uintptr_t key, bool dependent, bool init_missing);
-
-bool rtree_write(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
+bool rtree_write(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
uintptr_t key, const extent_t *extent);
-extent_t *rtree_read(tsdn_t *tsdn, rtree_t *rtree,
- rtree_ctx_t *rtree_ctx, uintptr_t key, bool dependent);
-rtree_elm_t *rtree_elm_acquire(tsdn_t *tsdn, rtree_t *rtree,
+extent_t *rtree_read(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
+ uintptr_t key, bool dependent);
+rtree_elm_t *rtree_elm_acquire(tsdn_t *tsdn, rtree_t *rtree,
rtree_ctx_t *rtree_ctx, uintptr_t key, bool dependent, bool init_missing);
-extent_t *rtree_elm_read_acquired(tsdn_t *tsdn, const rtree_t *rtree,
+extent_t *rtree_elm_read_acquired(tsdn_t *tsdn, const rtree_t *rtree,
rtree_elm_t *elm);
-void rtree_elm_write_acquired(tsdn_t *tsdn, const rtree_t *rtree,
+void rtree_elm_write_acquired(tsdn_t *tsdn, const rtree_t *rtree,
rtree_elm_t *elm, const extent_t *extent);
-void rtree_elm_release(tsdn_t *tsdn, const rtree_t *rtree, rtree_elm_t *elm);
-void rtree_clear(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
+void rtree_elm_release(tsdn_t *tsdn, const rtree_t *rtree, rtree_elm_t *elm);
+void rtree_clear(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
uintptr_t key);
#endif
#if (defined(JEMALLOC_ENABLE_INLINE) || defined(JEMALLOC_RTREE_C_))
-JEMALLOC_ALWAYS_INLINE unsigned
-rtree_start_level(const rtree_t *rtree, uintptr_t key) {
- unsigned start_level;
-
- if (unlikely(key == 0)) {
- return rtree->height - 1;
- }
-
- start_level = rtree->start_level[(lg_floor(key) + 1) >>
- LG_RTREE_BITS_PER_LEVEL];
- assert(start_level < rtree->height);
- return start_level;
-}
-
JEMALLOC_ALWAYS_INLINE uintptr_t
rtree_leafkey(rtree_t *rtree, uintptr_t key) {
unsigned ptrbits = ZU(1) << (LG_SIZEOF_PTR+3);
@@ -69,37 +44,6 @@ rtree_subkey(rtree_t *rtree, uintptr_t key, unsigned level) {
return ((key >> shiftbits) & mask);
}
-JEMALLOC_ALWAYS_INLINE bool
-rtree_node_valid(rtree_elm_t *node) {
- return ((uintptr_t)node != (uintptr_t)0);
-}
-
-JEMALLOC_ALWAYS_INLINE rtree_elm_t *
-rtree_child_tryread(rtree_elm_t *elm, bool dependent) {
- rtree_elm_t *child;
-
- /* Double-checked read (first read may be stale). */
- child = elm->child;
- if (!dependent && !rtree_node_valid(child)) {
- child = (rtree_elm_t *)atomic_read_p(&elm->pun);
- }
- assert(!dependent || child != NULL);
- return child;
-}
-
-JEMALLOC_ALWAYS_INLINE rtree_elm_t *
-rtree_child_read(tsdn_t *tsdn, rtree_t *rtree, rtree_elm_t *elm, unsigned level,
- bool dependent) {
- rtree_elm_t *child;
-
- child = rtree_child_tryread(elm, dependent);
- if (!dependent && unlikely(!rtree_node_valid(child))) {
- child = rtree_child_read_hard(tsdn, rtree, elm, level);
- }
- assert(!dependent || child != NULL);
- return child;
-}
-
JEMALLOC_ALWAYS_INLINE extent_t *
rtree_elm_read(rtree_elm_t *elm, bool dependent) {
extent_t *extent;
@@ -133,33 +77,6 @@ rtree_elm_write(rtree_elm_t *elm, const extent_t *extent) {
}
JEMALLOC_ALWAYS_INLINE rtree_elm_t *
-rtree_subtree_tryread(rtree_t *rtree, unsigned level, bool dependent) {
- rtree_elm_t *subtree;
-
- /* Double-checked read (first read may be stale). */
- subtree = rtree->levels[level].subtree;
- if (!dependent && unlikely(!rtree_node_valid(subtree))) {
- subtree = (rtree_elm_t *)atomic_read_p(
- &rtree->levels[level].subtree_pun);
- }
- assert(!dependent || subtree != NULL);
- return subtree;
-}
-
-JEMALLOC_ALWAYS_INLINE rtree_elm_t *
-rtree_subtree_read(tsdn_t *tsdn, rtree_t *rtree, unsigned level,
- bool dependent) {
- rtree_elm_t *subtree;
-
- subtree = rtree_subtree_tryread(rtree, level, dependent);
- if (!dependent && unlikely(!rtree_node_valid(subtree))) {
- subtree = rtree_subtree_read_hard(tsdn, rtree, level);
- }
- assert(!dependent || subtree != NULL);
- return subtree;
-}
-
-JEMALLOC_ALWAYS_INLINE rtree_elm_t *
rtree_elm_lookup(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
uintptr_t key, bool dependent, bool init_missing) {
assert(!dependent || !init_missing);