• Ross McIlroy's avatar
    [Heap] Don't try and find SFIs FunctionLiteralId when flushing it's bytecode. · 2e83e749
    Ross McIlroy authored
    For compiled SFIs, finding the FunctionLiteralId is a slow operation that requires
    doing a binary search in the script's SFI table. Given the SFI has been flushed,
    it is unlikely we will need the FunctionLiteralId again, so just mark the
    UncompiledData has having an invalid FunctionLiteralID such that we only do
    the search if it is required from the UncompiledData.
    
    This addresses a significant regression on gc_latency when bytecode flushing was
    enabled.
    
    BUG=chromium:927038,v8:8395
    
    Change-Id: I7123c3fe05034ff96e84f9d1d36d5f312a2a56e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1450118Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59319}
    2e83e749
objects.cc 337 KB