compiler,runtime: implement a portable conservative GC

This commit is contained in:
Ayke van Laethem
2019-05-14 15:18:05 +02:00
parent 00e91ec569
commit 385d1d0a5d
12 changed files with 528 additions and 17 deletions
+12
View File
@@ -0,0 +1,12 @@
// +build gc.conservative
// +build cortexm
package runtime
// markGlobals marks all globals, which are reachable by definition.
//
// This implementation marks all globals conservatively and assumes it can use
// linker-defined symbols for the start and end of the .data section.
func markGlobals() {
markRoots(globalsStart, globalsEnd)
}