Spun off from bug 599214 comment 14: > What about doing this for strict object equality too? V8's earley-boyer calls > stubs::StrictEq about 1 million times. It's called 500.000 times with both lhs > and rhs objects. We have fast paths for the cases where one operand is known to be undefined, null, or boolean, and where both are ints. But there are many dynamic instances of stricteq/strictne on string/string and object/object in earley-boyer, for which we now take a slow call. I think we want: - If one operand is of known type, generate a fast path for that type. Support at least undefined, null, boolean, int, string, and object. - Otherwise, do it like ==. I think the IC for that starts with an int/int fast path and generates more as needed.
typeof x == typeof y && x == y <=> x === y Hope this helps, /be
I suspect this was subsequently done, but anyhow JM was removed.