Object file questions
Artur Skawina via D.gnu
d.gnu at puremagic.com
Sun Aug 17 04:46:05 PDT 2014
On 08/17/14 09:57, Timo Sintonen via D.gnu wrote:
> What is the purpose of volatile_dummy? Even if it is not used,
Ensuring ordering, w/o it the compiler could reorder operations
on different volatile objects. (Which isn't necessarily a bad thing,
but people expect certain semantics of 'volatile', so it would be
a bad and dangerous default)
> the address for it is calculated in several places.
It's completely optimized away for me (I'm testing on x86). Can you
show the emitted code?
> The struct members are defined saparately. This means the address
> of every member is stored and fetched separately. The compiler
> seems to remove some of these and use the pointer, but I am not
> sure what happens when the structs are bigger.
Yes, the compiler does not to generate optimal code, but so far I've
only seen dead immediate-constant->register loads; so it's not a
huge problem.
artur
More information about the D.gnu
mailing list