Skip to content

deps: V8: cherry-pick 67507b2a88f4#61825

Open
rmagrin wants to merge 1 commit intonodejs:mainfrom
rmagrin:v8-backport-highway-ascii
Open

deps: V8: cherry-pick 67507b2a88f4#61825
rmagrin wants to merge 1 commit intonodejs:mainfrom
rmagrin:v8-backport-highway-ascii

Conversation

@rmagrin
Copy link
Contributor

@rmagrin rmagrin commented Feb 14, 2026

Summary

Cherry-picks V8 commit 67507b2a88f4Reland "use highway to check and copy leading ascii" (Dan Carney).

Replaces IsAsciiOneByteString + memcpy with Highway WriteLeadingAscii in Utf8::Encode, providing a faster ASCII fast path for WriteUtf8V2.

CL: https://chromium-review.googlesource.com/c/v8/v8/+/7184338

This patch addresses part of the remaining ~30-40% performance gap in WriteUtf8V2 vs v22 after #61712 landed the initial simdutf + memcpy fast path.

Note: The upstream V8 commit places template specialization declarations inside the class body, which Clang accepts but GCC rejects ("explicit specialization in non-namespace scope"). This backport moves the specializations to namespace scope, matching the pattern of the existing IsAsciiOneByteString they replace.

Refs: #60719

Test plan

  • CI: V8 CI + Node.js CI

@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/gyp
  • @nodejs/security-wg
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Feb 14, 2026
Copy link
Member

@Renegade334 Renegade334 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs the unicode.h aspects of v8/v8@ee2873a to unblock gcc builds.

@rmagrin rmagrin force-pushed the v8-backport-highway-ascii branch from 9acf475 to eb0d45c Compare February 15, 2026 16:23
@rmagrin rmagrin changed the title deps: V8: cherry-pick Highway string performance patches deps: V8: cherry-pick 67507b2a88f4 Feb 15, 2026
Original commit message:

    Reland "use highway to check and copy leading ascii"

    This is a reland of commit a3e84e5f01540cec142f4d4f41f1921373c220e5

    Original change's description:
    > use highway to check and copy leading ascii
    >
    > Change-Id: I065532aeeee95273821aa1f25b5ffc5c5c23cbf1
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7172479
    > Reviewed-by: Patrick Thier <pthier@chromium.org>
    > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    > Commit-Queue: Dan Carney <dcarney@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#103820}

    Change-Id: I43b4ad18817eb52b701e112d2d0a5f685374ae1f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7184338
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Patrick Thier <pthier@chromium.org>
    Commit-Queue: Dan Carney <dcarney@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#103865}

Refs: v8/v8@67507b2
@rmagrin rmagrin force-pushed the v8-backport-highway-ascii branch from eb0d45c to a215fe8 Compare February 15, 2026 16:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants