Stack frames larger than 4K should be rejected, but what if I want more

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Mon Jun 28 07:10:05 UTC 2021


On Sunday, 27 June 2021 at 22:16:12 UTC, IGotD- wrote:
> That's a good observation. Does this mean that the point of the 
> suggested 4K limit falls?

No, because the compiler can refuse to inline, but it is a bad 
idea.

It also means that safe functions cannot call FFI, how can you 
prove that FFI does not exceed 4K after inlining?

D is trying to become a high level language, but is also aiming 
to be system level and that is not really an attainable goal. You 
have to make a choice. It would be better for D to not go for 
100% safe, but instead prevent common mistakes.

I've never ran out of stack for any code I've written ever.

Maybe that means allocating larger stacks so that guard pages are 
never hit, add more guard pages and simply terminate when guard 
pages are hit.

Other alternatives: do stack depth analysis, add stack less 
coroutines.

Anyway, for a system level language, those choices should be at 
the hand of the programmer. I agree with you on that.



More information about the Digitalmars-d mailing list