Closed Bug 1198178 Opened 9 years ago Closed 7 years ago

Object.freeze et al should not sparsify

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1283334

People

(Reporter: jandem, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

The "call site object" used for tagged template strings is an array that's frozen. This is unfortunate for us because we give such arrays sparse elements and our JIT paths/ICs can't really deal with that.

As http://kpdecker.github.io/six-speed/ (template string tag) shows, this is at least a 50x slowdown. Also for Babel/Traceur/Typescript code because they also freeze this array.

Handling freeze() for dense elements seems similar to non-writable array length and COW arrays. Hopefully COW arrays made this easier because it should tell us most places that will need to be fixed.
Keywords: perf
See Also: → 1283334
So how is this different from bug 1283334?
(In reply to Tom Schuster [:evilpie] from comment #1)
> So how is this different from bug 1283334?

That bug didn't fix this for Object.seal, but yeah I suppose we can mark this as dupe since the Object.freeze template string thing was fixed.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.