node/deps/v8/include
Joyee Cheung d58f474b2d
deps: V8: backport 954187bb1b87
Original commit message:

    [api] add Isolate::Deinitialize() and Isolate::Free()

    This allows embedders to mirror the isolate disposal routine
    with an initialization routine that uses Isolate::Allocate().

    ```
    v8::Isolate* isolate = v8::Isolate::Allocate();
    // Use the isolate address as a key.
    v8::Isolate::Initialize(isolate, params);

    isolate->Deinitialize();
    // Remove the entry keyed by isolate address.
    v8::Isolate::Free(isolate);
    ```

    Previously, the only way to dispose the isolate bundles the
    de-initialization and the freeing of the address together in
    v8::Isolate::Dispose(). This is inadequate for embedders like
    Node.js that uses the isolate address as a key to manage the
    task runner associated with it, if another thread gets an
    isolate allocated at the aligned address before the other
    thread finishes cleanup for the isolate previously allocated
    at the same address, and locking on the entire disposal can
    be too risky since it may post GC tasks that in turn requires
    using the isolate address to locate the task runner. It's a
    lot simpler to handle the issue if the disposal process of
    the isolate can mirror the initialization of it and split
    into two routines.

    Refs: https://github.com/nodejs/node/pull/57753#issuecomment-2818999420
    Refs: https://github.com/nodejs/node/issues/30850
    Bug: 412943769
    Change-Id: I3865c27395aded3a6f32de74d96d0698b2d891b9
    Reviewed-on: 6480071
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#99890}

Refs: 954187bb1b
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:10:33 +02:00
..
cppgc deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
libplatform deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
APIDesign.md deps: update V8 to 7.7.299.4 2019-08-19 09:25:23 +02:00
DEPS deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
DIR_METADATA deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
js_protocol-1.2.json deps: update V8 to 7.7.299.4 2019-08-19 09:25:23 +02:00
js_protocol-1.3.json deps: update V8 to 10.8.168.20 2022-11-19 09:11:32 +00:00
js_protocol.pdl deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
OWNERS deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-array-buffer.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-callbacks.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-container.h deps: update V8 to 12.2.281.27 2024-03-31 15:36:07 +02:00
v8-context.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-cppgc.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-data.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-date.h deps: update V8 to 12.8.374.13 2024-08-16 16:03:01 +02:00
v8-debug.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-embedder-heap.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-embedder-state-scope.h deps: update V8 to 12.2.281.27 2024-03-31 15:36:07 +02:00
v8-exception.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-extension.h deps: update V8 to 9.5.172.19 2021-10-12 08:07:50 +02:00
v8-external-memory-accounter.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-external.h deps: update V8 to 9.5.172.19 2021-10-12 08:07:50 +02:00
v8-fast-api-calls.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-forward.h deps: update V8 to 12.3.219.16 2024-04-19 08:39:47 +00:00
v8-function-callback.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-function.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-handle-base.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-initialization.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-inspector-protocol.h deps: update V8 to 8.4.371.19 2020-07-13 14:41:41 +02:00
v8-inspector.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-internal.h deps: remove problematic comment from v8-internal 2025-05-02 15:07:38 +02:00
v8-isolate.h deps: V8: backport 954187bb1b87 2025-05-02 15:10:33 +02:00
v8-json.h deps: update V8 to 9.5.172.19 2021-10-12 08:07:50 +02:00
v8-local-handle.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-locker.h deps: update V8 to 10.7.193.13 2022-10-11 07:24:33 +02:00
v8-maybe.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-memory-span.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-message.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-metrics.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-microtask-queue.h deps: update V8 to 12.8.374.13 2024-08-16 16:03:01 +02:00
v8-microtask.h deps: update V8 to 9.5.172.19 2021-10-12 08:07:50 +02:00
v8-object.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-persistent-handle.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-platform.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-primitive-object.h deps: update V8 to 9.5.172.19 2021-10-12 08:07:50 +02:00
v8-primitive.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-profiler.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-promise.h deps: update V8 to 12.8.374.13 2024-08-16 16:03:01 +02:00
v8-proxy.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-regexp.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-sandbox.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-script.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-snapshot.h deps: update V8 to 12.8.374.13 2024-08-16 16:03:01 +02:00
v8-source-location.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-statistics.h deps: update V8 to 12.4.254.14 2024-04-22 21:25:15 +00:00
v8-template.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-trace-categories.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-traced-handle.h deps: update V8 to 13.0.245.25 2025-01-31 12:45:51 +01:00
v8-typed-array.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-unwinder-state.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-unwinder.h deps: update V8 to 12.8.374.13 2024-08-16 16:03:01 +02:00
v8-util.h deps: update V8 to 12.9.202.18 2024-09-19 14:25:34 +00:00
v8-value-serializer-version.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-value-serializer.h src: distinguish HTML transferable and cloneable 2023-07-07 17:00:00 +00:00
v8-value.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-version-string.h deps: update V8 to 8.4.371.19 2020-07-13 14:41:41 +02:00
v8-version.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-wasm-trap-handler-posix.h deps: update V8 to 8.4.371.19 2020-07-13 14:41:41 +02:00
v8-wasm-trap-handler-win.h deps: update V8 to 8.4.371.19 2020-07-13 14:41:41 +02:00
v8-wasm.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8-weak-callback-info.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8.h deps: update V8 to 13.6.233.8 2025-05-02 15:06:53 +02:00
v8config.h deps: define V8_PRESERVE_MOST as no-op on Windows 2025-05-02 15:07:34 +02:00