0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-24 03:07:54 +01:00
Commit Graph

992 Commits

Author SHA1 Message Date
Refael Ackermann
d8b4a7edae
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Co-Authored-By: Richard Lau <rlau@redhat.com>
2022-04-21 11:54:30 +02:00
Michaël Zasso
956308d6fb
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/42740
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2022-04-21 11:54:18 +02:00
Michaël Zasso
58f3fdcccd
deps: V8: cherry-pick semver-major commits from 10.2
Includes the following commits:

commit b2978927d8a96ebc814cccbc5a9f1c35910ee621
    Remove dynamic map checks and custom deoptimization kinds

    This CL removes:

    - Dynamic map checks aka minimorphic property loads (TF support,
      builtins).
    - "Bailout" deopts (= drop to the interpreter once, but don't
      throw out optimized code).
    - "EagerWithResume" deopts (= part of dynamic map check
      functionality, we call a builtin for the deopt check and deopt
      or resume based on the result).

    Fixed: v8:12552
    Change-Id: I492cf1667e0f54586690b2f72a65ea804224b840
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3401585

commit f52f934119635058b179c2359fe070b8ee0f9233
    PPC/s390: Remove dynamic map checks and custom deoptimization kinds

    Port b2978927d8a96ebc814cccbc5a9f1c35910ee621

    Original Commit Message:

        This CL removes:

        - Dynamic map checks aka minimorphic property loads (TF support,
          builtins).
        - "Bailout" deopts (= drop to the interpreter once, but don't
          throw out optimized code).
        - "EagerWithResume" deopts (= part of dynamic map check
          functionality, we call a builtin for the deopt check and deopt
          or resume based on the result).

    R=jgruber@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N

    Change-Id: I64476f73810774c2c592231d82c4a2cbfa2bf94e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3537881

commit 38940b70986da6b43d18cb8cf8f0a3be36ca9010
    [loong64][mips] Remove dynamic map checks and custom deoptimization kinds

    Port commit b2978927d8a96ebc814cccbc5a9f1c35910ee621

    Fixed: v8:12552
    Change-Id: Ic2fbded9a662ed840a0350e3ce049e147fbf03a0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3541527

commit da5b5f66a6bd27df6249602378300c6961bc62b4
    [riscv64] Remove dynamic map checks and custom deoptimization kinds

    Port b2978927d8a96ebc814cccbc5a9f1c35910ee621

    Bug: v8:12552
    Change-Id: I73e76fc5cc8905a0fbfc801b2f794735866d19e8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3544725

commit ffae028b37991566c080c5528463f7d16017668c
    Forward deprecation for resurrecting finalizer

    Bug: v8:12672
    Change-Id: Ib4f53086436e028b4ea32fbc960f57e91709d184
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532256

commit f6386018d472665e36d662c8b159d95325999d69
    [api] Remove TracedGlobal<>

    Remove deprecated TracedGlobal<>, greatly simplifying handling of
    traced references in general.

    Also saves a word per v8::TracedReference as there's no need to keep a
    possible callback around.

    Bug: v8:12603
    Change-Id: Ice35d7906775b912d02e97a27a722b3e1cec28d9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3532251

commit a8beac553b0a1639bc9790c2d6f82caf6b2e150f
    Deprecate some signature checks

    Deprecate signature checks in
    * Template::SetNativeDataProperty
    * ObjectTemplate::SetAccessor
    These are not used in Chrome and require some complicated check in the IC code, which we want to remove.

    Change-Id: I413fafc8658e922fd590e7fe200600a624f019a6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3557253

commit cff2b5000a1aa417a9c4499bcfa3ffda4542f4f1
    Deprecate signature checks in Set{Accessor,NativeDataProperty}

    Change from V8_DEPRECATE_SOON to V8_DEPRECATED. It turned out that we
    don't have to make changes in chrome code, so we can go to deprecated
    right away.

    Bug: chromium:1310790
    Change-Id: I1bd529536d3a0098f11f13b3e44fe3dbc80eed04
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3571897

commit 9238afb0c0ee52c9111a7e9f2f055137628771ad
    Allow embedder to set global OOM handler

    Embedders can currently specify a callback for OOM errors during
    Isolate initialization. However, there are cases where an OOM error can
    be thrown in a context where we don't have access to an Isolate, for
    example on a task posted to a worker thread. This CL introduces an
    initialization API to allow the embedder to specify a process-wide OOM
    callback.

    Bug: chromium:614440
    Change-Id: I326753d80767679f677e85104d9edeef92e19086
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561916

commit ca51ae3ac8b468509603633adb6ee3b3be9306ec
    [api][profiler] Get StartProfiling, StopProfiling to accept integer ID rather than string

    This CL adds support for interacting with CpuProfile with their integer
    id.
    A String ID is problematic because it forces an allocation when stopping
    or cancelling a Profiler which can happen during a GC when this
    is not allowed.

    Change-Id: I9a8e754bd67214be0bbc5ca051bcadf52bf71a68
    Bug: chromium:1297283
    Co-Authored-By: Nicolas Dubus <nicodubus@fb.com>
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3522896

Refs: b2978927d8
Refs: f52f934119
Refs: 38940b7098
Refs: da5b5f66a6
Refs: ffae028b37
Refs: f6386018d4
Refs: a8beac553b
Refs: cff2b5000a
Refs: 9238afb0c0
Refs: ca51ae3ac8

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:34 +02:00
Michaël Zasso
eba7d2db7f
deps: V8: cherry-pick ad21d212fc14
Original commit message:

    Preserve "proper method names" as-is in error.stack.

    This changes the logic for generating method names in `error.stack` to
    prepend an inferred type name only when the function name is a valid
    ECMAScript identifiers and does not equal the inferred type name, to

    (1) give developers more control over the exact name shown in
        `error.stack`, as well as
    (2) avoid confusion in the presence of renaming of local variables.

    Previously we'd leave the function name as-is if it was prefixed by the
    inferred type name, but that condition is unnecessarily strict, and led
    to a bunch of inconsistencies around special names like
    `<instance_member_initializer>` where this dynamic approached often
    prefixed it with the correct type name, but also sometimes got it wrong
    and prepended `Object.`, which is very unfortunate and misleading.
    Specifically for these special names, we'll add logic later in the
    parser to infer a useful (complete) name.

    The design doc (https://bit.ly/devtools-method-names-in-stack-traces)
    contains more background and examples of why we do this change.

    Doc: https://bit.ly/devtools-method-names-in-stack-traces
    Fixed: chromium:1294619
    Bug: chromium:1283435
    Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79748}

Refs: ad21d212fc

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:29 +02:00
Michaël Zasso
004137e269
deps: V8: cherry-pick 4c29cf1b7885
Original commit message:

    [heap] fix invocation of NearHeapLimitCallback

    This patch makes sure that NearHeapLimitCallback can invoke
    operations that trigger garbage collections. In addition
    this adds code to make the tracers aware of NearHeapLimitCallback.

    Bug: v8:12777
    Change-Id: I959a23a3e0224ba536cb18b14933813e56fc5292
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3575468
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#79934}

Refs: 4c29cf1b78

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:17 +02:00
Michaël Zasso
a052c03033
deps: V8: cherry-pick ca2a787a0b49
Original commit message:

    Fix build with Windows 10 20348 SDK

    Bug: chromium:1292528
    Change-Id: If4da2ec92afb7b4fe9942778eca385344b9b6409
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3563539
    Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79709}

Refs: ca2a787a0b

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:14 +02:00
Michaël Zasso
01cea9a8d8
deps: V8: cherry-pick a2cae2180a7a
Original commit message:

    [runtime] Fix handling of interceptors, pt.2

    Stores to undeclared global in strict mode should throw ReferenceError.

    Bug: chromium:1309225
    Change-Id: Iac7c55da2ff9c16e488b4fc66408c5300469873e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3553099
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Auto-Submit: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79625}

Refs: a2cae2180a

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:11 +02:00
Michaël Zasso
d9d26b08ef
deps: V8: cherry-pick 87ce4f5d98a5
Original commit message:

    [ic] use CSA_DCHECK in CodeStubAssembler::SharedValueBarrier

    Since the code is generated unconditionally, using a DCHECK to check
    that shared RO heap is enabled breaks builds with
    v8_enable_shared_ro_heap set to false, this patch turns that into a
    CSA_DCHECK so it only crashes when V8 actually attempts to store into
    a shared struct while the RO heap isn't shared at run time.

    Refs: https://github.com/nodejs/node/pull/42115
    Bug: v8:12547
    Change-Id: I30d9a02b98a0b647097125c0a9d141e40d6348cc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3561598
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#79756}

Refs: 87ce4f5d98

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:08 +02:00
Michaël Zasso
64a6328505
deps: make V8 compilable with older glibc
Remove call to `memfd_create`.
The function that references it is only used for V8 testing.

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:05 +02:00
Jiawen Geng
fde59217b9
deps: V8: fix v8-cppgc.h for MSVC
Refs: https://bugs.chromium.org/p/v8/issues/detail?id=12661
Refs: https://github.com/nodejs/node/issues/42375

PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:10:02 +02:00
Michaël Zasso
cdcc82cced
deps: silence V8's warning on CompileFunction
We are not ready to migrate yet.

Refs: https://github.com/nodejs/node-v8/issues/214

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-04-12 22:09:50 +02:00
Michaël Zasso
2d2cef14b1
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-04-12 22:09:45 +02:00
Jiawen Geng
1132d044db
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

deps: workaround debug link error on Windows

PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2022-04-12 22:09:36 +02:00
Refael Ackermann
4169f9d03c
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-04-12 22:09:16 +02:00
Refael Ackermann
3962b86672
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-04-12 22:09:10 +02:00
Michaël Zasso
d5462e4558
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/42657
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-04-12 22:08:42 +02:00
Niyas Sait
818284b687
build: remove precompiled header and debug information for host builds
PR-URL: https://github.com/nodejs/node/pull/42538
Refs: https://github.com/nodejs/node/issues/42375
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2022-04-05 13:29:08 +01:00
Richard Lau
1134d8faf8
build: bump macOS deployment target to 10.15
Update the macOS deployment target for Node.js 18 onwards.

PR-URL: https://github.com/nodejs/node/pull/42292
Refs: https://github.com/nodejs/build/issues/2815
Refs: https://github.com/libuv/libuv/pull/3406
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-03-18 16:53:27 +00:00
Lu Yahan
29c0522616
deps: V8: cherry-pick c6f6626deb14
Original commit message:

    [riscv64] Fix segmentation fault of webpack-make from cockpit

    issue: https://github.com/riscv-collab/v8/issues/520

    Change-Id: I7fe298ad16a2f599805929db0f084a81c4eb7f7a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3503170
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Reviewed-by: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Yahan Lu <yahan@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#79376}

Refs: c6f6626deb

PR-URL: https://github.com/nodejs/node/pull/42240
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-03-10 23:24:09 +00:00
Lu Yahan
2f7920c208 deps: V8: cherry-pick 77d515484864
Original commit message:

    [riscv64] Move explicit specialization into .cc file

    Building with Gcc-10 causes error "explicit specialization in non-namespace scope".
    This change fixes it.

    Bug: v8:12649

    Change-Id: I36b2b042b336c2dfd32ba5541fdbbdb8dc8b4fd7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3473997
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#79185}

Refs: 77d5154848

PR-URL: https://github.com/nodejs/node/pull/42067
Refs: b66334313c
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2022-02-25 15:28:38 +00:00
Lu Yahan
92d6c40ae8 deps: V8: cherry-pick b66334313c8b
Original commit message:

    [riscv64] use callee save register in regexp

    Bug: v8:12502

    Change-Id: I8d1b599fc945e276b70901953368768594470204
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3343861
    Reviewed-by: ji qiu <qiuji@iscas.ac.cn>
    Commit-Queue: ji qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/main@{#78421}

Refs: b66334313c

PR-URL: https://github.com/nodejs/node/pull/42067
Refs: 77d5154848
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
2022-02-25 15:28:37 +00:00
alexcfyung
e0fa7e0608
build: use zoslib_include_dir provided by node-gyp
The path is based on the zoslib gyp path passed to configure.py
via --static-zoslib-gyp arg.

PR-URL: https://github.com/nodejs/node/pull/41713
Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-02-15 12:51:52 +01:00
Ben Noordhuis
214d7da675
build: remove broken x32 arch support
I added support for x32 back in 2014 but it's been in a state of
disrepair ever since, not in the least because it was never a fully
supported architecture in upstream V8.

V8 dropped x32 support entirely in or around 2018 so the removal from
Node's build system is long overdue.

Refs: https://github.com/nodejs/node/issues/40576

PR-URL: https://github.com/nodejs/node/pull/41905
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2022-02-11 08:52:24 +00:00
Gus Caplan
97826d3d83
deps: V8: cherry-pick cc9a8a37445e
Original commit message:

    fix overflow check in error formatting

    Bug: v8:12494
    Change-Id: Iba2684173296aa236f1a1c73a5606c21472eff06
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3426634
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Gus Caplan <snek@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78909}

Refs: cc9a8a3744

PR-URL: https://github.com/nodejs/node/pull/41823
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2022-02-03 08:36:34 -06:00
Michaël Zasso
468fffdf66
deps: V8: cherry-pick 50d5fb7a457c
Original commit message:

    [debugger] Pass break reason for interrupt along with BreakRightNow

    This explicitly passes along the break reason when requesting a pause
    that is handled via an interrupt. Pushing the break reason is not
    enough (as done before), as the reason may be used and consumed on
    another pause call that triggers a setPauseOnNextCall.

    Fixed: chromium:1292519
    Change-Id: If8635c9397a7b9a1e6757be8048c9edc613c27f8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3427208
    Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
    Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
    Auto-Submit: Kim-Anh Tran <kimanh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78885}

Refs: 50d5fb7a45

PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:24:54 +01:00
Michaël Zasso
48708be57b
deps: V8: cherry-pick 79a9d2eb3477
Original commit message:

    Fix destructor for EmbedderStateScope

    EmbedderState is forward declared in public header for
    EmbedderStateScope. Default std::unique_ptr's destructor needs a fully
    defined class. Defining default destructor in implementation file fixes
    this.

    Bug: chromium:1263871
    Change-Id: I8ccc58f56a758927dc5d7a39387188185e7d3827
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3338697
    Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78363}

Refs: 79a9d2eb34

PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:24:51 +01:00
Michaël Zasso
ae5edcf2d8
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:

    [liftoff] Allow bailout for missing ARMv7

    The bailout is there explicitly in the code, so we should allow it in
    {CheckBailoutAllowed}.

    R=ahaas@chromium.org

    Bug: v8:12527
    Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78515}

Refs: 3b6b21f595

Fixes: https://github.com/nodejs/node/issues/41402

PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-02-02 17:24:46 +01:00
Michaël Zasso
3c8782f70e
deps: silence V8's warning on CompileFunction
We are not ready to migrate yet.

Refs: https://github.com/nodejs/node-v8/issues/214

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-02-02 17:24:37 +01:00
Michaël Zasso
80c5a65c99
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-02-02 17:24:33 +01:00
Michaël Zasso
008e678988
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:24:26 +01:00
Michaël Zasso
c19ec06b4a
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2022-02-02 17:24:21 +01:00
Jiawen Geng
12303540ec
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

deps: workaround debug link error on Windows

PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2022-02-02 17:24:17 +01:00
Joao Reis
5bc8f3bf1c
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-02-02 17:24:12 +01:00
Refael Ackermann
3c3a70dc5f
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-02-02 17:24:05 +01:00
Refael Ackermann
dc21daa4c6
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-02-02 17:24:00 +01:00
Refael Ackermann
2ab6d72505
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-02-02 17:23:53 +01:00
Michaël Zasso
7ee8a7a463
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/41610
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-02-02 17:23:21 +01:00
alexcfyung
ec1364b6ae build: enable zoslib installation on z/OS
zoslib is a C/C++ runtime library and an extended implementation
of the z/OS LE C Runtime Library.

PR-URL: https://github.com/nodejs/node/pull/41493
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
2022-01-21 14:21:52 -05:00
Michaël Zasso
e23e345b6c
deps: V8: cherry-pick 80bbbb143c24
Original commit message:

    [class] handle existing readonly properties in StoreOwnIC

    Previously, StoreOwnIC incorrectly reuses the [[Set]] semantics
    when initializing public literal class fields and object literals in
    certain cases (e.g. when there's no feedback).
    This was less of an issue for object literals, but with public class
    fields it's possible to define property attributes while the
    instance is still being initialized, or to encounter existing static
    "name" or "length" properties that should be readonly. This patch
    fixes it by

    1) Emitting code that calls into the slow stub when
       handling StoreOwnIC with existing read-only properties.
    2) Adding extra steps in StoreIC::Store to handle such stores
       properly with [[DefineOwnProperty]] semantics.

    Bug: v8:12421, v8:9888
    Change-Id: I6547320a1caba58c66ee1043cd3183a2de7cefef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300092
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#78659}

Refs: 80bbbb143c

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-01-20 10:40:26 +01:00
Michaël Zasso
696ce7df26
deps: V8: cherry-pick 1cc12b278e22
Original commit message:

    [ic] Add StoreOwnIC_Slow

    This runtime function behaves like StoreDataPropertyInLiteral, except it
    can throw, since it's also used for defining public class fields. Unlike
    the literal use case, class field can end up throwing due to field
    initializers doing things like freezing the instance.

    Bug: chromium:1264828
    Change-Id: I3ea4d15ad9b906c26763f022c8e22b757fa80b6c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3252558
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Auto-Submit: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77704}

Refs: 1cc12b278e

PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-01-20 10:40:23 +01:00
Michaël Zasso
91cf835571
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:

    [liftoff] Allow bailout for missing ARMv7

    The bailout is there explicitly in the code, so we should allow it in
    {CheckBailoutAllowed}.

    R=ahaas@chromium.org

    Bug: v8:12527
    Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78515}

Refs: 3b6b21f595

Fixes: https://github.com/nodejs/node/issues/41402

PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-01-20 10:40:18 +01:00
Ray Wang
5ea28b7ebf
deps: V8: cherry-pick 7ae0b77628f6
Original commit message:

    [interpreter] Stop jump-table optimizing switch stms when spread overflows

    Bug: v8:12389
    Change-Id: I53c728ab0c8ba38c7dd96c7e1089f771ba44b9f0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289227
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77995}

Refs: 7ae0b77628

PR-URL: https://github.com/nodejs/node/pull/40882
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-20 10:40:06 +01:00
Michaël Zasso
2080449011
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-01-20 10:39:57 +01:00
Michaël Zasso
b9009d60ed
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-01-20 10:39:48 +01:00
Michaël Zasso
9fef7a179d
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2022-01-20 10:39:39 +01:00
Jiawen Geng
c40a7c1579
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

deps: workaround debug link error on Windows

PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2022-01-20 10:39:33 +01:00
Joao Reis
efff1bd218
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-01-20 10:39:18 +01:00
Refael Ackermann
c465ba572a
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-01-20 10:39:12 +01:00
Refael Ackermann
0a9c63e016
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-01-20 10:39:06 +01:00
Refael Ackermann
a2802a8934
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2022-01-20 10:38:59 +01:00
Michaël Zasso
a189dee52a
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/40907
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-01-20 10:38:41 +01:00
Daoming Qiu
26398575dc build: add --v8-enable-hugepage flag
PR-URL: https://github.com/nodejs/node/pull/41487
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2022-01-19 09:46:13 +00:00
Michaël Zasso
f1ac5529ce
deps: V8: cherry-pick 3b6b21f595f6
Original commit message:

    [liftoff] Allow bailout for missing ARMv7

    The bailout is there explicitly in the code, so we should allow it in
    {CheckBailoutAllowed}.

    R=ahaas@chromium.org

    Bug: v8:12527
    Change-Id: Ifd906afb5f034f05c2bf7d9a28e3ab458549e7ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3372915
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78515}

Refs: 3b6b21f595

Fixes: https://github.com/nodejs/node/issues/41402

PR-URL: https://github.com/nodejs/node/pull/41457
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-01-14 16:41:42 +00:00
alexcfyung
f6e5050579
build: start build on z/OS
Update configure.py, Makefile, and common.gypi to get the
build started on z/OS.

Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>
Co-authored-by: Wayne Zhang <zsw007@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/41273
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org>
2022-01-06 15:54:32 +00:00
Ray Wang
d482382d16
deps: V8: cherry-pick cced52a97ee9
Original commit message:

    [date] Skip leading zeros when parsing date string

    1. Skip leading zeros when parsing date string
    2. Add necessary unittests

    Bug: v8:12256
    Change-Id: Ibc1f320382a2e33175f7f57542c8fe48afd05fa8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3223239
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77592}

Refs: cced52a97e

PR-URL: https://github.com/nodejs/node/pull/40656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 16:06:10 +01:00
Ray Wang
25bc27d1ce
deps: V8: cherry-pick 7ae0b77628f6
Original commit message:

    [interpreter] Stop jump-table optimizing switch stms when spread overflows

    Bug: v8:12389
    Change-Id: I53c728ab0c8ba38c7dd96c7e1089f771ba44b9f0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289227
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77995}

Refs: 7ae0b77628

PR-URL: https://github.com/nodejs/node/pull/40882
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 16:06:06 +01:00
Michaël Zasso
a9b03eabf2
deps: V8: cherry-pick 2a0bc36dec12
Original commit message:

    [parser] Fix the MSVC build

    MSVC seems to instantiate the Parser::PreParserIdentifierToAstRawString
    method despite it being unused. This CL adds an (unreachable)
    definition for it.

    Bug: v8:12266
    Change-Id: I355ca82a9d6b7bc8cd16768a8df93e40f8bfc638
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3199856
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77313}

Refs: 2a0bc36dec

PR-URL: https://github.com/nodejs/node/pull/40178
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-11-21 16:05:58 +01:00
Michaël Zasso
e548e053a2
deps: V8: patch jinja2 for Python 3.10 compat
PR-URL: https://github.com/nodejs/node/pull/40296
Fixes: https://github.com/nodejs/node/issues/40294
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-11-21 16:05:52 +01:00
Michaël Zasso
2c1ee230fe
deps: disable trap handler for Windows cross-compiler
`handler-outside-simulator.cc` uses inline assembly, which is not
supported by MSVC.

PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 16:05:44 +01:00
Michaël Zasso
95311071e0
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-11-21 16:05:39 +01:00
Michaël Zasso
02993652f1
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-11-21 16:05:36 +01:00
Jiawen Geng
099edf65fe
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>

deps: workaround debug link error on Windows

PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-11-21 16:05:31 +01:00
Joao Reis
53c4924b12
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-11-21 16:05:16 +01:00
Refael Ackermann
b083907fee
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-11-21 16:05:11 +01:00
Refael Ackermann
ec03182d65
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-11-21 16:05:05 +01:00
Refael Ackermann
70af0b784b
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-11-21 16:04:59 +01:00
Michaël Zasso
c9c361e69a
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/40488
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 16:04:44 +01:00
Ray Wang
42543bcf47
deps: V8: cherry-pick cced52a97ee9
Original commit message:

    [date] Skip leading zeros when parsing date string

    1. Skip leading zeros when parsing date string
    2. Add necessary unittests

    Bug: v8:12256
    Change-Id: Ibc1f320382a2e33175f7f57542c8fe48afd05fa8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3223239
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77592}

Refs: cced52a97e

PR-URL: https://github.com/nodejs/node/pull/40656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 15:53:05 +01:00
Ray Wang
40ab2888f5
deps: V8: cherry-pick 7ae0b77628f6
Original commit message:

    [interpreter] Stop jump-table optimizing switch stms when spread overflows

    Bug: v8:12389
    Change-Id: I53c728ab0c8ba38c7dd96c7e1089f771ba44b9f0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3289227
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77995}

Refs: 7ae0b77628

PR-URL: https://github.com/nodejs/node/pull/40882
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-11-21 15:19:40 +01:00
Cheng Zhao
a536de4695
build: disable v8 pointer compression on 32bit archs
PR-URL: https://github.com/nodejs/node/pull/40418
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-10-23 08:52:55 +02:00
Ray Wang
c83f47ff00
deps: V8: cherry-pick 422dc378a1da
Original commit message:

    [deserialization] Remove unnecessarily limit on buffer size

    1. Now there is no serializer/deserializer-specific buffer size limit.
    2. Update AUTHORS

    Ref: https://github.com/nodejs/node/issues/40059

    Change-Id: Iad4c6d8f68a91ef21d3c404fb7945949e69ad9e2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3170411
    Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77084}

Refs: 422dc378a1

PR-URL: https://github.com/nodejs/node/pull/40450
Fixes: https://github.com/nodejs/node/issues/40059
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-23 08:42:41 +02:00
Michaël Zasso
795108a63d
deps: V8: make V8 9.5 ABI-compatible with 9.6
Cherry-pick ABI-breaking changes that happened since 9.5 was branched:

[api] Remove deprecated HostImportModuleDynamicallyCallback
Refs: ab836859d9

[zone] Provide a way to configure allocator for zone backings
Refs: e262e1cb4a

[isolate-data] Consistent field names
Needed for the next commit.
Refs: d09fc5403a

[isolate-data] Split builtin tables into tiers
Refs: 06af754cea

[mips][loong64][isolate-data] Split builtin tables into tiers
Refs: 1fd55617e1

[riscv64] Replace builtin_entry_slot_offset with BuiltinEntrySlotOffset
Refs: b66d5f0233

ppc/s390: [isolate-data] Split builtin tables into tiers
Refs: dc88bdf35e

PR-URL: https://github.com/nodejs/node/pull/40422
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-10-14 08:42:51 +02:00
Richard Lau
9dfa30bdd5 build: compile with C++17 (MSVC)
PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-10-13 17:11:38 +00:00
Richard Lau
228e703ded deps: workaround debug link error on Windows
PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-10-13 17:11:37 +00:00
Richard Lau
9f0bc602e4 build: compile with --gnu++17
Enables C++17 features.

PR-URL: https://github.com/nodejs/node/pull/38807
Refs: https://github.com/nodejs/node/pull/38788
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-10-13 17:11:37 +00:00
Michaël Zasso
1fd984581c
tools: update V8 gypfiles for 9.5
PR-URL: https://github.com/nodejs/node/pull/40178
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-12 08:08:53 +02:00
Michaël Zasso
c9296b190f
deps: V8: cherry-pick 2a0bc36dec12
Original commit message:

    [parser] Fix the MSVC build

    MSVC seems to instantiate the Parser::PreParserIdentifierToAstRawString
    method despite it being unused. This CL adds an (unreachable)
    definition for it.

    Bug: v8:12266
    Change-Id: I355ca82a9d6b7bc8cd16768a8df93e40f8bfc638
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3199856
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77313}

Refs: 2a0bc36dec

PR-URL: https://github.com/nodejs/node/pull/40178
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-12 08:08:52 +02:00
Michaël Zasso
5b358370ad
deps: V8: cherry-pick cf21eb36b975
Original commit message:

    [baseline] Skip deoptimization data size

    Sparkplug code does not contain deoptimization data.

    Bug: v8:12258
    Change-Id: Ieb9f7f1469e00677d9533c6f05b17c80ef06b9d6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3175820
    Commit-Queue: Victor Gomes <victorgomes@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Auto-Submit: Victor Gomes <victorgomes@chromium.org>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76997}

Refs: cf21eb36b9

PR-URL: https://github.com/nodejs/node/pull/40178
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-12 08:08:50 +02:00
Michaël Zasso
6b403834d5
deps: V8: patch jinja2 for Python 3.10 compat
PR-URL: https://github.com/nodejs/node/pull/40296
Fixes: https://github.com/nodejs/node/issues/40294
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-10-12 08:08:43 +02:00
Michaël Zasso
0d02e89e7a
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-12 08:08:37 +02:00
Michaël Zasso
678d671f83
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-10-12 08:08:25 +02:00
Jiawen Geng
1b68667869
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-10-12 08:08:21 +02:00
Joao Reis
ef93689bbe
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-12 08:08:18 +02:00
Refael Ackermann
b2c5246938
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-12 08:08:14 +02:00
Refael Ackermann
574b3ca70a
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-12 08:08:10 +02:00
Refael Ackermann
b3a017bb63
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-12 08:07:57 +02:00
Michaël Zasso
cb93fdbba5
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/40178
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-12 08:07:53 +02:00
Daniel Bevenius
66da32c045 deps,test,src,doc,tools: update to OpenSSL 3.0
This pull request updates the OpenSSL version that is statically
linked with Node.js from OpenSSl 1.1.1 to quictls OpenSSL 3.0.0+quic.

This pull request will replace the OpenSSL version that is currently
in the deps directory and when performing a normal build
OpenSSL 3.0+quic will be statically linked to the Node.js executable.
We will still be able to dynamically link to OpenSSL 1.1.1 and we have
a CI job which dynamically links to OpenSSL 1.1.1 which is run for
every pull request to make sure that we maintain backward compatibility.

PR-URL: https://github.com/nodejs/node/pull/38512
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2021-10-11 06:28:08 +02:00
Michaël Zasso
75c4bdeb21 deps: V8: patch jinja2 for Python 3.10 compat
PR-URL: https://github.com/nodejs/node/pull/40296
Fixes: https://github.com/nodejs/node/issues/40294
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-10-06 17:06:16 -07:00
Jiawen Geng
fc056a301e
deps: V8: cherry-pick 9a607043cb31
Original commit message:

    [compiler] Gracefully handle an unsupported situation

    ... by skipping the optimization instead of CHECK-failing.

    Bug: v8:12188
    Change-Id: I6709bf1c55506f3d12886efbfbb9934788cd02ce
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3148132
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76741}

Refs: 9a607043cb

PR-URL: https://github.com/nodejs/node/pull/40046
Fixes: https://github.com/nodejs/node/issues/40030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2021-10-02 08:41:31 +02:00
Michaël Zasso
a909f6942b
deps: V8: cherry-pick 5681a6565828
Original commit message:

    [rab/gsab] Fix missing assignment in BackingStore::Reallocate

    See https://github.com/nodejs/node/pull/39945

    Bug: v8:11111
    Change-Id: I7271a907bf036c18a014b2a13ff5746db622456a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3141581
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76670}

Refs: 5681a65658

PR-URL: https://github.com/nodejs/node/pull/39945
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-10-02 08:41:24 +02:00
Michaël Zasso
545dcadf7d
deps: V8: cherry-pick bdcda72cd1d8
Original commit message:

    [platform] Fix compilation on 32-bit Windows

    Use `extern "C"` to declare the __readfsdword function.
    Fixes error C2732 in the Node.js CI.

    Bug: chromium:796644
    Change-Id: If261985e65bfdade53ce06ff28afe0e2db402f7a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3086457
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
    Cr-Commit-Position: refs/heads/master@{#76259}

Refs: bdcda72cd1

PR-URL: https://github.com/nodejs/node/pull/39945
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-10-02 08:41:17 +02:00
Darshan Sen
998c890ed1
deps: V8: cherry-pick 00bb1a77c03e
Original commit message:

    [date] Fix Date#getMinutes() test failures

    After building V8 using Clang (./out/x64.release/v8_build_config.json
    says that "is_clang" is true), I could reproduce the referenced bug
    report locally. Replacing the getMinutes() calls with getUTCMinutes()
    calls fixed the test failure.

    Signed-off-by: Darshan Sen <raisinten@gmail.com>
    Bug: v8:11200
    Change-Id: Ia36be481f2c8728380d550ead856ef8e51b1069c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093362
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76367}

Refs: 00bb1a77c0
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: https://github.com/nodejs/node/pull/39829
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-02 08:41:15 +02:00
Michaël Zasso
b479afa921
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-10-02 08:41:13 +02:00
Michaël Zasso
6bbb0b0d8d
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-10-02 08:41:11 +02:00
Jiawen Geng
e2dcba7a51
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>

deps: patch for v8 on windows

PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>

deps: patch v8 for vs2019 in std17

PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-10-02 08:41:06 +02:00
Joao Reis
4f0ed9d7fd
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-02 08:41:04 +02:00
Refael Ackermann
774011b674
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-02 08:41:01 +02:00
Refael Ackermann
a8d4b0c6f0
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-02 08:40:47 +02:00
Refael Ackermann
b512527e29
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-10-02 08:40:40 +02:00
Michaël Zasso
96e3cd1e64
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/39945
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-10-02 08:40:32 +02:00
Jiawen Geng
90c0a5c61c deps: patch v8 for vs2019 in std17
PR-URL: https://github.com/nodejs/node/pull/40060
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-09-12 13:56:44 +00:00
Jiawen Geng
be3af51696 deps: V8: cherry-pick 9a607043cb31
Original commit message:

    [compiler] Gracefully handle an unsupported situation

    ... by skipping the optimization instead of CHECK-failing.

    Bug: v8:12188
    Change-Id: I6709bf1c55506f3d12886efbfbb9934788cd02ce
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3148132
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76741}

Refs: 9a607043cb

PR-URL: https://github.com/nodejs/node/pull/40046
Fixes: https://github.com/nodejs/node/issues/40030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2021-09-09 11:51:55 +00:00
Jiawen Geng
513a979b44 deps: patch for v8 on windows
PR-URL: https://github.com/nodejs/node/pull/40010
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-09-09 06:36:50 +00:00
Darshan Sen
66af7e965a
deps: V8: cherry-pick 00bb1a77c03e
Original commit message:

    [date] Fix Date#getMinutes() test failures

    After building V8 using Clang (./out/x64.release/v8_build_config.json
    says that "is_clang" is true), I could reproduce the referenced bug
    report locally. Replacing the getMinutes() calls with getUTCMinutes()
    calls fixed the test failure.

    Signed-off-by: Darshan Sen <raisinten@gmail.com>
    Bug: v8:11200
    Change-Id: Ia36be481f2c8728380d550ead856ef8e51b1069c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093362
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76367}

Refs: 00bb1a77c0
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: https://github.com/nodejs/node/pull/39829
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-30 21:03:17 +02:00
Stephen Belanger
583d1f218a
deps: V8: cherry-pick 81814ed44574
Original commit message:

    [promise] Avoid stack overflow with context promise hooks in C++

    This was handled in JS but not in C++.

    Bug: chromium:236703, v8:11025
    Change-Id: Ic9adc4ceb4d2af2614427fec459c3e950654572f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3074460
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76125}

Refs: 81814ed445

PR-URL: https://github.com/nodejs/node/pull/39719
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2021-08-30 21:03:15 +02:00
Michaël Zasso
47db6ae1dc
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-30 21:03:14 +02:00
Michaël Zasso
e232c9b3a5
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-08-30 21:03:12 +02:00
Jiawen Geng
a00971f50c
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-08-30 21:03:10 +02:00
Joao Reis
c65a987ec2
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-08-30 21:03:09 +02:00
Refael Ackermann
6f4338d28e
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-08-30 21:03:07 +02:00
Refael Ackermann
6d1dfaf4ba
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-08-30 21:03:05 +02:00
Refael Ackermann
5952c0c9cf
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-08-30 21:03:02 +02:00
Michaël Zasso
d9df416a09
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/39469
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-30 21:02:55 +02:00
Felix Yan
2d503ed3ff
deps: V8: backport 239898ef8c77
Original commit message:

    [PATCH] [riscv64] Fix node.js build failed

    Change-Id: I0a614fa6c381770f56037f0401db008a37c71dca
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2966209
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
    Reviewed-by: Ji Qiu <qiuji@iscas.ac.cn>
    Cr-Commit-Position: refs/heads/master@{#75199}

Refs: 239898ef8c

PR-URL: https://github.com/nodejs/node/pull/39827
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-25 09:45:44 +02:00
Darshan Sen
3b4ad54fbe deps: V8: cherry-pick 00bb1a77c03e
Original commit message:

    [date] Fix Date#getMinutes() test failures

    After building V8 using Clang (./out/x64.release/v8_build_config.json
    says that "is_clang" is true), I could reproduce the referenced bug
    report locally. Replacing the getMinutes() calls with getUTCMinutes()
    calls fixed the test failure.

    Signed-off-by: Darshan Sen <raisinten@gmail.com>
    Bug: v8:11200
    Change-Id: Ia36be481f2c8728380d550ead856ef8e51b1069c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3093362
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#76367}

Refs: 00bb1a77c0
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: https://github.com/nodejs/node/pull/39829
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-08-23 14:31:29 +00:00
Stephen Belanger
4ece669c62 deps: V8: cherry-pick 81814ed44574
Original commit message:

    [promise] Avoid stack overflow with context promise hooks in C++

    This was handled in JS but not in C++.

    Bug: chromium:236703, v8:11025
    Change-Id: Ic9adc4ceb4d2af2614427fec459c3e950654572f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3074460
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76125}

Refs: 81814ed445

PR-URL: https://github.com/nodejs/node/pull/39719
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2021-08-11 17:44:13 +00:00
Michaël Zasso
df25424b91
build: fix V8 build with pointer compression
Refs: https://github.com/nodejs/TSC/issues/790#issuecomment-893457655

PR-URL: https://github.com/nodejs/node/pull/39664
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-08-07 20:27:17 +02:00
Michaël Zasso
5bf29fa67e
deps: V8: backport 5c76da8ddcf8
Original commit message:

    [mips][wasm][liftoff] Fix compile failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Bug: v8:11809

    Change-Id: Idbbbc10d1339d6c8463686b6e701fb601a217cab
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931557
    Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
    Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
    Auto-Submit: Liu yu <liuyu@loongson.cn>
    Cr-Commit-Position: refs/heads/master@{#74934}

Refs: 5c76da8ddc

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:29:33 +02:00
Michaël Zasso
3b38c86109
deps: V8: cherry-pick 359d44df4cdd
Original commit message:

    [riscv64] Fix build failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Change-Id: Ie953a1d54f5529423ae35d1b1cd3ca25e8101c6e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931577
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Brice Dobry <brice.dobry@futurewei.com>
    Reviewed-by: Brice Dobry <brice.dobry@futurewei.com>
    Cr-Commit-Position: refs/heads/master@{#74937}

Refs: 359d44df4c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:29:19 +02:00
Michaël Zasso
611ef29a49
deps: V8: cherry-pick 3805a698f7b6
Original commit message:

    PPC/s390: [wasm][liftoff] Always zero-extend 32 bit offsets

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Original Commit Message:

        The upper 32 bits of the 64 bit offset register are not guaranteed to be
        cleared, so a zero-extension is needed. We already do the zero-extension
        in the case of explicit bounds checking, but this should also be done if
        the trap handler is enabled.

    R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N

    Change-Id: Ife3ae4f93b85fe1b2c76fe4b98fa408b5b51ed71
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929661
    Reviewed-by: Junliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#74886}

Refs: 3805a698f7

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:29:06 +02:00
Michaël Zasso
40d3e56a42
deps: V8: cherry-pick 56fe020eec0c
Original commit message:

    [wasm][arm64] Always zero-extend 32 bit offsets, for realz

    We've already been zero-extending 32-bit offset registers since
    https://chromium-review.googlesource.com/c/v8/v8/+/2917612,
    but that patch only covered the case where offset_imm == 0.
    When there is a non-zero offset, we need the same fix.

    Bug: chromium:1224882,v8:11809
    Change-Id: I1908f735929798f411346807fc4f3c79d8e04362
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998582
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75500}

Refs: 56fe020eec

Fixes: https://github.com/nodejs/node/issues/39327

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:28:51 +02:00
Michaël Zasso
73840c05a1
deps: V8: cherry-pick 2b77ca200c56
Original commit message:

    [wasm][liftoff] Always zero-extend 32 bit offsets

    The upper 32 bits of the 64 bit offset register are not guaranteed to be
    cleared, so a zero-extension is needed. We already do the zero-extension
    in the case of explicit bounds checking, but this should also be done if
    the trap handler is enabled.

    R=clemensb@chromium.org
    CC=jkummerow@chromium.org

    Bug: v8:11809
    Change-Id: I21e2535c701041d11fa06c176fa683d82db0a3f1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2917612
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74881}

Refs: 2b77ca200c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:28:38 +02:00
Michaël Zasso
b08ef63fcb
deps: V8: cherry-pick 53784bdb8f01
Original commit message:

    [liftoff] Handle constant memory indexes specially

    This adds detection for constant memory indexes which can statically be
    proven to be in-bounds (because the effective offset is within the
    minimum memory size). In these cases, we can skip the bounds check and
    the out-of-line code for the trap-handler.
    This often saves 1-2% of code size.

    R=ahaas@chromium.org

    Bug: v8:11802
    Change-Id: I0ee094e6f1f5d132af1d6a8a7c539a4af6c3cb5e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919827
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74825}

Refs: 53784bdb8f

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-20 15:28:23 +02:00
Michaël Zasso
bc6a101ecd
deps: V8: cherry-pick 7ff6609a5385
Original commit message:

    Move DCHECK() in JSCallOrConstructNode ctor into a helper function.

    As is, the DCHECK() has a #if inside, and MSVC has trouble
    pre-processing that. Fix this by moving the conditional inside the
    DCHECK() into a separate helper function.

    Bug: v8:11760
    Change-Id: Ib4ae0fe263029bb426da378afa5b6881557ce652
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919421
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Lei Zhang <thestig@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74807}

Refs: 7ff6609a53

PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:28:03 +02:00
Michaël Zasso
0479bcf593
deps: V8: cherry-pick a5cea1bfc38c
Original commit message:

    Mark Node::opcode() and Operator::opcode() as constexpr.

    Without the explicit constexpr keyword, Clang seems to be able to treat
    these methods as constexpr, whereas MSVC will not.

    Bug: v8:11760
    Change-Id: I9f6492f38fb50dcaf7a4f09da0bd79c0da6a50eb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912916
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Commit-Queue: Lei Zhang <thestig@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74791}

Refs: a5cea1bfc3

PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:28:02 +02:00
Richard Lau
c516f2c3e2
deps: V8: cherry-pick 986299250e6d
Original commit message:

    [wasm-simd] Skip tests which require Simd enabled

    These tests require Simd enabled which causes failures
    on machines without the support.

    They are already skipped on Mips: https://crrev.com/c/2841887

    Change-Id: I4b9a9bb3cb208a0e9aa12dc135393bc515ad766e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2927210
    Reviewed-by: Zhi An Ng <zhin@chromium.org>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#74891}

Refs: 986299250e

PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:28:00 +02:00
Michaël Zasso
2090932b55
deps: V8: backport 71e8f8bb3c26
Original commit message:

    [codegen] Move definition of GetRegisterParameter to inline header

    This fixes compilation of V8 in Node.js with Visual Studio 2019.
    Without this change, MSVC errors with C3779 (a function that returns
    'auto' cannot be used before it is defined) on the `static constexpr
    auto registers()` method.

    Bug: v8:11420
    Change-Id: Id545199e2cdc10c8560031fb5950ec1171e5d554
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964095
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75173}

Refs: 71e8f8bb3c

PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:27:56 +02:00
Michaël Zasso
03096f418b
deps: V8: cherry-pick 3d24b3ab8af0
Original commit message:

    ARM64: VRegister::from_code expected to be constexpr

    GCC build fails trying to use a non constexpr function from a
    constexpr function.

    ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-register.h: In member function 'constexpr v8::internal::DoubleRegister v8::internal::wasm::LiftoffRegister::fp() const':
    ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-register.h:286:71: error: call to non-'constexpr' function 'static v8::internal::VRegister v8::internal::VRegister::from_code(int)'
      286 |     return DoubleRegister::from_code(code_ - kAfterMaxLiftoffGpRegCode);
          |                                                                       ^
    In file included from ../chromium-92.0.4503.0/v8/src/codegen/register-arch.h:16,
                     from ../chromium-92.0.4503.0/v8/src/deoptimizer/translation-array.h:8,
                     from ../chromium-92.0.4503.0/v8/src/objects/code.h:10,
                     from ../chromium-92.0.4503.0/v8/src/codegen/reloc-info.h:10,
                     from ../chromium-92.0.4503.0/v8/src/codegen/assembler.h:47,
                     from ../chromium-92.0.4503.0/v8/src/codegen/assembler-arch.h:8,
                     from ../chromium-92.0.4503.0/v8/src/codegen/turbo-assembler.h:12,
                     from ../chromium-92.0.4503.0/v8/src/codegen/macro-assembler.h:8,
                     from ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-assembler.h:13,
                     from ../chromium-92.0.4503.0/v8/src/wasm/baseline/liftoff-assembler.cc:5:
    ../chromium-92.0.4503.0/v8/src/codegen/arm64/register-arm64.h:416:20: note: 'static v8::internal::VRegister v8::internal::VRegister::from_code(int)' declared here
      416 |   static VRegister from_code(int code) {
          |                    ^~~~~~~~~

    Bug: chromium:819294
    Change-Id: Ia19ea90f3f666702d32c90e147af17dcda7e08a6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929805
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Commit-Queue: José Dapena Paz <jdapena@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#74889}

Refs: 3d24b3ab8a

PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:27:50 +02:00
Michaël Zasso
5190bead13
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:27:16 +02:00
Michaël Zasso
2bb1e6c7e1
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-07-20 15:27:12 +02:00
Jiawen Geng
323f285e93
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-07-20 15:26:59 +02:00
Joao Reis
7f51e2c4af
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-07-20 15:26:37 +02:00
Refael Ackermann
536896d718
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-07-20 15:26:21 +02:00
Refael Ackermann
e4a9da99e5
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-07-20 15:25:58 +02:00
Refael Ackermann
92c18c95dc
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-07-20 15:25:25 +02:00
Michaël Zasso
9fc4c978ae
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/38990
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-07-20 15:24:54 +02:00
Michaël Zasso
de85b1ea95
deps: V8: backport 5c76da8ddcf8
Original commit message:

    [mips][wasm][liftoff] Fix compile failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Bug: v8:11809

    Change-Id: Idbbbc10d1339d6c8463686b6e701fb601a217cab
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931557
    Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
    Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn>
    Auto-Submit: Liu yu <liuyu@loongson.cn>
    Cr-Commit-Position: refs/heads/master@{#74934}

Refs: 5c76da8ddc

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:48 +02:00
Michaël Zasso
8bb09f49c5
deps: V8: cherry-pick 359d44df4cdd
Original commit message:

    [riscv64] Fix build failed

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Change-Id: Ie953a1d54f5529423ae35d1b1cd3ca25e8101c6e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2931577
    Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
    Commit-Queue: Brice Dobry <brice.dobry@futurewei.com>
    Reviewed-by: Brice Dobry <brice.dobry@futurewei.com>
    Cr-Commit-Position: refs/heads/master@{#74937}

Refs: 359d44df4c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:46 +02:00
Michaël Zasso
4c06c40f4c
deps: V8: cherry-pick 3805a698f7b6
Original commit message:

    PPC/s390: [wasm][liftoff] Always zero-extend 32 bit offsets

    Port 2b77ca200c56667c68895e49c96c10ff77834f09

    Original Commit Message:

        The upper 32 bits of the 64 bit offset register are not guaranteed to be
        cleared, so a zero-extension is needed. We already do the zero-extension
        in the case of explicit bounds checking, but this should also be done if
        the trap handler is enabled.

    R=thibaudm@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
    BUG=
    LOG=N

    Change-Id: Ife3ae4f93b85fe1b2c76fe4b98fa408b5b51ed71
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2929661
    Reviewed-by: Junliang Yan <junyan@redhat.com>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#74886}

Refs: 3805a698f7

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:45 +02:00
Michaël Zasso
12aa11c524
deps: V8: cherry-pick 56fe020eec0c
Original commit message:

    [wasm][arm64] Always zero-extend 32 bit offsets, for realz

    We've already been zero-extending 32-bit offset registers since
    https://chromium-review.googlesource.com/c/v8/v8/+/2917612,
    but that patch only covered the case where offset_imm == 0.
    When there is a non-zero offset, we need the same fix.

    Bug: chromium:1224882,v8:11809
    Change-Id: I1908f735929798f411346807fc4f3c79d8e04362
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998582
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75500}

Refs: 56fe020eec

Fixes: https://github.com/nodejs/node/issues/39327

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:44 +02:00
Michaël Zasso
12b55ed3dd
deps: V8: cherry-pick 2b77ca200c56
Original commit message:

    [wasm][liftoff] Always zero-extend 32 bit offsets

    The upper 32 bits of the 64 bit offset register are not guaranteed to be
    cleared, so a zero-extension is needed. We already do the zero-extension
    in the case of explicit bounds checking, but this should also be done if
    the trap handler is enabled.

    R=clemensb@chromium.org
    CC=jkummerow@chromium.org

    Bug: v8:11809
    Change-Id: I21e2535c701041d11fa06c176fa683d82db0a3f1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2917612
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74881}

Refs: 2b77ca200c

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:43 +02:00
Michaël Zasso
ad53b582e1
deps: V8: cherry-pick 53784bdb8f01
Original commit message:

    [liftoff] Handle constant memory indexes specially

    This adds detection for constant memory indexes which can statically be
    proven to be in-bounds (because the effective offset is within the
    minimum memory size). In these cases, we can skip the bounds check and
    the out-of-line code for the trap-handler.
    This often saves 1-2% of code size.

    R=ahaas@chromium.org

    Bug: v8:11802
    Change-Id: I0ee094e6f1f5d132af1d6a8a7c539a4af6c3cb5e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2919827
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74825}

Refs: 53784bdb8f

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:41 +02:00
Michaël Zasso
24a566c93b
deps: V8: cherry-pick cb4faa902e9f
Original commit message:

    Reland "[liftoff][arm64] Use 64 bit offset reg in mem op"

    This is a reland of f645d0b857bc669271adcbe95cf25e1554347dd4

    The issue was that converting an i64 to an i32 didn't clear the upper
    bits on arm64. This was not necessary before because we did the zero
    extension as part of the load operand, but this is required now that
    we use the full register.

    Original change's description:
    > [liftoff][arm64] Use 64 bit offset reg in mem op
    >
    > Accessing the Wasm memory with a 64 bit offset was truncated to 32 bit,
    > which is fine if we check bounds first, but not if we rely on the
    > trap handler to catch the OOB.
    >
    > R=clemensb@chromium.org
    >
    > Bug: v8:11587
    > Change-Id: I82a3a2906e55d9d640c30e770a5c93532e3a442c
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2808942
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73829}

    Bug: v8:11587
    Change-Id: Ibc182475745c6f697a0ba6d75c260b74ddf8fe52
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2810846
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Commit-Queue: Thibaud Michaud <thibaudm@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73853}

Refs: cb4faa902e

PR-URL: https://github.com/nodejs/node/pull/39337
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-07-12 09:33:39 +02:00
Michaël Zasso
becfad1e6d
deps: V8: cherry-pick fa4cb172cde2
Original commit message:

    [runtime] Fix Promise.all context promise hooks

    We have to take the slow path in Promise.all if context promise hooks
    are set. The fast-path doesn't create intermediate promises by default.

    Bug: chromium:1204132, v8:11025
    Change-Id: Ide92de00a4f6df05e0ddbc8814f6673bd667f426
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2866771
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74326}

Refs: fa4cb172cd

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:39 +02:00
Michaël Zasso
c678285498
deps: V8: cherry-pick 4c074516397b
Original commit message:

    [promises] Fix slow path when context promise hooks are present

    Bug: chromium:1201936
    Change-Id: I1ee545e33587ddf4a5c7e1cbd64b53d36c75a146
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850936
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74267}

Refs: 4c07451639

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:34 +02:00
Michaël Zasso
e6f622f496
deps: V8: cherry-pick 5f4413194480
Original commit message:

    [promises] Change context promise hooks to Callable

    The previously added perf-context Promise-hooks take a v8::Function as
    arguments. However, the builtin code was only accepting JSFunctions
    which causes cast errors.

    Drive-by-fix: Directly pass nativeContext in more places.

    Bug: chromium:1201465
    Change-Id: Ic8bed11253a1f18a84e71eb9ea809b1ec1c3f428
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850162
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74223}

Refs: 5f44131944

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:29 +02:00
Michaël Zasso
cb97ec4a5b
deps: V8: cherry-pick 272445f10927
Original commit message:

    [runtime] Fix promise hooks

    promiseCapability can be undefined.

    Bug: v8:11025
    Bug: chromium:1201113
    Change-Id: I9da8764820cee0db1f0c38ed2fff0e3afeb9a80e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844649
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74117}

Refs: 272445f109

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:24 +02:00
Michaël Zasso
5151d9d88d
deps: V8: cherry-pick c0fceaa0669b
Original commit message:

    Reland "[api] JSFunction PromiseHook for v8::Context"

    This is a reland of d5457f5fb7ea05ca05a697599ffa50d35c1ae3c7
    after a speculative revert.

    Additionally it fixes an issue with throwing promise hooks.

    Original change's description:
    > [api] JSFunction PromiseHook for v8::Context
    >
    > This will enable Node.js to get much better performance from async_hooks
    > as currently PromiseHook delegates to C++ for the hook function and then
    > Node.js delegates it right back to JavaScript, introducing several
    > unnecessary barrier hops in code that gets called very, very frequently
    > in modern, promise-heavy applications.
    >
    > This API mirrors the form of the original C++ function based PromiseHook
    > API, however it is intentionally separate to allow it to use JSFunctions
    > triggered within generated code to, as much as possible, avoid entering
    > runtime functions entirely.
    >
    > Because PromiseHook has internal use also, beyond just the Node.js use,
    > I have opted to leave the existing API intact and keep this separate to
    > avoid conflicting with any possible behaviour expectations of other API
    > users.
    >
    > The design ideas for this new API stemmed from discussion with some V8
    > team members at a previous Node.js Diagnostics Summit hosted by Google
    > in Munich, and the relevant documentation of the discussion can be found
    > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e
    >
    > A summary of the reasons for why this new design is important can be
    > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing
    >
    > Bug: v8:11025
    > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188
    > Reviewed-by: Marja Hölttä <marja@chromium.org>
    > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    > Reviewed-by: Anton Bikineev <bikineev@chromium.org>
    > Reviewed-by: Igor Sheludko <ishell@chromium.org>
    > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73858}

    Bug: v8:11025
    Bug: chromium:1197475
    Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Anton Bikineev <bikineev@chromium.org>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74071}

Refs: c0fceaa066

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:06 +02:00
Michaël Zasso
0a04a9d633
deps: V8: cherry-pick d59db06bf542
Original commit message:

    [weakrefs] Remove --no-harmony-weak-refs flag

    Bug: v8:8179
    Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73871}

Refs: d59db06bf5

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:11:00 +02:00
Michaël Zasso
353ee7e1ae
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-06-10 11:10:51 +02:00
Michaël Zasso
15800aadfc
deps: V8: backport aaacffa1e003
Original commit message:

    PPC: skip all Simd tests on PPC

    As of https://crrev.com/c/2629465, Simd tests cannot pass on
    architectures without Simd support. Tests will need to be re-enabled
    once Simd support is fully implemented on PPC.

    Change-Id: I963639f1afa0c0ca7be3ca4b2fc06e874235b903
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2693056
    Reviewed-by: Zhi An Ng <zhin@chromium.org>
    Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
    Commit-Queue: Milad Fa <mfarazma@redhat.com>
    Cr-Commit-Position: refs/heads/master@{#72788}

Refs: aaacffa1e0

PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:10:44 +02:00
Jiawen Geng
5fcc318668
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-06-10 11:10:42 +02:00
Joao Reis
6e9ece547b
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:41 +02:00
Refael Ackermann
7ddbc9f2e5
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:39 +02:00
Refael Ackermann
869eec148c
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:37 +02:00
Refael Ackermann
9c1d90b750
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-06-10 11:10:33 +02:00
Michaël Zasso
f4cc1b6b66
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/38273
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
2021-06-10 11:10:26 +02:00
Jesse Chan
ab71af3453 build: allow LTO with Clang 3.9.1+
Bug: #38568
Test: manual,
      - arm64-apple-darwin20.5.0 / Apple clang version 12.0.5 (clang-1205.0.22.9)
      - x86_64-pc-linux-gnu / Ubuntu clang version 13.0.0-++20210520052624+48780527dd68-1~exp1~20210520153429.417
Signed-off-by: Jesse Chan <jc@linux.com>

PR-URL: https://github.com/nodejs/node/pull/38751
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2021-05-25 05:09:44 +00:00
Daniel Bevenius
0d7644fdda build,src,test,doc: enable FIPS for OpenSSL 3.0
This commit enables FIPS when Node.js is dynamically linking against
quictls/openssl-3.0.

BUILDING.md has been updated with instructions to configure and build
quictls/openssl 3.0.0-alpha-15 and includes a couple of work-arounds
which I believe are fixed in alpha-16 and can be removed when alpha-16
is available. The information might be a little too detailed/verbose
but I thought it would be helpful to at least initially include all the
steps.

PR-URL: https://github.com/nodejs/node/pull/38633
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-05-14 16:15:19 -04:00
Stephen Belanger
c8e4020a21 deps: V8: cherry-pick fa4cb172cde2
Original commit message:

    [runtime] Fix Promise.all context promise hooks

    We have to take the slow path in Promise.all if context promise hooks
    are set. The fast-path doesn't create intermediate promises by default.

    Bug: chromium:1204132, v8:11025
    Change-Id: Ide92de00a4f6df05e0ddbc8814f6673bd667f426
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2866771
    Reviewed-by: Victor Gomes <victorgomes@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74326}

Refs: fa4cb172cd

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:47 -07:00
Stephen Belanger
041579800b deps: V8: cherry-pick 4c074516397b
Original commit message:

    [promises] Fix slow path when context promise hooks are present

    Bug: chromium:1201936
    Change-Id: I1ee545e33587ddf4a5c7e1cbd64b53d36c75a146
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850936
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74267}

Refs: 4c07451639

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:46 -07:00
Stephen Belanger
53f86d52b6 deps: V8: cherry-pick 5f4413194480
Original commit message:

    [promises] Change context promise hooks to Callable

    The previously added perf-context Promise-hooks take a v8::Function as
    arguments. However, the builtin code was only accepting JSFunctions
    which causes cast errors.

    Drive-by-fix: Directly pass nativeContext in more places.

    Bug: chromium:1201465
    Change-Id: Ic8bed11253a1f18a84e71eb9ea809b1ec1c3f428
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850162
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74223}

Refs: 5f44131944

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:44 -07:00
Stephen Belanger
774874d2d7 deps: V8: cherry-pick 272445f10927
Original commit message:

    [runtime] Fix promise hooks

    promiseCapability can be undefined.

    Bug: v8:11025
    Bug: chromium:1201113
    Change-Id: I9da8764820cee0db1f0c38ed2fff0e3afeb9a80e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2844649
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74117}

Refs: 272445f109

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:42 -07:00
Stephen Belanger
50dd62ed96 deps: V8: backport c0fceaa0669b
Original commit message:

  Reland "[api] JSFunction PromiseHook for v8::Context"

  This is a reland of d5457f5fb7ea05ca05a697599ffa50d35c1ae3c7
  after a speculative revert.

  Additionally it fixes an issue with throwing promise hooks.

  Original change's description:
  > [api] JSFunction PromiseHook for v8::Context
  >
  > This will enable Node.js to get much better performance from async_hooks
  > as currently PromiseHook delegates to C++ for the hook function and then
  > Node.js delegates it right back to JavaScript, introducing several
  > unnecessary barrier hops in code that gets called very, very frequently
  > in modern, promise-heavy applications.
  >
  > This API mirrors the form of the original C++ function based PromiseHook
  > API, however it is intentionally separate to allow it to use JSFunctions
  > triggered within generated code to, as much as possible, avoid entering
  > runtime functions entirely.
  >
  > Because PromiseHook has internal use also, beyond just the Node.js use,
  > I have opted to leave the existing API intact and keep this separate to
  > avoid conflicting with any possible behaviour expectations of other API
  > users.
  >
  > The design ideas for this new API stemmed from discussion with some V8
  > team members at a previous Node.js Diagnostics Summit hosted by Google
  > in Munich, and the relevant documentation of the discussion can be found
  > here: https://docs.google.com/document/d/1g8OrG5lMIUhRn1zbkutgY83MiTSMx-0NHDs8Bf-nXxM/edit#heading=h.w1bavzz80l1e
  >
  > A summary of the reasons for why this new design is important can be
  > found here: https://docs.google.com/document/d/1vtgoT4_kjgOr-Bl605HR2T6_SC-C8uWzYaOPDK5pmRo/edit?usp=sharing
  >
  > Bug: v8:11025
  > Change-Id: I0b403b00c37d3020b5af07b654b860659d3a7697
  > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2759188
  > Reviewed-by: Marja Hölttä <marja@chromium.org>
  > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
  > Reviewed-by: Anton Bikineev <bikineev@chromium.org>
  > Reviewed-by: Igor Sheludko <ishell@chromium.org>
  > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
  > Cr-Commit-Position: refs/heads/master@{#73858}

  Bug: v8:11025
  Bug: chromium:1197475
  Change-Id: I73a71e97d9c3dff89a2b092c3fe4adff81ede8ef
  Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2823917
  Reviewed-by: Marja Hölttä <marja@chromium.org>
  Reviewed-by: Igor Sheludko <ishell@chromium.org>
  Reviewed-by: Anton Bikineev <bikineev@chromium.org>
  Reviewed-by: Camillo Bruni <cbruni@chromium.org>
  Commit-Queue: Camillo Bruni <cbruni@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#74071}

Refs: c0fceaa066

PR-URL: https://github.com/nodejs/node/pull/36394
Reviewed-By: Bryan English <bryan@bryanenglish.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-06 15:17:35 -07:00
Darshan Sen
f9d6de41a7
build: compile with -std=gnu++14
The name ‘gnu++1y’ is deprecated.

Refs: https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html

PR-URL: https://github.com/nodejs/node/pull/38504
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-05-04 13:20:21 -07:00
Michaël Zasso
69c57e99f0
deps: V8: cherry-pick fd75c97d3f56
Original commit message:

    [interpreter] Apply Reflect.apply transform in BytecodeGenerator

    Calls with a spread expression in a non-final position get transformed
    to calls to Reflect.apply. This transformation is currently done in
    the parser, which does not compose well with other features (e.g.
    direct eval checking, optional chaining).

    Do this transform in the BytecodeGenerator instead.

    Bug: v8:11573, v8:11558, v8:5690
    Change-Id: I56c90a2036fe5b43e0897c57766f666bf72bc3a8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2765783
    Auto-Submit: Shu-yu Guo <syg@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73534}

Refs: fd75c97d3f

PR-URL: https://github.com/nodejs/node/pull/38455
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-05-02 09:06:06 +02:00
Antoine du Hamel
2468e4ed3e
deps: V8: backport d59db06bf542
Original commit message:

    [weakrefs] Remove --no-harmony-weak-refs flag

    Bug: v8:8179
    Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582
    Commit-Queue: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Reviewed-by: Sathya Gunasekaran  <gsathya@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73871}

Refs: d59db06bf5

PR-URL: https://github.com/nodejs/node/pull/38162
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-12 14:32:52 -07:00
cjihrig
ca13f7aaf3
deps: V8: cherry-pick 501482cbc704
Original commit message:

    Fix ValueDeserializer::ReadDouble() bounds check

    If end_ is smaller than sizeof(double), the result would wrap
    around, and lead to an invalid memory access.

    Refs: https://github.com/nodejs/node/issues/37978
    Change-Id: Ibc8ddcb0c090358789a6a02f550538f91d431c1d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2801353
    Reviewed-by: Marja Hölttä <marja@chromium.org>
    Commit-Queue: Marja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73800}

PR-URL: https://github.com/nodejs/node/pull/38121
Fixes: https://github.com/nodejs/node/issues/37978
Refs: https://github.com/v8/v8/commit/501482cbc704
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2021-04-08 22:27:03 -04:00
Guy Bedford
8e46568b1e deps: backport v8 f19142e6
[top-level-await] Implement the new post-order requirement for
async subgraphs

Refs: f19142e613
PR-URL: https://github.com/nodejs/node/pull/37864
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-03-29 23:33:22 +02:00
Michaël Zasso
64d5be25ab
deps: V8: cherry-pick 1648e050cade
Original commit message:

    torque: workaround stod() limitations on Solaris

    std::stod() on Solaris does not currently handle hex strings.
    This commit provides a workaround based on strtol() until proper
    stod() support is available.

    This was encountered while updating Node.js to V8 8.8. For more
    details see the following comment:

    https://github.com/nodejs/node/pull/36139#issuecomment-740131942

    Change-Id: I16ed80a817f6d9105e7153b10824b1fee8520432
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692746
    Reviewed-by: Michael Stanton <mvstanton@chromium.org>
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73255}

Refs: 1648e050ca

PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:08 +01:00
Michaël Zasso
621b544909
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:04 +01:00
Jiawen Geng
0d78bc3101
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:55:52 +01:00
Joao Reis
5214918856
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:39 +01:00
Refael Ackermann
6b3caf77b2
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:32 +01:00
Refael Ackermann
d0a032fafb
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:25 +01:00
Refael Ackermann
c8b2fa642e
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-03-15 15:55:00 +01:00
Michaël Zasso
a572a4e34e
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:54:55 +01:00
Richard Lau
448de26d7b deps: V8: cherry-pick 373f4ae739ee
Original commit message:

    [torque] Don't replace unmodified empty files

    To improve incremental builds.

    Bug: v8:7793
    Change-Id: I6990a97e058d22d34acd1f609167cd30ca7518ad
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596789
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#72053}

Refs: 373f4ae739

PR-URL: https://github.com/nodejs/node/pull/37505
Fixes: https://github.com/nodejs/node/issues/37368
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-25 09:48:00 +01:00
Michaël Zasso
8eeecc19ae
deps: V8: cherry-pick 8957d4677aa7
Original commit message:

    [aarm64] Fix GetSharedLibraryAddresses

    This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture.
    See https://github.com/nodejs/node/issues/36656

    Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72886}

Refs: 8957d4677a

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:20 +01:00
Michaël Zasso
b186142a0b
deps: V8: backport a11395433dbd
Original commit message:

    [cppgc]: Fix build on msvc

    Fixes compilation with msvc 2019 toolchain.

    See: https://github.com/nodejs/node/pull/37330#issuecomment-783000812
    Change-Id: I3b658d9ef49889c0a0467a1146e8d16b50fca65d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2711152
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72917}

Refs: a11395433d

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:13 +01:00
Matin Zadehdolatabad
d6b50611f4
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 <jkummerow@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72559}

Refs: 0c8b6e415c
Fixes: https://github.com/nodejs/node/issues/37061
PR-URL: https://github.com/nodejs/node/pull/37276
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-02-25 00:16:10 +01:00
Benjamin Coe
bb2a98ff41
deps: V8: cherry-pick fe191e8d05cc
Original commit message:

    [coverage] optional chaining coverage

    Implement coverage tracking for optional chains.

    Bug: v8:10060
    Change-Id: I4f29eda64b6d859939f5f58f4fabead649905795
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573013
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Gus Caplan <snek@chromium.org>
    Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Benjamin Coe <bencoe@google.com>
    Cr-Commit-Position: refs/heads/master@{#72075}

Refs: fe191e8d05

PR-URL: https://github.com/nodejs/node/pull/36956
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-02-25 00:16:07 +01:00
Michaël Zasso
290f2d8d3e
deps: V8: cherry-pick deb0813166f3
Original commit message:

    [heap] Add proper rebind support to StrongRootBlockAllocator

    MSVC's STL in debug mode rebinds the allocator passed to vectors to
    allocate helper structures, so we need StrongRootBlockAllocator to have
    proper rebind support rather than assuming it always rebinds to Address.

    Bug: v8:11241
    Change-Id: I15688e43fe2c71ec4ff0c287a03e36ca57427417
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622915
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72060}

Refs: deb0813166

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-25 00:16:06 +01:00
Michaël Zasso
63ed0b8bfe
deps: V8: cherry-pick 9a6a22874c81
Original commit message:

    [heap] Fix DCHECK in TransitionArrayNeedsCompaction

    The dead target check in TransitionArrayNeedsCompaction, confirming that
    Smi (uninitialized) targets imply that no other target is dead, has to
    additionally support Smi entries.

    Bug: v8:11305
    Change-Id: I6f3fa9e7420b1bd0a64a25dae670f439e3f41162
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622914
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72040}

Refs: 9a6a22874c

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-25 00:16:02 +01:00
Michaël Zasso
47f1c5257a
deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:15:50 +01:00
cjihrig
19d975241f
deps: workaround stod() limitations on SmartOS
std::stod() on SmartOS does not currently handle hex strings. This
commit provides a workaround based on strtol() until proper stod()
support is available.

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:15:34 +01:00
Jiawen Geng
70f928c6a6
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-02-25 00:15:28 +01:00
Matheus Marchini
b045e39513
deps: patch V8 to run on Xcode 8
Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type
passed to template call of `OwnedVector::Of`. Xcode 8 can't convert
'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when
returning from a function (which is likely a bug on Xcode, considering
this worked on the prior version of Xcode as well as newer versions).
This workaround shouldn't affect the application, since the const
qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_.

There's also a V8 test passing a const-qualified type to ::Of, but since
we don't test V8 on Xcode 8, it should be fine to leave it as is.

Signed-off-by: Matheus Marchini <mmarchini@netflix.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:23 +01:00
Joao Reis
32725d2224
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:21 +01:00
Refael Ackermann
fe3cee7b37
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:18 +01:00
Refael Ackermann
b2d05f7349
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:16 +01:00
Ujjwal Sharma
c7a0ab4e3d
deps: patch V8 to run on older XCode versions
Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional
property, which is a fairly new C++ feature, since that requires a newer
XCode version than the minimum requirement in BUILDING.md and thus
breaks CI.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:15 +01:00
Refael Ackermann
60b623ee90
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:09 +01:00
Michaël Zasso
f3c7078245
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:14:59 +01:00
Antoine du Hamel
67dc2bf208
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 https://github.com/nodejs/node/issues/36656

	Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e
	Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413
	Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
	Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
	Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
	Cr-Commit-Position: refs/heads/master@{#72886}

Refs: 8957d4677a
Fixes: https://github.com/nodejs/node/issues/36656

PR-URL: https://github.com/nodejs/node/pull/37471
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-24 14:45:13 +01:00
Matin Zadehdolatabad
530ef91509
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 <jkummerow@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72559}

Refs: 0c8b6e415c
Fixes: https://github.com/nodejs/node/issues/37061
PR-URL: https://github.com/nodejs/node/pull/37276
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-02-11 19:11:49 +01:00
Benjamin Coe
73e0245a16
deps: V8: cherry-pick fe191e8d05cc
Original commit message:

    [coverage] optional chaining coverage

    Implement coverage tracking for optional chains.

    Bug: v8:10060
    Change-Id: I4f29eda64b6d859939f5f58f4fabead649905795
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573013
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Gus Caplan <snek@chromium.org>
    Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Benjamin Coe <bencoe@google.com>
    Cr-Commit-Position: refs/heads/master@{#72075}

Refs: fe191e8d05

PR-URL: https://github.com/nodejs/node/pull/36956
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-02-11 19:10:58 +01:00
Michaël Zasso
577ff9fee5
deps: V8: cherry-pick deb0813166f3
Original commit message:

    [heap] Add proper rebind support to StrongRootBlockAllocator

    MSVC's STL in debug mode rebinds the allocator passed to vectors to
    allocate helper structures, so we need StrongRootBlockAllocator to have
    proper rebind support rather than assuming it always rebinds to Address.

    Bug: v8:11241
    Change-Id: I15688e43fe2c71ec4ff0c287a03e36ca57427417
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622915
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72060}

Refs: deb0813166

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:53 +01:00
Michaël Zasso
00e1c7ea83
deps: V8: cherry-pick 9a6a22874c81
Original commit message:

    [heap] Fix DCHECK in TransitionArrayNeedsCompaction

    The dead target check in TransitionArrayNeedsCompaction, confirming that
    Smi (uninitialized) targets imply that no other target is dead, has to
    additionally support Smi entries.

    Bug: v8:11305
    Change-Id: I6f3fa9e7420b1bd0a64a25dae670f439e3f41162
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622914
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72040}

Refs: 9a6a22874c

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:48 +01:00
Michaël Zasso
ee01d6b7fc
deps: V8: cherry-pick 2059ee813359
Original commit message:

    [heap] Make CompactTransitionArray deserializer friendly

    Add a pre-loop over transition arrays during compaction, that checks
    whether compaction is needed at all, and whether any of the entries are
    still uninitialized values as part of deserialization (and therefore no
    other targets can be dead). Bails out of compaction early if this is the
    case.

    Bug: v8:11305
    Change-Id: I27af792a8a0bd3df17892f54ac95ed15e4bdfcc0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622910
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72038}

Refs: 2059ee8133

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:42 +01:00
Benjamin Coe
31a46f8490
deps: V8: cherry-pick dfcdf7837e23
Original commit message:

    [coverage] fix greedy nullish coalescing

    The SourceRangeScope helper was consuming too many characters, instead
    explicitly create SourceRange, based on scanner position.

    Bug: v8:11231
    Change-Id: I852d211227abacf867e8f1ab3e3ab06dbdba2a9b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2576006
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71765}

Refs: dfcdf7837e

PR-URL: https://github.com/nodejs/node/pull/36573
Fixes: https://github.com/nodejs/node/issues/36619
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-11 19:10:40 +01:00
Anna Henningsen
a74b7693e7
deps: V8: backport 4bf051d536a1
Original commit message:

    [api] Add Context::GetMicrotaskQueue method

    Add a method that returns the microtask queue that is being used
    by the `v8::Context`.

    This is helpful in non-monolithic embedders like Node.js, which
    accept Contexts created by its own embedders like Electron, or
    for native Node.js addons. In particular, it enables:

    1. Making sure that “nested” `Context`s use the correct microtask
       queue, i.e. the one from the outer Context.
    2. Enqueueing microtasks into the correct microtask queue.

    Previously, these things only worked when the microtask queue for
    a given Context was the Isolate’s default queue.

    As an alternative, I considered adding a way to make new `Context`s
    inherit the queue from the `Context` that was entered at the time
    of their creation, but that seemed a bit more “magic”, less flexible,
    and didn’t take care of concern 2 listed above.

    Change-Id: I15ed796df90f23c97a545a8e1b30a3bf4a5c4320
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2579914
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71710}

Refs: 4bf051d536

PR-URL: https://github.com/nodejs/node/pull/36482
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-11 19:10:38 +01:00
Michaël Zasso
2dad8d43cc
deps: V8: cherry-pick bde7ee5473d6
Original commit message:

    cppgc: avoid multiple class declarations

    ConcurrentMarkingState and MarkingStateBase are already defined in the

    This change fixes compilation with MSVC.

    v8: :internal namespace.
    Change-Id: Ib8a1370a0a27a90e385fd69e61036e263e1489e6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2562671
    Reviewed-by: Omer Katz <omerkatz@chromium.org>
    Commit-Queue: Michaël Zasso <mic.besace@gmail.com>
    Cr-Commit-Position: refs/heads/master@{#71473}

Refs: bde7ee5473

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:33 +01:00
Michaël Zasso
3046131ea0
deps: V8: cherry-pick 9a712984025e
Original commit message:

    Fix SmartOS compilation error

    Refs: https://chromium-review.googlesource.com/c/v8/v8/+/2509594
    Change-Id: I98f55b404c0b2b26fbee0453b976119b39255b31
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565273
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#71681}

Refs: 9a71298402

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:27 +01:00
Michaël Zasso
d178d0738f
deps: V8: cherry-pick 0b96e5b0bfb2
Original commit message:

    Update V8 postmortem metadata script

    This commit updates the gen-postmortem-metadaa.py script to
    incorporate changes in V8 8.5. This removes the need to float a
    patch to the script in Node.js.

    Change-Id: I6532495bee906f51eb2b773ec38ff0a6e404dafe
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2582705
    Reviewed-by: Georg Neis <neis@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#71699}

Refs: 0b96e5b0bf

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:18 +01:00
Michaël Zasso
5c71ea151a
deps: V8: cherry-pick fbb28902e049
Original commit message:

    Update V8 postmortem metadata script

    This commit updates the gen-postmortem-metadata.py script to
    incorporate changes in V8 8.4. This removes the need to float a
    patch to the script in Node.js.

    Change-Id: I69da40e792f22748b0eee2952b9009b2f03d13f3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2565275
    Reviewed-by: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Georg Neis <neis@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#71646}

Refs: fbb28902e0

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:12 +01:00
Benjamin Coe
5c4be1181d
deps: V8: cherry-pick 86991d0587a1
Adds methods for fetching stack trace information about
enclosing function.

Refs #36042

Original commit message:

    Reland "stack-trace-api: implement getEnclosingLine/Column"

    This reverts commit 5557a63beb5a53c93e9b590eaf2933e21bcb3768.

    Reason for revert: Sheriff's mistake, failing test was previously flaking.

    Original change's description:
    > Revert "stack-trace-api: implement getEnclosingLine/Column"
    >
    > This reverts commit c48ae2d96cbfdc2216706a5e9a79ae1dce5a638b.
    >
    > Reason for revert: Breaks a profiling test:
    > https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/30010
    >
    > Original change's description:
    > > stack-trace-api: implement getEnclosingLine/Column
    > >
    > > Introduces getEnclosingColumn and getEnclosingLine on CallSite
    > > so that the position can be used to lookup the original symbol
    > > for function when source maps are used.
    > >
    > > BUG=v8:11157
    > >
    > > Change-Id: I06c4c374d172d206579abb170c7b7a2bd3bb159f
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2547218
    > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    > > Commit-Queue: Benjamin Coe <bencoe@google.com>
    > > Cr-Commit-Position: refs/heads/master@{#71343}
    >
    > TBR=jkummerow@chromium.org,yangguo@chromium.org,bencoe@google.com
    >
    > Change-Id: Iab5c250c1c4fbdab86971f4a7e40abc8f87cf79c
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: v8:11157
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555384
    > Reviewed-by: Bill Budge <bbudge@chromium.org>
    > Commit-Queue: Bill Budge <bbudge@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#71345}

    TBR=bbudge@chromium.org,jkummerow@chromium.org,yangguo@chromium.org,bencoe@google.com

    # Not skipping CQ checks because this is a reland.

    Bug: v8:11157
    Change-Id: I8dba19ceb29a24594469d2cf79626f741dc4cad3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555499
    Reviewed-by: Bill Budge <bbudge@chromium.org>
    Commit-Queue: Bill Budge <bbudge@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71348}

Refs: 86991d0587

PR-URL: https://github.com/nodejs/node/pull/36254
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-02-11 19:10:05 +01:00
Michaël Zasso
c8e15cd2c6
deps: V8: cherry-pick 821fb3883a8e
Original commit message:

    [serializer] avoid deferring objects with embedder fields

    JS objects with embedder fields cannot be deferred because the
    serialize/deserialize callbacks need the back reference immediately
    to identify the object.

    Refs: https://github.com/nodejs/node-v8/issues/175
    Bug: v8:11146
    Change-Id: I4292f2ab0041f7b0779620437ed26905c194cd9b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2531195
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#71134}

Refs: 821fb3883a

PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:10:01 +01:00
cjihrig
b0d67426af
deps: workaround stod() limitations on SmartOS
std::stod() on SmartOS does not currently handle hex strings. This
commit provides a workaround based on strtol() until proper stod()
support is available.

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:09:53 +01:00
Jiawen Geng
c8a658ac53
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-02-11 19:09:51 +01:00
Matheus Marchini
153b8cea36
deps: patch V8 to run on Xcode 8
Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type
passed to template call of `OwnedVector::Of`. Xcode 8 can't convert
'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when
returning from a function (which is likely a bug on Xcode, considering
this worked on the prior version of Xcode as well as newer versions).
This workaround shouldn't affect the application, since the const
qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_.

There's also a V8 test passing a const-qualified type to ::Of, but since
we don't test V8 on Xcode 8, it should be fine to leave it as is.

Signed-off-by: Matheus Marchini <mmarchini@netflix.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:50 +01:00
Michaël Zasso
a785984133
deps: V8: silence irrelevant warnings
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:44 +01:00
Joao Reis
246c9b8c31
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:42 +01:00
Refael Ackermann
96a567f9e9
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:41 +01:00
Refael Ackermann
e74383cecb
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:40 +01:00
Ujjwal Sharma
732847f1eb
deps: patch V8 to run on older XCode versions
Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional
property, which is a fairly new C++ feature, since that requires a newer
XCode version than the minimum requirement in BUILDING.md and thus
breaks CI.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:38 +01:00
Refael Ackermann
70171d186f
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-11 19:09:35 +01:00
Michaël Zasso
842389839b
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-11 19:09:25 +01:00
Matin Zadehdolatabad
6ea9af9906
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 <jkummerow@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72559}

Refs: 0c8b6e415c
Fixes: https://github.com/nodejs/node/issues/37061
PR-URL: https://github.com/nodejs/node/pull/37276
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-02-11 18:59:03 +01:00
Michaël Zasso
aac2713c79
deps: V8: backport dfcf1e86fac0
Original commit message:

    [wasm] PostMessage of Memory.buffer should throw

    PostMessage of an ArrayBuffer that is not detachable should result
    in a DataCloneError.

    Bug: chromium:1170176, chromium:961059
    Change-Id: Ib89bbc10d2b58918067fd1a90365cad10a0db9ec
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2653810
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Reviewed-by: Andreas Haas <ahaas@chromium.org>
    Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72415}

Refs: dfcf1e86fa

PR-URL: https://github.com/nodejs/node/pull/37245
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2021-02-07 10:23:33 +01:00
Benjamin Coe
afd911c38c deps: V8: cherry-pick fe191e8d05cc
Original commit message:

    [coverage] optional chaining coverage

    Implement coverage tracking for optional chains.

    Bug: v8:10060
    Change-Id: I4f29eda64b6d859939f5f58f4fabead649905795
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573013
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Gus Caplan <snek@chromium.org>
    Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Benjamin Coe <bencoe@google.com>
    Cr-Commit-Position: refs/heads/master@{#72075}

Refs: fe191e8d05

PR-URL: https://github.com/nodejs/node/pull/36956
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-01-18 19:06:56 +01:00
Anna Henningsen
a19af5ee71 build: use C++11 ABI with libstdc++
This macro needs to match between Node.js and addons that use C++
standard library types whose ABI differs (e.g. `std::string`).
Therefore, a value for this should be specified in `common.gypi`.
(Currently, the 32-bit ARM builds use this ABI, and other
platforms don’t. It might also be possible to set this value to `0`
instead, it’s only important that *a* value is specified.)

Refs: https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html

PR-URL: https://github.com/nodejs/node/pull/36634
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2021-01-04 19:01:50 +00:00
Benjamin Coe
33d99b6f23 deps: V8: cherry-pick dfcdf7837e23
Original commit message:

    [coverage] fix greedy nullish coalescing

    The SourceRangeScope helper was consuming too many characters, instead
    explicitly create SourceRange, based on scanner position.

    Bug: v8:11231
    Change-Id: I852d211227abacf867e8f1ab3e3ab06dbdba2a9b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2576006
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71765}

Refs: dfcdf7837e

PR-URL: https://github.com/nodejs/node/pull/36573
Fixes: https://github.com/nodejs/node/issues/36619
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-12-24 18:06:58 +00:00
Anna Henningsen
a91a95f820
deps: V8: backport 4bf051d536a1
Original commit message:

    [api] Add Context::GetMicrotaskQueue method

    Add a method that returns the microtask queue that is being used
    by the `v8::Context`.

    This is helpful in non-monolithic embedders like Node.js, which
    accept Contexts created by its own embedders like Electron, or
    for native Node.js addons. In particular, it enables:

    1. Making sure that “nested” `Context`s use the correct microtask
       queue, i.e. the one from the outer Context.
    2. Enqueueing microtasks into the correct microtask queue.

    Previously, these things only worked when the microtask queue for
    a given Context was the Isolate’s default queue.

    As an alternative, I considered adding a way to make new `Context`s
    inherit the queue from the `Context` that was entered at the time
    of their creation, but that seemed a bit more “magic”, less flexible,
    and didn’t take care of concern 2 listed above.

    Change-Id: I15ed796df90f23c97a545a8e1b30a3bf4a5c4320
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2579914
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71710}

Refs: 4bf051d536

PR-URL: https://github.com/nodejs/node/pull/36482
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-12-13 22:03:41 +01:00
Benjamin Coe
4c97325c4e deps: V8: cherry-pick 86991d0587a1
Adds methods for fetching stack trace information about
enclosing function.

Refs #36042

Original commit message:

    Reland "stack-trace-api: implement getEnclosingLine/Column"

    This reverts commit 5557a63beb5a53c93e9b590eaf2933e21bcb3768.

    Reason for revert: Sheriff's mistake, failing test was previously flaking.

    Original change's description:
    > Revert "stack-trace-api: implement getEnclosingLine/Column"
    >
    > This reverts commit c48ae2d96cbfdc2216706a5e9a79ae1dce5a638b.
    >
    > Reason for revert: Breaks a profiling test:
    > https://ci.chromium.org/p/v8/builders/ci/V8%20Win32/30010
    >
    > Original change's description:
    > > stack-trace-api: implement getEnclosingLine/Column
    > >
    > > Introduces getEnclosingColumn and getEnclosingLine on CallSite
    > > so that the position can be used to lookup the original symbol
    > > for function when source maps are used.
    > >
    > > BUG=v8:11157
    > >
    > > Change-Id: I06c4c374d172d206579abb170c7b7a2bd3bb159f
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2547218
    > > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
    > > Commit-Queue: Benjamin Coe <bencoe@google.com>
    > > Cr-Commit-Position: refs/heads/master@{#71343}
    >
    > TBR=jkummerow@chromium.org,yangguo@chromium.org,bencoe@google.com
    >
    > Change-Id: Iab5c250c1c4fbdab86971f4a7e40abc8f87cf79c
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: v8:11157
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555384
    > Reviewed-by: Bill Budge <bbudge@chromium.org>
    > Commit-Queue: Bill Budge <bbudge@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#71345}

    TBR=bbudge@chromium.org,jkummerow@chromium.org,yangguo@chromium.org,bencoe@google.com

    # Not skipping CQ checks because this is a reland.

    Bug: v8:11157
    Change-Id: I8dba19ceb29a24594469d2cf79626f741dc4cad3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2555499
    Reviewed-by: Bill Budge <bbudge@chromium.org>
    Commit-Queue: Bill Budge <bbudge@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71348}

Refs: 86991d0587

PR-URL: https://github.com/nodejs/node/pull/36254
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2020-11-26 01:51:04 +00:00
woodfairy
8d6b74d347 build: enable ASLR (PIE) on OS X
After conducting several benchmarks, I noticed performance losses of
5-10%. As OS X is not a performance critical platform, as already
mentioned by @bnoordhuis, I have removed the -no_pie flag at least for
this platform. I'd love to enable PIE for other platforms if the 5-10%
speed loss is not too high. I would be happy to hear your opinion on
this.

Refs: https://github.com/nodejs/node/issues/33425

PR-URL: https://github.com/nodejs/node/pull/35704
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2020-11-17 16:38:01 +00:00
Ole André Vadla Ravnås
b9ce4b4280
deps: V8: cherry-pick 1d0f426311d4
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 <clemensb@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70986}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-15 16:47:48 +01:00
Ole André Vadla Ravnås
6024fa5b90
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 <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70379}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-15 16:47:47 +01:00
Ole André Vadla Ravnås
25a2d98c50
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 <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70335}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-15 16:47:45 +01:00
Michaël Zasso
15c91c6dd5
deps: V8: cherry-pick 821fb3883a8e
Original commit message:

    [serializer] avoid deferring objects with embedder fields

    JS objects with embedder fields cannot be deferred because the
    serialize/deserialize callbacks need the back reference immediately
    to identify the object.

    Refs: https://github.com/nodejs/node-v8/issues/175
    Bug: v8:11146
    Change-Id: I4292f2ab0041f7b0779620437ed26905c194cd9b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2531195
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/master@{#71134}

Refs: 821fb3883a

PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-15 16:47:41 +01:00
Daniel Bevenius
59fe6e4b97
deps: cherry-pick 9a49b22 from V8 upstream
Original commit message:
  Fix alloc/dealloc size mismatch for v8::BackingStore

  On newer compilers the {operator delete} with explicit {size_t}
  argument would be instantiated for {v8::BackingStore} and used
  in the destructor of {std::unique_ptr<v8::BackingStore>}. The {size_t}
  argument is wrong though, since the pointer actually points
  to a {v8::internal::BackingStore} object.
  The solution is to explicitly provide a {operator delete}, preventing
  an implicitly generated {size_t} operator.

  Bug:v8:11081

  Change-Id: Iee0aa47a67f0e41000bea628942f7e3d70198b83
  Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2506712
  Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
  Reviewed-by: Camillo Bruni <cbruni@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#70916}

PR-URL: https://github.com/nodejs/node/pull/35939
Fixes: https://github.com/nodejs/node/issues/35669
Refs: 9a49b2298f
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
2020-11-15 16:47:38 +01:00
Michaël Zasso
40b2fa4832
deps: V8: cherry-pick 45e49775f5a3
Original commit message:

    [arm64][msvc] fix arm64 build on msvc

    See: https://github.com/nodejs/node/pull/35415#issuecomment-707828213

    Co-authored-by: Richard Townsend <richard.townsend@arm.com>
    Change-Id: I440644f55dc8c8ec3108e5015ebbce2829dd8207
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2479602
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Auto-Submit: Jiawen Geng <technicalcute@gmail.com>
    Cr-Commit-Position: refs/heads/master@{#70648}

Refs: 45e49775f5

PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-15 16:47:33 +01:00
Michaël Zasso
cd91ab5865
deps: V8: cherry-pick 7b3a27b7ae65
Original commit message:

    fix: correct calling convention for Windows on Arm

    Corrects a "Check failed: kFPParamRegisterCount == kParamRegisterCount"
    message when compiling v8_snapshot for Windows on Arm.

    Unlike x64, Windows on Arm's calling convention does not alternate
    between integer and float registers.

    Bug: chromium:1052746
    Change-Id: I4c9cdafcd6e43742b94613f85b2983761cc0891a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2440717
    Commit-Queue: Maya Lekova <mslekova@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Maya Lekova <mslekova@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70257}

Refs: 7b3a27b7ae

PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-15 16:47:28 +01:00
Anna Henningsen
0eb2528acd
deps: V8: cherry-pick 3176bfd447a9
Original commit message:

    [heap-profiler] Fix crash when a snapshot deleted while taking one

    Fix a crash/hang that occurred when deleting a snapshot during the
    GC that is part of taking another one.

    Specifically, when deleting the only other snapshot in such
    a situation, the `v8::HeapSnapshot::Delete()` method sees that there
    is only one (complete) snapshot at that point, and decides that it is
    okay to perform “delete all snapshots” instead of just deleting
    the requested one. That resets the internal string lookup table
    of the heap profiler, but the new snapshot that is currently in
    progress still holds references to the old string lookup table,
    leading to a use-after-free segfault or infinite loop.

    Fix this by guarding against resetting the string table while
    another heap snapshot is being taken, and add a test that would
    crash before this fix.

    This can be triggered in Node.js by repeatedly calling
    `v8.getHeapSnapshot()`, which provides heap snapshots as weakly
    held host objects.

    Change-Id: If9ac3728bf79114000982f1e7bb05e8034299e3c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2464823
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70445}

Refs: 3176bfd447

PR-URL: https://github.com/nodejs/node/pull/35612
Refs: https://github.com/nodejs/node/issues/35559
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2020-11-15 16:47:26 +01:00
Michaël Zasso
f4fc099080
deps: V8: cherry-pick d76abfed3512
Original commit message:

    [wasm-simd][arm64] fix cross compile arm64 on windows

    See: https://github.com/nodejs/node/pull/35415
    Change-Id: I5d77ae202d4bbfb0971246fe5de9c0ad17c485ff
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2459491
    Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    Auto-Submit: Jiawen Geng <technicalcute@gmail.com>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70444}

Refs: d76abfed35

PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2020-11-15 16:47:24 +01:00
Jiawen Geng
6200176ef0
deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2020-11-15 16:47:23 +01:00
cjihrig
bd5642deb9
deps: update V8 postmortem metadata script
This commit updates V8's gen-postmortem-metadata.py script to
fix SmartOS compilation with V8 8.5.

PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2020-11-15 16:47:22 +01:00
cjihrig
9ae7159216
deps: update V8 postmortem metadata script
This commit updates V8's gen-postmortem-metadata.py script
to fix SmartOS compilation for V8 8.4.

PR-URL: https://github.com/nodejs/node/pull/33579
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-15 16:47:21 +01:00
Matheus Marchini
f4b4e21b2f
deps: patch V8 to run on Xcode 8
Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type
passed to template call of `OwnedVector::Of`. Xcode 8 can't convert
'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when
returning from a function (which is likely a bug on Xcode, considering
this worked on the prior version of Xcode as well as newer versions).
This workaround shouldn't affect the application, since the const
qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_.

There's also a V8 test passing a const-qualified type to ::Of, but since
we don't test V8 on Xcode 8, it should be fine to leave it as is.

Signed-off-by: Matheus Marchini <mmarchini@netflix.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:19 +01:00
Michaël Zasso
f6a84540d8
deps: V8: silence irrelevant warnings
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:18 +01:00
Joao Reis
bbc3f46572
deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:17 +01:00
Refael Ackermann
0c988642dc
deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:16 +01:00
Refael Ackermann
703bf933d4
deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:15 +01:00
Ujjwal Sharma
5451975b18
deps: patch V8 to run on older XCode versions
Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional
property, which is a fairly new C++ feature, since that requires a newer
XCode version than the minimum requirement in BUILDING.md and thus
breaks CI.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:13 +01:00
Refael Ackermann
c460f7af4d
deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2020-11-15 16:47:11 +01:00
Michaël Zasso
98d1ae47cf
build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2020-11-15 16:47:02 +01:00
Ole André Vadla Ravnås
c1442ec9c4 deps: V8: cherry-pick 1d0f426311d4
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 <clemensb@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70986}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-12 13:54:13 +00:00
Ole André Vadla Ravnås
d37ddb484d 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 <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70379}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-12 13:54:12 +00:00
Ole André Vadla Ravnås
1337a343d5 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 <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70335}

PR-URL: https://github.com/nodejs/node/pull/35986
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2020-11-12 13:54:12 +00:00