lodsb is OK to use in branch filter
modified: stub/src/arch/i386/bxx.S
This commit is contained in:
parent
8aa3679323
commit
b10d2b7365
@ -52,8 +52,7 @@ ckloop4:
|
|||||||
cmpl %ecx,%esi; jae ckend
|
cmpl %ecx,%esi; jae ckend
|
||||||
push %esi # tail merge
|
push %esi # tail merge
|
||||||
ckloop3:
|
ckloop3:
|
||||||
pop %esi; movzbl (%esi),%eax # next main opcode
|
pop %esi; lodsb # next main opcode
|
||||||
lea 1(%esi),%esi # avoid lodsb because Read-Modify-Write of %eax
|
|
||||||
cmpb $0x49,%dh; jne ckloop2 # do not consider 6-byte conditional jxx
|
cmpb $0x49,%dh; jne ckloop2 # do not consider 6-byte conditional jxx
|
||||||
cmpb $0x80,%al; jb ckloop2 # lo of 6-byte Jcc
|
cmpb $0x80,%al; jb ckloop2 # lo of 6-byte Jcc
|
||||||
cmpb $0x8F,%al; ja ckloop2 # hi of 6-byte Jcc
|
cmpb $0x8F,%al; ja ckloop2 # hi of 6-byte Jcc
|
||||||
@ -72,9 +71,7 @@ ckmark:
|
|||||||
stosl
|
stosl
|
||||||
ckstart:
|
ckstart:
|
||||||
cmpl %ecx,%esi; jae ckend
|
cmpl %ecx,%esi; jae ckend
|
||||||
movzbl (%esi),%eax
|
lodsb; jmp ckloop2 # 0x0F prefix would overlap previous displacement
|
||||||
lea 1(%esi),%esi
|
|
||||||
jmp ckloop2 # 0x0F prefix would overlap previous displacement
|
|
||||||
ckend:
|
ckend:
|
||||||
pop %edi
|
pop %edi
|
||||||
pop %esi
|
pop %esi
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user