Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 OPTION DOTNAME | 1 OPTION DOTNAME |
| 2 .text$ SEGMENT ALIGN(256) 'CODE' | 2 .text$ SEGMENT ALIGN(256) 'CODE' |
| 3 EXTERN OPENSSL_ia32cap_P:NEAR | 3 EXTERN OPENSSL_ia32cap_P:NEAR |
| 4 | 4 |
| 5 PUBLIC asm_RC4 | 5 PUBLIC asm_RC4 |
| 6 | 6 |
| 7 ALIGN 16 | 7 ALIGN 16 |
| 8 asm_RC4 PROC PUBLIC | 8 asm_RC4 PROC PUBLIC |
| 9 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue | 9 mov QWORD PTR[8+rsp],rdi ;WIN64 prologue |
| 10 mov QWORD PTR[16+rsp],rsi | 10 mov QWORD PTR[16+rsp],rsi |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 30 mov r12,rdx | 30 mov r12,rdx |
| 31 mov r13,rcx | 31 mov r13,rcx |
| 32 xor r10,r10 | 32 xor r10,r10 |
| 33 xor rcx,rcx | 33 xor rcx,rcx |
| 34 | 34 |
| 35 lea rdi,QWORD PTR[8+rdi] | 35 lea rdi,QWORD PTR[8+rdi] |
| 36 mov r10b,BYTE PTR[((-8))+rdi] | 36 mov r10b,BYTE PTR[((-8))+rdi] |
| 37 mov cl,BYTE PTR[((-4))+rdi] | 37 mov cl,BYTE PTR[((-4))+rdi] |
| 38 cmp DWORD PTR[256+rdi],-1 | 38 cmp DWORD PTR[256+rdi],-1 |
| 39 je $L$RC4_CHAR | 39 je $L$RC4_CHAR |
| 40 » lea» r8,QWORD PTR[OPENSSL_ia32cap_P] | 40 » mov» r8d,DWORD PTR[OPENSSL_ia32cap_P] |
|
agl
2014/10/01 19:35:10
This is obviously not a no-op change on Windows. I
davidben
2014/10/01 19:43:50
Hrm. I'm guessing this is a result the GOTPCREL ch
agl
2014/10/01 20:17:37
Yes, this is a result of the GOT change.
Actually
| |
| 41 » mov» r8d,DWORD PTR[r8] | |
| 42 xor rbx,rbx | 41 xor rbx,rbx |
| 43 inc r10b | 42 inc r10b |
| 44 sub rbx,r10 | 43 sub rbx,r10 |
| 45 sub r13,r12 | 44 sub r13,r12 |
| 46 mov eax,DWORD PTR[r10*4+rdi] | 45 mov eax,DWORD PTR[r10*4+rdi] |
| 47 test r11,-16 | 46 test r11,-16 |
| 48 jz $L$loop1 | 47 jz $L$loop1 |
| 49 bt r8d,30 | 48 bt r8d,30 |
| 50 jc $L$intel | 49 jc $L$intel |
| 51 and rbx,7 | 50 and rbx,7 |
| (...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 550 | 549 |
| 551 lea rdi,QWORD PTR[8+rdi] | 550 lea rdi,QWORD PTR[8+rdi] |
| 552 lea rdx,QWORD PTR[rsi*1+rdx] | 551 lea rdx,QWORD PTR[rsi*1+rdx] |
| 553 neg rsi | 552 neg rsi |
| 554 mov rcx,rsi | 553 mov rcx,rsi |
| 555 xor eax,eax | 554 xor eax,eax |
| 556 xor r9,r9 | 555 xor r9,r9 |
| 557 xor r10,r10 | 556 xor r10,r10 |
| 558 xor r11,r11 | 557 xor r11,r11 |
| 559 | 558 |
| 560 » lea» r8,QWORD PTR[OPENSSL_ia32cap_P] | 559 » mov» r8d,DWORD PTR[OPENSSL_ia32cap_P] |
| 561 » mov» r8d,DWORD PTR[r8] | |
| 562 bt r8d,20 | 560 bt r8d,20 |
| 563 jc $L$c1stloop | 561 jc $L$c1stloop |
| 564 jmp $L$w1stloop | 562 jmp $L$w1stloop |
| 565 | 563 |
| 566 ALIGN 16 | 564 ALIGN 16 |
| 567 $L$w1stloop:: | 565 $L$w1stloop:: |
| 568 mov DWORD PTR[rax*4+rdi],eax | 566 mov DWORD PTR[rax*4+rdi],eax |
| 569 add al,1 | 567 add al,1 |
| 570 jnc $L$w1stloop | 568 jnc $L$w1stloop |
| 571 | 569 |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 766 ALIGN 8 | 764 ALIGN 8 |
| 767 $L$SEH_info_asm_RC4:: | 765 $L$SEH_info_asm_RC4:: |
| 768 DB 9,0,0,0 | 766 DB 9,0,0,0 |
| 769 DD imagerel stream_se_handler | 767 DD imagerel stream_se_handler |
| 770 $L$SEH_info_asm_RC4_set_key:: | 768 $L$SEH_info_asm_RC4_set_key:: |
| 771 DB 9,0,0,0 | 769 DB 9,0,0,0 |
| 772 DD imagerel key_se_handler | 770 DD imagerel key_se_handler |
| 773 | 771 |
| 774 .xdata ENDS | 772 .xdata ENDS |
| 775 END | 773 END |
| OLD | NEW |