Golang reflect package hack tools
support ABI0 and ABIInternal
-
ABI0 stack-based ABI
-
ABIInternal register-based Go calling convention proposal
- Go1.17: amd64
- Go1.18: amd64 arm64 ppc64/ppc64le
- Go1.19: amd64 arm64 ppc64/ppc64le riscv64
- Go1.20: amd64 arm64 ppc64/ppc64le riscv64
- Go1.21: amd64 arm64 ppc64/ppc64le riscv64
- reflectx.CanSet
- reflectx.Field
- reflectx.FieldByIndex
- reflectx.FieldByName
- reflectx.FieldByNameFunc
-
reflectx.StructOf(fs)
-
reflectx.NamedTypeOf
-
SetUnderlying
-
SetTypeName
-
reflectx.Method
-
reflectx.MakeMethod
-
reflectx.NewMethodSet
-
reflectx.SetMethodSet
-
reflectx.StructToMethodSet
- reflectx.InterfaceOf
- reflectx.NamedInterfaceOf
- reflectx.NewInterfaceType
- reflectx.SetInterfaceType
- reflectx.NewContext()
- allocs
import _ "github.com/goplus/reflectx/icall/icall[N]"
- install icall_gen
go get github.com/goplus/reflectx/cmd/icall_gen
icall_gen -o icall1024.go -pkg main -size 1024