-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[v14.x] Backport Apple silicon support #38051
[v14.x] Backport Apple silicon support #38051
Commits on Feb 23, 2021
-
deps: cherry-pick f4376ec801e1ded from V8 upstream
Original commit message: [heap] Make maximum regular code object size a runtime value. Executable V8 pages include 3 reserved OS pages: one for the writable header and two as guards. On systems with 64k OS pages, the amount of allocatable space left for objects can then be quite smaller than the page size, only 64k for each 256k page. This means regular code objects cannot be larger than 64k, while the maximum regular object size is fixed to 128k, half of the page size. As a result code object never reach this limit and we can end up filling regular pages with few large code objects. To fix this, we change the maximum code object size to be runtime value, set to half of the allocatable space per page. On systems with 64k OS pages, the limit will be 32k. Alternatively, we could increase the V8 page size to 512k on Arm64 linux so we wouldn't waste code space. However, systems with 4k OS pages are more common, and those with 64k pages tend to have more memory available so we should be able to live with it. Bug: v8:10808 Change-Id: I5d807e7a3df89f1e9c648899e9ba2f8e2648264c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2460809 Reviewed-by: Igor Sheludko <[email protected]> Reviewed-by: Georg Neis <[email protected]> Reviewed-by: Ulan Degenbaev <[email protected]> Commit-Queue: Pierre Langlois <[email protected]> Cr-Commit-Position: refs/heads/master@{#70569} PR-URL: nodejs#37225 Refs: nodejs/help#3202 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Stewart X Addison <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: James M Snell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e0b3523 - Browse repository at this point
Copy the full SHA e0b3523View commit details -
test: add arm64 arch to test-worker-prof status
This commit adds arm64 to test-worker-prof status as this seems to be flaky on arm64 in addition to arm. PR-URL: nodejs#37225 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Stewart X Addison <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: James M Snell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 292dffe - Browse repository at this point
Copy the full SHA 292dffeView commit details
Commits on Mar 2, 2021
-
deps: V8: cherry-pick beebee4f80ff
Original commit message: ``` cpu-profiler: Use Handle version of SourcePositionTableIterator The surrounding code can trigger an allocation through InliningStack which can eventually end up allocating a line ends array. This is fine as-is because the existing iterator code makes a copy of the byte array. It just triggers the no_gc dcheck in debug mode. Fixed: v8:10778 Change-Id: Ic8c502767ec6c3d3b1f5e84df60638bd2fc6be75 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2339102 Auto-Submit: Peter Marshall <[email protected]> Commit-Queue: Tobias Tebbi <[email protected]> Reviewed-by: Tobias Tebbi <[email protected]> Cr-Commit-Position: refs/heads/master@{#69247} ``` Refs: v8/v8@beebee4 PR-URL: nodejs#37293 Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Richard Lau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 15ed780 - Browse repository at this point
Copy the full SHA 15ed780View commit details -
test: add cpu-profiler-crash test
This test is added as it usually crashes without applying the v8 patch: v8/v8@beebee4 PR-URL: nodejs#37293 Refs: v8/v8@beebee4 Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Richard Lau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 69057eb - Browse repository at this point
Copy the full SHA 69057ebView commit details -
worker: add eventLoopUtilization()
Allow calling eventLoopUtilization() directly on a worker thread: const worker = new Worker('./foo.js'); const elu = worker.performance.eventLoopUtilization(); setTimeout(() => { worker.performance.eventLoopUtilization(elu); }, 10); Add a new performance object on the Worker instance that will hopefully one day hold all the other performance metrics, such as nodeTiming. Include benchmarks and tests. PR-URL: nodejs#35664 Backport-PR-URL: nodejs#37163 Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gerhard Stöbich <[email protected]> Reviewed-By: James M Snell <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a7acd72 - Browse repository at this point
Copy the full SHA a7acd72View commit details -
test: correct test-worker-eventlooputil
The active worker check compared the time from sending message till response arrived from worker with the complete time the worker was running till it responses to the spin request. If sending back the message is slow for some reason the test fails. Adapt the test to compare the time seen inside the worker with the time read from main thread. PR-URL: nodejs#35891 Fixes: nodejs#35844 Refs: nodejs#35886 Refs: nodejs#35664 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Rich Trott <[email protected]> Backport-PR-URL: nodejs#37163
Configuration menu - View commit details
-
Copy full SHA for 78c42ac - Browse repository at this point
Copy the full SHA 78c42acView commit details
Commits on Mar 3, 2021
-
doc: upgrade stability status of report API
The property `process.report.reportOnFatalError` was deemed experimental, as it was not honored under certain scenarios (for example out of memory conditions). The report configuration were previously stored on the `environment` structure which was not available on these types of fatal error cases. The referenced PR has addressed this case (sometime back), and the property is working as intended. Refs: nodejs#32207 PR-URL: nodejs#35654 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Beth Griggs <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b297c11 - Browse repository at this point
Copy the full SHA b297c11View commit details -
doc: fix YAML lint error on master
Refs: https://github.com/nodejs/node/runs/1275049330 PR-URL: nodejs#35709 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 44d6862 - Browse repository at this point
Copy the full SHA 44d6862View commit details -
dns: add setLocalAddress to Resolver
Fixes: nodejs#34818 PR-URL: nodejs#34824 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ca213c - Browse repository at this point
Copy the full SHA 1ca213cView commit details -
Cleanup logic in Makefile for coverage. Update BUILDING.md accordingly. PR-URL: nodejs#35767 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c5a61d3 - Browse repository at this point
Copy the full SHA c5a61d3View commit details -
PR-URL: nodejs#35807 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 772afde - Browse repository at this point
Copy the full SHA 772afdeView commit details -
child_process: add ChildProcess 'spawn' event
The new event signals that the subprocess has spawned successfully and no 'error' event will be emitted from failing to spawn. Fixes: nodejs#35288 PR-URL: nodejs#35369 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a2a3b70 - Browse repository at this point
Copy the full SHA a2a3b70View commit details -
tools: add msvc /P output to .gitignore
PR-URL: nodejs#35735 Reviewed-By: Michaël Zasso <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 372fa0f - Browse repository at this point
Copy the full SHA 372fa0fView commit details -
src: add loop idle time in diagnostic report
Add libuv's cumulative idle time in the diagnostic report. Add the data under the libuv's loop section Refs: nodejs#34938 PR-URL: nodejs#35940 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Richard Lau <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4594961 - Browse repository at this point
Copy the full SHA 4594961View commit details -
Notable changes: - The IBM i platform has been promoted to a Tier 2 platform. - libuv is now built with `-fno-strict-aliasing`, and recommends that projects using libuv do the same. - `uv_fs_mkdir()` now returns `UV_EINVAL` for invalid directory names on Windows. - `uv_uptime()` now returns the correct value on OpenVZ containers. - Windows 8 is the new minimum supported version of Windows. - Bind errors are now reported from `uv_tcp_connect()`. - The `uv_pipe()` function has been added. - The `uv_socketpair()` function has been added. - `uv_read_start()` error handling has been unified across Windows and Unix. PR-URL: nodejs#37360 Reviewed-By: Santiago Gimeno <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e8ec2a6 - Browse repository at this point
Copy the full SHA e8ec2a6View commit details -
Refs: https://github.com/unicode-org/icu/releases/tag/release-68-1 PR-URL: nodejs#36187 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2b33ec4 - Browse repository at this point
Copy the full SHA 2b33ec4View commit details -
tools: fix md5 hash for ICU 68.1 src
Correct md5sum hash for the tarball version of the ICU 68.1 source. The previously recorded md5sum hash was for the zip version. PR-URL: nodejs#36777 Fixes: nodejs#36776 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Myles Borins <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0d2752e - Browse repository at this point
Copy the full SHA 0d2752eView commit details -
Refs: https://github.com/unicode-org/icu/releases/tag/release-68-2 PR-URL: nodejs#36980 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 966eee7 - Browse repository at this point
Copy the full SHA 966eee7View commit details -
doc: fix maintaining ICU guide
PR-URL: nodejs#36980 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for efb88ee - Browse repository at this point
Copy the full SHA efb88eeView commit details -
tools: cleanup old ICU version-specific fixes
Our current minimum ICU is 67, so we don't need to support those anymore PR-URL: nodejs#36980 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8899f47 - Browse repository at this point
Copy the full SHA 8899f47View commit details
Commits on Mar 11, 2021
-
errors: print original exception context
When --enable-source-maps is set, the error context displayed above the stack trace now shows original source rather than transpiled. Backport-PR-URL: nodejs#37700 PR-URL: nodejs#33491 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6562506 - Browse repository at this point
Copy the full SHA 6562506View commit details
Commits on Mar 27, 2021
-
PR-URL: nodejs#37918 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cb9ec6d - Browse repository at this point
Copy the full SHA cb9ec6dView commit details
Commits on Mar 29, 2021
-
[top-level-await] Implement spec fix for cycle root detection Refs: http://github.com/v8/v8/commit/9689b17687b21c800c3f7400df4255c55b9c6ec0 PR-URL: nodejs#37865 Reviewed-By: Michaël Zasso <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fe5e2e3 - Browse repository at this point
Copy the full SHA fe5e2e3View commit details
Commits on Apr 2, 2021
-
Original commit message: deps: V8: cherry-pick 27e1ac1a79ff [wasm][mac] Support w^x codespaces for Apple Silicon Apple's upcoming arm64 devices will prevent rwx access to memory, but in turn provide a new per-thread way to switch between write and execute permissions. This patch puts that system to use for the WebAssembly subsystem. The approach relies on CodeSpaceWriteScope objects for now. That isn't optimal for background threads (which could stay in "write" mode permanently instead of toggling), but its simplicity makes it a good first step. Background: https://developer.apple.com/documentation/apple_silicon/porting_just-in-time_compilers_to_apple_silicon Bug: chromium:1117591 Change-Id: I3b60f0efd34c0fed924dfc71ee2c7805801c5d42 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2378307 Commit-Queue: Jakob Kummerow <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Reviewed-by: Thibaud Michaud <[email protected]> Cr-Commit-Position: refs/heads/master@{#69791} PR-URL: nodejs#35986 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 697d6a0 - Browse repository at this point
Copy the full SHA 697d6a0View commit details -
deps: V8: cherry-pick 086eecbd96b6
Original commit message: [platform] Add Permission::kNoAccessWillJitLater enum value This value is unused for now. This CL is part 1 of a 3-step dance. Part 2 will be teaching Chrome's Platform implementation to accept the new value. Part 3 will then actually use it in V8. Bug: chromium:1117591 Change-Id: Ie3aed20d4cc58f3def3be2a3a03bba4c3a37bf44 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2450056 Commit-Queue: Jakob Kummerow <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Cr-Commit-Position: refs/heads/master@{#70335} PR-URL: nodejs#35986 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68f8f4b - Browse repository at this point
Copy the full SHA 68f8f4bView commit details -
deps: V8: cherry-pick 4e077ff0444a
Original commit message: [mac] Set MAP_JIT only when necessary This is a "minimal" change to achieve the required goal: seeing that there is only one place where we need to indicate that memory should be reserved with MAP_JIT, we can add a value to the Permissions enum instead of adding a second, orthogonal parameter. That way we avoid changing public API functions, which makes this CL easier to undo once we have platform-independent w^x in Wasm. Bug: chromium:1117591 Change-Id: I6333d69ab29d5900c689f08dcc892a5f1c1159b8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2435365 Commit-Queue: Jakob Kummerow <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Reviewed-by: Clemens Backes <[email protected]> Cr-Commit-Position: refs/heads/master@{#70379} PR-URL: nodejs#35986 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6be68ce - Browse repository at this point
Copy the full SHA 6be68ceView commit details -
deps: V8: cherry-pick 1d0f426311d4i
Original commit message: [mac-arm64] Fix missing #include For an "#if defined(MAP_JIT)" test to work as expected, <sys/mman.h> must be included in the compilation unit. Bug: chromium:1144200 Change-Id: Ia0bf35ec1872c02457f1fbc0ee6689c7f7d27d4a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2517689 Reviewed-by: Clemens Backes <[email protected]> Reviewed-by: Igor Sheludko <[email protected]> Reviewed-by: Nico Weber <[email protected]> Commit-Queue: Jakob Kummerow <[email protected]> Cr-Commit-Position: refs/heads/master@{#70986} PR-URL: nodejs#35986 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bb7e82e - Browse repository at this point
Copy the full SHA bb7e82eView commit details -
test: add SIGTRAP to test-signal-handler
PR-URL: nodejs#36368 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Evan Lucas <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c2d8aef - Browse repository at this point
Copy the full SHA c2d8aefView commit details -
deps: V8: cherry-pick 0c8b6e415c30
Original commit message: [mac][wasm] Work around MacOS 11.2 code page decommit failures MacOS 11.2 refuses to set "no access" permissions on memory that we previously used for JIT-compiled code. It is still unclear whether this is WAI on the part of the kernel. In the meantime, as a workaround, we use madvise(..., MADV_FREE_REUSABLE) instead of mprotect(..., NONE) when discarding code pages. This is inspired by what Chromium's gin platform does. Fixed: v8:11389 Change-Id: I866586932573b4253002436ae5eee4e0411c45fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679688 Commit-Queue: Jakob Kummerow <[email protected]> Commit-Queue: Michael Lippautz <[email protected]> Auto-Submit: Jakob Kummerow <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Cr-Commit-Position: refs/heads/master@{#72559} Refs: v8/v8@0c8b6e4 Fixes: nodejs#37061 PR-URL: nodejs#37276 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Ash Cripps <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 62f250d - Browse repository at this point
Copy the full SHA 62f250dView commit details -
deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream
Original commit message: Fix GetSharedLibraryAddresses This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture. See nodejs#36656 Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413 Reviewed-by: Ulan Degenbaev <[email protected]> Reviewed-by: Michael Lippautz <[email protected]> Commit-Queue: Ulan Degenbaev <[email protected]> Cr-Commit-Position: refs/heads/master@{#72886} Refs: v8/v8@8957d46 Fixes: nodejs#36656 PR-URL: nodejs#37471 Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]> Reviewed-By: Ash Cripps <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Jiawen Geng <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 270801c - Browse repository at this point
Copy the full SHA 270801cView commit details -
Original commit message: mac/arm64: Port SignalHandler::FillRegisterState(). Bug: chromium:1098899 Change-Id: I3ff79c00063f7da36b141a3a7b0d2daa71c9801a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2270705 Commit-Queue: Peter Marshall <[email protected]> Reviewed-by: Peter Marshall <[email protected]> Auto-Submit: Nico Weber <[email protected]> Cr-Commit-Position: refs/heads/master@{#68568} Refs: nodejs#35415, nodejs#38005
Configuration menu - View commit details
-
Copy full SHA for 83501fd - Browse repository at this point
Copy the full SHA 83501fdView commit details