x86_64 ABI

2007-08-08 Thread Maurizio Vitale
with reference to the following: struct data { data (long v) : m_data (v) {} data (const data&) {} long m_data; }; data foo (data v) { return v; } my reading of the x86_64 ABI (v .98, sept 2006) on page 17 is that data should have class MEMORY when passed as argument to

alignment attribute for stack allocated objects

2006-12-19 Thread Maurizio Vitale
I'm tying to hunt down the cause of a bug I'm experiencing and it all boils down to a possible misunderstanding on my part on the semantics of the 'aligned' attribute. Is the 'aligned' attribute supposed to work for objects allocated on the stack (I'm on x86_64, gcc 4.1.1)? The only caveat

x86_64 ABI

2006-07-13 Thread Maurizio Vitale
argument in registers and what's wrong is the spurious pushes onto the stack. Maurizio Vitale

Re: Coroutines

2006-06-17 Thread Maurizio Vitale
I'm looking at the very same problem, hoping to get very lightweight user-level threads for use in discrete event simulation. It would be very nice if it was possible to write an inlined piece of assembler that saved the program counter and the stack pointer and then be able to say to GCC t