; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727.762 TITLE d:\mdauphin\Test\CPP\Perf\main.cpp .686P .XMM include listing.inc .model flat INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES PUBLIC ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ ; `string' PUBLIC ?tab@@3PAHA ; tab PUBLIC ?collate@?$_Locbase@H@std@@2HB ; std::_Locbase::collate PUBLIC ?ctype@?$_Locbase@H@std@@2HB ; std::_Locbase::ctype PUBLIC ?monetary@?$_Locbase@H@std@@2HB ; std::_Locbase::monetary PUBLIC ?numeric@?$_Locbase@H@std@@2HB ; std::_Locbase::numeric PUBLIC ?time@?$_Locbase@H@std@@2HB ; std::_Locbase::time PUBLIC ?messages@?$_Locbase@H@std@@2HB ; std::_Locbase::messages PUBLIC ?all@?$_Locbase@H@std@@2HB ; std::_Locbase::all PUBLIC ?none@?$_Locbase@H@std@@2HB ; std::_Locbase::none PUBLIC ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::skipws PUBLIC ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::unitbuf PUBLIC ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::uppercase PUBLIC ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showbase PUBLIC ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showpoint PUBLIC ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::showpos PUBLIC ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::left PUBLIC ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::right PUBLIC ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::internal PUBLIC ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::dec PUBLIC ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::oct PUBLIC ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::hex PUBLIC ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::scientific PUBLIC ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::fixed PUBLIC ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::boolalpha PUBLIC ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::_Stdio PUBLIC ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::adjustfield PUBLIC ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::basefield PUBLIC ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B ; std::_Iosb::floatfield PUBLIC ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::goodbit PUBLIC ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::eofbit PUBLIC ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::failbit PUBLIC ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::badbit PUBLIC ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B ; std::_Iosb::_Hardfail PUBLIC ?in@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::in PUBLIC ?out@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::out PUBLIC ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::ate PUBLIC ?app@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::app PUBLIC ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::trunc PUBLIC ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::_Nocreate PUBLIC ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::_Noreplace PUBLIC ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B ; std::_Iosb::binary PUBLIC ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::beg PUBLIC ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::cur PUBLIC ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B ; std::_Iosb::end _BSS SEGMENT ?tab@@3PAHA DD 064H DUP (?) ; tab _BSS ENDS ; COMDAT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?end@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 02H ; std::_Iosb::end CONST ENDS ; COMDAT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?cur@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 01H ; std::_Iosb::cur CONST ENDS ; COMDAT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B CONST SEGMENT ?beg@?$_Iosb@H@std@@2W4_Seekdir@12@B DD 00H ; std::_Iosb::beg CONST ENDS ; COMDAT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?binary@?$_Iosb@H@std@@2W4_Openmode@12@B DD 020H ; std::_Iosb::binary CONST ENDS ; COMDAT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?_Noreplace@?$_Iosb@H@std@@2W4_Openmode@12@B DD 080H ; std::_Iosb::_Noreplace CONST ENDS ; COMDAT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?_Nocreate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 040H ; std::_Iosb::_Nocreate CONST ENDS ; COMDAT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?trunc@?$_Iosb@H@std@@2W4_Openmode@12@B DD 010H ; std::_Iosb::trunc CONST ENDS ; COMDAT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?app@?$_Iosb@H@std@@2W4_Openmode@12@B DD 08H ; std::_Iosb::app CONST ENDS ; COMDAT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?ate@?$_Iosb@H@std@@2W4_Openmode@12@B DD 04H ; std::_Iosb::ate CONST ENDS ; COMDAT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?out@?$_Iosb@H@std@@2W4_Openmode@12@B DD 02H ; std::_Iosb::out CONST ENDS ; COMDAT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B CONST SEGMENT ?in@?$_Iosb@H@std@@2W4_Openmode@12@B DD 01H ; std::_Iosb::in CONST ENDS ; COMDAT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?_Hardfail@?$_Iosb@H@std@@2W4_Iostate@12@B DD 010H ; std::_Iosb::_Hardfail CONST ENDS ; COMDAT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?badbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 04H ; std::_Iosb::badbit CONST ENDS ; COMDAT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?failbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 02H ; std::_Iosb::failbit CONST ENDS ; COMDAT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?eofbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 01H ; std::_Iosb::eofbit CONST ENDS ; COMDAT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B CONST SEGMENT ?goodbit@?$_Iosb@H@std@@2W4_Iostate@12@B DD 00H ; std::_Iosb::goodbit CONST ENDS ; COMDAT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?floatfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 03000H ; std::_Iosb::floatfield CONST ENDS ; COMDAT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?basefield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0e00H ; std::_Iosb::basefield CONST ENDS ; COMDAT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?adjustfield@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01c0H ; std::_Iosb::adjustfield CONST ENDS ; COMDAT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?_Stdio@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08000H ; std::_Iosb::_Stdio CONST ENDS ; COMDAT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?boolalpha@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04000H ; std::_Iosb::boolalpha CONST ENDS ; COMDAT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?fixed@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02000H ; std::_Iosb::fixed CONST ENDS ; COMDAT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?scientific@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01000H ; std::_Iosb::scientific CONST ENDS ; COMDAT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?hex@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0800H ; std::_Iosb::hex CONST ENDS ; COMDAT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?oct@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0400H ; std::_Iosb::oct CONST ENDS ; COMDAT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?dec@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0200H ; std::_Iosb::dec CONST ENDS ; COMDAT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?internal@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 0100H ; std::_Iosb::internal CONST ENDS ; COMDAT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?right@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 080H ; std::_Iosb::right CONST ENDS ; COMDAT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?left@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 040H ; std::_Iosb::left CONST ENDS ; COMDAT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showpos@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 020H ; std::_Iosb::showpos CONST ENDS ; COMDAT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showpoint@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 010H ; std::_Iosb::showpoint CONST ENDS ; COMDAT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?showbase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 08H ; std::_Iosb::showbase CONST ENDS ; COMDAT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?uppercase@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 04H ; std::_Iosb::uppercase CONST ENDS ; COMDAT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?unitbuf@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 02H ; std::_Iosb::unitbuf CONST ENDS ; COMDAT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B CONST SEGMENT ?skipws@?$_Iosb@H@std@@2W4_Fmtflags@12@B DD 01H ; std::_Iosb::skipws CONST ENDS ; COMDAT ?none@?$_Locbase@H@std@@2HB CONST SEGMENT ?none@?$_Locbase@H@std@@2HB DD 00H ; std::_Locbase::none CONST ENDS ; COMDAT ?all@?$_Locbase@H@std@@2HB CONST SEGMENT ?all@?$_Locbase@H@std@@2HB DD 03fH ; std::_Locbase::all CONST ENDS ; COMDAT ?messages@?$_Locbase@H@std@@2HB CONST SEGMENT ?messages@?$_Locbase@H@std@@2HB DD 020H ; std::_Locbase::messages CONST ENDS ; COMDAT ?time@?$_Locbase@H@std@@2HB CONST SEGMENT ?time@?$_Locbase@H@std@@2HB DD 010H ; std::_Locbase::time CONST ENDS ; COMDAT ?numeric@?$_Locbase@H@std@@2HB CONST SEGMENT ?numeric@?$_Locbase@H@std@@2HB DD 08H ; std::_Locbase::numeric CONST ENDS ; COMDAT ?monetary@?$_Locbase@H@std@@2HB CONST SEGMENT ?monetary@?$_Locbase@H@std@@2HB DD 04H ; std::_Locbase::monetary CONST ENDS ; COMDAT ?ctype@?$_Locbase@H@std@@2HB CONST SEGMENT ?ctype@?$_Locbase@H@std@@2HB DD 02H ; std::_Locbase::ctype CONST ENDS ; COMDAT ?collate@?$_Locbase@H@std@@2HB CONST SEGMENT ?collate@?$_Locbase@H@std@@2HB DD 01H ; std::_Locbase::collate CONST ENDS _DATA SEGMENT __bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ _DATA ENDS ; COMDAT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ CONST SEGMENT ??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string' CONST ENDS PUBLIC ?func1@@YAXXZ ; func1 EXTRN __RTC_Shutdown:PROC EXTRN __RTC_InitBase:PROC ; COMDAT rtc$TMZ ; File d:\mdauphin\test\cpp\perf\main.cpp rtc$TMZ SEGMENT __RTC_Shutdown.rtc$TMZ DD FLAT:__RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT __RTC_InitBase.rtc$IMZ DD FLAT:__RTC_InitBase ; Function compile flags: /Odtp /RTCsu /ZI rtc$IMZ ENDS ; COMDAT ?func1@@YAXXZ _TEXT SEGMENT _b$74044 = -20 ; size = 4 _i$74040 = -8 ; size = 4 ?func1@@YAXXZ PROC ; func1, COMDAT ; 8 : { push ebp mov ebp, esp sub esp, 216 ; 000000d8H push ebx push esi push edi lea edi, DWORD PTR [ebp-216] mov ecx, 54 ; 00000036H mov eax, -858993460 ; ccccccccH rep stosd ; 9 : for (int i=0; i