pleriche / FastMM5

FastMM is a fast replacement memory manager for Embarcadero Delphi applications that scales well across multiple threads and CPU cores, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files.
283 stars 73 forks source link

FastMM5 support for macOS #53

Open Lasibian opened 3 months ago

Lasibian commented 3 months ago

This version of FastMM5 includes experimental support for macOS. The ARM CPU (M1, M2, ...) architecture is weakly ordered. This could lead to really strange access violations when using threads. I added calls to MemoryBarrier to fix these. I'm not sure if I found all locations that need this. It might still be helpful for finding memory problems in the debug mode. So be careful when using this in production mode.