make a small optimization

This commit is contained in:
Yuichi Nishiwaki 2016-06-03 02:42:48 +09:00
parent 365ccc7a51
commit f1b6109b2f
1 changed files with 5 additions and 1 deletions

View File

@ -30,7 +30,11 @@
(let ((v (promise-value p)))
(case (promise-state p)
((cached) v)
((chained) (force v))
((chained) (let ()
(when (eq? 'cached (promise-state v))
(set-promise-state! p 'cached)
(set-promise-value! p (promise-value v)))
(force v)))
((pending) (let ((q (v)))
(when (eq? 'pending (promise-state p))
(set-promise-state! p 'chained)