aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime/debug.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-12-13 16:22:19 -0500
committerRuss Cox <rsc@golang.org>2010-12-13 16:22:19 -0500
commitdc9a3b2791feb3aade3b8cf00891eddcb5b5ed90 (patch)
tree9e0716513b9c3ea0c15e64464149952daaf5c48d /src/pkg/runtime/debug.go
parent287e45e2418fa2d22e1cea22b6f9a5b0e1659bb5 (diff)
downloadgo-dc9a3b2791feb3aade3b8cf00891eddcb5b5ed90.tar.xz
gc: align structs according to max alignment of fields
cc: same runtime: test cc alignment (required moving #define of offsetof to runtime.h) fix bug260 Fixes #482. Fixes #609. R=ken2, r CC=golang-dev https://golang.org/cl/3563042
Diffstat (limited to 'src/pkg/runtime/debug.go')
-rw-r--r--src/pkg/runtime/debug.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pkg/runtime/debug.go b/src/pkg/runtime/debug.go
index 3cc5472f6b..3ce35cc5ba 100644
--- a/src/pkg/runtime/debug.go
+++ b/src/pkg/runtime/debug.go
@@ -4,6 +4,8 @@
package runtime
+import "unsafe"
+
// Breakpoint() executes a breakpoint trap.
func Breakpoint()
@@ -73,6 +75,15 @@ type MemStatsType struct {
}
}
+var sizeof_C_MStats int // filled in by malloc.goc
+
+func init() {
+ if sizeof_C_MStats != unsafe.Sizeof(MemStats) {
+ println(sizeof_C_MStats, unsafe.Sizeof(MemStats))
+ panic("MStats vs MemStatsType size mismatch")
+ }
+}
+
// MemStats holds statistics about the memory system.
// The statistics are only approximate, as they are not interlocked on update.
var MemStats MemStatsType