* fpc_ansistring_decr improved

git-svn-id: trunk@2629 -
This commit is contained in:
florian 2006-02-19 14:38:06 +00:00
parent e2e51d6757
commit 0d61229d63

View File

@ -1160,19 +1160,15 @@ asm
// Var S located in register // Var S located in register
// Var l located in register // Var l located in register
movl %eax,(%esp) movl %eax,(%esp)
.Lj3599:
// [101] l:=@PAnsiRec(S-FirstOff)^.Ref; // [101] l:=@PAnsiRec(S-FirstOff)^.Ref;
movl (%esp),%edx movl (%eax),%edx
movl (%edx),%edx
subl $8,%edx subl $8,%edx
// [102] If l^<0 then exit; // [102] If l^<0 then exit;
movl (%edx),%eax cmpl $0,(%edx)
testl %eax,%eax
jl .Lj3596 jl .Lj3596
.Lj3603: .Lj3603:
// [104] If declocked(l^) then // [104] If declocked(l^) then
movb ismultithread,%al cmpb $0,ismultithread
testb %al,%al
jne .Lj3610 jne .Lj3610
decl (%edx) decl (%edx)
je .Lj3620 je .Lj3620
@ -1181,9 +1177,7 @@ asm
.Lj3610: .Lj3610:
movl %edx,%eax movl %edx,%eax
call cpudeclocked call cpudeclocked
movb %al,%cl movb %al,%al
.Lj3613:
testb %cl,%cl
je .Lj3605 je .Lj3605
.Lj3620: .Lj3620:
movl (%esp),%eax movl (%esp),%eax