|
@@ -522,9 +522,11 @@ const
|
|
|
|
|
|
procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
asm
|
|
|
+{$ifdef FPC_HAS_MEMBAR}
|
|
|
ba,pt .L1
|
|
|
membar LoadLoad
|
|
|
.L1:
|
|
|
+{$endif}
|
|
|
end;
|
|
|
|
|
|
procedure ReadDependencyBarrier;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
@@ -534,16 +536,20 @@ end;
|
|
|
|
|
|
procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
asm
|
|
|
+{$ifdef FPC_HAS_MEMBAR}
|
|
|
ba,pt .L1
|
|
|
membar LoadLoad + LoadStore + StoreLoad + StoreStore
|
|
|
.L1:
|
|
|
+{$endif}
|
|
|
end;
|
|
|
|
|
|
procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
asm
|
|
|
+{$ifdef FPC_HAS_MEMBAR}
|
|
|
ba,pt .L1
|
|
|
stbar
|
|
|
.L1:
|
|
|
+{$endif}
|
|
|
end;
|
|
|
|
|
|
{$endif}
|