mirror of
https://github.com/golang/go
synced 2024-11-26 04:37:59 -07:00
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>
This commit is contained in:
parent
f1dce319ff
commit
1f9c9d8530
@ -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>
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user