diff options
author | Austin Clements <austin@google.com> | 2014-10-22 13:25:37 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2014-10-22 13:25:37 -0400 |
commit | 800a826ae560191d4dbb6c529eea15cf4349a06f (patch) | |
tree | c4206bb02365c3b9c66e2946031b86f0ee527faf /src/runtime/funcdata.h | |
parent | 2c586384223e980fd3303625ea6b02ed5d9fb9c0 (diff) | |
parent | 1678ee65674b332e900a703de296eb66fbadcf45 (diff) | |
download | go-800a826ae560191d4dbb6c529eea15cf4349a06f.tar.gz |
build: merge the great pkg/ rename into dev.power64
This also removes pkg/runtime/traceback_lr.c, which was ported
to Go in an earlier commit and then moved to
runtime/traceback.go.
Reviewer: rsc@golang.org
rsc: LGTM
Diffstat (limited to 'src/runtime/funcdata.h')
-rw-r--r-- | src/runtime/funcdata.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/runtime/funcdata.h b/src/runtime/funcdata.h new file mode 100644 index 000000000..dc9c41363 --- /dev/null +++ b/src/runtime/funcdata.h @@ -0,0 +1,37 @@ +// 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. + +// This file defines the IDs for PCDATA and FUNCDATA instructions +// in Go binaries. It is included by both C and assembly, so it must +// be written using #defines. It is included by the runtime package +// as well as the compilers. +// +// symtab.go also contains a copy of these constants. + +#define PCDATA_ArgSize 0 /* argument size at CALL instruction */ +#define PCDATA_StackMapIndex 1 + +#define FUNCDATA_ArgsPointerMaps 0 /* garbage collector blocks */ +#define FUNCDATA_LocalsPointerMaps 1 +#define FUNCDATA_DeadValueMaps 2 + +// To be used in assembly. +#define ARGSIZE(n) PCDATA $PCDATA_ArgSize, $n + +// ArgsSizeUnknown is set in Func.argsize to mark all functions +// whose argument size is unknown (C vararg functions, and +// assembly code without an explicit specification). +// This value is generated by the compiler, assembler, or linker. +#define ArgsSizeUnknown 0x80000000 + +/*c2go +enum { + PCDATA_ArgSize = 0, + PCDATA_StackMapIndex = 1, + FUNCDATA_ArgsPointerMaps = 0, + FUNCDATA_LocalsPointerMaps = 1, + FUNCDATA_DeadValueMaps = 2, + ArgsSizeUnknown = 0x80000000, +}; +*/ |