TM: Trace JSOP_SETNAME when preceding BINDNAME produces the global object




9 years ago
9 years ago


(Reporter: jorendorff, Assigned: jorendorff)


Other Branch

Firefox Tracking Flags

(Not tracked)


(Whiteboard: fixed-in-tracemonkey, URL)


(1 attachment)



9 years ago
This is what makes us not trace this benchmark:

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?

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 better now?

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.

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.
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?

Comment 6 and comment 7 are on the unmodified benchmark.  If you want the deinsanified numbers, look at

Depends on: 557841

Comment 11

9 years ago
Last Resolved: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.