1
0
mirror of https://github.com/janet-lang/janet synced 2025-10-18 17:27:40 +00:00

added symbolslots to asm

This commit is contained in:
Jona Ekenberg
2023-02-01 21:12:42 +01:00
parent b685bf3026
commit c0c8ab25e6
3 changed files with 54 additions and 10 deletions

View File

@@ -12,15 +12,19 @@
"symbolslots when *debug* is true")
(setdyn *debug* false)
# need to fix assembling functions
(comment
(setdyn *debug* true)
(def f (asm (disasm (fn [x] (fn [y] (+ x y))))))
(assert (deep= (in (disasm f) :symbolslots)
@[[0 2147483647 0 "a"] [1 2147483647 1 "x"]])
"symbolslots survive disasm/asm")
(setdyn *debug* false)
)
(setdyn *debug* true)
(defn a [arg]
(def x 10)
(do
(def y 20)
(def z 30)
(+ x y z)))
(def symbolslots (in (disasm a) :symbolslots))
(def f (asm (disasm a)))
(assert (deep= (in (disasm f) :symbolslots)
symbolslots)
"symbolslots survive disasm/asm")
(setdyn *debug* false)
(setdyn *debug* true)
(assert (deep= (in (disasm (defn a [arg]