Struct member functions emit unnecessary call to _d_assert_msg
Daniel Murphy
yebbliesnospam at gmail.com
Fri Jan 24 20:09:48 PST 2014
"Mike" wrote in message news:lxusmgyievzioacmgwmc at forum.dlang.org...
> What bothers me is the branch at <bb 2>. It looks like it's checking the
> struct instance to see if it is null. Is it even possible for it to be
> null? Can this be improved?
It's checking if the 'this' pointer is null. Syntactically it's a 'this'
_reference_, but it can still be null.
void MyFunction()
{
TestStruct *test;
test.Print()
}
> I imagine in a tight loop (for example, an alpha blend function on an
> array of pixels), this can be a significant performance hindrance if every
> call has to make this check.
It should disappear when compiled with '-frelease'.
More information about the D.gnu
mailing list