@@ -99,14 +99,16 @@ unsafe fn flush_instruction_cache(ptr: *mut u8, len: usize) {
9999
100100#[ cfg( unix) ]
101101unsafe fn alloc_executable ( len : usize ) -> VmResult < * mut u8 > {
102- let ptr = libc:: mmap (
103- std:: ptr:: null_mut ( ) ,
104- len,
105- libc:: PROT_READ | libc:: PROT_WRITE | libc:: PROT_EXEC ,
106- libc:: MAP_PRIVATE | map_anon_flag ( ) ,
107- -1 ,
108- 0 ,
109- ) ;
102+ let ptr = unsafe {
103+ libc:: mmap (
104+ std:: ptr:: null_mut ( ) ,
105+ len,
106+ libc:: PROT_READ | libc:: PROT_WRITE | libc:: PROT_EXEC ,
107+ libc:: MAP_PRIVATE | map_anon_flag ( ) ,
108+ -1 ,
109+ 0 ,
110+ )
111+ } ;
110112 if ptr == libc:: MAP_FAILED {
111113 return Err ( VmError :: JitNative (
112114 "mmap failed for executable trace buffer" . to_string ( ) ,
@@ -117,18 +119,20 @@ unsafe fn alloc_executable(len: usize) -> VmResult<*mut u8> {
117119
118120#[ cfg( unix) ]
119121unsafe fn free_executable ( ptr : * mut u8 , len : usize ) {
120- let _ = libc:: munmap ( ptr. cast ( ) , len) ;
122+ let _ = unsafe { libc:: munmap ( ptr. cast ( ) , len) } ;
121123}
122124
123125#[ cfg( unix) ]
124126unsafe fn flush_instruction_cache ( ptr : * mut u8 , len : usize ) {
127+ let _ = ( ptr, len) ;
128+
125129 #[ cfg( all( target_arch = "aarch64" , target_os = "macos" ) ) ]
126130 {
127131 unsafe extern "C" {
128132 fn sys_icache_invalidate ( start : * mut core:: ffi:: c_void , len : usize ) ;
129133 }
130134
131- sys_icache_invalidate ( ptr. cast ( ) , len) ;
135+ unsafe { sys_icache_invalidate ( ptr. cast ( ) , len) } ;
132136 }
133137
134138 #[ cfg( all( target_arch = "aarch64" , not( target_os = "macos" ) ) ) ]
@@ -137,7 +141,7 @@ unsafe fn flush_instruction_cache(ptr: *mut u8, len: usize) {
137141 fn __clear_cache ( start : * mut u8 , end : * mut u8 ) ;
138142 }
139143
140- __clear_cache ( ptr, ptr. add ( len) ) ;
144+ unsafe { __clear_cache ( ptr, ptr. add ( len) ) } ;
141145 }
142146}
143147
0 commit comments