Skip to content

Backport node v15 Apple Silicon support to v14.x #38005

Closed
@a60814billy

Description

@a60814billy

Is your feature request related to a problem? Please describe.

Due to stability considerations, many projects only support the latest LTS version of Node.js.
Although we can running these application on Rosetta 2, but it's not efficiency on Apple Silicon chip.

Therefore, I'm trying to find how to backport Apple Silicon support to node 14.

The issue #37309 says support Apple Silicon on node 14 requiring a SemVer Major V8 update,
but, I found the smallst changes in v8 to support Apple Silicon on node 14.

Describe the solution you'd like

Just need to apply these 5 changes to v14.16.0 source code.

  1. Cherry-pick V8 fixes needed for Apple Silicon #35986
  2. test: add SIGTRAP to test-signal-handler #36368
  3. deps: V8: workaround for darwin arm64 code page decommit failures #37276
  4. deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream #37471
  5. v8/v8@cf71540

And I creates a patch file.
There are only 19 files changed, 168 insertions(+), 27 deletions(-).

I think this is the minimum code changes to support Apple Silicon.

Also I create a repo to prove my idea is right, it's compile on my M1 chip Macbook air successfully, and pass all tests.

Describe alternatives you've considered
May I create a pull request to backport Apple Silicon support to v14?

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestIssues that request new features to be added to Node.js.macosIssues and PRs related to the macOS platform / OSX.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions