RESOLVED FIXED 157196
[JSC] Object constructor need to be aware of new.target
https://bugs.webkit.org/show_bug.cgi?id=157196
Summary [JSC] Object constructor need to be aware of new.target
Yusuke Suzuki
Reported 2016-04-29 11:50:41 PDT
...
Attachments
Patch (6.93 KB, patch)
2016-04-29 13:09 PDT, Yusuke Suzuki
no flags
Patch (7.86 KB, patch)
2016-04-30 13:07 PDT, Yusuke Suzuki
no flags
Patch (8.17 KB, patch)
2016-05-01 03:18 PDT, Yusuke Suzuki
no flags
Patch (7.40 KB, patch)
2016-05-04 02:07 PDT, Yusuke Suzuki
no flags
Patch (7.83 KB, patch)
2016-05-04 02:09 PDT, Yusuke Suzuki
no flags
Patch (8.86 KB, patch)
2016-05-04 02:18 PDT, Yusuke Suzuki
darin: review+
commit-queue: commit-queue-
Yusuke Suzuki
Comment 1 2016-04-29 13:09:12 PDT
Created attachment 277729 [details] Patch WIP
Yusuke Suzuki
Comment 2 2016-04-30 13:07:20 PDT
Created attachment 277826 [details] Patch WIP
Yusuke Suzuki
Comment 3 2016-05-01 03:18:44 PDT
Yusuke Suzuki
Comment 4 2016-05-01 03:19:43 PDT
Benchmark report for SunSpider, LongSpider, Octane, Kraken, and AsmBench on gochiusa. VMs tested: "baseline" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/object-master/Release/bin/jsc "patched" at /home/yusukesuzuki/dev/WebKit/WebKitBuild/object/Release/bin/jsc Collected 30 samples per benchmark/VM, with 30 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. baseline patched SunSpider: 3d-cube 7.0780+-0.4882 ? 7.4593+-0.5093 ? might be 1.0539x slower 3d-morph 11.7291+-0.2485 ! 12.8445+-0.7368 ! definitely 1.0951x slower 3d-raytrace 7.9566+-0.5945 ? 8.7987+-0.5540 ? might be 1.1058x slower access-binary-trees 3.6832+-0.4090 ? 3.8699+-0.3861 ? might be 1.0507x slower access-fannkuch 10.8352+-0.7072 ? 11.0705+-1.0246 ? might be 1.0217x slower access-nbody 3.7779+-0.2576 ? 3.8248+-0.2136 ? might be 1.0124x slower access-nsieve 5.1174+-0.2771 ? 5.1645+-0.2526 ? bitops-3bit-bits-in-byte 1.7781+-0.1065 1.7441+-0.0928 might be 1.0195x faster bitops-bits-in-byte 4.3868+-0.1935 ! 4.9607+-0.2678 ! definitely 1.1308x slower bitops-bitwise-and 2.6223+-0.0433 2.5883+-0.0272 might be 1.0131x faster bitops-nsieve-bits 5.1937+-0.3084 5.0919+-0.3189 might be 1.0200x faster controlflow-recursive 4.9154+-0.5031 ? 5.3039+-0.5297 ? might be 1.0790x slower crypto-aes 6.0123+-0.3129 ? 6.0182+-0.3364 ? crypto-md5 4.2847+-0.3015 4.2529+-0.3019 crypto-sha1 4.4608+-0.2935 4.3627+-0.3085 might be 1.0225x faster date-format-tofte 9.1397+-0.2431 8.9520+-0.3253 might be 1.0210x faster date-format-xparb 6.7445+-0.2755 6.6434+-0.2665 might be 1.0152x faster math-cordic 4.7486+-0.4391 4.6047+-0.2874 might be 1.0312x faster math-partial-sums 7.5267+-0.2776 7.3751+-0.0731 might be 1.0206x faster math-spectral-norm 2.9655+-0.1263 2.8873+-0.1467 might be 1.0271x faster regexp-dna 8.2214+-0.1059 8.1479+-0.0973 string-base64 5.9525+-0.2395 5.8758+-0.1909 might be 1.0131x faster string-fasta 8.5897+-0.3428 8.3715+-0.3271 might be 1.0261x faster string-tagcloud 10.8102+-0.4935 10.6128+-0.4224 might be 1.0186x faster string-unpack-code 25.3731+-0.4877 24.9826+-0.5588 might be 1.0156x faster string-validate-input 6.3271+-0.3427 5.8843+-0.2517 might be 1.0752x faster <arithmetic> 6.9319+-0.0771 ? 6.9882+-0.0819 ? might be 1.0081x slower baseline patched LongSpider: 3d-cube 1010.0468+-5.5427 1004.5880+-5.8927 3d-morph 2009.8278+-29.4981 1984.5882+-23.0569 might be 1.0127x faster 3d-raytrace 606.2260+-5.4466 603.7848+-4.0360 access-binary-trees 1174.7311+-6.7176 1171.8306+-9.9332 access-fannkuch 307.0319+-2.3548 ? 311.7192+-7.3288 ? might be 1.0153x slower access-nbody 561.6524+-9.3520 ? 568.7933+-14.1203 ? might be 1.0127x slower access-nsieve 552.8444+-2.8644 551.8218+-5.2064 bitops-3bit-bits-in-byte 41.8573+-0.2185 ? 42.6382+-0.9728 ? might be 1.0187x slower bitops-bits-in-byte 121.5111+-1.5495 ? 121.7077+-1.2895 ? bitops-nsieve-bits 548.3782+-6.8606 ? 552.5603+-18.4544 ? controlflow-recursive 573.9282+-12.6996 ? 592.8439+-23.4835 ? might be 1.0330x slower crypto-aes 698.1801+-4.8701 694.4906+-4.8370 crypto-md5 624.7400+-5.3424 ? 628.1777+-6.9555 ? crypto-sha1 796.4941+-6.3839 ? 804.0988+-8.8939 ? date-format-tofte 664.3127+-6.9878 656.6400+-6.7600 might be 1.0117x faster date-format-xparb 919.7289+-11.0891 ? 920.0957+-9.1094 ? hash-map 199.5611+-4.3170 197.3090+-2.4534 might be 1.0114x faster math-cordic 552.8346+-15.4105 ? 566.5533+-19.7098 ? might be 1.0248x slower math-partial-sums 697.0691+-5.4209 ? 699.0885+-8.9138 ? math-spectral-norm 506.2371+-11.5893 500.1818+-4.3792 might be 1.0121x faster string-base64 404.1467+-3.8537 ^ 395.2100+-3.3201 ^ definitely 1.0226x faster string-fasta 453.4949+-2.7542 451.0411+-3.6134 string-tagcloud 213.6997+-4.4549 212.7069+-4.0665 <geometric> 488.7060+-1.5905 ? 489.1775+-1.1514 ? might be 1.0010x slower baseline patched Octane: encrypt 0.20123+-0.00136 ? 0.20170+-0.00146 ? decrypt 3.61964+-0.11248 3.58714+-0.06366 deltablue x2 0.15722+-0.00161 ? 0.15813+-0.00215 ? earley 0.37681+-0.00383 0.37640+-0.00423 boyer 6.96862+-0.13749 ? 6.98043+-0.13733 ? navier-stokes x2 5.28562+-0.07334 5.26902+-0.04474 raytrace x2 0.97015+-0.00706 0.96095+-0.00479 richards x2 0.10371+-0.00161 0.10238+-0.00130 might be 1.0130x faster splay x2 0.56945+-0.00402 0.56312+-0.00477 might be 1.0112x faster regexp x2 22.07594+-0.26047 ? 22.23715+-0.30449 ? pdfjs x2 49.93424+-0.63966 49.74279+-0.56121 mandreel x2 65.44719+-1.68301 64.51909+-1.64149 might be 1.0144x faster gbemu x2 33.50405+-0.43000 ? 33.70243+-0.47282 ? closure 0.61296+-0.00276 ? 0.62055+-0.00860 ? might be 1.0124x slower jquery 8.00221+-0.02311 ? 8.05615+-0.04407 ? box2d x2 12.85601+-0.17990 ? 12.87004+-0.18593 ? zlib x2 477.20225+-9.43557 ? 481.57589+-11.08216 ? typescript x2 881.69207+-21.69277 859.80911+-17.61943 might be 1.0255x faster <geometric> 6.58183+-0.02381 6.56284+-0.02431 might be 1.0029x faster baseline patched Kraken: ai-astar 110.673+-1.156 ? 110.769+-0.686 ? audio-beat-detection 47.085+-3.174 ? 49.657+-3.392 ? might be 1.0546x slower audio-dft 133.397+-2.013 132.624+-1.319 audio-fft 32.745+-0.626 ? 32.922+-0.544 ? audio-oscillator 56.310+-0.405 ? 57.146+-0.991 ? might be 1.0148x slower imaging-darkroom 100.230+-2.712 ? 100.345+-3.036 ? imaging-desaturate 70.354+-3.469 ? 77.358+-6.132 ? might be 1.0996x slower imaging-gaussian-blur 91.799+-7.178 ? 94.225+-9.188 ? might be 1.0264x slower json-parse-financial 44.532+-0.374 ? 45.255+-0.423 ? might be 1.0162x slower json-stringify-tinderbox 27.476+-1.628 ? 27.911+-1.462 ? might be 1.0158x slower stanford-crypto-aes 46.628+-0.514 ? 46.860+-0.625 ? stanford-crypto-ccm 44.824+-2.257 ? 45.211+-1.946 ? stanford-crypto-pbkdf2 123.259+-1.396 122.623+-1.108 stanford-crypto-sha256-iterative 42.054+-0.280 ? 42.841+-1.195 ? might be 1.0187x slower <arithmetic> 69.383+-0.649 ? 70.411+-0.832 ? might be 1.0148x slower baseline patched AsmBench: bigfib.cpp 571.3755+-6.5167 ? 573.3660+-9.9790 ? container.cpp 4523.5609+-36.3007 4504.1778+-43.7800 dry.c 548.5876+-23.0628 ? 561.1783+-28.0978 ? might be 1.0230x slower float-mm.c 877.6862+-18.5380 868.2233+-11.5495 might be 1.0109x faster gcc-loops.cpp 4603.7303+-32.1223 4580.6523+-31.5406 hash-map 196.0498+-4.0372 195.0628+-1.7737 n-body.c 852.4695+-7.4820 ? 859.3628+-12.0472 ? quicksort.c 484.3864+-3.0791 ? 487.4724+-5.6072 ? towers.c 336.3073+-1.6721 ? 341.7262+-8.5704 ? might be 1.0161x slower <geometric> 812.7257+-5.0609 ? 815.2665+-5.6928 ? might be 1.0031x slower baseline patched Geomean of preferred means: <scaled-result> 66.0422+-0.1990 ? 66.3583+-0.2784 ? might be 1.0048x slower
Yusuke Suzuki
Comment 5 2016-05-04 02:07:05 PDT
Created attachment 278070 [details] Patch rebased
Yusuke Suzuki
Comment 6 2016-05-04 02:09:52 PDT
Created attachment 278071 [details] Patch rebased
Yusuke Suzuki
Comment 7 2016-05-04 02:18:39 PDT
Yusuke Suzuki
Comment 8 2016-05-04 10:26:27 PDT
Comment on attachment 278072 [details] Patch Thanks!
WebKit Commit Bot
Comment 9 2016-05-04 10:27:20 PDT
Comment on attachment 278072 [details] Patch Rejecting attachment 278072 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-03', 'apply-attachment', '--no-update', '--non-interactive', 278072, '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: e/runtime/JSGlobalObject.h Hunk #1 succeeded at 254 (offset -17 lines). Hunk #2 succeeded at 501 (offset -22 lines). patching file Source/JavaScriptCore/runtime/ObjectConstructor.cpp patching file Source/JavaScriptCore/runtime/ObjectConstructor.h patching file Source/JavaScriptCore/tests/stress/object-constructor-should-be-new-target-aware.js Failed to run "[u'/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply', '--force', '--reviewer', u'Darin Adler']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit Full output: http://webkit-queues.webkit.org/results/1266871
Yusuke Suzuki
Comment 10 2016-05-04 10:40:12 PDT
Note You need to log in before you can comment on or make changes to this bug.