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

Expand PerfMap format to support metadata for symbol indexation #53792

Merged
merged 3 commits into from
Jul 1, 2021

Commits on Jul 1, 2021

  1. Expand PerfMap format to support metadata for symbol indexation

    I have expanded the PerfMap format produced by Crossgen2 and
    R2RDump to produce metadata in form of pseudo-symbol records with
    high addresses. In this version I have implemented five metadata
    entries - output GUID, target OS, target architecture, input
    assembly names and input assembly MVIDs. I have verified for
    System.Private.CoreLib and for the composite framework that
    Crossgen2 and R2RDump produce identical metadata.
    
    Thanks
    
    Tomas
    trylek committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    047d876 View commit details
    Browse the repository at this point in the history
  2. Address feedback towards the new perfmap metadata

    1) Remove the detailed input assembly / MVID list as superfluous
    and potentially regressing average perfmap size. This information
    can be extracted from the composite R2R executable if needed.
    
    2) Rename perfmap extension to "ni.r2rmap" per Brian's PR feedback.
    
    I haven't yet addressed the counterpart Arcade / SDK changes, I'll
    look into them next.
    
    Thanks
    
    Tomas
    trylek committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    db9d4e5 View commit details
    Browse the repository at this point in the history
  3. Add support for new option --perfmap-format-version

    Today, two PerfMap formats exist:
    
    (0) Legacy format produced by Crossgen1 with {MVID} in the file name.
    (1) New format produced by Crossgen2 / R2RDump without the {MVID}
    and with r2rmap extension.
    
    I haven't conditioned production of the new metadata, it gets
    produced even for format version 0 (legacy). I believe this is more
    useful for starting work on adapting perfmap consumers to use the
    new metadata.
    
    As next step I'll work on SDK and Arcade fixes for support of the
    new PerfMap format. Once all these changes land in the runtime
    repo, we can bump up the default format produced by Crossgen2 to 1.
    
    Thanks
    
    Tomas
    trylek committed Jul 1, 2021
    Configuration menu
    Copy the full SHA
    8571140 View commit details
    Browse the repository at this point in the history