summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-12-05 20:34:45 -0500
committerRuss Cox <rsc@golang.org>2014-12-05 20:34:45 -0500
commit9ec47922b8593000b20bd3bac2db330a98229949 (patch)
treeedc89cf42f596da1464550c2e01605bfd826aa67
parentf83565bc02ff8dbf9bb7d72a863f63c18361665d (diff)
parentffc214da93bb6958b83ded0eff1bd2de21e82431 (diff)
downloadgo-9ec47922b8593000b20bd3bac2db330a98229949.tar.gz
all: merge dev.garbage (d1238958d4ae) into default branch
When we start work on Gerrit, ppc64 and garbage collection work will continue in the master branch, not the dev branches. (We may still use dev branches for other things later, but these are ready to be merged, and doing it now, before moving to Git means we don't have to have dev branches working in the Gerrit workflow on day one.) TBR=rlh CC=golang-codereviews https://codereview.appspot.com/183140043
-rw-r--r--include/link.h10
-rw-r--r--src/cmd/9a/doc.go4
-rw-r--r--src/cmd/9a/lex.c8
-rw-r--r--src/cmd/9g/doc.go6
-rw-r--r--src/cmd/9g/galign.c8
-rw-r--r--src/cmd/9g/ggen.c6
-rw-r--r--src/cmd/9g/peep.c4
-rw-r--r--src/cmd/9l/asm.c2
-rw-r--r--src/cmd/9l/doc.go6
-rw-r--r--src/cmd/9l/obj.c10
-rw-r--r--src/cmd/api/goapi.go153
-rw-r--r--src/cmd/cgo/main.go24
-rw-r--r--src/cmd/dist/build.c23
-rw-r--r--src/cmd/dist/buildruntime.c41
-rw-r--r--src/cmd/dist/unix.c4
-rw-r--r--src/cmd/gc/popt.c4
-rw-r--r--src/cmd/go/build.go3
-rw-r--r--src/cmd/internal/objfile/disasm.go10
-rw-r--r--src/cmd/internal/objfile/elf.go2
-rw-r--r--src/cmd/internal/objfile/macho.go2
-rw-r--r--src/cmd/ld/ldelf.c4
-rw-r--r--src/cmd/objdump/objdump_test.go4
-rw-r--r--src/debug/elf/elf.go2
-rw-r--r--src/go/build/build.go2
-rw-r--r--src/go/build/syslist.go2
-rw-r--r--src/hash/crc32/crc32_generic.go2
-rw-r--r--src/liblink/obj9.c10
-rw-r--r--src/math/abs_ppc64x.s (renamed from src/math/abs_power64x.s)2
-rw-r--r--src/math/big/arith_ppc64x.s (renamed from src/math/big/arith_power64x.s)2
-rw-r--r--src/math/stubs_ppc64x.s (renamed from src/math/stubs_power64x.s)2
-rw-r--r--src/os/signal/sig.s6
-rw-r--r--src/reflect/asm_ppc64x.s (renamed from src/reflect/asm_power64x.s)2
-rwxr-xr-xsrc/run.bash4
-rw-r--r--src/run.bat6
-rw-r--r--src/runtime/arch1_ppc64.go (renamed from src/runtime/arch1_power64.go)0
-rw-r--r--src/runtime/arch1_ppc64le.go (renamed from src/runtime/arch1_power64le.go)0
-rw-r--r--src/runtime/arch_ppc64.go (renamed from src/runtime/arch_power64.go)0
-rw-r--r--src/runtime/arch_ppc64le.go (renamed from src/runtime/arch_power64le.go)0
-rw-r--r--src/runtime/asm_ppc64x.s (renamed from src/runtime/asm_power64x.s)6
-rw-r--r--src/runtime/atomic_ppc64x.go (renamed from src/runtime/atomic_power64x.go)2
-rw-r--r--src/runtime/atomic_ppc64x.s (renamed from src/runtime/atomic_power64x.s)2
-rw-r--r--src/runtime/debug/stubs.s4
-rw-r--r--src/runtime/defs1_netbsd_arm.go29
-rw-r--r--src/runtime/defs3_linux.go2
-rw-r--r--src/runtime/defs_linux_ppc64.go (renamed from src/runtime/defs_linux_power64.go)0
-rw-r--r--src/runtime/defs_linux_ppc64le.go (renamed from src/runtime/defs_linux_power64le.go)0
-rw-r--r--src/runtime/gcinfo_test.go2
-rw-r--r--src/runtime/lfstack_linux_ppc64x.go (renamed from src/runtime/lfstack_linux_power64x.go)4
-rw-r--r--src/runtime/memclr_ppc64x.s (renamed from src/runtime/memclr_power64x.s)2
-rw-r--r--src/runtime/memmove_ppc64x.s (renamed from src/runtime/memmove_power64x.s)2
-rw-r--r--src/runtime/noasm.go2
-rw-r--r--src/runtime/os_netbsd_arm.c34
-rw-r--r--src/runtime/os_netbsd_arm.go28
-rw-r--r--src/runtime/panic.go2
-rw-r--r--src/runtime/panic1.go2
-rw-r--r--src/runtime/rt0_linux_ppc64.s (renamed from src/runtime/rt0_linux_power64.s)2
-rw-r--r--src/runtime/rt0_linux_ppc64le.s (renamed from src/runtime/rt0_linux_power64le.s)2
-rw-r--r--src/runtime/runtime.go2
-rw-r--r--src/runtime/signal_linux_ppc64x.go (renamed from src/runtime/signal_linux_power64x.go)2
-rw-r--r--src/runtime/signal_netbsd_arm.go48
-rw-r--r--src/runtime/signal_netbsd_arm.h30
-rw-r--r--src/runtime/signal_ppc64x.go (renamed from src/runtime/signal_power64x.go)2
-rw-r--r--src/runtime/sys_linux_ppc64x.s (renamed from src/runtime/sys_linux_power64x.s)8
-rw-r--r--src/runtime/sys_ppc64x.go (renamed from src/runtime/sys_power64x.go)2
-rw-r--r--src/runtime/thunk.s4
-rw-r--r--src/runtime/wincallback.go43
-rw-r--r--src/runtime/zcallback_windows.s2010
-rw-r--r--src/runtime/zgoarch_386.go4
-rw-r--r--src/runtime/zgoarch_amd64.go4
-rw-r--r--src/runtime/zgoarch_amd64p32.go4
-rw-r--r--src/runtime/zgoarch_arm.go4
-rw-r--r--src/runtime/zgoarch_ppc64.go (renamed from src/runtime/zgoarch_power64.go)6
-rw-r--r--src/runtime/zgoarch_ppc64le.go (renamed from src/runtime/zgoarch_power64le.go)6
-rw-r--r--src/sync/atomic/asm_ppc64x.s (renamed from src/sync/atomic/asm_power64x.s)2
-rw-r--r--src/syscall/asm.s4
-rw-r--r--src/syscall/asm_linux_ppc64x.s (renamed from src/syscall/asm_linux_power64x.s)4
-rwxr-xr-xsrc/syscall/mkall.sh8
-rw-r--r--src/syscall/syscall_linux_ppc64x.go (renamed from src/syscall/syscall_linux_power64x.go)2
-rw-r--r--src/syscall/zerrors_linux_ppc64.go (renamed from src/syscall/zerrors_linux_power64.go)0
-rw-r--r--src/syscall/zerrors_linux_ppc64le.go (renamed from src/syscall/zerrors_linux_power64le.go)0
-rw-r--r--src/syscall/zsyscall_linux_ppc64.go (renamed from src/syscall/zsyscall_linux_power64.go)2
-rw-r--r--src/syscall/zsyscall_linux_ppc64le.go (renamed from src/syscall/zsyscall_linux_power64le.go)2
-rw-r--r--src/syscall/zsysnum_linux_ppc64.go (renamed from src/syscall/zsysnum_linux_power64.go)0
-rw-r--r--src/syscall/zsysnum_linux_ppc64le.go (renamed from src/syscall/zsysnum_linux_power64le.go)0
-rw-r--r--src/syscall/ztypes_linux_ppc64.go (renamed from src/syscall/ztypes_linux_power64.go)0
-rw-r--r--src/syscall/ztypes_linux_ppc64le.go (renamed from src/syscall/ztypes_linux_power64le.go)0
-rw-r--r--test/nilptr3.go4
-rw-r--r--test/nosplit.go6
88 files changed, 2301 insertions, 419 deletions
diff --git a/include/link.h b/include/link.h
index 2b1d02102..9e75350a8 100644
--- a/include/link.h
+++ b/include/link.h
@@ -93,10 +93,10 @@ struct Prog
// operands
Addr from;
- uchar reg; // arm, power64 only (e.g., ADD from, reg, to);
+ uchar reg; // arm, ppc64 only (e.g., ADD from, reg, to);
// starts at 0 for both GPRs and FPRs;
- // also used for ADATA width on arm, power64
- Addr from3; // power64 only (e.g., RLWM/FMADD from, reg, from3, to)
+ // also used for ADATA width on arm, ppc64
+ Addr from3; // ppc64 only (e.g., RLWM/FMADD from, reg, from3, to)
Addr to;
// for 5g, 6g, 8g internal use
@@ -636,8 +636,8 @@ extern LinkArch link386;
extern LinkArch linkamd64;
extern LinkArch linkamd64p32;
extern LinkArch linkarm;
-extern LinkArch linkpower64;
-extern LinkArch linkpower64le;
+extern LinkArch linkppc64;
+extern LinkArch linkppc64le;
#pragma varargck type "A" int
#pragma varargck type "E" uint
diff --git a/src/cmd/9a/doc.go b/src/cmd/9a/doc.go
index 44bf89dc0..f6eed6d86 100644
--- a/src/cmd/9a/doc.go
+++ b/src/cmd/9a/doc.go
@@ -14,8 +14,8 @@ Go-specific considerations are documented at
http://golang.org/doc/asm
-Its target architecture is the Power64, referred to by these tools as
-power64 (big endian) or power64le (little endian).
+Its target architecture is 64-bit PowerPC and Power Architecture processors,
+referred to by these tools as ppc64 (big endian) or ppc64le (little endian).
*/
package main
diff --git a/src/cmd/9a/lex.c b/src/cmd/9a/lex.c
index e2945ef89..c8073b07d 100644
--- a/src/cmd/9a/lex.c
+++ b/src/cmd/9a/lex.c
@@ -71,7 +71,7 @@ dodef(char *p)
Dlist[nDlist++] = p;
}
-LinkArch* thelinkarch = &linkpower64;
+LinkArch* thelinkarch = &linkppc64;
void
usage(void)
@@ -87,15 +87,15 @@ main(int argc, char *argv[])
char *p;
thechar = '9';
- thestring = "power64";
+ thestring = "ppc64";
// Allow GOARCH=thestring or GOARCH=thestringsuffix,
// but not other values.
p = getgoarch();
if(strncmp(p, thestring, strlen(thestring)) != 0)
sysfatal("cannot use %cc with GOARCH=%s", thechar, p);
- if(strcmp(p, "power64le") == 0)
- thelinkarch = &linkpower64le;
+ if(strcmp(p, "ppc64le") == 0)
+ thelinkarch = &linkppc64le;
ctxt = linknew(thelinkarch);
ctxt->diag = yyerror;
diff --git a/src/cmd/9g/doc.go b/src/cmd/9g/doc.go
index 200be2eda..56bb14344 100644
--- a/src/cmd/9g/doc.go
+++ b/src/cmd/9g/doc.go
@@ -6,9 +6,9 @@
/*
-9g is the version of the gc compiler for the Power64.
-The $GOARCH for these tools is power64 (big endian) or
-power64le (little endian).
+9g is the version of the gc compiler for 64-bit PowerPC or Power Architecture processors.
+The $GOARCH for these tools is ppc64 (big endian) or
+ppc64le (little endian).
It reads .go files and outputs .9 files. The flags are documented in ../gc/doc.go.
diff --git a/src/cmd/9g/galign.c b/src/cmd/9g/galign.c
index 97a5a5d06..67514faa4 100644
--- a/src/cmd/9g/galign.c
+++ b/src/cmd/9g/galign.c
@@ -7,17 +7,17 @@
#include "gg.h"
int thechar = '9';
-char* thestring = "power64";
+char* thestring = "ppc64";
LinkArch* thelinkarch;
void
linkarchinit(void)
{
thestring = getgoarch();
- if(strcmp(thestring, "power64le") == 0)
- thelinkarch = &linkpower64le;
+ if(strcmp(thestring, "ppc64le") == 0)
+ thelinkarch = &linkppc64le;
else
- thelinkarch = &linkpower64;
+ thelinkarch = &linkppc64;
}
vlong MAXWIDTH = 1LL<<50;
diff --git a/src/cmd/9g/ggen.c b/src/cmd/9g/ggen.c
index 7d9cf5050..f08c263c2 100644
--- a/src/cmd/9g/ggen.c
+++ b/src/cmd/9g/ggen.c
@@ -212,8 +212,8 @@ ginscall(Node *f, int proc)
// However, the stack trace code will show the line
// of the instruction byte before the return PC.
// To avoid that being an unrelated instruction,
- // insert a Power64 NOP that we will have the right line number.
- // Power64 NOP is really or r0, r0, r0; use that description
+ // insert a ppc64 NOP that we will have the right line number.
+ // The ppc64 NOP is really or r0, r0, r0; use that description
// because the NOP pseudo-instruction would be removed by
// the linker.
nodreg(&reg, types[TINT], D_R0);
@@ -953,7 +953,7 @@ clearfat(Node *nl)
f = sysfunc("duffzero");
p = gins(ADUFFZERO, N, f);
afunclit(&p->to, f);
- // 4 and 128 = magic constants: see ../../runtime/asm_power64x.s
+ // 4 and 128 = magic constants: see ../../runtime/asm_ppc64x.s
p->to.offset = 4*(128-q);
// duffzero leaves R3 on the last zeroed dword
boff = 8;
diff --git a/src/cmd/9g/peep.c b/src/cmd/9g/peep.c
index 1f430220e..4e636b148 100644
--- a/src/cmd/9g/peep.c
+++ b/src/cmd/9g/peep.c
@@ -935,7 +935,7 @@ copyau1(Prog *p, Addr *v)
}
// copysub replaces v with s in a if f!=0 or indicates it if could if f==0.
-// Returns 1 on failure to substitute (it always succeeds on power64).
+// Returns 1 on failure to substitute (it always succeeds on ppc64).
static int
copysub(Addr *a, Addr *v, Addr *s, int f)
{
@@ -946,7 +946,7 @@ copysub(Addr *a, Addr *v, Addr *s, int f)
}
// copysub1 replaces v with s in p1->reg if f!=0 or indicates if it could if f==0.
-// Returns 1 on failure to substitute (it always succeeds on power64).
+// Returns 1 on failure to substitute (it always succeeds on ppc64).
static int
copysub1(Prog *p1, Addr *v, Addr *s, int f)
{
diff --git a/src/cmd/9l/asm.c b/src/cmd/9l/asm.c
index 65a36285d..f9e2810ad 100644
--- a/src/cmd/9l/asm.c
+++ b/src/cmd/9l/asm.c
@@ -129,7 +129,7 @@ archreloc(Reloc *r, LSym *s, vlong *val)
*val = symaddr(r->sym) + r->add - symaddr(linklookup(ctxt, ".got", 0));
return 0;
case R_ADDRPOWER:
- // r->add is two power64 instructions holding an immediate 32-bit constant.
+ // r->add is two ppc64 instructions holding an immediate 32-bit constant.
// We want to add r->sym's address to that constant.
// The encoding of the immediate x<<16 + y,
// where x is the low 16 bits of the first instruction and y is the low 16
diff --git a/src/cmd/9l/doc.go b/src/cmd/9l/doc.go
index 9df5dc614..3e3c48018 100644
--- a/src/cmd/9l/doc.go
+++ b/src/cmd/9l/doc.go
@@ -6,9 +6,9 @@
/*
-9l is the linker for the Power64.
-The $GOARCH for these tools is power64 (big endian) or
-power64le (little endian).
+9l is the linker for 64-bit PowerPC and Power Architecture processors.
+The $GOARCH for these tools is ppc64 (big endian) or
+ppc64le (little endian).
The flags are documented in ../ld/doc.go.
diff --git a/src/cmd/9l/obj.c b/src/cmd/9l/obj.c
index badb72a1a..dab1ffb31 100644
--- a/src/cmd/9l/obj.c
+++ b/src/cmd/9l/obj.c
@@ -36,17 +36,17 @@
#include "../ld/dwarf.h"
#include <ar.h>
-char *thestring = "power64";
+char *thestring = "ppc64";
LinkArch *thelinkarch;
void
linkarchinit(void)
{
thestring = getgoarch();
- if(strcmp(thestring, "power64le") == 0)
- thelinkarch = &linkpower64le;
+ if(strcmp(thestring, "ppc64le") == 0)
+ thelinkarch = &linkppc64le;
else
- thelinkarch = &linkpower64;
+ thelinkarch = &linkppc64;
}
void
@@ -79,7 +79,7 @@ archinit(void)
if(INITRND == -1)
INITRND = 4096;
break;
- case Hlinux: /* power64 elf */
+ case Hlinux: /* ppc64 elf */
debug['d'] = 1; // TODO(minux): dynamic linking is not supported yet.
elfinit();
HEADR = ELFRESERVE;
diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go
index e49ba33bb..568aec8c0 100644
--- a/src/cmd/api/goapi.go
+++ b/src/cmd/api/goapi.go
@@ -352,140 +352,16 @@ var parsedFileCache = make(map[string]*ast.File)
func (w *Walker) parseFile(dir, file string) (*ast.File, error) {
filename := filepath.Join(dir, file)
- f, _ := parsedFileCache[filename]
- if f != nil {
+ if f := parsedFileCache[filename]; f != nil {
return f, nil
}
- var err error
-
- // generate missing context-dependent files.
-
- if w.context != nil && file == fmt.Sprintf("zgoos_%s.go", w.context.GOOS) {
- src := fmt.Sprintf("package runtime; const theGoos = `%s`", w.context.GOOS)
- f, err = parser.ParseFile(fset, filename, src, 0)
- if err != nil {
- log.Fatalf("incorrect generated file: %s", err)
- }
- }
-
- if w.context != nil && file == fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH) {
- src := fmt.Sprintf("package runtime; const theGoarch = `%s`", w.context.GOARCH)
- f, err = parser.ParseFile(fset, filename, src, 0)
- if err != nil {
- log.Fatalf("incorrect generated file: %s", err)
- }
- }
- if w.context != nil && file == fmt.Sprintf("zruntime_defs_%s_%s.go", w.context.GOOS, w.context.GOARCH) {
- // Just enough to keep the api checker happy. Keep sorted.
- src := "package runtime; type (" +
- " _defer struct{};" +
- " _func struct{};" +
- " _panic struct{};" +
- " _select struct{}; " +
- " _type struct{};" +
- " alg struct{};" +
- " chantype struct{};" +
- " context struct{};" + // windows
- " eface struct{};" +
- " epollevent struct{};" +
- " funcval struct{};" +
- " g struct{};" +
- " gobuf struct{};" +
- " hchan struct{};" +
- " iface struct{};" +
- " interfacetype struct{};" +
- " itab struct{};" +
- " keventt struct{};" +
- " m struct{};" +
- " maptype struct{};" +
- " mcache struct{};" +
- " mspan struct{};" +
- " mutex struct{};" +
- " note struct{};" +
- " p struct{};" +
- " parfor struct{};" +
- " slice struct{};" +
- " slicetype struct{};" +
- " stkframe struct{};" +
- " sudog struct{};" +
- " timespec struct{};" +
- " waitq struct{};" +
- " wincallbackcontext struct{};" +
- "); " +
- "const (" +
- " cb_max = 2000;" +
- " _CacheLineSize = 64;" +
- " _Gidle = 1;" +
- " _Grunnable = 2;" +
- " _Grunning = 3;" +
- " _Gsyscall = 4;" +
- " _Gwaiting = 5;" +
- " _Gdead = 6;" +
- " _Genqueue = 7;" +
- " _Gcopystack = 8;" +
- " _NSIG = 32;" +
- " _FlagNoScan = iota;" +
- " _FlagNoZero;" +
- " _TinySize;" +
- " _TinySizeClass;" +
- " _MaxSmallSize;" +
- " _PageShift;" +
- " _PageSize;" +
- " _PageMask;" +
- " _BitsPerPointer;" +
- " _BitsMask;" +
- " _PointersPerByte;" +
- " _MaxGCMask;" +
- " _BitsDead;" +
- " _BitsPointer;" +
- " _MSpanInUse;" +
- " _ConcurrentSweep;" +
- " _KindBool;" +
- " _KindInt;" +
- " _KindInt8;" +
- " _KindInt16;" +
- " _KindInt32;" +
- " _KindInt64;" +
- " _KindUint;" +
- " _KindUint8;" +
- " _KindUint16;" +
- " _KindUint32;" +
- " _KindUint64;" +
- " _KindUintptr;" +
- " _KindFloat32;" +
- " _KindFloat64;" +
- " _KindComplex64;" +
- " _KindComplex128;" +
- " _KindArray;" +
- " _KindChan;" +
- " _KindFunc;" +
- " _KindInterface;" +
- " _KindMap;" +
- " _KindPtr;" +
- " _KindSlice;" +
- " _KindString;" +
- " _KindStruct;" +
- " _KindUnsafePointer;" +
- " _KindDirectIface;" +
- " _KindGCProg;" +
- " _KindNoPointers;" +
- " _KindMask;" +
- ")"
- f, err = parser.ParseFile(fset, filename, src, 0)
- if err != nil {
- log.Fatalf("incorrect generated file: %s", err)
- }
- }
-
- if f == nil {
- f, err = parser.ParseFile(fset, filename, nil, 0)
- if err != nil {
- return nil, err
- }
+ f, err := parser.ParseFile(fset, filename, nil, 0)
+ if err != nil {
+ return nil, err
}
-
parsedFileCache[filename] = f
+
return f, nil
}
@@ -592,25 +468,6 @@ func (w *Walker) Import(name string) (pkg *types.Package) {
filenames := append(append([]string{}, info.GoFiles...), info.CgoFiles...)
- // Certain files only exist when building for the specified context.
- // Add them manually.
- if name == "runtime" {
- n := fmt.Sprintf("zgoos_%s.go", w.context.GOOS)
- if !contains(filenames, n) {
- filenames = append(filenames, n)
- }
-
- n = fmt.Sprintf("zgoarch_%s.go", w.context.GOARCH)
- if !contains(filenames, n) {
- filenames = append(filenames, n)
- }
-
- n = fmt.Sprintf("zruntime_defs_%s_%s.go", w.context.GOOS, w.context.GOARCH)
- if !contains(filenames, n) {
- filenames = append(filenames, n)
- }
- }
-
// Parse package files.
var files []*ast.File
for _, file := range filenames {
diff --git a/src/cmd/cgo/main.go b/src/cmd/cgo/main.go
index 28ded816d..911270383 100644
--- a/src/cmd/cgo/main.go
+++ b/src/cmd/cgo/main.go
@@ -130,23 +130,19 @@ func usage() {
}
var ptrSizeMap = map[string]int64{
- "386": 4,
- "amd64": 8,
- "arm": 4,
- "ppc64": 8,
- "ppc64le": 8,
- "power64": 8,
- "power64le": 8,
+ "386": 4,
+ "amd64": 8,
+ "arm": 4,
+ "ppc64": 8,
+ "ppc64le": 8,
}
var intSizeMap = map[string]int64{
- "386": 4,
- "amd64": 8,
- "arm": 4,
- "ppc64": 8,
- "ppc64le": 8,
- "power64": 8,
- "power64le": 8,
+ "386": 4,
+ "amd64": 8,
+ "arm": 4,
+ "ppc64": 8,
+ "ppc64le": 8,
}
var cPrefix string
diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c
index bfb3d15b8..5feb77612 100644
--- a/src/cmd/dist/build.c
+++ b/src/cmd/dist/build.c
@@ -48,8 +48,8 @@ static char *okgoarch[] = {
"amd64",
"amd64p32",
"386",
- "power64",
- "power64le",
+ "ppc64",
+ "ppc64le",
};
// The known operating systems.
@@ -588,9 +588,6 @@ static struct {
}},
{"runtime", {
"zaexperiment.h",
- "zsys_$GOOS_$GOARCH.s",
- "zgoarch_$GOARCH.go",
- "zgoos_$GOOS.go",
"zversion.go",
}},
};
@@ -614,7 +611,6 @@ static struct {
{"anames8.c", mkanames},
{"anames9.c", mkanames},
{"zdefaultcc.go", mkzdefaultcc},
- {"zsys_", mkzsys},
{"zversion.go", mkzversion},
{"zaexperiment.h", mkzexperiment},
@@ -1391,6 +1387,11 @@ static char *cleantab[] = {
"unicode/utf8",
};
+static char *runtimegen[] = {
+ "zaexperiment.h",
+ "zversion.go",
+};
+
static void
clean(void)
{
@@ -1417,15 +1418,11 @@ clean(void)
xremove(bpathf(&b, "%s/%s", bstr(&path), cleantab[i]+4));
}
- // remove src/runtime/z* unconditionally,
+ // remove src/runtime/zaexperiment.h and
// except leave zgoos and zgoarch, now maintained with go generate.
- vreset(&dir);
bpathf(&path, "%s/src/runtime", goroot);
- xreaddir(&dir, bstr(&path));
- for(j=0; j<dir.len; j++) {
- if(hasprefix(dir.p[j], "z") && !hasprefix(dir.p[j], "zg"))
- xremove(bpathf(&b, "%s/%s", bstr(&path), dir.p[j]));
- }
+ for(j=0; j<nelem(runtimegen); j++)
+ xremove(bpathf(&b, "%s/%s", bstr(&path), runtimegen[j]));
if(rebuildall) {
// Remove object tree.
diff --git a/src/cmd/dist/buildruntime.c b/src/cmd/dist/buildruntime.c
index 38e99e116..add689768 100644
--- a/src/cmd/dist/buildruntime.c
+++ b/src/cmd/dist/buildruntime.c
@@ -66,44 +66,3 @@ mkzexperiment(char *dir, char *file)
bfree(&out);
bfree(&exp);
}
-
-#define MAXWINCB 2000 /* maximum number of windows callbacks allowed */
-
-// mkzsys writes zsys_$GOOS_$GOARCH.s,
-// which contains arch or os specific asm code.
-//
-void
-mkzsys(char *dir, char *file)
-{
- int i;
- Buf out;
-
- USED(dir);
-
- binit(&out);
-
- bwritestr(&out, "// auto generated by go tool dist\n\n");
- if(streq(goos, "linux")) {
- bwritestr(&out, "// +build !android\n\n");
- }
-
- if(streq(goos, "windows")) {
- bwritef(&out,
- "// runtime·callbackasm is called by external code to\n"
- "// execute Go implemented callback function. It is not\n"
- "// called from the start, instead runtime·compilecallback\n"
- "// always returns address into runtime·callbackasm offset\n"
- "// appropriately so different callbacks start with different\n"
- "// CALL instruction in runtime·callbackasm. This determines\n"
- "// which Go callback function is executed later on.\n"
- "TEXT runtime·callbackasm(SB),7,$0\n");
- for(i=0; i<MAXWINCB; i++) {
- bwritef(&out, "\tCALL\truntime·callbackasm1(SB)\n");
- }
- bwritef(&out, "\tRET\n");
- }
-
- writefile(&out, file, 0);
-
- bfree(&out);
-}
diff --git a/src/cmd/dist/unix.c b/src/cmd/dist/unix.c
index 893ed5cdd..0fd17c150 100644
--- a/src/cmd/dist/unix.c
+++ b/src/cmd/dist/unix.c
@@ -709,9 +709,9 @@ main(int argc, char **argv)
else if(contains(u.machine, "arm"))
gohostarch = "arm";
else if(contains(u.machine, "ppc64le"))
- gohostarch = "power64le";
+ gohostarch = "ppc64le";
else if(contains(u.machine, "ppc64"))
- gohostarch = "power64";
+ gohostarch = "ppc64";
else
fatal("unknown architecture: %s", u.machine);
}
diff --git a/src/cmd/gc/popt.c b/src/cmd/gc/popt.c
index 6e6db88ef..993bb2482 100644
--- a/src/cmd/gc/popt.c
+++ b/src/cmd/gc/popt.c
@@ -847,10 +847,6 @@ nilopt(Prog *firstp)
Graph *g;
int ncheck, nkill;
- // TODO(minux): nilopt on power64 throw away seemly random segment of code.
- if(thechar == '9')
- return;
-
g = flowstart(firstp, sizeof(NilFlow));
if(g == nil)
return;
diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go
index 5dcaa04a1..58fc98d84 100644
--- a/src/cmd/go/build.go
+++ b/src/cmd/go/build.go
@@ -813,7 +813,8 @@ func (b *builder) build(a *action) (err error) {
}
if a.p.Standard && a.p.ImportPath == "runtime" && buildContext.Compiler == "gc" &&
- !hasString(a.p.SFiles, "zsys_"+buildContext.GOOS+"_"+buildContext.GOARCH+".s") {
+ (!hasString(a.p.GoFiles, "zgoos_"+buildContext.GOOS+".go") ||
+ !hasString(a.p.GoFiles, "zgoarch_"+buildContext.GOARCH+".go")) {
return fmt.Errorf("%s/%s must be bootstrapped using make%v", buildContext.GOOS, buildContext.GOARCH, defaultSuffix())
}
diff --git a/src/cmd/internal/objfile/disasm.go b/src/cmd/internal/objfile/disasm.go
index 1a339c321..9838ce285 100644
--- a/src/cmd/internal/objfile/disasm.go
+++ b/src/cmd/internal/objfile/disasm.go
@@ -240,9 +240,9 @@ var disasms = map[string]disasmFunc{
}
var byteOrders = map[string]binary.ByteOrder{
- "386": binary.LittleEndian,
- "amd64": binary.LittleEndian,
- "arm": binary.LittleEndian,
- "power64": binary.BigEndian,
- "power64le": binary.LittleEndian,
+ "386": binary.LittleEndian,
+ "amd64": binary.LittleEndian,
+ "arm": binary.LittleEndian,
+ "ppc64": binary.BigEndian,
+ "ppc64le": binary.LittleEndian,
}
diff --git a/src/cmd/internal/objfile/elf.go b/src/cmd/internal/objfile/elf.go
index 17755b84d..305706d43 100644
--- a/src/cmd/internal/objfile/elf.go
+++ b/src/cmd/internal/objfile/elf.go
@@ -98,7 +98,7 @@ func (f *elfFile) goarch() string {
case elf.EM_ARM:
return "arm"
case elf.EM_PPC64:
- return "power64"
+ return "ppc64"
}
return ""
}
diff --git a/src/cmd/internal/objfile/macho.go b/src/cmd/internal/objfile/macho.go
index 7dd84a339..a6cd02b93 100644
--- a/src/cmd/internal/objfile/macho.go
+++ b/src/cmd/internal/objfile/macho.go
@@ -104,7 +104,7 @@ func (f *machoFile) goarch() string {
case macho.CpuArm:
return "arm"
case macho.CpuPpc64:
- return "power64"
+ return "ppc64"
}
return ""
}
diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c
index ec8e7c4ea..243c8d807 100644
--- a/src/cmd/ld/ldelf.c
+++ b/src/cmd/ld/ldelf.c
@@ -62,7 +62,7 @@ enum
ElfMachSparc32Plus, /* SPARC V8+ */
ElfMach960, /* Intel 80960 */
ElfMachPower, /* PowerPC */
- ElfMachPower64, /* PowerPC 64 */
+ ElfMachPower64, /* PowerPC 64-bit */
ElfMachS390, /* IBM System/390 */
ElfMachV800 = 36, /* NEC V800 */
ElfMachFr20, /* Fujitsu FR20 */
@@ -438,7 +438,7 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn)
break;
case '9':
if(obj->machine != ElfMachPower64 || hdr->ident[4] != ElfClass64) {
- diag("%s: elf object but not power64", pn);
+ diag("%s: elf object but not ppc64", pn);
return;
}
break;
diff --git a/src/cmd/objdump/objdump_test.go b/src/cmd/objdump/objdump_test.go
index bd09ae9f9..513efbf96 100644
--- a/src/cmd/objdump/objdump_test.go
+++ b/src/cmd/objdump/objdump_test.go
@@ -102,7 +102,7 @@ func testDisasm(t *testing.T, flags ...string) {
func TestDisasm(t *testing.T) {
switch runtime.GOARCH {
- case "power64", "power64le":
+ case "ppc64", "ppc64le":
t.Skipf("skipping on %s, issue 9039", runtime.GOARCH)
}
testDisasm(t)
@@ -114,7 +114,7 @@ func TestDisasmExtld(t *testing.T) {
t.Skipf("skipping on %s", runtime.GOOS)
}
switch runtime.GOARCH {
- case "power64", "power64le":
+ case "ppc64", "ppc64le":
t.Skipf("skipping on %s, no support for external linking, issue 9038", runtime.GOARCH)
}
testDisasm(t, "-ldflags=-linkmode=external")
diff --git a/src/debug/elf/elf.go b/src/debug/elf/elf.go
index 46e9d5735..0ead9792b 100644
--- a/src/debug/elf/elf.go
+++ b/src/debug/elf/elf.go
@@ -1414,7 +1414,7 @@ var rppcStrings = []intName{
func (i R_PPC) String() string { return stringName(uint32(i), rppcStrings, false) }
func (i R_PPC) GoString() string { return stringName(uint32(i), rppcStrings, true) }
-// Relocation types for PowerPC 64.
+// Relocation types for 64-bit PowerPC or Power Architecture processors.
type R_PPC64 int
const (
diff --git a/src/go/build/build.go b/src/go/build/build.go
index ab2976756..12c20e58d 100644
--- a/src/go/build/build.go
+++ b/src/go/build/build.go
@@ -1386,7 +1386,7 @@ func ArchChar(goarch string) (string, error) {
return "6", nil
case "arm":
return "5", nil
- case "power64", "power64le":
+ case "ppc64", "ppc64le":
return "9", nil
}
return "", errors.New("unsupported GOARCH " + goarch)
diff --git a/src/go/build/syslist.go b/src/go/build/syslist.go
index 2ab53bb9c..9246cbf55 100644
--- a/src/go/build/syslist.go
+++ b/src/go/build/syslist.go
@@ -5,4 +5,4 @@
package build
const goosList = "android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows "
-const goarchList = "386 amd64 amd64p32 arm power64 power64le "
+const goarchList = "386 amd64 amd64p32 arm ppc64 ppc64le "
diff --git a/src/hash/crc32/crc32_generic.go b/src/hash/crc32/crc32_generic.go
index 1c7f806c6..6f597f556 100644
--- a/src/hash/crc32/crc32_generic.go
+++ b/src/hash/crc32/crc32_generic.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build 386 arm power64 power64le
+// +build 386 arm ppc64 ppc64le
package crc32
diff --git a/src/liblink/obj9.c b/src/liblink/obj9.c
index 10a1f1635..533dbc271 100644
--- a/src/liblink/obj9.c
+++ b/src/liblink/obj9.c
@@ -484,7 +484,7 @@ addstacksplit(Link *ctxt, LSym *cursym)
// NOP
//
// The NOP is needed to give the jumps somewhere to land.
- // It is a liblink NOP, not a Power64 NOP: it encodes to 0 instruction bytes.
+ // It is a liblink NOP, not a ppc64 NOP: it encodes to 0 instruction bytes.
q = appendp(ctxt, q);
@@ -988,8 +988,8 @@ prg(void)
return p;
}
-LinkArch linkpower64 = {
- .name = "power64",
+LinkArch linkppc64 = {
+ .name = "ppc64",
.thechar = '9',
.endian = BigEndian,
@@ -1035,8 +1035,8 @@ LinkArch linkpower64 = {
.AUSEFIELD = AUSEFIELD,
};
-LinkArch linkpower64le = {
- .name = "power64le",
+LinkArch linkppc64le = {
+ .name = "ppc64le",
.thechar = '9',
.endian = LittleEndian,
diff --git a/src/math/abs_power64x.s b/src/math/abs_ppc64x.s
index 3ba8201b3..4fd86785a 100644
--- a/src/math/abs_power64x.s
+++ b/src/math/abs_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/math/big/arith_power64x.s b/src/math/big/arith_ppc64x.s
index c33a9209f..0cbd126d8 100644
--- a/src/math/big/arith_power64x.s
+++ b/src/math/big/arith_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/math/stubs_power64x.s b/src/math/stubs_ppc64x.s
index 36b762554..9369c5cf2 100644
--- a/src/math/stubs_power64x.s
+++ b/src/math/stubs_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/os/signal/sig.s b/src/os/signal/sig.s
index 1826c37fb..5a042a096 100644
--- a/src/os/signal/sig.s
+++ b/src/os/signal/sig.s
@@ -4,17 +4,17 @@
// Assembly to get into package runtime without using exported symbols.
-// +build amd64 amd64p32 arm 386 power64 power64le
+// +build amd64 amd64p32 arm 386 ppc64 ppc64le
#include "textflag.h"
#ifdef GOARCH_arm
#define JMP B
#endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
#define JMP BR
#endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
#define JMP BR
#endif
diff --git a/src/reflect/asm_power64x.s b/src/reflect/asm_ppc64x.s
index 472063824..a87131e00 100644
--- a/src/reflect/asm_power64x.s
+++ b/src/reflect/asm_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
#include "funcdata.h"
diff --git a/src/run.bash b/src/run.bash
index ff98d09f5..bb9e70603 100755
--- a/src/run.bash
+++ b/src/run.bash
@@ -162,7 +162,6 @@ esac
# Race detector only supported on Linux, FreeBSD and OS X,
# and only on amd64, and only when cgo is enabled.
# Delayed until here so we know whether to try external linking.
-# DISABLED until we get garbage collection working.
case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED" in
linux-linux-amd64-1 | freebsd-freebsd-amd64-1 | darwin-darwin-amd64-1)
echo
@@ -256,8 +255,7 @@ rm -f runtest
[ "$GOOS" == nacl ] ||
(
echo
-echo '# SKIPPING API CHECK UNTIL ALL SYSTEMS BUILD.'
-# time go run $GOROOT/src/cmd/api/run.go || exit 1
+time go run $GOROOT/src/cmd/api/run.go || exit 1
) || exit $?
echo
diff --git a/src/run.bat b/src/run.bat
index efa97662f..31bb88c3d 100644
--- a/src/run.bat
+++ b/src/run.bat
@@ -135,10 +135,8 @@ set GOMAXPROCS=%OLDGOMAXPROCS%
set OLDGOMAXPROCS=
:: echo # Checking API compatibility.
-:: go run "%GOROOT%\src\cmd\api\run.go"
-:: if errorlevel 1 goto fail
-:: echo.
-echo # SKIPPING API COMPATIBILITY UNTIL ALL SYSTEMS BUILD.
+go run "%GOROOT%\src\cmd\api\run.go"
+if errorlevel 1 goto fail
echo.
echo ALL TESTS PASSED
diff --git a/src/runtime/arch1_power64.go b/src/runtime/arch1_ppc64.go
index 01e2b70f9..01e2b70f9 100644
--- a/src/runtime/arch1_power64.go
+++ b/src/runtime/arch1_ppc64.go
diff --git a/src/runtime/arch1_power64le.go b/src/runtime/arch1_ppc64le.go
index 6580732a3..6580732a3 100644
--- a/src/runtime/arch1_power64le.go
+++ b/src/runtime/arch1_ppc64le.go
diff --git a/src/runtime/arch_power64.go b/src/runtime/arch_ppc64.go
index 270cd7b95..270cd7b95 100644
--- a/src/runtime/arch_power64.go
+++ b/src/runtime/arch_ppc64.go
diff --git a/src/runtime/arch_power64le.go b/src/runtime/arch_ppc64le.go
index 270cd7b95..270cd7b95 100644
--- a/src/runtime/arch_power64le.go
+++ b/src/runtime/arch_ppc64le.go
diff --git a/src/runtime/asm_power64x.s b/src/runtime/asm_ppc64x.s
index 548c88e47..b3b55fe55 100644
--- a/src/runtime/asm_power64x.s
+++ b/src/runtime/asm_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "go_asm.h"
#include "go_tls.h"
@@ -550,7 +550,7 @@ TEXT runtime·atomicor8(SB), NOSPLIT, $0-9
// R5 = (R3 << 0) & ~3
RLDCR $0, R3, $~3, R5
// Compute val shift.
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
// Big endian. ptr = ptr ^ 3
XOR $3, R3
#endif
@@ -669,7 +669,7 @@ TEXT runtime·cputicks(SB),NOSPLIT,$0-8
MOVD R3, ret+0(FP)
RETURN
-// AES hashing not implemented for Power
+// AES hashing not implemented for ppc64
TEXT runtime·aeshash(SB),NOSPLIT,$-8-0
MOVW (R0), R1
TEXT runtime·aeshash32(SB),NOSPLIT,$-8-0
diff --git a/src/runtime/atomic_power64x.go b/src/runtime/atomic_ppc64x.go
index a0dcf514b..4080af6a5 100644
--- a/src/runtime/atomic_power64x.go
+++ b/src/runtime/atomic_ppc64x.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
package runtime
diff --git a/src/runtime/atomic_power64x.s b/src/runtime/atomic_ppc64x.s
index e72871761..7ee08213d 100644
--- a/src/runtime/atomic_power64x.s
+++ b/src/runtime/atomic_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/runtime/debug/stubs.s b/src/runtime/debug/stubs.s
index 1e883b72c..b117063e7 100644
--- a/src/runtime/debug/stubs.s
+++ b/src/runtime/debug/stubs.s
@@ -7,10 +7,10 @@
#ifdef GOARCH_arm
#define JMP B
#endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
#define JMP BR
#endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
#define JMP BR
#endif
diff --git a/src/runtime/defs1_netbsd_arm.go b/src/runtime/defs1_netbsd_arm.go
index 54ddf3882..c976351a2 100644
--- a/src/runtime/defs1_netbsd_arm.go
+++ b/src/runtime/defs1_netbsd_arm.go
@@ -84,8 +84,8 @@ const (
)
type sigaltstackt struct {
- ss_sp *byte
- ss_size uint32
+ ss_sp uintptr
+ ss_size uintptr
ss_flags int32
}
@@ -94,15 +94,16 @@ type sigset struct {
}
type siginfo struct {
- _signo int32
- _code int32
- _errno int32
- _reason [20]byte
+ _signo int32
+ _code int32
+ _errno int32
+ _reason uintptr
+ _reasonx [16]byte
}
type stackt struct {
- ss_sp *byte
- ss_size uint32
+ ss_sp uintptr
+ ss_size uintptr
ss_flags int32
}
@@ -111,11 +112,23 @@ type timespec struct {
tv_nsec int32
}
+func (ts *timespec) set_sec(x int32) {
+ ts.tv_sec = int64(x)
+}
+
+func (ts *timespec) set_nsec(x int32) {
+ ts.tv_nsec = x
+}
+
type timeval struct {
tv_sec int64
tv_usec int32
}
+func (tv *timeval) set_usec(x int32) {
+ tv.tv_usec = x
+}
+
type itimerval struct {
it_interval timeval
it_value timeval
diff --git a/src/runtime/defs3_linux.go b/src/runtime/defs3_linux.go
index 3551a4fa9..489c130d0 100644
--- a/src/runtime/defs3_linux.go
+++ b/src/runtime/defs3_linux.go
@@ -7,7 +7,7 @@
/*
Input to cgo -cdefs
-GOARCH=power64 cgo -cdefs defs_linux.go defs3_linux.go > defs_linux_power64.h
+GOARCH=ppc64 cgo -cdefs defs_linux.go defs3_linux.go > defs_linux_ppc64.h
*/
package runtime
diff --git a/src/runtime/defs_linux_power64.go b/src/runtime/defs_linux_ppc64.go
index f90b84874..f90b84874 100644
--- a/src/runtime/defs_linux_power64.go
+++ b/src/runtime/defs_linux_ppc64.go
diff --git a/src/runtime/defs_linux_power64le.go b/src/runtime/defs_linux_ppc64le.go
index f90b84874..f90b84874 100644
--- a/src/runtime/defs_linux_power64le.go
+++ b/src/runtime/defs_linux_ppc64le.go
diff --git a/src/runtime/gcinfo_test.go b/src/runtime/gcinfo_test.go
index 2b45c8184..93535ae9d 100644
--- a/src/runtime/gcinfo_test.go
+++ b/src/runtime/gcinfo_test.go
@@ -134,7 +134,7 @@ func infoBigStruct() []byte {
BitsScalar, BitsScalar, BitsScalar, BitsScalar, // t int; y uint16; u uint64
BitsPointer, BitsDead, // i string
}
- case "amd64", "power64", "power64le":
+ case "amd64", "ppc64", "ppc64le":
return []byte{
BitsPointer, // q *int
BitsScalar, BitsScalar, BitsScalar, // w byte; e [17]byte
diff --git a/src/runtime/lfstack_linux_power64x.go b/src/runtime/lfstack_linux_ppc64x.go
index 89e389fc7..7ed502558 100644
--- a/src/runtime/lfstack_linux_power64x.go
+++ b/src/runtime/lfstack_linux_ppc64x.go
@@ -2,14 +2,14 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
// +build linux
package runtime
import "unsafe"
-// On Power64, Linux limits the user address space to 46 bits (see
+// On ppc64, Linux limits the user address space to 46 bits (see
// TASK_SIZE_USER64 in the Linux kernel). This has grown over time,
// so here we allow 48 bit addresses.
//
diff --git a/src/runtime/memclr_power64x.s b/src/runtime/memclr_ppc64x.s
index dfad64b6f..535faa1c0 100644
--- a/src/runtime/memclr_power64x.s
+++ b/src/runtime/memclr_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/runtime/memmove_power64x.s b/src/runtime/memmove_ppc64x.s
index 2b04d8319..23725ed0f 100644
--- a/src/runtime/memmove_power64x.s
+++ b/src/runtime/memmove_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/runtime/noasm.go b/src/runtime/noasm.go
index 43c16860b..1337fc9a1 100644
--- a/src/runtime/noasm.go
+++ b/src/runtime/noasm.go
@@ -5,7 +5,7 @@
// Routines that are implemented in assembly in asm_{amd64,386}.s
// but are implemented in Go for arm.
-// +build arm power64 power64le
+// +build arm ppc64 ppc64le
package runtime
diff --git a/src/runtime/os_netbsd_arm.c b/src/runtime/os_netbsd_arm.c
deleted file mode 100644
index 9dd4bcdc9..000000000
--- a/src/runtime/os_netbsd_arm.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "runtime.h"
-#include "defs_GOOS_GOARCH.h"
-#include "os_GOOS.h"
-#include "signal_GOOS_GOARCH.h"
-#include "textflag.h"
-
-void
-runtime·lwp_mcontext_init(McontextT *mc, void *stack, M *mp, G *gp, void (*fn)(void))
-{
- mc->__gregs[REG_R15] = (uint32)runtime·lwp_tramp;
- mc->__gregs[REG_R13] = (uint32)stack;
- mc->__gregs[REG_R0] = (uint32)mp;
- mc->__gregs[REG_R1] = (uint32)gp;
- mc->__gregs[REG_R2] = (uint32)fn;
-}
-
-void
-runtime·checkgoarm(void)
-{
- // TODO(minux)
-}
-
-#pragma textflag NOSPLIT
-int64
-runtime·cputicks() {
- // Currently cputicks() is used in blocking profiler and to seed runtime·fastrand1().
- // runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
- // TODO: need more entropy to better seed fastrand1.
- return runtime·nanotime();
-}
diff --git a/src/runtime/os_netbsd_arm.go b/src/runtime/os_netbsd_arm.go
new file mode 100644
index 000000000..83c4c06cf
--- /dev/null
+++ b/src/runtime/os_netbsd_arm.go
@@ -0,0 +1,28 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package runtime
+
+import "unsafe"
+
+func lwp_mcontext_init(mc *mcontextt, stk unsafe.Pointer, mp *m, gp *g, fn uintptr) {
+ // Machine dependent mcontext initialisation for LWP.
+ mc.__gregs[_REG_R15] = uint32(funcPC(lwp_tramp))
+ mc.__gregs[_REG_R13] = uint32(uintptr(stk))
+ mc.__gregs[_REG_R0] = uint32(uintptr(unsafe.Pointer(mp)))
+ mc.__gregs[_REG_R1] = uint32(uintptr(unsafe.Pointer(gp)))
+ mc.__gregs[_REG_R2] = uint32(fn)
+}
+
+func checkgoarm() {
+ // TODO(minux)
+}
+
+//go:nosplit
+func cputicks() int64 {
+ // Currently cputicks() is used in blocking profiler and to seed runtime·fastrand1().
+ // runtime·nanotime() is a poor approximation of CPU ticks that is enough for the profiler.
+ // TODO: need more entropy to better seed fastrand1.
+ return nanotime()
+}
diff --git a/src/runtime/panic.go b/src/runtime/panic.go
index 95e780b1d..7ec084acf 100644
--- a/src/runtime/panic.go
+++ b/src/runtime/panic.go
@@ -66,7 +66,7 @@ func deferproc(siz int32, fn *funcval) { // arguments of fn follow fn
// we can only call nosplit routines.
argp := uintptr(unsafe.Pointer(&fn))
argp += unsafe.Sizeof(fn)
- if GOARCH == "arm" || GOARCH == "power64" || GOARCH == "power64le" {
+ if GOARCH == "arm" || GOARCH == "ppc64" || GOARCH == "ppc64le" {
argp += ptrSize // skip caller's saved link register
}
callerpc := getcallerpc(unsafe.Pointer(&siz))
diff --git a/src/runtime/panic1.go b/src/runtime/panic1.go
index 17379f963..96f07a0ca 100644
--- a/src/runtime/panic1.go
+++ b/src/runtime/panic1.go
@@ -12,7 +12,7 @@ import "unsafe"
//uint32 runtime·panicking;
var paniclk mutex
-const hasLinkRegister = GOARCH == "arm" || GOARCH == "power64" || GOARCH == "power64le"
+const hasLinkRegister = GOARCH == "arm" || GOARCH == "ppc64" || GOARCH == "ppc64le"
// Unwind the stack after a deferred function calls recover
// after a panic. Then arrange to continue running as though
diff --git a/src/runtime/rt0_linux_power64.s b/src/runtime/rt0_linux_ppc64.s
index 970b6a673..33bbbbd1b 100644
--- a/src/runtime/rt0_linux_power64.s
+++ b/src/runtime/rt0_linux_ppc64.s
@@ -1,7 +1,7 @@
#include "textflag.h"
// actually a function descriptor for _main<>(SB)
-TEXT _rt0_power64_linux(SB),NOSPLIT,$0
+TEXT _rt0_ppc64_linux(SB),NOSPLIT,$0
DWORD $_main<>(SB)
DWORD $0
DWORD $0
diff --git a/src/runtime/rt0_linux_power64le.s b/src/runtime/rt0_linux_ppc64le.s
index 85ce84733..a3b3cea0b 100644
--- a/src/runtime/rt0_linux_power64le.s
+++ b/src/runtime/rt0_linux_ppc64le.s
@@ -1,6 +1,6 @@
#include "textflag.h"
-TEXT _rt0_power64le_linux(SB),NOSPLIT,$0
+TEXT _rt0_ppc64le_linux(SB),NOSPLIT,$0
BR _main<>(SB)
TEXT _main<>(SB),NOSPLIT,$-8
diff --git a/src/runtime/runtime.go b/src/runtime/runtime.go
index 4e4e1d17a..2e291c28b 100644
--- a/src/runtime/runtime.go
+++ b/src/runtime/runtime.go
@@ -4,6 +4,8 @@
package runtime
+//go:generate go run wincallback.go
+
var ticks struct {
lock mutex
val uint64
diff --git a/src/runtime/signal_linux_power64x.go b/src/runtime/signal_linux_ppc64x.go
index 0a406b31f..da3afc9e9 100644
--- a/src/runtime/signal_linux_power64x.go
+++ b/src/runtime/signal_linux_ppc64x.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
// +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
package runtime
diff --git a/src/runtime/signal_netbsd_arm.go b/src/runtime/signal_netbsd_arm.go
new file mode 100644
index 000000000..9b114c899
--- /dev/null
+++ b/src/runtime/signal_netbsd_arm.go
@@ -0,0 +1,48 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package runtime
+
+import "unsafe"
+
+type sigctxt struct {
+ info *siginfo
+ ctxt unsafe.Pointer
+}
+
+func (c *sigctxt) regs() *mcontextt { return &(*ucontextt)(c.ctxt).uc_mcontext }
+func (c *sigctxt) r0() uint32 { return c.regs().__gregs[_REG_R0] }
+func (c *sigctxt) r1() uint32 { return c.regs().__gregs[_REG_R1] }
+func (c *sigctxt) r2() uint32 { return c.regs().__gregs[_REG_R2] }
+func (c *sigctxt) r3() uint32 { return c.regs().__gregs[_REG_R3] }
+func (c *sigctxt) r4() uint32 { return c.regs().__gregs[_REG_R4] }
+func (c *sigctxt) r5() uint32 { return c.regs().__gregs[_REG_R5] }
+func (c *sigctxt) r6() uint32 { return c.regs().__gregs[_REG_R6] }
+func (c *sigctxt) r7() uint32 { return c.regs().__gregs[_REG_R7] }
+func (c *sigctxt) r8() uint32 { return c.regs().__gregs[_REG_R8] }
+func (c *sigctxt) r9() uint32 { return c.regs().__gregs[_REG_R9] }
+func (c *sigctxt) r10() uint32 { return c.regs().__gregs[_REG_R10] }
+func (c *sigctxt) fp() uint32 { return c.regs().__gregs[_REG_R11] }
+func (c *sigctxt) ip() uint32 { return c.regs().__gregs[_REG_R12] }
+func (c *sigctxt) sp() uint32 { return c.regs().__gregs[_REG_R13] }
+func (c *sigctxt) lr() uint32 { return c.regs().__gregs[_REG_R14] }
+func (c *sigctxt) pc() uint32 { return c.regs().__gregs[_REG_R15] }
+func (c *sigctxt) cpsr() uint32 { return c.regs().__gregs[_REG_CPSR] }
+func (c *sigctxt) fault() uint32 { return uint32(c.info._reason) }
+func (c *sigctxt) trap() uint32 { return 0 }
+func (c *sigctxt) error() uint32 { return 0 }
+func (c *sigctxt) oldmask() uint32 { return 0 }
+
+func (c *sigctxt) sigcode() uint32 { return uint32(c.info._code) }
+func (c *sigctxt) sigaddr() uint32 { return uint32(c.info._reason) }
+
+func (c *sigctxt) set_pc(x uint32) { c.regs().__gregs[_REG_R15] = x }
+func (c *sigctxt) set_sp(x uint32) { c.regs().__gregs[_REG_R13] = x }
+func (c *sigctxt) set_lr(x uint32) { c.regs().__gregs[_REG_R14] = x }
+func (c *sigctxt) set_r10(x uint32) { c.regs().__gregs[_REG_R10] = x }
+
+func (c *sigctxt) set_sigcode(x uint32) { c.info._code = int32(x) }
+func (c *sigctxt) set_sigaddr(x uint32) {
+ c.info._reason = uintptr(x)
+}
diff --git a/src/runtime/signal_netbsd_arm.h b/src/runtime/signal_netbsd_arm.h
deleted file mode 100644
index 12f5827a6..000000000
--- a/src/runtime/signal_netbsd_arm.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2013 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#define SIG_REGS(ctxt) (((UcontextT*)(ctxt))->uc_mcontext)
-
-#define SIG_R0(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R0])
-#define SIG_R1(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R1])
-#define SIG_R2(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R2])
-#define SIG_R3(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R3])
-#define SIG_R4(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R4])
-#define SIG_R5(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R5])
-#define SIG_R6(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R6])
-#define SIG_R7(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R7])
-#define SIG_R8(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R8])
-#define SIG_R9(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R9])
-#define SIG_R10(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R10])
-#define SIG_FP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R11])
-#define SIG_IP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R12])
-#define SIG_SP(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R13])
-#define SIG_LR(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R14])
-#define SIG_PC(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_R15])
-#define SIG_CPSR(info, ctxt) (SIG_REGS(ctxt).__gregs[REG_CPSR])
-#define SIG_FAULT(info, ctxt) (*(uintptr*)&(info)->_reason[0])
-#define SIG_TRAP(info, ctxt) (0)
-#define SIG_ERROR(info, ctxt) (0)
-#define SIG_OLDMASK(info, ctxt) (0)
-
-#define SIG_CODE0(info, ctxt) ((info)->_code)
-#define SIG_CODE1(info, ctxt) (*(uintptr*)&(info)->_reason[0])
diff --git a/src/runtime/signal_power64x.go b/src/runtime/signal_ppc64x.go
index fc83beb1b..ab32300f3 100644
--- a/src/runtime/signal_power64x.go
+++ b/src/runtime/signal_ppc64x.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
// +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
package runtime
diff --git a/src/runtime/sys_linux_power64x.s b/src/runtime/sys_linux_ppc64x.s
index 395f657bf..4a4f440c5 100644
--- a/src/runtime/sys_linux_power64x.s
+++ b/src/runtime/sys_linux_ppc64x.s
@@ -3,10 +3,10 @@
// license that can be found in the LICENSE file.
// +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
//
-// System calls and other sys.stuff for Power64, Linux
+// System calls and other sys.stuff for ppc64, Linux
//
#include "go_asm.h"
@@ -179,8 +179,8 @@ TEXT runtime·rt_sigaction(SB),NOSPLIT,$-8-36
MOVW R3, ret+32(FP)
RETURN
-#ifdef GOARCH_power64le
-// power64le doesn't need function descriptors
+#ifdef GOARCH_ppc64le
+// ppc64le doesn't need function descriptors
TEXT runtime·sigtramp(SB),NOSPLIT,$64
#else
// function descriptor for the real sigtramp
diff --git a/src/runtime/sys_power64x.go b/src/runtime/sys_ppc64x.go
index 90ebde7b4..b0c0331fc 100644
--- a/src/runtime/sys_power64x.go
+++ b/src/runtime/sys_ppc64x.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
package runtime
diff --git a/src/runtime/thunk.s b/src/runtime/thunk.s
index 241dd90af..0714dc198 100644
--- a/src/runtime/thunk.s
+++ b/src/runtime/thunk.s
@@ -9,10 +9,10 @@
#ifdef GOARCH_arm
#define JMP B
#endif
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
#define JMP BR
#endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
#define JMP BR
#endif
diff --git a/src/runtime/wincallback.go b/src/runtime/wincallback.go
new file mode 100644
index 000000000..4c0daf17c
--- /dev/null
+++ b/src/runtime/wincallback.go
@@ -0,0 +1,43 @@
+// Copyright 2014 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ignore
+
+// Generate Windows callback assembly file.
+
+package main
+
+import (
+ "bytes"
+ "fmt"
+ "io/ioutil"
+ "os"
+)
+
+const maxCallback = 2000
+
+func main() {
+ var buf bytes.Buffer
+
+ buf.WriteString(`// generated by wincallback.go; run go generate
+
+// runtime·callbackasm is called by external code to
+// execute Go implemented callback function. It is not
+// called from the start, instead runtime·compilecallback
+// always returns address into runtime·callbackasm offset
+// appropriately so different callbacks start with different
+// CALL instruction in runtime·callbackasm. This determines
+// which Go callback function is executed later on.
+TEXT runtime·callbackasm(SB),7,$0
+`)
+ for i := 0; i < maxCallback; i++ {
+ buf.WriteString("\tCALL\truntime·callbackasm1(SB)\n")
+ }
+
+ err := ioutil.WriteFile("zcallback_windows.s", buf.Bytes(), 0666)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "wincallback: %s\n", err)
+ os.Exit(2)
+ }
+}
diff --git a/src/runtime/zcallback_windows.s b/src/runtime/zcallback_windows.s
new file mode 100644
index 000000000..b9a3a3081
--- /dev/null
+++ b/src/runtime/zcallback_windows.s
@@ -0,0 +1,2010 @@
+// generated by wincallback.go; run go generate
+
+// runtime·callbackasm is called by external code to
+// execute Go implemented callback function. It is not
+// called from the start, instead runtime·compilecallback
+// always returns address into runtime·callbackasm offset
+// appropriately so different callbacks start with different
+// CALL instruction in runtime·callbackasm. This determines
+// which Go callback function is executed later on.
+TEXT runtime·callbackasm(SB),7,$0
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
+ CALL runtime·callbackasm1(SB)
diff --git a/src/runtime/zgoarch_386.go b/src/runtime/zgoarch_386.go
index 057a746bb..8aa3da98d 100644
--- a/src/runtime/zgoarch_386.go
+++ b/src/runtime/zgoarch_386.go
@@ -8,5 +8,5 @@ const goarch_386 = 1
const goarch_amd64 = 0
const goarch_amd64p32 = 0
const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
diff --git a/src/runtime/zgoarch_amd64.go b/src/runtime/zgoarch_amd64.go
index a71240726..eb4f31d7c 100644
--- a/src/runtime/zgoarch_amd64.go
+++ b/src/runtime/zgoarch_amd64.go
@@ -8,5 +8,5 @@ const goarch_386 = 0
const goarch_amd64 = 1
const goarch_amd64p32 = 0
const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
diff --git a/src/runtime/zgoarch_amd64p32.go b/src/runtime/zgoarch_amd64p32.go
index 2b6a142bb..c2579e212 100644
--- a/src/runtime/zgoarch_amd64p32.go
+++ b/src/runtime/zgoarch_amd64p32.go
@@ -8,5 +8,5 @@ const goarch_386 = 0
const goarch_amd64 = 0
const goarch_amd64p32 = 1
const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
diff --git a/src/runtime/zgoarch_arm.go b/src/runtime/zgoarch_arm.go
index 403021005..3098bed7a 100644
--- a/src/runtime/zgoarch_arm.go
+++ b/src/runtime/zgoarch_arm.go
@@ -8,5 +8,5 @@ const goarch_386 = 0
const goarch_amd64 = 0
const goarch_amd64p32 = 0
const goarch_arm = 1
-const goarch_power64 = 0
-const goarch_power64le = 0
+const goarch_ppc64 = 0
+const goarch_ppc64le = 0
diff --git a/src/runtime/zgoarch_power64.go b/src/runtime/zgoarch_ppc64.go
index cc361f050..309732290 100644
--- a/src/runtime/zgoarch_power64.go
+++ b/src/runtime/zgoarch_ppc64.go
@@ -2,11 +2,11 @@
package runtime
-const theGoarch = `power64`
+const theGoarch = `ppc64`
const goarch_386 = 0
const goarch_amd64 = 0
const goarch_amd64p32 = 0
const goarch_arm = 0
-const goarch_power64 = 1
-const goarch_power64le = 0
+const goarch_ppc64 = 1
+const goarch_ppc64le = 0
diff --git a/src/runtime/zgoarch_power64le.go b/src/runtime/zgoarch_ppc64le.go
index 41294e61b..f4102ac1e 100644
--- a/src/runtime/zgoarch_power64le.go
+++ b/src/runtime/zgoarch_ppc64le.go
@@ -2,11 +2,11 @@
package runtime
-const theGoarch = `power64le`
+const theGoarch = `ppc64le`
const goarch_386 = 0
const goarch_amd64 = 0
const goarch_amd64p32 = 0
const goarch_arm = 0
-const goarch_power64 = 0
-const goarch_power64le = 1
+const goarch_ppc64 = 0
+const goarch_ppc64le = 1
diff --git a/src/sync/atomic/asm_power64x.s b/src/sync/atomic/asm_ppc64x.s
index 1130d3c16..bcd46c5cf 100644
--- a/src/sync/atomic/asm_power64x.s
+++ b/src/sync/atomic/asm_ppc64x.s
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
diff --git a/src/syscall/asm.s b/src/syscall/asm.s
index 43561e201..642b0b60e 100644
--- a/src/syscall/asm.s
+++ b/src/syscall/asm.s
@@ -4,10 +4,10 @@
#include "textflag.h"
-#ifdef GOARCH_power64
+#ifdef GOARCH_ppc64
#define RET RETURN
#endif
-#ifdef GOARCH_power64le
+#ifdef GOARCH_ppc64le
#define RET RETURN
#endif
diff --git a/src/syscall/asm_linux_power64x.s b/src/syscall/asm_linux_ppc64x.s
index be8518a45..5c47ac0f3 100644
--- a/src/syscall/asm_linux_power64x.s
+++ b/src/syscall/asm_linux_ppc64x.s
@@ -3,12 +3,12 @@
// license that can be found in the LICENSE file.
// +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
#include "textflag.h"
//
-// System calls for Power64, Linux
+// System calls for ppc64, Linux
//
// func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64);
diff --git a/src/syscall/mkall.sh b/src/syscall/mkall.sh
index febd5a262..29991f72f 100755
--- a/src/syscall/mkall.sh
+++ b/src/syscall/mkall.sh
@@ -177,15 +177,15 @@ linux_arm)
mksysnum="curl -s 'http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/arch/arm/include/uapi/asm/unistd.h' | ./mksysnum_linux.pl"
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
;;
-linux_power64)
- GOOSARCH_in=syscall_linux_power64x.go
+linux_ppc64)
+ GOOSARCH_in=syscall_linux_ppc64x.go
unistd_h=/usr/include/asm/unistd.h
mkerrors="$mkerrors -m64"
mksysnum="./mksysnum_linux.pl $unistd_h"
mktypes="GOARCH=$GOARCH go tool cgo -godefs"
;;
-linux_power64le)
- GOOSARCH_in=syscall_linux_power64x.go
+linux_ppc64le)
+ GOOSARCH_in=syscall_linux_ppc64x.go
unistd_h=/usr/include/powerpc64le-linux-gnu/asm/unistd.h
mkerrors="$mkerrors -m64"
mksysnum="./mksysnum_linux.pl $unistd_h"
diff --git a/src/syscall/syscall_linux_power64x.go b/src/syscall/syscall_linux_ppc64x.go
index fd043627a..65ba3567b 100644
--- a/src/syscall/syscall_linux_power64x.go
+++ b/src/syscall/syscall_linux_ppc64x.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
// +build linux
-// +build power64 power64le
+// +build ppc64 ppc64le
package syscall
diff --git a/src/syscall/zerrors_linux_power64.go b/src/syscall/zerrors_linux_ppc64.go
index 15e0770c1..15e0770c1 100644
--- a/src/syscall/zerrors_linux_power64.go
+++ b/src/syscall/zerrors_linux_ppc64.go
diff --git a/src/syscall/zerrors_linux_power64le.go b/src/syscall/zerrors_linux_ppc64le.go
index fdecdf24d..fdecdf24d 100644
--- a/src/syscall/zerrors_linux_power64le.go
+++ b/src/syscall/zerrors_linux_ppc64le.go
diff --git a/src/syscall/zsyscall_linux_power64.go b/src/syscall/zsyscall_linux_ppc64.go
index 7808059cc..e78b81349 100644
--- a/src/syscall/zsyscall_linux_power64.go
+++ b/src/syscall/zsyscall_linux_ppc64.go
@@ -1,4 +1,4 @@
-// mksyscall.pl syscall_linux.go syscall_linux_power64x.go
+// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
package syscall
diff --git a/src/syscall/zsyscall_linux_power64le.go b/src/syscall/zsyscall_linux_ppc64le.go
index 7808059cc..e78b81349 100644
--- a/src/syscall/zsyscall_linux_power64le.go
+++ b/src/syscall/zsyscall_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// mksyscall.pl syscall_linux.go syscall_linux_power64x.go
+// mksyscall.pl syscall_linux.go syscall_linux_ppc64x.go
// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
package syscall
diff --git a/src/syscall/zsysnum_linux_power64.go b/src/syscall/zsysnum_linux_ppc64.go
index 0567fd0ea..0567fd0ea 100644
--- a/src/syscall/zsysnum_linux_power64.go
+++ b/src/syscall/zsysnum_linux_ppc64.go
diff --git a/src/syscall/zsysnum_linux_power64le.go b/src/syscall/zsysnum_linux_ppc64le.go
index 52c63e3d3..52c63e3d3 100644
--- a/src/syscall/zsysnum_linux_power64le.go
+++ b/src/syscall/zsysnum_linux_ppc64le.go
diff --git a/src/syscall/ztypes_linux_power64.go b/src/syscall/ztypes_linux_ppc64.go
index 204d80685..204d80685 100644
--- a/src/syscall/ztypes_linux_power64.go
+++ b/src/syscall/ztypes_linux_ppc64.go
diff --git a/src/syscall/ztypes_linux_power64le.go b/src/syscall/ztypes_linux_ppc64le.go
index df481f5c7..df481f5c7 100644
--- a/src/syscall/ztypes_linux_power64le.go
+++ b/src/syscall/ztypes_linux_ppc64le.go
diff --git a/test/nilptr3.go b/test/nilptr3.go
index 9d65e1e91..cf26993ef 100644
--- a/test/nilptr3.go
+++ b/test/nilptr3.go
@@ -1,6 +1,6 @@
// errorcheck -0 -d=nil
-// Fails on power64x because of incomplete optimization. See issue 9058.
-// +build !power64,!power64le
+// Fails on ppc64x because of incomplete optimization. See issue 9058.
+// +build !ppc64,!ppc64le
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
diff --git a/test/nosplit.go b/test/nosplit.go
index 799f2c533..93fb133eb 100644
--- a/test/nosplit.go
+++ b/test/nosplit.go
@@ -127,7 +127,7 @@ main 136 nosplit; REJECT
# Calling a nosplit function from a nosplit function requires
# having room for the saved caller PC and the called frame.
# Because ARM doesn't save LR in the leaf, it gets an extra 4 bytes.
-# Because Power64 doesn't save LR in the leaf, it gets an extra 8 bytes.
+# Because ppc64 doesn't save LR in the leaf, it gets an extra 8 bytes.
main 112 nosplit call f; f 0 nosplit
main 116 nosplit call f; f 0 nosplit
main 120 nosplit call f; f 0 nosplit; REJECT amd64
@@ -139,7 +139,7 @@ main 136 nosplit call f; f 0 nosplit; REJECT
# Calling a splitting function from a nosplit function requires
# having room for the saved caller PC of the call but also the
# saved caller PC for the call to morestack.
-# Again the ARM and Power64 work in less space.
+# Again the ARM and ppc64 work in less space.
main 104 nosplit call f; f 0 call f
main 108 nosplit call f; f 0 call f
main 112 nosplit call f; f 0 call f; REJECT amd64
@@ -237,7 +237,7 @@ TestCases:
var buf bytes.Buffer
ptrSize := 4
switch goarch {
- case "power64", "power64le":
+ case "ppc64", "ppc64le":
ptrSize = 8
fmt.Fprintf(&buf, "#define CALL BL\n#define REGISTER (CTR)\n#define RET RETURN\n")
case "arm":