Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
implement Memory{T} as a new backend for Array{T}
TODO: add more tests for Memory specifically TODO: add to julia-licm the gc_loaded TODO: make sure all tests are passing (updated as needed) TODO: write API documentation for Memory (as needed) and devdoc updates (as needed) TODO: test Memory owner relationship (avoid implied unalias copy) of Memory in staticdata TODO: can we detect ownership for dataids for more accurate range checking? TODO: add memoryowner intrinsic (since this is a hidden field) TODO: add memoryoffset intrinsic (since this is computed better with exact idiv) TODO: implement dataids for Memory aliasing check and fix dataids for Array also makes memory allocation ccalls safer, for catching Serialization and deepcopy bugs in packages. more things to do TODO: don't mutate Memory length when making a String, but set Array ref field to empty Memory TODO: add alias `AtomicMemory{T} = GenericMemory{:atomic,T}` TODO: document jl_memoryt_slice TODO: add AddrSpace::Int parameter to GenericMemory Future possible kinds of possible Memories: GenericMemory{:atomic, 0, Int} GenericMemory{:not_atomic, 0, Int} GenericMemory{:unsync, 0, Int} GenericMemory{:normal, 0, Int} GenericMemory{:default, 0, Int} GenericMemory{:racy, 0, Int} GenericMemory{:local, 0, Int} GenericMemory{:const, 0, Int} GenericMemory{:ntuple, 0, Int} GenericMemory{:value, 0, Int} cleanups finish sizehint! implimentation and cleanups cleanup remove arrayref and arrayset from julia side (still need to remove the C side), and impliment in julia remove arrayref, arrayset, arraysize, arraylen from backend cleanups fix fix fixes fixes fixes fixes
- Loading branch information