• Simon Zünd's avatar
    [stack-trace] Separate stack-trace symbolization and serialization · db24e200
    Simon Zünd authored
    This CL moves the code responsible for serializing a stack trace frame into
    a string, out of messages.cc and into stack-frame-info.cc. Instead of
    symbolizing the stack trace frame while serializing, the code is changed to
    work on top of StackTraceFrame and StackFrameInfo objects.
    
    The result is that the serialization code no longer cares when a stack trace
    frame is symbolized. Symbolization could happen eagerly during capturing, or
    lazily the first time any of StackFrameInfo fields are accessed.
    
    Drive-by: Existing users of StackFrameBase::ToString are adapted to the
    new SerializeStackTraceFrame API. This includes Isolate::PrintCurrentStackTrace,
    which is changed to re-use the existing capturing and serializing mechanism.
    
    Bug: v8:8742
    Change-Id: Ic7fd80668c9d993e99d586ef7fe022850104c34f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1631414
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62522}
    db24e200
test-api-stack-traces.cc 31 KB