import (
"internal/cpu"
"internal/goarch"
- "runtime/internal/sys"
"unsafe"
)
// Note: These routines perform the read with a native endianness.
func readUnaligned32(p unsafe.Pointer) uint32 {
q := (*[4]byte)(p)
- if sys.BigEndian {
+ if goarch.BigEndian {
return uint32(q[3]) | uint32(q[2])<<8 | uint32(q[1])<<16 | uint32(q[0])<<24
}
return uint32(q[0]) | uint32(q[1])<<8 | uint32(q[2])<<16 | uint32(q[3])<<24
func readUnaligned64(p unsafe.Pointer) uint64 {
q := (*[8]byte)(p)
- if sys.BigEndian {
+ if goarch.BigEndian {
return uint64(q[7]) | uint64(q[6])<<8 | uint64(q[5])<<16 | uint64(q[4])<<24 |
uint64(q[3])<<32 | uint64(q[2])<<40 | uint64(q[1])<<48 | uint64(q[0])<<56
}
func Envs() []string { return envs }
func SetEnvs(e []string) { envs = e }
-var BigEndian = sys.BigEndian
+var BigEndian = goarch.BigEndian
// For benchmarking.
"internal/abi"
"internal/goarch"
"runtime/internal/atomic"
- "runtime/internal/sys"
"unsafe"
)
func convT16(val uint16) (x unsafe.Pointer) {
if val < uint16(len(staticuint64s)) {
x = unsafe.Pointer(&staticuint64s[val])
- if sys.BigEndian {
+ if goarch.BigEndian {
x = add(x, 6)
}
} else {
func convT32(val uint32) (x unsafe.Pointer) {
if val < uint32(len(staticuint64s)) {
x = unsafe.Pointer(&staticuint64s[val])
- if sys.BigEndian {
+ if goarch.BigEndian {
x = add(x, 4)
}
} else {
package atomic_test
import (
+ "internal/goarch"
"runtime"
"runtime/internal/atomic"
- "runtime/internal/sys"
"testing"
"unsafe"
)
// Tests that xadduintptr correctly updates 64-bit values. The place where
// we actually do so is mstats.go, functions mSysStat{Inc,Dec}.
func TestXadduintptrOnUint64(t *testing.T) {
- if sys.BigEndian {
+ if goarch.BigEndian {
// On big endian architectures, we never use xadduintptr to update
// 64-bit values and hence we skip the test. (Note that functions
// mSysStat{Inc,Dec} in mstats.go have explicit checks for
import (
"internal/abi"
"internal/bytealg"
- "runtime/internal/sys"
+ "internal/goarch"
"unsafe"
)
}
if n == 1 {
p := unsafe.Pointer(&staticuint64s[*ptr])
- if sys.BigEndian {
+ if goarch.BigEndian {
p = add(p, 7)
}
stringStructOf(&str).str = p
// mask out irrelavant bits
if sz < 8 {
shift := 64 - sz*8
- if sys.BigEndian {
+ if goarch.BigEndian {
x = x >> shift
} else {
x = x << shift >> shift