19 lines
683 B
Plaintext
19 lines
683 B
Plaintext
;;;; The dev half of temp-frame.flan: a frame loop that polls the agent at the
|
|
;;;; top of every frame and never calls (free-temp). In a dev build the poll is
|
|
;;;; a frame boundary and wipes the temp allocator, so the registry does not
|
|
;;;; fill; the last line is whether it overflowed.
|
|
(import agent "vendor:agent")
|
|
|
|
(declare-c reg-overflowed [] i32 "flan_dev_reg_overflowed")
|
|
|
|
(defn main [args [str]] i32
|
|
(let [n (bytes->i64 (bytes-view (at args 1)))
|
|
total (i64 0)]
|
|
(dotimes [i (i32 n)]
|
|
(agent/poll)
|
|
(let [s (str (i64->bytes (i64 i)))]
|
|
(set total (+ total (i64 (length (bytes-view s)))))))
|
|
(println total)
|
|
(println (reg-overflowed)))
|
|
0)
|