mirror of
https://github.com/golang/go
synced 2024-09-04 15:34:21 +00: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>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<code>SP</code>: Stack pointer: top of stack.
|
<code>SP</code>: Stack pointer: the highest address within the local stack frame.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</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
|
The <code>SP</code> pseudo-register is a virtual stack pointer
|
||||||
used to refer to frame-local variables and the arguments being
|
used to refer to frame-local variables and the arguments being
|
||||||
prepared for function calls.
|
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):
|
in the range [−framesize, 0):
|
||||||
<code>x-8(SP)</code>, <code>y-4(SP)</code>, and so on.
|
<code>x-8(SP)</code>, <code>y-4(SP)</code>, and so on.
|
||||||
</p>
|
</p>
|
||||||
|
@ -409,7 +409,7 @@ The linker will choose one of the duplicates to use.
|
||||||
(For <code>TEXT</code> items.)
|
(For <code>TEXT</code> items.)
|
||||||
Don't insert the preamble to check if the stack must be split.
|
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
|
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.
|
Used to protect routines such as the stack splitting code itself.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
@ -460,7 +460,7 @@ Only valid on functions that declare a frame size of 0.
|
||||||
<code>TOPFRAME</code> = 2048
|
<code>TOPFRAME</code> = 2048
|
||||||
<br>
|
<br>
|
||||||
(For <code>TEXT</code> items.)
|
(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>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
|
@ -49,8 +49,8 @@ const (
|
||||||
// Function can call reflect.Type.Method or reflect.Type.MethodByName.
|
// Function can call reflect.Type.Method or reflect.Type.MethodByName.
|
||||||
REFLECTMETHOD = 1024
|
REFLECTMETHOD = 1024
|
||||||
|
|
||||||
// Function is the top of the call stack. Call stack unwinders should stop
|
// Function is the outermost frame of the call stack. Call stack unwinders
|
||||||
// at this function.
|
// should stop at this function.
|
||||||
TOPFRAME = 2048
|
TOPFRAME = 2048
|
||||||
|
|
||||||
// Function is an ABI wrapper.
|
// Function is an ABI wrapper.
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
#define NOFRAME 512
|
#define NOFRAME 512
|
||||||
// Function can call reflect.Type.Method or reflect.Type.MethodByName.
|
// Function can call reflect.Type.Method or reflect.Type.MethodByName.
|
||||||
#define REFLECTMETHOD 1024
|
#define REFLECTMETHOD 1024
|
||||||
// Function is the top of the call stack. Call stack unwinders should stop
|
// Function is the outermost frame of the call stack. Call stack unwinders
|
||||||
// at this function.
|
// should stop at this function.
|
||||||
#define TOPFRAME 2048
|
#define TOPFRAME 2048
|
||||||
// Function is an ABI wrapper.
|
// Function is an ABI wrapper.
|
||||||
#define ABIWRAPPER 4096
|
#define ABIWRAPPER 4096
|
||||||
|
|
Loading…
Reference in a new issue