• Bruce Dawson's avatar
    Preserve OOM call stack entries · bf708dee
    Bruce Dawson authored
    Partition Alloc has a few different out-of-memory error reporting paths
    with different meanings for the "size" parameter. These different paths
    are supposed to be distinguishable by looking at the call stack but a
    combination of code folding and tail-call optimizations means that this
    is not actually guaranteed. In one (most?) crash dumps a call to
    PartitionOutOfMemoryWithLargeVirtualSize shows up on the stack as a call
    to PartitionExcessiveAllocationSize.
    
    This change disables code folding for the relevant functions, and
    disables tail calls as well.
    
    This should make understanding OOM failures easier.
    
    Bug: 1159694
    Change-Id: I0faf577fa0e82e88f7a06940c97a570e778e5ec8
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2607585
    Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
    Commit-Queue: Will Harris <wfh@chromium.org>
    Reviewed-by: default avatarWill Harris <wfh@chromium.org>
    Reviewed-by: default avatarAnton Bikineev <bikineev@chromium.org>
    Auto-Submit: Bruce Dawson <brucedawson@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#840248}
    bf708dee
partition_oom.cc 1.21 KB