mirror of
https://github.com/logos-storage/apatheia.git
synced 2026-01-02 21:13:08 +00:00
214 lines
8.2 KiB
Nim
214 lines
8.2 KiB
Nim
while true:
|
|
block :stateLoop:
|
|
try:
|
|
var
|
|
:tmpD
|
|
:tmpD_1
|
|
:tmpD_2
|
|
:tmpD_3
|
|
closureIterSetupExc(:envP.`:curExc1`)
|
|
goto :envP.`:state`6
|
|
state 0:
|
|
template result(): auto {.used.} =
|
|
{.fatal: "You should not reference the `result` variable inside" &
|
|
" a void async proc".}
|
|
|
|
var :envP.closureSucceeded25 = true
|
|
:envP.`:state` = 1
|
|
break :stateLoop
|
|
state 1:
|
|
var :envP.obj117 =
|
|
type
|
|
OutType`gensym13 = typeof(items("hello world! " & $i))
|
|
block :tmp:
|
|
:tmpD =
|
|
let :envP.`:tmp5` = `&`("hello world! ", $:envP.`:up`.i1)
|
|
template s2_838861096(): untyped =
|
|
:tmp_1
|
|
|
|
var :envP.i`gensym1310 = 0
|
|
var :envP.result`gensym139 = newSeq(
|
|
chckRange(len(:envP.`:tmp5`), 0, 9223372036854775807))
|
|
block :tmp_2:
|
|
var :envP.it`gensym138
|
|
var :envP.i6 = 0
|
|
let :envP.L7 = len(:envP.`:tmp5`)
|
|
block :tmp_3:
|
|
while :envP.i6 < :envP.L7:
|
|
:envP.it`gensym138 = :envP.`:tmp5`[:envP.i6]
|
|
:envP.result`gensym139[:envP.i`gensym1310] = :envP.it`gensym138
|
|
:envP.i`gensym1310 += 1
|
|
inc(:envP.i6, 1)
|
|
const
|
|
loc`gensym22 = (filename: "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim",
|
|
line: 258, column: 10)
|
|
ploc`gensym22 = "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim(258, 11)"
|
|
bind instantiationInfo
|
|
mixin failedAssertImpl
|
|
{.line: (filename: "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim",
|
|
line: 258, column: 10).}:
|
|
if not (len(:envP.`:tmp5`) == :envP.L7):
|
|
failedAssertImpl("/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim(258, 11) `len(a) == L` the length of the string changed while iterating over it")
|
|
:envP.result`gensym139
|
|
:tmpD
|
|
var :envP.obj218 =
|
|
type
|
|
OutType`gensym20 = typeof(items("goodbye denver!"))
|
|
block :tmp_4:
|
|
:tmpD_1 =
|
|
let :envP.`:tmp11` = "goodbye denver!"
|
|
template s2_838861153(): untyped =
|
|
:tmp_5
|
|
|
|
var :envP.i`gensym2016 = 0
|
|
var :envP.result`gensym2015 = newSeq(
|
|
chckRange(len(:envP.`:tmp11`), 0, 9223372036854775807))
|
|
block :tmp_6:
|
|
var :envP.it`gensym2014
|
|
var :envP.i12 = 0
|
|
let :envP.L13 = len(:envP.`:tmp11`)
|
|
block :tmp_7:
|
|
while :envP.i12 < :envP.L13:
|
|
:envP.it`gensym2014 = :envP.`:tmp11`[:envP.i12]
|
|
:envP.result`gensym2015[:envP.i`gensym2016] = :envP.it`gensym2014
|
|
:envP.i`gensym2016 += 1
|
|
inc(:envP.i12, 1)
|
|
const
|
|
loc`gensym22 = (filename: "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim",
|
|
line: 258, column: 10)
|
|
ploc`gensym22 = "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim(258, 11)"
|
|
bind instantiationInfo
|
|
mixin failedAssertImpl
|
|
{.line: (filename: "/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim",
|
|
line: 258, column: 10).}:
|
|
if not (len(:envP.`:tmp11`) == :envP.L13):
|
|
failedAssertImpl("/Users/elcritch/.asdf/installs/nim/1.6.18/lib/system/iterators.nim(258, 11) `len(a) == L` the length of the string changed while iterating over it")
|
|
:envP.result`gensym2015
|
|
:tmpD_1
|
|
var :envP.data20 = @[
|
|
:tmpD_2 = :envP.obj117
|
|
:tmpD_2,
|
|
:tmpD_3 = :envP.obj218
|
|
:tmpD_3]
|
|
block :tmp_8:
|
|
var
|
|
:tmpD_4
|
|
:tmpD_5
|
|
:tmpD_6
|
|
:tmpD_7
|
|
let :envP.taskNode23 = new(TaskNode, workerContext.currentTask) do:
|
|
type
|
|
ScratchObj = object
|
|
data: seq[seq[char]]
|
|
sig: ThreadSignalPtr
|
|
|
|
let :envP.scratch19 = cast[ptr ScratchObj](c_calloc(1'u, 16'u))
|
|
if isNil(:envP.scratch19):
|
|
raise
|
|
(ref OutOfMemDefect)(msg: "Could not allocate memory", parent: nil)
|
|
block :tmp_9:
|
|
var
|
|
:tmpD_8
|
|
:tmpD_9
|
|
`=sink`(:envP.isoTemp21, isolate do:
|
|
:tmpD_8 = :envP.data20
|
|
:tmpD_8)
|
|
:envP.scratch19.data = extract(:envP.isoTemp21)
|
|
`=sink_1`(:envP.isoTemp22, isolate do:
|
|
:tmpD_9 = :envP.`:up`.sig2
|
|
:tmpD_9)
|
|
:envP.scratch19.sig = extract_1(:envP.isoTemp22)
|
|
proc worker_838861197(args`gensym27: pointer) {.gcsafe, nimcall,
|
|
raises: [].} =
|
|
let objTemp = cast[ptr ScratchObj](args`gensym27)
|
|
let data_1 = objTemp.data
|
|
let sig_1 = objTemp.sig
|
|
worker(data_1, sig_1)
|
|
|
|
proc destroyScratch_838861198(args`gensym27_1: pointer) {.gcsafe,
|
|
nimcall, raises: [].} =
|
|
let obj = cast[ptr ScratchObj](args`gensym27_1)
|
|
`=destroy`(obj[])
|
|
|
|
Task(callback:
|
|
:tmpD_4 = worker_1
|
|
:tmpD_4, args:
|
|
:tmpD_5 = :envP.scratch19
|
|
:tmpD_5, destroy:
|
|
:tmpD_6 = destroyScratch
|
|
:tmpD_6)
|
|
schedule(workerContext):
|
|
:tmpD_7 = :envP.taskNode23
|
|
:tmpD_7
|
|
chronosInternalRetFuture.internalChild = FutureBase(wait(:envP.`:up`.sig2))
|
|
:envP.`:state` = 4
|
|
return chronosInternalRetFuture.internalChild
|
|
state 2:
|
|
:envP.`:curExc1` = nil
|
|
if of(getCurrentException(), CancelledError):
|
|
:envP.closureSucceeded25 = false
|
|
cancelAndSchedule(FutureBase(cast[Future[void]](chronosInternalRetFuture)),
|
|
srcLocImpl("", "exNoFailureSeqSeq.nim", 43))
|
|
elif of(getCurrentException(), CatchableError):
|
|
let :envP.exc26 = getCurrentException()
|
|
:envP.closureSucceeded25 = false
|
|
failImpl(FutureBase(cast[Future[void]](chronosInternalRetFuture)),
|
|
:envP.exc26, srcLocImpl("", "exNoFailureSeqSeq.nim", 43))
|
|
elif of(getCurrentException(), Defect):
|
|
var :tmpD_10
|
|
let :envP.exc27 = getCurrentException()
|
|
:envP.closureSucceeded25 = false
|
|
raise
|
|
:tmpD_10 = :envP.exc27
|
|
:tmpD_10
|
|
else:
|
|
:envP.`:unrollFinally3` = true
|
|
:envP.`:curExc1` = getCurrentException()
|
|
:envP.`:state` = 3
|
|
break :stateLoop
|
|
:envP.`:state` = 3
|
|
break :stateLoop
|
|
state 3:
|
|
if :envP.closureSucceeded25:
|
|
complete(cast[Future[void]](chronosInternalRetFuture),
|
|
srcLocImpl("", "exNoFailureSeqSeq.nim", 43))
|
|
if :envP.`:unrollFinally3`:
|
|
if `==`(:envP.`:curExc1`, nil):
|
|
:envP.`:state` = -1
|
|
return result = :envP.`:tmpResult2`
|
|
else:
|
|
var :tmpD_11
|
|
closureIterSetupExc(nil)
|
|
raise
|
|
:tmpD_11 = :envP.`:curExc1`
|
|
:tmpD_11
|
|
:envP.`:state` = 6
|
|
break :stateLoop
|
|
state 4:
|
|
{.cast(raises: [AsyncError, CancelledError]).}:
|
|
if isNil(cast[type(wait(sig_2))](chronosInternalRetFuture.internalChild).internalError):
|
|
discard
|
|
else:
|
|
var :tmpD_12
|
|
raise
|
|
:tmpD_12 = cast[type(wait(sig_2))](chronosInternalRetFuture.internalChild).internalError
|
|
:tmpD_12
|
|
:envP.`:state` = 5
|
|
break :stateLoop
|
|
state 5:
|
|
echo ["data: ", repr(pointer(addr(:envP.data20)))]
|
|
echo ["data: ", `$_1`(:envP.data20)]
|
|
echo [""]
|
|
:envP.`:state` = 3
|
|
break :stateLoop
|
|
state 6:
|
|
:envP.`:state` = -1
|
|
break :stateLoop
|
|
except:
|
|
:envP.`:state` = [0, -2, 3, 0, -2, -2, 0][:envP.`:state`]
|
|
if `==`(:envP.`:state`, 0):
|
|
raise
|
|
:envP.`:unrollFinally3` = `<`(0, :envP.`:state`)
|
|
if `<`(:envP.`:state`, 0):
|
|
:envP.`:state` = `-`(:envP.`:state`)
|
|
:envP.`:curExc1` = getCurrentException() |