1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-04 11:10:27 +02:00
guile/module/language/tree-il
Andy Wingo b1ac8d68b5 bv-{f32,f64}-{ref,set!} operate on raw f64 values
* module/language/tree-il/compile-cps.scm (convert): Box results of
  bv-f32-ref and bv-f64-ref.  Unbox the argument to bv-f32-set! and
  bv-f64-set!.

* libguile/vm-engine.c (bv-f32-ref, bv-f64-ref): Results are raw.
  (bv-f32-set!, bv-f64-set!): Take unboxed arguments.

* module/system/vm/assembler.scm (emit-scm->f64, emit-f64->scm):
  Export.

* module/language/cps/compile-bytecode.scm (compile-function):
* module/language/cps/effects-analysis.scm: Add support for scm->f64 and
  f64->scm.

* module/language/cps/slot-allocation.scm (compute-var-representations):
  Add cases for primops returning raw values.

* module/language/cps/types.scm (bv-f32-ref, bv-f32-set!)
  (bv-f64-ref, bv-f64-set!): Deal in &f64 values instead of reals.
2015-11-11 10:20:12 +01:00
..
analyze.scm Merge branch 'stable-2.0' 2014-09-30 03:50:47 -04:00
canonicalize.scm Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
compile-cps.scm bv-{f32,f64}-{ref,set!} operate on raw f64 values 2015-11-11 10:20:12 +01:00
debug.scm <prompt> body and handler are lambdas; add escape-only? field 2013-07-06 20:27:21 +09:00
effects.scm Effects analysis distinguishes between struct fields 2013-11-10 12:05:35 +01:00
fix-letrec.scm Tree-il post-order rewriter no longer destructive 2013-06-10 22:46:08 +02:00
optimize.scm Wire up `guild compile -O0 foo.scm' 2015-10-22 17:44:17 +00:00
peval.scm Fix bug compiling fixpoint combinator 2015-05-20 19:18:45 +02:00
primitives.scm Keywords have a tc7 2015-01-22 13:03:11 +01:00
spec.scm Rename CPS2 to CPS 2015-07-22 17:19:04 +02:00