runtime: use unsafe.Slice for leveldb code

This commit is contained in:
Damian Gryski
2024-10-18 10:26:26 -07:00
committed by Damian Gryski
parent 0dfa57ea04
commit 23d3a31107
+1 -18
View File
@@ -16,23 +16,6 @@ import (
"unsafe"
)
func ptrToSlice(ptr unsafe.Pointer, n uintptr) []byte {
var p []byte
type _bslice struct {
ptr *byte
len uintptr
cap uintptr
}
pslice := (*_bslice)(unsafe.Pointer(&p))
pslice.ptr = (*byte)(ptr)
pslice.cap = n
pslice.len = n
return p
}
// leveldb hash
func hash32(ptr unsafe.Pointer, n, seed uintptr) uint32 {
@@ -41,7 +24,7 @@ func hash32(ptr unsafe.Pointer, n, seed uintptr) uint32 {
m = 0xc6a4a793
)
b := ptrToSlice(ptr, n)
b := unsafe.Slice((*byte)(ptr), n)
h := uint32(lseed^seed) ^ uint32(uint(len(b))*uint(m))