Open Bug 875137 Opened 11 years ago Updated 9 months ago

IonMonkey: Implement SETELEM IC for property name indexes.

Categories

(Core :: JavaScript Engine, defect)

defect

Tracking

()

People

(Reporter: nbp, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: [ion:t])

Attachments

(1 file, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #774006 +++

Bug 774006 focus on doing the SetElementIC with an integer key, we should do the same for property names, when we see the same JSString entering the fallback path multiple times, or when the name is an atom.

I made a first attempt as part of Bug 774006, an this show some improvement on GWT linpack benchmark (from 3.25s to 3.15s on my computer).  Still the implementation is not good enough as this will not work with sub-strings such as the one found in pdfjs (where the properties are dependent strings), but it will fill-up the ICs for nothing.
If this patch still need some work to prevent the addition of strings which are uniq each time, and only keep strings which are reused.  And instead of doing a pointer comparisons, we should reuse the compare String function defined in the Macro assembler under the condition that it does not make any fallible call.

The other option would be to add to compare strings the support for comparing linear strings if none of the strategy work before.
Attach non empty patch.
Attachment #753037 - Attachment is obsolete: true
Attachment #753047 - Attachment is patch: true
Attachment #753047 - Attachment mime type: text/x-patch → text/plain
Assignee: general → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: