Thanks everyone for the very interesting discussion, as always.

I will reform my ways and do something sensible like

void myFunction(void)
{
        // non-atomic work here

        {
                UInt16 interruptState = startCriticalSection();
                // critical/atomic statements here
                endCriticalSection(interruptState);
        }
}

I will also make use of intrinsics where I can and I will avoid using inline 
assembly in the future.

Thanks for the thorough schooling ;)

- Wayne

-----Original Message-----
From: William "Chops" Westfield [mailto:wes...@mac.com] 
Sent: Wednesday, 18 April 2012 8:48 AM
To: GCC for MSP430 - http://mspgcc.sf.net
Subject: Re: [Mspgcc-users] Stack push inside inline assembly


On Apr 17, 2012, at 3:02 AM, David Brown wrote:

> You've just been lucky.

In particular, gcc is pretty aggressive about optimizing away stack frames when 
it can (putting local variables in registers, rather than explicitly on the 
stack.)  (I *think* this is NOT target specific...)

BillW


------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to