Hlavní navigace

Názor ke zprávičce V jádře patrně nebude kontrola přetečení, Linus je proti od m1x - Chytrý Copilot. Dalo by se to použít. Nechce...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 13. 5. 2024 18:27

    m1x

    Chytrý Copilot. Dalo by se to použít. Nechce se mi teď zkoušet jak by vypadal výsledný assembler na různé CPU. Na první pohled vidím: programátor asi potřebuje použít součet ale pokud přetekl tak skok pryč. Tedy:

    1) Sčítání, test, podmíněný skok. Tři instrukce, dvě proměnné.

    2) Odečítání, test, podmíněný skok, sčítání. Čtyři instrukce, dvě proměnné a konstanta k tomu.

    Naštěstí máme optimalizující překladače a očekával bych pro oba zdrojáky stejný výstup, na x86 tedy dvě instrukce (součet a skok rovnou podle příznaku přetečení). Nicméně, co s tím udělá zapnutí kontroly přetečení, jak to zpracují různé překladače pro různá CPU, netroufám si odhadnout všechny kombinace.

    Můj názor je, že platný rozsah proměnných má být v programu hlídán explicitně, že má být jasnou součástí zdrojáku a ne paušálně někde v překladači. Překladač má jen přeložit co zdroják říká, případně řvát varování, ale nemělo by se spoléhat že by k funkčnosti kódu něco automaticky a všude přidával.