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:
xgopilot
2025-10-14 08:01:10 +00:00
parent 8aadfde64a
commit e05c91530e
2 changed files with 28 additions and 14 deletions

View 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

View File

@@ -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