@@ -60,55 +60,20 @@ fn aeh(_: Layout) -> ! { loop {} }
6060#[ no_mangle]
6161#[ cfg( not( feature = "stub-only" ) ) ]
6262unsafe extern fn memset ( ptr : * mut u8 , value : u32 , num : usize ) -> * mut u8 {
63- let mut size = num as usize ;
64- let mut ptr32 = ptr as * mut u32 ;
65- let val32 = core:: mem:: transmute :: < [ u8 ; 4 ] , u32 > ( [ value as u8 ; 4 ] ) ;
66- while size > 3 {
67- * ptr32 = val32;
68- ptr32 = ptr32. add ( 1 ) ;
69- size = size. saturating_sub ( 4 ) ;
70- }
71- let mut ptr_new = ptr32 as * mut u8 ;
72- while size > 0 {
73- * ptr_new = value as u8 ;
74- ptr_new = ptr_new. add ( 1 ) ;
75- size = size. saturating_sub ( 1 ) ;
76- }
77- ptr
63+ crate :: sys:: sceKernelMemset ( ptr, value as u8 , num)
7864}
7965
8066#[ no_mangle]
8167#[ cfg( not( feature = "stub-only" ) ) ]
8268unsafe extern fn memcpy ( dst : * mut u8 , src : * const u8 , num : usize ) -> * mut u8 {
83- for i in 0 ..num {
84- * dst. add ( i) = * src. add ( i) ;
69+ if num < 12_000 {
70+ crate :: sys:: sceKernelMemcpy ( dst, src, num)
71+ } else {
72+ crate :: sys:: sceDmacMemcpy ( dst, src, num) ;
73+ dst
8574 }
86- dst
8775}
8876
89- // broke format macro somehow
90- //#[no_mangle]
91- //#[cfg(not(feature = "stub-only"))]
92- //unsafe extern fn memcpy(dst: *mut u8, src: *const u8, num: isize) -> *mut u8 {
93- //let mut size = num as usize;
94- //let mut dst32 = dst as *mut u32;
95- //let mut src32 = src as *const u32;
96- //while size > 3 {
97- //*dst32 = *src32;
98- //dst32 = dst32.add(1);
99- //src32 = src32.add(1);
100- //size = size.saturating_sub(4);
101- //}
102- //let mut dst_new = dst32 as *mut u8;
103- //let mut src_new = src32 as *const u8;
104- //while size > 0 {
105- //*dst_new = *src_new;
106- //dst_new = dst_new.add(1);
107- //src_new = src_new.add(1);
108- //size = size.saturating_sub(1);
109- //}
110- //dst
111- //}
11277
11378#[ no_mangle]
11479#[ cfg( not( feature = "stub-only" ) ) ]
@@ -164,6 +129,5 @@ unsafe extern fn memmove(dst: *mut u8, src: *mut u8, num: isize) -> *mut u8 {
164129 size = size. saturating_sub ( 1 ) ;
165130 }
166131 }
167-
168132 dst
169133}
0 commit comments