1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-28 07:50:20 +02:00
guile/module/language/tree-il
Andy Wingo 73d1502630 Lower eqv? and equal? to new instructions.
* libguile/numbers.h:
* libguile/eq.c (scm_i_heap_numbers_equal_p): New helper, factored out
  of scm_eqv_p.
  (scm_eqv_p): Use new helper.
* libguile/vm-engine.c (heap-numbers-equal?): New op.
* module/language/cps/compile-bytecode.scm (compile-function): Add
  support for heap-number? and heap-numbers-equal?.  Remove case for
  eqv?.
* module/language/cps/effects-analysis.scm: Add heap-numbers-equal?.
* module/language/cps/primitives.scm (*comparisons*): Add
  heap-numbers-equal?.
* module/language/cps/type-fold.scm (heap-numbers-equal?): Update.
* module/language/cps/types.scm (heap-numbers-equal?): Update.
* module/language/tree-il/compile-cps.scm (canonicalize): Completely
  inline eqv?, and partially inline equal?.
* module/system/vm/assembler.scm (system): Export emit-heap-numbers-equal?.
2017-10-29 15:47:25 +01:00
..
analyze.scm Add -Wmacro-use-before-definition 2016-06-25 18:08:28 +02:00
canonicalize.scm Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
compile-cps.scm Lower eqv? and equal? to new instructions. 2017-10-29 15:47:25 +01:00
debug.scm <prompt> body and handler are lambdas; add escape-only? field 2013-07-06 20:27:21 +09:00
effects.scm with-dynamic-state compiler and VM support 2016-12-05 22:57:29 +01:00
fix-letrec.scm psyntax: Generate identifiers in a deterministic fashion. 2017-03-07 20:48:40 +01:00
optimize.scm Wire up `guild compile -O0 foo.scm' 2015-10-22 17:44:17 +00:00
peval.scm with-dynamic-state compiler and VM support 2016-12-05 22:57:29 +01:00
primitives.scm Use make-struct/no-tail instead of make-struct 2017-09-20 22:07:18 +02:00
spec.scm Rename CPS2 to CPS 2015-07-22 17:19:04 +02:00