[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: integer overflow in muli instruction
From: |
Jose E. Marchesi |
Subject: |
Re: integer overflow in muli instruction |
Date: |
Tue, 23 Feb 2021 08:43:33 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
>> But then, at this point we have to decide what semantics to implement in
>> Poke when signed overflow happens (in multiplication, division, etc).
>>
>> Adopting C semantics, and raising a Poke exception seems to be the most
>> obvious choice...
>
> Yes, this seems the right thing to do. The programmer can then decide
> whether they want to use a 64-bit type or an unsigned type as a workaround.
All right, poke now checks for overflows in:
- Signed addition.
- Signed subtraction.
- Signed multiplication.
- Signed division.
- Signed ceil division.
- Signed remainder.
- Signed Negation.
At both run-time (exception E_overflow) and compile-time (constant
folding).