• Corentin Pescheloche's avatar
    Reland "[profiler] Surface VM & Embedder State" · e155881f
    Corentin Pescheloche authored
    This is a reland of 2d087f23
    
    The changes are :
    * Fix redundant reinterpret_cast in test file for MSVC failure
    https://crbug.com/v8/12476
    * Fix flaky test
    https://crbug.com/v8/12475
    If a sample is captured during a GC, no embedder context is obtained
    defaulting to EMPTY. This is the expected behavior, made it in clear
    in implementation and in test.
    * Synchronized the embedder context filter behavior with existing
    native context filter.
    
    Original change's description:
    
    > Add APIs to surface VMState and new EmbedderState to CpuProfile samples.
    >
    > EmbedderState:
    > * An EmbedderState is defined as a value uint8_t and a v8::context used
    > for filtering.
    > * EmbedderStates are stack allocated by the embedder, construction and
    > destruction set/unset the state to the isolate thread local top.
    > * A v8::context is used to filter states that are added to a CpuProfile,
    > if the CpuProfile do not have a ContextFilter set or if contexts do not
    > match, state defaults to Empty.
    >
    > * v8:StateTag is already propagated all the way to a Sample, simply add
    > an API to surface it.
    >
    > VMState:
    > Change-Id: I7eed08907360b99b0ad20ddcff59c95c7076c85e
    > Bug: chromium:1263871
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3188072
    > Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com>
    > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Igor Sheludko <ishell@chromium.org>
    > Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#78250}
    
    Bug: chromium:1263871
    Change-Id: Ief891b05da99c695e9fb70f94ed7ebdecc6c3b7b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3320037
    Auto-Submit: Corentin Pescheloche <cpescheloche@fb.com>
    Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78281}
    e155881f
Name
Last commit
Last update
..
cppgc Loading commit data...
libplatform Loading commit data...
APIDesign.md Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
js_protocol-1.2.json Loading commit data...
js_protocol-1.3.json Loading commit data...
js_protocol.pdl Loading commit data...
v8-array-buffer.h Loading commit data...
v8-callbacks.h Loading commit data...
v8-container.h Loading commit data...
v8-context.h Loading commit data...
v8-cppgc.h Loading commit data...
v8-data.h Loading commit data...
v8-date.h Loading commit data...
v8-debug.h Loading commit data...
v8-embedder-heap.h Loading commit data...
v8-embedder-state-scope.h Loading commit data...
v8-exception.h Loading commit data...
v8-extension.h Loading commit data...
v8-external.h Loading commit data...
v8-fast-api-calls.h Loading commit data...
v8-forward.h Loading commit data...
v8-function-callback.h Loading commit data...
v8-function.h Loading commit data...
v8-initialization.h Loading commit data...
v8-inspector-protocol.h Loading commit data...
v8-inspector.h Loading commit data...
v8-internal.h Loading commit data...
v8-isolate.h Loading commit data...
v8-json.h Loading commit data...
v8-local-handle.h Loading commit data...
v8-locker.h Loading commit data...
v8-maybe.h Loading commit data...
v8-memory-span.h Loading commit data...
v8-message.h Loading commit data...
v8-metrics.h Loading commit data...
v8-microtask-queue.h Loading commit data...
v8-microtask.h Loading commit data...
v8-object.h Loading commit data...
v8-persistent-handle.h Loading commit data...
v8-platform.h Loading commit data...
v8-primitive-object.h Loading commit data...
v8-primitive.h Loading commit data...
v8-profiler.h Loading commit data...
v8-promise.h Loading commit data...
v8-proxy.h Loading commit data...
v8-regexp.h Loading commit data...
v8-script.h Loading commit data...
v8-snapshot.h Loading commit data...
v8-statistics.h Loading commit data...
v8-template.h Loading commit data...
v8-traced-handle.h Loading commit data...
v8-typed-array.h Loading commit data...
v8-unwinder-state.h Loading commit data...
v8-unwinder.h Loading commit data...
v8-util.h Loading commit data...
v8-value-serializer-version.h Loading commit data...
v8-value-serializer.h Loading commit data...
v8-value.h Loading commit data...
v8-version-string.h Loading commit data...
v8-version.h Loading commit data...
v8-wasm-trap-handler-posix.h Loading commit data...
v8-wasm-trap-handler-win.h Loading commit data...
v8-wasm.h Loading commit data...
v8-weak-callback-info.h Loading commit data...
v8.h Loading commit data...
v8config.h Loading commit data...