mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Fix 'ash' primcall match clause in baseline compiler.
Previously the pattern would only match when the two 'src' values were the same, which is not the case for example when running on the interpreter. * module/language/tree-il/compile-bytecode.scm (canonicalize): In 'ash primcall pattern, rename second 'src' to 'src*'.
This commit is contained in:
parent
136417990c
commit
330c6ea83f
1 changed files with 3 additions and 3 deletions
|
@ -459,10 +459,10 @@
|
|||
v)))
|
||||
|
||||
;; Transform "ash" to lsh / rsh.
|
||||
(($ <primcall> src 'ash (x ($ <const> src (? exact-integer? y))))
|
||||
(($ <primcall> src 'ash (x ($ <const> src* (? exact-integer? y))))
|
||||
(if (negative? y)
|
||||
(make-primcall src 'lsh (list x (make-const src (- y))))
|
||||
(make-primcall src 'rsh (list x (make-const src y)))))
|
||||
(make-primcall src 'lsh (list x (make-const src* (- y))))
|
||||
(make-primcall src 'rsh (list x (make-const src* y)))))
|
||||
|
||||
;; (throw key subr msg (list x) (list x))
|
||||
(($ <primcall> src 'throw
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue