frontend: change how exit is done

will no longer be done from recompiler callback that could cause
still used data to be freed