remove memclr/memmove entirely now that they are unused
This breaks with newer Go versions AFAICT, so it’s easier to just remove it entirely.geesefs-0-31-3
parent
84920d11dd
commit
1c9fe7bc84
|
@ -49,47 +49,6 @@ func findNonZero(p unsafe.Pointer, n int) int {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemclr(t *testing.T) {
|
|
||||||
// All sizes up to 32 bytes.
|
|
||||||
var sizes []int
|
|
||||||
for i := 0; i <= 32; i++ {
|
|
||||||
sizes = append(sizes, i)
|
|
||||||
}
|
|
||||||
|
|
||||||
// And a few hand-chosen sizes.
|
|
||||||
sizes = append(sizes, []int{
|
|
||||||
39, 41, 64, 127, 128, 129,
|
|
||||||
1<<20 - 1,
|
|
||||||
1 << 20,
|
|
||||||
1<<20 + 1,
|
|
||||||
}...)
|
|
||||||
|
|
||||||
// For each size, fill a buffer with random bytes and then zero it.
|
|
||||||
for _, size := range sizes {
|
|
||||||
size := size
|
|
||||||
t.Run(fmt.Sprintf("size=%d", size), func(t *testing.T) {
|
|
||||||
// Generate
|
|
||||||
b, err := randBytes(size)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("randBytes: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clear
|
|
||||||
var p unsafe.Pointer
|
|
||||||
if len(b) != 0 {
|
|
||||||
p = unsafe.Pointer(&b[0])
|
|
||||||
}
|
|
||||||
|
|
||||||
jacobsa_fuse_memclr(p, uintptr(len(b)))
|
|
||||||
|
|
||||||
// Check
|
|
||||||
if i := findNonZero(p, len(b)); i != len(b) {
|
|
||||||
t.Fatalf("non-zero byte at offset %d", i)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestOutMessageAppend(t *testing.T) {
|
func TestOutMessageAppend(t *testing.T) {
|
||||||
var om OutMessage
|
var om OutMessage
|
||||||
om.Reset()
|
om.Reset()
|
||||||
|
@ -234,7 +193,7 @@ func TestOutMessageReset(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure a non-zero payload length.
|
// Ensure a non-zero payload length.
|
||||||
p := om.Grow(128)
|
om.Grow(128)
|
||||||
|
|
||||||
// Reset.
|
// Reset.
|
||||||
om.Reset()
|
om.Reset()
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
// Copyright 2015 Google Inc. 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 buffer
|
|
||||||
|
|
||||||
import "unsafe"
|
|
||||||
|
|
||||||
//go:noescape
|
|
||||||
|
|
||||||
// Zero the n bytes starting at p.
|
|
||||||
//
|
|
||||||
// REQUIRES: the region does not contain any Go pointers.
|
|
||||||
//go:linkname jacobsa_fuse_memclr runtime.memclrNoHeapPointers
|
|
||||||
func jacobsa_fuse_memclr(p unsafe.Pointer, n uintptr)
|
|
||||||
|
|
||||||
//go:noescape
|
|
||||||
|
|
||||||
// Copy from src to dst, allowing overlap.
|
|
||||||
//go:linkname jacobsa_fuse_memmove runtime.memmove
|
|
||||||
func jacobsa_fuse_memmove(dst unsafe.Pointer, src unsafe.Pointer, n uintptr)
|
|
|
@ -1,18 +0,0 @@
|
||||||
// Copyright 2015 Google Inc. 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.
|
|
||||||
|
|
||||||
// The buffer package uses //go:linkname to push a few functions into this
|
|
||||||
// package but we still need a .s file so the Go tool does not pass -complete
|
|
||||||
// to the go tool compile so the latter does not complain about Go functions
|
|
||||||
// with no bodies.
|
|
Loading…
Reference in New Issue