Skip to content

Conversation

@topolarity
Copy link
Member

@topolarity topolarity commented Nov 21, 2025

This adds a new test target: make test-JuliaLowering_stdlibs, which precompiles a supported set of standard libraries using JuliaLowering.

To accomplish this, it also adds a basic incremental sysimage build target (julia-sysimg-JL-release / julia-sysimg-JL-debug) that modifies the base sysimage to include JuliaLowering.

Currently 34 / 51 pkgimage-based stdlibs can be compiled with JuliaLowering:

  • Pre-compiling: ArgTools, Future, LibCURL_jll, Logging, OpenSSL_jl, Tar, dSFMT_jll, Base64, GMP_jll, LibGit2_jll, MPFR_jll, PCRE2_jll, UUIDs, libLLVM_jll, CRC32c, LLD_jll, LibSSH2_jll, MozillaCACerts_jll, Printf, Unicode, Mmap, nghttp2_jll, Distributed, LLVMLibUnwind_jll, LibUV_jll, NetworkOptions, Serialization, Zlib_jll, p7zip_jll, Downloads, LibCURL, LibUnwind_jll, OpenLibm_jll, SuiteSparse_jll, Zstd_jll
  • Failing: Statistics, StyledStrings, SparseArrays, Profile, JuliaSyntaxHighlighting, DelimitedFiles, Markdown, Dates, LibGit2, Downloads, InteractiveUtils, Test, SharedArrays, REPL, TOML, Pkg, LazyArtifacts

TODO:

  • move the precompilepkgs invocation / stdlib filtering to a normal Julia test file if possible
  • add this to the default / all test targets
  • fix-up the source file dependencies (esp. for JuliaLowering)
  • move sysimage build to Julia

@topolarity topolarity requested a review from mlechu November 21, 2025 20:15
@topolarity topolarity force-pushed the ct/test-JL-stdlibs branch 2 times, most recently from 6e407ab to 4165826 Compare November 24, 2025 20:37
@topolarity topolarity changed the title Add test-JL-stdlibs target for precompiling stdlibs with JuliaLowering Add test-JL_stdlibs target for precompiling stdlibs with JuliaLowering Nov 24, 2025
This performs an "incremental" sysimage build to add JuliaLowering to
Base after-the-fact.
This has a significant blacklist for now and this does not actually run
/ use these packages yet (except for top-level code / `__init__`), but
eventually we should be able to build all of our stdlibs with JuliaLowering
(and even include it by default in the sysimage).
Enable this for testing by default in CI / `make test`.
@topolarity topolarity marked this pull request as ready for review November 24, 2025 21:52
@topolarity topolarity marked this pull request as draft November 24, 2025 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant