From fca2de21b1555c8a238e40618fa0217e568eaf02 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Wed, 21 Sep 2022 10:14:25 -0700 Subject: [PATCH] runtime: make gc and scheduler asserts settable with build tags --- src/runtime/build_asserts.go | 9 +++++++++ src/runtime/build_noasserts.go | 9 +++++++++ src/runtime/gc_conservative.go | 6 +----- src/runtime/gc_leaking.go | 2 -- src/runtime/gc_none.go | 2 -- 5 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 src/runtime/build_asserts.go create mode 100644 src/runtime/build_noasserts.go diff --git a/src/runtime/build_asserts.go b/src/runtime/build_asserts.go new file mode 100644 index 00000000..5ce480be --- /dev/null +++ b/src/runtime/build_asserts.go @@ -0,0 +1,9 @@ +//go:build runtime_asserts + +package runtime + +// enable assertions for the garbage collector +const gcAsserts = true + +// enable asserts for the scheduler +const schedulerAsserts = true diff --git a/src/runtime/build_noasserts.go b/src/runtime/build_noasserts.go new file mode 100644 index 00000000..0316989e --- /dev/null +++ b/src/runtime/build_noasserts.go @@ -0,0 +1,9 @@ +//go:build !runtime_asserts + +package runtime + +// disable assertions for the garbage collector +const gcAsserts = false + +// disable assertions for the scheduler +const schedulerAsserts = false diff --git a/src/runtime/gc_conservative.go b/src/runtime/gc_conservative.go index 7cd61e88..f556eb38 100644 --- a/src/runtime/gc_conservative.go +++ b/src/runtime/gc_conservative.go @@ -37,11 +37,7 @@ import ( "unsafe" ) -// Set gcDebug to true to print debug information. -const ( - gcDebug = false // print debug info - gcAsserts = gcDebug // perform sanity checks -) +const gcDebug = false // Some globals + constants for the entire GC. diff --git a/src/runtime/gc_leaking.go b/src/runtime/gc_leaking.go index eab67939..e9352076 100644 --- a/src/runtime/gc_leaking.go +++ b/src/runtime/gc_leaking.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -const gcAsserts = false // perform sanity checks - // Ever-incrementing pointer: no memory is freed. var heapptr = heapStart diff --git a/src/runtime/gc_none.go b/src/runtime/gc_none.go index ab0b4b40..6ca55563 100644 --- a/src/runtime/gc_none.go +++ b/src/runtime/gc_none.go @@ -11,8 +11,6 @@ import ( "unsafe" ) -const gcAsserts = false // perform sanity checks - var gcTotalAlloc uint64 // for runtime.MemStats var gcMallocs uint64 var gcFrees uint64