• Chris Keeline's avatar
    Skip shared_ptr in futures waitImpl · 44a17b1f
    Chris Keeline authored
    Summary:
    wait() is guaranteed to succeed and not throw for either Baton type, so
    using a reference here is safe. When the future is completed on another thread,
    the shared_ptr causes cache contention.
    
    ```
    Thread 1            Thread 2
    make_shared/inc
    inc
    ...
                        dec ref
    dec ref/free
    ```
    
    Reviewed By: yfeldblum
    
    Differential Revision: D17077672
    
    fbshipit-source-id: a6010ed159353decefbd5c51f4347370b16f7f60
    44a17b1f
Future-inl.h 77.7 KB