1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 23:00:22 +02:00
guile/module
Andy Wingo 5d25fdae37 Rewrite effects analysis to be precise for fields.
* module/language/cps/effects-analysis.scm: Rewrite so that instead of
  the depends/causes effects, there is just &type-check, &allocation,
  &read, and &write.  The object kind is a separate part of the
  bitfield, and the field in the object (if appropriate) is another
  field.  Effects are still a fixnum.  This enables precise effects for
  vectors and structs on all architectures.

  This kind of effects analysis was not possible in Tree-IL because
  Tree-IL relied on logior-ing effects of subexpressions, whereas with
  CPS we have no sub-expressions and we do flow analysis instead.

  (effect-clobbers?): Replace effects-commute? with this inherently
  directional and precise predicate.

* module/language/cps/cse.scm (compute-always-available-expressions):
  (compute-equivalent-subexpressions): Adapt to effects analysis
  change.
* module/language/cps/dce.scm (compute-live-code): Likewise.
2014-05-08 10:39:49 +02:00
..
ice-9 Rewrite boot-9 map to be recursive and pure 2014-05-01 21:17:28 +02:00
language Rewrite effects analysis to be precise for fields. 2014-05-08 10:39:49 +02:00
oop Fix foreign slot initialization and access 2014-04-27 11:02:35 +02:00
rnrs Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
scripts Merge branch 'stable-2.0' 2014-04-25 02:06:01 -04:00
srfi Rewrite boot-9 map to be recursive and pure 2014-05-01 21:17:28 +02:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Fix frame-call-representation for frames from apply-hook 2014-05-04 22:51:34 +02:00
texinfo Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
web Merge commit 'a5cbbaa66a' 2014-02-07 14:43:23 +01:00
Makefile.am Merge remote-tracking branch 'origin/stable-2.0' 2014-04-28 18:51:21 +02:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm Fix inner and outer stack cuts to match on procedure code 2014-05-01 14:26:20 +02:00
texinfo.scm Fix newline preservation in @example with lines beginning with @ 2014-03-17 21:49:16 +01:00