msvcr100: Add _SpinWait implementation.
This commit is contained in:
parent
889cce442e
commit
cda83f9c33
|
@ -1,9 +1,9 @@
|
||||||
# MS VC++2010 runtime library
|
# MS VC++2010 runtime library
|
||||||
|
|
||||||
@ stub -arch=win32 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z
|
@ thiscall -arch=win32 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) SpinWait_ctor_yield
|
||||||
@ stub -arch=win64 ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z
|
@ cdecl -arch=win64 ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor_yield
|
||||||
@ stub -arch=win32 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z
|
@ thiscall -arch=win32 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) SpinWait_ctor
|
||||||
@ stub -arch=win64 ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z
|
@ cdecl -arch=win64 ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor
|
||||||
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAA@IZZ
|
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAA@IZZ
|
||||||
@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
|
@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
|
||||||
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z
|
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAE@ABV01@@Z
|
||||||
|
@ -228,10 +228,10 @@
|
||||||
@ extern ??_7bad_typeid@std@@6B@ MSVCRT_bad_typeid_vtable
|
@ extern ??_7bad_typeid@std@@6B@ MSVCRT_bad_typeid_vtable
|
||||||
@ extern ??_7exception@@6B@ MSVCRT_exception_old_vtable
|
@ extern ??_7exception@@6B@ MSVCRT_exception_old_vtable
|
||||||
@ extern ??_7exception@std@@6B@ MSVCRT_exception_vtable
|
@ extern ??_7exception@std@@6B@ MSVCRT_exception_vtable
|
||||||
@ stub -arch=win32 ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ
|
@ thiscall -arch=win32 ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=win64 ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ
|
@ cdecl -arch=win64 ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=win32 ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ
|
@ thiscall -arch=win32 ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=win64 ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ
|
@ cdecl -arch=win64 ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ(ptr) SpinWait_dtor
|
||||||
@ thiscall -arch=i386 ??_Fbad_cast@std@@QAEXXZ(ptr) MSVCRT_bad_cast_default_ctor
|
@ thiscall -arch=i386 ??_Fbad_cast@std@@QAEXXZ(ptr) MSVCRT_bad_cast_default_ctor
|
||||||
@ cdecl -arch=win64 ??_Fbad_cast@std@@QEAAXXZ(ptr) MSVCRT_bad_cast_default_ctor
|
@ cdecl -arch=win64 ??_Fbad_cast@std@@QEAAXXZ(ptr) MSVCRT_bad_cast_default_ctor
|
||||||
@ thiscall -arch=i386 ??_Fbad_typeid@std@@QAEXXZ(ptr) MSVCRT_bad_typeid_default_ctor
|
@ thiscall -arch=i386 ??_Fbad_typeid@std@@QAEXXZ(ptr) MSVCRT_bad_typeid_default_ctor
|
||||||
|
@ -325,10 +325,10 @@
|
||||||
@ stub -arch=win64 ?_ConcRT_Trace@details@Concurrency@@YAXHPEB_WZZ
|
@ stub -arch=win64 ?_ConcRT_Trace@details@Concurrency@@YAXHPEB_WZZ
|
||||||
@ stub -arch=win32 ?_Copy_str@exception@std@@AAEXPBD@Z
|
@ stub -arch=win32 ?_Copy_str@exception@std@@AAEXPBD@Z
|
||||||
@ stub -arch=win64 ?_Copy_str@exception@std@@AEAAXPEBD@Z
|
@ stub -arch=win64 ?_Copy_str@exception@std@@AEAAXPEBD@Z
|
||||||
@ stub -arch=win32 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=win32 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win64 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win32 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=win32 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win64 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win32 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ
|
@ stub -arch=win32 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QAE_NXZ
|
||||||
@ stub -arch=win64 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QEAA_NXZ
|
@ stub -arch=win64 ?_IsCanceling@_StructuredTaskCollection@details@Concurrency@@QEAA_NXZ
|
||||||
@ stub -arch=win32 ?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ
|
@ stub -arch=win32 ?_IsCanceling@_TaskCollection@details@Concurrency@@QAE_NXZ
|
||||||
|
@ -337,10 +337,10 @@
|
||||||
@ stub -arch=win64 ?_Name_base@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
|
@ stub -arch=win64 ?_Name_base@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
|
||||||
@ stub -arch=win32 ?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
|
@ stub -arch=win32 ?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z
|
||||||
@ stub -arch=win64 ?_Name_base_internal@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
|
@ stub -arch=win64 ?_Name_base_internal@type_info@@CAPEBDPEBV1@PEAU__type_info_node@@@Z
|
||||||
@ stub -arch=win32 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ
|
@ thiscall -arch=win32 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win64 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ
|
@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win32 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ
|
@ thiscall -arch=win32 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win64 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ
|
@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win32 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
|
@ stub -arch=win32 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QAEXXZ
|
||||||
@ stub -arch=win64 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
|
@ stub -arch=win64 ?_Release@_NonReentrantBlockingLock@details@Concurrency@@QEAAXXZ
|
||||||
@ stub -arch=win32 ?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ
|
@ stub -arch=win32 ?_Release@_NonReentrantPPLLock@details@Concurrency@@QAEXXZ
|
||||||
|
@ -355,10 +355,10 @@
|
||||||
@ stub -arch=win64 ?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
@ stub -arch=win64 ?_ReleaseRead@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
||||||
@ stub -arch=win32 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
|
@ stub -arch=win32 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
|
||||||
@ stub -arch=win64 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
@ stub -arch=win64 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
||||||
@ stub -arch=win32 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=win32 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win64 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win32 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=win32 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win64 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win32 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
@ stub -arch=win32 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win64 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
|
@ stub -arch=win64 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win32 ?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
@ stub -arch=win32 ?_RunAndWait@_TaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
||||||
|
@ -367,18 +367,18 @@
|
||||||
@ stub -arch=win64 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
|
@ stub -arch=win64 ?_Schedule@_StructuredTaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win32 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z
|
@ stub -arch=win32 ?_Schedule@_TaskCollection@details@Concurrency@@QAEXPAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
|
@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win32 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z
|
@ thiscall -arch=win32 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win64 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z
|
@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win32 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z
|
@ thiscall -arch=win32 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win64 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z
|
@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win32 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ
|
@ thiscall -arch=win32 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ
|
@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win32 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ
|
@ thiscall -arch=win32 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ
|
@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win32 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ
|
@ thiscall -arch=win32 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=win64 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ
|
@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=win32 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ
|
@ thiscall -arch=win32 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=win64 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ
|
@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub ?_SpinYield@Context@Concurrency@@SAXXZ
|
@ stub ?_SpinYield@Context@Concurrency@@SAXXZ
|
||||||
@ stub -arch=win32 ?_Start@_Timer@details@Concurrency@@IAEXXZ
|
@ stub -arch=win32 ?_Start@_Timer@details@Concurrency@@IAEXXZ
|
||||||
@ stub -arch=win64 ?_Start@_Timer@details@Concurrency@@IEAAXXZ
|
@ stub -arch=win64 ?_Start@_Timer@details@Concurrency@@IEAAXXZ
|
||||||
|
@ -407,7 +407,7 @@
|
||||||
@ stub -arch=win64 ?_ValidateRead@@YAHPEBXI@Z
|
@ stub -arch=win64 ?_ValidateRead@@YAHPEBXI@Z
|
||||||
@ stub -arch=win32 ?_ValidateWrite@@YAHPAXI@Z
|
@ stub -arch=win32 ?_ValidateWrite@@YAHPAXI@Z
|
||||||
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI@Z
|
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI@Z
|
||||||
@ stub ?_Value@_SpinCount@details@Concurrency@@SAIXZ
|
@ cdecl ?_Value@_SpinCount@details@Concurrency@@SAIXZ() SpinCount__Value
|
||||||
@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z
|
@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z
|
||||||
@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
|
@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
|
||||||
@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z
|
@ stub -arch=win32 ?__ExceptionPtrCompare@@YA_NPBX0@Z
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# MS VC++2012 runtime library
|
# MS VC++2012 runtime library
|
||||||
|
|
||||||
@ stub -arch=arm ??0?$_SpinWait@$00@details@Concurrency@@QAA@P6AXXZ@Z
|
@ cdecl -arch=arm ??0?$_SpinWait@$00@details@Concurrency@@QAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor_yield
|
||||||
@ stub -arch=i386 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z
|
@ thiscall -arch=i386 ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) SpinWait_ctor_yield
|
||||||
@ stub -arch=win64 ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z
|
@ cdecl -arch=win64 ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor_yield
|
||||||
@ stub -arch=arm ??0?$_SpinWait@$0A@@details@Concurrency@@QAA@P6AXXZ@Z
|
@ cdecl -arch=arm ??0?$_SpinWait@$0A@@details@Concurrency@@QAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor
|
||||||
@ stub -arch=i386 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z
|
@ thiscall -arch=i386 ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z(ptr ptr) SpinWait_ctor
|
||||||
@ stub -arch=win64 ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z
|
@ cdecl -arch=win64 ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z(ptr ptr) SpinWait_ctor
|
||||||
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAA@IZZ
|
@ stub -arch=win32 ??0SchedulerPolicy@Concurrency@@QAA@IZZ
|
||||||
@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
|
@ stub -arch=win64 ??0SchedulerPolicy@Concurrency@@QEAA@_KZZ
|
||||||
@ stub -arch=arm ??0SchedulerPolicy@Concurrency@@QAA@ABV01@@Z
|
@ stub -arch=arm ??0SchedulerPolicy@Concurrency@@QAA@ABV01@@Z
|
||||||
|
@ -374,12 +374,12 @@
|
||||||
@ extern ??_7bad_cast@std@@6B@ MSVCRT_bad_cast_vtable
|
@ extern ??_7bad_cast@std@@6B@ MSVCRT_bad_cast_vtable
|
||||||
@ extern ??_7bad_typeid@std@@6B@ MSVCRT_bad_typeid_vtable
|
@ extern ??_7bad_typeid@std@@6B@ MSVCRT_bad_typeid_vtable
|
||||||
@ extern ??_7exception@std@@6B@ MSVCRT_exception_vtable
|
@ extern ??_7exception@std@@6B@ MSVCRT_exception_vtable
|
||||||
@ stub -arch=arm ??_F?$_SpinWait@$00@details@Concurrency@@QAAXXZ
|
@ cdecl -arch=arm ??_F?$_SpinWait@$00@details@Concurrency@@QAAXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=i386 ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ
|
@ thiscall -arch=i386 ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=win64 ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ
|
@ cdecl -arch=win64 ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=arm ??_F?$_SpinWait@$0A@@details@Concurrency@@QAAXXZ
|
@ cdecl -arch=arm ??_F?$_SpinWait@$0A@@details@Concurrency@@QAAXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=i386 ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ
|
@ thiscall -arch=i386 ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=win64 ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ
|
@ cdecl -arch=win64 ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ(ptr) SpinWait_dtor
|
||||||
@ stub -arch=arm ??_F_Context@details@Concurrency@@QAAXXZ
|
@ stub -arch=arm ??_F_Context@details@Concurrency@@QAAXXZ
|
||||||
@ stub -arch=i386 ??_F_Context@details@Concurrency@@QAEXXZ
|
@ stub -arch=i386 ??_F_Context@details@Concurrency@@QAEXXZ
|
||||||
@ stub -arch=win64 ??_F_Context@details@Concurrency@@QEAAXXZ
|
@ stub -arch=win64 ??_F_Context@details@Concurrency@@QEAAXXZ
|
||||||
|
@ -524,12 +524,12 @@
|
||||||
@ stub -arch=arm ?_Destroy@_CancellationTokenState@details@Concurrency@@EAAXXZ
|
@ stub -arch=arm ?_Destroy@_CancellationTokenState@details@Concurrency@@EAAXXZ
|
||||||
@ stub -arch=i386 ?_Destroy@_CancellationTokenState@details@Concurrency@@EAEXXZ
|
@ stub -arch=i386 ?_Destroy@_CancellationTokenState@details@Concurrency@@EAEXXZ
|
||||||
@ stub -arch=win64 ?_Destroy@_CancellationTokenState@details@Concurrency@@EEAAXXZ
|
@ stub -arch=win64 ?_Destroy@_CancellationTokenState@details@Concurrency@@EEAAXXZ
|
||||||
@ stub -arch=arm ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAAXXZ
|
@ cdecl -arch=arm ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=i386 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=i386 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win64 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=arm ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAAXXZ
|
@ cdecl -arch=arm ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=i386 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=i386 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub -arch=win64 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) SpinWait__DoYield
|
||||||
@ stub ?_Get@_CurrentScheduler@details@Concurrency@@SA?AV_Scheduler@23@XZ
|
@ stub ?_Get@_CurrentScheduler@details@Concurrency@@SA?AV_Scheduler@23@XZ
|
||||||
@ stub -arch=win32 ?_GetConcRTTraceInfo@Concurrency@@YAPBU_CONCRT_TRACE_INFO@details@1@XZ
|
@ stub -arch=win32 ?_GetConcRTTraceInfo@Concurrency@@YAPBU_CONCRT_TRACE_INFO@details@1@XZ
|
||||||
@ stub -arch=win64 ?_GetConcRTTraceInfo@Concurrency@@YAPEBU_CONCRT_TRACE_INFO@details@1@XZ
|
@ stub -arch=win64 ?_GetConcRTTraceInfo@Concurrency@@YAPEBU_CONCRT_TRACE_INFO@details@1@XZ
|
||||||
|
@ -561,12 +561,12 @@
|
||||||
@ stub -arch=win64 ?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPEAV123@PEAV_CancellationTokenState@23@@Z
|
@ stub -arch=win64 ?_NewCollection@_AsyncTaskCollection@details@Concurrency@@SAPEAV123@PEAV_CancellationTokenState@23@@Z
|
||||||
@ stub -arch=win32 ?_NewTokenState@_CancellationTokenState@details@Concurrency@@SAPAV123@XZ
|
@ stub -arch=win32 ?_NewTokenState@_CancellationTokenState@details@Concurrency@@SAPAV123@XZ
|
||||||
@ stub -arch=win64 ?_NewTokenState@_CancellationTokenState@details@Concurrency@@SAPEAV123@XZ
|
@ stub -arch=win64 ?_NewTokenState@_CancellationTokenState@details@Concurrency@@SAPEAV123@XZ
|
||||||
@ stub -arch=arm ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAAKXZ
|
@ cdecl -arch=arm ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=i386 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ
|
@ thiscall -arch=i386 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win64 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ
|
@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=arm ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAAKXZ
|
@ cdecl -arch=arm ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=i386 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ
|
@ thiscall -arch=i386 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub -arch=win64 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ
|
@ cdecl -arch=win64 ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ(ptr) SpinWait__NumberOfSpins
|
||||||
@ stub ?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z
|
@ stub ?_Oversubscribe@_Context@details@Concurrency@@SAX_N@Z
|
||||||
@ stub -arch=arm ?_Reference@_Scheduler@details@Concurrency@@QAAIXZ
|
@ stub -arch=arm ?_Reference@_Scheduler@details@Concurrency@@QAAIXZ
|
||||||
@ stub -arch=i386 ?_Reference@_Scheduler@details@Concurrency@@QAEIXZ
|
@ stub -arch=i386 ?_Reference@_Scheduler@details@Concurrency@@QAEIXZ
|
||||||
|
@ -602,12 +602,12 @@
|
||||||
@ stub -arch=i386 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
|
@ stub -arch=i386 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QAEXXZ
|
||||||
@ stub -arch=win64 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
@ stub -arch=win64 ?_ReleaseWrite@_ReaderWriterLock@details@Concurrency@@QEAAXXZ
|
||||||
@ stub ?_ReportUnobservedException@details@Concurrency@@YAXXZ
|
@ stub ?_ReportUnobservedException@details@Concurrency@@YAXXZ
|
||||||
@ stub -arch=arm ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAAXXZ
|
@ cdecl -arch=arm ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=i386 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=i386 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win64 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=arm ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAAXXZ
|
@ cdecl -arch=arm ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=i386 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ
|
@ thiscall -arch=i386 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=win64 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ
|
@ cdecl -arch=win64 ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ(ptr) SpinWait__Reset
|
||||||
@ stub -arch=arm ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAA?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
@ stub -arch=arm ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAA?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=i386 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
@ stub -arch=i386 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QAG?AW4_TaskCollectionStatus@23@PAV_UnrealizedChore@23@@Z
|
||||||
@ stub -arch=win64 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
|
@ stub -arch=win64 ?_RunAndWait@_StructuredTaskCollection@details@Concurrency@@QEAA?AW4_TaskCollectionStatus@23@PEAV_UnrealizedChore@23@@Z
|
||||||
|
@ -628,25 +628,25 @@
|
||||||
@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
|
@ stub -arch=win64 ?_Schedule@_TaskCollection@details@Concurrency@@QEAAXPEAV_UnrealizedChore@23@PEAVlocation@3@@Z
|
||||||
@ stub -arch=win32 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPAX@Z0@Z
|
@ stub -arch=win32 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPAX@Z0@Z
|
||||||
@ stub -arch=win64 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPEAX@Z0@Z
|
@ stub -arch=win64 ?_ScheduleTask@_CurrentScheduler@details@Concurrency@@SAXP6AXPEAX@Z0@Z
|
||||||
@ stub -arch=arm ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAAXI@Z
|
@ cdecl -arch=arm ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=i386 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z
|
@ thiscall -arch=i386 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win64 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z
|
@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=arm ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAAXI@Z
|
@ cdecl -arch=arm ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=i386 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z
|
@ thiscall -arch=i386 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub -arch=win64 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z
|
@ cdecl -arch=win64 ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z(ptr long) SpinWait__SetSpinCount
|
||||||
@ stub ?_SetUnobservedExceptionHandler@details@Concurrency@@YAXP6AXXZ@Z
|
@ stub ?_SetUnobservedExceptionHandler@details@Concurrency@@YAXP6AXXZ@Z
|
||||||
@ stub -arch=arm ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAA_NXZ
|
@ cdecl -arch=arm ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ
|
@ thiscall -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ
|
@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=arm ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAA_NXZ
|
@ cdecl -arch=arm ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ
|
@ thiscall -arch=i386 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ
|
@ cdecl -arch=win64 ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ(ptr) SpinWait__ShouldSpinAgain
|
||||||
@ stub -arch=arm ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAA_NXZ
|
@ cdecl -arch=arm ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=i386 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ
|
@ thiscall -arch=i386 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=win64 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ
|
@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=arm ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAA_NXZ
|
@ cdecl -arch=arm ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=i386 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ
|
@ thiscall -arch=i386 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub -arch=win64 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ
|
@ cdecl -arch=win64 ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ(ptr) SpinWait__SpinOnce
|
||||||
@ stub ?_SpinYield@Context@Concurrency@@SAXXZ
|
@ stub ?_SpinYield@Context@Concurrency@@SAXXZ
|
||||||
@ stub -arch=arm ?_Start@_Timer@details@Concurrency@@IAAXXZ
|
@ stub -arch=arm ?_Start@_Timer@details@Concurrency@@IAAXXZ
|
||||||
@ stub -arch=i386 ?_Start@_Timer@details@Concurrency@@IAEXXZ
|
@ stub -arch=i386 ?_Start@_Timer@details@Concurrency@@IAEXXZ
|
||||||
|
@ -684,7 +684,7 @@
|
||||||
@ stub -arch=win64 ?_ValidateRead@@YAHPEBXI@Z
|
@ stub -arch=win64 ?_ValidateRead@@YAHPEBXI@Z
|
||||||
@ stub -arch=win32 ?_ValidateWrite@@YAHPAXI@Z
|
@ stub -arch=win32 ?_ValidateWrite@@YAHPAXI@Z
|
||||||
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI@Z
|
@ stub -arch=win64 ?_ValidateWrite@@YAHPEAXI@Z
|
||||||
@ stub ?_Value@_SpinCount@details@Concurrency@@SAIXZ
|
@ cdecl ?_Value@_SpinCount@details@Concurrency@@SAIXZ() SpinCount__Value
|
||||||
@ stub ?_Yield@_Context@details@Concurrency@@SAXXZ
|
@ stub ?_Yield@_Context@details@Concurrency@@SAXXZ
|
||||||
@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z
|
@ stub -arch=win32 ?__ExceptionPtrAssign@@YAXPAXPBX@Z
|
||||||
@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
|
@ stub -arch=win64 ?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
|
||||||
|
|
|
@ -16,12 +16,19 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
#include "wine/port.h"
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
|
#include "winternl.h"
|
||||||
|
#include "msvcrt.h"
|
||||||
|
#include "cppexcept.h"
|
||||||
#include "mtdll.h"
|
#include "mtdll.h"
|
||||||
|
#include "cxx.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
|
WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
|
||||||
|
|
||||||
|
@ -137,3 +144,168 @@ void CDECL _unlock( int locknum )
|
||||||
|
|
||||||
LeaveCriticalSection( &(lock_table[ locknum ].crit) );
|
LeaveCriticalSection( &(lock_table[ locknum ].crit) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if _MSVCR_VER >= 100
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
SPINWAIT_INIT,
|
||||||
|
SPINWAIT_SPIN,
|
||||||
|
SPINWAIT_YIELD,
|
||||||
|
SPINWAIT_DONE
|
||||||
|
} SpinWait_state;
|
||||||
|
|
||||||
|
typedef void (__cdecl *yield_func)(void);
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
ULONG spin;
|
||||||
|
ULONG unknown;
|
||||||
|
SpinWait_state state;
|
||||||
|
yield_func yield_func;
|
||||||
|
} SpinWait;
|
||||||
|
|
||||||
|
/* ?_Value@_SpinCount@details@Concurrency@@SAIXZ */
|
||||||
|
unsigned int __cdecl SpinCount__Value(void)
|
||||||
|
{
|
||||||
|
static unsigned int val = -1;
|
||||||
|
|
||||||
|
TRACE("()\n");
|
||||||
|
|
||||||
|
if(val == -1) {
|
||||||
|
SYSTEM_INFO si;
|
||||||
|
|
||||||
|
GetSystemInfo(&si);
|
||||||
|
val = si.dwNumberOfProcessors>1 ? 4000 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ??0?$_SpinWait@$00@details@Concurrency@@QAE@P6AXXZ@Z */
|
||||||
|
/* ??0?$_SpinWait@$00@details@Concurrency@@QEAA@P6AXXZ@Z */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait_ctor_yield, 8)
|
||||||
|
SpinWait* __thiscall SpinWait_ctor_yield(SpinWait *this, yield_func yf)
|
||||||
|
{
|
||||||
|
TRACE("(%p %p)\n", this, yf);
|
||||||
|
|
||||||
|
this->state = SPINWAIT_INIT;
|
||||||
|
this->unknown = 1;
|
||||||
|
this->yield_func = yf;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ??0?$_SpinWait@$0A@@details@Concurrency@@QAE@P6AXXZ@Z */
|
||||||
|
/* ??0?$_SpinWait@$0A@@details@Concurrency@@QEAA@P6AXXZ@Z */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait_ctor, 8)
|
||||||
|
SpinWait* __thiscall SpinWait_ctor(SpinWait *this, yield_func yf)
|
||||||
|
{
|
||||||
|
TRACE("(%p %p)\n", this, yf);
|
||||||
|
|
||||||
|
this->state = SPINWAIT_INIT;
|
||||||
|
this->unknown = 0;
|
||||||
|
this->yield_func = yf;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ??_F?$_SpinWait@$00@details@Concurrency@@QAEXXZ */
|
||||||
|
/* ??_F?$_SpinWait@$00@details@Concurrency@@QEAAXXZ */
|
||||||
|
/* ??_F?$_SpinWait@$0A@@details@Concurrency@@QAEXXZ */
|
||||||
|
/* ??_F?$_SpinWait@$0A@@details@Concurrency@@QEAAXXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait_dtor, 4)
|
||||||
|
void __thiscall SpinWait_dtor(SpinWait *this)
|
||||||
|
{
|
||||||
|
TRACE("(%p)\n", this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IAEXXZ */
|
||||||
|
/* ?_DoYield@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ */
|
||||||
|
/* ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ */
|
||||||
|
/* ?_DoYield@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__DoYield, 4)
|
||||||
|
void __thiscall SpinWait__DoYield(SpinWait *this)
|
||||||
|
{
|
||||||
|
TRACE("(%p)\n", this);
|
||||||
|
|
||||||
|
if(this->unknown)
|
||||||
|
this->yield_func();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IAEKXZ */
|
||||||
|
/* ?_NumberOfSpins@?$_SpinWait@$00@details@Concurrency@@IEAAKXZ */
|
||||||
|
/* ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IAEKXZ */
|
||||||
|
/* ?_NumberOfSpins@?$_SpinWait@$0A@@details@Concurrency@@IEAAKXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__NumberOfSpins, 4)
|
||||||
|
ULONG __thiscall SpinWait__NumberOfSpins(SpinWait *this)
|
||||||
|
{
|
||||||
|
TRACE("(%p)\n", this);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QAEXI@Z */
|
||||||
|
/* ?_SetSpinCount@?$_SpinWait@$00@details@Concurrency@@QEAAXI@Z */
|
||||||
|
/* ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QAEXI@Z */
|
||||||
|
/* ?_SetSpinCount@?$_SpinWait@$0A@@details@Concurrency@@QEAAXI@Z */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__SetSpinCount, 8)
|
||||||
|
void __thiscall SpinWait__SetSpinCount(SpinWait *this, unsigned int spin)
|
||||||
|
{
|
||||||
|
TRACE("(%p %d)\n", this, spin);
|
||||||
|
|
||||||
|
this->spin = spin;
|
||||||
|
this->state = spin ? SPINWAIT_SPIN : SPINWAIT_YIELD;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_Reset@?$_SpinWait@$00@details@Concurrency@@IAEXXZ */
|
||||||
|
/* ?_Reset@?$_SpinWait@$00@details@Concurrency@@IEAAXXZ */
|
||||||
|
/* ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IAEXXZ */
|
||||||
|
/* ?_Reset@?$_SpinWait@$0A@@details@Concurrency@@IEAAXXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__Reset, 4)
|
||||||
|
void __thiscall SpinWait__Reset(SpinWait *this)
|
||||||
|
{
|
||||||
|
SpinWait__SetSpinCount(this, SpinCount__Value());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IAE_NXZ */
|
||||||
|
/* ?_ShouldSpinAgain@?$_SpinWait@$00@details@Concurrency@@IEAA_NXZ */
|
||||||
|
/* ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IAE_NXZ */
|
||||||
|
/* ?_ShouldSpinAgain@?$_SpinWait@$0A@@details@Concurrency@@IEAA_NXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__ShouldSpinAgain, 4)
|
||||||
|
MSVCRT_bool __thiscall SpinWait__ShouldSpinAgain(SpinWait *this)
|
||||||
|
{
|
||||||
|
TRACE("(%p)\n", this);
|
||||||
|
|
||||||
|
this->spin--;
|
||||||
|
return this->spin > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QAE_NXZ */
|
||||||
|
/* ?_SpinOnce@?$_SpinWait@$00@details@Concurrency@@QEAA_NXZ */
|
||||||
|
/* ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QAE_NXZ */
|
||||||
|
/* ?_SpinOnce@?$_SpinWait@$0A@@details@Concurrency@@QEAA_NXZ */
|
||||||
|
DEFINE_THISCALL_WRAPPER(SpinWait__SpinOnce, 4)
|
||||||
|
MSVCRT_bool __thiscall SpinWait__SpinOnce(SpinWait *this)
|
||||||
|
{
|
||||||
|
switch(this->state) {
|
||||||
|
case SPINWAIT_INIT:
|
||||||
|
SpinWait__Reset(this);
|
||||||
|
/* fall through */
|
||||||
|
case SPINWAIT_SPIN:
|
||||||
|
#ifdef __i386__
|
||||||
|
__asm__ __volatile__( "rep;nop" : : : "memory" );
|
||||||
|
#else
|
||||||
|
__asm__ __volatile__( "" : : : "memory" );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
this->spin--;
|
||||||
|
if(!this->spin)
|
||||||
|
this->state = this->unknown ? SPINWAIT_YIELD : SPINWAIT_DONE;
|
||||||
|
return TRUE;
|
||||||
|
case SPINWAIT_YIELD:
|
||||||
|
this->state = SPINWAIT_DONE;
|
||||||
|
this->yield_func();
|
||||||
|
return TRUE;
|
||||||
|
default:
|
||||||
|
SpinWait__Reset(this);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
#define MSVCRT__MAX_FNAME 256
|
#define MSVCRT__MAX_FNAME 256
|
||||||
#define MSVCRT__MAX_EXT 256
|
#define MSVCRT__MAX_EXT 256
|
||||||
|
|
||||||
|
typedef unsigned char MSVCRT_bool;
|
||||||
typedef unsigned short MSVCRT_wchar_t;
|
typedef unsigned short MSVCRT_wchar_t;
|
||||||
typedef unsigned short MSVCRT_wint_t;
|
typedef unsigned short MSVCRT_wint_t;
|
||||||
typedef unsigned short MSVCRT_wctype_t;
|
typedef unsigned short MSVCRT_wctype_t;
|
||||||
|
|
Loading…
Reference in New Issue