Better codegen for translated match.

Use a labeled block instead of a labeled do..while(false) loop.