TM: Trace JSOP_SETNAME when preceding BINDNAME produces the global object

RESOLVED FIXED

Status

()

RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: jorendorff, Assigned: jorendorff)

Tracking

Other Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey, URL)

Attachments

(1 attachment)

(Assignee)

Description

9 years ago
This is what makes us not trace this benchmark:
  http://herberthamaral.com/metaprog/

I can just delete the paranoia in TR::record_JSOP_SETNAME() and no tests fail; but I suspect a correctness bug lurks there.
Which paranoia did you delete?
(Assignee)

Comment 2

9 years ago
Created attachment 437296 [details] [diff] [review]
v1 - delete assorted paranoia

OK, I've convinced myself it's correct.
Assignee: general → jorendorff
Attachment #437296 - Flags: review?(dmandelin)
Attachment #437296 - Flags: review?(dmandelin) → review+
Thanks for evacuating the guts of TR::record_JSOP_SETNAME -- big improvement.

What's the win due to tracing http://herberthamaral.com/metaprog/ better now?

/be
Oh, did I not put those numbers anywhere?  The summary is that we're about 7x faster than the next-closest contender (which is jsc).  About 40x faster than Chrome.  All this on Mac.
At least assuming the effects are the same as adding var statements everywhere.
(Assignee)

Comment 6

9 years ago
Before: 295 280 274 291 352 339
After:   12   9   8  10  23  12

These are run times in milliseconds, so lower is better.

http://hg.mozilla.org/tracemonkey/rev/9acb5bcc134f
Whiteboard: fixed-in-tracemonkey
Fwiw, over here I get ("before" is including my propcache patches that helped this testcase; Jason's did not):

Before:   122 115 113 171 215 148
After:     13   8   5   6  19   9
Safari 4:  90  92  89  88 120 104
Chrome:   443 440 437 450 533 493
(In reply to comment #5)
> At least assuming the effects are the same as adding var statements everywhere.

Sorry, you are testing a modified version of the code at that URL ("deinsanified" to quote you on IRC?) on all browsers? How do we do on the unmodified benchmark now with these latest fixes?

/be
Comment 6 and comment 7 are on the unmodified benchmark.  If you want the deinsanified numbers, look at http://herberthamaral.com/metaprog/index2.html
W00t!

/be
Depends on: 557841

Comment 11

9 years ago
http://hg.mozilla.org/mozilla-central/rev/9acb5bcc134f
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.