• Maged Michael's avatar
    Rewrite from experimental, use of deterministic schedule, improvements · d42832d2
    Maged Michael authored
    Summary:
    For history of the experimental version see folly/experimental/hazptr
    
    Added:
    - Support for deterministic schedule testing.
    
    Fixes:
    - Eliminates performance pathological cases for hazptr_array and hazptr_local construction when a thread cache can only partially satisfy the needed number of hazptr_holder-s.
    - try_protect sets ptr to the value read from src on success. Otherwise, ptr may be used by the client code when it is invalid.
    
    Code improvements including:
    - Using separate files for different components.
    - Eliminated all macro definitions except one.
    - Simplified thread local structures.
    
    Reviewed By: davidtgoldblatt
    
    Differential Revision: D7565357
    
    fbshipit-source-id: fb00fad7395148e66d6231a374b5b717574ed270
    d42832d2
HazptrRec.h 1.95 KB