diff --git a/runtime/internal/lib/hash/maphash/maphash.go b/runtime/internal/lib/hash/maphash/maphash.go new file mode 100644 index 00000000..9e00aca6 --- /dev/null +++ b/runtime/internal/lib/hash/maphash/maphash.go @@ -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 diff --git a/runtime/internal/lib/runtime/runtime.go b/runtime/internal/lib/runtime/runtime.go index b107c605..0defce9e 100644 --- a/runtime/internal/lib/runtime/runtime.go +++ b/runtime/internal/lib/runtime/runtime.go @@ -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