ObjFW  Check-in [72758f5810]

Overview
Comment:Don't use mfence in inline asm as it requires SSE2
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 72758f5810c1df16be0398c88ef1288f2fff3963b65ec66834b890574982168f
User & Date: js on 2022-12-20 14:24:00
Other Links: manifest | tags
Context
2022-12-20
18:13
configure: Indentation consistency check-in: b6a6e12129 user: js tags: trunk
14:24
Don't use mfence in inline asm as it requires SSE2 check-in: 72758f5810 user: js tags: trunk
2022-12-18
09:45
Make GCC 5.3.0 on MinGW happy again check-in: 4e7252f5cd user: js tags: trunk
Changes

Modified src/platform/x86/OFAtomic.h from [db489edc3a] to [083e4d26a5].

478
479
480
481
482
483
484

485
486

487





488
489
490
491
492
493
494
478
479
480
481
482
483
484
485
486

487
488
489
490
491
492
493
494
495
496
497
498
499
500







+

-
+

+
+
+
+
+








	return r;
}

static OF_INLINE void
OFMemoryBarrier(void)
{
#ifdef OF_X86_64
	__asm__ __volatile__ (
	    "mfence" ::: "memory"
	    "lock orq	$0, (%%rsp)" ::: "memory", "cc"
	);
#else
	__asm__ __volatile__ (
	    "lock orl	$0, (%%esp)" ::: "memory", "cc"
	);
#endif
}

static OF_INLINE void
OFAcquireMemoryBarrier(void)
{
	__asm__ __volatile__ ("" ::: "memory");
}