Last Comment Bug 557358 - JM: getprop PIC for getters
: JM: getprop PIC for getters
Status: RESOLVED FIXED
fixed-in-jaegermonkey
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: Trunk
: All All
: -- normal with 1 vote (vote)
: mozilla9
Assigned To: Brian Hackett (:bhackett)
:
Mentors:
Depends on: 557357 686418 688731
Blocks: domperf 614163 684305 557351 613548 683631
  Show dependency treegraph
 
Reported: 2010-04-05 15:38 PDT by David Mandelin [:dmandelin]
Modified: 2011-11-21 17:05 PST (History)
13 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
WIP (39.65 KB, patch)
2011-09-04 15:34 PDT, Brian Hackett (:bhackett)
no flags Details | Diff | Review
patch (72.97 KB, patch)
2011-09-05 15:54 PDT, Brian Hackett (:bhackett)
dvander: review+
Details | Diff | Review

Description David Mandelin [:dmandelin] 2010-04-05 15:38:35 PDT
Extend the PIC to handle properties with getters.
Comment 1 Boris Zbarsky [:bz] (Out June 25-July 6) 2011-04-06 21:49:55 PDT
This is being a pretty serious performance drag on the DOM.  Chris, would you be willing to look at this?
Comment 2 Brian Hackett (:bhackett) 2011-09-04 15:34:29 PDT
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
Comment 3 Brian Hackett (:bhackett) 2011-09-05 15:54:46 PDT
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.
Comment 4 Brian Hackett (:bhackett) 2011-09-06 22:54:43 PDT
http://hg.mozilla.org/projects/jaegermonkey/rev/c2726640029f
Comment 5 Brian Hackett (:bhackett) 2011-09-22 14:13:56 PDT
https://hg.mozilla.org/mozilla-central/rev/c02868b913d5

Note You need to log in before you can comment on or make changes to this bug.