~ chicken-core (chicken-5) 8383d275069aa254fa6324e214dfbee0dcf2c790
commit 8383d275069aa254fa6324e214dfbee0dcf2c790 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sun Jul 24 23:33:51 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sun Jul 24 23:33:51 2011 +0200 don't gp when declared not-inline diff --git a/optimizer.scm b/optimizer.scm index ee2edb0a..34b2418b 100644 --- a/optimizer.scm +++ b/optimizer.scm @@ -228,10 +228,12 @@ (varnode var)) ((assq var gae) => (lambda (a) - (cond ((cdr a) - (debugging 'x "propagated global variable" var (cdr a)) - (varnode (cdr a))) - (else (varnode var))))) + (let ((gvar (cdr a))) + (cond ((and gvar + (not (eq? 'no (variable-mark gvar '##compiler#inline)))) + (debugging 'x "propagated global variable" var gvar) + (varnode gvar)) + (else (varnode var)))))) (else (varnode var))))) ((let)Trap