[builtins] Reduce inlining in RegExp builtins
RegExp builtins were the first to be ported to CSA roughly two years ago. Back then, we weren't really aware of issues surrounding code size and CSA inlining, and thus some of these builtins were bigger than they should be. This CL adds a few new helper builtins and removes inlined calls to SubString, RegExpExecInternal, and StringAdd. It significantly reduces the size of affected builtins. Minor performance regressions due to call overhead are expected. Before: TFS Builtin, RegExpReplace, 20008 TFS Builtin, RegExpSplit, 17340 TFS Builtin, RegExpMatchFast, 17064 TFJ Builtin, RegExpStringIteratorPrototypeNext, 12862 After: TFS Builtin, RegExpReplace, 5067 TFS Builtin, RegExpSplit, 6329 TFS Builtin, RegExpMatchFast, 8164 TFJ Builtin, RegExpStringIteratorPrototypeNext, 6652 Bug: v8:5737 Change-Id: I1c077a084da85bb73c0c5adb7118b941f488e0ec Reviewed-on: https://chromium-review.googlesource.com/1127796Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54293}
Showing
Please
register
or
sign in
to comment