1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-07-02 23:50:47 +02:00
guile/module/language/cps
Andy Wingo 70c317ab51 SP-relative local addressing
* libguile/vm-engine.c: S24/S12/S8 operands addressed relative to the
  SP, not the FP.  Cache the SP instead of a FP-relative locals
  pointer.  Further cleanups to follow.

* libguile/vm.c (vm_builtin_call_with_values_code): Adapt to mov operand
  addresing change.

* module/language/cps/compile-bytecode.scm (compile-function): Reify
  SP-relative local indexes where appropriate.

* module/system/vm/assembler.scm (emit-fmov*): New helper, exported as
  emit-fmov.
  (shuffling-assembler, define-shuffling-assembler): Rewrite to shuffle
  via push/pop/drop.
  (standard-prelude, opt-prelude, kw-prelude): No need to provide for
  shuffling args.

* test-suite/tests/rtl.test: Update.

* module/language/cps/slot-allocation.scm: Don't reserve slots 253-255.
2015-10-21 11:49:20 +02:00
..
closure-conversion.scm Add missing files 2015-07-22 18:27:37 +02:00
compile-bytecode.scm SP-relative local addressing 2015-10-21 11:49:20 +02:00
constructors.scm Add missing files 2015-07-22 18:27:37 +02:00
contification.scm Add missing files 2015-07-22 18:27:37 +02:00
cse.scm Add missing files 2015-07-22 18:27:37 +02:00
dce.scm Factor out compute-effects/elide-type-checks from dce.scm 2015-07-24 11:39:18 +02:00
effects-analysis.scm Add closure effects 2015-07-27 15:19:45 +02:00
elide-values.scm Add missing files 2015-07-22 18:27:37 +02:00
intmap.scm Fix intmap-ref bug 2015-06-05 00:34:05 +02:00
intset.scm intset-intersect bugfix 2015-07-22 16:59:47 +02:00
licm.scm Loop-invariant code motion 2015-07-24 16:50:58 +02:00
optimize.scm Loop peeling 2015-07-27 13:45:23 +02:00
peel-loops.scm Loop peeling 2015-07-27 13:45:23 +02:00
primitives.scm Keywords have a tc7 2015-01-22 13:03:11 +01:00
prune-bailouts.scm Add missing files 2015-07-22 18:27:37 +02:00
prune-top-level-scopes.scm Add missing files 2015-07-22 18:27:37 +02:00
reify-primitives.scm Add missing files 2015-07-22 18:27:37 +02:00
renumber.scm Add missing files 2015-07-22 18:27:37 +02:00
rotate-loops.scm Simplify rotate-loops.scm 2015-07-27 12:59:09 +02:00
self-references.scm Add missing files 2015-07-22 18:27:37 +02:00
simplify.scm Add missing files 2015-07-22 18:27:37 +02:00
slot-allocation.scm SP-relative local addressing 2015-10-21 11:49:20 +02:00
spec.scm Add missing files 2015-07-22 18:27:37 +02:00
specialize-primcalls.scm Add missing files 2015-07-22 18:27:37 +02:00
split-rec.scm Add missing files 2015-07-22 18:27:37 +02:00
type-checks.scm Factor out compute-effects/elide-type-checks from dce.scm 2015-07-24 11:39:18 +02:00
type-fold.scm Add missing files 2015-07-22 18:27:37 +02:00
types.scm Add missing files 2015-07-22 18:27:37 +02:00
utils.scm solve-flow-equations tweak 2015-07-27 13:25:38 +02:00
verify.scm Add missing files 2015-07-22 18:27:37 +02:00
with-cps.scm Add missing files 2015-07-22 18:27:37 +02:00