15 Commits

Author SHA1 Message Date
Michaël Zasso
918fe04351
deps: update V8 to 13.6.233.8
PR-URL: https://github.com/nodejs/node/pull/58070
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-05-02 15:06:53 +02:00
Michaël Zasso
5ab3140dfb deps: update V8 to 12.9.202.18
PR-URL: https://github.com/nodejs/node/pull/54536
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2024-09-19 14:25:34 +00:00
Michaël Zasso
9d7cd9b864
deps: update V8 to 12.8.374.13
PR-URL: https://github.com/nodejs/node/pull/54077
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-08-16 16:03:01 +02:00
Michaël Zasso
09a8440b45
deps: update V8 to 12.2.281.27
PR-URL: https://github.com/nodejs/node/pull/51362
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-03-31 15:36:07 +02:00
Michaël Zasso
d8c97e4857
deps: update V8 to 11.9.169.7
PR-URL: https://github.com/nodejs/node/pull/50115
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-01-04 09:30:13 +01:00
Michaël Zasso
867586ce95
deps: V8: cherry-pick 93b1a74cbc9b
Original commit message:

    Reland "[api] allow v8::Data as internal field"

    This is a reland of commit 0aa622e12893e9921c01a34ce9507b544e599c4a

    The original patch tried to run a test that calls exit() in the
    fatal error handler in parallel, which would not work. This marked
    the test with TEST() to avoid running it in parallel.

    Original change's description:
    > [api] allow v8::Data as internal field
    >
    > Previously only v8::Value can be stored as internal fields.
    > In some cases, however, it's necessary for the embedder to
    > tie the lifetime of a v8::Data with the lifetime of a
    > JS object, and that v8::Data may not be a v8::Value, as
    > it can be something returned from the V8 API. One way to
    > keep the v8::Data alive may be to use a v8::Persistent<v8::Data>
    > but that can easily lead to leaks.
    >
    > This patch changes v8::Object::GetInternalField() and
    > v8::Object::SetInernalField() to accept v8::Data instead of just
    > v8::Value, so that v8::Data can kept alive by a JS object in
    > a way that the GC can be aware of to address this problem.
    > This is a breaking change for embedders
    > using v8::Object::GetInternalField() as it changes the return
    > type. Since most v8::Value subtypes only support direct casts
    > from v8::Value but not v8::Data, calls like
    >
    > object->GetInternalField(index).As<v8::External>()
    >
    > needs to be updated to cast the value to v8::Value first:
    >
    > object->GetInternalField(index).As<v8::Value>().As<v8::External>()
    >
    > Bug: v8:14120
    > Change-Id: I731c958d1756b9d5ee4a3e78813416cd60d1b7ca
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4707972
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Commit-Queue: Joyee Cheung <joyee@igalia.com>
    > Cr-Commit-Position: refs/heads/main@{#89718}

    Bug: v8:14120
    Change-Id: I3e45d09b5c300d5eefc73e380ef21ac2bd61760c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4834471
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89824}

Refs: 93b1a74cbc
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:26:32 +02:00
Michaël Zasso
17a74ddd3d
deps: update V8 to 11.8.172.13
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:25:41 +02:00
Joyee Cheung
f970087147
deps: V8: backport 93b1a74cbc9b
Original commit message:

    Reland "[api] allow v8::Data as internal field"

    This is a reland of commit 0aa622e12893e9921c01a34ce9507b544e599c4a

    The original patch tried to run a test that calls exit() in the
    fatal error handler in parallel, which would not work. This marked
    the test with TEST() to avoid running it in parallel.

    Original change's description:
    > [api] allow v8::Data as internal field
    >
    > Previously only v8::Value can be stored as internal fields.
    > In some cases, however, it's necessary for the embedder to
    > tie the lifetime of a v8::Data with the lifetime of a
    > JS object, and that v8::Data may not be a v8::Value, as
    > it can be something returned from the V8 API. One way to
    > keep the v8::Data alive may be to use a v8::Persistent<v8::Data>
    > but that can easily lead to leaks.
    >
    > This patch changes v8::Object::GetInternalField() and
    > v8::Object::SetInernalField() to accept v8::Data instead of just
    > v8::Value, so that v8::Data can kept alive by a JS object in
    > a way that the GC can be aware of to address this problem.
    > This is a breaking change for embedders
    > using v8::Object::GetInternalField() as it changes the return
    > type. Since most v8::Value subtypes only support direct casts
    > from v8::Value but not v8::Data, calls like
    >
    > object->GetInternalField(index).As<v8::External>()
    >
    > needs to be updated to cast the value to v8::Value first:
    >
    > object->GetInternalField(index).As<v8::Value>().As<v8::External>()
    >
    > Bug: v8:14120
    > Change-Id: I731c958d1756b9d5ee4a3e78813416cd60d1b7ca
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4707972
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Commit-Queue: Joyee Cheung <joyee@igalia.com>
    > Cr-Commit-Position: refs/heads/main@{#89718}

    Bug: v8:14120
    Change-Id: I3e45d09b5c300d5eefc73e380ef21ac2bd61760c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4834471
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#89824}

Refs: 93b1a74cbc
PR-URL: https://github.com/nodejs/node/pull/49419
Refs: 0aa622e128
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-09-11 11:29:02 +00:00
Michaël Zasso
f226350fcb deps: update V8 to 11.3.244.4
PR-URL: https://github.com/nodejs/node/pull/47251
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-03-31 14:15:23 +00:00
Michaël Zasso
6bd756d7c6
deps: update V8 to 10.7.193.13
PR-URL: https://github.com/nodejs/node/pull/44741
Fixes: https://github.com/nodejs/node/issues/44650
Fixes: https://github.com/nodejs/node/issues/37472
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-10-11 07:24:33 +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
fd4f80ce54
deps: update V8 to 10.1.124.6
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:39 +02:00
Michaël Zasso
974ab4060f
deps: update V8 to 9.8.177.9
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:18 +01:00
Michaël Zasso
270253c4e2
deps: update V8 to 9.7.106.18
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:37 +01:00
Michaël Zasso
62719c5fd2
deps: update V8 to 9.5.172.19
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:50 +02:00