1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
guile/module/system/vm
David Thompson 35a9059250 Add unboxed floating point comparison instructions.
* libguile/vm-engine.c (BR_F64_ARITHMETIC): New preprocessor macro.
(br_if_f64_ee, br_if_f64_lt, br_if_f64_le, br_if_f64_gt, br_if_f64_ge):
New VM instructions.
* doc/ref/vm.texi ("Unboxed Floating-Point Arithmetic"): Document them.
* module/language/cps/compile-bytecode.scm (compile-function): Emit f64
comparison instructions.
* module/language/cps/effects-analysis.scm: Define effects for f64
primcalls.
* module/language/cps/primitives.scm (*branching-primcall-arities*): Add
arities for f64 primcalls.
* module/language/cps/specialize-numbers.scm (specialize-f64-comparison):
New procedure.
(specialize-operations): Specialize f64 comparisons.
* module/system/vm/assembler.scm (emit-br-if-f64-=, emit-br-if-f64-<)
(emit-br-if-f64-<=, emit-br-if-f64->, emit-br-if-f64->=): Export.
* module/system/vm/disassembler.scm (code-annotation): Add annotations
for f64 comparison instructions.
2017-01-12 09:27:43 -05:00
..
assembler.scm Add unboxed floating point comparison instructions. 2017-01-12 09:27:43 -05: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 Add unboxed floating point comparison instructions. 2017-01-12 09:27:43 -05: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 frame-call-representation for change to <binding>. 2016-02-02 11:09:00 +01:00
inspect.scm Remove assembly language. 2013-11-08 16:45:10 +01:00
linker.scm Assembler works on byte offsets, not u32 offsets 2015-12-26 22:12:09 +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 VM traps don't match on value of slot 0 2015-12-01 11:30:54 +01:00
vm.scm Remove default soft stack limit; add call-with-stack-overflow-handler 2014-03-12 17:18:13 +01:00