On 15-5-2013 0:31, Paul Sokolovsky wrote: > Hello, > > On Wed, 15 May 2013 09:35:14 +1200 > Daniel Beer <dlb...@gmail.com> wrote: > >> On Tue, May 14, 2013 at 09:26:46PM +0300, Paul Sokolovsky wrote: >>> More interesting question is such support for static (if not global) >>> variables. When trying to do Elliptic Curve Cryptography on MSP430 >>> value line devices which top up at 0.5K RAM, you really wish that >>> compiler could "pack" together static buffers of functions which >>> cannot be active at the same time ;-). If anyone know of that to be >>> done by gcc, would be nice to get some pointers. >> If you have static buffers which are never in use simultaneously, why >> not keep them together in a union { }? > Yes, the talk was about offloading the work of proving > non-simultaneous access constraints and creation of that union to the > compiler ;-). Shouldn't be hard for the case of scalar static variables > (function-local dataflow analysis and interprocedural control flow > analysis), so I wondered if someone knows it to be implemented. To be > really useful this should be applied to structural/array vars though, > and that's much harder. >
This would be absolutely impossible because the compiler is generally unaware of it's environment. If the application is run on a preemptive scheduling operating system, then such schemes could go horribly wrong. Of course, you could protect the memory with a mutex, but this would defeat the purpose of easy optimization. Anyway, if you really want it I think it is best done via an explicit way with unions such that it is clear what is being shared, and it compatible amongst compilers. Arie ------------------------------------------------------------------------------ AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d _______________________________________________ Mspgcc-users mailing list Mspgcc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mspgcc-users