Experimental change

This commit is contained in:
Justin Ethier 2017-04-29 11:02:58 +00:00
parent 7a90159109
commit 79cde357b1

View file

@ -959,6 +959,17 @@
(analyze:find-inlinable-vars e args))) (analyze:find-inlinable-vars e args)))
(cdr exp))) (cdr exp)))
;(reverse (cdr exp)))) ;(reverse (cdr exp))))
;; If primitive mutates its args, ignore if ivar is not mutated (??)
;((and (prim? (car exp))
; (prim:mutates? (car exp))
; (> (length exp) 1))
; (analyze:find-inlinable-vars (cadr exp) args)
; ;; First param is always mutated
; (for-each
; (lambda (e)
; (if (not (ref? e))
; (analyze:find-inlinable-vars e args)))
; (cddr exp)))
((and (not (prim? (car exp))) ((and (not (prim? (car exp)))
(ref? (car exp))) (ref? (car exp)))
(define ref-formals '()) (define ref-formals '())