refactor: move hash/maphash linkname bindings to maphash package
Move runtime_rand and runtime_memhash linkname declarations from runtime/internal/lib/runtime/runtime.go to runtime/internal/lib/hash/maphash/maphash.go to avoid polluting the runtime package namespace. Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: luoliwoshang <luoliwoshang@users.noreply.github.com>
This commit is contained in:
28
runtime/internal/lib/hash/maphash/maphash.go
Normal file
28
runtime/internal/lib/hash/maphash/maphash.go
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (c) 2024 The GoPlus Authors (goplus.org). All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package maphash
|
||||
|
||||
import "unsafe"
|
||||
|
||||
// llgo:skipall
|
||||
type _maphash struct{}
|
||||
|
||||
//go:linkname runtime_rand github.com/goplus/llgo/runtime/internal/runtime.fastrand64
|
||||
func runtime_rand() uint64
|
||||
|
||||
//go:linkname runtime_memhash github.com/goplus/llgo/runtime/internal/runtime.memhash
|
||||
func runtime_memhash(p unsafe.Pointer, seed, s uintptr) uintptr
|
||||
@@ -56,18 +56,4 @@ func write(fd uintptr, p unsafe.Pointer, n int32) int32 {
|
||||
return int32(c_write(c.Int(fd), p, c.SizeT(n)))
|
||||
}
|
||||
|
||||
//go:linkname llgo_fastrand64 github.com/goplus/llgo/runtime/internal/runtime.fastrand64
|
||||
func llgo_fastrand64() uint64
|
||||
|
||||
//go:linkname llgo_memhash github.com/goplus/llgo/runtime/internal/runtime.memhash
|
||||
func llgo_memhash(p unsafe.Pointer, seed, s uintptr) uintptr
|
||||
|
||||
func rand() uint64 {
|
||||
return llgo_fastrand64()
|
||||
}
|
||||
|
||||
func memhash(p unsafe.Pointer, seed, s uintptr) uintptr {
|
||||
return llgo_memhash(p, seed, s)
|
||||
}
|
||||
|
||||
const heapArenaBytes = 1024 * 1024
|
||||
|
||||
Reference in New Issue
Block a user