Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Ticket #87 (new enhancement)

Opened 4 months ago

Last modified 4 months ago

move default initialization out of the _d_newarrayX runtime functions

Reported by: lindquist Assigned to:
Priority: major Milestone: Beta
Component: Version:
Keywords: Cc:

Description

having them in there means LLVM has no idea what's really going on, which eliminates some optimization possibilities, also, it'd be nice if these functions could be reused to heap allocate array literals (see #86), but the initialization in these functions is useless when the array literal overwrites right after...

Change History

09/14/08 04:59:21 changed by ChristianK

I have introduced _d_newarrayvT and _d_newarraymvT which do not perform initialization. DtoNewDynArray? uses these followed by a call to DtoArrayInit? (which memsets or calls one of the _d_array_init functions)

I kept DtoNewMulDimDynArray? as it was for now, because initializing it properly isn't so easy. Should we consider this fixed?

09/14/08 08:22:24 changed by ChristianK

I reverted some of those changes because DtoArrayInit? can't handle all cases. But special casing the zero init should be possible.

Copyright © 2008, LDC Development Team.