diff options
-rw-r--r-- | compiler/commands.nim | 11 | ||||
-rw-r--r-- | compiler/nim.nim | 2 | ||||
-rw-r--r-- | compiler/nimfix/nimfix.nim | 2 | ||||
-rw-r--r-- | drnim/drnim.nim | 2 | ||||
-rw-r--r-- | lib/system.nim | 5 | ||||
-rw-r--r-- | lib/system/gc2.nim | 3 | ||||
-rw-r--r-- | lib/system/mmdisp.nim | 4 | ||||
-rw-r--r-- | lib/system/sysstr.nim | 2 |
8 files changed, 15 insertions, 16 deletions
diff --git a/compiler/commands.nim b/compiler/commands.nim index c03e51220..7ee2c0459 100644 --- a/compiler/commands.nim +++ b/compiler/commands.nim @@ -11,7 +11,7 @@ # We do this here before the 'import' statement so 'defined' does not get -# confused with 'TGCMode.gcGenerational' etc. +# confused with 'TGCMode.gcMarkAndSweep' etc. template bootSwitch(name, expr, userString) = # Helper to build boot constants, for debugging you can 'echo' the else part. const name = if expr: " " & userString else: "" @@ -22,7 +22,6 @@ bootSwitch(usedDanger, defined(danger), "-d:danger") bootSwitch(useLinenoise, defined(nimUseLinenoise) or defined(useLinenoise), "-d:nimUseLinenoise") bootSwitch(usedBoehm, defined(boehmgc), "--gc:boehm") bootSwitch(usedMarkAndSweep, defined(gcmarkandsweep), "--gc:markAndSweep") -bootSwitch(usedGenerational, defined(gcgenerational), "--gc:generational") bootSwitch(usedGoGC, defined(gogc), "--gc:go") bootSwitch(usedNoGC, defined(nogc), "--gc:none") @@ -97,12 +96,13 @@ proc writeVersionInfo(conf: ConfigRef; pass: TCmdLinePass) = {msgStdout}) const gitHash {.strdefine.} = gorge("git log -n 1 --format=%H").strip + # xxx move this logic to std/private/gitutils when gitHash.len == 40: msgWriteln(conf, "git hash: " & gitHash, {msgStdout}) msgWriteln(conf, "active boot switches:" & usedRelease & usedDanger & usedTinyC & useLinenoise & usedNativeStacktrace & - usedFFI & usedBoehm & usedMarkAndSweep & usedGenerational & usedGoGC & usedNoGC, + usedFFI & usedBoehm & usedMarkAndSweep & usedGoGC & usedNoGC, {msgStdout}) msgQuit(0) @@ -247,13 +247,13 @@ proc testCompileOptionArg*(conf: ConfigRef; switch, arg: string, info: TLineInfo of "boehm": result = conf.selectedGC == gcBoehm of "refc": result = conf.selectedGC == gcRefc of "markandsweep": result = conf.selectedGC == gcMarkAndSweep - of "v2", "generational": warningOptionNoop(arg) of "destructors", "arc": result = conf.selectedGC == gcArc of "orc": result = conf.selectedGC == gcOrc of "hooks": result = conf.selectedGC == gcHooks of "go": result = conf.selectedGC == gcGo of "none": result = conf.selectedGC == gcNone of "stack", "regions": result = conf.selectedGC == gcRegions + of "v2", "generational": warningOptionNoop(arg) else: localError(conf, info, errNoneBoehmRefcExpectedButXFound % arg) of "opt": case arg.normalize @@ -560,8 +560,6 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo; incl conf.globalOptions, optTlsEmulation # Boehm GC doesn't scan the real TLS of "refc": conf.selectedGC = gcRefc - of "v2": - message(conf, info, warnDeprecated, "--gc:v2 is deprecated; using default gc") of "markandsweep": conf.selectedGC = gcMarkAndSweep defineSymbol(conf.symbols, "gcmarkandsweep") @@ -603,6 +601,7 @@ proc processSwitch*(switch, arg: string, pass: TCmdLinePass, info: TLineInfo; of "stack", "regions": conf.selectedGC = gcRegions defineSymbol(conf.symbols, "gcregions") + of "v2": warningOptionNoop(arg) else: localError(conf, info, errNoneBoehmRefcExpectedButXFound % arg) of "warnings", "w": if processOnOffSwitchOrList(conf, {optWarns}, arg, pass, info): listWarnings(conf) diff --git a/compiler/nim.nim b/compiler/nim.nim index 5ec891816..df06a83a9 100644 --- a/compiler/nim.nim +++ b/compiler/nim.nim @@ -116,7 +116,7 @@ proc handleCmdLine(cache: IdentCache; conf: ConfigRef) = when declared(GC_setMaxPause): GC_setMaxPause 2_000 -when compileOption("gc", "v2") or compileOption("gc", "refc"): +when compileOption("gc", "refc"): # the new correct mark&sweet collector is too slow :-/ GC_disableMarkAndSweep() diff --git a/compiler/nimfix/nimfix.nim b/compiler/nimfix/nimfix.nim index 4d93279c9..30c138f79 100644 --- a/compiler/nimfix/nimfix.nim +++ b/compiler/nimfix/nimfix.nim @@ -103,7 +103,7 @@ proc handleCmdLine(config: ConfigRef) = processCmdLine(passCmd2, "", config) mainCommand() -when compileOption("gc", "v2") or compileOption("gc", "refc"): +when compileOption("gc", "refc"): GC_disableMarkAndSweep() condsyms.initDefines() diff --git a/drnim/drnim.nim b/drnim/drnim.nim index f2a20fa62..44eab8625 100644 --- a/drnim/drnim.nim +++ b/drnim/drnim.nim @@ -1271,7 +1271,7 @@ proc handleCmdLine(cache: IdentCache; conf: ConfigRef) = mainCommand(graph) if conf.hasHint(hintGCStats): echo(GC_getStatistics()) -when compileOption("gc", "v2") or compileOption("gc", "refc"): +when compileOption("gc", "refc"): # the new correct mark&sweep collector is too slow :-/ GC_disableMarkAndSweep() diff --git a/lib/system.nim b/lib/system.nim index dff095f5d..6779e9ea9 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1909,9 +1909,8 @@ include "system/gc_interface" const NimStackTrace = compileOption("stacktrace") template coroutinesSupportedPlatform(): bool = - when defined(sparc) or defined(ELATE) or compileOption("gc", "v2") or - defined(boehmgc) or defined(gogc) or defined(nogc) or defined(gcRegions) or - defined(gcMarkAndSweep): + when defined(sparc) or defined(ELATE) or defined(boehmgc) or defined(gogc) or + defined(nogc) or defined(gcRegions) or defined(gcMarkAndSweep): false else: true diff --git a/lib/system/gc2.nim b/lib/system/gc2.nim index 09388b6e8..45d467051 100644 --- a/lib/system/gc2.nim +++ b/lib/system/gc2.nim @@ -7,6 +7,9 @@ # distribution, for details about the copyright. # +# xxx deadcode, consider removing unless something could be reused. + + # Garbage Collector # # The basic algorithm is an incremental mark diff --git a/lib/system/mmdisp.nim b/lib/system/mmdisp.nim index 8589b678d..96dc86bfd 100644 --- a/lib/system/mmdisp.nim +++ b/lib/system/mmdisp.nim @@ -68,9 +68,7 @@ else: include "system/cellsets" when not leakDetector and not useCellIds and not defined(nimV2): sysAssert(sizeof(Cell) == sizeof(FreeCell), "sizeof FreeCell") - when compileOption("gc", "v2"): - include "system/gc2" - elif defined(gcRegions): + when defined(gcRegions): # XXX due to bootstrapping reasons, we cannot use compileOption("gc", "stack") here include "system/gc_regions" elif defined(nimV2) or usesDestructors: diff --git a/lib/system/sysstr.nim b/lib/system/sysstr.nim index 06e605a7b..49fff41e9 100644 --- a/lib/system/sysstr.nim +++ b/lib/system/sysstr.nim @@ -304,7 +304,7 @@ proc setLengthSeq(seq: PGenericSeq, elemSize, elemAlign, newLen: int): PGenericS when not defined(boehmGC) and not defined(nogc) and not defined(gcMarkAndSweep) and not defined(gogc) and not defined(gcRegions): - when false: # compileOption("gc", "v2"): + when false: # deadcode: was used by `compileOption("gc", "v2")` for i in newLen..result.len-1: let len0 = gch.tempStack.len forAllChildrenAux(dataPointer(result, elemAlign, elemSize, i), |