* optimized ppc memory barrier implementations

git-svn-id: trunk@14803 -
This commit is contained in:
Jonas Maebe 2010-01-25 14:49:33 +00:00
parent fb1cf4fc8f
commit a527b6b2b4
2 changed files with 11 additions and 7 deletions

View File

@ -1208,7 +1208,7 @@ end;
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
sync
isync
end;
procedure ReadDependencyBarrier;{$ifdef SYSTEMINLINE}inline;{$endif}
@ -1218,7 +1218,8 @@ end;
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
sync
isync
eieio
end;
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}

View File

@ -762,9 +762,7 @@ end;
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
{$ifdef FPC_HAS_LWSYNC}
lwsync
{$endif}
isync
end;
procedure ReadDependencyBarrier;{$ifdef SYSTEMINLINE}inline;{$endif}
@ -774,12 +772,17 @@ end;
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
sync
isync
{$ifdef FPC_HAS_LWSYNC}
lwsync
{$endif}
end;
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
asm
eieio
{$ifdef FPC_HAS_LWSYNC}
lwsync
{$endif}
end;
{$endif}