libsupport_zynq/ram: split allocator for each core. #47
Loading…
Reference in New Issue
No description provided.
Delete Branch "pca006132:separate-alloc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implementation for #46.
Allocation request would use the allocator for that core. Deallocation would check the pointer range to determine the correct memory allocator responsible for deallocating the memory, as it is possible to allocate a buffer in core1, send it to core0 and deallocate it in core0 for example.
The separate allocator feature is gated behind the feature
alloc_core
, so modules like experiments or szl in artiq-zynq which does not need this feature would not be affected.Tested using artiq-zynq, did not break anything currently after running several mandelbrot and complex return type examples.
@ -22,0 +33,4 @@
let end0 = &__heap0_end as *const usize as *const u8;
let start1 = &__heap1_start as *const usize as *const u8;
let end1 = &__heap1_end as *const usize as *const u8;
let const_ptr = ptr as *const u8;
let ptr = ptr as *const u8;
I don't think this works, as this does not work for
which the pointer has to be mutable here.
I would post a new PR with solution (Hack) for M-Labs/artiq-zynq#32
Pull request closed