Efficiently securing systems from code reuse attacks