pub unsafe extern "C" fn dr_unlink_flush_region(
start: app_pc,
size: usize,
) -> bool_Expand description
Flush all fragments containing any code from the region [\p start, \p start + \p size). Control will not enter a fragment containing code from the region after this returns, but a thread already in such a fragment will finish out the fragment. This includes the current thread if this is called from a clean call that returns to the cache. This routine may only be called during a clean call from the cache, from a nudge event handler, or from a pre- or post-system call event handler. It may not be called from any other event callback. No locks can be held when calling this routine. Returns true if successful.
\note This routine may not be called from any registered event callback other than the nudge event, the pre- or post-system call events, the exception event, or the signal event; clean calls out of the cache may call this routine. \note This routine may not be called while any locks are held that could block a thread processing a registered event callback or cache callout. \note dr_delay_flush_region() has fewer restrictions on use, but is less synchronous. \note Use \p size == 1 to flush fragments containing the instruction at address \p start. A flush of \p size == 0 is not allowed. \note This routine is only available with either the -thread_private or -enable_full_api options. It is not available when -opt_memory is specified.