Add fast path for spreading keys/values of JSMap and JSSet.
This CL extends IterableToListWithSymbolLookup with fast paths for spreading keys/values iterators of JSMap, and values iterator of JSSet (which is also the iterator of Set.prototype.keys() and Set.prototype[Symbol.iterator]()). The fast paths are only taken if the target still has original iteration behavior. For iterators it is also required that the iterator is not partially consumed. After spreading, to be spec-compliant, the iterator is exhausted. Tests are added. Bug: v8:7980 Change-Id: Ida74e5ecbbc5ba5488d13a40f2c4bda14c781cbf Reviewed-on: https://chromium-review.googlesource.com/c/1276632Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Hai Dang <dhai@google.com> Cr-Commit-Position: refs/heads/master@{#56716}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment