If I can get this to work nicely, it's probably a 1-2% octane-jquery speedup.
Our code used to be weird regarding always parsing parameters. We didn't properly store things
in the cache in the case of a default parameter value being a function that closes over variables.
We got this right before just by luck because we always parse a function's
parameters even if it's in the cache. I need to rework our parser to properly
store closed variables in the cache and then I think this should work.
Created attachment 277131[details]
WIP
I'm pretty sure this works. I'm thinking about other ways that would be cleaner to get the variables
that are closed over by the functions in the default parameter values in the function's parameter list.
These are the results I'm seeing on code load
VMs tested:
"og" at /Volumes/Data/WK/a/OpenSource/WebKitBuild/Release/jsc (r199867)
"change" at /Volumes/Data/WK/b/OpenSource/WebKitBuild/Release/jsc (r199867)
Collected 14 samples per benchmark/VM, with 14 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
closure 0.50697+-0.00364 0.50263+-0.00323
jquery 6.44294+-0.05266 ^ 6.28855+-0.03858 ^ definitely 1.0245x faster
<geometric> 1.80728+-0.01199 ^ 1.77781+-0.00786 ^ definitely 1.0166x faster
Attachment 277152[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/parser/Parser.h:667: One line control clauses should not use braces. [whitespace/braces] [4]
Total errors found: 1 in 3 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277153[details]
Archive of layout-test-results from ews100 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277154[details]
Archive of layout-test-results from ews106 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277155[details]
Archive of layout-test-results from ews124 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews124 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.4
Created attachment 277156[details]
Archive of layout-test-results from ews116 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116 Port: mac-yosemite Platform: Mac OS X 10.10.5
Attachment 277157[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/parser/Parser.h:667: One line control clauses should not use braces. [whitespace/braces] [4]
Total errors found: 1 in 3 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277158[details]
Archive of layout-test-results from ews101 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277159[details]
Archive of layout-test-results from ews106 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277160[details]
Archive of layout-test-results from ews121 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews121 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.4
Created attachment 277161[details]
Archive of layout-test-results from ews113 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Attachment 277165[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/parser/Parser.h:667: One line control clauses should not use braces. [whitespace/braces] [4]
Total errors found: 1 in 5 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277166[details]
Archive of layout-test-results from ews102 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277167[details]
Archive of layout-test-results from ews104 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277168[details]
Archive of layout-test-results from ews114 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277169[details]
Archive of layout-test-results from ews122 for ios-simulator-wk2
The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.4
Attachment 277185[details] did not pass style-queue:
ERROR: Source/JavaScriptCore/parser/Parser.h:667: One line control clauses should not use braces. [whitespace/braces] [4]
Total errors found: 1 in 6 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 277186[details]
Archive of layout-test-results from ews102 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277187[details]
Archive of layout-test-results from ews105 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277203[details]
Archive of layout-test-results from ews101 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277204[details]
Archive of layout-test-results from ews106 for mac-yosemite-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106 Port: mac-yosemite-wk2 Platform: Mac OS X 10.10.5
Created attachment 277205[details]
Archive of layout-test-results from ews113 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews113 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 277208[details]
WIP
I think this one might actually work.
I've spent a long time debugging until I realized that the lexer only selectively selects which token to set lineStartOffset for.
That was painful.
2016-04-22 19:39 PDT, Saam Barati
2016-04-23 10:59 PDT, Saam Barati
2016-04-23 11:35 PDT, Build Bot
2016-04-23 11:38 PDT, Build Bot
2016-04-23 11:43 PDT, Build Bot
2016-04-23 11:45 PDT, Build Bot
2016-04-23 12:03 PDT, Saam Barati
2016-04-23 12:48 PDT, Build Bot
2016-04-23 12:51 PDT, Build Bot
2016-04-23 12:55 PDT, Build Bot
2016-04-23 13:01 PDT, Build Bot
2016-04-23 14:57 PDT, Saam Barati
2016-04-23 15:41 PDT, Build Bot
2016-04-23 15:43 PDT, Build Bot
2016-04-23 15:57 PDT, Build Bot
2016-04-23 16:01 PDT, Build Bot
2016-04-24 01:06 PDT, Saam Barati
2016-04-24 01:50 PDT, Build Bot
2016-04-24 01:53 PDT, Build Bot
2016-04-24 16:10 PDT, Saam Barati
2016-04-24 16:54 PDT, Build Bot
2016-04-24 16:57 PDT, Build Bot
2016-04-24 16:57 PDT, Build Bot
2016-04-24 18:29 PDT, Saam Barati
2016-04-24 23:20 PDT, Saam Barati