Branch regulation: Low-overhead protection from code reuse attacks