WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
154440
[ES6] Implement Proxy.[[Construct]]
https://bugs.webkit.org/show_bug.cgi?id=154440
Summary
[ES6] Implement Proxy.[[Construct]]
Saam Barati
Reported
2016-02-18 23:00:10 PST
...
Attachments
patch
(23.54 KB, patch)
2016-02-19 18:19 PST
,
Saam Barati
oliver
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Saam Barati
Comment 1
2016-02-19 18:19:36 PST
Created
attachment 271833
[details]
patch
WebKit Commit Bot
Comment 2
2016-02-19 18:21:11 PST
Attachment 271833
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOperations.cpp:167: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] Total errors found: 1 in 15 files If any of these errors are false positives, please file a bug against check-webkit-style.
Saam Barati
Comment 3
2016-02-19 18:23:38 PST
Ran benchmarks because of changing create_this It's claiming a big slow down on json-stringify-tinderbox, but I don't trust that it's actually a slow down. I haven't changed code related to that benchmark and have seen a slow down (like now), and I've also changed code not related to it and seen a speed up in the past. I'm going to ignore it for now. When running just that benchmark without the entire suite, I was getting about a 4% "slowdown". Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Saams-MacBook-Pro (MacBookPro11,3). VMs tested: "og" at /Volumes/Data/WK/a/OpenSource/WebKitBuild/Release/jsc (
r196836
) "change" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (
r196836
) 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. og change SunSpider: 3d-cube 7.3352+-0.4663 7.1460+-0.1870 might be 1.0265x faster 3d-morph 8.1139+-0.1181 8.0964+-0.1144 3d-raytrace 9.6134+-2.8296 9.1818+-0.9997 might be 1.0470x faster access-binary-trees 3.0880+-0.0443 3.0793+-0.0598 access-fannkuch 9.0050+-0.1508 8.8686+-0.2245 might be 1.0154x faster access-nbody 4.0245+-0.2063 3.9428+-0.0500 might be 1.0207x faster access-nsieve 4.9777+-0.2602 4.9047+-0.0782 might be 1.0149x faster bitops-3bit-bits-in-byte 1.6918+-0.0608 ? 1.6965+-0.0245 ? bitops-bits-in-byte 4.6413+-0.1482 ? 4.6781+-0.1415 ? bitops-bitwise-and 3.0629+-0.0525 3.0483+-0.0649 bitops-nsieve-bits 4.9324+-1.1371 4.5110+-0.2135 might be 1.0934x faster controlflow-recursive 3.5227+-0.1266 3.5150+-0.0640 crypto-aes 6.0642+-0.0389 6.0491+-0.0793 crypto-md5 3.8072+-0.0445 ? 3.8101+-0.0630 ? crypto-sha1 3.4468+-0.0914 3.3488+-0.0455 might be 1.0292x faster date-format-tofte 10.6065+-0.5264 ? 10.7917+-0.5968 ? might be 1.0175x slower date-format-xparb 7.1639+-0.3590 ? 7.6572+-1.3926 ? might be 1.0689x slower math-cordic 4.3578+-0.0657 ? 4.3887+-0.1230 ? math-partial-sums 7.3992+-0.0502 ? 7.4186+-0.1427 ? math-spectral-norm 2.9541+-0.0452 2.9510+-0.0163 regexp-dna 9.7386+-0.3839 9.5715+-0.1910 might be 1.0175x faster string-base64 6.6731+-0.0606 ? 7.4460+-1.8705 ? might be 1.1158x slower string-fasta 9.0912+-0.5939 8.9958+-0.2135 might be 1.0106x faster string-tagcloud 12.3619+-0.2760 12.2238+-0.3188 might be 1.0113x faster string-unpack-code 27.1171+-0.3927 ? 27.6357+-0.7797 ? might be 1.0191x slower string-validate-input 6.3763+-0.0605 ? 6.3915+-0.0894 ? <arithmetic> 6.9680+-0.1766 ? 6.9749+-0.1716 ? might be 1.0010x slower og change LongSpider: 3d-cube 1242.4852+-13.6719 1232.8468+-6.8158 3d-morph 922.0151+-2.5596 921.1400+-0.8496 3d-raytrace 966.2213+-6.3557 ? 969.6072+-6.8909 ? access-binary-trees 1245.0384+-11.3726 1240.1152+-4.8851 access-fannkuch 439.0143+-46.6689 426.0937+-48.7848 might be 1.0303x faster access-nbody 796.5947+-0.2257 796.5033+-0.1370 access-nsieve 515.4970+-3.4211 ? 538.3703+-58.0893 ? might be 1.0444x slower bitops-3bit-bits-in-byte 51.5664+-0.2317 51.4462+-0.0411 bitops-bits-in-byte 168.5716+-3.5800 ? 169.2112+-2.8106 ? bitops-nsieve-bits 598.8747+-6.1902 594.7639+-3.1494 controlflow-recursive 706.6451+-3.4939 705.9624+-2.3617 crypto-aes 989.7089+-4.5953 ? 990.3807+-5.8667 ? crypto-md5 908.3913+-12.5433 ? 910.6193+-11.0576 ? crypto-sha1 1153.3921+-5.9309 1152.8166+-4.9250 date-format-tofte 876.1734+-21.3831 ? 876.4246+-12.1941 ? date-format-xparb 995.1245+-4.4365 ! 1001.1654+-1.5823 ! definitely 1.0061x slower hash-map 236.8259+-4.1157 236.4858+-2.8132 math-cordic 731.4942+-9.0434 ? 738.7069+-9.5928 ? math-partial-sums 636.4109+-0.7241 635.8084+-0.8192 math-spectral-norm 854.4603+-0.7814 853.9714+-0.9064 string-base64 589.3462+-6.6652 ? 627.6405+-91.9425 ? might be 1.0650x slower string-fasta 542.2315+-5.4449 ? 548.3340+-12.0857 ? might be 1.0113x slower string-tagcloud 256.9517+-2.5891 255.6188+-0.9506 <geometric> 594.3759+-3.8175 ? 596.2281+-4.9291 ? might be 1.0031x slower og change V8Spider: crypto 57.8856+-0.5269 57.3193+-0.1828 deltablue 76.2763+-2.8686 ? 77.2826+-1.9250 ? might be 1.0132x slower earley-boyer 59.5703+-0.3917 59.4159+-0.6276 raytrace 30.1468+-0.4771 ? 30.5571+-0.7821 ? might be 1.0136x slower regexp 94.7330+-2.2973 ? 94.7757+-1.6146 ? richards 62.1947+-0.4271 ? 62.5832+-0.6415 ? splay 50.3670+-4.1729 49.7024+-2.5730 might be 1.0134x faster <geometric> 58.5024+-0.2974 ? 58.5851+-0.9460 ? might be 1.0014x slower og change Octane: encrypt 0.23992+-0.00382 ? 0.24193+-0.00226 ? decrypt 4.33483+-0.02945 4.32319+-0.01387 deltablue x2 0.21232+-0.01646 0.20528+-0.00414 might be 1.0343x faster earley 0.44867+-0.00994 ? 0.45108+-0.00533 ? boyer 7.47964+-0.04263 7.47459+-0.01792 navier-stokes x2 7.60486+-0.00891 ? 7.60855+-0.01461 ? raytrace x2 1.38565+-0.02772 ? 1.40023+-0.00514 ? might be 1.0105x slower richards x2 0.12613+-0.00208 0.12560+-0.00089 splay x2 0.52524+-0.00810 0.51534+-0.00977 might be 1.0192x faster regexp x2 39.57396+-0.47047 38.73897+-0.70656 might be 1.0216x faster pdfjs x2 58.68395+-0.24273 58.28930+-0.59698 mandreel x2 69.95148+-0.19873 ? 70.00130+-0.14337 ? gbemu x2 42.50506+-1.06774 42.14435+-0.22374 closure 0.87863+-0.00905 0.87338+-0.00326 jquery 11.38190+-0.06962 11.31866+-0.04586 box2d x2 15.35900+-0.07890 ? 15.49120+-0.10929 ? zlib x2 575.99291+-2.97203 ? 577.16005+-2.72533 ? typescript x2 957.06177+-5.46219 ? 963.24581+-15.50920 ? <geometric> 8.20108+-0.05889 8.16650+-0.02706 might be 1.0042x faster og change Kraken: ai-astar 147.391+-2.454 ? 151.310+-6.850 ? might be 1.0266x slower audio-beat-detection 65.647+-0.283 ? 65.717+-0.627 ? audio-dft 150.811+-15.608 145.208+-0.649 might be 1.0386x faster audio-fft 48.611+-0.186 48.520+-0.134 audio-oscillator 74.217+-0.455 ? 74.354+-0.533 ? imaging-darkroom 89.717+-0.629 89.319+-0.189 imaging-desaturate 69.847+-4.291 68.393+-0.377 might be 1.0213x faster imaging-gaussian-blur 118.460+-0.151 116.509+-6.020 might be 1.0167x faster json-parse-financial 56.039+-0.214 55.788+-0.254 json-stringify-tinderbox 35.173+-1.173 ! 38.194+-1.300 ! definitely 1.0859x slower stanford-crypto-aes 62.263+-2.311 60.545+-0.534 might be 1.0284x faster stanford-crypto-ccm 54.027+-2.789 ? 54.896+-0.589 ? might be 1.0161x slower stanford-crypto-pbkdf2 154.988+-1.636 ? 155.629+-2.984 ? stanford-crypto-sha256-iterative 59.001+-0.121 58.664+-0.241 <arithmetic> 84.728+-0.973 84.503+-0.751 might be 1.0027x faster og change JSRegress: abc-forward-loop-equal 36.5127+-0.2768 36.4107+-0.1725 abc-postfix-backward-loop 45.5080+-0.0747 ? 45.5204+-0.0417 ? abc-simple-backward-loop 40.7005+-11.3838 36.0231+-0.0780 might be 1.1298x faster abc-simple-forward-loop 36.2334+-0.1271 36.1530+-0.1020 abc-skippy-loop 31.6122+-0.1952 31.4352+-0.0621 abs-boolean 3.6845+-0.0299 ? 3.6922+-0.0226 ? adapt-to-double-divide 22.0971+-0.2176 ? 22.2865+-0.3434 ? aliased-arguments-getbyval 1.6357+-0.0828 ? 1.6758+-0.0866 ? might be 1.0245x slower allocate-big-object 3.3757+-0.0770 ? 3.3944+-0.1404 ? arguments-named-and-reflective 12.2998+-0.2238 12.2590+-0.0716 arguments-out-of-bounds 10.5395+-0.7868 10.3346+-0.1138 might be 1.0198x faster arguments-strict-mode 71.3882+-4.1087 71.2793+-1.9183 arguments 10.2171+-0.0319 ? 10.2407+-0.0300 ? arity-mismatch-inlining 1.2443+-0.0231 ? 1.2830+-0.0845 ? might be 1.0311x slower array-access-polymorphic-structure 12.0463+-3.1274 10.9351+-0.2735 might be 1.1016x faster array-nonarray-polymorhpic-access 30.0765+-0.5181 29.8516+-0.7048 array-prototype-every 105.4339+-1.3356 ? 105.7482+-0.8858 ? array-prototype-forEach 104.0730+-1.4117 ? 105.2797+-0.4358 ? might be 1.0116x slower array-prototype-map 114.9467+-1.7982 ? 116.4191+-3.1071 ? might be 1.0128x slower array-prototype-reduce 99.3820+-0.1125 ? 99.8306+-0.3842 ? array-prototype-reduceRight 129.2960+-4.7693 ^ 122.7528+-0.1741 ^ definitely 1.0533x faster array-prototype-some 105.7176+-0.3662 ? 106.9655+-2.5647 ? might be 1.0118x slower array-splice-contiguous 34.0573+-0.4899 33.8890+-0.4219 array-with-double-add 5.2749+-0.0627 5.2520+-0.0256 array-with-double-increment 5.0711+-1.0856 4.5960+-0.0376 might be 1.1034x faster array-with-double-mul-add 6.7314+-0.0665 ? 6.7346+-0.0713 ? array-with-double-sum 4.7786+-0.0399 4.7714+-0.0736 array-with-int32-add-sub 9.4058+-0.0691 ? 10.7882+-2.9958 ? might be 1.1470x slower array-with-int32-or-double-sum 5.1645+-0.6110 4.9011+-0.0578 might be 1.0537x faster ArrayBuffer-DataView-alloc-large-long-lived 41.8556+-0.6715 41.0613+-0.4165 might be 1.0193x faster ArrayBuffer-DataView-alloc-long-lived 18.8993+-0.1697 18.8428+-0.1673 ArrayBuffer-Int32Array-byteOffset 5.4115+-0.1345 5.3882+-0.0663 ArrayBuffer-Int8Array-alloc-large-long-lived 41.4325+-0.5990 41.1364+-0.2769 ArrayBuffer-Int8Array-alloc-long-lived-buffer 30.0013+-0.6733 29.9598+-0.1891 ArrayBuffer-Int8Array-alloc-long-lived 17.4955+-0.3460 17.4491+-0.5773 ArrayBuffer-Int8Array-alloc 14.8814+-0.4550 14.5488+-0.2238 might be 1.0229x faster arrowfunction-call 14.7749+-0.1841 ? 14.9010+-0.3003 ? asmjs_bool_bug 11.3498+-0.1272 11.2873+-0.2073 assign-custom-setter-polymorphic 3.8240+-0.0232 ? 3.8607+-0.0253 ? assign-custom-setter 5.4792+-0.2313 5.4765+-0.0333 basic-set 11.9658+-0.5783 11.7269+-0.3591 might be 1.0204x faster big-int-mul 4.6221+-0.0462 4.6187+-0.0323 boolean-test 4.9812+-0.0602 ? 5.0057+-0.0443 ? branch-fold 5.3112+-0.0398 5.3009+-0.0350 branch-on-string-as-boolean 17.7840+-0.6994 ? 18.3415+-1.1960 ? might be 1.0313x slower by-val-generic 6.3180+-0.2985 ? 6.3468+-0.2372 ? call-spread-apply 66.5140+-1.0930 66.0244+-1.2365 call-spread-call 102.3954+-4.6849 99.5690+-4.5115 might be 1.0284x faster captured-assignments 0.6586+-0.0178 0.6558+-0.0117 cast-int-to-double 7.5343+-0.0406 7.5205+-0.0197 cell-argument 4.2754+-0.0304 4.2317+-0.0327 might be 1.0103x faster cfg-simplify 4.2502+-0.1075 ? 4.3474+-0.1401 ? might be 1.0229x slower chain-getter-access 16.9537+-0.1834 ? 16.9654+-0.1570 ? cmpeq-obj-to-obj-other 13.3575+-0.6335 13.2274+-0.2207 constant-test 7.1350+-0.0863 7.0872+-0.0265 create-lots-of-functions 11.5844+-1.5026 ? 11.7909+-1.5675 ? might be 1.0178x slower cse-new-array-buffer 3.2148+-0.1239 3.1968+-0.1363 cse-new-array 3.3415+-0.1660 3.1746+-0.1719 might be 1.0526x faster custom-setter-getter-as-put-get-by-id 0.7576+-0.0270 ? 0.7635+-0.0417 ? DataView-custom-properties 49.3934+-0.6126 ? 49.8127+-0.3023 ? delay-tear-off-arguments-strictmode 17.6281+-0.2527 ? 18.7403+-2.6266 ? might be 1.0631x slower deltablue-varargs 59.4245+-5.3761 57.9547+-0.8120 might be 1.0254x faster destructuring-arguments 236.2841+-1.8385 ? 238.0123+-1.1428 ? destructuring-parameters-overridden-by-function 0.6628+-0.0130 ? 0.6650+-0.0117 ? destructuring-swap 6.9567+-0.0358 ? 6.9786+-0.0583 ? direct-arguments-getbyval 1.6383+-0.0637 ? 1.7878+-0.1479 ? might be 1.0913x slower div-boolean-double 7.0535+-0.0249 7.0513+-0.0280 div-boolean 11.7393+-0.0862 ? 11.8074+-0.1443 ? double-get-by-val-out-of-bounds 6.3873+-0.1944 ? 6.3898+-0.3729 ? double-pollution-getbyval 12.8420+-0.2003 12.7166+-0.1455 double-pollution-putbyoffset 5.3537+-0.0494 ? 5.3572+-0.1084 ? double-real-use 36.8113+-0.0908 ? 37.7024+-2.2315 ? might be 1.0242x slower double-to-int32-typed-array-no-inline 3.0017+-0.1833 2.9656+-0.0477 might be 1.0122x faster double-to-int32-typed-array 2.9742+-0.0250 ? 3.0913+-0.1779 ? might be 1.0394x slower double-to-uint32-typed-array-no-inline 3.3708+-0.8654 3.1635+-0.1382 might be 1.0655x faster double-to-uint32-typed-array 3.0540+-0.1024 3.0181+-0.0453 might be 1.0119x faster elidable-new-object-dag 46.5707+-0.2543 ? 47.0789+-0.8476 ? might be 1.0109x slower elidable-new-object-roflcopter 48.3047+-0.2728 ? 48.4083+-0.2487 ? elidable-new-object-then-call 35.7102+-0.1747 35.5980+-0.1774 elidable-new-object-tree 48.2112+-0.6200 47.9027+-0.1552 empty-string-plus-int 7.2731+-0.1318 7.1809+-0.1425 might be 1.0128x faster emscripten-cube2hash 37.1432+-0.5754 ? 37.2406+-0.4953 ? exit-length-on-plain-object 22.8970+-1.0963 22.7937+-0.2576 external-arguments-getbyval 1.6542+-0.0996 1.6338+-0.0334 might be 1.0125x faster external-arguments-putbyval 3.2590+-0.0425 ? 3.3352+-0.1985 ? might be 1.0234x slower fixed-typed-array-storage-var-index 1.7450+-0.0189 1.7439+-0.0535 fixed-typed-array-storage 1.3679+-0.0361 ? 1.4212+-0.1523 ? might be 1.0390x slower Float32Array-matrix-mult 7.0207+-0.5170 6.7926+-0.1140 might be 1.0336x faster Float32Array-to-Float64Array-set 65.3985+-1.9354 ? 67.2919+-1.8026 ? might be 1.0290x slower Float64Array-alloc-long-lived 83.0955+-0.8420 82.6116+-0.7893 Float64Array-to-Int16Array-set 85.6010+-0.5512 ? 89.3221+-9.6583 ? might be 1.0435x slower fold-double-to-int 19.6587+-0.0380 ? 19.8480+-0.3100 ? fold-get-by-id-to-multi-get-by-offset-rare-int 13.0333+-0.2278 ? 13.1366+-0.3499 ? fold-get-by-id-to-multi-get-by-offset 10.4372+-0.1702 ? 10.5262+-0.1806 ? fold-multi-get-by-offset-to-get-by-offset 9.4837+-2.0436 ? 9.4855+-2.0086 ? fold-multi-get-by-offset-to-poly-get-by-offset 11.0156+-2.6362 9.3213+-2.0326 might be 1.1818x faster fold-multi-put-by-offset-to-poly-put-by-offset 10.8171+-1.7410 ? 11.5111+-1.8754 ? might be 1.0642x slower fold-multi-put-by-offset-to-put-by-offset 9.5806+-1.7255 ? 10.0908+-3.0790 ? might be 1.0533x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 14.9005+-1.5536 14.3613+-0.2485 might be 1.0375x faster fold-put-by-id-to-multi-put-by-offset 12.4680+-0.1263 ? 12.4839+-0.2977 ? fold-put-by-val-with-string-to-multi-put-by-offset 12.6362+-0.3500 12.6081+-0.1973 fold-put-by-val-with-symbol-to-multi-put-by-offset 12.8319+-0.3048 12.7501+-0.0574 fold-put-structure 7.5072+-0.2071 7.5013+-0.2324 for-of-iterate-array-entries 14.3945+-0.3636 14.3225+-0.4338 for-of-iterate-array-keys 4.8986+-0.0542 ? 5.0497+-0.3272 ? might be 1.0309x slower for-of-iterate-array-values 4.7144+-0.1667 ? 4.7320+-0.2589 ? fround 17.9428+-0.1264 ? 18.1596+-0.2618 ? might be 1.0121x slower ftl-library-inlining-dataview 88.3227+-0.2569 ! 91.5600+-0.6799 ! definitely 1.0367x slower ftl-library-inlining 35.2849+-0.1448 ? 35.2864+-0.1758 ? ftl-polymorphic-bitand 175.4882+-3.2483 172.1012+-0.5833 might be 1.0197x faster ftl-polymorphic-bitor 173.1597+-0.9592 ? 173.2799+-1.6247 ? ftl-polymorphic-bitxor 173.8219+-0.5132 ? 174.8843+-3.1955 ? ftl-polymorphic-div 685.9545+-1.1611 685.5875+-1.2797 ftl-polymorphic-lshift 218.6148+-1.2449 ? 218.6245+-2.9951 ? ftl-polymorphic-mul 336.7717+-0.1422 ? 339.4548+-7.5028 ? ftl-polymorphic-rshift 218.1824+-0.9519 217.1938+-0.1702 ftl-polymorphic-StringFromCharCode 63.9398+-0.1199 63.8251+-0.1476 ftl-polymorphic-sub 252.9625+-0.3664 252.6932+-2.7098 ftl-polymorphic-urshift 237.5991+-0.7323 236.0367+-0.9759 function-call 15.9484+-0.2519 ? 16.0035+-0.4752 ? function-dot-apply 3.0202+-0.0150 ? 3.1239+-0.2001 ? might be 1.0344x slower function-test 4.7552+-0.1199 ? 4.7553+-0.0935 ? function-with-eval 145.3370+-2.1079 ? 146.6096+-2.3273 ? gcse-poly-get-less-obvious 22.7405+-0.2632 ? 22.8514+-0.3162 ? gcse-poly-get 24.8124+-2.5626 23.9698+-1.9312 might be 1.0352x faster gcse 5.0226+-0.0825 ? 5.1953+-0.4405 ? might be 1.0344x slower generator-create 1.0518+-0.0317 ? 1.0668+-0.0282 ? might be 1.0142x slower generator-fib 153.5582+-1.2765 ^ 150.7392+-1.0958 ^ definitely 1.0187x faster generator-function-create 5.3707+-0.1517 ? 5.6363+-0.4477 ? might be 1.0494x slower generator-sunspider-access-nsieve 8.6490+-0.3300 8.5156+-0.1898 might be 1.0157x faster generator-with-several-types 493.9170+-13.1188 485.7619+-13.5076 might be 1.0168x faster get-by-id-bimorphic-check-structure-elimination-simple 3.8737+-0.0362 ? 3.9077+-0.0367 ? get-by-id-bimorphic-check-structure-elimination 7.1379+-0.0967 ? 7.1790+-0.1883 ? get-by-id-chain-from-try-block 2.8326+-0.0567 2.8015+-0.0448 might be 1.0111x faster get-by-id-check-structure-elimination 5.8606+-0.0418 5.8466+-0.0233 get-by-id-proto-or-self 15.5701+-2.7598 ? 16.4089+-2.9899 ? might be 1.0539x slower get-by-id-quadmorphic-check-structure-elimination-simple 4.2708+-0.0396 4.2435+-0.0203 get-by-id-self-or-proto 14.9701+-1.2901 14.6457+-0.7033 might be 1.0222x faster get-by-val-out-of-bounds 6.1491+-0.2306 5.8848+-0.2132 might be 1.0449x faster get-by-val-with-string-bimorphic-check-structure-elimination-simple 4.0388+-0.0338 ? 4.0628+-0.0810 ? get-by-val-with-string-bimorphic-check-structure-elimination 9.5597+-0.0601 ? 9.6092+-0.1637 ? get-by-val-with-string-chain-from-try-block 2.8895+-0.0350 ? 2.9218+-0.0358 ? might be 1.0112x slower get-by-val-with-string-check-structure-elimination 8.4188+-0.0607 ? 8.4316+-0.0552 ? get-by-val-with-string-proto-or-self 18.2996+-2.0405 ? 18.7792+-0.6434 ? might be 1.0262x slower get-by-val-with-string-quadmorphic-check-structure-elimination-simple 4.5113+-0.0214 ? 4.5506+-0.0678 ? get-by-val-with-string-self-or-proto 18.3485+-1.4860 ? 19.3942+-1.9123 ? might be 1.0570x slower get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 4.6612+-0.0707 ? 4.6785+-0.0380 ? get-by-val-with-symbol-bimorphic-check-structure-elimination 18.4610+-0.1008 ? 18.6217+-0.2762 ? get-by-val-with-symbol-chain-from-try-block 3.0371+-0.2759 2.9181+-0.0371 might be 1.0408x faster get-by-val-with-symbol-check-structure-elimination 17.1880+-0.2597 ? 17.3105+-0.3335 ? get-by-val-with-symbol-proto-or-self 20.2994+-3.6912 18.3208+-1.6119 might be 1.1080x faster get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 5.5154+-0.0476 5.5114+-0.0398 get-by-val-with-symbol-self-or-proto 18.1453+-2.0495 16.4001+-1.4451 might be 1.1064x faster get_callee_monomorphic 3.3018+-0.0688 3.2433+-0.0651 might be 1.0180x faster get_callee_polymorphic 4.8344+-0.0362 4.8059+-0.0750 getter-no-activation 5.7209+-0.1461 ? 6.0096+-0.8254 ? might be 1.0505x slower getter-prototype 7.4089+-0.3238 ? 7.9696+-1.3818 ? might be 1.0757x slower getter-richards-try-catch 1547.6431+-59.7478 1521.9575+-22.9692 might be 1.0169x faster getter-richards 105.7059+-2.9596 103.1278+-2.9477 might be 1.0250x faster getter 6.5839+-0.0613 ? 6.9824+-0.7681 ? might be 1.0605x slower global-object-access-with-mutating-structure 7.7180+-0.1545 7.3677+-0.2279 might be 1.0475x faster global-var-const-infer-fire-from-opt 1.3598+-0.1727 1.3182+-0.0711 might be 1.0315x faster global-var-const-infer 0.9591+-0.0289 ? 1.0335+-0.1651 ? might be 1.0776x slower hard-overflow-check-equal 35.5187+-0.1450 ? 35.5840+-0.2942 ? hard-overflow-check 35.3431+-0.1382 ? 35.3699+-0.1358 ? HashMap-put-get-iterate-keys 34.3416+-0.3465 34.2168+-0.2729 HashMap-put-get-iterate 34.2607+-0.5856 ? 34.4462+-1.7167 ? HashMap-string-put-get-iterate 36.8549+-0.3654 ? 36.9733+-0.3020 ? hoist-make-rope 6.4775+-0.9738 6.4035+-1.0641 might be 1.0116x faster hoist-poly-check-structure-effectful-loop 4.4012+-0.1416 4.3260+-0.0335 might be 1.0174x faster hoist-poly-check-structure 3.1106+-0.1098 3.0762+-0.1358 might be 1.0112x faster imul-double-only 4.7521+-0.1344 4.6755+-0.1696 might be 1.0164x faster imul-int-only 7.4068+-0.0392 ? 7.4666+-0.0636 ? imul-mixed 5.1799+-0.0709 ^ 4.8108+-0.2240 ^ definitely 1.0767x faster in-four-cases 23.4937+-0.0575 23.4754+-0.2535 in-one-case-false 14.3460+-0.1505 14.3180+-0.2068 in-one-case-true 14.2873+-0.0892 ? 14.3241+-0.1125 ? in-two-cases 14.2828+-0.2859 ? 14.3976+-0.2306 ? indexed-properties-in-objects 4.2327+-0.1281 4.2002+-0.0114 infer-closure-const-then-mov-no-inline 4.1933+-0.0818 4.1393+-0.0493 might be 1.0131x faster infer-closure-const-then-mov 12.6670+-0.1506 ? 12.7088+-0.1389 ? infer-closure-const-then-put-to-scope-no-inline 15.6665+-0.2379 15.5171+-0.1046 infer-closure-const-then-put-to-scope 33.4108+-0.8179 33.3271+-1.1169 infer-closure-const-then-reenter-no-inline 76.6954+-0.1106 76.6901+-0.1295 infer-closure-const-then-reenter 34.2723+-1.1223 ? 34.7363+-0.6064 ? might be 1.0135x slower infer-constant-global-property 5.1849+-0.0360 5.1743+-0.0170 infer-constant-property 3.9683+-0.1591 3.9233+-0.0327 might be 1.0115x faster infer-one-time-closure-ten-vars 10.3198+-0.0475 10.3032+-0.0534 infer-one-time-closure-two-vars 10.5979+-2.2868 9.9693+-0.6518 might be 1.0631x faster infer-one-time-closure 9.5979+-0.0557 ? 9.6009+-0.0230 ? infer-one-time-deep-closure 17.8221+-0.2032 17.5766+-0.1021 might be 1.0140x faster inline-arguments-access 5.3415+-0.0708 5.1864+-0.2236 might be 1.0299x faster inline-arguments-aliased-access 5.2658+-0.1773 ? 5.3311+-0.0711 ? might be 1.0124x slower inline-arguments-local-escape 5.3666+-0.0945 5.1756+-0.2207 might be 1.0369x faster inline-get-scoped-var 4.8099+-0.1290 ? 4.8564+-0.1545 ? inlined-put-by-id-transition 12.0333+-0.2894 ? 12.2568+-0.2338 ? might be 1.0186x slower inlined-put-by-val-with-string-transition 62.6267+-1.8504 62.2166+-0.3297 inlined-put-by-val-with-symbol-transition 62.3299+-0.4378 62.3156+-1.2862 instanceof-bound 31.5683+-0.9842 31.1843+-1.0715 might be 1.0123x faster int-or-other-abs-then-get-by-val 6.8374+-0.0562 ? 6.9029+-0.1474 ? int-or-other-abs-zero-then-get-by-val 24.2957+-0.7968 23.9038+-0.0620 might be 1.0164x faster int-or-other-add-then-get-by-val 6.2443+-0.0705 6.2177+-0.0571 int-or-other-add 7.2432+-0.0593 7.2347+-0.0413 int-or-other-div-then-get-by-val 5.5774+-0.0342 ? 5.5868+-0.0573 ? int-or-other-max-then-get-by-val 6.1101+-0.6278 5.8626+-0.0331 might be 1.0422x faster int-or-other-min-then-get-by-val 5.8550+-0.0251 5.8375+-0.0350 int-or-other-mod-then-get-by-val 5.2418+-0.1202 5.2014+-0.1025 int-or-other-mul-then-get-by-val 5.3068+-0.1583 ? 5.5450+-0.6122 ? might be 1.0449x slower int-or-other-neg-then-get-by-val 6.4061+-0.0926 6.3575+-0.0365 int-or-other-neg-zero-then-get-by-val 23.8300+-0.0943 ? 23.8955+-0.2391 ? int-or-other-sub-then-get-by-val 6.1521+-0.0367 ? 6.2494+-0.2527 ? might be 1.0158x slower int-or-other-sub 5.2462+-0.2628 5.1430+-0.0340 might be 1.0201x faster int-overflow-local 6.0723+-0.0523 6.0406+-0.0339 Int16Array-alloc-long-lived 62.5029+-1.5811 ? 62.9885+-0.8118 ? Int16Array-bubble-sort-with-byteLength 29.4482+-0.6337 ? 30.2061+-1.6903 ? might be 1.0257x slower Int16Array-bubble-sort 25.3726+-1.8484 25.1509+-1.7096 Int16Array-load-int-mul 2.2699+-0.1545 2.1992+-0.0352 might be 1.0321x faster Int16Array-to-Int32Array-set 65.7238+-0.4022 ? 66.3443+-0.6372 ? Int32Array-alloc-large 16.9514+-0.3800 ? 17.0409+-0.3350 ? Int32Array-alloc-long-lived 68.1875+-1.6635 67.9428+-1.4037 Int32Array-alloc 3.8949+-0.1839 3.8800+-0.2420 Int32Array-Int8Array-view-alloc 8.8443+-0.2012 8.7766+-0.3832 int52-spill 6.7494+-0.0398 ! 6.9426+-0.0687 ! definitely 1.0286x slower Int8Array-alloc-long-lived 57.2685+-0.9510 57.2085+-0.3226 Int8Array-load-with-byteLength 5.1019+-0.0936 5.0420+-0.0935 might be 1.0119x faster Int8Array-load 5.0302+-0.0478 ? 5.2028+-0.4787 ? might be 1.0343x slower integer-divide 16.3103+-0.3023 16.1924+-0.1932 integer-modulo 2.4087+-0.2065 2.3656+-0.0892 might be 1.0182x faster is-boolean-fold-tricky 5.7236+-0.0374 5.6979+-0.0381 is-boolean-fold 3.9963+-0.0186 ? 4.0311+-0.0449 ? is-function-fold-tricky-internal-function 15.2024+-0.0919 ? 15.2553+-0.3571 ? is-function-fold-tricky 6.4002+-0.8454 6.1028+-0.0480 might be 1.0487x faster is-function-fold 4.0638+-0.0643 4.0310+-0.0266 is-number-fold-tricky 5.9173+-0.0330 ? 5.9763+-0.0800 ? is-number-fold 4.0157+-0.0575 4.0088+-0.0534 is-object-or-null-fold-functions 4.0557+-0.0527 ? 4.1493+-0.3145 ? might be 1.0231x slower is-object-or-null-fold-less-tricky 6.0814+-0.0866 ? 6.1680+-0.2123 ? might be 1.0142x slower is-object-or-null-fold-tricky 7.3810+-0.0893 7.3304+-0.0567 is-object-or-null-fold 4.0769+-0.0766 4.0450+-0.0374 is-object-or-null-trickier-function 6.1122+-0.1003 ? 6.1295+-0.0734 ? is-object-or-null-trickier-internal-function 15.5140+-0.1864 15.3000+-0.1969 might be 1.0140x faster is-object-or-null-tricky-function 6.0601+-0.1080 ? 6.0941+-0.0197 ? is-object-or-null-tricky-internal-function 11.0850+-0.0826 ? 11.4460+-1.2449 ? might be 1.0326x slower is-string-fold-tricky 5.9472+-0.0425 ? 6.0403+-0.1174 ? might be 1.0156x slower is-string-fold 3.9900+-0.0279 3.9785+-0.0245 is-undefined-fold-tricky 5.0855+-0.0980 5.0554+-0.0104 is-undefined-fold 4.0333+-0.0441 3.9975+-0.0432 JSONP-negative-0 0.4107+-0.0158 0.4005+-0.0107 might be 1.0255x faster large-int-captured 4.5031+-0.2556 4.4060+-0.1977 might be 1.0220x faster large-int-neg 19.3480+-0.3985 ? 19.4628+-0.4978 ? large-int 17.5559+-0.4404 ? 17.7906+-0.3476 ? might be 1.0134x slower load-varargs-elimination 28.4366+-0.1928 ! 28.8330+-0.1196 ! definitely 1.0139x slower logical-not-weird-types 3.9340+-0.0751 3.8880+-0.0989 might be 1.0118x faster logical-not 5.9482+-0.0937 5.8951+-0.0541 lots-of-fields 13.0492+-0.2061 ? 13.3067+-0.2836 ? might be 1.0197x slower make-indexed-storage 3.9650+-0.0698 3.9175+-0.2383 might be 1.0121x faster make-rope-cse 5.3645+-0.2529 5.2591+-0.2562 might be 1.0200x faster map-for-each 7.4818+-0.0525 7.4747+-0.0227 map-for-of 24.9205+-0.1689 ? 28.1435+-8.5316 ? might be 1.1293x slower marsaglia-larger-ints 48.6647+-0.1743 ? 48.8601+-0.5913 ? marsaglia-osr-entry 26.8451+-0.1773 ? 26.8917+-0.2405 ? math-random 23.2582+-0.2455 23.1407+-0.0971 math-with-out-of-bounds-array-values 43.9109+-0.2138 ? 44.7003+-0.8455 ? might be 1.0180x slower max-boolean 3.9622+-0.0819 3.9333+-0.0991 method-on-number 24.8516+-0.1847 ? 24.8754+-0.2555 ? min-boolean 4.0030+-0.0600 ? 4.2287+-0.6737 ? might be 1.0564x slower minus-boolean-double 4.6459+-0.0333 ? 4.6659+-0.0602 ? minus-boolean 3.5435+-0.0267 ? 3.5656+-0.0206 ? misc-strict-eq 33.0730+-0.1662 ! 34.9010+-0.4626 ! definitely 1.0553x slower mod-boolean-double 15.0351+-0.2027 ? 15.9023+-2.2406 ? might be 1.0577x slower mod-boolean 11.5800+-0.2455 ? 11.6160+-0.3053 ? mul-boolean-double 5.2626+-0.0829 ? 5.6991+-1.1095 ? might be 1.0829x slower mul-boolean 4.2786+-0.0242 4.2693+-0.0321 neg-boolean 4.7124+-0.0345 ? 4.7303+-0.1374 ? negative-zero-divide 0.5252+-0.0036 ? 0.5302+-0.0119 ? negative-zero-modulo 0.5326+-0.0186 0.5239+-0.0105 might be 1.0165x faster negative-zero-negate 0.5127+-0.0247 0.5096+-0.0240 nested-function-parsing 49.4496+-0.4550 ? 49.6578+-0.5947 ? new-array-buffer-dead 119.4880+-4.3061 117.1335+-0.5165 might be 1.0201x faster new-array-buffer-push 7.9799+-0.2830 ? 8.1658+-0.1978 ? might be 1.0233x slower new-array-dead 13.3962+-0.5461 ? 13.4049+-0.2098 ? new-array-push 6.4332+-1.2681 5.7236+-0.1012 might be 1.1240x faster no-inline-constructor 45.4425+-1.0702 45.1940+-1.2605 number-test 4.9425+-0.0264 4.9155+-0.0246 object-closure-call 7.0085+-0.0601 7.0017+-0.0496 object-get-own-property-symbols-on-large-array 6.0000+-0.1751 ? 6.0967+-0.1437 ? might be 1.0161x slower object-test 4.6977+-0.0442 ? 4.8900+-0.4328 ? might be 1.0409x slower obvious-sink-pathology-taken 160.6304+-1.1043 ? 160.9726+-2.3731 ? obvious-sink-pathology 35.0104+-0.1164 ? 35.3424+-0.6363 ? obviously-elidable-new-object 32.3903+-0.4493 ? 32.5429+-0.5355 ? plus-boolean-arith 3.6440+-0.0769 3.5968+-0.0382 might be 1.0131x faster plus-boolean-double 4.6995+-0.0791 4.6820+-0.0665 plus-boolean 3.8328+-0.1582 ? 3.8521+-0.0531 ? poly-chain-access-different-prototypes-simple 3.8849+-0.0233 ? 3.8994+-0.0570 ? poly-chain-access-different-prototypes 3.8616+-0.1525 3.7792+-0.0464 might be 1.0218x faster poly-chain-access-simpler 3.9967+-0.3572 3.9088+-0.0502 might be 1.0225x faster poly-chain-access 3.7918+-0.0542 3.7363+-0.0382 might be 1.0148x faster poly-stricteq 81.3334+-0.0676 ? 81.3598+-0.0835 ? polymorphic-array-call 1.7807+-0.0972 ? 1.8214+-0.0733 ? might be 1.0229x slower polymorphic-get-by-id 2.9429+-0.1345 2.8700+-0.0282 might be 1.0254x faster polymorphic-put-by-id 40.0223+-0.5869 39.9401+-0.3397 polymorphic-put-by-val-with-string 41.6779+-0.4718 ? 42.0228+-0.8549 ? polymorphic-put-by-val-with-symbol 41.6500+-0.2673 ? 41.7900+-0.3352 ? polymorphic-structure 18.9698+-0.1446 18.9672+-0.0983 polyvariant-monomorphic-get-by-id 7.6318+-0.9305 7.2413+-0.1419 might be 1.0539x faster proto-getter-access 17.0009+-0.3214 16.9019+-0.1348 prototype-access-with-mutating-prototype 6.5837+-0.1380 ? 7.3748+-2.1172 ? might be 1.1202x slower put-by-id-replace-and-transition 11.0131+-0.4684 ? 11.0694+-0.5120 ? put-by-id-slightly-polymorphic 4.0700+-0.0401 4.0407+-0.0267 put-by-id 13.2924+-0.2684 ? 13.4668+-0.5491 ? might be 1.0131x slower put-by-val-direct 0.5928+-0.0097 ? 0.6091+-0.0287 ? might be 1.0275x slower put-by-val-large-index-blank-indexing-type 7.4611+-0.1469 7.4378+-0.2849 put-by-val-machine-int 3.5855+-0.0252 3.5462+-0.0634 might be 1.0111x faster put-by-val-with-string-replace-and-transition 14.4017+-0.1764 14.2524+-0.1653 might be 1.0105x faster put-by-val-with-string-slightly-polymorphic 4.1780+-0.0516 ? 4.2477+-0.1096 ? might be 1.0167x slower put-by-val-with-string 13.7965+-0.1196 13.7106+-0.1450 put-by-val-with-symbol-replace-and-transition 15.0494+-0.1576 ? 15.1524+-0.1329 ? put-by-val-with-symbol-slightly-polymorphic 4.8634+-0.2193 4.8458+-0.0593 put-by-val-with-symbol 13.9401+-0.1130 ? 14.1119+-0.7327 ? might be 1.0123x slower rare-osr-exit-on-local 19.8051+-0.2842 ? 20.0817+-0.6250 ? might be 1.0140x slower raytrace-with-empty-try-catch 8.9111+-0.4105 8.7410+-0.2404 might be 1.0194x faster raytrace-with-try-catch 14.7268+-0.2213 ^ 14.2409+-0.2554 ^ definitely 1.0341x faster register-pressure-from-osr 23.7214+-0.2741 23.6470+-0.0914 repeat-multi-get-by-offset 30.5710+-5.8529 28.4630+-0.3609 might be 1.0741x faster richards-empty-try-catch 71.4103+-5.7457 68.7843+-0.3326 might be 1.0382x faster richards-try-catch 354.1188+-76.1118 324.4282+-2.2928 might be 1.0915x faster set-for-each 6.7646+-0.0461 ^ 6.6001+-0.0532 ^ definitely 1.0249x faster set-for-of 11.2890+-0.2674 ? 11.3539+-0.3180 ? setter-prototype 6.9079+-0.0917 6.9040+-0.1063 setter 6.0641+-0.0744 6.0193+-0.0678 simple-activation-demo 33.1843+-0.0719 33.1360+-0.1566 simple-getter-access 26.2434+-0.2898 ? 26.7198+-1.5606 ? might be 1.0182x slower simple-poly-call-nested 8.3691+-0.1419 8.3311+-0.1761 simple-poly-call 1.7627+-0.0573 1.7360+-0.0267 might be 1.0153x faster sin-boolean 21.8491+-0.6421 21.7348+-0.2768 singleton-scope 84.8085+-0.1387 ? 93.6055+-22.6281 ? might be 1.1037x slower sink-function 9.9616+-1.2196 ? 10.3310+-2.0556 ? might be 1.0371x slower sink-huge-activation 18.2753+-0.3470 ? 18.3888+-0.3342 ? sinkable-new-object-dag 76.8681+-2.6999 75.8316+-1.2106 might be 1.0137x faster sinkable-new-object-taken 58.9646+-0.2968 ? 58.9820+-0.1132 ? sinkable-new-object 35.2549+-0.4458 35.1755+-0.2643 slow-array-profile-convergence 3.8692+-0.0742 3.8266+-0.0664 might be 1.0111x faster slow-convergence 3.8338+-0.0421 3.7851+-0.0194 might be 1.0129x faster slow-ternaries 20.6774+-0.1790 20.6444+-0.1114 sorting-benchmark 27.0177+-0.1313 26.9085+-0.4223 sparse-conditional 1.7276+-0.0473 1.7059+-0.0235 might be 1.0128x faster splice-to-remove 19.7582+-0.1115 ? 19.8053+-0.1693 ? string-char-code-at 21.4609+-0.0733 ? 21.4627+-0.1335 ? string-concat-object 2.8738+-0.1922 ? 2.9926+-0.1223 ? might be 1.0413x slower string-concat-pair-object 2.8662+-0.1602 ? 2.8671+-0.1669 ? string-concat-pair-simple 13.0529+-0.5002 12.8652+-0.3004 might be 1.0146x faster string-concat-simple 12.9978+-0.0892 ? 13.1060+-0.2139 ? string-cons-repeat 9.3387+-0.0587 ? 9.4807+-0.1550 ? might be 1.0152x slower string-cons-tower 9.8221+-0.2895 9.8158+-0.3771 string-equality 27.2059+-0.1336 27.1510+-0.1953 string-from-char-code 10.2132+-0.0498 ? 10.2390+-0.0871 ? string-get-by-val-big-char 9.8724+-0.3123 9.7667+-0.2208 might be 1.0108x faster string-get-by-val-out-of-bounds-insane 4.9495+-0.0321 ? 5.0662+-0.2124 ? might be 1.0236x slower string-get-by-val-out-of-bounds 6.6034+-0.0651 ? 6.6462+-0.0628 ? string-get-by-val 4.1853+-0.0350 ? 4.2027+-0.1092 ? string-hash 2.7817+-0.0732 2.7709+-0.0327 string-long-ident-equality 22.2733+-0.2472 22.0866+-0.1361 string-out-of-bounds 9.8992+-0.0732 ? 9.9023+-0.1033 ? string-repeat-arith 32.7754+-0.2072 ! 33.8663+-0.3155 ! definitely 1.0333x slower string-rope-with-object 23.7585+-0.1900 23.6923+-0.0845 string-sub 52.9309+-0.1859 52.4725+-0.3550 string-test 4.7309+-0.0454 4.7024+-0.0466 string-var-equality 42.7756+-0.4060 ? 43.2160+-0.9962 ? might be 1.0103x slower structure-hoist-over-transitions 3.3651+-0.0201 3.3591+-0.1155 substring-concat-weird 55.2593+-1.3799 54.7868+-0.3755 substring-concat 60.3185+-0.4186 60.0205+-0.4169 substring 67.9400+-0.7730 67.6596+-0.1598 switch-char-constant 4.0018+-0.0936 3.9758+-0.0625 switch-char 7.8196+-0.0672 7.8182+-0.0603 switch-constant 11.1912+-1.0910 10.6873+-0.5423 might be 1.0472x faster switch-string-basic-big-var 21.6525+-0.3355 ? 21.7806+-0.2080 ? switch-string-basic-big 18.5285+-0.1110 ? 18.7478+-0.2245 ? might be 1.0118x slower switch-string-basic-var 21.2526+-0.1912 ? 21.7740+-0.7582 ? might be 1.0245x slower switch-string-basic 17.4508+-0.2163 ? 17.5323+-0.3478 ? switch-string-big-length-tower-var 29.4825+-0.1788 29.3839+-0.1258 switch-string-length-tower-var 21.2351+-0.0929 ? 21.2598+-0.1533 ? switch-string-length-tower 16.5072+-0.3293 ? 16.6566+-0.2086 ? switch-string-short 16.7141+-0.8044 16.6085+-0.5511 switch 15.3250+-1.2799 13.6655+-0.6662 might be 1.1214x faster symbol-tostringtag 4.5565+-0.0495 4.5276+-0.0224 tear-off-arguments-simple 3.5693+-0.0955 3.5156+-0.1522 might be 1.0153x faster tear-off-arguments 4.8850+-0.0997 4.7584+-0.1557 might be 1.0266x faster temporal-structure 17.9347+-0.2729 17.8079+-0.1940 to-int32-boolean 20.9460+-0.2816 20.6972+-0.0731 might be 1.0120x faster try-catch-get-by-val-cloned-arguments 9.6198+-0.1946 ? 9.8465+-0.3887 ? might be 1.0236x slower try-catch-get-by-val-direct-arguments 3.0007+-0.1277 2.9815+-0.1558 try-catch-get-by-val-scoped-arguments 6.1469+-0.2228 ? 6.1512+-0.0376 ? typed-array-get-set-by-val-profiling 30.1675+-0.2700 29.9151+-0.2727 undefined-property-access 436.2507+-0.7529 435.6184+-0.2402 undefined-test 5.0278+-0.0488 ? 5.0688+-0.0841 ? unprofiled-licm 9.0498+-0.0441 ? 9.1113+-0.2760 ? untyped-string-from-char-code 16.5423+-0.3320 16.3845+-0.1732 v8-raytrace-with-empty-try-catch 75.3236+-0.8218 75.2559+-2.5712 v8-raytrace-with-try-catch-high-frequency-throws 566.5656+-6.1392 ? 570.7330+-6.2896 ? v8-raytrace-with-try-catch 93.9289+-1.4513 92.4885+-1.2031 might be 1.0156x faster v8-regexp-search 78.1325+-0.3097 ? 78.8407+-0.8522 ? varargs-call 18.5940+-0.1792 ? 18.7168+-0.3275 ? varargs-construct-inline 28.4097+-0.7312 ? 29.1790+-0.1356 ? might be 1.0271x slower varargs-construct 36.2092+-0.3085 36.0785+-0.1431 varargs-inline 12.4316+-0.0194 12.4306+-0.0848 varargs-strict-mode 14.0713+-0.0688 ? 14.1359+-0.1714 ? varargs 13.9894+-0.2463 13.8499+-0.0881 might be 1.0101x faster weird-inlining-const-prop 2.9602+-0.1189 2.8633+-0.0272 might be 1.0339x faster <geometric> 12.2885+-0.0287 12.2771+-0.0361 might be 1.0009x faster og change AsmBench: bigfib.cpp 661.5013+-13.4620 ? 670.5317+-10.6529 ? might be 1.0137x slower cray.c 561.5823+-3.9861 ? 561.5918+-1.8885 ? dry.c 752.4342+-86.6775 720.1064+-115.8633 might be 1.0449x faster FloatMM.c 1091.3007+-14.6774 ? 1093.5269+-13.0445 ? gcc-loops.cpp 5575.3427+-74.7673 5543.4100+-5.8119 n-body.c 1245.0841+-2.2604 ? 1245.1384+-2.7895 ? Quicksort.c 619.4657+-0.6508 619.2747+-1.0433 stepanov_container.cpp 5108.8988+-47.3369 5103.9646+-35.8850 Towers.c 412.9349+-0.2848 ? 414.4034+-4.3465 ? <geometric> 1119.1238+-14.3800 1114.7468+-18.4962 might be 1.0039x faster og change CompressionBench: huffman 50.3894+-0.4553 ? 50.6534+-0.2988 ? arithmetic-simple 406.5302+-1.8682 406.0992+-1.8129 arithmetic-precise 382.9674+-2.1728 ^ 377.3667+-1.4519 ^ definitely 1.0148x faster arithmetic-complex-precise 377.9872+-0.7360 377.5079+-2.3922 arithmetic-precise-order-0 410.0075+-1.8998 ? 412.9126+-6.3363 ? arithmetic-precise-order-1 462.8408+-3.7065 461.5418+-2.7419 arithmetic-precise-order-2 533.6747+-5.1098 532.8269+-3.7177 arithmetic-simple-order-1 477.6129+-3.6987 477.2491+-2.6985 arithmetic-simple-order-2 557.0336+-6.2226 ? 557.5456+-5.3669 ? lz-string 497.6081+-11.5666 494.4930+-13.1728 <geometric> 363.0155+-0.8455 362.4586+-1.2120 might be 1.0015x faster og change Geomean of preferred means: <scaled-result> 73.3753+-0.3469 73.3030+-0.1575 might be 1.0010x faster
Oliver Hunt
Comment 4
2016-02-19 20:12:42 PST
Comment on
attachment 271833
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=271833&action=review
r=me
> Source/JavaScriptCore/runtime/ProxyObject.cpp:380 > + JSArray* argArray = constructArray(exec, static_cast<ArrayAllocationProfile*>(nullptr), ArgList(exec));
out of curiosity, is the <ArrayAllocationProfile> cast necessary? if so this seems like a dangerous API
Saam Barati
Comment 5
2016-02-20 15:45:41 PST
(In reply to
comment #4
)
> Comment on
attachment 271833
[details]
> patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=271833&action=review
> > r=me > > > Source/JavaScriptCore/runtime/ProxyObject.cpp:380 > > + JSArray* argArray = constructArray(exec, static_cast<ArrayAllocationProfile*>(nullptr), ArgList(exec)); > > out of curiosity, is the <ArrayAllocationProfile> cast necessary? if so this > seems like a dangerous API
Thanks for the review. We have two conflicting definitions, so the cast is necessary. I'm not sure that the API is dangerous, because you will get a compiler error without the cast. That said, I think we could make it cleaner. It would be super easy to do, we can just name the one I'm calling in this patch something like: constructArrayWithAllocationProfile(...) The conflicting definitions are: inline JSArray* constructArray(ExecState* exec, ArrayAllocationProfile* profile, const ArgList& values, JSValue newTarget = JSValue()) // in JSGlobalObject.h inline JSArray* constructArray(ExecState* exec, Structure* arrayStructure, const ArgList& values) // in JSArray.h
Saam Barati
Comment 6
2016-02-20 15:51:53 PST
landed in:
http://trac.webkit.org/changeset/196868
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug