Bug 144524 - Detune DFG::PhantomInsertionPhase to insert Phantoms maximally late so as to avoid querying bytecode liveness
Summary: Detune DFG::PhantomInsertionPhase to insert Phantoms maximally late so as to ...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-02 10:21 PDT by Filip Pizlo
Modified: 2015-05-02 15:12 PDT (History)
0 users

See Also:


Attachments
work in progress (8.27 KB, patch)
2015-05-02 14:54 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-05-02 10:21:46 PDT
This would be a reduction in compile times but also a reduction in throughput of DFG-compiled code.
Comment 1 Filip Pizlo 2015-05-02 14:54:35 PDT
Created attachment 252249 [details]
work in progress
Comment 2 Filip Pizlo 2015-05-02 15:12:16 PDT
This doesn't appear to be better.


Benchmark report for SunSpider on dethklok (MacBookPro9,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r183718)
"DetunedPhantoms" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r183721)

Collected 100 samples per benchmark/VM, with 100 VM invocations per benchmark. Emitted a call to gc()
between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the
jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution times
with 95% confidence intervals in milliseconds.

                                  TipOfTree              DetunedPhantoms                                  

3d-cube                         5.3233+-0.1250            5.3042+-0.0305        
3d-morph                        5.8984+-0.0865     ?      6.0443+-0.1219        ? might be 1.0247x slower
3d-raytrace                     6.6861+-0.1187     ?      6.7050+-0.1079        ?
access-binary-trees             2.3390+-0.0453     ?      2.3773+-0.0768        ? might be 1.0163x slower
access-fannkuch                 6.1774+-0.0777     ?      6.2872+-0.1330        ? might be 1.0178x slower
access-nbody                    3.0041+-0.0607     !      3.1383+-0.0699        ! definitely 1.0447x slower
access-nsieve                   3.4737+-0.0548     ^      3.3286+-0.0287        ^ definitely 1.0436x faster
bitops-3bit-bits-in-byte        1.6361+-0.0336     ?      1.6433+-0.0260        ?
bitops-bits-in-byte             3.3886+-0.0184     ?      3.4225+-0.0354        ? might be 1.0100x slower
bitops-bitwise-and              2.2676+-0.0617            2.2475+-0.0544        
bitops-nsieve-bits              3.1754+-0.0249     !      3.5718+-0.0273        ! definitely 1.1248x slower
controlflow-recursive           2.3645+-0.0415     ?      2.3792+-0.0828        ?
crypto-aes                      4.5778+-0.0557     ?      4.6347+-0.0830        ? might be 1.0124x slower
crypto-md5                      2.9661+-0.0220     ^      2.7761+-0.0197        ^ definitely 1.0685x faster
crypto-sha1                     2.7874+-0.0541     ?      2.8665+-0.0833        ? might be 1.0284x slower
date-format-tofte               9.9556+-0.3853            9.5920+-0.0543          might be 1.0379x faster
date-format-xparb               6.0086+-0.1248     ?      6.0508+-0.1489        ?
math-cordic                     3.3141+-0.0825     ^      3.1275+-0.0485        ^ definitely 1.0596x faster
math-partial-sums               5.4121+-0.0999     ?      5.5348+-0.1023        ? might be 1.0227x slower
math-spectral-norm              2.0055+-0.0378     !      2.2018+-0.1111        ! definitely 1.0979x slower
regexp-dna                      7.7860+-0.2137            7.7783+-0.2062        
string-base64                   4.9737+-0.1368            4.8204+-0.1130          might be 1.0318x faster
string-fasta                    6.8986+-0.1180     ?      7.0080+-0.1314        ? might be 1.0159x slower
string-tagcloud                10.1560+-0.2007           10.0309+-0.2097          might be 1.0125x faster
string-unpack-code             20.0669+-0.3698     ?     20.3773+-0.5218        ? might be 1.0155x slower
string-validate-input           4.9601+-0.0374     ?      4.9744+-0.0369        ?

<arithmetic>                    5.2924+-0.0265     ?      5.3163+-0.0297        ? might be 1.0045x slower