mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 22:31:12 +02:00
* 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. |
||
---|---|---|
.. | ||
closure-conversion.scm | ||
compile-bytecode.scm | ||
constructors.scm | ||
contification.scm | ||
cse.scm | ||
dce.scm | ||
effects-analysis.scm | ||
elide-values.scm | ||
intmap.scm | ||
intset.scm | ||
licm.scm | ||
optimize.scm | ||
peel-loops.scm | ||
primitives.scm | ||
prune-bailouts.scm | ||
prune-top-level-scopes.scm | ||
reify-primitives.scm | ||
renumber.scm | ||
rotate-loops.scm | ||
self-references.scm | ||
simplify.scm | ||
slot-allocation.scm | ||
spec.scm | ||
specialize-numbers.scm | ||
specialize-primcalls.scm | ||
split-rec.scm | ||
type-checks.scm | ||
type-fold.scm | ||
types.scm | ||
utils.scm | ||
verify.scm | ||
with-cps.scm |