@@ -733,6 +733,14 @@ func (md *moduledata) textOff(pc uintptr) (uint32, bool) {
733
733
return res , true
734
734
}
735
735
736
+ // funcName returns the string at nameOff in the function name table.
737
+ func (md * moduledata ) funcName (nameOff int32 ) string {
738
+ if nameOff == 0 {
739
+ return ""
740
+ }
741
+ return gostringnocopy (& md .funcnametab [nameOff ])
742
+ }
743
+
736
744
// FuncForPC returns a *Func describing the function that contains the
737
745
// given program counter address, or else nil.
738
746
//
@@ -1004,15 +1012,11 @@ func pcvalue(f funcInfo, off uint32, targetpc uintptr, cache *pcvalueCache, stri
1004
1012
return - 1 , 0
1005
1013
}
1006
1014
1007
- func cfuncname (f funcInfo ) * byte {
1008
- if ! f .valid () || f .nameOff == 0 {
1009
- return nil
1010
- }
1011
- return & f .datap .funcnametab [f .nameOff ]
1012
- }
1013
-
1014
1015
func funcname (f funcInfo ) string {
1015
- return gostringnocopy (cfuncname (f ))
1016
+ if ! f .valid () {
1017
+ return ""
1018
+ }
1019
+ return f .datap .funcName (f .nameOff )
1016
1020
}
1017
1021
1018
1022
func funcpkgpath (f funcInfo ) string {
@@ -1031,15 +1035,11 @@ func funcpkgpath(f funcInfo) string {
1031
1035
return name [:i ]
1032
1036
}
1033
1037
1034
- func cfuncnameFromNameOff (f funcInfo , nameOff int32 ) * byte {
1038
+ func funcnameFromNameOff (f funcInfo , nameOff int32 ) string {
1035
1039
if ! f .valid () {
1036
- return nil
1040
+ return ""
1037
1041
}
1038
- return & f .datap .funcnametab [nameOff ]
1039
- }
1040
-
1041
- func funcnameFromNameOff (f funcInfo , nameOff int32 ) string {
1042
- return gostringnocopy (cfuncnameFromNameOff (f , nameOff ))
1042
+ return f .datap .funcName (nameOff )
1043
1043
}
1044
1044
1045
1045
func funcfile (f funcInfo , fileno int32 ) string {
0 commit comments