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

	return r;
}

static OF_INLINE void
OFMemoryBarrier(void)
{

	__asm__ __volatile__ (
	    "mfence" ::: "memory"
	);





}

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







>

|

>
>
>
>
>







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__ (
	    "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");
}