add() could use additional speedups
Some suggestions brought up in bug 15837 but not implemented, include:
1. Combine both types into a "type mask" using uint32_t typeMask = t1 << 3 | t2; and then check the resulting type mask instead of t1 == StringType && t2 == StringType
2. Speed up addSlowCase by passing in the typeMask and only calling toPrimative when needed
3. Speed up addSlowCase by avoiding calling toString() and using static_cast<StringImp*>(foo)->value() when possible.
Oliver did (1) already.
This will actually be fixed more by bug 15884. I'm going to re-write AddNode into specialized versions to exploit at least #3. #2 becomes irrelevant.
Eric, is this bug still valid?
/me sounds like a broken record, yeah
I don't think JSC code looks anything like this anymore. But I've not hacked on it in over a year now. :(