ObjFW  Diff

Differences From Artifact [4c024af6ca]:

To Artifact [3c92b1ba0d]:


477
478
479
480
481
482
483
484

485
486
487
488
489
490
491
492

493
494

495
496
497
498
499
500

501
502

503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
477
478
479
480
481
482
483

484
485
486
487
488
489
490
491

492
493

494


495
496
497

498
499

500


501
502
















503







-
+







-
+

-
+
-
-



-
+

-
+
-
-


-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

	    : "cc"
	);

	return r;
}

static OF_INLINE void
of_memory_barrier_sync(void)
of_memory_barrier(void)
{
	__asm__ __volatile__ (
	    "mfence" ::: "memory"
	);
}

static OF_INLINE void
of_memory_barrier_enter(void)
of_memory_barrier_acquire(void)
{
	__asm__ __volatile__ (
	__asm__ __volatile__ ("" ::: "memory");
	    "mfence" ::: "memory"
	);
}

static OF_INLINE void
of_memory_barrier_exit(void)
of_memory_barrier_release(void)
{
	__asm__ __volatile__ (
	__asm__ __volatile__ ("" ::: "memory");
	    "mfence" ::: "memory"
	);
}

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

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

OF_ASSUME_NONNULL_END