@@ -601,66 +601,66 @@ _Py_atomic_load_ssize_acquire(const Py_ssize_t *obj)
601601{ return __atomic_load_n (obj , __ATOMIC_ACQUIRE ); }
602602
603603
604- // --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
605-
606- // #include <string.h>
607-
608- static inline void *
609- _Py_atomic_memcpy_ptr_store_relaxed (void * dest , void * src , size_t n )
610- {
611- assert (((uintptr_t )dest & ( uintptr_t ) (sizeof (void * ) - 1 )) == 0 );
612- assert (((uintptr_t )src & ( uintptr_t ) (sizeof (void * ) - 1 )) == 0 );
613- // assert(n % sizeof(void *) == 0);
614-
615- // memcpy(dest, src, n);
616-
617- if (dest != src ) {
618- void * * dest_ = (void * * )dest ;
619- void * * src_ = (void * * )src ;
620- void * * end = dest_ + n / sizeof (void * );
621-
622- for (; dest_ != end ; dest_ ++ , src_ ++ ) {
623- // *dest_ = *src_;
624- __atomic_store_n ((void * * )dest_ , * src_ , __ATOMIC_RELAXED );
625- }
626- }
627-
628- return dest ;
629- }
630-
631- static inline void *
632- _Py_atomic_memmove_ptr_store_relaxed (void * dest , void * src , size_t n )
633- {
634- assert (((uintptr_t )dest & ( uintptr_t ) (sizeof (void * ) - 1 )) == 0 );
635- assert (((uintptr_t )src & ( uintptr_t ) (sizeof (void * ) - 1 )) == 0 );
636- // assert(n % sizeof(void *) == 0);
637-
638- // memmove(dest, src, n);
639-
640- if (dest < src || dest >= (void * )((char * )src + n )) {
641- void * * dest_ = (void * * )dest ;
642- void * * src_ = (void * * )src ;
643- void * * end = dest_ + n / sizeof (void * );
644-
645- for (; dest_ != end ; dest_ ++ , src_ ++ ) {
646- // *dest_ = *src_;
647- __atomic_store_n ((void * * )dest_ , * src_ , __ATOMIC_RELAXED );
648- }
649- }
650- else if (dest > src ) {
651- n = n / sizeof (void * ) - 1 ;
652- void * * dest_ = (void * * )dest + n ;
653- void * * src_ = (void * * )src + n ;
654- void * * end = (void * * )dest - 1 ;
655-
656- for (; dest_ != end ; dest_ -- , src_ -- ) {
657- // *dest_ = *src_;
658- __atomic_store_n ((void * * )dest_ , * src_ , __ATOMIC_RELAXED );
659- }
660- }
661-
662- return dest ;
663- }
604+ // // --- _Py_atomic_memcpy / _Py_atomic_memmove ------------
605+
606+ // // #include <string.h>
607+
608+ // static inline void *
609+ // _Py_atomic_memcpy_ptr_store_relaxed(void *dest, void *src, size_t n)
610+ // {
611+ // // assert(((uintptr_t)dest & (sizeof (void *) - 1)) == 0);
612+ // // assert(((uintptr_t)src & (sizeof (void *) - 1)) == 0);
613+ // // assert(n % sizeof(void *) == 0);
614+
615+ // // memcpy(dest, src, n);
616+
617+ // if (dest != src) {
618+ // void **dest_ = (void **)dest;
619+ // void **src_ = (void **)src;
620+ // void **end = dest_ + n / sizeof(void *);
621+
622+ // for (; dest_ != end; dest_++, src_++) {
623+ // // *dest_ = *src_;
624+ // __atomic_store_n((void **)dest_, *src_, __ATOMIC_RELAXED);
625+ // }
626+ // }
627+
628+ // return dest;
629+ // }
630+
631+ // static inline void *
632+ // _Py_atomic_memmove_ptr_store_relaxed(void *dest, void *src, size_t n)
633+ // {
634+ // // assert(((uintptr_t)dest & (sizeof (void *) - 1)) == 0);
635+ // // assert(((uintptr_t)src & (sizeof (void *) - 1)) == 0);
636+ // // assert(n % sizeof(void *) == 0);
637+
638+ // // memmove(dest, src, n);
639+
640+ // if (dest < src || dest >= (void *)((char *)src + n)) {
641+ // void **dest_ = (void **)dest;
642+ // void **src_ = (void **)src;
643+ // void **end = dest_ + n / sizeof(void *);
644+
645+ // for (; dest_ != end; dest_++, src_++) {
646+ // // *dest_ = *src_;
647+ // __atomic_store_n((void **)dest_, *src_, __ATOMIC_RELAXED);
648+ // }
649+ // }
650+ // else if (dest > src) {
651+ // n = n / sizeof(void *) - 1;
652+ // void **dest_ = (void **)dest + n;
653+ // void **src_ = (void **)src + n;
654+ // void **end = (void **)dest - 1;
655+
656+ // for (; dest_ != end; dest_--, src_--) {
657+ // // *dest_ = *src_;
658+ // __atomic_store_n((void **)dest_, *src_, __ATOMIC_RELAXED);
659+ // }
660+ // }
661+
662+ // return dest;
663+ // }
664664
665665
666666// --- _Py_atomic_fence ------------------------------------------------------
0 commit comments