@@ -728,123 +728,48 @@ impl C {
728728 let snake = self . world . to_snake_case ( ) ;
729729 uwriteln ! (
730730 self . src. h_async,
731- "
732- void* {snake}_context_get_1(void);
733- void {snake}_context_set_1(void* value);
734- uint32_t {snake}_thread_yield_cancellable(void);
735- uint32_t {snake}_thread_index(void);
736- uint32_t {snake}_thread_new_indirect(void (*start_function)(void*), void* arg);
737- void {snake}_thread_suspend_to(uint32_t thread);
738- uint32_t {snake}_thread_suspend_to_cancellable(uint32_t thread);
739- void {snake}_thread_suspend_to_suspended(uint32_t thread);
740- uint32_t {snake}_thread_suspend_to_suspended_cancellable(uint32_t thread);
741- void {snake}_thread_unsuspend(uint32_t thread);
742- void {snake}_thread_yield_to_suspended(uint32_t thread);
743- uint32_t {snake}_thread_yield_to_suspended_cancellable(uint32_t thread);
744- void {snake}_thread_suspend(void);
745- uint32_t {snake}_thread_suspend_cancellable(void);
746- "
747- ) ;
748- uwriteln ! (
749- self . src. c_async,
750731 r#"
751732__attribute__((__import_module__("$root"), __import_name__("[context-get-1]")))
752- extern void* __context_get_1(void);
753-
754- void* {snake}_context_get_1(void) {{
755- return __context_get_1();
756- }}
733+ extern void* {snake}_context_get_1(void);
757734
758735__attribute__((__import_module__("$root"), __import_name__("[context-set-1]")))
759- extern void __context_set_1(void*);
760-
761- void {snake}_context_set_1(void* value) {{
762- __context_set_1(value);
763- }}
764-
765- __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-yield]")))
766- extern uint32_t __thread_yield_cancellable(void);
767-
768- uint32_t {snake}_thread_yield_cancellable(void) {{
769- return __thread_yield_cancellable();
770- }}
736+ extern void {snake}_context_set_1(void* value);
771737
772738__attribute__((__import_module__("$root"), __import_name__("[thread-index]")))
773- extern uint32_t __thread_index(void);
774-
775- uint32_t {snake}_thread_index(void) {{
776- return __thread_index();
777- }}
739+ extern uint32_t {snake}_thread_index(void);
778740
779741__attribute__((__import_module__("$root"), __import_name__("[thread-new-indirect-v0]")))
780- extern uint32_t __thread_new_indirect(uint32_t, void*);
781-
782- uint32_t {snake}_thread_new_indirect(void (*start_function)(void*), void* arg) {{
783- return __thread_new_indirect((uint32_t)(uintptr_t)start_function, arg
784- );
785- }}
786-
787- __attribute__((__import_module__("$root"), __import_name__("[thread-suspend-to-suspended]")))
788- extern uint32_t __thread_suspend_to_suspended(uint32_t);
789-
790- void {snake}_thread_suspend_to_suspended(uint32_t thread) {{
791- __thread_suspend_to_suspended(thread);
792- }}
793-
794- __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-suspend-to-suspended]")))
795- extern uint32_t __thread_suspend_to_suspended_cancellable(uint32_t);
796-
797- uint32_t {snake}_thread_suspend_to_suspended_cancellable(uint32_t thread) {{
798- return __thread_suspend_to_suspended_cancellable(thread);
799- }}
800-
801- __attribute__((__import_module__("$root"), __import_name__("[thread-suspend-to]")))
802- extern uint32_t __thread_suspend_to(uint32_t);
803-
804- void {snake}_thread_suspend_to(uint32_t thread) {{
805- __thread_suspend_to(thread);
806- }}
807-
808- __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-suspend-to]")))
809- extern uint32_t __thread_suspend_to_cancellable(uint32_t);
810-
811- uint32_t {snake}_thread_suspend_to_cancellable(uint32_t thread) {{
812- return __thread_suspend_to_cancellable(thread);
813- }}
814-
815- __attribute__((__import_module__("$root"), __import_name__("[thread-unsuspend]")))
816- extern void __thread_unsuspend(uint32_t);
817-
818- void {snake}_thread_unsuspend(uint32_t thread) {{
819- __thread_unsuspend(thread);
820- }}
821-
822- __attribute__((__import_module__("$root"), __import_name__("[thread-yield-to-suspended]")))
823- extern uint32_t __thread_yield_to_suspended(uint32_t);
824-
825- void {snake}_thread_yield_to_suspended(uint32_t thread) {{
826- __thread_yield_to_suspended(thread);
827- }}
828-
829- __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-yield-to-suspended]")))
830- extern uint32_t __thread_yield_to_suspended_cancellable(uint32_t);
831-
832- uint32_t {snake}_thread_yield_to_suspended_cancellable(uint32_t thread) {{
833- return __thread_yield_to_suspended_cancellable(thread);
834- }}
742+ extern uint32_t {snake}_thread_new_indirect(void (*start_function)(void*), void* arg);
743+ __attribute__((__import_module__("$root"), __import_name__("[thread-resume-later]")))
744+ extern void {snake}_thread_resume_later(uint32_t thread);
835745
836746__attribute__((__import_module__("$root"), __import_name__("[thread-suspend]")))
837- extern uint32_t __thread_suspend(void);
838-
839- void {snake}_thread_suspend(void) {{
840- __thread_suspend();
841- }}
842-
747+ extern uint32_t {snake}_thread_suspend(void);
843748__attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-suspend]")))
844- extern uint32_t __thread_suspend_cancellable(void);
845- uint32_t {snake}_thread_suspend_cancellable(void) {{
846- return __thread_suspend_cancellable();
847- }}
749+ extern uint32_t {snake}_thread_suspend_cancellable(void);
750+
751+ __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-yield]")))
752+ extern uint32_t {snake}_thread_yield_cancellable(void);
753+
754+ __attribute__((__import_module__("$root"), __import_name__("[thread-suspend-then-resume]")))
755+ extern uint32_t {snake}_thread_suspend_then_resume(uint32_t thread);
756+ __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-suspend-then-resume]")))
757+ extern uint32_t {snake}_thread_suspend_then_resume_cancellable(uint32_t thread);
758+
759+ __attribute__((__import_module__("$root"), __import_name__("[thread-yield-then-resume]")))
760+ extern uint32_t {snake}_thread_yield_then_resume(uint32_t thread);
761+ __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-yield-then-resume]")))
762+ extern uint32_t {snake}_thread_yield_then_resume_cancellable(uint32_t thread);
763+
764+ __attribute__((__import_module__("$root"), __import_name__("[thread-suspend-then-promote]")))
765+ extern uint32_t {snake}_thread_suspend_then_promote(uint32_t thread);
766+ __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-suspend-then-promote]")))
767+ extern uint32_t {snake}_thread_suspend_then_promote_cancellable(uint32_t thread);
768+
769+ __attribute__((__import_module__("$root"), __import_name__("[thread-yield-then-promote]")))
770+ extern uint32_t {snake}_thread_yield_then_promote(uint32_t thread);
771+ __attribute__((__import_module__("$root"), __import_name__("[cancellable][thread-yield-then-promote]")))
772+ extern uint32_t {snake}_thread_yield_then_promote_cancellable(uint32_t thread);
848773 "#
849774 ) ;
850775 }
0 commit comments