refactoring: remove dead code
This commit is contained in:
parent
516ce73066
commit
e44c6d8337
1 changed files with 0 additions and 105 deletions
|
|
@ -13,111 +13,6 @@ import
|
||||||
ast, astalgo, magicsys, std / sha1, rodread, msgs, cgendata, sigmatch, options,
|
ast, astalgo, magicsys, std / sha1, rodread, msgs, cgendata, sigmatch, options,
|
||||||
idents, os, lexer, idgen, passes, syntaxes, llstream, modulegraphs, rod
|
idents, os, lexer, idgen, passes, syntaxes, llstream, modulegraphs, rod
|
||||||
|
|
||||||
when false:
|
|
||||||
type
|
|
||||||
TNeedRecompile* = enum Maybe, No, Yes, Probing, Recompiled
|
|
||||||
THashStatus* = enum hashNotTaken, hashCached, hashHasChanged, hashNotChanged
|
|
||||||
|
|
||||||
TModuleInMemory* = object
|
|
||||||
hash*: SecureHash
|
|
||||||
deps*: seq[int32] ## XXX: slurped files are currently not tracked
|
|
||||||
|
|
||||||
needsRecompile*: TNeedRecompile
|
|
||||||
hashStatus*: THashStatus
|
|
||||||
|
|
||||||
var
|
|
||||||
gCompiledModules: seq[PSym] = @[]
|
|
||||||
gMemCacheData*: seq[TModuleInMemory] = @[]
|
|
||||||
## XXX: we should implement recycling of file IDs
|
|
||||||
## if the user keeps renaming modules, the file IDs will keep growing
|
|
||||||
gFuzzyGraphChecking*: bool # nimsuggest uses this. XXX figure out why.
|
|
||||||
|
|
||||||
proc hashChanged(fileIdx: int32): bool =
|
|
||||||
internalAssert fileIdx >= 0 and fileIdx < gMemCacheData.len
|
|
||||||
|
|
||||||
template updateStatus =
|
|
||||||
gMemCacheData[fileIdx].hashStatus = if result: hashHasChanged
|
|
||||||
else: hashNotChanged
|
|
||||||
# echo "TESTING Hash: ", fileIdx.toFilename, " ", result
|
|
||||||
|
|
||||||
case gMemCacheData[fileIdx].hashStatus
|
|
||||||
of hashHasChanged:
|
|
||||||
result = true
|
|
||||||
of hashNotChanged:
|
|
||||||
result = false
|
|
||||||
of hashCached:
|
|
||||||
let newHash = secureHashFile(fileIdx.toFullPath)
|
|
||||||
result = newHash != gMemCacheData[fileIdx].hash
|
|
||||||
gMemCacheData[fileIdx].hash = newHash
|
|
||||||
updateStatus()
|
|
||||||
of hashNotTaken:
|
|
||||||
gMemCacheData[fileIdx].hash = secureHashFile(fileIdx.toFullPath)
|
|
||||||
result = true
|
|
||||||
updateStatus()
|
|
||||||
|
|
||||||
proc doHash(fileIdx: int32) =
|
|
||||||
if gMemCacheData[fileIdx].hashStatus == hashNotTaken:
|
|
||||||
# echo "FIRST Hash: ", fileIdx.ToFilename
|
|
||||||
gMemCacheData[fileIdx].hash = secureHashFile(fileIdx.toFullPath)
|
|
||||||
|
|
||||||
proc resetModule*(fileIdx: int32) =
|
|
||||||
# echo "HARD RESETTING ", fileIdx.toFilename
|
|
||||||
if fileIdx <% gMemCacheData.len:
|
|
||||||
gMemCacheData[fileIdx].needsRecompile = Yes
|
|
||||||
if fileIdx <% gCompiledModules.len:
|
|
||||||
gCompiledModules[fileIdx] = nil
|
|
||||||
if fileIdx <% cgendata.gModules.len:
|
|
||||||
cgendata.gModules[fileIdx] = nil
|
|
||||||
|
|
||||||
proc resetModule*(module: PSym) =
|
|
||||||
let conflict = getModule(module.position.int32)
|
|
||||||
if conflict == nil: return
|
|
||||||
doAssert conflict == module
|
|
||||||
resetModule(module.position.int32)
|
|
||||||
initStrTable(module.tab)
|
|
||||||
|
|
||||||
proc resetAllModules* =
|
|
||||||
for i in 0..gCompiledModules.high:
|
|
||||||
if gCompiledModules[i] != nil:
|
|
||||||
resetModule(i.int32)
|
|
||||||
resetPackageCache()
|
|
||||||
# for m in cgenModules(): echo "CGEN MODULE FOUND"
|
|
||||||
|
|
||||||
proc resetAllModulesHard* =
|
|
||||||
resetPackageCache()
|
|
||||||
gCompiledModules.setLen 0
|
|
||||||
gMemCacheData.setLen 0
|
|
||||||
magicsys.resetSysTypes()
|
|
||||||
# XXX
|
|
||||||
#gOwners = @[]
|
|
||||||
|
|
||||||
proc checkDepMem(fileIdx: int32): TNeedRecompile =
|
|
||||||
template markDirty =
|
|
||||||
resetModule(fileIdx)
|
|
||||||
return Yes
|
|
||||||
|
|
||||||
if gFuzzyGraphChecking:
|
|
||||||
if gMemCacheData[fileIdx].needsRecompile != Maybe:
|
|
||||||
return gMemCacheData[fileIdx].needsRecompile
|
|
||||||
else:
|
|
||||||
# cycle detection: We claim that a cycle does no harm.
|
|
||||||
if gMemCacheData[fileIdx].needsRecompile == Probing:
|
|
||||||
return No
|
|
||||||
|
|
||||||
if optForceFullMake in gGlobalOptions or hashChanged(fileIdx):
|
|
||||||
markDirty()
|
|
||||||
|
|
||||||
if gMemCacheData[fileIdx].deps != nil:
|
|
||||||
gMemCacheData[fileIdx].needsRecompile = Probing
|
|
||||||
for dep in gMemCacheData[fileIdx].deps:
|
|
||||||
let d = checkDepMem(dep)
|
|
||||||
if d in {Yes, Recompiled}:
|
|
||||||
# echo fileIdx.toFilename, " depends on ", dep.toFilename, " ", d
|
|
||||||
markDirty()
|
|
||||||
|
|
||||||
gMemCacheData[fileIdx].needsRecompile = No
|
|
||||||
return No
|
|
||||||
|
|
||||||
proc resetSystemArtifacts*() =
|
proc resetSystemArtifacts*() =
|
||||||
magicsys.resetSysTypes()
|
magicsys.resetSysTypes()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue