runtime: rewrite panic/defer code from C to Go