The trouble with segmented stacks are:

1. they have a significant runtime penalty
Why?
Extra instructions generated for each function.
Every function? Why?

2. interfacing to C code becomes problematic
Isn't it possible to auto-commit new pages when C code needs it?
...
There's no way to predict how much stack arbitrary C code will use.
Presumably one does not call arbitrary C code. Usually one knows what one might call in advance and can plan accordingly (and even if it is arbitrary, one at least knows *that* one is going to call C code and plan accordingly. Most C code doesn't allocate more than a few megabytes on the stack).

Reply via email to