Yeah, it might be worse at allocating registers, but on the other hand it can often free registers as well.
Static compilers just don't have the runtime information to take advantage of. Some maybe, by using profile guided optimization. JIT can always have profile guided, and adapt just for that particular case.