Penetrating Shields: A Systematic Analysis of Memory Corruption Mitigations in the Spectre Era