mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 13:29:27 +02:00
* disabled assembler implementations of fpc_ansistr_decr_ref/
fpc_ansistr_incr_ref for Darwin/ARM: they don't follow the Darwin/ARM ABI for function calls, the code already contains enough ifdefs and I don't want to spend time on maintaining OS-specific assembler implementations git-svn-id: trunk@22121 -
This commit is contained in:
parent
f5b1c64d36
commit
c29e6bbcb8
@ -505,6 +505,7 @@ end;
|
||||
{$endif}
|
||||
|
||||
|
||||
{$ifndef darwin}
|
||||
{$define FPC_SYSTEM_HAS_ANSISTR_DECR_REF}
|
||||
function fpc_freemem_x(p:pointer):ptrint; [external name 'FPC_FREEMEM_X'];
|
||||
|
||||
@ -548,6 +549,7 @@ asm
|
||||
// Jump without a link, so freemem directly returns to our caller
|
||||
b FPC_FREEMEM_X
|
||||
end;
|
||||
{$endif not darwin}
|
||||
|
||||
var
|
||||
fpc_system_lock: longint; export name 'fpc_system_lock';
|
||||
@ -613,6 +615,8 @@ asm
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
{$ifndef darwin}
|
||||
{$define FPC_SYSTEM_HAS_ANSISTR_INCR_REF}
|
||||
|
||||
Procedure fpc_ansistr_incr_ref (S : Pointer); [Public,Alias:'FPC_ANSISTR_INCR_REF'];assembler;nostackframe; compilerproc;
|
||||
@ -635,6 +639,7 @@ asm
|
||||
bge InterLockedIncrement
|
||||
// Freepascal will generate a proper return here, save some cachespace
|
||||
end;
|
||||
{$endif not darwin}
|
||||
|
||||
function InterLockedIncrement (var Target: longint) : longint; assembler; nostackframe;
|
||||
asm
|
||||
|
Loading…
Reference in New Issue
Block a user