Forgot to add this in DFG try/catch patch.
Created attachment 261455 [details] patch
Comment on attachment 261455 [details] patch How many exceptions do you actually hit?
(In reply to comment #2) > Comment on attachment 261455 [details] > patch > > How many exceptions do you actually hit? 3486. I've played with the frequency number a bit. Obviously, as that number gets smaller, the tests get slower. And as it becomes larger, and exceptions are less frequent, the test becomes faster.
Here are some perf results with different exception frequencies. The only affects richards-try-catch benchmark. Also, r189935 is the try/catch patch. And r189934 is the revision right before this patch. ------------------ With the frequency being 1/10000 VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 194.9911+-3.4160 ^ 76.2141+-3.4663 ^ definitely 2.5585x faster richards-try-catch 294.3329+-9.1718 ^ 211.1737+-5.1058 ^ definitely 1.3938x faster <geometric> 239.5515+-3.4016 ^ 126.8551+-3.7277 ^ definitely 1.8884x faster -------------------- With the frequency being 1/5000 (what's in the actual patch) VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 195.6956+-4.6587 ^ 76.0357+-2.4998 ^ definitely 2.5737x faster richards-try-catch 309.5485+-6.6035 ^ 235.3614+-16.2632 ^ definitely 1.3152x faster <geometric> 246.1172+-4.3429 ^ 133.7329+-3.6655 ^ definitely 1.8404x faster ---------------- With the frequency being 1/2500 VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 194.6537+-3.4410 ^ 76.7055+-5.4004 ^ definitely 2.5377x faster richards-try-catch 330.1699+-3.1142 ^ 261.1393+-5.1116 ^ definitely 1.2643x faster <geometric> 253.5082+-2.2087 ^ 141.5020+-5.0380 ^ definitely 1.7916x faster ---------------- With the frequency being 1/1000 VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 198.9267+-10.7999 ^ 77.1111+-3.5368 ^ definitely 2.5797x faster richards-try-catch 422.8513+-5.3213 ^ 349.4740+-8.3545 ^ definitely 1.2100x faster <geometric> 289.9953+-8.0337 ^ 164.1356+-3.0591 ^ definitely 1.7668x faster --------------- With the frequency being 1/500 VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 195.8364+-7.6551 ^ 76.0762+-3.0992 ^ definitely 2.5742x faster richards-try-catch 524.2897+-10.7847 ^ 467.4330+-11.8313 ^ definitely 1.1216x faster <geometric> 320.4008+-6.0738 ^ 188.5623+-4.9270 ^ definitely 1.6992x faster ------------------ With the frequency being 1/100 VMs tested: "og" at /Volumes/Data/WK/c/OpenSource/WebKitBuild/Release/jsc (r189934) "tryCatch" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r189935) Collected 4 samples per benchmark/VM, with 4 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 tryCatch richards-empty-try-catch 196.4677+-11.6653 ^ 75.4759+-0.5515 ^ definitely 2.6031x faster richards-try-catch 1538.8857+-21.0152 ^ 1493.2333+-15.2021 ^ definitely 1.0306x faster <geometric> 549.7620+-14.2294 ^ 335.7113+-2.2949 ^ definitely 1.6376x faster
http://www.wolframalpha.com/input/?i=ListPlot%5B+%7B1%2F10000%2C+211.1737%7D%2C+%7B1%2F5000%2C+235.3614%7D%2C+%7B1%2F2500%2C+261.1393%7D%2C+%7B1%2F1000%2C+349.4740%7D%2C+%7B1%2F500%2C+467.4330%7D%2C+%7B1%2F100%2C+1493.2333%7D%5D
Comment on attachment 261455 [details] patch Clearing flags on attachment: 261455 Committed r189956: <http://trac.webkit.org/changeset/189956>
All reviewed patches have been landed. Closing bug.
> Forgot to add this in DFG try/catch patch. Not sure if this actually depends on that patch, but given this comment, I'll roll this out too.
Re-opened since this is blocked by bug 149329
landed in: http://trac.webkit.org/changeset/189996