308 lines
8.2 KiB
Plaintext
308 lines
8.2 KiB
Plaintext
; 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
|