Re-align LifoSem
Summary:
Previously it generated a warning if compiled with -Wover-align because its alignment exceeded alignof(std::max_align_t).
This also meant that heap-allocated LifoSem objects were not guaranteed to be on their own cache-line, potentially degrading performance.
This change adds padding before the important part of the LifoSem (to match the existing after-padding) and reduces its alignment requirement.
Reviewed By: yfeldblum
Differential Revision:
D5380700
fbshipit-source-id:
7fdd593a58a2e0c7b03df11152ee4bb66f57e717