| { |
| "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" |
| } |
| ] |
| } |