• Corentin Pescheloche's avatar
    [profiler] Surface VM & Embedder State · 2d087f23
    Corentin Pescheloche authored
    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: 's avatarCamillo Bruni <cbruni@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78250}
    2d087f23
heap.cc 262 KB