Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Produce debug entries for inlined methods #2880

Closed
wants to merge 23 commits into from

Commits on Aug 17, 2021

  1. Configuration menu
    Copy the full SHA
    6fcf983 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    641c36f View commit details
    Browse the repository at this point in the history
  3. Extend DWARF abbrevs

    zakkak committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    bf15d31 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d362461 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f0c5eca View commit details
    Browse the repository at this point in the history
  6. DebugInfo fix file association for corner case

    If line gets successfully retrieved from subrange instead of
    primaryrange get file index from the subrange since the line might be
    from a different file for inlined methods.
    zakkak committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    46ec35c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ddd6d13 View commit details
    Browse the repository at this point in the history
  8. Optimize debug info generation with -H:+OmitInlinedMethodDebugLineInfo

    When using -H:+OmitInlinedMethodDebugLineInfo we know that ranges are
    not expected to have inlined subranges so we can avoid looping over
    them to see if we need to generate inline debug info.
    zakkak committed Aug 17, 2021
    Configuration menu
    Copy the full SHA
    abe98ea View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    cdeb901 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    219a2e3 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2021

  1. Generate abstract inline DIEs in classes' CUs

    This way we save space and time by not replicating abstract inline DIEs
    in the caller's CU.
    adinn authored and zakkak committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    1334190 View commit details
    Browse the repository at this point in the history
  2. Filter out potentially invalid line and caller records

    * remove line records with zero extent
    * remove caller marking substitution entry (bci = -1)
    adinn authored and zakkak committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    99d3c5c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8434b31 View commit details
    Browse the repository at this point in the history
  4. Refactor: Renaming variables

    adinn authored and zakkak committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    49b9462 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    57cd7c4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7a627e5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9f36419 View commit details
    Browse the repository at this point in the history
  8. DebugInfo: Model subranges as trees to retain call-tree information

    PrimaryEntry provides a top-down subrange iterator that performs a
    depth-first traversal of the call-graph and a leaf subrange iterator
    that performs a depth-first traversal returning only the leafs.
    
    The sibling nodes in the tree are being merged whenever possible to
    reduce the debuginfo size.
    
    Co-authored-by: Foivos Zakkak <fzakkak@redhat.com>
    adinn and zakkak committed Aug 18, 2021
    Configuration menu
    Copy the full SHA
    268c332 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2021

  1. Add missing documentation and rename some variables for readability

    Co-authored-by: Andrew Dinn <adinn@redhat.com>
    zakkak and adinn committed Aug 20, 2021
    Configuration menu
    Copy the full SHA
    6ae5665 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2021

  1. Configuration menu
    Copy the full SHA
    3a7f427 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    22014e6 View commit details
    Browse the repository at this point in the history
  3. Refactor: Use ResolvedJavaMethod to sort methods in ClassEntry

    This way we avoid the expensive calls to "toJavaName".
    
    This patch reduces the time spend in debug info generation from ~12s to
    5s.
    zakkak committed Aug 26, 2021
    Configuration menu
    Copy the full SHA
    a294e6d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6ffc908 View commit details
    Browse the repository at this point in the history