1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/module/language/tree-il
BT Templeton 9348168ed5 add `nil?' primitive
* libguile/boolean.c (scm_nil_p): New function.

* libguile/vm-i-scheme.c (nilp, not_nilp):
* libguile/vm-i-system.c (br_if_nil, br_if_not_nil): New instructions.
  Renumber other ops.

* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Increment.

* module/language/assembly/compile-bytecode.scm (compile-bytecode): Add
  support for writing `br-if-nil' and `br-if-not-nil' instructions.

* module/language/assembly/disassemble.scm (code-annotation): Add
  `br-if-nil' and `br-if-not-nil' to the list of branch instructions.

* module/language/tree-il/compile-glil.scm: Add `nil?' to
  `*primcall-ops*'.
  (flatten): Use the new branch instructions for `nil?' conditionals.

* module/language/tree-il/primitives.scm: Add `nil?' to
  `*interesting-primitive-names*', `*effect-free-primitives', and
  `*effect+exception-free-primitives*'.
2012-02-03 18:53:38 -05:00
..
analyze.scm fix misallocation of some <fix> procedures 2011-10-20 23:50:05 +02:00
canonicalize.scm separate peval and a new canonicalization pass into their own modules 2011-09-28 19:39:39 +02:00
compile-glil.scm add `nil?' primitive 2012-02-03 18:53:38 -05:00
debug.scm add tree-il verifier 2011-10-07 11:05:43 +02:00
fix-letrec.scm fix-letrec tweaks 2011-03-09 22:38:11 +01:00
inline.scm separate peval and a new canonicalization pass into their own modules 2011-09-28 19:39:39 +02:00
optimize.scm optimizer verifies its output 2011-10-07 11:06:19 +02:00
peval.scm peval: fix dynwind bug. 2011-11-09 16:54:30 +01:00
primitives.scm add `nil?' primitive 2012-02-03 18:53:38 -05:00
spec.scm remove `version' field from <language> 2010-05-02 11:19:13 +02:00