From d62d8318826e17fff09fb2188dcb22fbb121fb19 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Mon, 23 Nov 2015 11:34:16 -0500 Subject: [PATCH] runtime: clean up adjustpointer and eliminate write barrier Commit a5c3bbe modified adjustpointers to use *uintptrs instead of *unsafe.Pointers for manipulating stack pointers for clarity and to eliminate the unnecessary write barrier when writing the updated stack pointer. This commit makes the equivalent change to adjustpointer. Change-Id: I6dc309590b298bdd86ecdc9737db848d6786c3f7 Reviewed-on: https://go-review.googlesource.com/17148 Reviewed-by: Rick Hudson Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot --- src/runtime/stack.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/runtime/stack.go b/src/runtime/stack.go index 81059965d9..d2466de653 100644 --- a/src/runtime/stack.go +++ b/src/runtime/stack.go @@ -521,15 +521,15 @@ type adjustinfo struct { // Adjustpointer checks whether *vpp is in the old stack described by adjinfo. // If so, it rewrites *vpp to point into the new stack. func adjustpointer(adjinfo *adjustinfo, vpp unsafe.Pointer) { - pp := (*unsafe.Pointer)(vpp) + pp := (*uintptr)(vpp) p := *pp if stackDebug >= 4 { - print(" ", pp, ":", p, "\n") + print(" ", pp, ":", hex(p), "\n") } - if adjinfo.old.lo <= uintptr(p) && uintptr(p) < adjinfo.old.hi { - *pp = add(p, adjinfo.delta) + if adjinfo.old.lo <= p && p < adjinfo.old.hi { + *pp = p + adjinfo.delta if stackDebug >= 3 { - print(" adjust ptr ", pp, ":", p, " -> ", *pp, "\n") + print(" adjust ptr ", pp, ":", hex(p), " -> ", hex(*pp), "\n") } } } -- 2.50.0