Closed Bug 1038093 Opened 5 years ago Closed 5 years ago

Latin1 strings: not creating Latin1 strings in some cases

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
The attached patch:

* Makes IndexToString and Int32ToString create Latin1 strings if Latin1 strings are enabled. Calling NewFatInlineString instead of NewGCFatInlineString also means we will create a non-fat inline string if possible, instead of always using a fat inline string.

* Makes fun.toString() return a Latin1 string. This didn't work because ScriptSource::substring called NewStringCopyNDontDeflate, but only the asm.js caller wants this behavior so I added a separate substringDontDeflate for that.

* Adds a jit-test to check that a large number of JS operations that return new strings create Latin1 strings. There are already tests for concatenation/substring etc so I didn't add those.
Attachment #8455238 - Flags: review?(luke)
Attachment #8455238 - Flags: review?(luke) → review+
https://hg.mozilla.org/mozilla-central/rev/058b21302b63
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in before you can comment on or make changes to this bug.