blob: e7fa752f10a7b7ec7afce5b364cb7a9b2e909b2a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<h1> Package goarch </h1> <ul id="short-nav">
<li><code>import "internal/goarch"</code></li>
<li><a href="#pkg-overview" class="overviewLink">Overview</a></li>
<li><a href="#pkg-index" class="indexLink">Index</a></li>
</ul> <h2 id="pkg-overview">Overview </h2> <p>package goarch contains GOARCH-specific constants. </p> <h2 id="pkg-index">Index </h2> <ul id="manual-nav">
<li><a href="#pkg-constants">Constants</a></li>
<li><a href="#ArchFamilyType">type ArchFamilyType</a></li>
</ul> <h3>Package files</h3> <p> <span>goarch.go</span> <span>goarch_amd64.go</span> <span>zgoarch_amd64.go</span> </p> <h2 id="pkg-constants">Constants</h2> <p>BigEndian reports whether the architecture is big-endian. </p>
<pre data-language="go">const BigEndian = IsArmbe|IsArm64be|IsMips|IsMips64|IsPpc|IsPpc64|IsS390|IsS390x|IsSparc|IsSparc64 == 1</pre> <p>DefaultPhysPageSize is the default physical page size. </p>
<pre data-language="go">const DefaultPhysPageSize = _DefaultPhysPageSize</pre> <pre data-language="go">const GOARCH = `amd64`</pre> <p>Int64Align is the required alignment for a 64-bit integer (4 on 32-bit systems, 8 on 64-bit). </p>
<pre data-language="go">const Int64Align = PtrSize</pre> <pre data-language="go">const Is386 = 0</pre> <pre data-language="go">const IsAmd64 = 1</pre> <pre data-language="go">const IsAmd64p32 = 0</pre> <pre data-language="go">const IsArm = 0</pre> <pre data-language="go">const IsArm64 = 0</pre> <pre data-language="go">const IsArm64be = 0</pre> <pre data-language="go">const IsArmbe = 0</pre> <pre data-language="go">const IsLoong64 = 0</pre> <pre data-language="go">const IsMips = 0</pre> <pre data-language="go">const IsMips64 = 0</pre> <pre data-language="go">const IsMips64le = 0</pre> <pre data-language="go">const IsMips64p32 = 0</pre> <pre data-language="go">const IsMips64p32le = 0</pre> <pre data-language="go">const IsMipsle = 0</pre> <pre data-language="go">const IsPpc = 0</pre> <pre data-language="go">const IsPpc64 = 0</pre> <pre data-language="go">const IsPpc64le = 0</pre> <pre data-language="go">const IsRiscv = 0</pre> <pre data-language="go">const IsRiscv64 = 0</pre> <pre data-language="go">const IsS390 = 0</pre> <pre data-language="go">const IsS390x = 0</pre> <pre data-language="go">const IsSparc = 0</pre> <pre data-language="go">const IsSparc64 = 0</pre> <pre data-language="go">const IsWasm = 0</pre> <p>MinFrameSize is the size of the system-reserved words at the bottom of a frame (just above the architectural stack pointer). It is zero on x86 and PtrSize on most non-x86 (LR-based) systems. On PowerPC it is larger, to cover three more reserved words: the compiler word, the link editor word, and the TOC save word. </p>
<pre data-language="go">const MinFrameSize = _MinFrameSize</pre> <p>PCQuantum is the minimal unit for a program counter (1 on x86, 4 on most other systems). The various PC tables record PC deltas pre-divided by PCQuantum. </p>
<pre data-language="go">const PCQuantum = _PCQuantum</pre> <p>PtrSize is the size of a pointer in bytes - unsafe.Sizeof(uintptr(0)) but as an ideal constant. It is also the size of the machine's native word size (that is, 4 on 32-bit systems, 8 on 64-bit). </p>
<pre data-language="go">const PtrSize = 4 << (^uintptr(0) >> 63)</pre> <p>StackAlign is the required alignment of the SP register. The stack must be at least word aligned, but some architectures require more. </p>
<pre data-language="go">const StackAlign = _StackAlign</pre> <h2 id="ArchFamilyType">type <span>ArchFamilyType</span> </h2> <pre data-language="go">type ArchFamilyType int</pre> <pre data-language="go">const (
AMD64 ArchFamilyType = iota
ARM
ARM64
I386
LOONG64
MIPS
MIPS64
PPC64
RISCV64
S390X
WASM
)</pre> <p>ArchFamily is the architecture family (AMD64, ARM, ...) </p>
<pre data-language="go">const ArchFamily ArchFamilyType = _ArchFamily</pre><div class="_attribution">
<p class="_attribution-p">
© Google, Inc.<br>Licensed under the Creative Commons Attribution License 3.0.<br>
<a href="http://golang.org/pkg/internal/goarch/" class="_attribution-link">http://golang.org/pkg/internal/goarch/</a>
</p>
</div>
|