Bug 15860
| Summary: | add() could use additional speedups | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | ap, emacemac7 |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
| Bug Depends on: | 15837 | ||
| Bug Blocks: | |||
Eric Seidel (no email)
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.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Darin Adler
Oliver did (1) already.
Eric Seidel (no email)
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.
Alexey Proskuryakov
Eric, is this bug still valid?
/me sounds like a broken record, yeah
Eric Seidel (no email)
I don't think JSC code looks anything like this anymore. But I've not hacked on it in over a year now. :(