; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB OLDNAMES PUBLIC ??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ ; `string' EXTRN __imp_TlsFree:PROC EXTRN __imp_TlsGetValue:PROC EXTRN __imp_DeleteCriticalSection:PROC EXTRN __imp_TlsAlloc:PROC EXTRN __imp_InitializeCriticalSection:PROC EXTRN __imp_LeaveCriticalSection:PROC EXTRN __imp_EnterCriticalSection:PROC EXTRN __imp_TlsSetValue:PROC ; COMDAT ??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ CONST SEGMENT ??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ DB 'Win32: Fail' DB 'ed to allocate TLS index', 00H ; `string' PUBLIC _glfwPlatformDestroyMutex PUBLIC _glfwPlatformCreateTls PUBLIC _glfwPlatformLockMutex PUBLIC _glfwPlatformUnlockMutex PUBLIC _glfwPlatformDestroyTls PUBLIC _glfwPlatformCreateMutex PUBLIC _glfwPlatformSetTls PUBLIC _glfwPlatformGetTls ; COMDAT pdata pdata SEGMENT $pdata$_glfwPlatformDestroyMutex DD imagerel $LN6 DD imagerel $LN6+44 DD imagerel $unwind$_glfwPlatformDestroyMutex pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPlatformCreateTls DD imagerel $LN6 DD imagerel $LN6+65 DD imagerel $unwind$_glfwPlatformCreateTls pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPlatformDestroyTls DD imagerel $LN6 DD imagerel $LN6+34 DD imagerel $unwind$_glfwPlatformDestroyTls pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$_glfwPlatformCreateMutex DD imagerel $LN4 DD imagerel $LN4+36 DD imagerel $unwind$_glfwPlatformCreateMutex ; COMDAT xdata xdata SEGMENT $unwind$_glfwPlatformCreateMutex DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPlatformDestroyTls DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPlatformCreateTls DD 020601H DD 030023206H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$_glfwPlatformDestroyMutex DD 020601H DD 030023206H ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformGetTls _TEXT SEGMENT tls$ = 8 _glfwPlatformGetTls PROC ; COMDAT ; 65 : assert(tls->win32.allocated == GLFW_TRUE); ; 66 : return TlsGetValue(tls->win32.index); 00000 8b 49 04 mov ecx, DWORD PTR [rcx+4] 00003 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_TlsGetValue _glfwPlatformGetTls ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformSetTls _TEXT SEGMENT tls$ = 8 value$ = 16 _glfwPlatformSetTls PROC ; COMDAT ; 71 : assert(tls->win32.allocated == GLFW_TRUE); ; 72 : TlsSetValue(tls->win32.index, value); 00000 8b 49 04 mov ecx, DWORD PTR [rcx+4] 00003 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_TlsSetValue _glfwPlatformSetTls ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformCreateMutex _TEXT SEGMENT mutex$ = 48 _glfwPlatformCreateMutex PROC ; COMDAT ; 76 : { $LN4: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 77 : assert(mutex->win32.allocated == GLFW_FALSE); ; 78 : InitializeCriticalSection(&mutex->win32.section); 00009 48 83 c1 08 add rcx, 8 0000d ff 15 00 00 00 00 call QWORD PTR __imp_InitializeCriticalSection ; 79 : return mutex->win32.allocated = GLFW_TRUE; 00013 b8 01 00 00 00 mov eax, 1 00018 c7 03 01 00 00 00 mov DWORD PTR [rbx], 1 ; 80 : } 0001e 48 83 c4 20 add rsp, 32 ; 00000020H 00022 5b pop rbx 00023 c3 ret 0 _glfwPlatformCreateMutex ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformDestroyTls _TEXT SEGMENT tls$ = 48 _glfwPlatformDestroyTls PROC ; COMDAT ; 57 : { $LN6: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H ; 58 : if (tls->win32.allocated) 00006 83 39 00 cmp DWORD PTR [rcx], 0 00009 48 8b d9 mov rbx, rcx 0000c 74 09 je SHORT $LN2@glfwPlatfo ; 59 : TlsFree(tls->win32.index); 0000e 8b 49 04 mov ecx, DWORD PTR [rcx+4] 00011 ff 15 00 00 00 00 call QWORD PTR __imp_TlsFree $LN2@glfwPlatfo: ; 60 : memset(tls, 0, sizeof(_GLFWtls)); 00017 33 c0 xor eax, eax 00019 48 89 03 mov QWORD PTR [rbx], rax ; 61 : } 0001c 48 83 c4 20 add rsp, 32 ; 00000020H 00020 5b pop rbx 00021 c3 ret 0 _glfwPlatformDestroyTls ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformUnlockMutex _TEXT SEGMENT mutex$ = 8 _glfwPlatformUnlockMutex PROC ; COMDAT ; 97 : assert(mutex->win32.allocated == GLFW_TRUE); ; 98 : LeaveCriticalSection(&mutex->win32.section); 00000 48 83 c1 08 add rcx, 8 00004 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_LeaveCriticalSection _glfwPlatformUnlockMutex ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformLockMutex _TEXT SEGMENT mutex$ = 8 _glfwPlatformLockMutex PROC ; COMDAT ; 91 : assert(mutex->win32.allocated == GLFW_TRUE); ; 92 : EnterCriticalSection(&mutex->win32.section); 00000 48 83 c1 08 add rcx, 8 00004 48 ff 25 00 00 00 00 rex_jmp QWORD PTR __imp_EnterCriticalSection _glfwPlatformLockMutex ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformCreateTls _TEXT SEGMENT tls$ = 48 _glfwPlatformCreateTls PROC ; COMDAT ; 42 : { $LN6: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H 00006 48 8b d9 mov rbx, rcx ; 43 : assert(tls->win32.allocated == GLFW_FALSE); ; 44 : ; 45 : tls->win32.index = TlsAlloc(); 00009 ff 15 00 00 00 00 call QWORD PTR __imp_TlsAlloc 0000f 89 43 04 mov DWORD PTR [rbx+4], eax ; 46 : if (tls->win32.index == TLS_OUT_OF_INDEXES) 00012 83 f8 ff cmp eax, -1 ; ffffffffH 00015 75 19 jne SHORT $LN2@glfwPlatfo ; 47 : { ; 48 : _glfwInputError(GLFW_PLATFORM_ERROR, "Win32: Failed to allocate TLS index"); 00017 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0CE@MEIEKJIC@Win32?3?5Failed?5to?5allocate?5TLS?5i@ 0001e b9 08 00 01 00 mov ecx, 65544 ; 00010008H 00023 e8 00 00 00 00 call _glfwInputError ; 49 : return GLFW_FALSE; 00028 33 c0 xor eax, eax ; 54 : } 0002a 48 83 c4 20 add rsp, 32 ; 00000020H 0002e 5b pop rbx 0002f c3 ret 0 $LN2@glfwPlatfo: ; 50 : } ; 51 : ; 52 : tls->win32.allocated = GLFW_TRUE; 00030 c7 03 01 00 00 00 mov DWORD PTR [rbx], 1 ; 53 : return GLFW_TRUE; 00036 b8 01 00 00 00 mov eax, 1 ; 54 : } 0003b 48 83 c4 20 add rsp, 32 ; 00000020H 0003f 5b pop rbx 00040 c3 ret 0 _glfwPlatformCreateTls ENDP _TEXT ENDS ; Function compile flags: /Ogtpy ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\glfw\win32_thread.c ; COMDAT _glfwPlatformDestroyMutex _TEXT SEGMENT mutex$ = 48 _glfwPlatformDestroyMutex PROC ; COMDAT ; 83 : { $LN6: 00000 40 53 push rbx 00002 48 83 ec 20 sub rsp, 32 ; 00000020H ; 84 : if (mutex->win32.allocated) 00006 83 39 00 cmp DWORD PTR [rcx], 0 00009 48 8b d9 mov rbx, rcx 0000c 74 0a je SHORT $LN2@glfwPlatfo ; 85 : DeleteCriticalSection(&mutex->win32.section); 0000e 48 83 c1 08 add rcx, 8 00012 ff 15 00 00 00 00 call QWORD PTR __imp_DeleteCriticalSection $LN2@glfwPlatfo: ; 86 : memset(mutex, 0, sizeof(_GLFWmutex)); 00018 0f 57 c0 xorps xmm0, xmm0 0001b 0f 11 03 movups XMMWORD PTR [rbx], xmm0 0001e 0f 11 43 10 movups XMMWORD PTR [rbx+16], xmm0 00022 0f 11 43 20 movups XMMWORD PTR [rbx+32], xmm0 ; 87 : } 00026 48 83 c4 20 add rsp, 32 ; 00000020H 0002a 5b pop rbx 0002b c3 ret 0 _glfwPlatformDestroyMutex ENDP _TEXT ENDS END