Closed Bug 557358 Opened 10 years ago Closed 8 years ago

JM: getprop PIC for getters

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla9

People

(Reporter: dmandelin, Assigned: bhackett)

References

(Blocks 3 open bugs)

Details

(Whiteboard: fixed-in-jaegermonkey)

Attachments

(1 file, 1 obsolete file)

Extend the PIC to handle properties with getters.
Depends on: 557357
No longer depends on: 557355
This is being a pretty serious performance drag on the DOM.  Chris, would you be willing to look at this?
Attached patch WIP (obsolete) — Splinter Review
WIP.  Handles property ops on GETPROP, not yet GETELEM (should be able to handle the monomorphic case there), and can't yet rejoin from recompilation triggered by the op.

function foo(f) {
  for (var i = 0; i < 5000000; i++)
    f.caller;
}
foo(foo);

              Before  After
js -m -j -p:  415     188
js -m -n:     630     188
Assignee: general → bhackett1024
Blocks: 683631, 684305
Attached patch patchSplinter Review
Handles GETPROP and CALLPROP, not GETELEM.  GETELEM is structured somewhat differently and bug 683631 did not identify hot GETELEM on DOM properties with getter hooks.
Attachment #558197 - Attachment is obsolete: true
Attachment #558355 - Flags: review?(dvander)
Attachment #558355 - Flags: review?(dvander) → review+
Depends on: 686418
https://hg.mozilla.org/mozilla-central/rev/c02868b913d5
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Depends on: 688731
Target Milestone: --- → mozilla9
You need to log in before you can comment on or make changes to this bug.