[K/N] Fork concurrent-mark-and-sweep GC sources

This commit is contained in:
Aleksei.Glushko
2023-10-24 15:59:43 +02:00
committed by Space Team
parent 8726608973
commit b6639ae128
13 changed files with 2368 additions and 1 deletions
@@ -9,5 +9,5 @@ enum class GC(val shortcut: String? = null) {
NOOP,
STOP_THE_WORLD_MARK_AND_SWEEP("stwms"),
PARALLEL_MARK_CONCURRENT_SWEEP("pmcs"),
// TODO: Bring back CONCURRENT_MARK_AND_SWEEP when we get concurrent mark
CONCURRENT_MARK_AND_SWEEP("cms"),
}
@@ -364,12 +364,14 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration
GC.STOP_THE_WORLD_MARK_AND_SWEEP -> add("same_thread_ms_gc_custom.bc")
GC.NOOP -> add("noop_gc_custom.bc")
GC.PARALLEL_MARK_CONCURRENT_SWEEP -> add("pmcs_gc_custom.bc")
GC.CONCURRENT_MARK_AND_SWEEP -> add("concurrent_ms_gc_custom.bc")
}
} else {
when (gc) {
GC.STOP_THE_WORLD_MARK_AND_SWEEP -> add("same_thread_ms_gc.bc")
GC.NOOP -> add("noop_gc.bc")
GC.PARALLEL_MARK_CONCURRENT_SWEEP -> add("pmcs_gc.bc")
GC.CONCURRENT_MARK_AND_SWEEP -> add("concurrent_ms_gc.bc")
}
}
if (shouldCoverLibraries || shouldCoverSources) add("profileRuntime.bc")