Improve EAT_STREAM_PARAMETERS for Windows x86
Dumps of check_example.exe
Current:
?DoBlinkReleaseAssert@@YAX_N@Z:
00404EDC: 55 push ebp
00404EDD: 8B EC mov ebp,esp
00404EDF: 80 7D 08 00 cmp byte ptr [ebp+8],0
00404EE3: 75 07 jne 00404EEC
00404EE5: C6 05 00 00 00 00 mov byte ptr ds:[0],0
00
00404EEC: 5D pop ebp
00404EED: C3 ret
?DoCheck@@YAX_N@Z:
00404EEE: 55 push ebp
00404EEF: 8B EC mov ebp,esp
00404EF1: 51 push ecx
00404EF2: 83 65 FC 00 and dword ptr [ebp-4],0
00404EF6: 80 7D 08 00 cmp byte ptr [ebp+8],0
00404EFA: 75 07 jne 00404F03
00404EFC: C6 05 00 00 00 00 mov byte ptr ds:[0],0
00
00404F03: 8B E5 mov esp,ebp
00404F05: 5D pop ebp
00404F06: C3 ret
_main:
00404F07: 55 push ebp
00404F08: 8B EC mov ebp,esp
00404F0A: 83 7D 08 02 cmp dword ptr [ebp+8],2
00404F0E: 53 push ebx
00404F0F: 0F 9F C3 setg bl
00404F12: 53 push ebx
00404F13: E8 D6 FF FF FF call ?DoCheck@@YAX_N@Z
00404F18: 53 push ebx
00404F19: E8 BE FF FF FF call ?DoBlinkReleaseAssert@@YAX_N@Z
00404F1E: 59 pop ecx
00404F1F: 59 pop ecx
00404F20: 33 C0 xor eax,eax
00404F22: 5B pop ebx
00404F23: 5D pop ebp
00404F24: C3 ret
After this CL:
?DoBlinkReleaseAssert@@YAX_N@Z:
00404EAC: 55 push ebp
00404EAD: 8B EC mov ebp,esp
00404EAF: 80 7D 08 00 cmp byte ptr [ebp+8],0
00404EB3: 75 07 jne 00404EBC
00404EB5: C6 05 00 00 00 00 mov byte ptr ds:[0],0
00
00404EBC: 5D pop ebp
00404EBD: C3 ret
_main:
00404EBE: 55 push ebp
00404EBF: 8B EC mov ebp,esp
00404EC1: 83 7D 08 02 cmp dword ptr [ebp+8],2
00404EC5: 53 push ebx
00404EC6: 0F 9F C3 setg bl
00404EC9: 53 push ebx
00404ECA: E8 DD FF FF FF call ?DoBlinkReleaseAssert@@YAX_N@Z
00404ECF: 53 push ebx
00404ED0: E8 D7 FF FF FF call ?DoBlinkReleaseAssert@@YAX_N@Z
00404ED5: 59 pop ecx
00404ED6: 59 pop ecx
00404ED7: 33 C0 xor eax,eax
00404ED9: 5B pop ebx
00404EDA: 5D pop ebp
00404EDB: C3 ret
Amusingly, I was confused because I thought I was going crazy when
DoCheck wasn't showing up in the /disasm. But of course, it's because it
got COMDAT'd with the Blink one, as we want. :)
R=primiano@chromium.org
BUG=672699
Review-Url: https://codereview.chromium.org/2559323007
Review-Url: https://codereview.chromium.org/2559323007
Cr-Commit-Position: refs/heads/master@{#437777}
CrOS-Libchrome-Original-Commit: 3c957a583f692a71024bddbcf50b39a69af89d6e
3 files changed