blob: beb85f02364562803daa7876bb4d075271c9e69d [file] [log] [blame] [raw]
{
"asm": [
{
"source": null,
"text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.15.26729.0 "
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "include listing.inc"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "INCLUDELIB LIBCMT"
},
{
"source": null,
"text": "INCLUDELIB OLDNAMES"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "PUBLIC ?g@@3Usafetls@@A ; g"
},
{
"source": null,
"text": "PUBLIC ?h@@3HA ; h"
},
{
"source": null,
"text": "_TLS SEGMENT"
},
{
"source": null,
"text": "?h@@3HA DD 012345H ; h"
},
{
"source": null,
"text": " ORG $+4"
},
{
"source": null,
"text": "?g@@3Usafetls@@A DD 098765H ; g"
},
{
"source": null,
"text": " ORG $+8"
},
{
"source": null,
"text": "_TLS ENDS"
},
{
"source": null,
"text": "PUBLIC ?value@safetls@@QEAAHXZ ; safetls::value"
},
{
"source": null,
"text": "PUBLIC ?func@@YAHXZ ; func"
},
{
"source": null,
"text": "PUBLIC ?func2@@YAHXZ ; func2"
},
{
"source": null,
"text": "PUBLIC main"
},
{
"source": null,
"text": "EXTRN _tls_index:DWORD"
},
{
"source": null,
"text": "; COMDAT pdata"
},
{
"source": null,
"text": "pdata SEGMENT"
},
{
"source": null,
"text": "$pdata$?func@@YAHXZ DD imagerel $LN3"
},
{
"source": null,
"text": " DD imagerel $LN3+43"
},
{
"source": null,
"text": " DD imagerel $unwind$?func@@YAHXZ"
},
{
"source": null,
"text": "pdata ENDS"
},
{
"source": null,
"text": "pdata SEGMENT"
},
{
"source": null,
"text": "$pdata$main DD imagerel $LN3"
},
{
"source": null,
"text": " DD imagerel $LN3+31"
},
{
"source": null,
"text": " DD imagerel $unwind$main"
},
{
"source": null,
"text": "pdata ENDS"
},
{
"source": null,
"text": "xdata SEGMENT"
},
{
"source": null,
"text": "$unwind$main DD 010401H"
},
{
"source": null,
"text": " DD 06204H"
},
{
"source": null,
"text": "xdata ENDS"
},
{
"source": null,
"text": "; COMDAT xdata"
},
{
"source": null,
"text": "xdata SEGMENT"
},
{
"source": null,
"text": "$unwind$?func@@YAHXZ DD 010401H"
},
{
"source": null,
"text": " DD 04204H"
},
{
"source": null,
"text": "xdata ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?value@safetls@@QEAAHXZ"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "this$ = 8"
},
{
"source": null,
"text": "?value@safetls@@QEAAHXZ PROC ; safetls::value, COMDAT"
},
{
"source": null,
"text": "; File c:\\users\\quist\\appdata\\local\\temp\\compiler-explorer-compiler118927-25960-1r4bdyh.ql7u\\example.cpp"
},
{
"source": null,
"text": "; Line 9"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov QWORD PTR [rsp+8], rcx"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov rax, QWORD PTR this$[rsp]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov rcx, QWORD PTR this$[rsp]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov ecx, DWORD PTR [rcx+4]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov eax, DWORD PTR [rax]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " sub eax, ecx"
},
{
"source": {
"file": null,
"line": 9
},
"text": " mov rcx, QWORD PTR this$[rsp]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " add eax, DWORD PTR [rcx+8]"
},
{
"source": {
"file": null,
"line": 9
},
"text": " ret 0"
},
{
"source": null,
"text": "?value@safetls@@QEAAHXZ ENDP ; safetls::value"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?func@@YAHXZ"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "?func@@YAHXZ PROC ; func, COMDAT"
},
{
"source": null,
"text": "; File c:\\users\\quist\\appdata\\local\\temp\\compiler-explorer-compiler118927-25960-1r4bdyh.ql7u\\example.cpp"
},
{
"source": null,
"text": "; Line 16"
},
{
"source": null,
"text": "$LN3:"
},
{
"source": {
"file": null,
"line": 16
},
"text": " sub rsp, 40 ; 00000028H"
},
{
"source": null,
"text": "; Line 17"
},
{
"source": {
"file": null,
"line": 17
},
"text": " mov eax, OFFSET FLAT:?g@@3Usafetls@@A ; g"
},
{
"source": {
"file": null,
"line": 17
},
"text": " mov eax, eax"
},
{
"source": {
"file": null,
"line": 17
},
"text": " mov ecx, DWORD PTR _tls_index"
},
{
"source": {
"file": null,
"line": 17
},
"text": " mov rdx, QWORD PTR gs:88"
},
{
"source": {
"file": null,
"line": 17
},
"text": " add rax, QWORD PTR [rdx+rcx*8]"
},
{
"source": {
"file": null,
"line": 17
},
"text": " mov rcx, rax"
},
{
"source": {
"file": null,
"line": 17
},
"text": " call ?value@safetls@@QEAAHXZ ; safetls::value"
},
{
"source": null,
"text": "; Line 18"
},
{
"source": {
"file": null,
"line": 18
},
"text": " add rsp, 40 ; 00000028H"
},
{
"source": {
"file": null,
"line": 18
},
"text": " ret 0"
},
{
"source": null,
"text": "?func@@YAHXZ ENDP ; func"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?func2@@YAHXZ"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "?func2@@YAHXZ PROC ; func2, COMDAT"
},
{
"source": null,
"text": "; File c:\\users\\quist\\appdata\\local\\temp\\compiler-explorer-compiler118927-25960-1r4bdyh.ql7u\\example.cpp"
},
{
"source": null,
"text": "; Line 22"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov eax, OFFSET FLAT:?h@@3HA ; h"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov eax, eax"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov ecx, DWORD PTR _tls_index"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov rdx, QWORD PTR gs:88"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov rcx, QWORD PTR [rdx+rcx*8]"
},
{
"source": {
"file": null,
"line": 22
},
"text": " mov eax, DWORD PTR [rax+rcx]"
},
{
"source": null,
"text": "; Line 23"
},
{
"source": {
"file": null,
"line": 23
},
"text": " ret 0"
},
{
"source": null,
"text": "?func2@@YAHXZ ENDP ; func2"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "tv64 = 32"
},
{
"source": null,
"text": "main PROC"
},
{
"source": null,
"text": "; File c:\\users\\quist\\appdata\\local\\temp\\compiler-explorer-compiler118927-25960-1r4bdyh.ql7u\\example.cpp"
},
{
"source": null,
"text": "; Line 26"
},
{
"source": null,
"text": "$LN3:"
},
{
"source": {
"file": null,
"line": 26
},
"text": " sub rsp, 56 ; 00000038H"
},
{
"source": null,
"text": "; Line 27"
},
{
"source": {
"file": null,
"line": 27
},
"text": " call ?func@@YAHXZ ; func"
},
{
"source": {
"file": null,
"line": 27
},
"text": " mov DWORD PTR tv64[rsp], eax"
},
{
"source": {
"file": null,
"line": 27
},
"text": " call ?func2@@YAHXZ ; func2"
},
{
"source": {
"file": null,
"line": 27
},
"text": " mov ecx, DWORD PTR tv64[rsp]"
},
{
"source": {
"file": null,
"line": 27
},
"text": " add ecx, eax"
},
{
"source": {
"file": null,
"line": 27
},
"text": " mov eax, ecx"
},
{
"source": null,
"text": "; Line 28"
},
{
"source": {
"file": null,
"line": 28
},
"text": " add rsp, 56 ; 00000038H"
},
{
"source": {
"file": null,
"line": 28
},
"text": " ret 0"
},
{
"source": null,
"text": "main ENDP"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": "END"
}
]
}