Do not inline functions w/mutating primitives

This commit is contained in:
Justin Ethier 2017-04-24 13:16:23 +00:00
parent 62559ee2c0
commit 045a86dc44

View file

@ -1249,6 +1249,9 @@
;; If function needs CPS, fail right away ;; If function needs CPS, fail right away
(if (or (not (prim? fnc)) ;; Eventually need to handle user functions, too (if (or (not (prim? fnc)) ;; Eventually need to handle user functions, too
(prim:cont? fnc) ;; Needs CPS (prim:cont? fnc) ;; Needs CPS
(prim:mutates? fnc) ;; This is too conservative, but basically
;; there are restrictions about optimizing
;; args to a mutator, so reject them for now
) )
(fail)) (fail))
;; Otherwise, check for valid args ;; Otherwise, check for valid args