summaryrefslogtreecommitdiff
path: root/libgo/go/internal/reflectlite
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/internal/reflectlite')
-rw-r--r--libgo/go/internal/reflectlite/swapper.go7
-rw-r--r--libgo/go/internal/reflectlite/value.go18
2 files changed, 8 insertions, 17 deletions
diff --git a/libgo/go/internal/reflectlite/swapper.go b/libgo/go/internal/reflectlite/swapper.go
index 4594fb5ee25..6330ab2d346 100644
--- a/libgo/go/internal/reflectlite/swapper.go
+++ b/libgo/go/internal/reflectlite/swapper.go
@@ -4,7 +4,10 @@
package reflectlite
-import "unsafe"
+import (
+ "internal/unsafeheader"
+ "unsafe"
+)
// Swapper returns a function that swaps the elements in the provided
// slice.
@@ -58,7 +61,7 @@ func Swapper(slice interface{}) func(i, j int) {
}
}
- s := (*sliceHeader)(v.ptr)
+ s := (*unsafeheader.Slice)(v.ptr)
tmp := unsafe_New(typ) // swap scratch space
return func(i, j int) {
diff --git a/libgo/go/internal/reflectlite/value.go b/libgo/go/internal/reflectlite/value.go
index 9a14d18ba2f..b78efaea4be 100644
--- a/libgo/go/internal/reflectlite/value.go
+++ b/libgo/go/internal/reflectlite/value.go
@@ -5,6 +5,7 @@
package reflectlite
import (
+ "internal/unsafeheader"
"runtime"
"unsafe"
)
@@ -336,10 +337,10 @@ func (v Value) Len() int {
return maplen(v.pointer())
case Slice:
// Slice is bigger than a word; assume flagIndir.
- return (*sliceHeader)(v.ptr).Len
+ return (*unsafeheader.Slice)(v.ptr).Len
case String:
// String is bigger than a word; assume flagIndir.
- return (*stringHeader)(v.ptr).Len
+ return (*unsafeheader.String)(v.ptr).Len
}
panic(&ValueError{"reflect.Value.Len", v.kind()})
}
@@ -380,19 +381,6 @@ func (v Value) Type() Type {
return v.typ
}
-// stringHeader is a safe version of StringHeader used within this package.
-type stringHeader struct {
- Data unsafe.Pointer
- Len int
-}
-
-// sliceHeader is a safe version of SliceHeader used within this package.
-type sliceHeader struct {
- Data unsafe.Pointer
- Len int
- Cap int
-}
-
/*
* constructors
*/