RESOLVED FIXED 156087
[JSC] CFA's valuesAtHead should be a list, not a map
https://bugs.webkit.org/show_bug.cgi?id=156087
Summary [JSC] CFA's valuesAtHead should be a list, not a map
Benjamin Poulain
Reported 2016-03-31 15:39:30 PDT
[JSC] CFA's valuesAtHead should be a list, not a map
Attachments
Patch (6.46 KB, patch)
2016-03-31 15:41 PDT, Benjamin Poulain
no flags
Patch for landing (6.46 KB, patch)
2016-03-31 15:51 PDT, Benjamin Poulain
no flags
Patch (6.46 KB, patch)
2016-03-31 16:06 PDT, Benjamin Poulain
no flags
Patch (6.43 KB, patch)
2016-03-31 16:31 PDT, Benjamin Poulain
no flags
Benjamin Poulain
Comment 1 2016-03-31 15:41:55 PDT
Benjamin Poulain
Comment 2 2016-03-31 15:42:13 PDT
Conf#1 Conf#2 SunSpider: 3d-cube 5.0124+-0.1095 ? 5.0495+-0.1649 ? 3d-morph 5.2697+-0.0952 ? 5.3258+-0.1489 ? might be 1.0107x slower 3d-raytrace 5.6004+-0.0559 ? 5.6452+-0.0747 ? access-binary-trees 2.1611+-0.0345 ? 2.2603+-0.1425 ? might be 1.0459x slower access-fannkuch 5.9909+-0.1478 ? 5.9946+-0.1222 ? access-nbody 2.5929+-0.0700 2.5786+-0.0741 access-nsieve 3.2500+-0.0844 ? 3.2807+-0.0344 ? bitops-3bit-bits-in-byte 1.1734+-0.0652 1.1367+-0.0111 might be 1.0323x faster bitops-bits-in-byte 2.7953+-0.0645 ? 2.8072+-0.0750 ? bitops-bitwise-and 2.0582+-0.0202 ? 2.0760+-0.0156 ? bitops-nsieve-bits 3.1624+-0.0833 3.1225+-0.0143 might be 1.0128x faster controlflow-recursive 2.3448+-0.0275 ? 2.3459+-0.0204 ? crypto-aes 4.0596+-0.0582 ? 4.0630+-0.0314 ? crypto-md5 2.4968+-0.0493 ? 2.5639+-0.0964 ? might be 1.0269x slower crypto-sha1 2.3092+-0.0268 ? 2.3446+-0.0294 ? might be 1.0153x slower date-format-tofte 6.6700+-0.2007 ? 6.7207+-0.3148 ? date-format-xparb 4.8888+-0.0453 ? 4.8957+-0.0996 ? math-cordic 2.8755+-0.0680 2.8470+-0.0354 might be 1.0100x faster math-partial-sums 4.8273+-0.1244 4.8156+-0.1142 math-spectral-norm 2.0146+-0.0121 2.0107+-0.0211 regexp-dna 6.2893+-0.0666 ? 6.3829+-0.2097 ? might be 1.0149x slower string-base64 4.4897+-0.0622 4.4598+-0.0668 string-fasta 5.9860+-0.1249 ? 6.0070+-0.1505 ? string-tagcloud 8.2003+-0.1059 ? 8.2580+-0.1416 ? string-unpack-code 19.7223+-0.6065 18.9724+-0.5338 might be 1.0395x faster string-validate-input 4.3760+-0.0587 ? 4.5129+-0.1157 ? might be 1.0313x slower <arithmetic> 4.6391+-0.0293 4.6337+-0.0290 might be 1.0012x faster Conf#1 Conf#2 Octane: encrypt 0.16570+-0.00128 0.16392+-0.00077 might be 1.0109x faster decrypt 2.84671+-0.00361 ? 2.84968+-0.00424 ? deltablue x2 0.14134+-0.00145 0.13976+-0.00201 might be 1.0113x faster earley 0.28660+-0.00147 0.28592+-0.00127 boyer 5.00582+-0.06893 ? 5.01403+-0.04398 ? navier-stokes x2 5.00782+-0.00921 5.00033+-0.00779 raytrace x2 0.90237+-0.00319 0.89788+-0.00260 richards x2 0.08282+-0.00056 ? 0.08318+-0.00058 ? splay x2 0.35541+-0.00203 0.35212+-0.00271 regexp x2 18.88801+-0.17953 18.81963+-0.15750 pdfjs x2 39.45263+-0.35712 39.24387+-0.21780 mandreel x2 42.92651+-0.15591 ^ 42.63580+-0.11702 ^ definitely 1.0068x faster gbemu x2 24.22296+-0.12918 24.16282+-0.09183 closure 0.55798+-0.00163 0.55783+-0.00170 jquery 7.23966+-0.02246 7.21009+-0.01784 box2d x2 9.28564+-0.04629 ? 9.29676+-0.05766 ? zlib x2 364.82151+-1.48672 364.29013+-4.55952 typescript x2 637.38728+-2.41539 636.77105+-3.40731 <geometric> 5.18058+-0.00643 ^ 5.16347+-0.00824 ^ definitely 1.0033x faster Conf#1 Conf#2 Kraken: ai-astar 88.454+-0.513 ? 89.055+-1.202 ? audio-beat-detection 42.457+-0.103 42.290+-0.086 audio-dft 100.360+-1.766 98.818+-0.891 might be 1.0156x faster audio-fft 33.039+-0.471 32.827+-0.044 audio-oscillator 48.470+-0.141 ? 48.548+-0.355 ? imaging-darkroom 60.220+-0.110 ? 60.281+-0.332 ? imaging-desaturate 45.902+-1.206 45.296+-0.211 might be 1.0134x faster imaging-gaussian-blur 61.880+-0.920 61.762+-1.189 json-parse-financial 38.174+-0.293 ^ 37.275+-0.255 ^ definitely 1.0241x faster json-stringify-tinderbox 24.590+-0.683 ^ 22.721+-0.625 ^ definitely 1.0822x faster stanford-crypto-aes 40.209+-0.666 40.152+-0.663 stanford-crypto-ccm 36.426+-1.295 35.396+-1.116 might be 1.0291x faster stanford-crypto-pbkdf2 100.125+-0.498 99.911+-0.193 stanford-crypto-sha256-iterative 39.341+-0.639 39.175+-0.194 <arithmetic> 54.260+-0.244 53.822+-0.214 might be 1.0081x faster Conf#1 Conf#2 AsmBench: bigfib.cpp 442.4133+-4.7837 ? 446.6549+-2.0427 ? cray.c 357.1573+-1.8432 356.9566+-2.2301 dry.c 447.4224+-33.0504 ? 463.2113+-40.5820 ? might be 1.0353x slower FloatMM.c 731.9868+-1.8324 ? 733.0239+-1.8757 ? gcc-loops.cpp 3719.1458+-12.1226 3713.4890+-3.4340 n-body.c 810.4151+-1.5719 ? 811.5347+-2.5391 ? Quicksort.c 398.8821+-1.8514 398.2057+-1.3629 stepanov_container.cpp 3326.1429+-14.8132 3307.3530+-14.7376 Towers.c 272.6502+-1.2299 272.1253+-0.5854 <geometric> 726.0555+-5.1672 ? 728.7385+-6.4754 ? might be 1.0037x slower Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 31.1929+-0.0960 31.1233+-0.0931 might be 1.0022x faster
Mark Lam
Comment 3 2016-03-31 15:50:02 PDT
Comment on attachment 275343 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=275343&action=review r=me > Source/JavaScriptCore/ChangeLog:8 > + One more step toward moving to the Air-style of livness analysis: typo: /livness/liveness/. > Source/JavaScriptCore/dfg/DFGNode.h:2354 > + T sortedMap = nodeValuePairList; > + std::sort(sortedMap.begin(), sortedMap.end(), nodeValuePairComparator<decltype(*sortedMap.begin())>); Why not call it sortedList instead of sortedMap?
Benjamin Poulain
Comment 4 2016-03-31 15:51:53 PDT
Created attachment 275345 [details] Patch for landing
Benjamin Poulain
Comment 5 2016-03-31 16:06:17 PDT
Benjamin Poulain
Comment 6 2016-03-31 16:31:58 PDT
WebKit Commit Bot
Comment 7 2016-03-31 18:48:31 PDT
Comment on attachment 275353 [details] Patch Clearing flags on attachment: 275353 Committed r198935: <http://trac.webkit.org/changeset/198935>
WebKit Commit Bot
Comment 8 2016-03-31 18:48:35 PDT
All reviewed patches have been landed. Closing bug.
Darin Adler
Comment 9 2016-03-31 20:47:26 PDT
Comment on attachment 275353 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=275353&action=review > Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp:89 > + values.resize(0); I think this can be shrink(0) and that might save one branch.
Benjamin Poulain
Comment 10 2016-04-01 18:36:17 PDT
(In reply to comment #9) > Comment on attachment 275353 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=275353&action=review > > > Source/JavaScriptCore/dfg/DFGInPlaceAbstractState.cpp:89 > > + values.resize(0); > > I think this can be shrink(0) and that might save one branch. If Clang really generates a branch here, we should file a bug.
Note You need to log in before you can comment on or make changes to this bug.