JM: getprop PIC for getters

RESOLVED FIXED in mozilla9

Status

()

Core
JavaScript Engine
RESOLVED FIXED
7 years ago
6 years ago

People

(Reporter: dmandelin, Assigned: bhackett)

Tracking

(Blocks: 3 bugs)

Trunk
mozilla9
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-jaegermonkey)

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

7 years ago
Extend the PIC to handle properties with getters.
(Reporter)

Updated

7 years ago
Depends on: 557357
No longer depends on: 557355
Blocks: 613548
Blocks: 558145
This is being a pretty serious performance drag on the DOM.  Chris, would you be willing to look at this?
Blocks: 614163
(Assignee)

Comment 2

6 years ago
Created attachment 558197 [details] [diff] [review]
WIP

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
(Assignee)

Updated

6 years ago
Blocks: 683631, 684305
(Assignee)

Comment 3

6 years ago
Created attachment 558355 [details] [diff] [review]
patch

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+
(Assignee)

Comment 4

6 years ago
http://hg.mozilla.org/projects/jaegermonkey/rev/c2726640029f
Whiteboard: fixed-in-jaegermonkey

Updated

6 years ago
Depends on: 686418
(Assignee)

Comment 5

6 years ago
https://hg.mozilla.org/mozilla-central/rev/c02868b913d5
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED

Updated

6 years ago
Depends on: 688731
(Assignee)

Updated

6 years ago
Target Milestone: --- → mozilla9
You need to log in before you can comment on or make changes to this bug.