fix threading tests
This commit is contained in:
parent
567b5b07ea
commit
20d56875de
2 changed files with 10 additions and 4 deletions
|
|
@ -19,8 +19,9 @@ proc AccessThreadLocalVar(p: BProc, s: PSym) =
|
||||||
if emulatedThreadVars() and not p.ThreadVarAccessed:
|
if emulatedThreadVars() and not p.ThreadVarAccessed:
|
||||||
p.ThreadVarAccessed = true
|
p.ThreadVarAccessed = true
|
||||||
p.module.usesThreadVars = true
|
p.module.usesThreadVars = true
|
||||||
appf(p.s(cpsLocals), "NimThreadVars* NimTV;$n")
|
appf(p.procSec(cpsLocals), "NimThreadVars* NimTV;$n")
|
||||||
appcg(p, cpsInit, "NimTV=(NimThreadVars*)#GetThreadLocalVars();$n")
|
app(p.procSec(cpsInit),
|
||||||
|
ropecg(p.module, "NimTV=(NimThreadVars*)#GetThreadLocalVars();$n"))
|
||||||
|
|
||||||
var
|
var
|
||||||
nimtv: PRope # nimrod thread vars; the struct body
|
nimtv: PRope # nimrod thread vars; the struct body
|
||||||
|
|
|
||||||
|
|
@ -116,8 +116,13 @@ var
|
||||||
gForwardedProcsCounter*: int = 0
|
gForwardedProcsCounter*: int = 0
|
||||||
gNimDat*: BModule # generated global data
|
gNimDat*: BModule # generated global data
|
||||||
|
|
||||||
proc s*(prc: BProc, s: TCProcSection): var PRope {.inline.} =
|
proc s*(p: BProc, s: TCProcSection): var PRope {.inline.} =
|
||||||
result = prc.blocks[prc.blocks.len - 1].sections[s]
|
# section in the current block
|
||||||
|
result = p.blocks[p.blocks.len - 1].sections[s]
|
||||||
|
|
||||||
|
proc procSec*(p: BProc, s: TCProcSection): var PRope {.inline.} =
|
||||||
|
# top level proc sections
|
||||||
|
result = p.blocks[0].sections[s]
|
||||||
|
|
||||||
proc newProc*(prc: PSym, module: BModule): BProc =
|
proc newProc*(prc: PSym, module: BModule): BProc =
|
||||||
new(result)
|
new(result)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue