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

Bring a few minor GC patches from upstream #163

Merged
merged 7 commits into from
Jul 3, 2024
Merged

Commits on Jun 28, 2024

  1. reset mark queue indices at the end of GC (JuliaLang#52780)

    Should allow us to access fewer pages on the circular buffers owned by
    these work-stealing queues.
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    282207b View commit details
    Browse the repository at this point in the history
  2. optimize remset marking (JuliaLang#52476)

    Tag the lowest bit of a pointer to indicate it's in the remset and
    enqueue objects in the remset for later processing when GC threads have
    woken up, instead of sequentially marking them all at once.
    
    In principle, this should allow for more parallelism in the mark phase,
    though I didn't benchmark it yet.
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    1fc101d View commit details
    Browse the repository at this point in the history
  3. print types more verbosely in page profiler (JuliaLang#53256)

    Instead of just printing `Tuple`, print the full type signature such as
    `Tuple{UnionAll, GenericMemory{:not_atomic, Tuple{Int64, Int64,
    Array{Pair{Any, Any}, 1}}, Core.AddrSpace{Core}(0x00)}, Int64}`
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    08a4f1e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0ed80bd View commit details
    Browse the repository at this point in the history
  5. use atomic-fetch-and in write barrier slow-path (JuliaLang#54744)

    Not sure why we're not using it, but we probably should.
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    e0726dc View commit details
    Browse the repository at this point in the history
  6. remove a bunch of bit unnecessary bit clearing in bigval's sz field (J…

    …uliaLang#54946)
    
    We don't store anything in the lowest two bits of `sz` after
    JuliaLang#49644.
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    f4b9539 View commit details
    Browse the repository at this point in the history
  7. simplify handling of buffered pages (JuliaLang#54961)

    Simplifies handling of buffered pages by keeping them in a single place (`global_page_pool_lazily_freed`) instead of making them thread local. Performance has been assessed on the serial & multithreaded GCBenchmarks and it has shown to be performance neutral.
    d-netto committed Jun 28, 2024
    Configuration menu
    Copy the full SHA
    2e9911e View commit details
    Browse the repository at this point in the history