]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj, runtime: update funcdata comments
authorAustin Clements <austin@google.com>
Mon, 20 Feb 2017 22:49:56 +0000 (17:49 -0500)
committerAustin Clements <austin@google.com>
Mon, 27 Feb 2017 22:29:28 +0000 (22:29 +0000)
The comments in cmd/internal/obj/funcdata.go are identical to the
comments in runtime/funcdata.h, but the majority of the definitions
they refer to don't apply to Go sources and have been stripped out of
funcdata.go.

Remove these stale comments from funcdata.go and clean up the
references to other copies of the PCDATA and FUNCDATA indexes.

Change-Id: I5d6e49a6e586cc9aecd7c3ce1567679f2a605884
Reviewed-on: https://go-review.googlesource.com/37330
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/internal/obj/funcdata.go
src/runtime/funcdata.h
src/runtime/symtab.go

index 62256a3e5f9ebbbc4cf6d6b54862597fa455decf..d5f891096bb53075b9d292360240a0c2f8111839 100644 (file)
@@ -5,44 +5,19 @@
 package obj
 
 // This file defines the IDs for PCDATA and FUNCDATA instructions
-// in Go binaries. It is included by assembly sources, so it must
-// be written using #defines.
+// in Go binaries.
 //
-// The Go compiler also #includes this file, for now.
-//
-// symtab.go also contains a copy of these constants.
-
-// Pseudo-assembly statements.
-
-// GO_ARGS, GO_RESULTS_INITIALIZED, and NO_LOCAL_POINTERS are macros
-// that communicate to the runtime information about the location and liveness
-// of pointers in an assembly function's arguments, results, and stack frame.
-// This communication is only required in assembly functions that make calls
-// to other functions that might be preempted or grow the stack.
-// NOSPLIT functions that make no calls do not need to use these macros.
-
-// GO_ARGS indicates that the Go prototype for this assembly function
-// defines the pointer map for the function's arguments.
-// GO_ARGS should be the first instruction in a function that uses it.
-// It can be omitted if there are no arguments at all.
-// GO_ARGS is inserted implicitly by the linker for any function
-// that also has a Go prototype and therefore is usually not necessary
-// to write explicitly.
+// These must agree with ../../../runtime/funcdata.h and
+// ../../../runtime/symtab.go.
 
-// GO_RESULTS_INITIALIZED indicates that the assembly function
-// has initialized the stack space for its results and that those results
-// should be considered live for the remainder of the function.
-
-// NO_LOCAL_POINTERS indicates that the assembly function stores
-// no pointers to heap objects in its local stack variables.
-
-// 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.
 const (
        PCDATA_StackMapIndex       = 0
        FUNCDATA_ArgsPointerMaps   = 0
        FUNCDATA_LocalsPointerMaps = 1
-       ArgsSizeUnknown            = -0x80000000
+
+       // 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.
+       ArgsSizeUnknown = -0x80000000
 )
index 82992e221b0a03889ddea81f9761938418d9d1b1..c77e7b094f1e4f950d889a6ea9af3267736b72e8 100644 (file)
@@ -6,9 +6,7 @@
 // in Go binaries. It is included by assembly sources, so it must
 // be written using #defines.
 //
-// The Go compiler also #includes this file, for now.
-//
-// symtab.go also contains a copy of these constants.
+// These must agree with symtab.go and ../cmd/internal/obj/funcdata.go.
 
 #define PCDATA_StackMapIndex 0
 
index 377d970f09ef383cefeb7938beef888c6b4a2a50..ad8a8a1b8d278387c0c49abe8093fa65f48a1d87 100644 (file)
@@ -168,7 +168,9 @@ func (f *Func) raw() *_func {
        return (*_func)(unsafe.Pointer(f))
 }
 
-// funcdata.h
+// PCDATA and FUNCDATA table indexes.
+//
+// See funcdata.h and ../cmd/internal/obj/funcdata.go.
 const (
        _PCDATA_StackMapIndex       = 0
        _FUNCDATA_ArgsPointerMaps   = 0