========= FILE ./src/runtime/tests/fixtures/closure_counter/closure_counter.ir.actual ========
fn2 () {
block0:
LOAD_UPVAL count_0
t1 = #val
t2 = count_0[t1]
t3 = 1
t4 = t2 + t3
count_0[t1] = t4
t7 = count_0[t1]
RETURN t7
}
fn1 () {
block0:
t0 = NEW_MAP
t1 = #val
t2 = 0
t0[t1] = t2
t4 = fn2
STORE_UPVAL t4, t0
RETURN t4
}
MAIN () {
block0:
new_counter_0 = fn1
counter_0 = CALL new_counter_0
i_0 = 0
next block1(i_0)
block1(i_1):
t5 = 10
t6 = i_1 < t5
jnt t6 block3
next block2
block2:
t7 = CALL counter_0
PRINT t7
t10 = 1
i_2 = i_1 + t10
jump block1(i_2)
block3:
t12 = null
RETURN t12
}