diff options
Diffstat (limited to 'src/runtime/stack.go')
| -rw-r--r-- | src/runtime/stack.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/runtime/stack.go b/src/runtime/stack.go index d6a4e4ea80..92b8a2b921 100644 --- a/src/runtime/stack.go +++ b/src/runtime/stack.go @@ -569,7 +569,7 @@ func ptrbit(bv *gobitvector, i uintptr) uint8 { // bv describes the memory starting at address scanp. // Adjust any pointers contained therein. -func adjustpointers(scanp unsafe.Pointer, cbv *bitvector, adjinfo *adjustinfo, f *_func) { +func adjustpointers(scanp unsafe.Pointer, cbv *bitvector, adjinfo *adjustinfo, f funcInfo) { bv := gobv(*cbv) minp := adjinfo.old.lo maxp := adjinfo.old.hi @@ -589,7 +589,7 @@ func adjustpointers(scanp unsafe.Pointer, cbv *bitvector, adjinfo *adjustinfo, f pp := (*uintptr)(add(scanp, i*sys.PtrSize)) retry: p := *pp - if f != nil && 0 < p && p < minLegalPointer && debug.invalidptr != 0 { + if f.valid() && 0 < p && p < minLegalPointer && debug.invalidptr != 0 { // Looks like a junk value in a pointer slot. // Live analysis wrong? getg().m.traceback = 2 @@ -713,7 +713,7 @@ func adjustframe(frame *stkframe, arg unsafe.Pointer) bool { if stackDebug >= 3 { print(" args\n") } - adjustpointers(unsafe.Pointer(frame.argp), &bv, adjinfo, nil) + adjustpointers(unsafe.Pointer(frame.argp), &bv, adjinfo, funcInfo{}) } return true } |
