-
Vaclav Brozek authored
ArrayIndexOf is a monolithic builtin which does some checking and then handles three groups of fast arrays: those with holey doubles, compacted doubles and SMIs+objects. TF cannot reuse this efficiently, because calling the TFJ ArrayIndexOf duplicates some checks and also does not allow passing arguments through registers. Similarly for ArrayInclude. This CL splits the three different types of fast array handling into a separate TF stubs, and makes the parent TFJ as well as TurboFan itself use them where appropriate. The TODOs not tackled in this CL inculde: * passing an empty context to spare a register when possible * inlining the search loop if there is any performance gain to it (This is the contiunation of http://crrev.com/2757853002, moved due to Rietveld deprecation.) BUG=v8:5985 Change-Id: I00c97b71be4892f8bc7e1ed6d72e02087618a9a6 Reviewed-on: https://chromium-review.googlesource.com/573020 Commit-Queue: Vaclav Brozek <vabr@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#51729}
44bed6a8