fb461effae
* chore: cherry-pick 32b7dc86a763 from v8 * chore: update patches Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> |
||
---|---|---|
.. | ||
.patches | ||
build_gn.patch | ||
cherry-pick-32b7dc86a763.patch | ||
chore_disable_is_execution_terminating_dcheck.patch | ||
dcheck.patch | ||
do_not_export_private_v8_symbols_on_windows.patch | ||
export_symbols_needed_for_windows_build.patch | ||
expose_mksnapshot.patch | ||
fix_build_deprecated_attribute_for_older_msvc_versions.patch | ||
fix_disable_implies_dcheck_for_node_stream_array_buffers.patch | ||
force_cppheapcreateparams_to_be_noncopyable.patch | ||
README.md | ||
revert_runtime_dhceck_terminating_exception_in_microtasks.patch | ||
workaround_an_undefined_symbol_error.patch |
Exporting node's patches to v8
$ cd third_party/electron_node
$ CURRENT_NODE_VERSION=vX.Y.Z # e.g. v10.11.0
# Find the last commit with the message "deps: update V8 to <some version>"
# This commit corresponds to node resetting V8 to its pristine upstream
# state at the stated version.
$ LAST_V8_UPDATE="$(git log --grep='^deps: update V8' --format='%H' -1 deps/v8)"
# This creates a patch file containing all changes in deps/v8 from
# $LAST_V8_UPDATE up to the current node version, formatted in a way that
# it will apply cleanly to the V8 repository (i.e. with `deps/v8`
# stripped off the path and excluding the v8/gypfiles directory, which
# isn't present in V8.
$ git format-patch \
--relative=deps/v8 \
$LAST_V8_UPDATE..$CURRENT_NODE_VERSION \
deps/v8 \
':(exclude)deps/v8/gypfiles' \
--stdout
When upgrading to a new version of node, make sure to match node's patches to
v8 by removing all the deps_*
patches and re-exporting node's v8 patches
using the process above.