Stack 16
janderson
askme at me.com
Wed Apr 16 00:12:13 PDT 2008
Sclytrack wrote:
> Feature request:
>
> [Stack(16)]
> struct MyStruct
> {
> float number;
> }
>
> Introduce a second stack supported by the programming language. On a 32 bit
> system the normal 4 byte stack and a secondary 16 byte stack is used to
> store parameters.
>
>
> void doStuff( int number, MyStruct s) //s dumped on 16 byte stack
> {
> MyStruct a; //also 16 byte aligned.
> }
>
> Also support compile time reflection to get the stack attribute.
> static if (T does it have Stack attribute, and is it 16 byte aligned)
> {
>
> }
>
>
> Any request like for Stack(8) would then be dumped on the 16 byte stack since
> it only has the 4 byte and 16 byte stack to choose from.
>
> Scly
I don't understand. Are you saying that things should be dumped on
different stacks based on their size for some sort of alignment
improvement? Or are you saying to want to add new syntax to add
secondary (and more) stacks?
Either way the current CPU architecture is setup to work most
efficiently on a single stack. Multiple stacks would thrash the cache
and prediction. If you need a stack, why not use a stack class?
Anyways could you try to re-explain. It might help get your suggestion
noticed.
-Joel
More information about the Digitalmars-d
mailing list