diff options
author | fanzha02 <fannie.zhang@arm.com> | 2021-08-03 12:11:29 +0800 |
---|---|---|
committer | fannie zhang <Fannie.Zhang@arm.com> | 2021-08-10 01:13:06 +0000 |
commit | 1f9c9d853067635305f72e247c5b49e3fa5da8af (patch) | |
tree | 1f2152603d23c7511ed669c6524245148f3db4cf | |
parent | f1dce319ffd9d3663f522141abfb9c1ec9d92e04 (diff) | |
download | go-1f9c9d853067635305f72e247c5b49e3fa5da8af.tar.gz go-1f9c9d853067635305f72e247c5b49e3fa5da8af.zip |
doc: use "high address/low address" instead of "top/bottom"
The current document uses the "top" and "bottom" when talking
about the address within a frame, which may easily lead to
misunderstandings. This patch directly uses "high address"
and "low address" to make the expression clearer.
Change-Id: I7469330bbdc158672d7f0314fe6680ebdd9ab79a
Reviewed-on: https://go-review.googlesource.com/c/go/+/339369
Trust: fannie zhang <Fannie.Zhang@arm.com>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
-rw-r--r-- | doc/asm.html | 8 | ||||
-rw-r--r-- | src/cmd/internal/obj/textflag.go | 4 | ||||
-rw-r--r-- | src/runtime/textflag.h | 4 |
3 files changed, 8 insertions, 8 deletions
diff --git a/doc/asm.html b/doc/asm.html index d578800086..51f85eb948 100644 --- a/doc/asm.html +++ b/doc/asm.html @@ -166,7 +166,7 @@ jumps and branches. </li> <li> -<code>SP</code>: Stack pointer: top of stack. +<code>SP</code>: Stack pointer: the highest address within the local stack frame. </li> </ul> @@ -216,7 +216,7 @@ If a Go prototype does not name its result, the expected assembly name is <code> The <code>SP</code> pseudo-register is a virtual stack pointer used to refer to frame-local variables and the arguments being prepared for function calls. -It points to the top of the local stack frame, so references should use negative offsets +It points to the highest address within the local stack frame, so references should use negative offsets in the range [−framesize, 0): <code>x-8(SP)</code>, <code>y-4(SP)</code>, and so on. </p> @@ -409,7 +409,7 @@ The linker will choose one of the duplicates to use. (For <code>TEXT</code> items.) Don't insert the preamble to check if the stack must be split. The frame for the routine, plus anything it calls, must fit in the -spare space at the top of the stack segment. +spare space remaining in the current stack segment. Used to protect routines such as the stack splitting code itself. </li> <li> @@ -460,7 +460,7 @@ Only valid on functions that declare a frame size of 0. <code>TOPFRAME</code> = 2048 <br> (For <code>TEXT</code> items.) -Function is the top of the call stack. Traceback should stop at this function. +Function is the outermost frame of the call stack. Traceback should stop at this function. </li> </ul> diff --git a/src/cmd/internal/obj/textflag.go b/src/cmd/internal/obj/textflag.go index 881e192203..5ae75027c2 100644 --- a/src/cmd/internal/obj/textflag.go +++ b/src/cmd/internal/obj/textflag.go @@ -49,8 +49,8 @@ const ( // Function can call reflect.Type.Method or reflect.Type.MethodByName. REFLECTMETHOD = 1024 - // Function is the top of the call stack. Call stack unwinders should stop - // at this function. + // Function is the outermost frame of the call stack. Call stack unwinders + // should stop at this function. TOPFRAME = 2048 // Function is an ABI wrapper. diff --git a/src/runtime/textflag.h b/src/runtime/textflag.h index e727208cd0..214075e360 100644 --- a/src/runtime/textflag.h +++ b/src/runtime/textflag.h @@ -32,8 +32,8 @@ #define NOFRAME 512 // Function can call reflect.Type.Method or reflect.Type.MethodByName. #define REFLECTMETHOD 1024 -// Function is the top of the call stack. Call stack unwinders should stop -// at this function. +// Function is the outermost frame of the call stack. Call stack unwinders +// should stop at this function. #define TOPFRAME 2048 // Function is an ABI wrapper. #define ABIWRAPPER 4096 |