mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-06 20:50:45 +02:00
* x86-64: do not jump in inc/declocked to return but return directly
This commit is contained in:
parent
08050086b9
commit
bdc826cc18
@ -691,10 +691,12 @@ function declocked(var l : longint) : boolean;assembler; nostackframe;
|
||||
jz .Ldeclockednolock
|
||||
lock
|
||||
decl (%rcx)
|
||||
jmp .Ldeclockedend
|
||||
setzb %al
|
||||
ret
|
||||
// not supported yet by the internal assembler: .p2align 4,,10
|
||||
.p2align 3
|
||||
.Ldeclockednolock:
|
||||
decl (%rcx)
|
||||
.Ldeclockedend:
|
||||
setzb %al
|
||||
end;
|
||||
|
||||
@ -716,10 +718,12 @@ function declocked(var l : int64) : boolean;assembler; nostackframe;
|
||||
jz .Ldeclockednolock
|
||||
lock
|
||||
decq (%rcx)
|
||||
jmp .Ldeclockedend
|
||||
setzb %al
|
||||
ret
|
||||
// not supported yet by the internal assembler: .p2align 4,,10
|
||||
.p2align 3
|
||||
.Ldeclockednolock:
|
||||
decq (%rcx)
|
||||
.Ldeclockedend:
|
||||
setzb %al
|
||||
end;
|
||||
|
||||
@ -742,10 +746,11 @@ procedure inclocked(var l : longint);assembler; nostackframe;
|
||||
jz .Linclockednolock
|
||||
lock
|
||||
incl (%rcx)
|
||||
jmp .Linclockedend
|
||||
ret
|
||||
// not supported yet by the internal assembler: .p2align 4,,10
|
||||
.p2align 3
|
||||
.Linclockednolock:
|
||||
incl (%rcx)
|
||||
.Linclockedend:
|
||||
end;
|
||||
|
||||
|
||||
@ -767,10 +772,11 @@ procedure inclocked(var l : int64);assembler; nostackframe;
|
||||
jz .Linclockednolock
|
||||
lock
|
||||
incq (%rcx)
|
||||
jmp .Linclockedend
|
||||
ret
|
||||
// not supported yet by the internal assembler: .p2align 4,,10
|
||||
.p2align 3
|
||||
.Linclockednolock:
|
||||
incq (%rcx)
|
||||
.Linclockedend:
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user