• 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
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
loong64 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
riscv64 Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
arguments-inl.h Loading commit data...
arguments.cc Loading commit data...
arguments.h Loading commit data...
embedder-state.cc Loading commit data...
embedder-state.h Loading commit data...
encoded-c-signature.cc Loading commit data...
encoded-c-signature.h Loading commit data...
execution.cc Loading commit data...
execution.h Loading commit data...
frame-constants.h Loading commit data...
frames-inl.h Loading commit data...
frames.cc Loading commit data...
frames.h Loading commit data...
futex-emulation.cc Loading commit data...
futex-emulation.h Loading commit data...
interrupts-scope.cc Loading commit data...
interrupts-scope.h Loading commit data...
isolate-data.h Loading commit data...
isolate-inl.h Loading commit data...
isolate-utils-inl.h Loading commit data...
isolate-utils.h Loading commit data...
isolate.cc Loading commit data...
isolate.h Loading commit data...
local-isolate-inl.h Loading commit data...
local-isolate.cc Loading commit data...
local-isolate.h Loading commit data...
messages.cc Loading commit data...
messages.h Loading commit data...
microtask-queue.cc Loading commit data...
microtask-queue.h Loading commit data...
pointer-authentication-dummy.h Loading commit data...
pointer-authentication.h Loading commit data...
protectors-inl.h Loading commit data...
protectors.cc Loading commit data...
protectors.h Loading commit data...
runtime-profiler.cc Loading commit data...
runtime-profiler.h Loading commit data...
shared-mutex-guard-if-off-thread.h Loading commit data...
simulator-base.cc Loading commit data...
simulator-base.h Loading commit data...
simulator.h Loading commit data...
stack-guard.cc Loading commit data...
stack-guard.h Loading commit data...
thread-id.cc Loading commit data...
thread-id.h Loading commit data...
thread-local-top.cc Loading commit data...
thread-local-top.h Loading commit data...
v8threads.cc Loading commit data...
v8threads.h Loading commit data...
vm-state-inl.h Loading commit data...
vm-state.h Loading commit data...