1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-23 03:54:12 +02:00
guile/module/system/vm
Andy Wingo 17bd5a8938 Add lsh, rsh instructions
* libguile/vm-engine.c (lsh, rsh, lsh/immediate, rsh/immediate): New
  instructions taking unboxed bit counts.
* module/language/cps/compile-bytecode.scm (compile-function):
* module/language/cps/effects-analysis.scm:
* module/language/cps/specialize-numbers.scm (specialize-f64-unop):
  (specialize-u64-unop): Add ability to specialize add/immediate, etc,
  and add lsh/immediate as well.
  (specialize-u64-binop, specialize-u64-shift): Move rsh/lsh
  specialization to its own procedure, given that the bit count is
  already unboxed.
  (specialize-operations): Adapt to support more /immediate
  instructions.
* module/language/cps/type-fold.scm (mul): Reify an lsh/immediate
  instead of an ash.
* module/language/cps/types.scm (compute-ash-range): Add type inferrers
  for lsh, rsh, and their immediate variants.
* module/system/vm/assembler.scm: Export emit-lsh and so on.
* module/language/tree-il/compile-cps.scm (convert): Convert "ash" on
  immediates to rsh/immediate or lsh/immediate.
2017-11-05 15:00:16 +01:00
..
assembler.scm Add lsh, rsh instructions 2017-11-05 15:00:16 +01:00
coverage.scm No more VM objects visible to Scheme 2013-11-21 16:45:03 +01:00
debug.scm Add support for unboxed s64 values 2015-12-01 15:42:19 +01:00
disassembler.scm Remove disassembler support for old-style jump instructions 2017-10-30 12:06:11 +01:00
dwarf.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
elf.scm elf: Add missing argument in 'elf-segment'. 2015-03-30 15:19:58 +02:00
frame.scm Fix compute-frame-sizes for case-lambda jumps 2017-02-22 22:22:27 +01:00
inspect.scm Remove assembly language. 2013-11-08 16:45:10 +01:00
linker.scm 64KB segment alignment 2017-03-08 22:49:24 +01:00
loader.scm Rename objcodes?.{scm,c,h} to loader.{scm,c,h} 2013-11-19 21:45:07 +01:00
program.scm Check for missing debug info in print-program 2016-09-02 21:04:20 -04:00
trace.scm frame-call-representation has #:top-frame? as keyword argument 2014-05-04 11:18:54 +02:00
trap-state.scm No more VM objects visible to Scheme 2013-11-21 16:45:03 +01:00
traps.scm Fix trap frame matching 2017-03-01 16:06:53 +01:00
vm.scm Remove default soft stack limit; add call-with-stack-overflow-handler 2014-03-12 17:18:13 +01:00