On 2/7/2014, 4:55 PM, Nicholas Nethercote wrote:
And as I said before, choosing to not atomize based on length is a bad idea: if 99% of the strings you deal with in a particular place are atomized, but 1% are not, then you can't use pointer equality.
Forgot to reply to this earlier. I don't think this is the case currently anyway. We can't assume in any case that a string flowing through the code is either atomized or not. TI doesn't track this information statically, AFAIK, so we have to dynamically guard for it.
We can't detect situations with non-constant strings where all strings are guaranteed to be atomized. Either the jitcode will do a pointer compare and let it silently fail if one of the strings is not an atom, or it'll guard on non-atomized strings and take a slow sidepath to atomize them before proceeding.
If not all strings flowing through a site are atomized, the cost of that should be proportional to the rate of non-atomized strings showing up.
Kannan _______________________________________________ dev-tech-js-engine-internals mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

