The commit with n^2 algorithm for parameter validation caused timeout in
Mozilla
tests (function with 65536 parameters, amounting to ~4G pairs to check).
I am adding back the hashmap based checking. During parsing of parameters,
all
locations are stored in the list and later parameters are checked for dupes
via
hash map. This favors non-strict functions.
The next step in optimizing may have to be parsing in non-strict mode and
if we
detect "use strict", roll back parser and reparse the function in strict
mode. I
haven't explored the V8 facility to do something like this so it may not
even be
possible.
http://codereview.chromium.org/6144005/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev