-
Peter Marshall authored
Currently, because the source float_64_array has an iterator, it hits the code in the "check_iterator" section of TypedArrayFrom which calls IterableToList. This builds a temporary PACKED_ELEMENTS array (and boxes all of the numeric values as HeapNumbers), then uses this as the source array. This patch checks if the source array is a TypedArray, and if the iterator is the built-in one (where we know the iterator's behaviour). If both are true then it bypasses the creation of this temporary array and uses the original TypedArray as the source. This allows it to take advantage of the existing fast code for copying one typed array to another. R=hablich@chromium.org, petermarshall@chromium.org Bug: chromium:884671 Change-Id: I19a944c9d6d5d07699c7dc3ad7196fc871200b62 Reviewed-on: https://chromium-review.googlesource.com/c/1297312Reviewed-by: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#57022}
c7c0e110