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

Add Memory type #51319

Merged
merged 8 commits into from
Oct 27, 2023
Merged

Add Memory type #51319

merged 8 commits into from
Oct 27, 2023

Commits on Oct 26, 2023

  1. implement Memory{T} as a new backend for Array{T}

    also makes memory allocation ccalls safer, for catching Serialization
    and deepcopy bugs in packages.
    
    See <https://hackmd.io/@vtjnash/rkzazi7an> for the Julep describing this
    change.
    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    46a3fca View commit details
    Browse the repository at this point in the history
  2. replace unsafe_convert methods with safe cconvert ones

    This is the correct way to define most conversions, since the unsafe
    logic should typically be isolated to a few areas, and everywhere else
    just defines conversions to it. This ensures the root is preserved even
    if the user later makes unexpected changes to the array object (although
    the length might have later become inconsistent at that point, so it is
    not a guaranteed fix).
    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    9b6eb3d View commit details
    Browse the repository at this point in the history
  3. ensure internal Dict constructor is called with the correct arguments

    Seems to have been added by surprise in 20af397 with no users or tests.
    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    f5e363a View commit details
    Browse the repository at this point in the history
  4. try to reduce overallocation of system arrays

    These arrays often tend to grow slowly over long periods of time, so it
    seems likely better to keep them small to save memory, but not so small
    that the first 4 push calls each generate a new allocation.
    
    Overall this seems to make the sysimg slightly bigger currently.
    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    e29d644 View commit details
    Browse the repository at this point in the history
  5. Revert "cleanup boot"

    This reverts commit 3ccbee7 while we
    decide if we want to do this or not, though it may be worthwhile
    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    c2f261c View commit details
    Browse the repository at this point in the history
  6. Update base/Base.jl

    Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com>
    2 people authored and vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    8356a99 View commit details
    Browse the repository at this point in the history
  7. some fixes

    vtjnash committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    61c1ea3 View commit details
    Browse the repository at this point in the history
  8. fix typo

    oscardssmith committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    14b3218 View commit details
    Browse the repository at this point in the history