| 1948 | } |
| 1949 | |
| 1950 | bool |
| 1951 | extent_decommit_wrapper(tsdn_t *tsdn, arena_t *arena, |
| 1952 | extent_hooks_t **r_extent_hooks, extent_t *extent, size_t offset, |
| 1953 | size_t length) { |
| 1954 | witness_assert_depth_to_rank(tsdn_witness_tsdp_get(tsdn), |
| 1955 | WITNESS_RANK_CORE, 0); |
| 1956 | |
| 1957 | extent_hooks_assure_initialized(arena, r_extent_hooks); |
| 1958 | |
| 1959 | if (*r_extent_hooks != &extent_hooks_default) { |
| 1960 | extent_hook_pre_reentrancy(tsdn, arena); |
| 1961 | } |
| 1962 | bool err = ((*r_extent_hooks)->decommit == NULL || |
| 1963 | (*r_extent_hooks)->decommit(*r_extent_hooks, |
| 1964 | extent_base_get(extent), extent_size_get(extent), offset, length, |
| 1965 | arena_ind_get(arena))); |
| 1966 | if (*r_extent_hooks != &extent_hooks_default) { |
| 1967 | extent_hook_post_reentrancy(tsdn); |
| 1968 | } |
| 1969 | extent_committed_set(extent, extent_committed_get(extent) && err); |
| 1970 | return err; |
| 1971 | } |
| 1972 | |
| 1973 | #ifdef PAGES_CAN_PURGE_LAZY |
| 1974 | static bool |
no test coverage detected