don't remove the pariah form in the cp0 pass

cp0.ss
  misc.ms

original commit: d6a1b8a9208d78bb8d216d9381546a6723fe5b9e
This commit is contained in:
Gustavo Massaccesi 2017-06-29 12:26:05 -03:00
parent fd7606ca05
commit be3e357aae
3 changed files with 15 additions and 1 deletions

3
LOG
View File

@ -529,3 +529,6 @@
bytevector.ms, root-experr*
- fixed typo in S_abnormal_exit
schsig.c
- don't remove the pariah form in the cp0 pass
cp0.ss,
misc.ms

View File

@ -4865,6 +4865,17 @@
(pariah 1)
(* n (f (fx- n 1)))))
3628800)
; make sure that cp0 doesn't remove the pariah form
(not (equivalent-expansion?
(parameterize ([run-cp0 (lambda (cp0 x) (cp0 x))])
(expand/optimize
'(if (zero? (random 1000))
(pariah (display 0))
(display 1)))
(expand/optimize
'(if (zero? (random 1000))
(display 0)
(display 1))))))
)
(mat $read-time-stamp-counter

View File

@ -1055,7 +1055,7 @@
[(foreign ,conv ,name ,e (,arg-type* ...) ,result-type) (memoize (simple? e))]
[(record-type ,rtd ,e) (memoize (simple? e))]
[(record ,rtd ,rtd-expr ,e* ...) (memoize (and (simple? rtd-expr) (andmap simple? e*)))]
[(pariah) #t]
[(pariah) #f]
[(profile ,src) #f]
[(cte-optimization-loc ,box ,e) (memoize (simple? e))]
[(moi) #t]