FiberTaskingLib icon indicating copy to clipboard operation
FiberTaskingLib copied to clipboard

Update Boost Context

Open mdsitton opened this issue 2 years ago • 7 comments

I've been looking over the version in this repo vs the upstream and there is a few issues i'm finding compared to the latest version, plus we'd probably get apple silicon support which would be nice: https://github.com/boostorg/context/commit/1c763c9796681fccf173ec69fa6da182dba77493

Here are some of the commits that should certainly be applied regardless looking over everything: https://github.com/boostorg/context/commit/50ebf5bd1160623cbbf169f6a5d7ddff04e9d1ef

https://github.com/boostorg/context/commit/002ed389531e31a24d16edc280a6ac01a6166375

mdsitton avatar Oct 22 '23 23:10 mdsitton

I'd prefer to keep it as a fork. (one of the reasons I forked it was that the boost context API kept changing). That said, we can definitely port their fixes. Apple silicon shouldn't be too hard to add, since we already have ARM for elf. MachO uses aapcs calling convention as well. So the only difference between elf and macho asm files is some calling macros

RichieSams avatar Oct 23 '23 01:10 RichieSams

i mean to be fair the fcontext api hasn't changed at all since you forked it 6 years ago as far as i can tell: https://github.com/boostorg/context/commits/develop/include/boost/context/detail/fcontext.hpp And development over time on the project has been trending downwards since then: image

Another option is using maybe this fork which while isn't fully up-to-date with the current boost context, it's a lot newer and has all of the backends functional atleast. https://github.com/septag/deboost.context

mdsitton avatar Oct 23 '23 03:10 mdsitton

That's an interesting option. It's got some decent stars and is used by some facebook research project. I don't like the API change, but I'm also curmudgeonly. I'll live

RichieSams avatar Oct 23 '23 04:10 RichieSams