* Don't do useless string case conversions in a loop.

git-svn-id: trunk@33077 -
This commit is contained in:
sergei 2016-02-10 02:10:23 +00:00
parent 2861362780
commit 55492a0f30

View File

@ -493,14 +493,13 @@ Interface
function TMipsReader.is_asmopcode(const s: string):boolean;
var
cond:TAsmCond;
hs:string;
Begin
{ making s a value parameter would break other assembler readers }
is_asmopcode:=false;
{ clear op code }
{ clear op code and condition }
actopcode:=A_None;
{ clear condition }
fillchar(actcondition,sizeof(actcondition),0);
actcondition:=C_None;
{ Search opcodes }
actopcode:=tasmop(PtrUInt(iasmops.Find(s)));
@ -517,8 +516,9 @@ Interface
{ we can search here without an extra table which is sorted by string length
because we take the whole remaining string without the leading B }
actopcode := A_BC;
hs:=lower(copy(s,2,maxint));
for cond:=low(TAsmCond) to high(TAsmCond) do
if (Upper(copy(s,2,length(s)-1))=Upper(Cond2Str[cond])) then
if (hs=Cond2Str[cond]) then
begin
actasmtoken:=AS_OPCODE;
actcondition:=cond;