79322617

Date: 2025-01-02 01:57:05
Score: 3.5
Natty:
Report link

Looking at the code in your github.com link, @dnadlinger, I can't quite tell whether your 64-bit Windows code lacks the solution you describe for 32-bit Windows, or whether in fact the corresponding solution for 64-bit Windows is simpler.

Assuming the latter, I've tried to adapt the Boost.Context 64-bit Windows fcontext masm implementation to save and restore the three-pointer block at GS:[0] on every context switch, which is what I infer the D language's 64-bit Windows fiber context switch code is doing.

Unfortunately, even with the linked changes, the test programs I'm using to exercise context switching during exception handling (linked in the PR) behave the same as with unmodified Boost.Context.

What am I missing?

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • User mentioned (1): @dnadlinger
  • Looks like a comment (1):
  • Low reputation (0.5):
Posted by: Nat Goodspeed