D.gnu - [Bug 266] New: Can threadasm.S be replaced with generics?
- via D.gnu (50/50) Jul 18 2017 https://bugzilla.gdcproject.org/show_bug.cgi?id=266
https://bugzilla.gdcproject.org/show_bug.cgi?id=266 Bug ID: 266 Summary: Can threadasm.S be replaced with generics? Product: GDC Version: development Hardware: All OS: All Status: NEW Severity: normal Priority: Normal Component: libgdruntime Assignee: ibuclaw gdcproject.org Reporter: ibuclaw gdcproject.org Having a small play around, these seem to generate what looks like correct code on x86/64. Would be nice if confirmed to work with more, then we can get rid of one extra non-portable file. --- import gcc.builtins; // void callWithStackShell(scope void delegate(void* sp) nothrow fn) nothrow { version (GNU) { __builtin_unwind_init(); asm { ""; } fn(__builtin_stack_save()); asm { ""; } } else static assert(0); } // extern (C) void fiber_switchContext(void** oldp, void* newp) nothrow { version (GNU) { __builtin_unwind_init(); asm { ""; } *oldp = __builtin_stack_save(); __builtin_stack_restore(newp); asm { ""; } } else static assert(0); } --- https://explore.dgnu.org/g/W7zrb8 -- You are receiving this mail because: You are watching all bug changes.
Jul 18 2017