refactoring: orc can use getThreadId() (#19123)
* refactoring: orc can use getThreadId() * progress
This commit is contained in:
parent
7313b70a6a
commit
cde83d90aa
4 changed files with 110 additions and 96 deletions
|
|
@ -79,10 +79,12 @@ proc trace(s: Cell; desc: PNimTypeV2; j: var GcEnv) {.inline.} =
|
|||
var p = s +! sizeof(RefHeader)
|
||||
cast[TraceProc](desc.traceImpl)(p, addr(j))
|
||||
|
||||
include threadids
|
||||
|
||||
when logOrc:
|
||||
proc writeCell(msg: cstring; s: Cell; desc: PNimTypeV2) =
|
||||
cfprintf(cstderr, "%s %s %ld root index: %ld; RC: %ld; color: %ld\n",
|
||||
msg, desc.name, s.refId, s.rootIdx, s.rc shr rcShift, s.color)
|
||||
cfprintf(cstderr, "%s %s %ld root index: %ld; RC: %ld; color: %ld; thread: %ld\n",
|
||||
msg, desc.name, s.refId, s.rootIdx, s.rc shr rcShift, s.color, getThreadId())
|
||||
|
||||
proc free(s: Cell; desc: PNimTypeV2) {.inline.} =
|
||||
when traceCollector:
|
||||
|
|
@ -419,6 +421,7 @@ proc registerCycle(s: Cell; desc: PNimTypeV2) =
|
|||
proc GC_runOrc* =
|
||||
## Forces a cycle collection pass.
|
||||
collectCycles()
|
||||
orcAssert roots.len == 0, "roots not empty!"
|
||||
|
||||
proc GC_enableOrc*() =
|
||||
## Enables the cycle collector subsystem of `--gc:orc`. This is a `--gc:orc`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue