blob: f5a728d558996ca2d4e4e77bdc63849bc42fe523 [file] [log] [blame] [raw]
{
"asm": [
{
"source": null,
"text": "; Listing generated by Microsoft (R) Optimizing Compiler Version 19.14.26433.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 main"
},
{
"source": null,
"text": "PUBLIC ??A?$array@H$0L@@std@@QEBAAEBH_K@Z ; std::array<int,11>::operator[]"
},
{
"source": null,
"text": "EXTRN __GSHandlerCheck:PROC"
},
{
"source": null,
"text": "EXTRN __security_check_cookie:PROC"
},
{
"source": null,
"text": "EXTRN __security_cookie:QWORD"
},
{
"source": null,
"text": "pdata SEGMENT"
},
{
"source": null,
"text": "$pdata$main DD imagerel $LN3"
},
{
"source": null,
"text": " DD imagerel $LN3+142"
},
{
"source": null,
"text": " DD imagerel $unwind$main"
},
{
"source": null,
"text": "pdata ENDS"
},
{
"source": null,
"text": "xdata SEGMENT"
},
{
"source": null,
"text": "$unwind$main DD 011319H"
},
{
"source": null,
"text": " DD 0c204H"
},
{
"source": null,
"text": " DD imagerel __GSHandlerCheck"
},
{
"source": null,
"text": " DD 050H"
},
{
"source": null,
"text": "xdata ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "a$ = 32"
},
{
"source": null,
"text": "__$ArrayPad$ = 80"
},
{
"source": null,
"text": "main PROC"
},
{
"source": null,
"text": "; File c:\\source\\compiler-explorer\\test\\cases\\vc-main-opt-out-example.cpp"
},
{
"source": null,
"text": "; Line 10"
},
{
"source": null,
"text": "$LN3:"
},
{
"source": {
"file": null,
"line": 10
},
"text": " sub rsp, 104 ; 00000068H"
},
{
"source": {
"file": null,
"line": 10
},
"text": " mov rax, QWORD PTR __security_cookie"
},
{
"source": {
"file": null,
"line": 10
},
"text": " xor rax, rsp"
},
{
"source": {
"file": null,
"line": 10
},
"text": " mov QWORD PTR __$ArrayPad$[rsp], rax"
},
{
"source": null,
"text": "; Line 11"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp], 1"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+4], 3"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+8], 4"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+12], 2"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+16], 3"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+20], 5"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+24], 6"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+28], 4"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+32], 8"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+36], 9"
},
{
"source": {
"file": null,
"line": 11
},
"text": " mov DWORD PTR a$[rsp+40], 2"
},
{
"source": null,
"text": "; Line 13"
},
{
"source": {
"file": null,
"line": 13
},
"text": " mov edx, 2"
},
{
"source": {
"file": null,
"line": 13
},
"text": " lea rcx, QWORD PTR a$[rsp]"
},
{
"source": {
"file": null,
"line": 13
},
"text": " call ??A?$array@H$0L@@std@@QEBAAEBH_K@Z ; std::array<int,11>::operator[]"
},
{
"source": {
"file": null,
"line": 13
},
"text": " mov eax, DWORD PTR [rax]"
},
{
"source": null,
"text": "; Line 14"
},
{
"source": {
"file": null,
"line": 14
},
"text": " mov rcx, QWORD PTR __$ArrayPad$[rsp]"
},
{
"source": {
"file": null,
"line": 14
},
"text": " xor rcx, rsp"
},
{
"source": {
"file": null,
"line": 14
},
"text": " call __security_check_cookie"
},
{
"source": {
"file": null,
"line": 14
},
"text": " add rsp, 104 ; 00000068H"
},
{
"source": {
"file": null,
"line": 14
},
"text": " ret 0"
},
{
"source": null,
"text": "main ENDP"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": ""
},
{
"source": null,
"text": "; Function compile flags: /Odtp"
},
{
"source": null,
"text": "; COMDAT ??A?$array@H$0L@@std@@QEBAAEBH_K@Z"
},
{
"source": null,
"text": "_TEXT SEGMENT"
},
{
"source": null,
"text": "this$ = 8"
},
{
"source": null,
"text": "_Pos$ = 16"
},
{
"source": null,
"text": "??A?$array@H$0L@@std@@QEBAAEBH_K@Z PROC ; std::array<int,11>::operator[], COMDAT"
},
{
"source": null,
"text": "; File std\\array"
},
{
"source": null,
"text": "; Line 187"
},
{
"source": {
"file": "std\\array",
"line": 187
},
"text": " mov QWORD PTR [rsp+16], rdx"
},
{
"source": {
"file": "std\\array",
"line": 187
},
"text": " mov QWORD PTR [rsp+8], rcx"
},
{
"source": null,
"text": "; Line 197"
},
{
"source": {
"file": "std\\array",
"line": 197
},
"text": " mov rax, QWORD PTR this$[rsp]"
},
{
"source": {
"file": "std\\array",
"line": 197
},
"text": " mov rcx, QWORD PTR _Pos$[rsp]"
},
{
"source": {
"file": "std\\array",
"line": 197
},
"text": " lea rax, QWORD PTR [rax+rcx*4]"
},
{
"source": null,
"text": "; Line 198"
},
{
"source": {
"file": "std\\array",
"line": 198
},
"text": " ret 0"
},
{
"source": null,
"text": "??A?$array@H$0L@@std@@QEBAAEBH_K@Z ENDP ; std::array<int,11>::operator[]"
},
{
"source": null,
"text": "_TEXT ENDS"
},
{
"source": null,
"text": "END"
}
]
}