RESOLVED FIXED 145137
Add SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
https://bugs.webkit.org/show_bug.cgi?id=145137
Summary Add SpecBoolInt32 type that means "I'm an int and I'm either 0 or 1"
Filip Pizlo
Reported 2015-05-18 13:45:51 PDT
This will help with some boolean-to-int and vice-versa logic.
Attachments
probably ok (7.37 KB, patch)
2015-05-18 14:00 PDT, Filip Pizlo
no flags
the patch (9.16 KB, patch)
2015-05-18 17:51 PDT, Filip Pizlo
benjamin: review+
Filip Pizlo
Comment 1 2015-05-18 14:00:28 PDT
Created attachment 253340 [details] probably ok Still testing it though.
WebKit Commit Bot
Comment 2 2015-05-18 14:02:29 PDT
Attachment 253340 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:261: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:262: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] Total errors found: 2 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 3 2015-05-18 17:42:34 PDT
This is what performance looks like. I need to investigate SunSpider more. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r184521) "BoolIntSpec" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r184521) Collected 6 samples per benchmark/VM, with 6 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 BoolIntSpec SunSpider: 3d-cube 5.4031+-0.3197 5.2798+-0.1462 might be 1.0234x faster 3d-morph 6.1037+-0.7057 5.7879+-0.1011 might be 1.0546x faster 3d-raytrace 6.5071+-0.1425 ? 6.5597+-0.1181 ? access-binary-trees 2.3120+-0.0802 ? 2.3247+-0.0889 ? access-fannkuch 6.0389+-0.0413 ? 6.0768+-0.1875 ? access-nbody 3.0261+-0.1058 ? 3.2293+-0.4201 ? might be 1.0671x slower access-nsieve 3.3164+-0.1871 ? 3.5837+-0.7430 ? might be 1.0806x slower bitops-3bit-bits-in-byte 1.5800+-0.0783 ? 1.6634+-0.2397 ? might be 1.0528x slower bitops-bits-in-byte 3.6764+-0.1184 ? 3.7819+-0.3380 ? might be 1.0287x slower bitops-bitwise-and 2.3108+-0.2792 2.1405+-0.0064 might be 1.0796x faster bitops-nsieve-bits 3.2943+-0.1808 ? 3.4073+-0.0449 ? might be 1.0343x slower controlflow-recursive 2.3724+-0.1403 ? 2.3975+-0.0794 ? might be 1.0106x slower crypto-aes 5.0265+-1.3898 4.6824+-0.4825 might be 1.0735x faster crypto-md5 3.1058+-0.2371 3.0319+-0.1621 might be 1.0244x faster crypto-sha1 2.8967+-0.3008 ? 3.0030+-0.1760 ? might be 1.0367x slower date-format-tofte 9.4204+-0.7927 ? 9.5173+-0.2906 ? might be 1.0103x slower date-format-xparb 5.9120+-0.3028 ? 6.0533+-0.2597 ? might be 1.0239x slower math-cordic 3.1530+-0.0301 ? 3.3273+-0.2940 ? might be 1.0553x slower math-partial-sums 5.3936+-0.2872 ? 5.4432+-0.2540 ? math-spectral-norm 1.9843+-0.0274 ? 2.0623+-0.1470 ? might be 1.0393x slower regexp-dna 8.0519+-1.4263 ? 8.6747+-1.5756 ? might be 1.0774x slower string-base64 5.0694+-0.4653 4.9161+-0.1857 might be 1.0312x faster string-fasta 6.7569+-0.2763 6.6311+-0.1724 might be 1.0190x faster string-tagcloud 9.0005+-0.2218 ! 10.1074+-0.6627 ! definitely 1.1230x slower string-unpack-code 20.4031+-0.7226 ? 21.3342+-1.2034 ? might be 1.0456x slower string-validate-input 4.8904+-0.0337 ? 5.0177+-0.1508 ? might be 1.0260x slower <arithmetic> 5.2695+-0.1109 ? 5.3859+-0.0855 ? might be 1.0221x slower TipOfTree BoolIntSpec LongSpider: 3d-cube 893.7168+-17.6151 886.0732+-10.9149 3d-morph 1529.6499+-4.3240 ? 1532.0288+-9.2016 ? 3d-raytrace 703.9260+-4.6921 ? 709.6719+-1.3686 ? access-binary-trees 976.4215+-5.6312 ? 978.3778+-9.0502 ? access-fannkuch 327.6344+-9.0820 ? 328.6036+-7.1346 ? access-nbody 618.7113+-2.6229 ? 620.0555+-4.2628 ? access-nsieve 476.4778+-5.6967 ? 477.3671+-6.3812 ? bitops-3bit-bits-in-byte 45.1107+-1.3441 44.4614+-0.9129 might be 1.0146x faster bitops-bits-in-byte 103.9775+-1.8253 102.9287+-0.4577 might be 1.0102x faster bitops-nsieve-bits 418.3537+-1.5174 ? 420.3561+-4.5345 ? controlflow-recursive 483.5185+-8.2589 ? 493.3893+-9.9474 ? might be 1.0204x slower crypto-aes 709.0609+-10.4484 ? 709.5311+-7.4680 ? crypto-md5 523.1773+-5.5380 ? 530.4409+-12.7286 ? might be 1.0139x slower crypto-sha1 596.4494+-5.0175 595.1007+-3.8009 date-format-tofte 722.6051+-12.5711 ? 733.7832+-17.1282 ? might be 1.0155x slower date-format-xparb 801.0327+-33.0757 792.8731+-20.4510 might be 1.0103x faster hash-map 174.7098+-3.1066 ? 174.8278+-5.5452 ? math-cordic 589.4053+-4.7797 ? 592.6246+-7.8814 ? math-partial-sums 522.4523+-37.1613 511.6344+-11.7812 might be 1.0211x faster math-spectral-norm 569.4797+-7.5744 ? 570.6423+-10.6150 ? string-base64 384.8560+-3.9885 ? 387.7940+-5.1570 ? string-fasta 432.7456+-4.2533 432.6282+-4.1108 string-tagcloud 198.5583+-3.1873 ? 200.1440+-4.4967 ? <geometric> 451.0164+-1.8404 ? 451.6412+-1.0561 ? might be 1.0014x slower TipOfTree BoolIntSpec V8Spider: crypto 56.8403+-1.0632 ? 57.5695+-2.9314 ? might be 1.0128x slower deltablue 104.9784+-5.6863 100.7099+-2.8689 might be 1.0424x faster earley-boyer 47.9642+-0.9480 ? 49.8773+-3.5893 ? might be 1.0399x slower raytrace 39.8986+-2.6499 ? 40.4030+-1.1508 ? might be 1.0126x slower regexp 80.7281+-0.7885 ? 82.7537+-3.1170 ? might be 1.0251x slower richards 81.5581+-3.9853 ? 81.9549+-2.5542 ? splay 40.6341+-1.6161 ? 40.7532+-1.9860 ? <geometric> 60.7161+-0.4993 ? 61.1971+-1.0760 ? might be 1.0079x slower TipOfTree BoolIntSpec Octane: encrypt 0.20443+-0.00319 ? 0.20480+-0.00259 ? decrypt 3.66466+-0.11042 3.63167+-0.08377 deltablue x2 0.20059+-0.00695 0.19679+-0.00199 might be 1.0193x faster earley 0.39724+-0.00323 ? 0.39793+-0.00421 ? boyer 5.14220+-0.04405 5.10928+-0.04568 navier-stokes x2 5.19481+-0.03643 ? 5.21203+-0.06557 ? raytrace x2 1.26711+-0.02595 1.25296+-0.04065 might be 1.0113x faster richards x2 0.12453+-0.00348 0.12239+-0.00106 might be 1.0175x faster splay x2 0.39913+-0.00179 ? 0.40525+-0.00787 ? might be 1.0153x slower regexp x2 31.64300+-0.07419 31.60434+-0.33392 pdfjs x2 43.51895+-0.71226 43.24640+-0.68687 mandreel x2 50.33982+-0.49609 49.95234+-0.58626 gbemu x2 41.78710+-0.35238 ? 41.96021+-0.21318 ? closure 0.56262+-0.00137 0.56178+-0.00308 jquery 7.18246+-0.03418 ? 7.19920+-0.12203 ? box2d x2 12.63480+-0.31440 12.62684+-0.32939 zlib x2 398.95361+-2.53376 383.00766+-18.88877 might be 1.0416x faster typescript x2 818.74015+-6.71538 ? 828.57613+-22.07145 ? might be 1.0120x slower <geometric> 6.59637+-0.01845 6.56299+-0.02866 might be 1.0051x faster TipOfTree BoolIntSpec Kraken: ai-astar 235.659+-1.760 ? 235.746+-2.396 ? audio-beat-detection 107.229+-0.863 106.868+-1.343 audio-dft 121.072+-2.586 ? 121.699+-3.158 ? audio-fft 84.887+-5.204 ? 87.834+-4.160 ? might be 1.0347x slower audio-oscillator 78.454+-1.698 77.303+-1.483 might be 1.0149x faster imaging-darkroom 105.251+-1.805 104.631+-1.780 imaging-desaturate 63.592+-0.369 ? 64.435+-1.470 ? might be 1.0132x slower imaging-gaussian-blur 112.246+-4.235 111.778+-1.709 json-parse-financial 53.384+-17.093 47.214+-3.178 might be 1.1307x faster json-stringify-tinderbox 29.683+-2.305 29.319+-1.576 might be 1.0124x faster stanford-crypto-aes 59.213+-1.729 58.976+-1.375 stanford-crypto-ccm 51.962+-1.582 51.548+-1.710 stanford-crypto-pbkdf2 120.109+-2.853 119.777+-3.215 stanford-crypto-sha256-iterative 47.942+-2.067 46.427+-1.831 might be 1.0326x faster <arithmetic> 90.763+-2.132 90.254+-0.549 might be 1.0056x faster TipOfTree BoolIntSpec JSRegress: abs-boolean 2.9360+-0.3963 2.6556+-0.0472 might be 1.1056x faster adapt-to-double-divide 17.0377+-1.1294 16.8422+-0.3378 might be 1.0116x faster aliased-arguments-getbyval 1.3031+-0.0611 ? 1.3607+-0.1325 ? might be 1.0442x slower allocate-big-object 2.9259+-0.2830 ? 2.9543+-0.2742 ? arguments-named-and-reflective 12.4935+-0.6822 12.2335+-0.5927 might be 1.0213x faster arguments-out-of-bounds 15.0154+-0.9497 14.6965+-0.2004 might be 1.0217x faster arguments-strict-mode 12.0817+-1.1374 11.7027+-0.8274 might be 1.0324x faster arguments 10.3935+-0.5082 10.3652+-0.6766 arity-mismatch-inlining 0.9504+-0.1189 0.9277+-0.0783 might be 1.0246x faster array-access-polymorphic-structure 7.6145+-0.9908 7.1558+-0.8932 might be 1.0641x faster array-nonarray-polymorhpic-access 33.3451+-1.0071 32.9914+-1.2540 might be 1.0107x faster array-prototype-every 88.8162+-2.0052 86.7218+-1.3135 might be 1.0242x faster array-prototype-forEach 86.7324+-3.0443 83.8047+-2.7574 might be 1.0349x faster array-prototype-map 95.8930+-4.0735 90.8778+-1.8173 might be 1.0552x faster array-prototype-some 87.5102+-1.6685 87.3805+-2.9081 array-splice-contiguous 42.8057+-2.2540 42.5216+-2.2946 array-with-double-add 4.1802+-0.1214 ? 4.3724+-0.4951 ? might be 1.0460x slower array-with-double-increment 3.2510+-0.0978 ? 3.4519+-0.4048 ? might be 1.0618x slower array-with-double-mul-add 5.0797+-0.1744 ? 5.2609+-0.6603 ? might be 1.0357x slower array-with-double-sum 3.3435+-0.1335 ? 3.3602+-0.1270 ? array-with-int32-add-sub 6.7787+-0.0841 ? 6.7809+-0.0598 ? array-with-int32-or-double-sum 3.3528+-0.0361 ? 3.3905+-0.0630 ? might be 1.0112x slower ArrayBuffer-DataView-alloc-large-long-lived 33.6924+-1.4021 32.8511+-1.5543 might be 1.0256x faster ArrayBuffer-DataView-alloc-long-lived 14.2311+-1.0042 14.0852+-1.6420 might be 1.0104x faster ArrayBuffer-Int32Array-byteOffset 3.7960+-0.0408 ? 4.0091+-0.4792 ? might be 1.0561x slower ArrayBuffer-Int8Array-alloc-large-long-lived 33.2432+-1.4375 32.1611+-1.6025 might be 1.0336x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 21.7076+-0.5985 ? 22.4538+-1.7121 ? might be 1.0344x slower ArrayBuffer-Int8Array-alloc-long-lived 13.9254+-1.9356 12.5330+-1.0752 might be 1.1111x faster ArrayBuffer-Int8Array-alloc 10.8218+-1.1135 ? 11.1200+-0.9724 ? might be 1.0276x slower asmjs_bool_bug 7.5428+-0.1449 ? 7.9479+-0.5854 ? might be 1.0537x slower assign-custom-setter-polymorphic 3.2709+-0.1352 ^ 3.0348+-0.0474 ^ definitely 1.0778x faster assign-custom-setter 4.4337+-0.0631 4.2827+-0.2812 might be 1.0352x faster basic-set 8.7193+-0.5365 8.5564+-0.2017 might be 1.0190x faster big-int-mul 4.0513+-0.0987 3.9839+-0.0400 might be 1.0169x faster boolean-test 3.1198+-0.1019 3.1114+-0.0311 branch-fold 3.7398+-0.0469 ? 3.8130+-0.0948 ? might be 1.0196x slower branch-on-string-as-boolean 19.7638+-2.0571 18.9865+-0.5563 might be 1.0409x faster by-val-generic 8.0960+-0.3422 ? 8.1380+-0.2156 ? call-spread-apply 30.3288+-2.7024 29.6482+-0.8898 might be 1.0230x faster call-spread-call 25.9213+-1.2256 25.0658+-0.3503 might be 1.0341x faster captured-assignments 0.4881+-0.1083 0.4690+-0.0587 might be 1.0408x faster cast-int-to-double 5.3800+-0.1281 5.3112+-0.0434 might be 1.0130x faster cell-argument 8.9467+-0.9461 8.5933+-0.2142 might be 1.0411x faster cfg-simplify 2.8960+-0.0461 2.8462+-0.1226 might be 1.0175x faster chain-getter-access 9.2916+-0.0895 9.1821+-0.2971 might be 1.0119x faster cmpeq-obj-to-obj-other 11.4767+-1.1944 ? 12.5390+-1.3123 ? might be 1.0926x slower constant-test 5.0026+-0.0850 ? 5.0864+-0.1835 ? might be 1.0168x slower create-lots-of-functions 12.0363+-0.3587 11.8401+-0.3191 might be 1.0166x faster DataView-custom-properties 40.1915+-0.6856 38.4867+-2.0723 might be 1.0443x faster deconstructing-parameters-overridden-by-function 0.5859+-0.0318 0.5846+-0.0811 delay-tear-off-arguments-strictmode 14.0968+-0.1969 ! 16.2826+-1.6185 ! definitely 1.1551x slower deltablue-varargs 205.8220+-2.3721 ? 207.6001+-1.9328 ? destructuring-arguments 18.1956+-0.7268 17.9455+-0.5677 might be 1.0139x faster destructuring-swap 5.1722+-0.1804 ? 5.1832+-0.1581 ? direct-arguments-getbyval 1.2746+-0.1104 ? 1.3643+-0.1452 ? might be 1.0704x slower div-boolean-double 5.2290+-0.1290 ? 5.3563+-0.1887 ? might be 1.0243x slower div-boolean 7.8619+-0.1179 ? 7.8985+-0.2146 ? double-get-by-val-out-of-bounds 4.5501+-0.0191 ? 4.6887+-0.2195 ? might be 1.0305x slower double-pollution-getbyval 8.8901+-0.0886 8.8636+-0.0411 double-pollution-putbyoffset 4.3190+-0.0804 ? 4.3461+-0.0729 ? double-to-int32-typed-array-no-inline 2.2883+-0.1271 ? 2.3826+-0.2703 ? might be 1.0412x slower double-to-int32-typed-array 2.0113+-0.1122 ? 2.2242+-0.2529 ? might be 1.1059x slower double-to-uint32-typed-array-no-inline 2.6535+-0.2748 2.3129+-0.0749 might be 1.1473x faster double-to-uint32-typed-array 2.0270+-0.0210 ? 2.0833+-0.0810 ? might be 1.0278x slower elidable-new-object-dag 44.6506+-1.4846 43.2219+-1.8221 might be 1.0331x faster elidable-new-object-roflcopter 43.7293+-0.6762 ? 43.9599+-0.2629 ? elidable-new-object-then-call 39.7422+-1.5701 ? 40.0483+-1.8126 ? elidable-new-object-tree 46.4553+-1.6879 45.3938+-1.0382 might be 1.0234x faster empty-string-plus-int 5.4935+-0.1043 5.4454+-0.0556 emscripten-cube2hash 38.1121+-1.3749 ? 39.3092+-1.5678 ? might be 1.0314x slower exit-length-on-plain-object 15.3557+-1.8571 14.0731+-0.7380 might be 1.0911x faster external-arguments-getbyval 1.2390+-0.0391 ? 1.3075+-0.1192 ? might be 1.0553x slower external-arguments-putbyval 2.3160+-0.1584 ? 2.3393+-0.0996 ? might be 1.0100x slower fixed-typed-array-storage-var-index 1.3000+-0.1995 1.2281+-0.0288 might be 1.0586x faster fixed-typed-array-storage 0.9170+-0.0181 0.8989+-0.0360 might be 1.0201x faster Float32Array-matrix-mult 4.4982+-0.1651 ? 4.6410+-0.3386 ? might be 1.0317x slower Float32Array-to-Float64Array-set 58.5115+-3.1090 ^ 53.3442+-1.5919 ^ definitely 1.0969x faster Float64Array-alloc-long-lived 70.3573+-1.9158 69.9922+-1.6514 Float64Array-to-Int16Array-set 69.2154+-1.7058 ? 71.7806+-1.8871 ? might be 1.0371x slower fold-double-to-int 13.9878+-1.1120 13.5085+-0.2647 might be 1.0355x faster fold-get-by-id-to-multi-get-by-offset-rare-int 10.2030+-1.3333 ? 10.7192+-1.0344 ? might be 1.0506x slower fold-get-by-id-to-multi-get-by-offset 9.7703+-0.8608 ? 9.9152+-1.0265 ? might be 1.0148x slower fold-multi-get-by-offset-to-get-by-offset 9.6027+-0.9967 9.1511+-0.9897 might be 1.0493x faster fold-multi-get-by-offset-to-poly-get-by-offset 9.5122+-0.5821 8.7115+-1.4358 might be 1.0919x faster fold-multi-put-by-offset-to-poly-put-by-offset 8.8795+-1.4304 ? 10.0629+-1.1483 ? might be 1.1333x slower fold-multi-put-by-offset-to-put-by-offset 7.6589+-2.0147 5.1780+-1.1066 might be 1.4791x faster fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 9.7095+-0.8029 ? 10.0309+-1.1060 ? might be 1.0331x slower fold-put-by-id-to-multi-put-by-offset 9.3398+-0.6279 ? 10.6085+-0.9631 ? might be 1.1358x slower fold-put-structure 6.8541+-1.4458 5.4085+-1.6311 might be 1.2673x faster for-of-iterate-array-entries 4.7358+-0.1435 4.6886+-0.1012 might be 1.0101x faster for-of-iterate-array-keys 3.8359+-0.1776 ? 3.9452+-0.2785 ? might be 1.0285x slower for-of-iterate-array-values 3.7516+-0.0867 ? 3.7594+-0.0919 ? fround 21.7338+-0.9654 20.9111+-0.5193 might be 1.0393x faster ftl-library-inlining-dataview 68.0540+-5.6335 67.4392+-2.0505 ftl-library-inlining 78.8532+-14.8110 ? 81.4934+-20.2788 ? might be 1.0335x slower function-dot-apply 2.3049+-0.2444 2.1718+-0.0181 might be 1.0613x faster function-test 2.9819+-0.2220 2.8410+-0.0504 might be 1.0496x faster function-with-eval 103.8228+-1.5240 ? 104.7542+-3.0000 ? gcse-poly-get-less-obvious 19.0800+-1.2193 19.0086+-1.1724 gcse-poly-get 21.8682+-2.2642 20.9069+-1.9221 might be 1.0460x faster gcse 4.3659+-0.1239 ? 4.4519+-0.1561 ? might be 1.0197x slower get-by-id-bimorphic-check-structure-elimination-simple 2.8918+-0.4410 2.7813+-0.0455 might be 1.0397x faster get-by-id-bimorphic-check-structure-elimination 6.0849+-0.0754 ? 6.2323+-0.2176 ? might be 1.0242x slower get-by-id-chain-from-try-block 7.1635+-1.2038 6.5572+-0.1552 might be 1.0925x faster get-by-id-check-structure-elimination 5.1722+-0.1444 5.1649+-0.1077 get-by-id-proto-or-self 19.0209+-0.8664 ? 19.4106+-1.4554 ? might be 1.0205x slower get-by-id-quadmorphic-check-structure-elimination-simple 3.1716+-0.0811 ? 3.3171+-0.2934 ? might be 1.0459x slower get-by-id-self-or-proto 19.3894+-1.6676 18.2944+-0.8523 might be 1.0599x faster get-by-val-out-of-bounds 4.4751+-0.0761 ? 4.5320+-0.1239 ? might be 1.0127x slower get_callee_monomorphic 3.3088+-0.5423 2.9456+-0.0617 might be 1.1233x faster get_callee_polymorphic 3.8007+-0.2429 ? 3.8864+-0.4057 ? might be 1.0225x slower getter-no-activation 5.1631+-0.3792 ? 5.2474+-0.2606 ? might be 1.0163x slower getter-richards 128.1519+-2.7290 ? 129.1509+-7.9357 ? getter 5.9128+-0.8678 5.8795+-0.7386 global-var-const-infer-fire-from-opt 0.9207+-0.0747 ? 1.0039+-0.1216 ? might be 1.0904x slower global-var-const-infer 0.9627+-0.1747 0.8061+-0.0759 might be 1.1942x faster HashMap-put-get-iterate-keys 30.2985+-1.6239 30.0939+-2.0930 HashMap-put-get-iterate 31.2770+-1.0522 ? 31.9631+-2.9517 ? might be 1.0219x slower HashMap-string-put-get-iterate 30.6549+-3.3601 28.4287+-1.8014 might be 1.0783x faster hoist-make-rope 12.7301+-1.0053 12.0890+-0.8302 might be 1.0530x faster hoist-poly-check-structure-effectful-loop 5.1140+-0.2286 ? 5.1597+-0.1886 ? hoist-poly-check-structure 3.7923+-0.3287 3.7204+-0.1074 might be 1.0193x faster imul-double-only 9.0222+-0.7057 ? 9.0445+-0.1600 ? imul-int-only 10.2482+-0.5513 9.7477+-0.2185 might be 1.0513x faster imul-mixed 8.6434+-0.1994 8.2746+-0.1707 might be 1.0446x faster in-four-cases 22.4936+-0.2979 22.3011+-0.4177 in-one-case-false 11.0487+-0.1218 ? 11.1298+-0.2410 ? in-one-case-true 11.1667+-0.3066 ? 11.7321+-0.5228 ? might be 1.0506x slower in-two-cases 11.5940+-0.0803 ? 11.7906+-0.2286 ? might be 1.0170x slower indexed-properties-in-objects 3.1234+-0.4990 3.0707+-0.0404 might be 1.0172x faster infer-closure-const-then-mov-no-inline 4.4940+-0.4859 4.0063+-0.0934 might be 1.1217x faster infer-closure-const-then-mov 19.8707+-0.4373 ? 20.0311+-0.4582 ? infer-closure-const-then-put-to-scope-no-inline 13.1597+-1.1734 12.5941+-0.9832 might be 1.0449x faster infer-closure-const-then-put-to-scope 22.0816+-1.2074 ? 22.9694+-1.3581 ? might be 1.0402x slower infer-closure-const-then-reenter-no-inline 58.0375+-1.8103 56.7630+-0.4128 might be 1.0225x faster infer-closure-const-then-reenter 23.2022+-1.1827 22.7040+-1.5524 might be 1.0219x faster infer-constant-global-property 3.7048+-0.4184 3.6697+-0.1433 infer-constant-property 2.7668+-0.0493 ? 2.8780+-0.3366 ? might be 1.0402x slower infer-one-time-closure-ten-vars 12.6272+-0.2811 ? 13.4542+-1.1742 ? might be 1.0655x slower infer-one-time-closure-two-vars 11.9804+-0.1930 ? 13.2325+-1.4229 ? might be 1.1045x slower infer-one-time-closure 12.2349+-0.9109 ? 12.2371+-0.6884 ? infer-one-time-deep-closure 21.7124+-1.2066 21.5049+-1.2853 inline-arguments-access 4.6459+-0.1473 4.6353+-0.1787 inline-arguments-aliased-access 4.5825+-0.0646 ? 4.6833+-0.1922 ? might be 1.0220x slower inline-arguments-local-escape 4.6207+-0.0964 ? 4.6781+-0.1345 ? might be 1.0124x slower inline-get-scoped-var 4.7856+-0.1741 ? 4.9953+-0.2364 ? might be 1.0438x slower inlined-put-by-id-transition 11.9518+-0.7875 11.7531+-0.6371 might be 1.0169x faster int-or-other-abs-then-get-by-val 4.9468+-0.0475 ? 5.0128+-0.1544 ? might be 1.0133x slower int-or-other-abs-zero-then-get-by-val 18.0825+-1.7587 ? 18.2985+-1.1707 ? might be 1.0119x slower int-or-other-add-then-get-by-val 4.3892+-0.1106 ? 4.4025+-0.1106 ? int-or-other-add 5.4618+-0.1520 5.4223+-0.1443 int-or-other-div-then-get-by-val 4.2623+-0.0439 ? 4.2662+-0.2037 ? int-or-other-max-then-get-by-val 4.3496+-0.0906 ? 4.3668+-0.1850 ? int-or-other-min-then-get-by-val 4.3895+-0.0082 4.3503+-0.0629 int-or-other-mod-then-get-by-val 3.9914+-0.0779 3.9891+-0.1154 int-or-other-mul-then-get-by-val 3.8118+-0.0236 ? 3.8669+-0.2256 ? might be 1.0144x slower int-or-other-neg-then-get-by-val 4.7363+-0.0418 ? 4.8159+-0.0467 ? might be 1.0168x slower int-or-other-neg-zero-then-get-by-val 18.5359+-1.7248 17.8865+-1.0185 might be 1.0363x faster int-or-other-sub-then-get-by-val 4.3527+-0.0450 ? 4.4850+-0.3887 ? might be 1.0304x slower int-or-other-sub 3.5889+-0.0993 3.5761+-0.0383 int-overflow-local 4.5342+-0.4111 ? 5.2295+-1.7034 ? might be 1.1534x slower Int16Array-alloc-long-lived 50.6848+-2.0283 49.6575+-1.4985 might be 1.0207x faster Int16Array-bubble-sort-with-byteLength 19.7984+-1.6386 19.4567+-0.5519 might be 1.0176x faster Int16Array-bubble-sort 19.9816+-1.4906 ? 20.4249+-1.3230 ? might be 1.0222x slower Int16Array-load-int-mul 1.5485+-0.0789 ? 1.6543+-0.3174 ? might be 1.0683x slower Int16Array-to-Int32Array-set 57.3875+-1.8323 ? 57.4769+-1.5488 ? Int32Array-alloc-large 24.0508+-1.1910 23.1135+-0.4048 might be 1.0406x faster Int32Array-alloc-long-lived 55.4134+-1.9589 55.1746+-1.4633 Int32Array-alloc 3.4620+-0.4109 3.4085+-0.3359 might be 1.0157x faster Int32Array-Int8Array-view-alloc 6.9821+-0.6148 6.6115+-0.2362 might be 1.0561x faster int52-spill 5.9042+-0.1193 ? 5.9709+-0.2997 ? might be 1.0113x slower Int8Array-alloc-long-lived 45.5952+-1.6210 45.0988+-1.5613 might be 1.0110x faster Int8Array-load-with-byteLength 3.4100+-0.1912 3.3860+-0.0813 Int8Array-load 3.3911+-0.0654 3.3375+-0.0616 might be 1.0161x faster integer-divide 11.3452+-0.2977 11.1923+-0.0780 might be 1.0137x faster integer-modulo 2.0503+-0.1360 ? 2.0791+-0.1214 ? might be 1.0141x slower is-boolean-fold-tricky 4.4557+-0.0535 4.4516+-0.0226 is-boolean-fold 2.9201+-0.1578 ? 2.9663+-0.2263 ? might be 1.0158x slower is-function-fold-tricky-internal-function 11.9401+-0.1543 11.9000+-0.0953 is-function-fold-tricky 4.8162+-0.4560 4.6615+-0.1922 might be 1.0332x faster is-function-fold 2.9259+-0.1376 ? 2.9306+-0.0960 ? is-number-fold-tricky 4.6705+-0.3755 4.4383+-0.0374 might be 1.0523x faster is-number-fold 3.1914+-0.4457 2.9028+-0.0662 might be 1.0994x faster is-object-or-null-fold-functions 2.9503+-0.0433 ? 3.0749+-0.1535 ? might be 1.0422x slower is-object-or-null-fold-less-tricky 4.6287+-0.1440 ? 4.7673+-0.5212 ? might be 1.0299x slower is-object-or-null-fold-tricky 6.6663+-0.1286 ? 6.6768+-0.0864 ? is-object-or-null-fold 2.8731+-0.0288 ? 2.8830+-0.0106 ? is-object-or-null-trickier-function 4.7666+-0.1438 ? 4.8361+-0.2942 ? might be 1.0146x slower is-object-or-null-trickier-internal-function 12.6161+-0.2404 ? 13.3339+-1.1581 ? might be 1.0569x slower is-object-or-null-tricky-function 4.7548+-0.3153 4.6944+-0.1375 might be 1.0129x faster is-object-or-null-tricky-internal-function 9.5511+-0.3110 9.3003+-0.1696 might be 1.0270x faster is-string-fold-tricky 4.7260+-0.4563 4.4555+-0.0384 might be 1.0607x faster is-string-fold 3.0038+-0.2388 2.8305+-0.0505 might be 1.0612x faster is-undefined-fold-tricky 3.7319+-0.0342 ? 3.9941+-0.4676 ? might be 1.0703x slower is-undefined-fold 2.9337+-0.2123 ? 3.0439+-0.3340 ? might be 1.0375x slower large-int-captured 4.8269+-0.0992 4.7888+-0.0991 large-int-neg 16.6991+-0.9201 16.2495+-0.4020 might be 1.0277x faster large-int 14.8840+-0.7607 ? 16.2074+-2.2422 ? might be 1.0889x slower load-varargs-elimination 26.4272+-9.2638 23.0582+-0.5498 might be 1.1461x faster logical-not 4.7481+-0.1356 4.6356+-0.0567 might be 1.0243x faster lots-of-fields 12.7118+-0.5070 12.4852+-0.3845 might be 1.0181x faster make-indexed-storage 3.2484+-0.2330 3.1786+-0.1123 might be 1.0220x faster make-rope-cse 4.9999+-0.4739 ? 5.0697+-0.5449 ? might be 1.0140x slower marsaglia-larger-ints 36.9138+-1.0251 36.3930+-0.2056 might be 1.0143x faster marsaglia-osr-entry 24.3311+-1.2970 23.6351+-1.7294 might be 1.0294x faster max-boolean 2.5210+-0.0433 2.4880+-0.0428 might be 1.0132x faster method-on-number 19.4950+-0.8039 18.3899+-0.3765 might be 1.0601x faster min-boolean 2.5675+-0.1134 2.4929+-0.0310 might be 1.0299x faster minus-boolean-double 3.2782+-0.0921 ? 3.3796+-0.3160 ? might be 1.0309x slower minus-boolean 2.3381+-0.0402 ? 2.3438+-0.0584 ? misc-strict-eq 40.3965+-3.2456 39.5222+-1.7442 might be 1.0221x faster mod-boolean-double 10.9538+-0.1945 10.8965+-0.1003 mod-boolean 8.0056+-0.3031 7.8926+-0.0871 might be 1.0143x faster mul-boolean-double 3.7735+-0.1278 3.7545+-0.0833 mul-boolean 2.9532+-0.0632 ? 3.1380+-0.4046 ? might be 1.0626x slower neg-boolean 3.4333+-0.3680 3.2011+-0.0442 might be 1.0725x faster negative-zero-divide 0.3715+-0.0411 0.3647+-0.0252 might be 1.0186x faster negative-zero-modulo 0.3593+-0.0238 0.3535+-0.0130 might be 1.0165x faster negative-zero-negate 0.3267+-0.0150 ? 0.3658+-0.0312 ? might be 1.1197x slower nested-function-parsing 38.2150+-0.3564 ? 38.7318+-1.3312 ? might be 1.0135x slower new-array-buffer-dead 111.3677+-3.4628 ? 114.3716+-2.5790 ? might be 1.0270x slower new-array-buffer-push 7.2091+-0.7784 7.0128+-0.3300 might be 1.0280x faster new-array-dead 19.9080+-0.5723 19.0238+-0.4600 might be 1.0465x faster new-array-push 4.0789+-0.3817 3.9908+-0.1298 might be 1.0221x faster no-inline-constructor 40.6038+-1.0416 ? 41.5711+-1.4367 ? might be 1.0238x slower number-test 3.3072+-0.3317 3.1588+-0.2122 might be 1.0470x faster object-closure-call 5.7949+-0.3055 5.6181+-0.0253 might be 1.0315x faster object-test 2.8697+-0.0985 ? 3.0296+-0.2432 ? might be 1.0557x slower obvious-sink-pathology-taken 140.8520+-1.3710 ? 141.3075+-2.4718 ? obvious-sink-pathology 132.3882+-1.6964 ? 133.7007+-2.3572 ? obviously-elidable-new-object 35.0792+-1.0060 ? 35.7895+-2.0635 ? might be 1.0202x slower plus-boolean-arith 2.5531+-0.1544 ? 2.6354+-0.3605 ? might be 1.0322x slower plus-boolean-double 3.2521+-0.0964 3.2244+-0.0588 plus-boolean 2.5689+-0.3193 2.4036+-0.0330 might be 1.0688x faster poly-chain-access-different-prototypes-simple 3.4558+-0.2663 ? 3.4869+-0.3231 ? poly-chain-access-different-prototypes 2.6013+-0.0415 ? 2.8036+-0.3465 ? might be 1.0778x slower poly-chain-access-simpler 3.4314+-0.3199 ? 3.4796+-0.3613 ? might be 1.0140x slower poly-chain-access 2.6519+-0.0818 2.5929+-0.0550 might be 1.0227x faster poly-stricteq 58.6161+-0.3732 57.8578+-1.6681 might be 1.0131x faster polymorphic-array-call 1.3937+-0.0906 ? 1.4988+-0.2225 ? might be 1.0754x slower polymorphic-get-by-id 3.1426+-0.0725 3.0970+-0.0290 might be 1.0147x faster polymorphic-put-by-id 33.0518+-3.7556 ? 33.4506+-4.0235 ? might be 1.0121x slower polymorphic-structure 14.7753+-0.1614 ? 14.9148+-0.2837 ? polyvariant-monomorphic-get-by-id 8.6067+-0.1966 ? 8.6638+-0.3007 ? proto-getter-access 9.1125+-0.0841 ? 9.2915+-0.3161 ? might be 1.0196x slower put-by-id-replace-and-transition 11.4178+-5.0223 9.3115+-0.1779 might be 1.2262x faster put-by-id-slightly-polymorphic 2.8247+-0.0270 ? 2.8250+-0.0100 ? put-by-id 12.8591+-0.3571 ? 13.0504+-0.4230 ? might be 1.0149x slower put-by-val-direct 0.3424+-0.0110 ! 0.3709+-0.0162 ! definitely 1.0833x slower put-by-val-large-index-blank-indexing-type 6.3171+-0.6476 ? 6.6568+-0.8215 ? might be 1.0538x slower put-by-val-machine-int 2.7237+-0.0331 ? 2.7629+-0.0498 ? might be 1.0144x slower rare-osr-exit-on-local 15.3127+-0.7221 15.1290+-0.2989 might be 1.0121x faster register-pressure-from-osr 22.1084+-1.3072 21.4843+-0.3141 might be 1.0290x faster setter 6.4130+-0.9475 6.1916+-1.2354 might be 1.0358x faster simple-activation-demo 26.1431+-1.3262 25.8652+-1.4741 might be 1.0107x faster simple-getter-access 11.9050+-0.3822 11.8708+-0.2010 simple-poly-call-nested 8.2271+-0.2076 ? 8.3679+-0.2076 ? might be 1.0171x slower simple-poly-call 1.3619+-0.1777 1.3469+-0.1134 might be 1.0112x faster sin-boolean 24.0499+-2.5477 23.5060+-1.8286 might be 1.0231x faster singleton-scope 63.3236+-1.9017 ? 64.3138+-2.2332 ? might be 1.0156x slower sink-function 12.0070+-0.1348 ? 12.1618+-0.2678 ? might be 1.0129x slower sink-huge-activation 22.1722+-6.2148 20.0236+-0.9109 might be 1.1073x faster sinkable-new-object-dag 70.2674+-1.4754 69.4517+-0.6779 might be 1.0117x faster sinkable-new-object-taken 52.0774+-2.4777 ? 52.9524+-4.4380 ? might be 1.0168x slower sinkable-new-object 39.5743+-1.0274 38.9773+-1.0698 might be 1.0153x faster slow-array-profile-convergence 2.8321+-0.0629 ? 3.8054+-1.2320 ? might be 1.3437x slower slow-convergence 2.8446+-0.3419 ? 2.9048+-0.5162 ? might be 1.0212x slower slow-ternaries 28.7999+-0.7321 ? 29.3488+-1.6584 ? might be 1.0191x slower sorting-benchmark 22.5303+-6.7819 20.1567+-0.6321 might be 1.1178x faster sparse-conditional 1.1590+-0.0446 ? 1.1798+-0.0553 ? might be 1.0179x slower splice-to-remove 16.8962+-1.2926 ? 17.1753+-1.6682 ? might be 1.0165x slower string-char-code-at 16.1102+-0.5627 15.7331+-0.1565 might be 1.0240x faster string-concat-object 2.7194+-0.3771 2.6825+-0.2498 might be 1.0138x faster string-concat-pair-object 2.6182+-0.0607 ? 2.7430+-0.3295 ? might be 1.0477x slower string-concat-pair-simple 11.6907+-0.2473 ? 12.3043+-1.2872 ? might be 1.0525x slower string-concat-simple 12.5482+-1.0548 ? 12.8846+-1.5299 ? might be 1.0268x slower string-cons-repeat 8.4778+-0.9321 ? 8.4848+-1.0263 ? string-cons-tower 9.2418+-0.7570 8.9915+-0.8136 might be 1.0278x faster string-equality 19.3004+-0.6692 ? 19.9683+-1.3063 ? might be 1.0346x slower string-get-by-val-big-char 7.1883+-0.1170 ? 7.2420+-0.0633 ? string-get-by-val-out-of-bounds-insane 3.8798+-0.6317 ? 4.0480+-0.6753 ? might be 1.0433x slower string-get-by-val-out-of-bounds 5.4853+-0.6751 5.2223+-0.1013 might be 1.0504x faster string-get-by-val 3.3431+-0.1792 ? 3.4884+-0.4117 ? might be 1.0435x slower string-hash 2.0536+-0.0519 ? 2.1485+-0.2389 ? might be 1.0462x slower string-long-ident-equality 15.4668+-0.2407 15.3604+-0.5268 string-out-of-bounds 14.9713+-0.1998 ? 14.9990+-0.3442 ? string-repeat-arith 34.6861+-4.2816 34.1481+-2.5263 might be 1.0158x faster string-sub 67.3770+-1.6485 66.7317+-3.5303 string-test 3.0019+-0.2449 ? 3.1235+-0.3011 ? might be 1.0405x slower string-var-equality 34.2492+-1.7197 34.2321+-1.8726 structure-hoist-over-transitions 2.7497+-0.0787 ? 2.7963+-0.1009 ? might be 1.0169x slower substring-concat-weird 41.1761+-1.3967 40.1272+-1.3637 might be 1.0261x faster substring-concat 44.0282+-1.2562 43.7203+-1.2885 substring 47.8792+-1.7267 45.6721+-1.1005 might be 1.0483x faster switch-char-constant 2.9409+-0.3600 2.7429+-0.0519 might be 1.0722x faster switch-char 6.7294+-0.8128 6.2296+-0.2866 might be 1.0802x faster switch-constant 8.4329+-0.2148 ? 8.4751+-0.3198 ? switch-string-basic-big-var 18.7159+-0.5782 18.2968+-0.4150 might be 1.0229x faster switch-string-basic-big 15.4889+-0.8065 14.9184+-0.1584 might be 1.0382x faster switch-string-basic-var 15.2772+-0.3117 ? 15.3450+-0.7401 ? switch-string-basic 13.5437+-0.4191 13.3485+-0.2427 might be 1.0146x faster switch-string-big-length-tower-var 21.0907+-1.3793 20.9874+-1.1801 switch-string-length-tower-var 15.4108+-0.1461 15.2867+-0.1780 switch-string-length-tower 13.0233+-0.2309 12.8256+-0.2212 might be 1.0154x faster switch-string-short 13.5262+-1.0170 13.0576+-0.3531 might be 1.0359x faster switch 13.0132+-0.4591 12.9389+-0.2894 tear-off-arguments-simple 3.4713+-0.0443 ? 3.5341+-0.0577 ? might be 1.0181x slower tear-off-arguments 4.9507+-0.2953 ? 5.1099+-0.4864 ? might be 1.0322x slower temporal-structure 12.1609+-0.1439 ? 12.3917+-0.3883 ? might be 1.0190x slower to-int32-boolean 13.6122+-0.1649 ? 13.6833+-0.1625 ? try-catch-get-by-val-cloned-arguments 15.3373+-1.6650 14.2963+-0.3405 might be 1.0728x faster try-catch-get-by-val-direct-arguments 6.5801+-0.1920 ? 6.8730+-0.3588 ? might be 1.0445x slower try-catch-get-by-val-scoped-arguments 7.7008+-0.2720 ? 8.0640+-1.1009 ? might be 1.0472x slower typed-array-get-set-by-val-profiling 32.3715+-1.4685 ? 32.4524+-1.4377 ? undefined-property-access 344.9226+-2.3119 341.9918+-2.6892 undefined-test 3.0487+-0.0474 ? 3.1481+-0.0554 ? might be 1.0326x slower unprofiled-licm 22.9327+-0.4499 22.6808+-0.4590 might be 1.0111x faster varargs-call 14.9148+-0.5800 14.6225+-0.2455 might be 1.0200x faster varargs-construct-inline 27.9732+-0.6724 ? 28.0228+-0.8184 ? varargs-construct 22.7318+-0.3458 ? 23.3678+-1.0664 ? might be 1.0280x slower varargs-inline 10.0381+-0.9738 9.4571+-0.3668 might be 1.0614x faster varargs-strict-mode 10.3033+-0.3054 ? 10.4188+-0.3386 ? might be 1.0112x slower varargs 10.4428+-0.3759 10.2381+-0.1802 might be 1.0200x faster weird-inlining-const-prop 2.4474+-0.2453 2.3680+-0.1541 might be 1.0335x faster <geometric> 8.6467+-0.0251 8.6102+-0.0377 might be 1.0042x faster TipOfTree BoolIntSpec AsmBench: bigfib.cpp 496.2467+-4.5776 ? 497.2357+-1.8829 ? cray.c 428.7062+-3.0084 ? 430.4986+-8.8767 ? dry.c 480.7573+-9.2597 478.6118+-7.4349 FloatMM.c 726.2832+-3.4248 725.4382+-2.6150 gcc-loops.cpp 4273.6116+-17.1843 ? 4282.6942+-25.0240 ? n-body.c 975.9207+-3.6292 ? 977.3698+-3.2127 ? Quicksort.c 421.1567+-2.3119 ? 450.9852+-77.5423 ? might be 1.0708x slower stepanov_container.cpp 3648.8674+-58.4641 3611.8536+-11.3599 might be 1.0102x faster Towers.c 260.0277+-1.7729 ? 260.3431+-1.3355 ? <geometric> 792.8256+-3.2088 ? 797.6762+-13.4104 ? might be 1.0061x slower TipOfTree BoolIntSpec CompressionBench: huffman 363.6234+-6.4071 ? 368.1650+-2.6827 ? might be 1.0125x slower arithmetic-simple 366.5913+-10.9568 365.9233+-3.0822 arithmetic-precise 290.2744+-2.8090 ? 295.6559+-3.9577 ? might be 1.0185x slower arithmetic-complex-precise 299.2030+-2.1811 ? 303.9151+-2.6161 ? might be 1.0157x slower arithmetic-precise-order-0 384.8005+-6.5987 383.7413+-3.4014 arithmetic-precise-order-1 331.6822+-3.9242 ? 331.8702+-6.0545 ? arithmetic-precise-order-2 362.0633+-6.1394 ? 364.2708+-4.7355 ? arithmetic-simple-order-1 427.5013+-4.3822 423.0996+-4.3408 might be 1.0104x faster arithmetic-simple-order-2 466.1084+-6.7059 465.5752+-4.7778 lz-string 335.9762+-2.6052 334.0248+-6.4761 <geometric> 359.2276+-0.9195 ? 360.3610+-1.1667 ? might be 1.0032x slower TipOfTree BoolIntSpec Geomean of preferred means: <scaled-result> 61.7966+-0.2682 ? 61.9942+-0.3066 ? might be 1.0032x slower
Filip Pizlo
Comment 4 2015-05-18 17:47:50 PDT
Looks like the SunSpider slow-down was a fluke: Benchmark report for SunSpider on dethklok (MacBookPro9,1). VMs tested: "TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r184521) "BoolIntSpec" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r184521) 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 BoolIntSpec 3d-cube 5.3841+-0.1434 5.3698+-0.1369 3d-morph 6.1191+-0.1668 6.0428+-0.1350 might be 1.0126x faster 3d-raytrace 6.7284+-0.1396 6.6906+-0.0687 access-binary-trees 2.4079+-0.0472 ? 2.4159+-0.0617 ? access-fannkuch 6.2932+-0.1311 6.1301+-0.0934 might be 1.0266x faster access-nbody 3.1181+-0.0878 ? 3.1449+-0.0678 ? access-nsieve 3.3137+-0.0523 3.2881+-0.0632 bitops-3bit-bits-in-byte 1.6335+-0.0254 ? 1.6740+-0.0407 ? might be 1.0248x slower bitops-bits-in-byte 3.7024+-0.0361 ? 3.7390+-0.0537 ? bitops-bitwise-and 2.2451+-0.0484 2.2248+-0.0410 bitops-nsieve-bits 3.2238+-0.0580 ! 3.4793+-0.0551 ! definitely 1.0793x slower controlflow-recursive 2.3620+-0.0318 ? 2.4008+-0.0652 ? might be 1.0164x slower crypto-aes 4.7061+-0.1162 ? 4.7702+-0.1331 ? might be 1.0136x slower crypto-md5 3.1490+-0.0540 3.1072+-0.1047 might be 1.0135x faster crypto-sha1 2.9588+-0.0785 2.8895+-0.0729 might be 1.0240x faster date-format-tofte 9.3255+-0.1829 ? 9.5809+-0.2876 ? might be 1.0274x slower date-format-xparb 6.0780+-0.1330 ? 6.0819+-0.0790 ? math-cordic 3.2739+-0.0564 ^ 3.1625+-0.0331 ^ definitely 1.0352x faster math-partial-sums 5.6214+-0.1324 5.5761+-0.0916 math-spectral-norm 2.0711+-0.0412 ? 2.0719+-0.0559 ? regexp-dna 7.7913+-0.2231 7.6609+-0.1902 might be 1.0170x faster string-base64 5.1313+-0.1274 5.0240+-0.0962 might be 1.0213x faster string-fasta 6.7966+-0.0848 ? 6.8197+-0.1315 ? string-tagcloud 10.1179+-0.3013 10.0751+-0.2164 string-unpack-code 21.0380+-0.1630 ? 21.1144+-0.3876 ? string-validate-input 5.1039+-0.0811 ? 5.1627+-0.0997 ? might be 1.0115x slower <arithmetic> 5.3729+-0.0231 ? 5.3730+-0.0286 ? might be 1.0000x slower
Filip Pizlo
Comment 5 2015-05-18 17:51:19 PDT
Created attachment 253358 [details] the patch
WebKit Commit Bot
Comment 6 2015-05-18 17:53:05 PDT
Attachment 253358 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:261: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:262: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] Total errors found: 2 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 7 2015-05-18 18:07:48 PDT
(In reply to comment #6) > Attachment 253358 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:261: Multi > line control clauses should use braces. [whitespace/braces] [4] It does have braces. > ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:262: > Boolean expressions that span multiple lines should have their operators on > the left side of the line instead of the right side. [whitespace/operators] > [4] Maybe. But in this case, I think that the way the expressions are aligned helps to understand what is going on. I will keep it. > Total errors found: 2 in 4 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style.
Filip Pizlo
Comment 8 2015-05-18 19:30:22 PDT
Note You need to log in before you can comment on or make changes to this bug.