This language is not even semi decidable(i.e not recursively enumerable).So it is undecidable.
We can reduce complement of halting problem(<M,w>,M doesn't halt on w),which is known to be not recursively enumerable to this problem by following way:
Take TM M2 as a halting TM.Suppose it is "TM accepting prime numbers as input".We can easily construct a halting TM for this language.
Now we modify TM 'M' of the non halting problem <M,w> as the following way and use it as TM M1
For all input x we run TM M on w for $\left | x \right |$ steps.If the TM M doesn't halt within $\left | x \right |$ steps then we run a copy of the TM M2(accepting all the prime numbers) as a subroutine.So M1 will accept all those input 'x' which are prime numbers,when TM M doesn't halt on w within $\left | x \right |$ steps.
And if the TM M halts within this $\left | x \right |$ steps then we will run another TM as subroutine which accepts all the numbers which are not prime numbers(This language also has halting TM).
This whole construction is named as TM M1.
So M1 is accepting all prime number set if M doesn't halt on w and accepting non prime numbers(not the complete non prime number set) if M halts on w.
Assume that L = { <M1,M2> | L(M1) = L(M2) } is recursively enumerable language.So it has a TM.Let us give name of the TM as R.
Now take the encoding of TM M1 & M2 which we constructed above and give it to TM R.If R accepts <M1,M2>(yes instance) then TM R informing us that M1 and M2 accepts same language.i.e M doesn't halt on w.Because prime numbers are infinite and if M doesn't halt on w then M1 will accept all the prime numbers.So that indicates M1 is same as M2(M2 also accepting whole prime number set).
Hence we come to a conclusion that if TM R exists then we can decide whether M doesn't halt on x.So clearly TM R can't exist.i.e This language is not even semi decidable