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

Implement support for object caching through pkgimages #47184

Merged
merged 29 commits into from
Dec 27, 2022

Commits on Dec 12, 2022

  1. Cache objectcode in pkgimages

    1. Handle external functions in other images
      When we find an edge to an external function (already cached in an
      loaded pkgimage), we emit a global variable which we will patch during
      loading with the address of the function to call.
    
    2. Split `.ji` and `.so`
      Validation headers and srctext goes into `.ji`, data and objectcode
      goes into .so.
    
    3. Implement Base.Linking using lld to link on user machines
      On MacOS we are not gurantueed to have a usable `-lSystem` we can
      link against, so we use `-undefined dynamic_lookup`
    
    4. Implement logic for caching and selection
    
    Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
    Co-authored-by: Tim Holy <tim.holy@gmail.com>
    3 people committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    0a8e063 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0f135a3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    90db48c View commit details
    Browse the repository at this point in the history
  4. Capitalize Xcode correctly

    Co-authored-by: Max Horn <max@quendi.de>
    timholy and fingolfin committed Dec 12, 2022
    Configuration menu
    Copy the full SHA
    5043270 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2022

  1. Clarify documentation

    Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com>
    timholy and sloede committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    4e97943 View commit details
    Browse the repository at this point in the history
  2. Docs: command-line options

    timholy committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    22233f6 View commit details
    Browse the repository at this point in the history
  3. Expand "link" to devdocs

    Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com>
    timholy and sloede committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    b8872d1 View commit details
    Browse the repository at this point in the history
  4. Update doc/src/manual/command-line-interface.md

    Co-authored-by: Alex Ames <alexander.m.ames@gmail.com>
    timholy and stillyslalom committed Dec 13, 2022
    Configuration menu
    Copy the full SHA
    8b308f1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    03fe8d7 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2022

  1. Mixin cpu_target

    vchuravy committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    58b4ac1 View commit details
    Browse the repository at this point in the history
  2. Don't overcount

    vchuravy committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    1785d51 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5c114ba View commit details
    Browse the repository at this point in the history
  4. Reject .ji on pkgimage

    vchuravy committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    71622a1 View commit details
    Browse the repository at this point in the history
  5. fixup! Don't overcount

    vchuravy committed Dec 14, 2022
    Configuration menu
    Copy the full SHA
    6ff3284 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2022

  1. Configuration menu
    Copy the full SHA
    cb2cd68 View commit details
    Browse the repository at this point in the history
  2. Fix & test PkgCacheInspector

    timholy committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    c405552 View commit details
    Browse the repository at this point in the history
  3. Split post-load work into separate function

    The motiviation here is to allow PkgCacheInspector to both
    load the package as well as return the contents of the cache file.
    That makes it possible to collect & compare multiple cache files
    within the same session.
    timholy committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6373b89 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2022

  1. Configuration menu
    Copy the full SHA
    23ce9aa View commit details
    Browse the repository at this point in the history
  2. fix 32bit test failure

    IanButterworth committed Dec 17, 2022
    Configuration menu
    Copy the full SHA
    9b6bc2b View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2022

  1. Rename command line flag

    vchuravy committed Dec 18, 2022
    Configuration menu
    Copy the full SHA
    bb10c8c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    313bb9a View commit details
    Browse the repository at this point in the history
  3. [CompilerSupportLibraries_jll] Upgrade to v1.0.2 and install `libsspd…

    …ll.a` on Windows (#47864)
    
    The new build provides the import library for `libssp` on Windows, instead of
    the static library.
    giordano committed Dec 18, 2022
    Configuration menu
    Copy the full SHA
    0d469bd View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2022

  1. Configuration menu
    Copy the full SHA
    692aa52 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2022

  1. Find native code in non-worklist modules

    Formerly we only looked for native code in `worklist` modules.
    This adds the new "external method extensions" (new methods
    owned by the `worklist` but for functions owned by non-`worklist`
    modules) and new specialization of external methods.
    timholy committed Dec 23, 2022
    Configuration menu
    Copy the full SHA
    17ff877 View commit details
    Browse the repository at this point in the history

Commits on Dec 24, 2022

  1. Configuration menu
    Copy the full SHA
    6e9a670 View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2022

  1. Configuration menu
    Copy the full SHA
    9f2f0d1 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2022

  1. Configuration menu
    Copy the full SHA
    0365526 View commit details
    Browse the repository at this point in the history
  2. Simplify test

    KristofferC authored and timholy committed Dec 26, 2022
    Configuration menu
    Copy the full SHA
    f33c2a6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5fe7c05 View commit details
    Browse the repository at this point in the history