|
@@ -1253,3 +1253,23 @@ begin
|
|
|
softfloat_exception_mask:=float_flag_underflow or float_flag_inexact or float_flag_denormal;
|
|
|
end;
|
|
|
{$ENDIF}
|
|
|
+
|
|
|
+{$ifndef FPC_SYSTEM_HAS_MEM_BARRIER}
|
|
|
+{$define FPC_SYSTEM_HAS_MEM_BARRIER}
|
|
|
+
|
|
|
+procedure ReadBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
+asm
|
|
|
+ sync
|
|
|
+end;
|
|
|
+
|
|
|
+procedure ReadWriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
+asm
|
|
|
+ sync
|
|
|
+end;
|
|
|
+
|
|
|
+procedure WriteBarrier;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
+asm
|
|
|
+ eieio
|
|
|
+end;
|
|
|
+
|
|
|
+{$endif}
|