- saxus blogja
- A hozzászóláshoz be kell jelentkezni
- 1333 megtekintés
Hozzászólások
Nice.
- A hozzászóláshoz be kell jelentkezni
Thx!
- A hozzászóláshoz be kell jelentkezni
> Viszont erősen úgy tűnik, hogy nem teszi, még ha végtelen ciklusban futtatom, akkor sem.
Ezt mibol latod?
- A hozzászóláshoz be kell jelentkezni
Hagyom futni, aztán teszek egy breakpointot, majd nyomok egy CTRL+ALT+D-t (Dissassembly), hogy lássam, mi fut épp. Feltételezésem szerint, ha a jitter újrafordítaná a kódot, akkor az új függvényt kellene látnom.
Erősen aláhúzva hozzáteszem: szerintem.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ha jol emlekszem a CLR via C# konyvben is irja a szerzo hogy a lehetoseg adott hogy futas kozben tobbszor is optimalizaljon a kodon a rendszer, de jelenleg nem teszi.
- A hozzászóláshoz be kell jelentkezni
Na, azt a könyvet elkezdtem már olvasni, de sajna nem volt időm befejezni, pedig kellene.
Azt nem irja, hogy miért?
---------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Ha jol emlekszem nem reszletezte a mierteket.
Szerintem ugy gondoltak a MS-nal hogy igy is kielegito eredmenyt ad a JIT compiler.
Sajnos a felenel en is abbahagytam, eleg suru evem volt. Most meg mar erdemes lenne ujra elorol kezdeni... :)
- A hozzászóláshoz be kell jelentkezni
FYI:
Xi Wang, Nickolai Zeldovich, M. Frans Kaashoek, and Armando Solar-Lezama: Towards Optimization-Safe Systems: Analyzing the Impact of Undefined Behavior
"This paper studies an emerging class of software bugs called optimization-unstable code: code that is unexpectedly discarded by compiler optimizations due to undefined behavior in the program. Unstable code is present in many systems, including the Linux kernel and the Postgres database. The consequences of unstable code range from incorrect functionality to missing security checks. To reason about unstable code, this paper proposes a novel model, which views unstable code in terms of optimizations that leverage undefined behavior. Using this model, we introduce a new static checker called Stack that precisely identifies unstable code. Applying Stack to widely used systems has uncovered 160 new bugs that have been confirmed and fixed by developers"
http://people.csail.mit.edu/nickolai/papers/wang-stack.pdf
Az alabbi teljesen szabalyos C kod pedig nondeterministic:
https://gist.github.com/anonymous/d2e55bb6f735546d9916
- A hozzászóláshoz be kell jelentkezni
C-ben rengeteg ilyen nemdeterminisztikus kod van, ez a fenti pelda eppen abbol van, hogy a + operator operandusaunak kiertekelesenek sorrendje nem definialt a szabvany szintjen, forditofuggo, hogy mi fordul le ezen esetben.
Ez a nyelv hianyossaga, de van meg mas forditofuggo dolog is rendesen.
Ettol fuggetlenul, aki ilyen side effectel rendelkezo kodot ir, az menjen a fenebe.
- A hozzászóláshoz be kell jelentkezni