blob: 6edb338d0cf1db62e8a6b6d282de1ccad8a306b3 [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": "_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": "; COMDAT pdata"
},
{
"source": null,
"text": "; COMDAT xdata"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?value@safetls@@QEAAHXZ"
},
{
"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": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?func@@YAHXZ"
},
{
"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": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ?func2@@YAHXZ"
},
{
"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": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"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"
}
]
}