We know we pay a fair price for string handling across the XPConnect boundary. We also know that the Mozilla string classes are a major barrier to entry for new hackers. The goals of a string overhaul for Mozilla 2 are to:
- share a common string class across the DOM/XPCOM and the JS engine
- reduce the complexity of manipulating string
In addition, we will need to make a decision about character encodings in Tamarin (currently UTF8, from Spidermonkey UCS2)... this is an unknown apart from the XPCOM string work.
This is still in the phase of collecting data and experimentation. See bug 416411.
Risks and Assumptions
This is a big rewrite, and it is not easy to create a rewrite which is correct in all cases as well as still produces readable code.