[compiler][amd64] Use new features from peep.c
Place the code for calling check_threads_etc before the function instead of
inside it, to have one branch less in tight loops.
This saves about 4% in the nested loops test, at the cost of 12 bytes extra
code-space for functions that do not actually contain loops (for functions
that contain loops 3 bytes is saved intead)
One alternative would have to place the code after the function, if it does
contain a loop, then update the relative jumps to point to the code.
That is left for later.