TM: inline fast path in checkForGlobalObjectReallocation()

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
7 years ago
4 years ago

People

(Reporter: njn, Assigned: njn)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

(Assignee)

Description

7 years ago
Created attachment 470697 [details] [diff] [review]
patch (against TM 51607:f3e58c264932)

Very simple change, has a surprisingly large effect on Sunspider.  Instruction counts (64-bit linux, 32-bit linux was very similar):

---------------------------------------------------------------
| millions of instructions executed                           |
| total                        | on-trace (may overestimate)  |
---------------------------------------------------------------
|    98.463    97.397 (1.011x) |    21.717    21.717 (------) | 3d-cube
|    81.183    81.137 (1.001x) |    19.257    19.257 (------) | 3d-morph
|   136.445   133.415 (1.023x) |    22.717    22.717 (------) | 3d-raytrace
|    48.945    48.870 (1.002x) |    17.612    17.612 (------) | access-binary-
|   155.754   155.246 (1.003x) |    94.895    94.895 (------) | access-fannkuc
|    33.729    33.332 (1.012x) |    18.326    18.326 (------) | access-nbody
|    49.916    49.893 (------) |    27.666    27.666 (------) | access-nsieve
|     8.361     8.356 (1.001x) |     3.487     3.487 (------) | bitops-3bit-bi
|    40.152    40.144 (------) |    35.101    35.101 (------) | bitops-bits-in
|    16.012    16.011 (------) |    11.404    11.404 (------) | bitops-bitwise
|    62.683    62.670 (------) |    38.601    38.601 (------) | bitops-nsieve-
|    39.128    39.101 (1.001x) |    31.397    31.397 (------) | controlflow-re
|    39.742    38.133 (1.042x) |     5.547     5.547 (------) | crypto-md5
|    23.378    22.951 (1.019x) |     7.400     7.400 (------) | crypto-sha1
|    96.949    96.936 (------) |    12.198    12.198 (------) | date-format-to
|    75.088    74.791 (1.004x) |     9.879     9.879 (------) | date-format-xp
|    59.084    59.059 (------) |    29.130    29.130 (------) | math-cordic
|    24.936    24.828 (1.004x) |     5.831     5.831 (------) | math-partial-s
|    20.952    20.842 (1.005x) |    10.956    10.956 (------) | math-spectral-
|    50.229    50.221 (------) |    34.502    34.502 (------) | regexp-dna
|    31.740    31.705 (1.001x) |    10.212    10.212 (------) | string-base64
|   105.655   105.570 (1.001x) |    23.323    23.323 (------) | string-fasta
|   137.732   137.682 (------) |     9.774     9.774 (------) | string-tagclou
|   164.431   164.188 (1.001x) |     9.283     9.283 (------) | string-unpack-
|    37.385    37.339 (1.001x) |     8.122     8.122 (------) | string-validat
-------
|  1638.085  1629.826 (1.005x) |   518.347   518.347 (------) | all

1.005x should equate to roughly a 2ms improvement for TM on AWFY.  But it was below the noise threshold when I ran timings.
Attachment #470697 - Flags: review?(gal)
This'll help bug 591631 too.
Blocks: 591631
(Assignee)

Updated

7 years ago
Attachment #470697 - Flags: review?(gal) → review?(bzbarsky)
(Assignee)

Comment 2

7 years ago
(In reply to comment #1)
> This'll help bug 591631 too.

Yes, see bug 591631 comment 10.
Comment on attachment 470697 [details] [diff] [review]
patch (against TM 51607:f3e58c264932)

r=me
Attachment #470697 - Flags: review?(bzbarsky) → review+
(Assignee)

Comment 4

7 years ago
http://hg.mozilla.org/tracemonkey/rev/b360dd204dc6
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/b360dd204dc6
Status: ASSIGNED → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.