• Jakob Gruber's avatar
    [nojit] Store a dedicated InterpreterEntryTrampoline copy on roots · a6e7d781
    Jakob Gruber authored
    V8 supports a mechanism to generate better profiling information for
    ticks in bytecode execution. Usually, these would find the IET but would
    not know which JS function is currently being executed. With
    --interpreted_frames_native_stack, we create a dedicated copy of the
    IET for each JS function, which the profiler can use the infer the
    current function.
    
    This mechanism doesn't work when IET is embedded. But JIT-less V8 will
    require all builtins to be embedded.
    
    This CL implements a workaround that should keep all configuration
    happy: We keep a full copy of IET on the root list for sole purpose of
    using it as a template to create copies for profiling later on. The
    'real' IET builtin itself can be embedded in a follow-up CL.
    
    Change-Id: Iaf1629708f0e41c3683979245019fbd3e3153c97
    Reviewed-on: https://chromium-review.googlesource.com/c/1335700
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57548}
    a6e7d781
compiler.cc 81.3 KB