[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?
From: |
Mattias Engdegård |
Subject: |
bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations? |
Date: |
Thu, 2 Jul 2020 14:46:47 +0200 |
2 juli 2020 kl. 12.59 skrev Andrea Corallo <andrea_corallo@yahoo.it>:
>> I still wonder if there is any reason to limit arithmetic constant
>> folding to the portable fixnum range. Given that we don't evaluate
>> fixnump or bignump at compile-time, what observable effects would
>> constant-folding, say, (ash 1 32) have? Advice from deeper thinkers
>> solicited!
>
> I always thought the general idea is to respect the allocation side
> effect we have creating a bignum. Not sure if the class of example you
> have in mind here fits this case.
Number allocation isn't a semantically visible effect and we probably don't
want to change that. As far as I can tell, only fixnump and bignump can
discriminate fixnums from bignums. There may be functions that only accept
fixnums as arguments and thus fail with a different error, but I don't think we
constant-fold any of them, and they would be easy to fix if we did.
It may be preferable to defer generation of very big numbers to run-time, to
avoid evaluation of (ash 1 1000) at compile-time, but such a limit should, if
implemented, be independent of the fixnum limit (and likely higher).
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/01
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/01
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Andrea Corallo, 2020/07/01
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Andrea Corallo, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?,
Mattias Engdegård <=
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Andrea Corallo, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Andrea Corallo, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Stefan Monnier, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Andrea Corallo, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Stefan Monnier, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Paul Eggert, 2020/07/02
- bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?, Mattias Engdegård, 2020/07/03
- bug#42147: Hash-consing bignums (was: bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?), Stefan Monnier, 2020/07/03