magic64 = 0xdeddeadbeefbeef
)
-// Do the 64-bit functions panic? If so, don't bother testing.
-var test64err = func() (err any) {
- defer func() {
- err = recover()
- }()
- var x int64
- AddInt64(&x, 1)
- return nil
-}()
-
func TestSwapInt32(t *testing.T) {
var x struct {
before int32
}
func TestSwapInt64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i int64
}
func TestSwapInt64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i Int64
}
func TestSwapUint64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i uint64
}
func TestSwapUint64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i Uint64
}
func TestAddInt64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i int64
}
func TestAddInt64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i Int64
}
func TestAddUint64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i uint64
}
func TestAddUint64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i Uint64
}
func TestCompareAndSwapInt64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i int64
}
func TestCompareAndSwapInt64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i Int64
}
func testCompareAndSwapUint64(t *testing.T, cas func(*uint64, uint64, uint64) bool) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i uint64
}
func TestCompareAndSwapUint64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i Uint64
}
func TestLoadInt64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i int64
}
func TestLoadInt64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i Int64
}
func TestLoadUint64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i uint64
}
func TestLoadUint64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i Uint64
}
func TestStoreInt64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before int64
i int64
}
func TestStoreUint64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i uint64
}
func TestStoreUint64Method(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
var x struct {
before uint64
i Uint64
}
func TestHammer64(t *testing.T) {
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
const p = 4
n := 100000
if testing.Short() {
}
func TestHammerStoreLoad(t *testing.T) {
- var tests []func(*testing.T, unsafe.Pointer)
- tests = append(tests, hammerStoreLoadInt32, hammerStoreLoadUint32,
+ tests := []func(*testing.T, unsafe.Pointer){
+ hammerStoreLoadInt32, hammerStoreLoadUint32,
hammerStoreLoadUintptr, hammerStoreLoadPointer,
hammerStoreLoadInt32Method, hammerStoreLoadUint32Method,
hammerStoreLoadUintptrMethod, hammerStoreLoadPointerMethod,
- )
- if test64err == nil {
- tests = append(tests, hammerStoreLoadInt64, hammerStoreLoadUint64,
- hammerStoreLoadInt64Method, hammerStoreLoadUint64Method,
- )
+ hammerStoreLoadInt64, hammerStoreLoadUint64,
+ hammerStoreLoadInt64Method, hammerStoreLoadUint64Method,
}
n := int(1e6)
if testing.Short() {
if runtime.NumCPU() == 1 {
t.Skipf("Skipping test on %v processor machine", runtime.NumCPU())
}
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(4))
N := int64(1e3)
if testing.Short() {
if runtime.NumCPU() == 1 {
t.Skipf("Skipping test on %v processor machine", runtime.NumCPU())
}
- if test64err != nil {
- t.Skipf("Skipping 64-bit tests: %v", test64err)
- }
defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(4))
N := int64(1e3)
if testing.Short() {