aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-02-28 11:32:30 +0100
committerTaras Madan <tarasmadan@google.com>2025-02-28 11:16:57 +0000
commit1e7a43e1953cb209e1a0ae4cf74256c17fbdedbd (patch)
tree882f26123836be78f21b0866673f65481f75a792 /pkg
parent6a8fcbc4a6172c831c89c507007f59fba13408aa (diff)
pkg/cover/backend: fix arch usage
There is no need to init arch every loop iteration.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/cover/backend/dwarf.go6
-rw-r--r--pkg/cover/backend/dwarf_test.go6
2 files changed, 5 insertions, 7 deletions
diff --git a/pkg/cover/backend/dwarf.go b/pkg/cover/backend/dwarf.go
index a4cfd536f..7fc91413f 100644
--- a/pkg/cover/backend/dwarf.go
+++ b/pkg/cover/backend/dwarf.go
@@ -49,7 +49,7 @@ type Arch struct {
callTarget func(arch *Arch, insn []byte, pc uint64) uint64
}
-var arches = map[string]Arch{
+var arches = map[string]*Arch{
targets.AMD64: {
scanSize: 1,
callLen: 5,
@@ -535,9 +535,9 @@ func readCoverPoints(target *targets.Target, info *symbolInfo, data []byte) ([2]
}
i := 0
+ arch := arches[target.Arch]
for {
- arch := arches[target.Arch]
- callTarget, pc := nextCallTarget(&arch, info.textAddr, data, &i)
+ callTarget, pc := nextCallTarget(arch, info.textAddr, data, &i)
if callTarget == 0 {
break
}
diff --git a/pkg/cover/backend/dwarf_test.go b/pkg/cover/backend/dwarf_test.go
index d95c1ec01..de5aec485 100644
--- a/pkg/cover/backend/dwarf_test.go
+++ b/pkg/cover/backend/dwarf_test.go
@@ -146,8 +146,7 @@ func TestNextCallTargetARM64(t *testing.T) {
},
}
for _, test := range tests {
- arch := arches["arm64"]
- test.Arch = &arch
+ test.Arch = arches["arm64"]
test.Text = test.ExpPC
runNextCallTarget(t, test)
}
@@ -171,8 +170,7 @@ func TestNextCallTargetAMD64(t *testing.T) {
},
}
for _, test := range tests {
- arch := arches["amd64"]
- test.Arch = &arch
+ test.Arch = arches["amd64"]
runNextCallTarget(t, test)
}
}