mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 03:30:27 +02:00
* libguile/vm-engine.c (s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?) (imm-s64<?): New instructions. * libguile/instructions.c (FOR_EACH_INSTRUCTION_WORD_TYPE): Add new X8_S12_Z12 word type used by the new S64/immediate instructions. A Z12 is a 12-bit signed integer immediate. * module/system/vm/assembler.scm: Export new instructions, and add X8_S12_Z12 support. Also, add missing shufflers for X8_S12_C12. * module/language/bytecode.scm (compute-instruction-arity): * module/system/vm/disassembler.scm (unpack-s12, disassembler): Add support for X8_S12_Z12. * module/language/cps/types.scm (define-predicate-inferrer/param): New helper. (u64-=, u64-<, s64-<): Remove type checkers; this procedure does not cause &type-check. (u64-imm=?, s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?, imm-s64<?): New type inferrers. * module/language/cps/type-fold.scm (define-unary-branch-folder*): New helper. (u64-imm=?, s64-imm=?, u64-imm<?, imm-u64<?, s64-imm<?, imm-s64<?): New branch folders. * module/language/cps/reify-primitives.scm (reify-primitives): Reify constants for new immediate branching primcalls if values out of range. * module/language/cps/effects-analysis.scm: Add support for new primcalls. * module/language/cps/compile-bytecode.scm (compile-function): Add support for new primcalls and instructions. Compile u64-imm-= to s64-imm=?. |
||
---|---|---|
.. | ||
closure-conversion.scm | ||
compile-bytecode.scm | ||
constructors.scm | ||
contification.scm | ||
cse.scm | ||
dce.scm | ||
effects-analysis.scm | ||
elide-values.scm | ||
handle-interrupts.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 |