kawipiko/sources/lib/common/runtime.go

28 lines
433 B
Go
Raw Normal View History

package common
import "unsafe"
//go:nosplit
func NoEscape (p unsafe.Pointer) (unsafe.Pointer) {
x := uintptr (p)
return unsafe.Pointer (x ^ 0)
}
func NoEscapeBytes (p *[]byte) (*[]byte) {
return (*[]byte) (NoEscape (unsafe.Pointer (&p)))
}
func NoEscapeString (p *string) (*string) {
return (*string) (NoEscape (unsafe.Pointer (&p)))
}
func BytesToString (b []byte) (string) {
return *(*string)(unsafe.Pointer(&b))
}