mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Add tag-fixnum instruction
* libguile/vm-engine.c (tag-fixnum): New instruction. * module/language/cps/compile-bytecode.scm (compile-function): * module/language/cps/cse.scm (compute-equivalent-subexpressions): * module/language/cps/effects-analysis.scm: * module/language/cps/types.scm (&min/fixnum, &max/fixnum, tag-fixnum): * module/system/vm/assembler.scm: Add support for the new instruction.
This commit is contained in:
parent
7bfdd46ea5
commit
8b5f9648ff
6 changed files with 27 additions and 2 deletions
|
@ -329,6 +329,11 @@ false. It could be that both true and false proofs are available."
|
|||
(match defs
|
||||
((scm)
|
||||
(add-def! `(primcall scm->s64 #f ,scm) s64))))
|
||||
(('primcall 'untag-fixnum #f scm)
|
||||
(match defs
|
||||
((s64)
|
||||
(add-def! `(primcall s64->scm #f ,s64) scm)
|
||||
(add-def! `(primcall tag-fixnum #f ,s64) scm))))
|
||||
(_ #t))))
|
||||
|
||||
(define (visit-label label equiv-labels var-substs)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue