[kicad] Coroutine stack cleanups

2023-06-28 Thread 'Kuba Sunderland-Ober' via KiCad Developers
I ran across COROUTINE and noted that it could be cleaned up, and guard pages could be supported on all platforms too. Would that be something worth doing? I experimented with custom deleters for the m_stack pointer and they seem to make things less verbose and should make all platforms take th

Re: [kicad] Coroutine stack cleanups

2023-06-28 Thread Jon Evans
I'm not clear on how all platforms can take the same codepath since there is some fundamentally platform-specific code in here? Anyway, my own personal thoughts are that anyone looking to work on this area: 1) should be prepared to do their own testing on at least Windows + arm64 Mac + amd64 Linu

Re: [kicad] Coroutine stack cleanups

2023-06-28 Thread 'Kuba Sunderland-Ober' via KiCad Developers
Fundamentally, on all platforms it allocates an area, then protects a part of it, and eventually deallocates. The specific OS API differs, but that's what I want to abstract away into a small platform-specific section, so that rest of it would be platform-agnostic. I guess I now have an excuse t

Re: [kicad] Coroutine stack cleanups

2023-06-28 Thread Mark Roszko
Changes need to be tested on Windows arm64 too btw :P (We have arm64 windows nightlies and 8.0 will see stable arm64 windows builds) Libcontext was an awkward hack to get around the disaster of boost::context making major API changes that didn't match between every distro/platform for years becau