1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00
guile/module/language/cps
Andy Wingo dfbe869e24 Add low-level support for unboxed 64-bit unsigned ints
* libguile/frames.c (enum stack_item_representation)
* libguile/frames.c (scm_to_stack_item_representation):
  (scm_frame_local_ref, scm_frame_local_set_x): Support 'u64 slots.
* libguile/frames.h (union scm_vm_stack_element): Add as_u64 member.

* libguile/vm-engine.c (SP_REF_U64, SP_SET_U64): New helpers.
  (scm->u64, u64->scm): New instructions.

* module/language/cps/cse.scm (compute-equivalent-subexpressions):
  Scalar replacement for u64->scm and scm->u64.

* module/language/cps/effects-analysis.scm (scm->u64, u64->scm): Add
  cases.

* module/language/cps/slot-allocation.scm (compute-var-representations):
  (allocate-slots): Represent the result of scm->u64 as a "u64" slot.

* module/language/cps/types.scm (&u64): New type.
  (scm->u64, u64->scm): Add support for these ops.

* module/system/vm/assembler.scm (write-arities):
* module/system/vm/debug.scm (arity-definitions): Support u64
  representations.
2015-12-01 11:30:54 +01:00
..
closure-conversion.scm Fix miscompilation of closures allocated as vectors 2015-11-11 16:30:59 +01:00
compile-bytecode.scm All arities serialize a "closure" binding 2015-12-01 10:57:20 +01:00
constructors.scm Add missing files 2015-07-22 18:27:37 +02:00
contification.scm Replace return primcalls with $values 2015-10-28 11:11:23 +00:00
cse.scm Add low-level support for unboxed 64-bit unsigned ints 2015-12-01 11:30:54 +01: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 low-level support for unboxed 64-bit unsigned ints 2015-12-01 11:30:54 +01: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 Add new pass to specialize "add" into "fadd" where possible 2015-11-11 10:21:43 +01:00
peel-loops.scm Loop peeling 2015-07-27 13:45:23 +02:00
primitives.scm Don't compile equal? to br-if-equal 2015-11-12 21:22:19 +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 Add low-level support for unboxed 64-bit unsigned ints 2015-12-01 11:30:54 +01:00
spec.scm Add missing files 2015-07-22 18:27:37 +02:00
specialize-numbers.scm Remove debug printout in specialize-numbers 2015-11-11 10:21:43 +01: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 Don't compile equal? to br-if-equal 2015-11-12 21:22:19 +01:00
types.scm Add low-level support for unboxed 64-bit unsigned ints 2015-12-01 11:30:54 +01:00
utils.scm solve-flow-equations tweak 2015-07-27 13:25:38 +02:00
verify.scm Replace return primcalls with $values 2015-10-28 11:11:23 +00:00
with-cps.scm Add missing files 2015-07-22 18:27:37 +02:00