backport computed gotos (#4753)
9 files changed