mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Revert "Slot allocation allows s64/u64 representations of same var"
This reverts commit a88614fb17
.
This commit is contained in:
parent
c22e61a7ff
commit
5c38643fc6
1 changed files with 4 additions and 13 deletions
|
@ -744,13 +744,6 @@ are comparable with eqv?. A tmp slot may be used."
|
||||||
(match (intmap-ref cps k)
|
(match (intmap-ref cps k)
|
||||||
(($ $kargs names vars) vars)
|
(($ $kargs names vars) vars)
|
||||||
(_ '())))
|
(_ '())))
|
||||||
(define (meet-s64-u64 old new)
|
|
||||||
(cond
|
|
||||||
((and (eq? old 's64) (eq? new 'u64))
|
|
||||||
'u64)
|
|
||||||
((and (eq? old 'u64) (eq? new 's64))
|
|
||||||
'u64)
|
|
||||||
(error "incompatible representations" old new)))
|
|
||||||
(intmap-fold
|
(intmap-fold
|
||||||
(lambda (label cont representations)
|
(lambda (label cont representations)
|
||||||
(match cont
|
(match cont
|
||||||
|
@ -761,8 +754,7 @@ are comparable with eqv?. A tmp slot may be used."
|
||||||
(match exp
|
(match exp
|
||||||
(($ $values (arg))
|
(($ $values (arg))
|
||||||
(intmap-add representations var
|
(intmap-add representations var
|
||||||
(intmap-ref representations arg)
|
(intmap-ref representations arg)))
|
||||||
meet-s64-u64))
|
|
||||||
(($ $primcall (or 'scm->f64 'load-f64
|
(($ $primcall (or 'scm->f64 'load-f64
|
||||||
'bv-f32-ref 'bv-f64-ref
|
'bv-f32-ref 'bv-f64-ref
|
||||||
'fadd 'fsub 'fmul 'fdiv))
|
'fadd 'fsub 'fmul 'fdiv))
|
||||||
|
@ -775,12 +767,12 @@ are comparable with eqv?. A tmp slot may be used."
|
||||||
'uadd/immediate 'usub/immediate 'umul/immediate
|
'uadd/immediate 'usub/immediate 'umul/immediate
|
||||||
'ursh/immediate 'ulsh/immediate
|
'ursh/immediate 'ulsh/immediate
|
||||||
'bv-u8-ref 'bv-u16-ref 'bv-u32-ref 'bv-u64-ref))
|
'bv-u8-ref 'bv-u16-ref 'bv-u32-ref 'bv-u64-ref))
|
||||||
(intmap-add representations var 'u64 meet-s64-u64))
|
(intmap-add representations var 'u64))
|
||||||
(($ $primcall (or 'untag-fixnum
|
(($ $primcall (or 'untag-fixnum
|
||||||
'scm->s64 'load-s64 'u64->s64
|
'scm->s64 'load-s64 'u64->s64
|
||||||
'srsh 'srsh/immediate
|
'srsh 'srsh/immediate
|
||||||
'bv-s8-ref 'bv-s16-ref 'bv-s32-ref 'bv-s64-ref))
|
'bv-s8-ref 'bv-s16-ref 'bv-s32-ref 'bv-s64-ref))
|
||||||
(intmap-add representations var 's64 meet-s64-u64))
|
(intmap-add representations var 's64))
|
||||||
(_
|
(_
|
||||||
(intmap-add representations var 'scm))))
|
(intmap-add representations var 'scm))))
|
||||||
(vars
|
(vars
|
||||||
|
@ -788,8 +780,7 @@ are comparable with eqv?. A tmp slot may be used."
|
||||||
(($ $values args)
|
(($ $values args)
|
||||||
(fold (lambda (arg var representations)
|
(fold (lambda (arg var representations)
|
||||||
(intmap-add representations var
|
(intmap-add representations var
|
||||||
(intmap-ref representations arg)
|
(intmap-ref representations arg)))
|
||||||
meet-s64-u64))
|
|
||||||
representations args vars))))))
|
representations args vars))))))
|
||||||
(($ $kfun src meta self)
|
(($ $kfun src meta self)
|
||||||
(intmap-add representations self 'scm))
|
(intmap-add representations self 'scm))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue