Does this Turing Machine M decide the language of polynomials?
The problem with this algorithm is that it never terminates when the polynomial has no integer roots. Its semantics are:


If the input polynomial is in $L$, the machine halts and answers YES.
If the input polynomial is not in $L$, the machine never halts.


The semantics we are after are a bit different:


If the input polynomial is in $L$, the machine halts and answers YES.
If the input polynomial is not in $L$, the machine halts and answers NO.